CN102447530A - 具有容错功能的数据帧聚合方法 - Google Patents
具有容错功能的数据帧聚合方法 Download PDFInfo
- Publication number
- CN102447530A CN102447530A CN2011103767420A CN201110376742A CN102447530A CN 102447530 A CN102447530 A CN 102447530A CN 2011103767420 A CN2011103767420 A CN 2011103767420A CN 201110376742 A CN201110376742 A CN 201110376742A CN 102447530 A CN102447530 A CN 102447530A
- Authority
- CN
- China
- Prior art keywords
- frame
- subframe
- stem
- aggregate frame
- aggregate
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种具有容错功能的数据帧聚合方法。主要解决现有数据帧聚合机制中由于不合理的帧结构引起的容错性能差的问题。其实现过程为:发送节点在聚合条件满足时对数据帧进行聚合操作;发送节点为各子帧生成子帧首部,包含偏移值域和长度域,并合并各子帧首部作为载荷第一部分;发送节点顺序存放合并后的各子帧首部、填充域和各子帧,构成完整的载荷;发送节点对载荷添加首部和尾部字段后对聚合帧执行发送;接收节点收到聚合帧后执行拆分操作,根据各子帧首部的偏移值域和长度域读取相应的子帧并转发给上层。本发明在提高信道传输效率的基础上,有效改善了数据帧聚合机制应对传输误码的容错性能,可广泛应用于各种数据通信网络。
Description
技术领域
本发明属于通信技术领域,涉及一种数据帧的聚合方法,可应用于各种数据通信网络。
背景技术
在数据通信网络中,为了提高信道利用率,通常需要在网络中的某条链路上,或发送节点与接收节点之间采用聚合/拆分机制,即在发送节点处对来自上层的多个数据帧进行聚合操作,并且在接收节点处进行相应的拆分操作。在发送节点对数据帧进行聚合操作可以有效提高信道传输效率:当发送节点处有大量数据帧需要传输时,尤其是当这些数据帧长度均较短时,如果不采用数据帧聚合机制进行传送,就要对每个数据帧都要单独进行封装,导致有效数据的传输效率会很低;同时,由于数据帧在实际传输时通常要求帧与帧之间存在一定的帧间隔,这样当传输大量短的数据帧时,帧间隔所占的时间也会造成大量的信道浪费,而采用数据帧聚合机制可以减少由数据帧封装和帧间隔引入的开销,提高信道利用率。因为具有以上优点,数据帧聚合机制在各种数据通信网络,如基于同轴电缆的以太网EoC网络或有线/无线宽带接入网络中得到广泛应用,可以采用聚合机制的对象包括各种业务数据单元,如以太网帧,IP分组和ATM信元等。
在现有的数据帧聚合机制中,发送节点首先判断数据帧队列是否满足聚合条件。通常考虑的聚合条件有两条:其一是聚合后的数据帧长度是否达到网络最大帧长;其二是数据帧队列中各帧的最大排队时延是否达到时延门限值。当发送节点处的数据帧队列满足聚合条件时,对数据帧进行聚合操作。待聚合的数据帧称为子帧,完成聚合操作后的完整的数据帧称为聚合帧。聚合形成的帧结构如图1所示,聚合帧由首部字段,载荷和尾部字段三部分构成,其中载荷部分顺序承载各子帧的长度域及子帧内容。聚合操作的步骤为:1)发送节点为每一个待聚合的子帧生成相应的子帧长度域,并将子帧长度域和子帧内容合并为新的子帧,长度域的取值为子帧长度域和子帧内容的长度之和;2)发送节点依次将带有子帧长度域的新生成的每一个子帧合并,组成聚合帧的载荷部分;3)发送节点对聚合帧进行封装,填充首部字段和尾部字段,生成完整的聚合帧,然后在信道上进行发送。接收节点收到聚合帧后进行拆分操作,首先,接收节点剥掉聚合帧的首部字段及尾部字段;然后根据子帧长度域的值,读取其后对应的子帧数据内容,依次类推,完成对聚合帧的拆分过程。
上述机制为数据帧在数据通信网络中的聚合提供一种简单的实现方法,但是该方法在容错性能方面存在不足。比如当聚合帧在网络传输过程中出现误码且错误比特出现在第i个子帧长度域,则在接收节点对上层数据帧进行拆分操作时,会错误的判定第i个子帧的数据长度而无法正确还原对应子帧;而且第i个子帧以后的各子帧都会受到影响而无法正确还原,这是因为,第i个子帧长度域以后的各个域的长度提取都会出现偏差并且这种错误将延续到该聚合帧结束。因此现有的数据帧聚合机制的容错性能较差,导致有效数据帧的丢帧率较高,从而在一定程度上降低了数据通信网络的有效数据吞吐量。
发明内容
本发明针对现有的数据帧聚合机制在容错性能,丢帧率及网络数据吞吐量等方面的不足,提出一种具有容错功能的数据帧聚合方法,以在提高信道传输效率的基础上,改善现有数据帧聚合机制的容错性能,降低网络丢帧率,进一步提高数据通信网络的有效数据吞吐量。
为实现上述目的,本发明的技术方案包括如下步骤:
(1)当发送节点处的数据帧队列满足聚合条件时,发送节点对多个数据帧进行聚合操作,待聚合的数据帧称为子帧,完成聚合操作后的完整的数据帧称为聚合帧,聚合帧由首部字段、载荷和尾部字段三部分组成;
(2)发送节点为每个子帧生成各自的子帧首部,并对生成的各子帧首部进行合并,子帧首部由偏移值域和长度域两部分组成,偏移值表示对应子帧的首字节相对于当前聚合帧的首字节的偏移量,长度域取值表示对应子帧的长度,均以字节为单位;
(3)当发送节点处的子帧数目为n时,聚合后的聚合帧载荷从前到后依次为:合并后的n个子帧首部、填充域及n个子帧,其中填充域为0-3个字节,此处n为待聚合的子帧数目,其取值下限为1,取值上限为使得数据帧队列满足聚合条件的数据帧个数;
(4)发送节点对聚合帧载荷添加首部字段和尾部字段,构成完整的聚合帧,然后执行发送,其中首部字段包括子帧个数域和首部校验域,尾部字段通过循环冗余校验对整个聚合帧进行校验;
(5)接收节点收到聚合帧后,对聚合帧进行尾部的循环冗余校验,如果循环冗余校验结果正确,则直接执行拆分操作,否则,对聚合帧进行首部校验,若首部校验错误,则丢弃该聚合帧,否则接收节点读取聚合帧首部字段的子帧个数域并根据聚合帧载荷域中各子帧首部对各子帧进行如下拆分操作:
(5a)根据子帧首部中的偏移值域,在聚合帧中查找对应子帧的首字节位置;
(5b)根据子帧首部中的长度域,结合偏移值,从聚合帧中读取对应子帧的数据内容并转发给上层。
本发明与现有的数据帧聚合机制相比,由于将所有子帧首部合并后统一存放在聚合帧载荷的起始位置,因而保证了在任何情况下都能确定各子帧首部的位置;同时由于提出了新的子帧首部结构,由单一的子帧长度域扩展为偏移值和子帧长度两个域,故在传输过程中若某个子帧首部出现误码,导致所对应的子帧偏移值域或长度域发生错误,或者两者均发生错误时,使该错误只会影响对应的子帧内容,而不会影响其他子帧的内容。因此,本发明在提高信道传输效率的基础上,有效改善了数据帧聚合机制应对传输误码的容错性能,降低了网络丢帧率,进一步提高了数据通信网络的有效数据吞吐量。
附图说明
图1是现有数据帧聚合机制的聚合帧结构图;
图2是本发明的数据帧聚合/拆分总流程图;
图3是本发明中的聚合操作子流程图;
图4是本发明中的拆分操作子流程图;
图5是本发明的聚合帧结构图。
具体实施方式
下面结合附图对本发明的内容做进一步阐述。
实施例一
定义聚合帧的最大帧长度为4600字节;所承载的业务数据单元类型为以太网帧,其最大帧长为1518字节;根据上述条件,相应地设置子帧首部长度为3字节,包括13比特的偏移值域和11比特的长度域,以保证聚合后的最大帧长度4600不超过213,各子帧最大长度1518不超过211;设发送节点为聚合帧生成8字节的首部字段与4字节的尾部字段,其中首部字段由2字节的地址域,2字节的长度域,1字节的类型域,1字节的子帧个数域和2字节的首部校验域顺序构成,首部校验域采用16比特反码求和的校验方式,尾部字段对聚合帧进行32位的循环冗余校验;定义发送节点处设定的时延门限值为3毫秒;以太网帧在聚合帧中映射的类型值根据应用该数据帧聚合方法的网络协议具体确定,此处设以太网帧在该聚合帧中映射的类型值为1。
参照图2,本发明实施例的实现步骤如下:
步骤1,判断发送节点处的数据帧队列是否满足聚合条件:
设发送节点处的数据帧队列中有3个以太网帧A、B、C,其帧长度分别为1500字节、1200字节和1400字节,且在第4个以太网帧到达之前,该数据帧队列中的数据帧最大排队时延达到发送节点设定的时延门限3毫秒;
根据聚合条件的规定:当聚合后的帧长度达到聚合帧的最大帧长,或者数据帧队列中各数据帧的最大排队时延达到设定时延门限时,聚合条件成立,此时,虽然以太网帧A,B,C聚合后的聚合帧长度小于聚合帧的最大帧长4600字节,但该数据帧队列的最大排队时延已达到发送节点处设定的时延门限值3毫秒,因此判定聚合条件成立。
步骤2,判定聚合条件成立后,由发送节点对数据帧队列中的以太网帧A、B、C进行聚合操作,并且在聚合操作完成后发送该聚合帧:
参照图3,本步骤的具体实现如下:
2a)称参与聚合操作的以太网帧A、B、C为子帧,称聚合操作完成后得到完整数据帧为聚合帧,聚合帧由首部字段,载荷和尾部字段三部分组成;
2b)发送节点分别为子帧A、B、C生成子帧首部,包括偏移值域和长度域两部分:对于子帧A,偏移值为子帧A的首字节相对于当前聚合帧首字节的偏移量,即聚合帧首部字段长度与各子帧首部及填充域的长度之和,其值为20,长度域取值为1500;同理,子帧B的偏移值为1520,长度域取值为1200;子帧C的偏移值为2720,长度域取值为1400;子帧A、B、C的偏移值和子帧长度分别用13比特及11比特的二进制数表示,并填充在子帧A、B、C首部的偏移值域和长度域,子帧首部中的偏移值和长度域取值均以字节为单位;
2c)发送节点将生成的子帧A、B、C首部合并后构成聚合帧载荷的第一部分,以保证在任何情况下都能确定各子帧首部的位置;
2d)发送节点在子帧A、B、C首部的后面添加3字节的全0填充域作为聚合帧载荷的第二部分,以保证各子帧首部及填充域的长度之和为4字节的整数倍;
2e)发送节点在已生成的子帧A、B、C首部及3字节的全0填充域之后顺序存放子帧A、B、C,作为聚合帧载荷的第三部分,至此,聚合帧载荷生成完毕;
2f)发送节点对聚合帧载荷添加8字节的首部字段和4字节的尾部字段,首部字段中地址域取值为接收节点和发送节点的地址信息,长度域取值为聚合帧包含的字节个数,类型域取值为以太网帧在聚合帧中映射的类型值为1,子帧个数域取值为3,首部校验域取值为首部字段数据16位反码求和的结果;尾部字段为聚合帧首部字段及载荷数据与循环冗余校验生成多项式进行多项式除法后得到的余数多项式;
2g)发送节点将生成的8字节的首部字段,聚合帧载荷及4字节的尾部字段顺序存放,共同构成完整的聚合帧如图5所示,然后在信道上执行发送。
步骤3,接收节点对收到的聚合帧进行校验操作,根据校验结果判断是否对该聚合帧进行拆分操作,并通过拆分操作将读取的子帧转发给上层。
参照图4,本步骤的具体实现如下:
3a)接收节点对聚合帧进行尾部的32位循环冗余校验,如果接收到的聚合帧数据能够被循环冗余校验的生成多项式整除,则判定校验结果正确并直接执行拆分操作,否则,对聚合帧进行首部的16比特反码求和校验,将接收到的首部字段数据以16位反码形式进行累加,比较累加结果与首部校验域的值,如果二者不相等则判定首部校验错误,接收节点丢弃该聚合帧,否则判定首部校验正确,接收节点对子帧A、B、C进行拆分操作;
3b)接收节点读取聚合帧首部字段的子帧个数域,其值为3,然后剥掉聚合帧的首部字段及尾部字段;
3c)接收节点根据子帧A首部中的偏移量20,在聚合帧载荷中查找子帧A的首字节位置,然后再根据其首部的长度域1500,从聚合帧中读取子帧A的数据内容并转发给上层;
3d)接收节点根据子帧B首部中的偏移量1520,在聚合帧载荷中查找子帧B的首字节位置,然后再根据其首部的长度域1200,从聚合帧中读取子帧B的数据内容并转发给上层;
3e)接收节点根据子帧C首部中的偏移量2720,在聚合帧载荷中查找子帧C的首字节位置,然后再根据其首部的长度域1400,从聚合帧中读取子帧C的数据内容并转发给上层。
本实施例中,如果子帧A的首部偏移值域和子帧长度域都在传输过程中出现错误,分别在接收节点处被误读为18和1000,则在接收节点进行拆分操作时,无法正确找到子帧A的起始位置及结束位置,导致子帧A无法正确读取;但是在读子帧B的时候,根据子帧B的首部偏移值1520及长度域取值1200,仍然可以保证子帧B的正确读取;该过程对于子帧C同样成立;因此子帧A首部出现的误码只会影响子帧A内容的正确读取,而不会影响帧A之后的子帧B、C的正确读取。
实施例二
定义聚合帧的最大帧长度为4600字节;所承载的业务数据单元类型为IP分组,其最大长度被限制为1500字节;根据上述条件,相应地设置子帧首部长度为3字节,包括13比特的偏移值域和11比特的长度域,以保证聚合后的最大帧长度4600不超过213,各子帧最大长度1500不超过211;设发送节点为聚合帧生成8字节的首部字段与4字节的尾部字段,其中首部字段由2字节的地址域,2字节的长度域,1字节的类型域,1字节的子帧个数域和2字节的首部校验域顺序构成,首部校验域采用16位的循环冗余校验方式,尾部字段对聚合帧进行32位的循环冗余校验;定义发送节点处设定的时延门限值为3毫秒;IP分组在聚合帧中映射的类型值根据应用该数据帧聚合方法的网络协议具体确定,此处设IP分组在该聚合帧中映射的类型值为1。
参照图2,本发明实施例的实现步骤如下:
步骤一,判断发送节点处的数据帧队列是否满足聚合条件:
设发送节点处的数据帧队列中有3个IP分组L、M、N,其帧长度分别为1400字节、1300字节和1100字节,且在第4个IP分组到达之前,该数据帧队列中的数据帧最大排队时延达到发送节点设定的时延门限3毫秒;
根据聚合条件的规定:当聚合后的帧长度达到聚合帧的最大帧长,或者数据帧队列中各数据帧的最大排队时延达到设定时延门限时,聚合条件成立,此时,虽然IP分组L、M、N聚合后的聚合帧长度小于聚合帧的最大帧长4600字节,但该数据帧队列的最大排队时延已达到发送节点处设定的时延门限值3毫秒,因此判定聚合条件成立。
步骤二,判定聚合条件成立后,由发送节点对数据帧队列中的IP分组L、M、N进行聚合操作,并且在聚合操作完成后发送该聚合帧:
参照图3,本步骤的具体实现如下:
2a)称参与聚合操作的IP分组L、M、N为子帧,称聚合操作完成后得到完整数据帧为聚合帧,聚合帧由首部字段,载荷和尾部字段三部分组成;
2b)发送节点分别为IP分组L、M、N生成子帧首部,包括偏移值域和长度域两部分:对于子帧L,偏移值为子帧L的首字节相对于当前聚合帧首字节的偏移量,即聚合帧首部字段长度与各子帧首部及填充域的长度之和,其值为20,长度域取值为1400;同理,子帧M的偏移值为1420,长度域取值为1300;子帧N的偏移值为2720,长度域取值为1100;子帧L、M、N的偏移值和子帧长度分别用13比特及11比特的二进制数表示,并填充在子帧L、M、N首部的偏移值域和长度域,子帧首部中的偏移值和长度域取值均以字节为单位;
2c)发送节点将生成的子帧L、M、N首部合并后构成聚合帧载荷的第一部分,以保证在任何情况下都能确定各子帧首部的位置;
2d)发送节点在子帧L、M、N首部的后面添加3字节的全1填充域作为聚合帧载荷的第二部分,以保证各子帧首部及填充域的长度之和为4字节的整数倍;
2e)发送节点在已生成的子帧L、M、N首部及3字节的全1填充域之后顺序存放子帧L、M、N,作为聚合帧载荷的第三部分,至此,聚合帧载荷生成完毕;
2f)发送节点对聚合帧载荷添加8字节的首部字段和4字节的尾部字段,首部字段中地址域取值为接收节点和发送节点的地址信息,长度域取值为聚合帧包含的字节个数,类型域取值为IP分组在聚合帧中映射的类型值为1,子帧个数域取值为3,首部校验域采用循环冗余校验方式,其取值为首部字段数据与循环冗余校验的生成多项式进行多项式除法后得到的余数多项式;尾部字段为聚合帧首部字段及载荷数据与循环冗余校验生成多项式进行多项式除法后得到的余数多项式;
2g)发送节点将生成的8字节的首部字段,聚合帧载荷及4字节的尾部字段顺序存放,共同构成完整的聚合帧如图5所示,然后在信道上执行发送。
步骤三,接收节点对收到的聚合帧进行校验操作,根据校验结果判断是否对该聚合帧进行拆分操作,并通过拆分操作将读取的子帧转发给上层。
参照图4,本步骤的具体实现如下:
3a)接收节点对聚合帧进行尾部的32位循环冗余校验,如果接收到的聚合帧数据能够被循环冗余校验的生成多项式整除,则判定校验结果正确并直接执行拆分操作,否则,对聚合帧进行首部的16位循环冗余校验,如果接收到的聚合帧首部字段数据不能被循环冗余校验的生成多项式整除,则判定首部校验错误,接收节点丢弃该聚合帧,否则判定首部校验正确,接收节点对子帧L、M、N进行拆分操作;
3b)接收节点读取聚合帧首部字段的子帧个数域,其值为3,然后剥掉聚合帧的首部字段及尾部字段;
3c)接收节点根据子帧L首部中的偏移量20,在聚合帧载荷中查找子帧L的首字节位置,然后再根据其首部的长度域1400,从聚合帧中读取子帧L的数据内容并转发给上层;
3d)接收节点根据子帧M首部中的偏移量1420,在聚合帧载荷中查找子帧M的首字节位置,然后再根据其首部的长度域1300,从聚合帧中读取子帧M的数据内容并转发给上层;
3e)接收节点根据子帧N首部中的偏移量2720,在聚合帧载荷中查找子帧N的首字节位置,然后再根据其首部的长度域1100,从聚合帧中读取子帧N的数据内容并转发给上层。
本实施例中,如果子帧L的首部偏移值域和子帧长度域都在传输过程中出现错误,分别在接收节点处被误读为18和1000,则在接收节点进行拆分操作时,无法正确找到子帧L的起始位置及结束位置,导致子帧L无法正确读取;但是在读子帧M的时候,根据子帧M的首部偏移值1420及长度域取值1300,仍然可以保证子帧M的正确读取;该过程对于子帧N同样成立;因此子帧L首部出现的误码只会影响子帧L内容的正确读取,而不会影响帧L之后的子帧M、N的正确读取。
实施例三
定义聚合帧的最大帧长度为4600字节;所承载的业务数据单元类型为ATM信元,其长度为固定的53字节;根据上述条件,相应地设置子帧首部长度为3字节,包括18比特的偏移值域和6比特的长度域,以保证聚合后的最大帧长度4600不超过218,各子帧长度53不超过26;设发送节点为聚合帧生成8字节的首部字段与4字节的尾部字段,其中首部字段由2字节的地址域,2字节的长度域,1字节的类型域,1字节的子帧个数域和2字节的首部校验域顺序构成,首部校验域采用16位的循环冗余校验方式,尾部字段对聚合帧进行32位的循环冗余校验;定义发送节点处设定的时延门限值为1毫秒;ATM信元在聚合帧中映射的类型值根据应用该数据帧聚合方法的网络协议具体确定,此处设ATM信元在该聚合帧中映射的类型值为1。
参照图2,本发明实施例的实现步骤如下:
步骤A,判断发送节点处的数据帧队列是否满足聚合条件:
设发送节点处的数据帧队列中有3个ATM信元R、S、T,其信元长度为固定的53字节,且在第4个ATM信元到达之前,该数据帧队列中的数据帧最大排队时延达到发送节点设定的时延门限1毫秒;
根据聚合条件的规定:当聚合后的帧长度达到聚合帧的最大帧长,或者数据帧队列中各数据帧的最大排队时延达到设定时延门限时,聚合条件成立,此时,虽然ATM信元R、S、T聚合后的聚合帧长度小于聚合帧的最大帧长4600字节,但该数据帧队列的最大排队时延已达到发送节点处设定的时延门限值1毫秒,因此判定聚合条件成立。
步骤B,判定聚合条件成立后,由发送节点对数据帧队列中的ATM信元R、S、T进行聚合操作,并且在聚合操作完成后发送该聚合帧:
参照图3,本步骤的具体实现如下:
2a)称参与聚合操作的ATM信元R、S、T为子帧,称聚合操作完成后得到完整数据帧为聚合帧,聚合帧由首部字段,载荷和尾部字段三部分组成;
2b)发送节点分别为ATM信元R、S、T生成子帧首部,包括偏移值域和长度域两部分:对于子帧R,偏移值为子帧R的首字节相对于当前聚合帧首字节的偏移量,即聚合帧首部字段长度与各子帧首部及填充域的长度之和,其值为20,长度域取值为53;同理,子帧S的偏移值为73,长度域取值为53;子帧T的偏移值为126,长度域取值为53;子帧R、S、T的偏移值和子帧长度分别用18比特及6比特的二进制数表示,并填充在子帧R、S、T首部的偏移值域和长度域,子帧首部中的偏移值和长度域取值均以字节为单位;
2c)发送节点将生成的子帧R、S、T首部合并后构成聚合帧载荷的第一部分,以保证在任何情况下都能确定各子帧首部的位置;
2d)发送节点在子帧R、S、T首部的后面添加3字节的全1填充域作为聚合帧载荷的第二部分,以保证各子帧首部及填充域的长度之和为4字节的整数倍;
2e)发送节点在已生成的子帧R、S、T首部及3字节的全1填充域之后顺序存放子帧R、S、T,作为聚合帧载荷的第三部分,至此,聚合帧载荷生成完毕;
2f)发送节点对聚合帧载荷添加8字节的首部字段和4字节的尾部字段,首部字段中地址域取值为接收节点和发送节点的地址信息,长度域取值为聚合帧包含的字节个数,类型域取值为ATM信元在聚合帧中映射的类型值为1,子帧个数域取值为3,首部校验域取值为首部字段数据与循环冗余校验生成多项式进行多项式除法后得到的余数多项式;尾部字段为聚合帧首部字段及载荷数据与循环冗余校验生成多项式进行多项式除法后得到的余数多项式;
2g)发送节点将生成的8字节的首部字段,聚合帧载荷及4字节的尾部字段顺序存放,共同构成完整的聚合帧如图5所示,然后在信道上执行发送。
步骤C,接收节点对收到的聚合帧进行校验操作,根据校验结果判断是否对该聚合帧进行拆分操作,并通过拆分操作将读取的子帧转发给上层。
参照图4,本步骤的具体实现如下:
3a)接收节点对聚合帧进行尾部的32位循环冗余校验,如果接收到的聚合帧数据能够被循环冗余校验的生成多项式整除,则判定校验结果正确并直接执行拆分操作,否则,对聚合帧进行首部的16位循环冗余校验,如果接收到的聚合帧首部字段数据不能被循环冗余校验的生成多项式整除,则判定首部校验错误,接收节点丢弃该聚合帧,否则判定首部校验正确,接收节点对子帧R、S、T进行拆分操作;
3b)接收节点读取聚合帧首部字段的子帧个数域,其值为3,然后剥掉聚合帧的首部字段及尾部字段;
3c)接收节点根据子帧R首部中的偏移量20,在聚合帧载荷中查找子帧R的首字节位置,然后再根据其首部的长度域53,从聚合帧中读取子帧R的数据内容并转发给上层;
3d)接收节点根据子帧S首部中的偏移量73,在聚合帧载荷中查找子帧S的首字节位置,然后再根据其首部的长度域53,从聚合帧中读取子帧S的数据内容并转发给上层;
3e)接收节点根据子帧T首部中的偏移量126,在聚合帧载荷中查找子帧T的首字节位置,然后再根据其首部的长度域53,从聚合帧中读取子帧T的数据内容并转发给上层。
本实施例中,如果子帧R的首部偏移值域和子帧长度域都在传输过程中出现错误,分别在接收节点处被误读为18和50,则在接收节点进行拆分操作时,无法正确找到子帧R的起始位置及结束位置,导致子帧R无法正确读取;但是在读子帧S的时候,根据子帧S的首部偏移值73及长度域取值53,仍然可以保证子帧S的正确读取;该过程对于子帧T同样成立;因此子帧R首部出现的误码只会影响子帧R内容的正确读取,而不会影响帧R之后的子帧S、T的正确读取。
以上仅为本发明的优选实例,不构成对本发明的任何限制,显然根据本发明的构思本领域的技术人员均可作出不同的修改和置换,但这些均在本发明的保护之列。
Claims (8)
1.一种具有容错功能的数据帧聚合方法,包括:
(1)当发送节点处的数据帧队列满足聚合条件时,发送节点对多个数据帧进行聚合操作,待聚合的数据帧称为子帧,完成聚合操作后的完整的数据帧称为聚合帧,聚合帧由首部字段、载荷和尾部字段三部分组成;
(2)发送节点为每个子帧生成各自的子帧首部,并对生成的各子帧首部进行合并,子帧首部由偏移值域和长度域两部分组成,偏移值表示对应子帧的首字节相对于当前聚合帧的首字节的偏移量,长度域取值表示对应子帧的长度,均以字节为单位;
(3)当发送节点处的子帧数目为n时,聚合后的聚合帧载荷从前到后依次为:合并后的n个子帧首部、填充域及n个子帧,其中填充域为0-3个字节,此处n为待聚合的子帧数目,其取值下限为1,取值上限为使得数据帧队列满足聚合条件的数据帧个数;
(4)发送节点对聚合帧载荷添加首部字段和尾部字段,构成完整的聚合帧,然后执行发送,其中首部字段包括子帧个数域和首部校验域,尾部字段通过循环冗余校验对整个聚合帧进行校验;
(5)接收节点收到聚合帧后,对聚合帧进行尾部的循环冗余校验,如果循环冗余校验结果正确,则直接执行拆分操作,否则,对聚合帧进行首部校验,若首部校验错误,则丢弃该聚合帧,否则接收节点读取聚合帧首部字段的子帧个数域并根据聚合帧载荷域中各子帧首部对各子帧进行如下拆分操作:
(5a)根据子帧首部中的偏移值域,在聚合帧中查找对应子帧的首字节位置;
(5b)根据子帧首部中的长度域,结合偏移值,从聚合帧中读取对应子帧的数据内容并转发给上层。
2.根据权利要求1所述的数据帧聚合方法,其中步骤(1)所述的聚合条件要求满足以下两条件之一:
A.聚合后的帧长度达到聚合帧的最大帧长;
B.数据帧队列内各数据帧的最大排队时延达到设定时延门限,其中设定时延门限的取值,与网络整体结构、应用场景和业务特性有关。
3.根据权利要求1所述的数据帧聚合方法,其中步骤(1)所述的发送节点对多个数据帧进行聚合操作,其步骤是:
1a)发送节点为每个子帧生成各自的子帧首部,并将各子帧首部合并后构成聚合帧载荷的第一部分,以保证在任何情况下都能确定各子帧首部的位置,各子帧首部包括偏移值和子帧长度两个域;
1b)发送节点根据已合并的各子帧首部的总长,确定要添加的填充域长度,并添加填充域作为聚合帧载荷的第二部分,填充域长度范围为0-3个字节,以保证合并后的各子帧首部与填充域的总长为4字节的整数倍;
1c)发送节点将各子帧依次连续放置在已生成的各子帧首部及填充域之后作为聚合帧载荷的第三部分,至此,聚合帧载荷构造完成;
1d)发送节点在已生成的聚合帧载荷的基础上添加首部字段与尾部字段,生成完整的聚合帧,其中首部字段包括子帧个数域和首部校验域,尾部字段通过循环冗余校验对整个聚合帧进行校验。
4.根据权利要求1所述的数据帧聚合方法,其中步骤(1)所述的子帧,包括各种业务数据单元,如以太网帧,IP分组和ATM信元。
5.根据权利要求1所述的数据帧聚合方法,其中步骤(2)所述的各子帧首部由偏移值域和长度域两部分组成,其规定是:子帧首部的长度为a个比特,偏移值域的长度为b个比特,长度域的长度为c个比特;其中a、b、c均为正整数,a为8的整数倍,且a=b+c,保证聚合后的最大帧长度不超过2b字节,各子帧最大长度不超过2°字节。
6.根据权利要求1所述的数据帧聚合方法,其中步骤(4)所述的发送节点对聚合帧载荷添加首部字段和尾部字段,构成完整的聚合帧,其步骤是:
4a)发送节点在聚合帧载荷之前添加x字节的首部字段,其中x取值为正整数,添加的首部字段根据具体应用的网络协议包括地址域,长度域,类型域,子帧个数域和首部校验域;
4b)发送节点在聚合帧载荷之后添加y字节的尾部字段,用于存放8*y位的循环冗余校验值,其中y的取值为正整数;
4c)发送节点将x字节的首部字段、聚合帧载荷及y字节的尾部字段顺序存放,共同构成完整的聚合帧。
7.根据权利要求1所述的数据帧聚合方法,其中步骤(4)所述的尾部字段通过循环冗余校验对整个聚合帧进行校验,其步骤是:
4d)发送节点对聚合帧载荷添加尾部字段时,将首部字段及聚合帧载荷的数据与循环冗余校验的生成多项式进行多项式除法运算,并将求得的余数多项式存放在尾部字段,作为尾部的循环冗余校验值,尾部字段添加完成后,发送节点对完整的聚合帧执行发送;
4e)接收节点收到聚合帧后对其进行尾部的循环冗余校验,将完整的聚合帧数据与循环冗余校验的生成多项式进行多项式除法运算,如果可以整除,则判定循环冗余校验结果正确,否则判定校验错误。
8.根据权利要求1所述的数据帧聚合方法,其中步骤(5)所述的对聚合帧进行首部校验,采用以下两种方法之一:
A.检查和校验:发送节点在生成首部校验域时,对聚合帧首部字段的数据执行累加操作,并将累加结果存放在首部校验域,聚合操作完成后发送节点对聚合帧执行发送;接收节点对接收到的聚合帧进行首部校验时,将首部字段数据按照相同方式累加,并将累加结果与聚合帧首部校验域的值进行比较,如果二者相等则判定首部校验正确,否则判定校验错误;
B.循环冗余校验:发送节点在生成首部校验域时,将聚合帧首部字段的数据与循环冗余校验的生成多项式进行多项式除法运算,并将求得的余数多项式存放在首部校验域,聚合操作完成后发送节点对聚合帧执行发送;接收节点对接收到的聚合帧进行首部校验时,将接收到的聚合帧首部字段的数据与循环冗余校验的生成多项式进行多项式除法运算,如果可以整除,则判定首部校验正确,否则判定校验错误。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110376742.0A CN102447530B (zh) | 2011-11-23 | 2011-11-23 | 具有容错功能的数据帧聚合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110376742.0A CN102447530B (zh) | 2011-11-23 | 2011-11-23 | 具有容错功能的数据帧聚合方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102447530A true CN102447530A (zh) | 2012-05-09 |
CN102447530B CN102447530B (zh) | 2014-04-16 |
Family
ID=46009650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110376742.0A Active CN102447530B (zh) | 2011-11-23 | 2011-11-23 | 具有容错功能的数据帧聚合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102447530B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104168216A (zh) * | 2013-05-15 | 2014-11-26 | Ls产电株式会社 | 铁路上用于处理atc点式信息的装置及方法 |
CN109672626A (zh) * | 2019-01-09 | 2019-04-23 | 中南大学 | 一种基于排队延迟利用的服务聚合方法 |
CN110351281A (zh) * | 2019-07-15 | 2019-10-18 | 珠海格力电器股份有限公司 | 一种通用数据帧解析方法、装置及设备 |
CN112506175A (zh) * | 2021-02-04 | 2021-03-16 | 四川腾盾科技有限公司 | 一种无人机窄带遥控数据传输控制***及方法 |
CN112714127A (zh) * | 2020-12-29 | 2021-04-27 | 成都卫士通信息产业股份有限公司 | 数据加密方法、***及电子设备和存储介质 |
CN115037355A (zh) * | 2022-06-08 | 2022-09-09 | 中山大学 | 一种用于北斗三号rdss链路包的误码判断方法及*** |
CN115190534A (zh) * | 2022-09-13 | 2022-10-14 | 北京科技大学 | 基于聚合帧的移动通信***plc传输增强方法及*** |
CN115277286A (zh) * | 2022-06-10 | 2022-11-01 | 智己汽车科技有限公司 | 一种can总线通信方法 |
CN117279041A (zh) * | 2023-11-20 | 2023-12-22 | 武汉星纪魅族科技有限公司 | 数据发送、数据接收方法、设备、介质及程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101036348A (zh) * | 2004-07-22 | 2007-09-12 | 诺基亚公司 | 用于改善共享资源网络中功率效率的***和方法 |
US7489688B2 (en) * | 2003-12-23 | 2009-02-10 | Agere Systems Inc. | Frame aggregation |
CN101796779A (zh) * | 2007-09-04 | 2010-08-04 | 思科技术公司 | 聚合数据帧的生成 |
-
2011
- 2011-11-23 CN CN201110376742.0A patent/CN102447530B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7489688B2 (en) * | 2003-12-23 | 2009-02-10 | Agere Systems Inc. | Frame aggregation |
CN101036348A (zh) * | 2004-07-22 | 2007-09-12 | 诺基亚公司 | 用于改善共享资源网络中功率效率的***和方法 |
CN101796779A (zh) * | 2007-09-04 | 2010-08-04 | 思科技术公司 | 聚合数据帧的生成 |
Non-Patent Citations (2)
Title |
---|
SELVAM T等: "A frame aggregation scheduler for IEEE 802.11n", 《COMMUNICATIONS (NCC), 2010 NATIONAL CONFERENCE ON》 * |
YOUNGSOO KIM等: "Throughput enhancement of IEEE 802.11 WLAN via frame aggregation", 《VEHICULAR TECHNOLOGY CONFERENCE, 2004. VTC2004-FALL. 2004 IEEE 60TH》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104168216A (zh) * | 2013-05-15 | 2014-11-26 | Ls产电株式会社 | 铁路上用于处理atc点式信息的装置及方法 |
US9821825B2 (en) | 2013-05-15 | 2017-11-21 | Lsis Co., Ltd. | Apparatus and method for processing ATC intermittent information in railway |
CN104168216B (zh) * | 2013-05-15 | 2018-01-30 | Ls产电株式会社 | 铁路上用于处理atc点式信息的装置及方法 |
CN109672626A (zh) * | 2019-01-09 | 2019-04-23 | 中南大学 | 一种基于排队延迟利用的服务聚合方法 |
CN110351281A (zh) * | 2019-07-15 | 2019-10-18 | 珠海格力电器股份有限公司 | 一种通用数据帧解析方法、装置及设备 |
CN112714127A (zh) * | 2020-12-29 | 2021-04-27 | 成都卫士通信息产业股份有限公司 | 数据加密方法、***及电子设备和存储介质 |
CN112506175A (zh) * | 2021-02-04 | 2021-03-16 | 四川腾盾科技有限公司 | 一种无人机窄带遥控数据传输控制***及方法 |
CN115037355A (zh) * | 2022-06-08 | 2022-09-09 | 中山大学 | 一种用于北斗三号rdss链路包的误码判断方法及*** |
CN115277286A (zh) * | 2022-06-10 | 2022-11-01 | 智己汽车科技有限公司 | 一种can总线通信方法 |
CN115277286B (zh) * | 2022-06-10 | 2023-12-12 | 智己汽车科技有限公司 | 一种can总线通信方法 |
CN115190534A (zh) * | 2022-09-13 | 2022-10-14 | 北京科技大学 | 基于聚合帧的移动通信***plc传输增强方法及*** |
CN115190534B (zh) * | 2022-09-13 | 2022-12-06 | 北京科技大学 | 基于聚合帧的移动通信***plc传输增强方法及*** |
CN117279041A (zh) * | 2023-11-20 | 2023-12-22 | 武汉星纪魅族科技有限公司 | 数据发送、数据接收方法、设备、介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN102447530B (zh) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102447530B (zh) | 具有容错功能的数据帧聚合方法 | |
Akyildiz et al. | TCP-Peach+: Enhancement of TCP-Peach for satellite IP networks | |
CN102170332B (zh) | 基于喷泉码和网络编码的机会路由协议数据分发方法 | |
CN101141406B (zh) | 分布式流量控制方法、***及装置 | |
CN102740403B (zh) | 一种在通信网络的终端中用于接入的方法及装置 | |
CN101286945A (zh) | 数据分片处理方法及装置 | |
CN104717259B (zh) | 分布式中转服务器网络辅助的多路径数据传输***与方法 | |
CN107547436A (zh) | 基于网络编码的传输控制协议的编译码方法 | |
CN104967498B (zh) | 一种基于历史的卫星网络数据包压缩传输方法 | |
CN104486052A (zh) | 一种高丢包率下基于d2d簇的多播重传方法及装置 | |
CN103391249B (zh) | 一种is-is网络中的邻居关系建立方法和设备 | |
CN103259865A (zh) | 一种基于网络编码的自适应dns区文件传输方法和*** | |
CN113079074A (zh) | 一种基于can总线的协议栈通信方法、装置和存储介质 | |
CN102546096B (zh) | 一种基于不等错误保护的实时多播自适应优化方法 | |
CN114095418A (zh) | 一种无线光纤混合网络场景下工业物联网数据可靠传输方法 | |
CN105871512A (zh) | 一种数据传输方法及装置 | |
CN106954242B (zh) | 一种基于网络编码的卫星分布式动态多径路由方法 | |
CN105391518B (zh) | 一种面向深空网络的文件传输方法 | |
JP2020519100A (ja) | フレックスイーサネットプロトコルにおいてトラヒックを伝送する方法、装置及びシステム | |
CN104704764A (zh) | 一种预填充重传队列 | |
CN112346329A (zh) | 一种rs422双总线***冗余管理方法 | |
CN101807970B (zh) | 一种具备自适应纠错能力的分组传输方法 | |
CN113852412B (zh) | 适用于低轨星座承载网星间标签路由的时间片扩散方法 | |
CN107210980A (zh) | 快速自适应模式转换数字消除器 | |
Rivera et al. | Performance dynamic coding RLNC LoRa on smart cities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |