一种以太网电路交换装置及方法
技术领域
本发明涉及通信领域,特别涉及一种以太网电路交换装置及方法。
背景技术
以太网交换技术使网络的应用规模和覆盖范围得以大幅度的提高,因此以太网已经成为局域网和城域网组网的默认标准。以太网交换技术是基于无连接的分组交换(Connectionless Packet Switching),以太网交换发生在OSI(OpenSystem Interconnection:开放系统互连)七层网络模型的二层,即数据链路层的MAC(MediaAccess Control)子层。以太网将要传输的数据封装成固定格式的数据包,即以太网帧,在网络上传输;以太网帧的帧头包括源和目的MAC地址,以太网交换机根据源和目的MAC地址判断如何转发接收到的以太网帧。
以太网的交换方式以存储转发(Store and Forward)为主,如图1所示,多个PHY模块1’通过各自对应的MAC模块2’连接到交换模块3’,转发表4’与交换模块3’连接。具体的工作流程如下:
1)某个PHY模块1’将从其物理端口接收到模拟信号进行模数转换、译码处理后,成为符合MII(Media Independent Interface)规范的数据流并通过MII接口将该数据流传递到MAC模块2’进行成帧处理;
2)MAC模块2’维护两类以太网帧的缓存:接收缓存21’和发送缓存22’,接收到的以太网帧暂时存放在接收缓存21’中,要发送的以太网帧存放在发送缓存22’中;MAC模块2’对缓存中的以太网帧进行校验,丢弃错误的以太网帧;
3)交换模块3’维护一个转发表4’,记录与端口(PHY模块1’的物理端口)连接的各以太网设备的MAC地址;
4)当MAC模块2’接收到以太网帧时,交换模块3’读取以太网帧头中的源MAC地址,这样交换模块3’就学习到包含该源MAC地址的以太网帧是从哪个端口(PHY模块1’的物理端口)接收到的,并把学习到的“端口←→MAC地址”映射记录写到转发表4’中;
5)交换模块3’再去读取以太网帧头中的目的MAC地址,并在转发表4’中查找相应的端口;
6)如转发表4’中有与这目的MAC地址对应的端口,则交换模块3’把MAC模块2’接收缓存21’中的以太网帧直接复制到与这端口相连的MAC模块2’的发送缓存22’中;
7)如转发表4’中找不到相应的端口,则交换模块3’把该以太网帧广播到所有的MAC模块2’上;当目的机器对源机器回应时,交换模块3’就可以学习到这一目的MAC地址与哪个端口对应并记录到转发表4’中,在下次传送数据时就可以直接转发。不断的循环这个过程,对于全网的MAC地址信息都可以学习到,以太网交换机就可以建立和维护转发表4’。
以太网交换机采用的“存储转发”模式存在交换处理能力限制的问题从而影响到业务传输的实时性,具体表现在以下方面:
(1)交换能力即数据吞吐量存在限制。交换模块3’必须实现全矩阵交换,即每个端口都有到其他所有端口的通道,才能保证所有端口间的通信互不影响。要实现全矩阵交换,需要大量的CPU处理能力和内存,造价昂贵。因此,以太网交换机大都采用宽总线式交换方式,即在背板上预留较宽的数据总线供各端口共享。这样,在存储转发时,就受到总线带宽的限制,会有部分端口需要等待总线资源,造成时延(Delay)。
(2)以太网帧在通过一个分组交换网络节点时,因为采用“存储转发”模式,以太网帧中接收缓冲21’和发送缓冲22’中被暂存,会产生时延。
(3)以太网帧在分组交换网络中传输时,各以太网帧中沿途的交换节点中可能会经历不同的时延,引起分组的总时延变化很大,产生抖动(Jitter)。
(4)以太网帧在分组交换网络中传输时,各交换节点需要对每个以太网帧进行“存储/查表/转发”的处理,需要消耗时间,额外开销大。
由于以太网交换技术的存储转发模式,以太网传输数据是非实时的。而目前网络中承载的主要业务是流媒体和交互式应用,如视频点播(VOD:Video onDemand)、可视电话、VoIP(Voice over Internet Protocol)等业务,这些业务要求网络的实时性好,时延和抖动小。
发明内容
本发明要解决的技术问题是提供一种以太网电路交换装置及方法,以使网络具有较好的实时性。
为解决以上技术问题,本发明首次为以太网交换引入电路交换的概念,并采取以下技术方案:
其以太网电路交换装置包括流量控制模块、两个以上PHY模块、交换控制模块和用以建立以太网交换电路的交换模块;所述流量控制模块与各PHY模块和交换控制模块分别连接;所述各PHY模块分别与交换模块连接;所述交换控制模块与交换模块、流量控制模块分别连接。
参与以太网电路交换的PHY模块会与各自对端的以太网设备协商物理端口的工作模式,所述工作模式包括PHY模块的物理端口的速率和双工模式,因此参与以太网交换电路的各PHY模块的物理端口的速率和双工模式可能会不同。由于电路交换不对以太网帧进行存储转发,参与以太网交换电路的各PHY模块的物理端口的速率和双工模式不同将会引起数据丢包、抖动甚至无法正常工作。因此本发明的流量控制模块用于接收交换控制模块发送的以太网电路交换信息,控制需要建立以太网交换电路的各PHY模块的工作模式,使以太网交换电路的数据流量相匹配。流量控制模块包括:
提取单元,用于接收所述交换控制模块发送的以太网电路交换信息,且根据以太网电路交换信息提取需要建立以太网交换电路的各PHY模块的工作模式并将所述工作模式发送到判决单元,所述工作模式包括所述PHY模块的物理端口的速率和双工模式;
判决单元,用于判断需要建立以太网交换电路的各PHY模块的物理端口的速率和双工模式是否一致并将判断结果发送到交换控制模块,并在需要建立以太网交换电路的各PHY模块的物理端口的速率和双工模式不一致的情况下由该判决单元向所述执行单元发送工作模式匹配指令;
执行单元,用于根据所述工作模式匹配指令将需要建立以太网交换电路的各PHY模块的物理端口的速率和双工模式设为一致。
所述PHY模块用于将从其物理端口接收到模拟信号进行模数转换、译码处理后,将物理层的载荷传递给所述交换模块;并接收来自交换模块的数据流,进行编码、数模转换后从其物理端口发出。本发明需要至少两个的PHY模块以组成以太网交换电路。PHY模块还可在流量控制模块的控制下进行工作模式的调整,或将工作模式返回流量控制模块。
所述交换控制模块用于控制以太网交换电路的建立,交换控制模块发送需要建立以太网交换电路的各PHY模块的信息到流量控制模块,接收流量控制模块反馈的需要建立以太网交换电路的各PHY模块的工作模式匹配信息并根据该工作模式匹配信息控制交换单元建立以太网交换电路。
所述交换模块用于在需要建立以太网交换电路的各PHY模块之间建立交换电路。
本发明进行以太网电路交换的方法包括如下步骤:
(1)交换控制模块向流量控制模块发送需要建立以太网交换电路的以太网电路交换信息;
(2)流量控制模块根据所述以太网电路交换信息读取需要建立以太网交换电路的各PHY模块的工作模式,并判断所读取的各PHY模块的物理端口的速率和双工模式是否一致并将判断结果发送到交换控制模块;
(3)当需要建立以太网交换电路的各PHY模块的物理端口的速率和双工模式一致时,则交换控制模块将交换指令发送到交换模块,交换模块根据所述交换指令建立所述各PHY模块间的以太网交换电路。
进一步地,本发明所述步骤(2)按以下步骤进行:
1)流量控制模块的提取单元根据以太网电路交换信息读取需要建立以太网交换电路的各PHY模块的工作模式并将读取到的工作模式发送到流量控制模块中的判决单元;
2)流量控制模块的判决单元判断需要建立以太网交换电路的各PHY模块的物理端口的速率和双工模式是否一致:若一致,则直接执行步骤4);若不一致,则执行步骤3);
3)判决单元向流量控制模块的执行单元发送工作模式匹配指令;执行单元根据工作模式匹配指令将需要建立以太网交换电路的各PHY模块的物理端口的速率和双工模式设为一致;后提取单元再次根据以太网电路交换信息读取需要建立以太网交换电路的各PHY模块的工作模式并将读取到的工作模式发送到流量控制模块的判决单元;判决单元再次判断需要建立以太网交换电路的各PHY模块的物理端口的速率和双工模式是否一致;
4)判决单元将判断结果发送到所述交换控制模块。
与现有技术相比,本发明的有益效果是:
(1)现有技术中,以太网交换发生在OSI七层网络模型的二层;而本发明为以太网交换首次引入电路交换的概念,并在OSI七层网络模型的一层(即物理层)实现以太网电路交换。本发明在需要发生数据交换的以太网端口间建立物理层的交换电路,以太网帧直接在交换电路上进行传输,电路交换无需额外处理以太网帧的二层数据以获取分组交换需要的MAC地址、无需对以太网帧进行存储转发,交换电路为参与交换的以太网端口独占,因此不存在分组交换引起的时延、抖动等问题,实时性好。
(2)在实际应用时,由于电路交换不对以太网帧进行存储转发,如果参与以太网电路交换的各PHY模块的物理端口的速率和双工模式不同,将会引起数据丢包、抖动甚至无法正常工作。在本发明中,流量控制模块获取参与以太网电路交换的各PHY模块的工作模式并判断各PHY模块的物理端口的速率和双工模式是否一致;如不一致,则按最低匹配原则强制将参与以太网电路交换的各PHY模块的物理端口的速率和双工模式设为一致。这样就保证参与以太网电路交换的各PHY模块的总是工作在流量匹配的状态。
附图说明
图1为现有技术的以太网交换机结构示意图;
图2为本发明以太网电路交换装置结构示意图;
图3为利用本发明以太网电路交换装置所创建的一种交换电路的示意图;
图4为利用本发明以太网电路交换装置创建交换电路的流程图。
具体实施方式
作为本发明的一种优选实施方式,如图2所示,本发明以太网电路交换装置包括流量控制模块1、两个以上PHY模块2、交换控制模块3和交换模块4。本发明以太网电路交换装置需要至少两个的PHY模块2以组成以太网交换电路。流量控制模块1包括提取单元11、判决单元12和执行单元13,提取单元11、执行单元13分别与各PHY模块2连接,流量控制模块1中的提取单元11、判决单元12分别与交换控制模块3连接。各PHY模块2分别与交换模块4连接;交换控制模块3与交换模块4连接。
作为本发明的一种实施方式,流量控制模块1和交换控制模块3可采用通用嵌入式控制芯片,如Atmel公司的ARM芯片或MIPS公司的MIPS芯片;PHY模块2可采用具有以太网PHY功能的芯片组成,如Realtek公司生产的RTL8208C-GR芯片;交换模块4由FPGA(Field-Programmable Gate Array)芯片组成以太网电路交换矩阵完成以太网电路交换功能,如ALTERA公司的FPGA芯片。
以5端口的以太网电路交换装置为例进一步说明本发明。如图3和图4所示,连接在PHY模块201物理端口的以太网设备需要与连接在PHY模块204物理端口的以太网设备进行数据交换,因此需要在PHY模块201和PHY模块204之间建立以太网交换电路,具体步骤如下:
(1)交换控制模块3向流量控制模块1发送“PHY模块201与PHY模块204需要建立以太网交换电路”的信息;
(2)流量控制模块1的提取单元11根据所述以太网电路交换信息读取需要建立以太网交换电路的PHY模块201和204的工作模式,并将读取到的工作模式发送到判决单元12。其中,PHY模块的工作模式包括物理端口的速率和双工模式。
(3)判决单元12判断需要建立以太网交换电路的PHY模块201和204的物理端口的速率和双工模式是否一致:若一致,则直接执行步骤(5);若不一致,则执行步骤(4);
(4)判决单元12向所述执行单元13发送工作模式匹配指令;执行单元13根据所述工作模式匹配指令将PHY模块201和204的物理端口的速率和双工模式设为一致。工作模式匹配按最低匹配原则进行:即判决单元12强制以太网交换电路两侧的PHY模块201和204中物理端口的速率和双工模式高的一侧按物理端口的速率和双工模式低的一侧的工作模式进行工作,如下表所示:
提取单元11再次根据所述以太网电路交换信息读取PHY模块201和204的工作模式并将读取到的工作模式发送到判决单元12;判决单元12判断PHY模块201和204的物理端口的速率和双工模式是否一致;
(5)判决单元12将判断结果发送到交换控制模块3。
(6)当PHY模块201和204的物理端口的速率和双工模式一致时,交换控制模块3将交换指令发送到交换模块4,交换模块4根据交换指令建立PHY模块201和204间的以太网交换电路。