CN106656804B - 低延时的报文转发方法、装置及交换机 - Google Patents
低延时的报文转发方法、装置及交换机 Download PDFInfo
- Publication number
- CN106656804B CN106656804B CN201710064874.7A CN201710064874A CN106656804B CN 106656804 B CN106656804 B CN 106656804B CN 201710064874 A CN201710064874 A CN 201710064874A CN 106656804 B CN106656804 B CN 106656804B
- Authority
- CN
- China
- Prior art keywords
- message
- forwarding
- fast
- module
- forward process
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种低延时的报文转发方法、装置及交换机,该方法包括:如果有符合快速转发条件的报文输入,检测交换机是否处于可以进行快速转发的状态,如果是,则将该报文输入到快速转发处理模块,快速转发处理模块将所述报文复制到所有的输出端口,将所有快速输出复用器设置为选择来自快速转发模块的报文输出,快速输出复用器持续输出报文直至当前报文的报文转发结束。本发明兼容传统交换机的通用网络应用场景,同时在广播和洪泛业务的网络,可以实现接近零延时转发。
Description
技术领域
本发明涉及网络交换技术领域,具体涉及一种低延时的报文转发方法、装置及交换机。
背景技术
通常采用交换机来实现数据报文的交换,传统的交换机结构如图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。
在快速转发状态下,本发明可以实现接近零延时转发。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种低延时的报文转发装置,其特征在于,包括:
快速输入复用模块,用来选择每个输入端口收到的报文是输入到通用转发处理模块还是快速转发处理模块;
快速输出复用模块,用来选择每个输出端口输出的报文是来自通用转发处理模块还是快速转发处理模块;
快速转发检测模块,用来检测整个交换机是否处于可以进行快速转发的状态,并将该状态实时通知通用转发处理模块和快速转发处理模块;
快速转发处理模块,用于在交换机处于可以进行快速转发的状态时,对收到的符合快速转发条件的报文进行快速转发处理,在进行快速转发处理时,不进行任何缓存;
通用转发处理模块,用于在交换机不处于可以进行快速转发的状态或收到的报文不符合快速转发条件时,对报文进行通用转发处理,并将所有快速输出复用器设置为选择来自通用转发处理模块的报文输出。
2.如权利要求1所述的报文转发装置,其特征在于,所述符合快速转发条件的报文是广播或者洪泛报文。
3.如权利要求1或2所述的报文转发装置,其特征在于,所述可以进行快速转发的状态是所述快速转发处理模块处于空闲状态,或者所述快速转发处理模块和通用转发处理模块均处于空闲状态。
4.一种利用权利要求1-3任一的报文转发装置进行低延时报文转发的方法,其特征在于,包括以下步骤:
步骤1:持续监测新报文的输入,如果有符合快速转发条件的报文输入,则进入步骤2,如果有报文输入但该报文不符合快速转发条件,则将该报文输入到通用转发处理模块,然后跳转到步骤5;
步骤2:检测交换机是否处于可以进行快速转发的状态,如果是,则将该报文输入到快速转发处理模块,然后跳转到步骤3;如果否,则将报文输入到通用转发处理模块,然后跳转到步骤5;
步骤3:快速转发处理模块将所述报文复制到所有的输出端口;
步骤4:将所有快速输出复用器设置为选择来自快速转发模块的报文输出,然后跳转到步骤6;
步骤5:由通用转发处理模块进行通用转发处理,将所有快速输出复用器设置为选择来自通用转发处理模块的报文输出;
步骤6:快速输出复用器持续输出报文直至当前报文的报文转发结束,返回步骤1。
5.如权利要求4所述的低延时的报文转发方法,其特征在于,所述符合快速转发条件的报文是广播或者洪泛报文。
6.如权利要求4或5所述的低延时的报文转发方法,其特征在于,所述可以进行快速转发的状态是所述快速转发处理模块处于空闲状态,或者所述快速转发处理模块和通用转发处理模块均处于空闲状态。
7.一种交换机,其特征在于,包括如权利要求1-3任一所述的报文转发装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710064874.7A CN106656804B (zh) | 2017-02-05 | 2017-02-05 | 低延时的报文转发方法、装置及交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710064874.7A CN106656804B (zh) | 2017-02-05 | 2017-02-05 | 低延时的报文转发方法、装置及交换机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106656804A CN106656804A (zh) | 2017-05-10 |
CN106656804B true CN106656804B (zh) | 2019-11-19 |
Family
ID=58844706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710064874.7A Active CN106656804B (zh) | 2017-02-05 | 2017-02-05 | 低延时的报文转发方法、装置及交换机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106656804B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865836B (zh) | 2018-04-03 | 2024-06-28 | 华为技术有限公司 | 数据通信系统和方法 |
CN109474525B (zh) * | 2018-12-17 | 2021-05-25 | 杭州迪普科技股份有限公司 | 报文的处理方法、装置、设备及可读存储介质 |
CN113132273B (zh) * | 2019-12-30 | 2024-04-12 | 华为技术有限公司 | 一种数据转发方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1589551A (zh) * | 2001-09-24 | 2005-03-02 | 艾利森公司 | 用于处理分组的系统和方法 |
CN102333026A (zh) * | 2011-06-13 | 2012-01-25 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
CN102957626A (zh) * | 2012-11-14 | 2013-03-06 | 中兴通讯股份有限公司 | 一种报文转发方法和装置 |
CN103747068A (zh) * | 2013-12-27 | 2014-04-23 | 珠海市佳讯实业有限公司 | 一种基于fpga实现tap设备功能的系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7254138B2 (en) * | 2002-02-11 | 2007-08-07 | Optimum Communications Services, Inc. | Transparent, look-up-free packet forwarding method for optimizing global network throughput based on real-time route status |
-
2017
- 2017-02-05 CN CN201710064874.7A patent/CN106656804B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1589551A (zh) * | 2001-09-24 | 2005-03-02 | 艾利森公司 | 用于处理分组的系统和方法 |
CN102333026A (zh) * | 2011-06-13 | 2012-01-25 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
CN102957626A (zh) * | 2012-11-14 | 2013-03-06 | 中兴通讯股份有限公司 | 一种报文转发方法和装置 |
CN103747068A (zh) * | 2013-12-27 | 2014-04-23 | 珠海市佳讯实业有限公司 | 一种基于fpga实现tap设备功能的系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106656804A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106656804B (zh) | 低延时的报文转发方法、装置及交换机 | |
CN105684382A (zh) | 报文的控制方法、交换机及控制器 | |
CA2682461A1 (en) | Selective information handling for video processing | |
US11240115B2 (en) | Network topology display method and network management device | |
EP4013018A2 (en) | Method for transmitting stream, streaming server and streaming system | |
CN106302182B (zh) | 基于sdn的主机发现方法及系统 | |
CN104243300A (zh) | 包处理方法以及包处理装置 | |
CN101540896A (zh) | 一种视频业务质量测试方法、装置及系统 | |
WO2016008934A1 (en) | Method and network device for handling packets in a network by means of forwarding tables | |
CN104584492B (zh) | 报文处理方法、设备及系统 | |
CN109697393A (zh) | 人物跟踪方法、装置、电子装置及计算机可读介质 | |
CN105338260B (zh) | 信号源切换方法和系统 | |
CN112134686A (zh) | 一种基于可重构计算的aes硬件实现方法及运行该方法的计算机设备与可读存储介质 | |
JP2013513876A (ja) | 複数の粒度を持つストリームを処理するためのプログラム、コンピュータシステムおよび方法 | |
NO20025182D0 (no) | En metode og et arrangement for Õ hÕndtere pakkeköer i switcher | |
CN110213596A (zh) | 直播切换方法、装置、计算机设备和存储介质 | |
WO2015165323A1 (zh) | 一种数据处理方法、处理器及数据处理设备 | |
CN103701551A (zh) | 一种多通道数字调音台及其信号处理方法 | |
CN112865960B (zh) | 基于流密码实现高速密钥链预计算的系统、方法及装置 | |
CN107872343B (zh) | 流量转发控制方法、装置及软件定义网络控制器 | |
CN111953618B (zh) | 一种多级并行交换架构下的解乱序方法、装置及系统 | |
CN112995543B (zh) | 分布式视频切换系统、方法、设备 | |
CN112436983B (zh) | 模拟广域网数据传输方法、装置、电子设备及存储介质 | |
CN108491546A (zh) | 一种页面切换方法及电子设备 | |
JP2003098959A (ja) | 暗号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |