低延时的报文转发方法、装置及交换机与流程

文档序号:11148068
低延时的报文转发方法、装置及交换机与制造工艺

本发明涉及网络交换技术领域,具体涉及一种低延时的报文转发方法、装置及交换机。



背景技术:

通常采用交换机来实现数据报文的交换,传统的交换机结构如图1所示,其包括:多个输入端口I1、I2、…、In;多个输出端口O1、O2、…、On;将所有输入端口的报文进行串并变换、缓存,然后逐个报文送给解析器的输入复用器;对每个报文进行分别解析,获得其转发所需的字段,然后进行查表,获得输出端口信息的解析器;将报文从缓存中取出,进行并串转换,并根据解析器获得的输出端口信息,将报文转发到对应输出端口的输出复用器。

传统交换机通用转发处理的特点是在引入报文缓存,主要为了解决了如下问题:

1)输入端口的速率和输出端口速率不同,比如从高速率端口转发到低速率端口,需要将高速率端口输入报文进行缓存,然后慢慢在低速率端口发送;

2)多个输入端口可能同时到达报文,交换机内部无法并行处理,必须缓存后再串行处理。

如图2所示,报文1来自输入端口1,报文2来自输入端口2。传统交换机报文从输入(INPUT)到输出(OUTPUT),经过的主要延时为输入复用器处理时间T1-T0,输出复用器处理时间T2-T1,也就是内部缓存处理的时间。一般情况下,这个时间是几微秒到几十微秒。

由于传统的交换机需要进行内部缓存处理造成额外延时,在实时性要求非常高的应用场景,比如航空航天、军工、工业自动化的场景,使用限制会比较多。



技术实现要素:

为了解决上述现有技术的缺点,本发明提出了一种低延时的报文转发方法、装置及交换机。

根据本发明的一个方面,提供了一种低延时的报文转发方法,其包括以下步骤:

步骤1:持续监测新报文的输入,如果有符合快速转发条件的报文输入,则进入步骤2,如果有报文输入但该报文不符合快速转发条件,则将该报文输入到通用转发处理模块,然后跳转到步骤5;

步骤2:检测交换机是否处于可以进行快速转发的状态,如果是,则将该报文输入到快速转发处理模块,然后跳转到步骤3;如果否,则将报文输入到通用转发处理模块,然后跳转到步骤5;

步骤3:快速转发处理模块将所述报文复制到所有的输出端口;

步骤4:将所有快速输出复用器设置为选择来自快速转发模块的报文输出,然后跳转到步骤6;

步骤5:由通用转发处理模块进行通用转发处理,将所有快速输出复用器设置为选择来自通用转发处理模块的报文输出;

步骤6:快速输出复用器持续输出报文直至当前报文的报文转发结束,返回步骤1。

根据本发明的另一个方面,提供了一种低延时的报文转发装置,其包括:

快速输入复用模块,用来选择每个输入端口收到的报文是输入到通用转发处理模块还是快速转发处理模块;

快速输出复用模块,用来选择每个输出端口输出的报文是来自通用转发处理模块还是快速转发处理模块;

快速转发检测模块,用来检测整个交换机是否处于可以进行快速转发的状态,并将该状态实时通知通用转发处理模块和快速转发处理模块;

快速转发处理模块,用于在交换机处于可以进行快速转发的状态时,对收到的符合快速转发条件的报文进行快速转发处理;

通用转发处理模块,用于在交换机不处于可以进行快速转发的状态或收到的报文不符合快速转发条件时,对报文进行通用转发处理,并将所有快速输出复用器设置为选择来自通用转发处理模块的报文输出。

根据本发明的再一个方面,提供了一种交换机,所述交换机包括上述低延时报文转发装置。

本发明提出的报文转发方法、装置及交换机,可以兼容传统交换机的通用网络应用场景,同时在广播和洪泛业务的网络,可以实现接近零延时转发。

附图说明

图1示出传统交换机的结构示意图。

图2示出传统交换机的报文转发延时示意图。

图3示出本发明的交换机结构示意图。

图4示出本发明的快速转发处理模块的处理流程图。

图5示出本发明的通用转发处理模块的处理流程图。

具体实施方式

下面结合附图对本发明作进一步详细描述。

图3是本发明的具有低延时的交换机结构示意图。

该结构在传统交换机结构的基础上增加了新的部件以完成快速转发处理机制,与图1的传统交换机相比增加的部件包括:

1)在每个输入端口增加快速输入复用IFM(Input Fast Mux)模块:用来选择每个输入端口收到的报文是输入到通用转发处理模块还是快速转发处理模块;

2)每个输出端口增加了快速输出复用OFM(Output Fast Mux)模块:用来选择输出端口输出的报文是来自通用转发处理模块还是快速转发处理模块;

3)快速转发检测模块:用来检测整个交换机是否处于可以进行快速转发的状态,并将该状态实时通知通用转发处理模块和快速转发处理模块,其中快速转发允许状态,可以是例如快速转发处理模块处于空闲状态,或者快速转发处理模块和通用转发处理模块均处于空闲状态;

4)快速转发处理模块:该模块根据整个交换机的状态,以及每路输入端口的输入状态,决定选择某一路输入进入快速转发处理通道。

在进行快速转发处理时,不进行任何缓存,延时接近于零。

图4、图5示出了本发明的交换机进行快速转发或通用转发的处理流程,具体如下:

步骤1:持续监测IFM1-IFMn的输入,如果有符合快速转发条件的报文输入,则进入步骤2,其中符合快速转发条件的报文,可以是例如广播或者洪泛报文;如果有报文输入但该报文不符合快速转发条件,则选择相应输入的IFM模块将报文输入到通用转发处理模块,然后进入步骤5;

步骤2:快速转发检测模块检测交换机是否处于可以进行快速转发的状态,如果是,则选择相应输入的IFM模块将报文输入到快速转发处理模块,然后跳转到步骤3;如果否,则选择相应输入的IFM模块将报文输入到通用转发处理模块,然后跳转到步骤5;

步骤3:快速转发处理模块将IFM输入的报文复制到所有的输出端口;

步骤4:将所有OFM设置为选择来自快速转发模块的报文输出,然后跳转到步骤6;

步骤5:进行通用转发处理,并将所有OFM的输出设置为选择来自通用转发模块的报文输出;

步骤6:由OFM持续输出报文直至当前报文的报文转发结束,返回步骤1。

在快速转发状态下,本发明可以实现接近零延时转发。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1