CN105262562A - 一种用于代数交换引擎数据包分组重组的预处理方法 - Google Patents
一种用于代数交换引擎数据包分组重组的预处理方法 Download PDFInfo
- Publication number
- CN105262562A CN105262562A CN201510562749.XA CN201510562749A CN105262562A CN 105262562 A CN105262562 A CN 105262562A CN 201510562749 A CN201510562749 A CN 201510562749A CN 105262562 A CN105262562 A CN 105262562A
- Authority
- CN
- China
- Prior art keywords
- packet
- cell
- data
- length
- data packets
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
- H04L1/0008—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length by supplementing frame payload, e.g. with padding bits
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种用于代数交换引擎数据包分组重组的预处理方法,属于通信技术领域,涉及到代数交换和网络编码领域。本发明是具有网络编码功能的代数交换引擎中的数据预处理方法。该方法对数据包在交换之前进行预处理,在每个数据包之前添加了一个包头,并把数据包切割为长度固定的信元,这样极大地加速了后续的数据处理过程,从而提高了系统的吞吐量和通信效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及到代数交换和网络编码领域。
背景技术
代数交换是一种多路径自路由交换结构,这种结构将代数分配格理论应用于自路由模型,该结构具有完全分布式自路由、无内部缓存、线速及无抖动等优势。在保证提供服务质量的条件下,代数适合大规模扩展。然而这种交换结构会产生内部争用和外部阻塞,从而导致了一定的丢包率。为了降低丢包率和提高数据在传输中的吞吐率,一种有效的方法是将网络编码和代数交换结构融合,利用网络编码来恢复丢失的数据包,从而有效降低系统的丢包率。然而现有的代数交换结构中的预处理方法不适用于网络编码,因为其无法提供必要的编码和解码信息。
发明内容
为了使网络编码能够在代数交换引擎中应用并提高系统的数据处理效率,本发明提出了针对基于网络编码的代数交换引擎数据包分组重组的预处理方法。
具体地,本申请提供的用于代数交换引擎数据包分组重组的预处理方法,包括:
从输入的原始数据包中提取目的地址和输入端口号;
根据数据包的长度和信元长度,判断所述数据包是否需要切割,若判断结果为需要切割,则计算出将要切割成的信元的数目以及需要填充的字节数;
将计算结果储存于一特定的信元包头中;
根据所述判断结果和计算结果将数据包切割成若干信元;
将所述信元包头附加在每个切割而成的信元上,其中信元包头中包括了控制信息,所述控制信息用于加速后续的数据的处理,并为网络编码在代数交换中的应用提供必要信息。
本申请的有益效果是:
本发明是具有网络编码功能的代数交换引擎中的数据预处理方法,该方法对数据包在交换之前进行预处理,在每个数据包之前添加了一个包头,并把数据包切割为长度固定的信元,这样极大地加速了后续的数据处理过程,从而提高了系统的吞吐量和通信效率。
附图说明
图1为一实施例中具有网络编码功能的代数交换引擎的结构示意图;
图2(a)为一实施中数据包格式和控制总线格式的示意图;
图2(b)为一实施中附加包头的信息定义的示意图。
具体实施方式
下面通过具体实施方式结合附图对本申请作进一步详细说明。
请参照图1,为本发明中的基于网络编码的代数交换引擎的结构示意图。标准的IP数据包从N个输入端口1.1.1,1.1.2,…,1.1.N进入,在数据预处理模块1.2中,将添加同步控制信号,并把数据包切割成长度相等的数据片和添加包头控制信息,其中N为正整数。图1中黑色粗箭头1表示封包,即标准的以太网数据包;数据包进入数据预处理模块1.2之后,灰色粗箭头2表示被切割之后的数据片,即信元;灰色细箭头3表示流控,即数据同步信号。编码模块1.3对信元进行编码,产生的冗余信息随原始数据包一起进入后级模块。N个并行的VOQ模块1.4.1,1.4.2,…,1.4.N将数据按照输出端口分流,同时将数据包按一定的调度算法送入代数交换模块1.5。在N个组装模块1.6.1,1.6.2,…,1.6.N中,将归属于同一个数据包的信元按照一定的顺序重新组装,恢复出原始的数据包。只有当组装过程中检测到有一个信元丢失时,才会启动N个解码模块1.7.1,1.7.2,…,1.7.N,通过解码恢复出丢失的信元。
本申请中的用于代数交换引擎数据包分组重组的预处理方法,包括:
从输入的原始数据包中提取目的地址和输入端口号;
根据数据包的长度和信元长度,判断所述数据包是否需要切割,若判断结果为需要切割,则计算出将要切割成的信元的数目以及需要填充的字节数;
将计算结果储存于一特定的信元包头中;
根据所述判断结果和计算结果将数据包切割成若干信元;
将所述信元包头附加在每个切割而成的信元上,其中信元包头中包括了控制信息,所述控制信息用于加速后续的数据的处理,并为网络编码在代数交换中的应用提供必要信息。
以下具体说明。
在数据预处理模块1.2中,为了方便数据识别和处理,数据预处理模块1.2首先对输入的数据添加了位宽为2的同步控制信号。当控制总线信号为2’b11时,表示当前时钟下与其同步的数据为整个数据包的起始和包头;当控制总线信号为2’b00时,表示当前同步数据为原始的系统输入数据包中的有效载荷;当控制总线信号为2’b10时,表示当前数据为整个数据包的结束。假定系统的数据总线的位宽是64位,那么数据包的格式如图2(a)所示。
添加同步控制信号后,数据包在数据预处理模块1.2的处理分为2个步骤:
1、根据数据包的长度和信元的长度判断是否需要切割和切割的信元的数量;
2、将分组切割成信元并为每个信元添加包头。
在第1个步骤中,根据数据包的实际长度和事先定义的信元的长度,首先可以判断该数据包是否需要切割:若数据包的长度小于信元的长度,则不需要切割,而且需要将数据包填充一定数目的无效字节使之长度等于一个信元的长度;若数据包的长度大于信元长度,则计算出需要切割成的信元的数量和最后一个信元需要填充的无效字节的长度。若数据包的长度恰好是信元的长度的整数倍,则切割后无需填充无效字节。最后将这些信息保存在数据包的自定义包头中并把数据传送到执行第2个步骤的模块中。
在第2个步骤中,数据包将根据第1步中包头的信息对数据包展开切割、填充的操作。若数据包无需切割,则把数据包填充若干无效字节使之达到信元的长度,并且按照图2(b)的包头格式更新包头信息;若数据包需要切割,则先把数据包的有效载荷按顺序切割成多个信元,然后给每个信元的开头添加图2(b)所示的包头。
整个数据的处理过程中,各个步骤分工协作,或提取数据包内信息生成自定义包头,或利用前级生成的包头提供的信息完成自身预先定义的功能。自定义的包头发挥了巨大的作用,本发明中自定义包头包含分组有效标记、编码标记、目的端口数等信息,如图2(b)所示,下面详细介绍包头的功能及它们所包含的信息。
分组有效标记:用于区分有效分组和无效信元,该类包头信息用于在代数交换引擎,若出现争用,则无效信元优先级较低,有效信元丢失的可能性较小。
保留位:暂时保留,用于系统扩展之后的信息补充。
封包尾信元标记:标记该信元在原始数据包中是否是最后一个信元。若是,则该信息为1,否则为0。
网络编码标记:该字段是编码模块使用,标记该信元是否为编码产生的信元,用于在组装和解码模块时,恢复原始数据包。
分组填补数:一个数据包被切割成长度固定的信元,若该数据包的长度不是信元长度的整数倍,则在最后一个信元中需要填补一定数量的无效的信息,该包头记录需要补充的无效信息的数量,单位是字节。当在组装和解码过程中恢复出原始数据包之后,同时丢弃无效信息。
分组源端口和目的端口:用于记录信元的源地址和目的端口地址。
分组总数:用于组装过程中将收到的信元数量与该包头信息比较,判断是否有信元丢失。
分组识别号:用于记录信元在原始数据包中的位置,用于组装和解码模块。
数据包识别号:相同数据包识别号的信元组装在一起,恢复会原始数据包。
以上内容是结合具体的实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施只局限于这些说明。对于本申请所属技术领域的普通技术人员来说,在不脱离本申请发明构思的前提下,还可以做出若干简单推演或替换。
Claims (1)
1.一种用于代数交换引擎数据包分组重组的预处理方法,其特征在于,包括:
从输入的原始数据包中提取目的地址和输入端口号;
根据数据包的长度和信元长度,判断所述数据包是否需要切割,若判断结果为需要切割,则计算出将要切割成的信元的数目以及需要填充的字节数;
将计算结果储存于一特定的信元包头中;
根据所述判断结果和计算结果将数据包切割成若干信元;
将所述信元包头附加在每个切割而成的信元上,其中信元包头中包括了控制信息,所述控制信息用于加速后续的数据的处理,并为网络编码在代数交换中的应用提供必要信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510562749.XA CN105262562A (zh) | 2015-09-07 | 2015-09-07 | 一种用于代数交换引擎数据包分组重组的预处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510562749.XA CN105262562A (zh) | 2015-09-07 | 2015-09-07 | 一种用于代数交换引擎数据包分组重组的预处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105262562A true CN105262562A (zh) | 2016-01-20 |
Family
ID=55102087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510562749.XA Pending CN105262562A (zh) | 2015-09-07 | 2015-09-07 | 一种用于代数交换引擎数据包分组重组的预处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105262562A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111954265A (zh) * | 2020-08-17 | 2020-11-17 | Oppo广东移动通信有限公司 | 一种生成包头的方法及终端、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1972239A (zh) * | 2005-11-24 | 2007-05-30 | 武汉烽火网络有限责任公司 | 以太网交换缓存及调度的方法和装置 |
CN1984031A (zh) * | 2005-12-14 | 2007-06-20 | 中兴通讯股份有限公司 | 一种实现数据包模式到信元帧模式转换的装置及其方法 |
US20090252168A1 (en) * | 2008-04-02 | 2009-10-08 | Alaxala Networks Corporation | Multi-plane cell switch fabric system |
CN104158770A (zh) * | 2014-08-20 | 2014-11-19 | 电子科技大学 | 一种交换机数据包切分与重组的方法与装置 |
CN104917702A (zh) * | 2015-06-03 | 2015-09-16 | 香港中文大学深圳研究院 | 一种具有网络编码功能的代数交换系统及其预处理算法 |
-
2015
- 2015-09-07 CN CN201510562749.XA patent/CN105262562A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1972239A (zh) * | 2005-11-24 | 2007-05-30 | 武汉烽火网络有限责任公司 | 以太网交换缓存及调度的方法和装置 |
CN1984031A (zh) * | 2005-12-14 | 2007-06-20 | 中兴通讯股份有限公司 | 一种实现数据包模式到信元帧模式转换的装置及其方法 |
US20090252168A1 (en) * | 2008-04-02 | 2009-10-08 | Alaxala Networks Corporation | Multi-plane cell switch fabric system |
CN104158770A (zh) * | 2014-08-20 | 2014-11-19 | 电子科技大学 | 一种交换机数据包切分与重组的方法与装置 |
CN104917702A (zh) * | 2015-06-03 | 2015-09-16 | 香港中文大学深圳研究院 | 一种具有网络编码功能的代数交换系统及其预处理算法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111954265A (zh) * | 2020-08-17 | 2020-11-17 | Oppo广东移动通信有限公司 | 一种生成包头的方法及终端、存储介质 |
CN111954265B (zh) * | 2020-08-17 | 2023-12-19 | Oppo广东移动通信有限公司 | 一种生成包头的方法及终端、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220416895A1 (en) | Data transmission method and apparatus, terminal device and storage medium | |
US10404402B2 (en) | Security protection of terabit ethernet PCS layer using alignment markers | |
US9578292B2 (en) | Device and method for transmitting/receiving a packet in communication system | |
CA2423056C (en) | Multiplex transmission system capable of using ordinary network packets to transmit a plurality of 8b/10b bit streams | |
EP2629459A2 (en) | Avionics full-duplex switched ethernet network | |
CN107786320B (zh) | 一种发送和接收业务的方法、装置和网络系统 | |
CN105406937B (zh) | 定帧方法及装置 | |
CN1968036B (zh) | 一种前向纠错解码装置及控制方法 | |
EP3832914A1 (en) | Oam message transmission method, sending device, receiving device, and readable storage device | |
US20120236878A1 (en) | Packet Network Interface Apparatus and Method | |
CN105701053B (zh) | 串行数据发送、接收方法及装置 | |
CN104158624B (zh) | 一种用于btm系统的冗余二取二解码控制装置及解码方法 | |
US11831434B2 (en) | Data sending and receiving method and device | |
US20220393787A1 (en) | Data transmission method and apparatus, terminal device, and storage medium | |
CN102647252A (zh) | 一种串行通信方法 | |
CN102196321A (zh) | 100ge数据在光传送网中的传送方法和数据发送装置 | |
JPH0897825A (ja) | データ伝送装置 | |
KR20200012974A (ko) | 플렉시블 이더넷 프로토콜에서 트래픽 플로우를 전달하는 방법, 장치 및 시스템 | |
CN104917702A (zh) | 一种具有网络编码功能的代数交换系统及其预处理算法 | |
CN105262562A (zh) | 一种用于代数交换引擎数据包分组重组的预处理方法 | |
CN111385058A (zh) | 一种数据传输的方法和装置 | |
CN113746605A (zh) | 可靠的工业数据流的传输方法 | |
MX2014012882A (es) | Aparato y metodo para transmitir/recibir paquetes en el sistema de comunicacion. | |
US20240007367A1 (en) | NETWORK INTERFACE SUPPORTING TIME SENSITIVE NETWORKS AND MACsec PROTECTION | |
US8887031B2 (en) | Error correcting method, error correcting apparatus, sending device, receiving device, and error correcting program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160120 |