【摘要】 本发明涉及通过链路层报文合并提高移动自组织网络通信容量的方法,属于计算机通信领域。本方法首先在发送端对新产生的网络层报文依据下一跳地址添加在发送缓冲区的不同的缓冲队列中,并依据网络层报文的长度将其与原队尾报文进行合并处理或将其作为一个对立的报文进行存储;在接收端对接收到的链路层报文提取时,将链路层数据长度和网络层报文的长度进行比较进行判断,并通过循环处理完成各网络层报文的提取。本发明的方法只需对现有的协议栈做极小的修改,就能显著提移动自组织网络中高繁忙状况下的通信容量,算法简单,计算复杂度小,易于实现。 【专利类型】发明授权 【申请人】清华大学 【申请人类型】学校 【申请人地址】100084 北京市海淀区清华园 【申请人地区】中国 【申请人城市】北京市 【申请人区县】海淀区 【申请号】CN200810102883.1 【申请日】2008-03-28 【申请年份】2008 【公开公告号】CN101252534B 【公开公告日】2010-06-02 【公开公告年份】2010 【授权公告号】CN101252534B 【授权公告日】2010-06-02 【授权公告年份】2010.0 【IPC分类号】H04L12/56; H04L29/06; H04W28/06 【发明人】戴琼海; 魏宇平; 肖红江 【主权项内容】一种通过链路层报文合并提高移动自组织网络通信容量的方法,其特征在于,该方法包括发送端的发送缓冲区存储及报文合并、报文的发送、接收端的对合并报文的处理三部分;所述的发送缓冲区存储及报文合并,包括以下步骤:11)发送缓冲区设置存储进入该缓冲区中的报文发送顺序标号;在缓冲区动态创建对报文进行存储的多个缓冲队列;12)当网络层将一个新报文传递给发送缓冲区时,该缓冲区获取报文的下一跳地址和报文长度信息,该长度信息由报文数据、网络层及以上各层的首部的长度组成;13)判断该新报文的下一跳地址在缓冲区中是否已经存在相应的缓冲队列,若存在则转到步骤14)否则转向步骤17);14)从队列的队尾处报文长度标识中取得队列中队尾报文的长度信息;15)若该新报文的长度与队尾报文的长度之和小于或等于链路层的数据长度的最大长度限制,则转到步骤16)否则转到步骤18);16)将该新报文的数据连同网络层及以上各层的首部一起作为数据加入当前队尾报文的尾部,使原队尾报文与到达的新报文合并为一个报文,同时将队列的队尾报文长度标识设为合并后报文长度标识;转到步骤19);17)为该新报文的下一跳地址信息建立新缓冲队列,并将该新报文及其长度信息存储在该新缓冲队列中;18)设置新报文的发送顺序标号,并更新发送顺序标号的值,将新报文作为一个独立的报文加入新缓冲队列尾部,将新缓冲队列的队尾报文长度标识改为该新报文的长度标识;19)完成对新报文的存储;所述报文的发送,包括以下步骤:21)当缓冲区收到链路层发送报文通知后,缓冲区从不同的缓冲队列中取出各队列队首报文的发送顺序标号;22)找出各队列队首报文发送顺序标号中的最小值;23)将该最小值对应的报文传输给链路层发送;24)若该报文所属的队列中仍有报文未发送则将该队列的队首处报文发送顺序标号进行更新;否则该报文所属的队列中没有报文待发送则将该队列所占用的资源进行释放,删除该队列;所述的接收端的对合并报文的处理,包括以下步骤:31)当接收端收到一个链路层报文后,获取该报文在链路层的数据长度,并从该在报文中提取该报文中的网络层报文的长度;32)若链路层报文的数据的长度和获取的网络层报文长度一致,则将整个链路层报文的数据作为网络层报文传递给接收端的网络层处理;33)若链路层报文的数据的长度大于获取的网络层报文长度,则按该网络层报文的长度从链路层数据字段中取出网络层报文,将其交给接收端网络层处理,并在当前的链路层数据长度中减去网络层报文的长度;34)获取下一个网络层报文的长度信息,若该长度信息与链路层当前数据长度一致,则结束本链路层报文的处理,否则转到33)进行下一网络层报文的处理。。 【当前权利人】清华大学 【当前专利权人地址】北京市海淀区清华大学 【专利权人类型】公立 【统一社会信用代码】12100000400000624D 【引证次数】2.0 【被引证次数】4 【自引次数】1.0 【他引次数】1.0 【被他引次数】4.0 【家族引证次数】2.0 【家族被引证次数】32