Manet信息分发订购平台中短猝报文的传送方法

文档序号:7643678阅读:222来源:国知局
专利名称:Manet信息分发订购平台中短猝报文的传送方法
技术领域
本发明属于信息通信技术领域,具体涉及到用户在无线与有线混合的网络上透明传送消息。它与名录服务等其他服务一起为用户提供基于消息类型的同步异步结合、动态与静态共存的信息订购与分发服务。本发明主要侧重于移动自组织网络(MANETMobile Ad Hoc Networks)中的短猝报文的可靠传送,重点在于提高信息传送效率。

背景技术
随着人类进入信息时代,信息交互显得尤为重要。网络技术的不断发展给信息交互带来了便利。各种信息分发与订购平台应运而生,它们为信息的快速交互,给人们提供畅通的信息互通做出了重大的贡献,但是很多类型的平台只是单纯从应用角度出发,而没有考虑专用网络的传送效率。因而很多平台在MANET下效率不高,尤其是在MANETs中可靠传送短猝报文。主要原因是大多数信息分发与订购平台没有考虑应用层以下的数据传送效率,在MANET下传统的传送层协议效率低下。
MANET作为一种移动节点通过无线连接所构建的网络,无须通信基础设施的帮助,通信源端和目的端就可以利用多跳路由,通过其他节点的中继来进行通信。它的一些特性,如高误码率、路径不对称性、频繁路由失效等,都会对MANET的自组织传送层协议的性能产生重大影响。
目前,MANET的传送层协议基本上仍沿用传统有线网络的协议,以TCP和UDP为主要传送协议。
TCP面向连接、保证分组的可靠按需到达,具有流量控制和拥塞控制机制,实现复杂,开销较大。TCP通过增加拥塞窗口来不断地探测网络可用的带宽,拥塞控制算法依赖于分组的丢失和网络的拥塞程度,它一般使用隐式反馈机制,如超时重传和连续重复的ACK来检测分组丢失,然后通过减少拥塞窗口来避免拥塞,并且在超时后指数退避。在MANET中,一方面节点的移动、设备的故障以及链路的失效都会引起网络拓扑的变化并可能导致重路由,另一方面,无线信道传输误码率较高并且随时间动态变化,这些都会引起分组的突然丢失和额外的传送时延,而为传统固定网络设计的TCP协议是基于链路传输和链路准静态为假设前提的,它无法区分由网络拥塞、路由失效和链路故障等不同原因造成的分组丢失,而统一将分组丢失看成是网络拥塞的结果,从而启动拥塞控制机制,甚至进入慢启动状态。另外TCP提供面向连接的服务,建立、维护连接会增加网络开销,在无线信道质量比较差的情况下会造成短猝报文传送效率低、时延大。
与TCP不同,UDP是无连接协议,UDP传输数据前不需要建立连接,所以比较适合用于MAENT。但是UDP不能保证数据可靠按序到达目的节点,适合于能够容忍部分分组丢失并对时延有较高要求的业务,常用于传送突发零星报文。


发明内容
本发明的目的是根据MANET本身的网络特点,为了适应下层网络的变化,提出了一种适应于MANET信息分发订购平台的短猝报文传送优化方法,使得很多只能在有线网络下工作的应用能适应MANET。
本发明的技术方案如下 MANET信息分发订购平台中短猝报文传送方法,所述MANNET通信节点中的客户端采用透明的信息分发与订购接口与负责数据传送控制的服务端进行数据交互;并且,当源端发送一个报文后,目的端在收到该报文后向源端发送确认信息;如果源端在超时时间内没有收到目的端的确认信息,则重传该报文。
上述的MANET信息分发订购平台中短猝报文传送方法,当所述报文长度大于数传信道机的MTU(最大传输单元)时,所述报文按MTU大小进行分段后发送。
上述的MANET信息分发订购平台中短猝报文传送方法,当所述目的端同时收到来自同一源端的多个报文时,目的端对该多个报文进行群组确认。
上述的MANET信息分发订购平台中短猝报文传送方法,在报文分段传输的情况下,当目的端发现源端发送的分段报文中的一部分没收到时,目的端进行选择性确认,通知源端哪些分段已经收到,哪些分段没有收到。
上述的MANET信息分发订购平台中短猝报文传送方法,目的端将已发送的确认信息缓存一段时间,在发送新的确认信息时,将过时的确认信息捎带给源端。
上述的MANET信息分发订购平台中短猝报文传送方法,目的端将确认信息捎带在用户数据发送。
上述的MANET信息分发订购平台中短猝报文传送方法,当所述源端在设定的超时重传间隔时间内没有收到目的端的确认信息时,则服务端对该报文进行重传。
上述的MANET信息分发订购平台中短猝报文传送方法,所述源端根据下层反馈的网络拥塞情况决定是否发送报文,如果网络畅通,就发送报文并将网络拥塞情况捎带到目的端;否则等待网络畅通或拥塞退避发送最大时间过后,强制发送报文。所述目的端根据源端捎带过来的网络拥塞情况和下层反馈的网络拥塞情况确定最新的网络拥塞情况,如果网络畅通,则发送确认信息并在确认信息中捎带最新的网络拥塞情况;否则等待网络畅通或拥塞退避发送最大时间,强制发送确认信息。
上述的MANET信息分发订购平台中短猝报文传送方法,所述报文中包含上层应用数据的优先级级别,目的端只对包含特定级别的报文进行确认。
上述的MANET信息分发订购平台中短猝报文传送方法,所述MANET信息分发订购平台采用局部客户服务器模式及全局对等模式来满足多个客户端。
上述的MANET信息分发订购平台中短猝报文传送方法,所述客户端与服务端之间的数据交互采用共享内存进行进程间通信。
本发明的优有点和积极效果 本发明的MANET信息分发订购平台中短猝报文传送优化方法,提出了一种适宜于MANET的应用层协议,称其为AUDP协议(Acked User Datagram protocol)。本发明对传统UDP协议进行了改进,加入灵活的数据确认机制、数据重传机制、数据捎带机制、数据整合机制,确保了数据传输的可靠性。其次,本发明进一步采用了数据发送速率自适应调整机制,该机制根据MANET的各个终端的数据接收和发送情况进行数据发送速率的自适应调整,避免网络拥塞的发送,各个终端的数据发送与接收情况的通告主要通过数据捎带到各端。第三,本发明进一步引入数据优先级服务机制,对上层应用数据提供多种优先级服务,各种应用可以自行选择优先级,可靠性传输可以结合优先级服务,只保证特定优先级数据的可靠性传送。第四,本发明采用了数据报文自适应分片机制,考虑到无线网络中数传信道机的MTU大小是各异而且可变的,因此对上层应用的报文进行分片处理,这样可以减轻下层网络的处理负担。
本发明在传统UDP协议的基础上,提出了AUDP(Acked User Datagram protocol)协议。本发明以AUDP协议为核心,给上层应用提供统一的API接口,从而提出适应于MANET信息分发订购平台的短猝报文传送优化方法,从而实现了信息透明可靠的交互。



图1信息分发定购平台本地应用示意图; 图2客户端与服务端的信息交互过程示意图; 图3一次信息分发与订购的过程示意图; 图4 AUDP报文的重传+确认过程示意图; 图5已发确认信息捎带示意图; 图6网络拥塞信息获取渠道示意图; 图7网络拥塞通告捎带示意图。

