CN101252534A - 通过链路层报文合并提高移动自组织网络通信容量的方法 - Google Patents
通过链路层报文合并提高移动自组织网络通信容量的方法 Download PDFInfo
- Publication number
- CN101252534A CN101252534A CNA2008101028831A CN200810102883A CN101252534A CN 101252534 A CN101252534 A CN 101252534A CN A2008101028831 A CNA2008101028831 A CN A2008101028831A CN 200810102883 A CN200810102883 A CN 200810102883A CN 101252534 A CN101252534 A CN 101252534A
- Authority
- CN
- China
- Prior art keywords
- message
- length
- queue
- link layer
- network layer
- 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
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004891 communication Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 19
- 230000003139 buffering effect Effects 0.000 claims description 42
- 230000005540 biological transmission Effects 0.000 claims description 41
- 230000015572 biosynthetic process Effects 0.000 claims description 33
- 239000000284 extract Substances 0.000 claims description 5
- 230000004048 modification Effects 0.000 abstract description 4
- 238000012986 modification Methods 0.000 abstract description 4
- 230000008901 benefit Effects 0.000 abstract description 2
- 125000004122 cyclic group Chemical group 0.000 abstract 1
- 238000000605 extraction Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 208000037656 Respiratory Sounds Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 206010037833 rales Diseases 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明涉及通过链路层报文合并提高移动自组织网络通信容量的方法,属于计算机通信领域。本方法首先在发送端对新产生的网络层报文依据下一跳地址添加在发送缓冲区的不同的缓冲队列中,并依据网络层报文的长度将其与原队尾报文进行合并处理或将其作为一个对立的报文进行存储;在接收端对接收到的链路层报文提取时,将链路层数据长度和网络层报文的长度进行比较进行判断,并通过循环处理完成各网络层报文的提取。本发明的方法只需对现有的协议栈做极小的修改,就能显著提高移动自组织网络中高繁忙状况下的通信容量,算法简单,计算复杂度小,易于实现。
Description
技术领域
本发明属于计算机通信领域,特别涉及基于异步媒体访问控制协议的移动自组织网络中的通信容量问题。
背景技术
移动自组织网络(Mobile Ad hoc Network,缩写为MANET),是一种利用无线节点之间多跳实现大范围通信的无线网络,具有独立于基础设施、自组织、多跳路由等特点,成为一种新颖的无线组网方式。
移动自组织网络由具有对报文存储转发的功能的节点构成:这类似于传统的有线分组网络中核心节点入路由器、交换机等设备所具有的功能,其中对报文的存储转发涉及到网络层和链路层之间的发送缓冲区管理,发送缓冲区管理具有的功能为:1)存储来自网络层的报文;2)当链路层通知发送下一个报文时将一个存储的报文交给链路层;一般的发送缓冲区还应具有先进先出的特征。由于无线网络接口的特殊性,使移动自组织网络节点与有线分组网络中核心节点存在一定的差别,这主要表现在:
1)有线分组网络中的核心节点是为了完成节点之间分组的传输而设计的,协议栈通常只涉及网络层及其以下的部分;网络接口通常连接高速链路,输入输出的信息量较大;
2)移动自组织网络中的节点通常是为了实现某种通用的功能而并非只为转发分组而设计,具有相对丰富的应用层模块,网络协议栈也应涉及到应用层;网络接口使用无线网络的接口,传输速率通常较低,节点有充足的运算能力对转发的报文进行相对复杂的处理。
目前部署的移动自组织网络一般采用载波侦听媒体访问/冲突共享(CSMA/CA)等异步媒体访问控制协议作为底层的实现方法,例如将IEEE802.11系列无线局域网标准中定义的物理层和媒体访问控制协议作为底层的实现。
目前数据网络通信的体系结构一般遵循分层设计的原则,从上到下包括应用层、传输层、网络层、数据链路层及物理层;数据的传递会在应用层、网络层、数据链路层等模块被封装成不同层的报文,下层对上一层报文的封装通常将上一层的报文作为数据(一般称为服务数据单元),添加本层的首部完成对报文的封装,链路层还需要添加用于校验数据的帧校验和(FCS),在目前的技术方案中,网络层首部一般指互联网协议(IP)的首部,链路层首部一般指媒体访问控制(MAC)首部。
当前IEEE802.11系列无线局域网标准中异步媒体访问控制协议使用的无线通信技术存在一个较为突出的问题就是对于每个独立的链路层报文,在物理层的用于同步的导言和物理层首部等的开销过大,当应用层报文的长度较小时,可用的通信容量会大量用于导言和物理层首部等的开销,影响了网络的实际通信容量。以IEEE802.11b标准中规定的参数为例,当使用的数据传输速率为11Mbps时,每个数据报文中导言部分的开销为144微秒,物理层首部的开销为48微秒,链路层首部和校验和的开销为34字节,因此一个链路层服务数据单元长度为L字节的报文所使用的传播时延为[192+8*(34+L)/11]微秒,当L为200字节时,整个报文的传播时延约为362微秒,其中用于数据(包含网络层信息的数据)传输的时间约为146微秒,这种情况下的有效信道利用率约为40%,若再进一步考虑发送每个报文所需要的分布式协调功能(DCF)帧间间隔(DIFS)、退避所花费的时间、反馈的应答报文(ACK)花费的时间和短帧间间隔(SIFS)等开销,信道的实际利用率远低于40%这一数值。
一些相关的研究表明,在其他条件不改变的情况下,增加报文长度能够有效地增加实际信道的利用率,进而增加网络的可用容量,这一结论对无线局域网等链路层开销较大的网络具有十分重要的意义,为提高这些网络的通信容量指出了一种研究的方向。但将增加报文长度的工作交给应用层,让应用层在设计上就考虑产生较长的报文是不恰当的,在许多应用上,如telnet等远程登陆的网络服务,累积一定的数据组成较长的报文进行发送将产生一定的时延,而这对于telnet等交互式的网络服务是无法容忍的。
发明内容
本发明的目的是为克服已有技术的不足之处,提出了一种通过链路层报文合并提高移动自组织网络通信容量的方法,将多个网络层报文封装到一个链路层报文中,依据报文的下一跳地址对报文进行依下一跳地址区别的分类处理,进而完成具有相同下一跳地址的报文合并的相关工作,从而达到减小MAC层和物理层的开销在整个报文中所占的比例,增大网络实际可用通信容量。
本发明提出的通过链路层报文合并提高移动自组织网络通信容量的方法,其特征在于,该方法包括发送端的发送缓冲区存储及报文合并、报文的发送、接收端的对合并报文的处理三部分;
所述的发送缓冲区存储及报文合并,包括以下步骤:
11)发送缓冲区设置存储进入该缓冲区中的报文发送顺序标号;在缓冲区动态创建对报文进行存储的多个缓冲队列;
12)当网络层将一个新报文传递给发送缓冲区时,该缓冲区获取报文的下一跳地址和报文长度信息,该长度信息由报文数据、网络层及以上各层的首部的长度组成;
13)判断该新报文的下一跳地址在缓冲区中是否已经存在相应的缓冲队列,若存在则转到步骤14)否则转向步骤17);
14)从队列的队尾处报文长度标识中取得队列中队尾报文的长度信息;
15)若该新报文的长度与队尾报文的长度之和小于或等于链路层的数据长度的最大长度限制,则转到步骤16)否则转到步骤18);
16)将该新报文的数据连同网络层及以上各层的首部一起作为数据加入当前队尾报文的尾部,使原队尾报文与到达的新报文合并为一个报文,同时将队列的队尾报文长度标识设为合并后报文长度标识;转到步骤19)
17)为该新报文的下一跳地址信息建立新缓冲队列,并将该新报文及其长度信息存储在该新缓冲队列中;
18)设置新报文的发送顺序标号,并更新发送顺序标号的值,将新报文作为一个独立的报文加入新缓冲队列尾部,将新缓冲队列的队尾报文长度标识改为该新报文的长度标识;
19)完成对新到达报文的存储;
所述报文的发送,包括以下步骤:
21)当缓冲区收到链路层发送报文通知后,缓冲区从不同的缓冲队列中取出各队列队首报文的发送顺序标号;
22)找出各队列队首报文发送标号中的最小值;
23)将该最小值对应的报文传输给链路层发送;
24)若该报文所属的队列中仍有报文未发送则将该队列的队首处报文发送序号进行更新;否则该报文所属的队列中没有报文待发送则将该队列所占用的资源进行释放,删除该队列;
所述的接收端的对合并报文的处理,包括以下步骤:
31)当接收端收到一个链路层报文后,获取该报文在链路层的数据长度,并从该在报文中提取该报文中的网络层报文的长度;
32)若链路层报文的数据的长度和获取的网络层报文长度一致,则将整个链路层报文的数据作为网络层报文传递给接收端的网络层处理;
33)若链路层报文的数据的长度大于获取的网络层报文长度,则按该网络层报文的长度从链路层数据字段中取出网络层报文,将其交给接收端网络层处理,并在当前的链路层数据长度中减去网络层报文的长度;
34)获取下一个网络层报文的长度信息,若该长度信息与链路层当前数据长度一致,则结束本链路层报文的处理,否则转到33)进行下一网络层报文的处理。
上述的缓冲队列具有以下特征:
(1)每个缓冲队列设置有一个识别存储本队列中存储数据报文的下一跳地址的标识字段;
(2)每个缓冲队列设置有队尾处的报文的长度标识;
(3)每个缓冲队列设置有队首处报文的发送顺序标号。
本发明的原理
本发明方法是在发送缓冲区中对具有相同下一跳地址报文的合并。这是利用具有相同下一跳地址的网络层报文在封装成链路层报文时会使用相同的信息填充链路层报文的首部,在发送缓冲区中将具有相同下一跳的报文组织在一起,发送时将满足下一跳地址相同这一条件的报文组合成一个报文交给链路层发送,从而达到节省链路层开销的效果,进而提高了网络的通信容量。
相对于由应用层处理通过积累数据的方法产生长报文这种端到端的处理方法,在移动自组织网络中将中继节点处转发报文通过发明的方法进行合并构造长报文成为增加网络通信容量的新方向,这种方法一方面能够产生较长的链路层报文增大网络的通信容量,另一方面在链路状况不好存在报文丢失的情况下,采用分组合并丢失的长报文将数据的丢失分散到不同的信源数据流中,对应用层来说这与发送小链路层报文时的情况是一致的,不会造成同一个信源数据流中数据因链路状况不好而产生不平衡的大量丢失。
本发明的优点
1、只需对现有的协议栈做极小的修改,就能显著提高繁忙状况下的通信容量;
2、算法简单,计算复杂度小,易于实现;
3、尽可能保持同一数据流中不同报文的先后顺序,不会因为缓冲区管理造成同一数据流报文间的乱序;
4、在其他条件相同的情况下,采用这一方案不会使分组的平均时延增加。
附图说明
图1是本发明中发送端的发送缓冲区存储及报文合并的流程图。
图2是本发明中的发送缓冲区的结构示意图。
图3是本发明中所产生的链路层报文的封装结构。
图4是本发明中接收端对合并报文的处理的流程图。
具体实施方式
本发明提出的通过链路层报文合并提高移动自组织网络通信容量的方法结合附图及实施例详细说明如下:
本发明方法分为发送端的发送缓冲区存储及报文合并、报文的发送、接收端的对合并报文的处理三部分;分别说明如下:
所述的发送缓冲区存储及报文合并,包括以下步骤:
11)发送缓冲区设置有全局的整数类型变量curr_num,作为存储进入该缓冲区中的报文发送顺序标号;在缓冲区动态创建对报文进行存储的多个缓冲队列,每个缓冲队列具有以下特征:
(1)每个缓冲队列设置有一个识别存储本队列中存储数据报文的下一跳地址的标识字段;
(2)每个缓冲队列设置有队尾处的报文的长度标识,用lengt0表示;
(3)每个缓冲队列设置有队首处报文的发送顺序标号;
12)当网络层将一个新报文传递给发送缓冲区时,该缓冲区获取报文的下一跳地址addr和报文长度信息length(由报文数据、网络层及以上各层的首部的长度组成);
13)判断该新报文的下一跳地址addr在缓冲区中是否已经存在相应的缓冲队列,若存在则转到步骤14)否则转向步骤17);
14)从队列的队尾处报文长度标识中取得队列中队尾报文的长度信息length0;
15)若该新报文的长度length与队尾报文的长度length0之和小于或等于链路层的数据长度的最大长度限制,则转到步骤16)否则转到步骤18);
16)将该新报文的数据连同网络层及以上各层的首部一起作为数据加入当前队尾报文的尾部,使原队尾报文与到达的新报文合并为一个报文,该报文的长度为length+length0;同时将队列的队尾报文长度标识设为length+length0;转到步骤19)
17)为该新报文的下一跳地址信息建立新缓冲队列,并将该新报文及其长度信息存储在该新缓冲队列中;
18)将新报文的发送顺序标号设为curr_num,并更新curr_num的值,令curr_num=curr_num+1,将新报文作为一个独立的报文加入新缓冲队列尾部(建立新缓冲队列时应初始化队列下一跳地址标识和当前队尾处报文的长度标识,将新缓冲队列的下一跳地址标识设为addr,将当前队尾处报文长度标识设为新报文的长度标识length);
19)完成对新到达报文的存储;
本发明中的发送缓冲区的结构如图2所示,发送缓冲区根据需要动态创建多个缓冲队列,各缓冲队列使用先进先出的规则存储报文;一个缓冲队列内存储的报文都具有相同的下一跳地址,各缓冲队列间依下一跳地址的不同进行区分;缓冲队列中所存储的报文是已经按照缓冲管理和报文合并算法合并的报文;在逻辑上各缓冲队列之间是并行关系。
本发明中所产生的链路层报文的封装结构如图3所示,一个经过合并的链路层报文由MAC层首部、MAC层服务数据单元、帧校验和三部分组成,其中MAC层服务数据单元可能包含多个网络层报文;各网络层报文首尾相接共同构成MAC层服务数据单元,每个网络层报文的最开始位置为网络层首部,其中包含本网络层报文的长度信息,可以根据这一信息确定网络层报文在链路层报文中的起始位置和终止位置,并找出下一个网络层首部在链路层服务数据单元的位置。
所述报文的发送,包括以下步骤:
21)当缓冲区收到链路层发送报文通知后,缓冲区从不同的缓冲队列中取出各队列队首报文的发送顺序标号;
22)找出各队列队首报文发送标号中的最小值;
23)将该最小值对应的报文传输给链路层发送;
24)若该报文所属的队列中仍有报文未发送则将该队列的队首处报文发送序号进行更新;否则该报文所属的队列中没有报文待发送则将该队列所占用的资源进行释放,删除该队列;
所述的接收端的对合并报文的处理,如图4所示,包括以下步骤:
31)当接收端收到一个链路层报文后,获取该报文在链路层的数据长度,记为L,并从该在报文中提取该报文中的网络层报文的长度,记为L1;
32)若链路层报文的数据的长度和获取的网络层报文长度一致,即L=L1,则将整个链路层报文的数据作为网络层报文传递给接收端的网络层处理;
33)若链路层报文的数据的长度和获取的网络层报文长度不一致,即L>L1(说明该链路层报文中包含多个网络层报文),则按该网络层报文的长度从链路层数据字段中取出网络层报文,将其交给接收端网络层处理,并在当前的链路层数据长度中减去网络层报文的长度,即令L=L-L1;
34)获取下一个网络层报文的长度信息,令L1等于该长度,取出网络层报文交给网络层,若该长度信息与链路层当前数据长度一致,即L=L1则结束本链路层报文的处理,否则转到3)进行下一网络层报文的处理。
本发明所述的产生合并报文的方法由发送端对网络层报文的缓冲管理和合并处理以及接收端对可能被合并的链路层报文进行分解处理两部分组成,在具体实施中可以对现有的移动自组织网络各节点中的网络协议执行部分进行一定的修改,来实现报文的合并与重组。
在目前的技术水平下,无线自组织网络的无线接口的速率相对较低,仅通过节点本身的处理器就能够及时完成对发送和接收数据报文的处理,因此对各层报文的存储转发一般使用计算机软件完成,只有极底层如物理层和链路层才涉及到使用专用硬件实现相应的功能。本发明所述的对通信协议的改进一般以计算机软件的形式实现,在今后技术水平成熟后也可以通过设计硬件完成相应的功能。
本发明所述的发送端算法的实现在网络协议栈中位于网络层与链路层之间,完成对网络层报文的存储,并在链路层能够发送报文时将所存储报文中的特定报文交给链路层发送;通过所存储的网络层报文已经能够确切的知道下一跳地址,即下一跳的目的链路层地址。除了具有一般的存储功能外,本发明所述的缓冲区管理算法还应当具有多个依据节点下一跳地址进行区别的缓冲队列,能够根据到达的网络层报文的下一跳地址决定使用哪个缓冲队列来存储新到达的网络层报文。缓冲队列在实现上应当能够较方便的获取队尾报文,并能够完成新到达报文与原队尾报文合并成新队尾报文的功能;令各网络层报文连同其网络层及其以上各层的首部一起,作为一个独立的数据段,将前后两个网络层报文形成的两个数据段首尾相接,形成一个较长的数据段,并将这一数据端当作一个网络层报文,这一过程就完成了两个报文的合并。在本发明所述的缓冲区管理算法中,对新到达的报文是否进行合并应当以前后两个报文的长度为依据,若合并后整个报文的长度(含网络层及以上各层首部)大于链路层服务数据单元的最大值,则不应进行合并,而将新到达的网络层报文暂时作为独立报文插入缓冲队列的尾部;否则,合并后整个报文的长度(含网络层及以上各层首部)小于或等于链路层服务数据单元的最大值,则应当将新到达报文与原队尾报文进行合并,并将新生成的长报文存储为队尾报文。通过多次将新到达报文与原队尾报文的合并,能够实现将多个网络层报文进行合并的功能。
当一个长度为220字节(含网络层首部)下一跳地址为192.168.10.7的网络层报文传递到发送缓冲区后,当前缓冲区的curr_num=23,发送缓冲区中不存在以192.168.10.7为下一跳地址标识的缓冲队列,则建立新的发送缓冲区队列来存储这一报文;新建立的缓冲队列的下一跳地址标识设为192.168.10.7,队尾报文长度设为220,该报文的发送序号设为curr_num的当前值23,队列的队首报文发送信号也设为23,更新curr_num的值,令curr_num=curr_num+1,这样便完成了该报文的存储和相应参数的设置。
当接下来一个长度为220字节(含网络层首部)下一跳地址为192.168.10.7的网络层报文传递到发送缓冲区后,当前缓冲区的curr_num=27,发送缓冲区中已经存在以192.168.10.7为下一跳地址标识的缓冲队列,使用该缓冲队列对新到达的报文进行存储;该缓冲队列的队尾报文长度为220字节,假设当前链路层的最大传输单元的长度为2500字节,经判断可以进行报文的合并(220+220<2500),将新到达的报文与队列中的队尾报文首位相接,组成440字节的报文,用这一合并的报文替代原队尾报文,合并报文的发送序号与原队尾处报文相同,缓冲队列的队尾报文长度设为合并报文的长度440字节。
当接下来一个长度为2200字节含网络层首部)下一跳地址为192.168.10.7的网络层报文传递到发送缓冲区后,当前缓冲区的curr_num=29,发送缓冲区中已经存在以192.168.10.7为下一跳地址标识的缓冲队列,使用该缓冲队列对新到达的报文进行存储;该缓冲队列的队尾报文长度为220字节,假设当前链路层的最大传输单元的长度为2500字节,经判断无法进行报文的合并(440+2200>2500),将新到达的报文作为独立的报文存入缓冲队列,设置其发送序号为curr_num的当前值29,更新队列的队尾报文长度信息为新进入队列的报文的长度2200,并更新curr_num的值令curr_num=curr_num+1。
当链路层通知可以发送下一个链路层报文,发送缓冲区中有3个缓冲队列,各队列的队首报文发送序号分别是23、24、25,取出发送序号23对应的报文,将其传递给链路层发送,该报文对应的缓冲队列中仍有一个报文待发送,其发送序号为29,更新该缓冲队列的队首报文发送序号,将其设置为29。
当链路层通知可以发送下一个链路层报文,发送缓冲区中有4个缓冲队列,各队列的队首报文发送序号分别是29、30、32、35,取出发送序号29对应的报文,将其传递给链路层发送,该报文对应的缓冲队列中没有后续报文待发送,释放该缓冲队列占用的资源,将该缓冲队列删除。
当接收端收到一个链路层报文后,获得其链路层服务数据单元的长度L为440字节,从链路层服务数据单元最开始的位置或的其包含的第一个网络层报文的首部,从中获得第一个网络层报文的长度L1为220字节,将链路层服务数据单元的前220字节作为其包含的第一个网络层报文向网络层传递;令L=L-L1=440-220=220,从原链路层服务数据单元的第221字节开始,获取其网络层报文的首部,从中获得第二个网络层报文的长度L1为220字节,将原链路层服务数据单元的第221字节开始的220字节作为其包含的第二个网络层报文想网络层传递;L=L1,该链路层服务数据单元所包含的网络层报文已经全部提取,对该链路层服务数据单元的处理结束。
当接收端收到一个链路层报文后,获得其链路层服务数据单元的长度L为2200字节,从链路层服务数据单元最开始的位置或的其包含的第一个网络层报文的首部,从中获得第一个网络层报文的长度L1为2200字节,将链路层服务数据单元的前2200字节作为其包含的第一个网络层报文向网络层传递;L=L1,该链路层服务数据单元所包含的网络层报文已经全部提取,对该链路层服务数据单元的处理结束。
本发明所述的发送缓冲区管理方法,其中依据下一跳地址对网络层报文进行区别处理各个缓冲队列,应当在系统运行时动态的创建,即当网络层报文到达时,获取其下一跳地址并在当前各缓冲队列中进行匹配,若当前没有缓冲队列对应该下一跳地址,则为该下一跳地址创建缓冲队列并用该队列存储新到达的网络层报文。
本发明所述的发送缓冲区管理方法,能够对每个独立存储的网络层报文在到来达时依据报文到达的顺序进行标号,当链路层通知可发送报文时,从各缓冲队列中的队首报文中取出标号最小的报文交给链路层,这样即使在报文缓存的过程中采用了报文合并的方法,也不会改变同一数据流不通报文间的先后顺序。
本发明所述的接收端对合并报文的分解算法的实现,应当位于网络协议栈中链路层与网络层之间,或者在网络层内部实现。对报文的分解以收到报文的链路层服务数据单元的长度和网络层首部指示的网络层报文的长度为依据进行,若两者不相等,则认为当前报文发生了网络层报文的合并,按网络层报文首部指示的网络层报文长度将网络层报文从链路层服务数据单元中提取出来,并找到下一个网络层报文首部的位置,进而找到合并报文中的下一个网络层报文的长度;将这一过程进行循环,按前面所述的接收端对报文的处理算法进行(见图3),即可把所有的网络层报文都提取出来。
最后所应说明的是:以上实施方式仅以说明而非限制本发明的技术方案,尽管参照上述实施方式对本发明进行了详细说明,本领域的技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
Claims (2)
1. 一种通过链路层报文合并提高移动自组织网络通信容量的方法,其特征在于,该方法包括发送端的发送缓冲区存储及报文合并、报文的发送、接收端的对合并报文的处理三部分;
所述的发送缓冲区存储及报文合并,包括以下步骤:
11)发送缓冲区设置存储进入该缓冲区中的报文发送顺序标号;在缓冲区动态创建对报文进行存储的多个缓冲队列;
12)当网络层将一个新报文传递给发送缓冲区时,该缓冲区获取报文的下一跳地址和报文长度信息,该长度信息由报文数据、网络层及以上各层的首部的长度组成;
13)判断该新报文的下一跳地址在缓冲区中是否已经存在相应的缓冲队列,若存在则转到步骤14)否则转向步骤17);
14)从队列的队尾处报文长度标识中取得队列中队尾报文的长度信息;
15)若该新报文的长度与队尾报文的长度之和小于或等于链路层的数据长度的最大长度限制,则转到步骤16)否则转到步骤18);
16)将该新报文的数据连同网络层及以上各层的首部一起作为数据加入当前队尾报文的尾部,使原队尾报文与到达的新报文合并为一个报文,同时将队列的队尾报文长度标识设为合并后报文长度标识;转到步骤19)
17)为该新报文的下一跳地址信息建立新缓冲队列,并将该新报文及其长度信息存储在该新缓冲队列中;
18)设置新报文的发送顺序标号,并更新发送顺序标号的值,将新报文作为一个独立的报文加入新缓冲队列尾部,将新缓冲队列的队尾报文长度标识改为该新报文的长度标识;
19)完成对新到达报文的存储;
所述报文的发送,包括以下步骤:
21)当缓冲区收到链路层发送报文通知后,缓冲区从不同的缓冲队列中取出各队列队首报文的发送顺序标号;
22)找出各队列队首报文发送标号中的最小值;
23)将该最小值对应的报文传输给链路层发送;
24)若该报文所属的队列中仍有报文未发送则将该队列的队首处报文发送序号进行更新;否则该报文所属的队列中没有报文待发送则将该队列所占用的资源进行释放,删除该队列;
所述的接收端的对合并报文的处理,包括以下步骤:
31)当接收端收到一个链路层报文后,获取该报文在链路层的数据长度,并从该在报文中提取该报文中的网络层报文的长度;
32)若链路层报文的数据的长度和获取的网络层报文长度一致,则将整个链路层报文的数据作为网络层报文传递给接收端的网络层处理;
33)若链路层报文的数据的长度大于获取的网络层报文长度,则按该网络层报文的长度从链路层数据字段中取出网络层报文,将其交给接收端网络层处理,并在当前的链路层数据长度中减去网络层报文的长度;
34)获取下一个网络层报文的长度信息,若该长度信息与链路层当前数据长度一致,则结束本链路层报文的处理,否则转到33)进行下一网络层报文的处理。
2. 如权利要求1所述的方法,其特征在于,所述的缓冲队列具有以下特征:
(1)每个缓冲队列设置有一个识别存储本队列中存储数据报文的下一跳地址的标识字段;
(2)每个缓冲队列设置有队尾处的报文的长度标识;
(3)每个缓冲队列设置有队首处报文的发送顺序标号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101028831A CN101252534B (zh) | 2008-03-28 | 2008-03-28 | 通过链路层报文合并提高移动自组织网络通信容量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101028831A CN101252534B (zh) | 2008-03-28 | 2008-03-28 | 通过链路层报文合并提高移动自组织网络通信容量的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101252534A true CN101252534A (zh) | 2008-08-27 |
CN101252534B CN101252534B (zh) | 2010-06-02 |
Family
ID=39955727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101028831A Expired - Fee Related CN101252534B (zh) | 2008-03-28 | 2008-03-28 | 通过链路层报文合并提高移动自组织网络通信容量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101252534B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006625A (zh) * | 2010-11-10 | 2011-04-06 | 清华大学 | 基于前向纠错的车载自组网可靠广播协议的系统及方法 |
CN102083009A (zh) * | 2009-11-27 | 2011-06-01 | 中国移动通信集团山东有限公司 | 数据信息发送方法及装置 |
CN103777579A (zh) * | 2012-10-19 | 2014-05-07 | 中广核工程有限公司 | 一种核电站tg和dcs通讯系统及方法 |
WO2014067409A1 (zh) * | 2012-10-30 | 2014-05-08 | 中兴通讯股份有限公司 | 一种队列调度方法、装置及系统 |
CN104243363A (zh) * | 2014-09-30 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种报文处理方法和装置 |
CN104486185A (zh) * | 2014-12-12 | 2015-04-01 | 中广核工程有限公司 | 一种核电厂控制系统通讯方法及系统 |
CN105162722A (zh) * | 2015-08-17 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种报文分类调度方法及装置 |
CN107483515A (zh) * | 2017-10-18 | 2017-12-15 | 张洋 | 报文传输方法及系统、报文解析方法及装置 |
CN107786464A (zh) * | 2017-09-22 | 2018-03-09 | 烽火通信科技股份有限公司 | 一种实现节点间通信的方法及装置 |
CN107948094A (zh) * | 2017-10-20 | 2018-04-20 | 西安电子科技大学 | 一种高速数据帧无冲突入队处理的装置及方法 |
CN109639555A (zh) * | 2018-12-29 | 2019-04-16 | Oppo广东移动通信有限公司 | 链路层报文生成方法、链路层报文生成装置及终端设备 |
CN112087389A (zh) * | 2019-06-14 | 2020-12-15 | 深圳市中兴微电子技术有限公司 | 一种报文匹配查表方法、系统、存储介质和终端 |
WO2021109821A1 (zh) * | 2019-12-03 | 2021-06-10 | 华为技术有限公司 | 网络结构、网络中网元之间的报文发送方法及接收方法 |
CN112996055A (zh) * | 2021-03-16 | 2021-06-18 | 中国电子科技集团公司第七研究所 | 一种面向无线自组织网数据同步的小数据报文合并方法 |
CN113542148A (zh) * | 2021-07-15 | 2021-10-22 | 恒安嘉新(北京)科技股份公司 | 一种报文聚合方法、装置、网络网卡及可读存储介质 |
CN114006958A (zh) * | 2020-11-30 | 2022-02-01 | 北京八分量信息科技有限公司 | 一种基于小世界网络的分层应用的方法 |
CN116094998A (zh) * | 2022-12-29 | 2023-05-09 | 天翼云科技有限公司 | 一种基于ovs的邻居表项的vxlan报文的转发方法及装置 |
CN117279041A (zh) * | 2023-11-20 | 2023-12-22 | 武汉星纪魅族科技有限公司 | 数据发送、数据接收方法、设备、介质及程序产品 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104901904A (zh) * | 2015-04-22 | 2015-09-09 | 上海昭赫信息技术有限公司 | 从pcie加速子卡到主机的数据传输方法及装置 |
CN106921665B (zh) * | 2017-03-06 | 2020-09-11 | 北京东土军悦科技有限公司 | 一种报文处理方法及网络设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100586107C (zh) * | 2007-09-17 | 2010-01-27 | 杭州华三通信技术有限公司 | 传输实时传输协议报文的方法和通讯设备 |
-
2008
- 2008-03-28 CN CN2008101028831A patent/CN101252534B/zh not_active Expired - Fee Related
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102083009A (zh) * | 2009-11-27 | 2011-06-01 | 中国移动通信集团山东有限公司 | 数据信息发送方法及装置 |
CN102006625B (zh) * | 2010-11-10 | 2013-07-17 | 清华大学 | 基于前向纠错的车载自组网可靠广播协议的系统及方法 |
CN102006625A (zh) * | 2010-11-10 | 2011-04-06 | 清华大学 | 基于前向纠错的车载自组网可靠广播协议的系统及方法 |
CN103777579A (zh) * | 2012-10-19 | 2014-05-07 | 中广核工程有限公司 | 一种核电站tg和dcs通讯系统及方法 |
CN103777579B (zh) * | 2012-10-19 | 2016-12-21 | 中广核工程有限公司 | 一种核电站tg和dcs通讯系统及方法 |
WO2014067409A1 (zh) * | 2012-10-30 | 2014-05-08 | 中兴通讯股份有限公司 | 一种队列调度方法、装置及系统 |
CN103795648A (zh) * | 2012-10-30 | 2014-05-14 | 中兴通讯股份有限公司 | 一种队列调度方法、装置及系统 |
US9544241B2 (en) | 2012-10-30 | 2017-01-10 | Sanechips Technology Co., Ltd. | Queue scheduling method, apparatus and system |
CN104243363B (zh) * | 2014-09-30 | 2017-08-11 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN104243363A (zh) * | 2014-09-30 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种报文处理方法和装置 |
CN104486185A (zh) * | 2014-12-12 | 2015-04-01 | 中广核工程有限公司 | 一种核电厂控制系统通讯方法及系统 |
CN105162722A (zh) * | 2015-08-17 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种报文分类调度方法及装置 |
CN105162722B (zh) * | 2015-08-17 | 2018-05-04 | 浪潮(北京)电子信息产业有限公司 | 一种报文分类调度方法及装置 |
CN107786464A (zh) * | 2017-09-22 | 2018-03-09 | 烽火通信科技股份有限公司 | 一种实现节点间通信的方法及装置 |
CN107786464B (zh) * | 2017-09-22 | 2020-04-21 | 烽火通信科技股份有限公司 | 一种实现节点间通信的方法及装置 |
CN107483515A (zh) * | 2017-10-18 | 2017-12-15 | 张洋 | 报文传输方法及系统、报文解析方法及装置 |
CN107948094A (zh) * | 2017-10-20 | 2018-04-20 | 西安电子科技大学 | 一种高速数据帧无冲突入队处理的装置及方法 |
CN107948094B (zh) * | 2017-10-20 | 2020-01-03 | 西安电子科技大学 | 一种高速数据帧无冲突入队处理的装置及方法 |
CN109639555A (zh) * | 2018-12-29 | 2019-04-16 | Oppo广东移动通信有限公司 | 链路层报文生成方法、链路层报文生成装置及终端设备 |
CN109639555B (zh) * | 2018-12-29 | 2021-03-02 | Oppo广东移动通信有限公司 | 链路层报文生成方法、链路层报文生成装置及终端设备 |
CN112087389A (zh) * | 2019-06-14 | 2020-12-15 | 深圳市中兴微电子技术有限公司 | 一种报文匹配查表方法、系统、存储介质和终端 |
WO2021109821A1 (zh) * | 2019-12-03 | 2021-06-10 | 华为技术有限公司 | 网络结构、网络中网元之间的报文发送方法及接收方法 |
CN114006958A (zh) * | 2020-11-30 | 2022-02-01 | 北京八分量信息科技有限公司 | 一种基于小世界网络的分层应用的方法 |
CN114006958B (zh) * | 2020-11-30 | 2024-01-30 | 北京八分量信息科技有限公司 | 一种基于小世界网络的分层应用的方法 |
CN112996055A (zh) * | 2021-03-16 | 2021-06-18 | 中国电子科技集团公司第七研究所 | 一种面向无线自组织网数据同步的小数据报文合并方法 |
CN112996055B (zh) * | 2021-03-16 | 2022-08-16 | 中国电子科技集团公司第七研究所 | 一种面向无线自组织网数据同步的小数据报文合并方法 |
CN113542148A (zh) * | 2021-07-15 | 2021-10-22 | 恒安嘉新(北京)科技股份公司 | 一种报文聚合方法、装置、网络网卡及可读存储介质 |
CN116094998A (zh) * | 2022-12-29 | 2023-05-09 | 天翼云科技有限公司 | 一种基于ovs的邻居表项的vxlan报文的转发方法及装置 |
CN117279041A (zh) * | 2023-11-20 | 2023-12-22 | 武汉星纪魅族科技有限公司 | 数据发送、数据接收方法、设备、介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN101252534B (zh) | 2010-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101252534B (zh) | 通过链路层报文合并提高移动自组织网络通信容量的方法 | |
TWI242946B (en) | Wireless packet communication apparatus and method | |
CN101827396B (zh) | 异构无线环境下多网协作传输的资源分配系统及方法 | |
CN100593313C (zh) | 用于无线网络中的动态聚集的方法和系统 | |
CN110475267A (zh) | 一种配置方法、数据传输方法和装置 | |
EP2183890B1 (en) | Aggregate data frame generation | |
CN104685920A (zh) | 传输数据的方法、装置和系统 | |
CN111316685A (zh) | 融合组网的方法和装置 | |
CN102769869A (zh) | 无线接入点的控制和配置报文快速转发系统 | |
CN101754423A (zh) | 一种基于ieee 802.15.4的工业无线通信方法 | |
CN104618959B (zh) | 一种实现航空自组网mac协议的方法及其系统 | |
CN101384020A (zh) | 一种无线中继系统及其数据传输方法 | |
CN105163354B (zh) | 一种利用成对流间网络编码机会的数据流时延保障策略 | |
CN107682434A (zh) | 一种水下传感器网络架构及其实现方法 | |
CN103108374A (zh) | 一种混合结构矿井应急救援无线网状网的节能路由算法 | |
CN101674220B (zh) | 基于转发历史的异步路由方法 | |
CN113055942B (zh) | 一种6tisch网络下数据聚合的方法 | |
CN106792970A (zh) | 一种车辆自组织网络路由选择方法 | |
CN108289051A (zh) | 在网状网络中进行时序排程的方法 | |
CN103037436A (zh) | 一种基于HWMP的网络编码感知无线Mesh路由协议 | |
CN103607777B (zh) | 窄脉冲超宽带网络基于业务优先级的随机信道接入方法 | |
CN103338479A (zh) | 一种短距离无线物联网的通信方法 | |
CN103581838B (zh) | 一种Ad Hoc网络信息共享方法 | |
CN108834174B (zh) | 基于拥塞控制的无线传感器网络分簇式路由协议跨层优化方法 | |
CN114599018A (zh) | 一种基于自动信道调度的蓝牙Mesh网络路由方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100602 |