具体实施例方式 下面结合附图,对本发明的一个具体实施方式
做出详细描述。
在MANET网络中,一个信息分发与订购平台如图1所示。对于任一通信节点而言,节点是由一个负责信息传送的服务端和若干需要进行信息分发与订购的客户端组成。服务端主要完成数据的传送控制,包括数据的可靠传送、网络的拥塞控制、数据的传送效率优化等。客户端采用透明的信息分发与订购接口与服务端进行数据交互,服务端采用本发明的短猝报文优化传送方法,进行报文的传送控制,从而构建适应于MANET的信息分发与订购平台。
如图2所示,是客户端与服务端之间的信息交互过程。在信息分发与订购平台中,多个客户端之间应该协商不同的数据类型与数据子类型具体代表的语义,如定义数据类型为2、数据子类型为1表示短语,数据类型为6、数据子类型为2表示定位信息。定义了语义后,客户端可以通过REGISTER接口注册,并会在管理区进行登记;当客户端有数据需要发送的时候,它需要把自己待发送的数据先储存在发布数据区,并通知服务端自己发布了一条数据;服务端在收到客户端的通知时,会去处理发布数据区里面的数据,同时如果服务端收到网络上其他机器传送过来的数据,它将查询管理区,是否有应用需要该数据,如果有,数据将被写入数据接收区,并通知客户端去取数据。
一次信息分发与订购的过程可分为三步 1.注册信息发布、订购、发布及订购中的一种行为; 2.根据1返回的行为标识,发布一条预先定义好的数据类型及数据子类型的应用数据; 3.信息分发与订购服务平台根据数据类型及数据子类型将应用数据递交给相应的应用程序。
应用程序的一次信息分发与订购的过程,如图3所示。对于多个应用程序,其定购过程是一样的,采用分时复用的方法来处理多个应用的请求。
服务端采用AUDP协议来保证数据的可靠传送、网络拥塞控制等。AUDP协议采用在UDP协议的基础上叠加应用层协议处理,对用报文进行封装处理。
在本发明AUDP协议的设计中,采用了灵活的数据确认+重传机制,它不仅可以保证数据的可靠传输,也使得确认机制带来的网络开销最小化。每个用户报文都会有一个唯一的整包ID标识。当用户报文长度小于MTU时,分段ID位为传送零星报文的特殊控制位;当用户报文长度大于MTU时,用户报文按MTU大小进行分段,分段包ID则从1开始递增。整包ID的计算公式为InitID=(Lacaltime/50)%65536,其中Localtime是本地时间以ms为单位的值,这样可以保证ID在一个小时内不会重复。增强传统UDP协议而加入的应用层协议头部,如下 协议类型001表示数据010表示确认011表示数据加确认 分段标记协议类型为数据,01-开始10-中间11-结束 协议类型为确认01-对某个分段的确认10-对整个大ID包的确认 协议类型为数据加确认与数据时相同 确认标记通知对端这个报文是否需要确认。
0---无需确认 1---需确认 分段ID每个分段小包的唯一标识 整包ID每个大包的唯一标识 可选项协议类型为数据,分段标记为已分段 协议类型为数据加确认,分段标记为已分段 本实施方式中采用了如下机制1~10以确保数据的可靠性传送和快速的交互。
1.一般确认机制,每个报文都有唯一的标识ID,通过发送ID+确认信息可以对某个报文进行确认; 2.群组确认机制,对于同时收到来自同一源端的多个报文,通过发送多ID+确认信息可以进行群组确认; 3.选择性确认机制,对于一个长报文被分成若干小段后,如果发现总是有少数分段报文过不来的话,可以进行选择性确认,通知发送端哪些分段已经收到,哪些分段没有收到;这种确认方式能加快重传的速度,从而使信息能及时发送过来。选择性确认也可以配合群组确认一起进行较灵活的确认,来减少确认的次数,加大一次确认的信息量; 4.过时确认信息捎带机制,将已发送的确认信息缓存一段时间,在发送新的确认信息时,将过时的确认信息捎带过去,以此来防止前面发送过的确认信息丢失。
图5描述了已发确认信息捎带机制,对于以前发送的确认信息不是马上删除而是缓存一段时间,等待有新的确认信息发送的时候,将这些确认信息捎带到对端,从而解决发送端因为确认信息丢失带来的不必要重传。
5.捎带确认机制,将确认信息捎带在用户数据发送出去,已减少确认机制带来的网络开销。
6.在Timeout时间内,发送出去的报文没有收到确认的话,AUDP会将对该报文进行重传。Timeout可以采用下面的算法进行估算。
D=RTTs-RTTi;RTTi+1=RTTi+δ*D;Devi+1=Devi+ρ*(|D|-Devi); if(Devi+1<0){Timeout=RTTi+Devi+1},else{Timeout=RTTi+β*Devi+1}; if(Timeout>Tmax)Timeout=Tmax 其中RTTs是实测的端到端时延值,RTTi是估计的时延值,D记录每次的差值,Devi是差值估算值,Timeout是超时重传间隔,Tmax是最大的超时重传时间。通过控制超时重传间隔,或通过网络拥塞判断来控制本地发送数据的速率,也同时可以达到对网络拥塞进行有效控制的目的。
AUDP协议保证报文可靠传输的基本思想如图4所示。A端发送一个AUDP报文,B端在收到确认报文后向A端发送一个确认信息。如果A端在超时时间内没有收到对方的确认信息,A端将重传该报文。在网络环境非常糟糕的情况下,如报文丢失非常严重,那么无谓的重传只更加恶化网络。为了避免这种情况发生,这里需要规定最大的重传次数。要产生确认信息,必须要对每个报文增加一个唯一的标识,也就是报文的ID,这个ID需要携带在报文上对端知道,这样对端才能明确是对那个报文的确认。
7.数据发送速率自适应调整机制。
数据发送速率自适应调整主要是为了避免网络拥塞的发生。网络拥塞情况的获取主要来自底层的通告和通过捎带过来的网络拥塞通告信息。图6描述了底层直接跨层交互进行网络拥塞信息通告以及端到端的网络拥塞信息通告。当收到网络拥塞通告后,并与本地跨层获取的网络拥塞情况进行比较,计算出最新的网络情况,判断网络是否拥塞以此来调整数据发送速率,如图7所示。
通过跨层交互,下层将网络拥塞情况Ψ1反馈给应用层,分析拥塞情况Ψ1,如果网络畅通,就发送报文,捎带Ψ1到目的端;否则等待网络畅通或拥塞退避发送最大时间过后,强制发送报文;将报文捎带过来的Ψ1与下层反馈回来的网络拥塞情况Ψ2进行比较,产生最新的网络拥塞参数Ψ3。
8.数据优先级机制。数据优先级服务是为了满足不需要可靠服务的一些上层应用。
(1)增加的应用层协议头中的,确认标记就是用来区分是否需要进行可靠传送。
(2)定义5个优先级,1、2定为不可靠服务类型,3、4、5定义为可靠服务类型。上层应用告诉AUDP一个优先级,AUDP判断是可靠服务还是不可靠服务。如果是可靠服务,那么确认标记为1;如果是不可靠服务,那么确认标记为0。
9.给上层应用提供透明的传输通道,通过定义统一的API接口以及采用局部客户服务器模式及全局对等模式来满足多个客户端 (1)统一的API接口 A.注册函数 unsigned int Register(BYTE regType,BYTE dataType,BYTE subDataType, APPCALLBACK callBackPtr,int filterFlag=0) //regType注册类型//dataType数据类型//subDataType数据子类型 //callBackPtr回调函数指针,为NULL表示上层应用使用查询方式接收数据 //返回值应用程序注册句柄handle,注册一次成功的唯一标识。
//filterFlag地址过滤功能,0-不进行过滤,1-进行过滤。
B.回调函数 typedef int(*APPCALLBACK) (BYTE tag,char*sourceCode,BYTE*dataPtr,int datatLen,BYTE ptior=0,BYTE reliability=0) //tag0表示正常数据 C.注销函数 int UnRegister(unsigned int handle) //handle应用程序注册句柄 //返回值正确为正数,错误为负数 D.查询数据 int GetFirstData(unsigned int handle,BYTE*pData,int&length) int GetNextData(unsigned int handle,int&pos,BYTE*pData,int &length)通过订购的句柄查询数据。
E.发布函数 int AsynPublish(unsigned int handle,int dstNum,char*dstIPPtr,BYTE*dataPtr,int dataLength,int prior=0,int reliability=0)//handle应用程序注册句柄//dstNum目的地址数量 //dstIPPtr目的IP地址序列,以IP地址的十进制表示。四个字节表示一个IP地址。
//dataLen数据长度//dataPtr数据指针 //prior优先级//reliability可靠性//返回值操作的返回代码 10.上层应用客户终端与服务端之间的数据交互,采用共享内存进行进程间通信,可以达到数据的快速提交和分发。
一个短猝报文传送控制优化核心算法详细描述如下 设有A、B两个用户,将数传信道机可变MTU值记为Lmtu,最大重传次数记为N,已重传的次数记为i,初始值设为0,每次重传间隔记为Timeout(i),缓冲区中待发送报文记为As。
对于报文发送有如下算法 1)A向B发送用户报文Aus,Aus长度记为L,如果L<Lmtu,将Aus放入待发送缓冲区;否则根据Lmtu对报文Aus进行分段,每个分段报文放入待发送缓冲区。
2)通过跨层交互,下层将网络拥塞情况Ψ和MTU的变化反馈给应用层,应用层更新MTU,并分析拥塞情况Ψ,如果网络畅通,就发送报文As,在Lmtu长度允许范围内,捎带Ψ到目的端;否则等待网络畅通或拥塞退避发送最大时间Tcongestionback过后,强制发送报文As。
3)报文发送Timeout(i)时间后,检测报文As的ACK是否到达。如果到达,删除报文As,并进行时延估算,产生新的RTT值,更新Timeout的值;否则,如果重传次数i小于最大重传次数N,重传报文As,并将i的值加1,经过时间Timeout(i)后进行判断,直到i大于等于N后还未收到确认,将删除报文As,并加大Timeout的值。
对于报文接收有如下算法 1)B收到来自A的报文As后,如果无其他报文确认信息,发送一般确认报文;否则发送群组确认信息,或对于分段报文进行选择性确认; 2)将报文捎带过来的Ψ1与下层反馈回来的网络拥塞情况Ψ2进行比较; 3)如果网络畅通,在Lmtu长度允许内,在用户报文中尽量捎带自身已掌握的网络拥塞情况Ψ+上个时间段已发送的确认信息;否则等待网络畅通或拥塞退避发送最大时间Tcongestionback过后,强制确认。
权利要求
1.MANET信息分发订购平台中短猝报文传送方法,其特征在于,所述MANNET通信节点中的客户端采用透明的信息分发与订购接口与负责数据传送控制的服务端进行数据交互;并且,当源端发送一个报文后,目的端在收到该报文后向源端发送确认信息;如果源端在超时时间内没有收到目的端的确认信息,则重传该报文。
2.如权利要求1所述的MANET信息分发订购平台中短猝报文传送方法,其特征在于,当所述报文长度大于数传信道机的最大传输单元时,所述报文按最大传输单元大小进行分段后发送。
3.如权利要求1所述的MANET信息分发订购平台中短猝报文传送方法,其特征在于,当所述目的端同时收到来自同一源端的多个报文时,目的端对该多个报文进行群组确认。
4.如权利要求2所述的MANET信息分发订购平台中短猝报文传送方法,其特征在于,当目的端发现源端发送的分段报文中的一部分没收到时,目的端进行选择性确认,通知源端哪些分段已经收到,哪些分段没有收到。
5如权利要求1或2或3所述的MANET信息分发订购平台中短猝报文传送方法,其特征在于,目的端将已发送的确认信息缓存一段时间,在发送新的确认信息时,将过时的确认信息捎带给源端。
6.如权利要求1或2或3所述的MANET信息分发订购平台中短猝报文传送方法,其特征在于,目的端将确认信息捎带在用户数据发送。
7.如权利要求1或2或3所述的MANET信息分发订购平台中短猝报文传送方法,其特征在于,当所述源端在设定的超时重传间隔时间内没有收到目的端的确认信息时,则服务端对该报文进行重传。
8.如权利要求1或2或3所述的MANET信息分发订购平台中短猝报文传送方法,其特征在于,所述源端根据下层反馈的网络拥塞情况决定是否发送报文,如果网络畅通,就发送报文并将网络拥塞情况捎带到目的端;否则等待网络畅通或拥塞退避发送最大时间过后,强制发送报文。
9.如权利要求8所述的MANET信息分发订购平台中短猝报文传送方法,其特征在于,所述目的端根据源端捎带过来的网络拥塞情况和下层反馈的网络拥塞情况确定最新的网络拥塞情况,如果网络畅通,则发送确认信息并在确认信息中捎带最新的网络拥塞情况;否则等待网络畅通或拥塞退避发送最大时间,强制发送确认信息。
10.如权利要求1或2或3所述的MANET信息分发订购平台中短猝报文传送方法,其特征在于,所述报文中包含上层应用数据的优先级级别,目的端只对包含特定级别的报文进行确认。
11.如权利要求1或2或3所述的MANET信息分发订购平台中短猝报文传送方法,其特征在于,所述MANET信息分发订购平台采用局部客户服务器模式及全局对等模式来满足多个客户端。
12.如权利要求1或2或3所述的MANET信息分发订购平台中短猝报文传送方法,其特征在于,所述客户端与服务端之间的数据交互采用共享内存进行进程间通信。
全文摘要
本发明提供了一种适应于MANET信息分发订购平台的短猝报文传送优化方法,所述MANET通信节点中的客户端采用透明的信息分发与订购接口与负责数据传送控制的服务端进行数据交互;并且,当源端发送一个报文后,目的端在收到该报文后向源端发送确认信息;如果源端在超时时间内没有收到目的端的确认信息,则重传该报文。本发明的短猝报文传送优化方法,确保了数据传输的可靠性。本发明结合数据发送速率自适应调整机制、数据优先级服务机制、数据报文自适应分片机制,可以避免网络拥塞的发送,减轻下层网络的处理负担,保证数据的高效传输。
文档编号H04L12/28GK101018195SQ20071000341
公开日2007年8月15日 申请日期2007年2月6日 优先权日2007年2月6日
发明者何晓新, 檀友明, 徐帆江, 章洋, 廖名学 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1