CN1761232A - 移动自组网络的基于动态蜂窝的按需服务质量保证的方法 - Google Patents
移动自组网络的基于动态蜂窝的按需服务质量保证的方法 Download PDFInfo
- Publication number
- CN1761232A CN1761232A CNA2004100649795A CN200410064979A CN1761232A CN 1761232 A CN1761232 A CN 1761232A CN A2004100649795 A CNA2004100649795 A CN A2004100649795A CN 200410064979 A CN200410064979 A CN 200410064979A CN 1761232 A CN1761232 A CN 1761232A
- Authority
- CN
- China
- Prior art keywords
- route
- message
- node
- service quality
- qos
- 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
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
移动自组网络的基于动态蜂窝的按需服务质量保证的方法是采用多服务质量路由探测算法选择一条能够最大满足服务质量要求的最佳路由,在这条最佳路由上建立端-端资源预留,在蜂窝未发生变化时,数据都在这条最佳路由上传输,为数据的连接提供服务质量保证;通过产生、发送、接收、处理服务质量请求报文,即PATH消息,来建立按需服务质量按需路由;利用移动蜂窝协议“hello”消息收集的邻居信息来发现失效的服务质量路由,并发送拆除、探测消息来回收资源并重建服务质量路由。该方法适合网络规模较大,网络拓扑变化较快的移动自组网络的QoS要求。
Description
技术领域
本发明是一种适合网络规模较大,网络拓扑变化较快的移动自组网络的QoS要求的方案,属于移动自组网络的路由服务质量保证技术。
背景技术
当前,大多数路由协议只提供最短路径路由,并努力适应网络拓扑的变化,数据仅仅是在最短路径上尽力地传输,它们不支持具有带宽、延迟等限制的服务质量(QoS)保证。一般来说,QoS路由的目标有两个:
(1)选择具有足够资源的路由路径以满足QoS的要求;
(2)提高整个网络资源利用率。
显然,如果网络拓扑变化太快,实现QoS几乎是不可能,所以,人们更多研究的是网络拓扑变化不太快的软QoS路由协议。所谓软QoS路由协议是指允许由于路由路径断开所造成的短暂QoS失败,但必须保证在路由路径未断开期间的QoS。有的一些QoS协议只是在表驱动路由协议或按需路由协议上增加了QoS限制,也并未在动态蜂窝路由协议上考虑QoS。
发明内容
技术问题:本发明的目的在于提供一种移动自组网络的基于动态蜂窝的按需服务质量(DcQoS)保证的方法,以适合网络规模较大,网络拓扑变化较快的移动自组网络的QoS要求。
技术方案:本发明的技术解决方案是:
采用多QoS路由探测算法选择一条能够最大满足QoS要求的最佳路由,在这条最佳路由上建立端-端资源预留,在蜂窝未发生变化时,数据都在这条最佳路由上传输,为数据的连接提供QoS保证。其中:
①通过产生、发送、接收、处理QoS请求报文,即PATH消息,来建立DcQoS按需路由。
②利用移动蜂窝协议hello消息收集的邻居信息来发现失效的QoS路由,并发送拆除、探测消息来回收资源并重建QoS路由。
DCQoS按需路由的建立:接受到应用层的QoS连接请求后,源节点构造并广播QoS路由请求报文。接受到QoS路由请求报文的节点如果不是此连接的目的节点:如果它不是第一次接受到此请求报文或者节点之间不是双向链路,那么直接丢弃此请求报文;否则,第一次接受到请求报文的节点如果它是蜂窝的移动基站DMBS节点或者边界节点,并且有足够的带宽资源来满足QoS连接请求,那么中间节点将为此次连接预分配带宽资源并转发此QoS请求报文,否则如果没有足够的带宽或者中间节点不是移动基站或者边界节点都将直接丢弃请求报文。接受到请求报文的节点是QoS连接请求的目的节点:如果它是第一次接受到此请求(通过使用序列号来判断),那么如果它有足够的带宽资源可以分配给此QoS连接请求则目的节点为此次连接建立会话保留所需的带宽资源并且生成应答报文,应答报文迎着请求预先建立的路径返回到源节点,这样中间节点预先分配的带宽资源都可以得到确认。那些得不到确认的预先分配的带宽将在一定的时间后自行释放。这样,源到目的的满足一定带宽要求的QoS路径就建立起来了。为了提高数据在中间节点的转发效率,我们没有建立通常的IP层路由路径,我们建立的是链路层交换路径。为了实现链路层的流数据交换,我们在数据报文中增加节点分配的局部流标签。在路由确认报文中我们也增加了节点分配的局部流标签,通过路由确认上游节点可以得到下一跳节点的局部流标签,从而我们能够建立从源节点到目的节点的局部流标签路径。每个节点可以通过报文的流标签来实现对QoS数据流的转发和流量控制,从而来实现保证带宽的QoS路由。
DCQoS按需路由的重建:QoS路由只是在需要的时候才会被建立,然而由于移动自组网的特点节点的移动会导致建立的QoS路由的失效。利用移动蜂窝协议hello消息收集的邻居信息,如果节点发现其建立的QoS路由的上一跳或者下一跳不在邻居节点中或者不是双向连接,那么节点删除已经建立的QoS路由释放分配的带宽。如果发现节点(非目的节点)与其上一跳节点链路断开,那么节点向QoS路由的下一跳节点发送向下游拆除报文,收到此向下游拆除报文的节点都将删除此QoS路由并释放分配的带宽同时向QoS路由的下一跳节点转发拆除报文。如果发现节点与其QoS路由的下一跳节点的链路断开,那么节点(非源节点)将向此QoS路由的上一跳发送向上流拆除的报文,收到此拆除报文的中间节点都将删除此QoS路由释放已分配的带宽同时向QoS路由的上一跳节点转发此拆除报文。如果源节点主动发现QoS路由已经断开或者收到下游节点发现路由断开后发送的拆除报文,源节点将重新进行按需路由的建立过程。
基于动态蜂窝的按需服务质量保证方法是按照蜂窝网络的思想结合MANET网络移动自主的特性设计的一种适合MANET网络的QoS技术。同时根据用户的对选路的带宽要求增加了按需QoS选路的特性,满足用户对于带宽QoS要求的应用。通过在路由探测报文中增加带宽的需求,每个节点通过维护可以分配的带宽来判断能不能满足路由探测报文对带宽的要求。当路由探测报文能够达到目的节点的时候,源节点到目的节点间的满足带宽要求的路径就已经找到。因为在我们的协议中,目的节点只处理第一个到达的路由探测报文,所以我们的按需路由协议建立的QoS路由是源到目的节点的满足带宽要求的端到端延时最短的路径。因此,动态蜂窝QoS路由协议为移动自组网提供了一个新的满足QoS要求、性能优于表驱动和按需路由协议,并能与支持常规固定蜂窝的各种移动终端相兼容,具有很高的应用前景,必将成为移动自组网路由协议一个新的发展方向。
DCQoS路由协议采用分布式动态蜂窝路由方法(DDCC)完成位置移动管理,由于所有移动结点MN都运行DDCC协议,所以,一些MN被动态地选举成为临时移动基站DMBS。在DCQoS路由协议中,只有DMBS能够获得整个网络的拓扑知识。如果某个MN要发送数据包,它就模仿固定蜂窝网络把数据包发送给它的DMBS,数据包在一个或多个DMBS或BMN之间转发到目的DMBS,由目的DMBS将数据包发送给目的MN。
显然,MN既不负责新路由的发现,也不负责已有路径的维护。这种新的路由协议消除了按需路由协议初始阶段路由发现的搜索延迟。此外,整个网络的拓扑信息只在DMBS之间传输和保存,面无须传送给每一个MN,避免了表驱动路由协议中大量网络拓扑信息的传送。
源结点S向目的结点D发送一个连接请求消息(称为PATH消息),启动QoS路由,PATH消息中含有QoS参数——带宽B或延迟D,S首先将PATH消息发送给本蜂窝的DMBS,由于每一个DMBS都知道任意两个DMBS之间的路由,所以,S的DMBS将PATH消息进行复制,分别发送到每一条能到达目的DMBS的路由上,这些PATH消息在DMBS或BMN之间按各自的路由分别向目的DMRS传送,在途经的每一个DMBS或BMN中,检查该DMBS或BMN能否满足QoS要求,如果不能,则销毁该PATH消息,并终止该PATH消息的传送,表明该QoS路由不满足QoS要求。目的DMBS将所收到的若于PATH消息转发给目的结点D,D选择一条满足QoS要求的最佳路由,D向S发送确认消息(称为ACK消息),ACK消息沿着最佳路由向S传送,在经过的每一个DMBS或BMN上预留资源。当ACK消息到达S时,QoS路由就建立起来了。
根据S和D当前的位置、移动速度与方向以及相邻的蜂窝,参照移动历史采用相应的移动预测算法定期计算出S和D可能要进入的蜂窝集合,S和D使用PATH消息和RESV消息按照上述端-端QoS路由建立方法,为S和D分别建立到可能进入的蜂窝进行提前预约,这里的RESV消息在返回的路由上只是在每一个所经过的DMBS或BMN中的资源分配表上标识该资源已被预约。并不实际的分配。一旦S或D移动到预测的蜂窝后,发送通知消息(称为NOTICE消息)给预留路由上所有DMBS或BMN,将被动预留变为主动预留。被动预留的释放可以在收到TEAR消息后进行,也可以在被动预留状态超时之后自动进行。
当蜂窝发生变化时即QoS路由上一个蜂窝中的DMBS变成了本蜂窝/新生蜂窝/其它蜂窝的MN,也就是说,有一个MN变成了本蜂窝/新生蜂窝/其它蜂窝的DMBS,我们拟在每一条QoS路由上每一个DMBS中为该条QoS路由设置一个定时器,定时自动检测该条QoS路由上与它相邻DMBS或BMN是否已发生了改变,如果是,则启动QoS路由修补算法。由于DDC协议能够动态地将整个网络的连接拓扑传送给每一个DMBS(正是这一点才使得蜂窝动态自动检测与QoS路由修补变得比较简单),所以,该条QoS路由上未断开路由的每一个DMBS都知道该条QoS路由断开的两端DMBS以及这两端之间一条或多条路由,我们可选择靠近S端的DMBS,由它来发起QoS路由断开的修补,修补过程类似于S-D的QoS路由建立过程,所不同的是,两个端点不是S和D,而是QoS路由断开两端的DMBS,由PATH和RACK消息取代PATH和ACK消息。
为了实现QoS路由的建立和断开后的重建,我们定义了三种报文:带宽路由探测报文PATH,QoS路由建立确认报文ACK,QoS路由拆除报文TEAR。其中的PATH报文通过在网络上洪泛来探测满足带宽要求的路径。ACK报文是目的节点对PATH探测到的延时最短的一条路径的确认,ACK报文到达路由的发起者后满足带宽的QoS路由就被建立了。当中间节点发现已建立的QoS路由断开时通过发TEAR报文来拆除残余的路径,以便源节点重新发起QoS路由的建立过程。
PATH报文包含如下一些必要信息:序列号、QoS路径的源和目的节点、请求带宽。收到应用接口的QoS路由请求后,源节点向其邻居广播相应的PATH报文。收到PATH报文的所有双向链路连接的节点根据序列号以及QoS路径的源和目的节点判断是不是重复的报文,如果是重复的报文节点将直接丢弃此报文。收到此报文的节点如果不是QoS路由的目的节点,那么节点判断其是不是移动基站节点DMBS或者边界节点。如果节点不是边界节点或者DMBS或者带宽不能满足需求,节点将丢弃此PATH报文(利用DMBS和边界节点的特点转发PATH报文也可以减少PATH报文洪泛对网络的额外带宽的消耗)。转发节点收到新的PATH报文后,如果当前带宽满足PATH报文的请求带宽,那么节点将相应的减少当前可分配带宽同时在节点中增加一个会话记录。一个会话记录包含下列信息:序列号,源和目的节点,带宽,会话状态,上一跳节点,下一跳节点,下一跳分配的局部流标签,生存时间等。收到PATH报文的节点记录序列号源和目的节点以及带宽,设置上一跳节点以及生存时间,会话状态设为PATH状态。会话记录中的下一跳节点以及下一跳局部流标签需要从确认报文ACK中获得。目的节点收到新的PATH报文后分配流标签生成ACK报文给上一跳节点,对于重复的PATH报文目的节点简单的丢弃它(从而也保证了端到端的延时最短)。
路由确认报文ACK包含下列必要的信息:序列号,源和目的节点,下一跳节点接口的MAC地址以及IP地址,下一跳局部流标签。中间节点收到ACK报文后,节点保存的相应的会话记录状态改为ACK状态,记录下一跳节点(包括IP地址和MAC地址)以及下一跳节点分配的流标签,节点为此QoS流分配自己的流标签。根据记录的会话表,节点向链路层QoS流数据转发和控制模块的链路转发路由表中添加路由表项(本节点流标签,源,目的,带宽,下一跳MAC地址,下一跳局部流标签)。然后节点向会话表中保存的上一跳发送它构造的路由确认ACK报文,直到源节点得到确认报文。得不到确认的节点上保存的会话在其生存时间过期后将被节点删除。
节点根据移动蜂窝协议保存的邻居信息来判断链路的断开。如果发现已经建立的QoS路径断开,那么节点将删除会话记录以及链路层QoS流数据转发和控制模块中链路转发路由表中相应的表项,同时根据断开的情况向上一跳节点或者下一跳节点发相应的路由拆除TEAR报文。收到TEAR报文的节点也将删除其路由表及相应的会话记录,然后向QoS路径的上一跳或者下一跳转发TEAR报文(根据TEAR报文的类型:下流拆除或者上流拆除,来决定转发)。源节点发现QoS路径的断开或者收到相应的TEAR报文将通过发送新的PATH报文重新进行QoS路由的建立过程。
Path报文:source,dest,band_width,sequence。
ACK报文:source,dest,band_width,sequence,next_hop,next_MAC.
节点保留的session表项
Source |
Dest |
Sequence |
Session_state |
Band_width |
Up_hop |
Next_hop |
Next_MAC |
Live_time |
QoS路由相关消息处理方法及运行机制:
1)PATH消息处理:
中间节点接受到PATH消息
0如果是转发节点或者是PATH target且和上一跳是双向链路则进行下面的处理,否则返回
1根据PATH消息中的source和target判断有没有收到
2如果不存在这样的session
2.0如果存在足够带宽资源则做下面动作,否则返回
2.1创建新的session
2.2session状态设置为PATH,根据path消息初始化session中的相应的数据
2.3session的PATH生命设置为当前时间加上PATH_HOLD_TIME
2.4如果节点就是PATH消息的target
2.4.1设置session状态为RESV
2.4.2构造RESV(sourc,target,sessionid,mac_addr)发送给session中PSB记录的上一跳
2.5节点是中间节点,广播PATH消息.
3如果已经存在这样的session
3.1如果收到新的PATH消息(PATH::sessionId>LOCAL::sessionId)Loeal session应该立即过期,否则是收到旧的PATH立即丢弃。
3.1.0如果session状态为RESV删除route(source,target)修改为PATH状态
3.1.1释放旧的Psb中的带宽,如果当前带宽满足PATH的申请带宽则下面动作,否则删除session返回
3.1.2记录新的session psb信息,session的PATH生命设置为当前时间加上PATH_HOLD_TIME
3.1.3如果节点就是PATH消息的target
3.1.3.1设置session状态为RESV
3.1.3.2构造RESV(sourc,target,sessionid,mac_addr)发送给session中PSB记录的上一跳
3.1.4节点是中间节点,广播PATH消息.
2)RESV消息处理
根据消息的source target查找相应的session
1.如果存在相应的session,判断session的状态
1.1session为PATH状态
1.1.1比较Local::sessionId和RESV::sessionid
a)如果是旧的RESV则丢弃此resv消息
b)sessionid相同则:
b1)记录相应的session的RSB消息
b2)添加路由表route(souce,target,next_mac,band_width)
b3)如果节点不是source则向Psb的上一跳发送RSV消息
c)收到新的RESV消息发生错误(不可能发生)
1.2session为RESV状态
比较Local::sessionId和RESV::sessionid
a)收到旧的RESV消息则丢弃此消息
b)收到相同id的消息则是发生错误(不可能发生)
c)收到新的RESV消息则发生错误(不可能发生)
2.如果不存在相应的session,则丢弃此消息
3)TEAR消息处理
根据消息的source target查找相应的session
1.如果存在相应的session,判断session的状态
1.1session为PATH状态
1.1.1比较Local::sessionId和TEAR::sessionid
a)如果是旧的TEAR则丢弃此消息
b)sessionid相同则,删除此session
c)收到新的TEAR消息发生错误(不可能发生)
1.2session为RESV状态
比较Local::sessionId和RESV::sessionid
a)收到旧的TEAR消息则丢弃此消息
b)收到相同id的消息:
b1)删除路由表route(source,targer)
b2)如果TEAE为ACTIVE的则向session的下一跳发送TEAR消息,否则是PASSIVE的向上一跳发送TEAR消息。
b3)如果节点不是源则,删除此session返回,否则
b4)源节点路由重建过程:
:1:session状态改为PATH状态
:2:构建PATH消息(新的sessionId)
:3:更新session中的数据区以及生命期。
:4:发送PATH消息
4)链路断开发现方法
链路发现轮询时间到来时(可以是发送hello消息时候)
对于session表中的每一个处于RESV状态的session:
1.对于非源节点:
1.如果上一跳和下一跳都不在双向链路邻居表中session断开(删除路由表并且删除session表项)
2.如果上一跳不在双向链路邻居表中:向下一跳发送主动TEAR消息,
3.如果下一跳不在双向链路邻居表中:向上一跳发被动TEAR消息
2.对于源节点:
如果下一跳不在双向链路邻居表中:
删除旧的路由表:route(source,target)
源节点路由重建
:1:session状态改为PATH状态
:2:构建PATH消息(新的sessionId)
:3:更新session中的数据区以及生命期。
:4:发送PATH消息
5).QoS路由保持时间的刷新方式:
当PATH刷新周期到来时
对于session表中的每一个处于PATH状态的session
1.节点是session的源:
如果PATH时间过期:如果PATH重试次数小于一个阈值(PATH状态过时的最大次数)那么重新发起源节点路由重建
:1:session状态改为PATH状态
:2:构建PATH消息(新的sessionId)
:3:更新session中的数据区以及生命期。
:4:发送PATH消息
否则如果超过重建阈值(PATH状态过时的最大次数)删除此session表项。
2.节点不是源:如果过期则删除session表项。
注意:对于所有的不可能处理为,如果session是RESV状态则删除路由表然后删除session快:如果是PATH状态则删除session项。
有益效果:本发明提供了一种移动自组网络的基于动态蜂窝的按需服务质量(DcQoS)保证的方法,以适合网络规模较大,网络拓扑变化较快的移动自组网络的QoS要求。动态蜂窝QoS路由协议为移动自组网提供了一个新的满足QoS要求、性能优于表驱动和按需路由协议,并能与支持常规固定蜂窝的各种移动终端相兼容,具有很高的应用前景,必将成为移动自组网路由协议一个新的发展方向。满足移动自组网络的QoS路由要求,没有建立QoS连接的视频点播的带宽不能保证,因此时而停顿。而建立QoS连接后的视频点播能够优先使用带宽,播放流畅,QoS路由切换耗时极小,视频几乎没有停顿。
附图说明
图1是我们的QoS流量控制实现在NDIS的中间层驱动中(intermediate driver)中间层驱动处理的是链路层的数据报文,在这一层上可以实现QoS数据和非Qos数据的分离路由。
图2是中间层驱动中的QoS路由表,
图3是丢包率比较图(1),
图4是丢包率比较图(2),
图5是丢包率比较图(3),
图6是丢包率比较图(4)。
具体实施方式
移动自组网络的基于动态蜂窝的按需服务质量保证的方法是采用多服务质量路由探测算法选择一条能够最大满足服务质量要求的最佳路由,在这条最佳路由上建立端-端资源预留,在蜂窝未发生变化时,数据都在这条最佳路由上传输,为数据的连接提供服务质量保证;通过产生、发送、接收、处理服务质量请求报文,即PATH消息,来建立按需服务质量按需路由;利用移动蜂窝协议“hello”消息收集的邻居信息来发现失效的服务质量路由,并发送拆除、探测消息来回收资源并重建服务质量路由。
1)QoS路由实现
我们实现QoS路由的平台是windows2000,通过在NDIS的中间层驱动中实现链路层转发模块,而按需QoS路由建立和维护模块以及移动蜂窝协议都工作在用户层上。按需服务质量按需路由的建立步骤如下:接收到应用层的服务质量连接请求后,源节点构造并广播服务质量路由请求报文;第一次接受到请求报文的移动基站DMBS或者边界节点,如果有足够的带宽资源来满足服务质量连接请求,那么该节点将为此次连接预分配带宽资源并转发此服务质量请求报文,否则丢弃请求报文;当第一次到达目的节点时,如果有足够的带宽资源可以分配给此服务质量连接请求,则目的节点为其保留所需的带宽资源并且生成应答报文,应答报文迎着请求预先建立的路径返回到源节点,这样中间节点预先分配的带宽资源都可以得到确认;那些得不到确认的预先分配的带宽将在一定的时间后自行释放;这样,源到目的的满足一定带宽要求的服务质量路径就建立起来了。按需服务质量按需路由的重建步骤如下:当节点发现其建立的服务质量路由的上一跳或者下一跳不在邻居节点中或者不是双向连接,那么节点删除已经建立的服务质量路由并释放分配的带宽;如果发现非目的节点与其上一跳节点链路断开,那么节点向服务质量路由的下一跳节点发送向下游拆除报文,收到此向下游拆除报文的节点都将删除此服务质量路由并释放分配的带宽同时向服务质量路由的下一跳节点转发拆除报文;如果发现节点与其服务质量路由的下一跳节点的链路断开,那么非源节点将向此服务质量路由的上一跳发送向上流拆除的报文,收到此拆除报文的中间节点都将删除此服务质量路由释放已分配的带宽同时向服务质量路由的上一跳节点转发此拆除报文;如果源节点主动发现服务质量路由已经断开或者收到下游节点发现路由断开后发送的拆除报文,源节点将重新进行按需路由的建立过程。
链路层转发模块QoS路由建立模块建立的链路层路由表转发数据以及进行流量控制,此模块实现在数据链路层上。下面是节点的数据报文处理过程。
(1)对于从IP层传递给数据链路层的每个数据包通过查我链路层转发路由表,可以判断报文是QoS路由数据还是一般的数据。如果是QoS数据,那么通过链路层QoS数据转发路由表可以获得下一跳的局部流标签以及下一跳的MAC地址。修改此报文的下一跳MAC地址,在其IP头和MAC头之间添加我们的标签头。TYPE为QoS类型,NEXT_FLOW_LABEL为我们建立的路由表中的下一跳流局部标签。对于非QoS数据报文也需要添加标签头,其添加的标签头的TYPE就是非QoS类型面对于NEXT_FLOW_LABEL是无定义的(或者是缺省流标签)。我们定义的标签头如下。
TYPE | NEXT_FLOW_LABEL |
标签头格式
(2)对于QoS链路转发模块从下层接受的数据链路层数据报文,首先根据标签头的TYPE类型判断此数据报文是不是QoS数据,如果不是QoS数据那么去掉我们添加的标签头部恢复一般的数据报文格式然后将此报文传递给上层(IP层)进行处理。上层根据IP头的目的IP地址对于需要转发的数据报文通过查找移动蜂窝协议建立的路由表来决定其下一跳的IP地址。如果TYPE是QoS数据类型,根据标签头部的NEXT_FLOW_LABEL域查找链路层QoS流数据转发路由表。如果此QoS数据报文已经到达其路径的目的节点(路由表中的下一跳流标签不可用)则去掉添加的标签头传递报文给上层继续处理,否则,根据相应的路由表项中记录的下一跳MAC地址和下一跳局部流标签对数据报文做相应的修改:NEXT_FLOW_LABEL改为查找到的下一跳流标签,链路层头部的源MAC地址改为本节点相应接口的MAC地址,下一跳MAC地址修改为链路转发路由表项中记录的下一跳MAC地址。与非QoS数据处理不同的是,QoS转发数据不向上层(IP层)传递选路,而是直接将修改后的报文传递给下层立即转发,也就是我们在链路层上就实现了QoS数据的转发。链路层转发只需要根据标签头部的NEXT_FLOW_LABEL查找下一跳的MAC地址然后做相应的修改,从而提高了QoS数据的转发速度。
为了保证每个QoS流的带宽,防止数据流超过它实际申请的带宽以及非QoS数据流占用QoS数据流的带宽,我们对每个QoS数据流以及非QoS数据实现了流量控制。对于所有的非QoS数据我们可以把它看成一个缺省的QoS数据流,只是它的带宽是系统在保证QoS数据传输后可用的剩余带宽。为了实现上述功能可以使用常用的包调度算法,根据每个流的申请带宽作为调度的优先权对节点的所有转发数据报文进行排队调度。然而在实际的实现过程中(我们在windows2000操作系统平台上实现)发现由于调度算法需要对经过的包进行排队调度,对端到端的延时影响较大。因此我们使用了根据每个流的最近历史流量信息来决定流量控制的算法:
对于属于某个QoS数据流的报文根据记录的此流的历史流量,如果发现其最近流占用的带宽超过了其申请的实际带宽,那么就丢弃此报文更新最近历史流量记录;如果最近流占用的带宽没有超过其申请的带宽,报文立即进行转发并且更新最近历史流量记录。
为了能够获得某个QoS数据流的最近历史流量信息,我们需要记录在最近的一个时间窗口内此QoS路由流过的数据量。对每个流,模块需要记录两个参数:最近流量记录开始时间STime,以及从STime开始此QoS路径流过的数据量FlowedBytes。使用下面的公式可以判断某个QoS流接受到的数据是否需要丢弃:
(1+α)*TIE_INTERVAL*FLOW_BANDWIDTH<FlowedBytes,如果不等式成立则需要丢弃此报文。其中TIME_INTERVAL=Current_Time-STime,α是小于1的用来调节的参数。通过抑制那些过量的数据报文从而实现了保证QoS数据流带宽的功能。
如图1所示,我们的QoS流量控制实现在NDIS的中间层驱动中(intermediatedriver)中间层驱动处理的是链路层的数据报文,在这一层上可以实现QoS数据和非Qos数据的分离路由。
NDIS中间层驱动使用ProtocolSendPacket向下层NIC驱动发送链路层数据报文,在我们的无线网卡的NIC上层发送的也是802.3格式的报文,NIC驱动负责转换和发送。NDIS中间层驱动使用MiniportReceivePacket从下层接链路层数据报文受数据报文。在这两个函数中,我们对数据报文进行分析,封装,根据上层建立的QoS按需路由表,区分QoS数据和一般数据。对于QoS数据,根据QoS路由表记录的表项的下一跳MAC地址,可以实现链路层的快速转发,不需要交给上层IP进行选路。如果是非QoS数据,MiniportReceivePacket函数接受到这样的报文直接交给上层处理,上层根据移动蜂窝路由协议建立的路由表进行选路。
2)DCQoS路由测试
我们分别在windows 2000操作系统和NS2网络仿真平台上实现和测试了这一路由技术。
1)Windows 2000下
测试环境:
八台windows 2000操作系统带11Mbps PCMCIA无线网卡的笔记本作为八个移动终端,以视频点播为测试用例。
测试结果:
满足移动自组网络的QoS路由要求,没有建立QoS连接的视频点播的带宽不能保证,因此时而停顿。而建立QoS连接后的视频点播能够优先使用带宽,播放流畅,QoS路由切换耗时极小,视频几乎没有停顿。
2)NS2下:
测试共进行4组。每一组包括3次测试,分别验证支持QoS的AODV、DODV、DDCC路由协议的包传输率性能。
在每组测试中,所有节点的初始位置的初始位置都是随机的,然后生成33个udp连接。每个连接都申请了25kbps的带宽资源,并且在一定的时刻开始使用建成的连接发送数据,发送速率为20kbps。所有节点随机移动。
4组测试的结果如图3-6所示:
图3-6中,横坐标表示的是时间,纵坐标表示的是所有连接的平均丢包率。因为结点的位置随机,并且节点以20m/s以下的随机速度快速移动,所以切换频繁,丢报率比较大。但是我们仍然可以用于比较AODV、DSDV、DDCC协议的性能。
(1)对于AODVQoS协议,4组测试的丢包率分别是:0.303,0.249,0.314,0.169,平均值为0.259;
(2)对于DSDVQoS协议,4组测试的丢包率分别是:0.250,0.220,0.158,0.126,平均值为0.189;
(3)对于DCQoS协议,4组测试的丢包率分别是:0.144,0.210,0.111,0.143,平均值为0.152;
使用DCQoS协议时候的包传输率要明显高于使用AODVQoS协议或DDVQoS协议的情况。
Claims (3)
1、一种移动自组网络的基于动态蜂窝的按需服务质量保证的方法,其特征在于:采用多服务质量路由探测算法选择一条能够最大满足服务质量要求的最佳路由,在这条最佳路由上建立端-端资源预留,在蜂窝未发生变化时,数据都在这条最佳路由上传输,为数据的连接提供服务质量保证;通过产生、发送、接收、处理服务质量请求报文,即PATH消息,来建立按需服务质量按需路由;利用移动蜂窝协议“hello”消息收集的邻居信息来发现失效的服务质量路由,并发送拆除、探测消息来回收资源并重建服务质量路由。
2、如权利要求1所述的移动自组网络的基于动态蜂窝的按需服务质量保证的方法,其特征在于按需服务质量按需路由的建立步骤如下:接收到应用层的服务质量连接请求后,源节点构造并广播服务质量路由请求报文;第一次接受到请求报文的移动基站DMBS或者边界节点,如果有足够的带宽资源来满足服务质量连接请求,那么该节点将为此次连接预分配带宽资源并转发此服务质量请求报文,否则丢弃请求报文;当第一次到达目的节点时,如果有足够的带宽资源可以分配给此服务质量连接请求,则目的节点为其保留所需的带宽资源并且生成应答报文,应答报文迎着请求预先建立的路径返回到源节点,这样中间节点预先分配的带宽资源都可以得到确认;那些得不到确认的预先分配的带宽将在一定的时间后自行释放;这样,源到目的的满足一定带宽要求的服务质量路径就建立起来了。
3、如权利要求1所述的移动自组网络的基于动态蜂窝的按需服务质量保证的方法,其特征在于按需服务质量按需路由的重建步骤如下:当节点发现其建立的服务质量路由的上一跳或者下一跳不在邻居节点中或者不是双向连接,那么节点删除已经建立的服务质量路由并释放分配的带宽;如果发现非目的节点与其上一跳节点链路断开,那么节点向服务质量路由的下一跳节点发送向下游拆除报文,收到此向下游拆除报文的节点都将删除此服务质量路由并释放分配的带宽同时向服务质量路由的下一跳节点转发拆除报文;如果发现节点与其服务质量路由的下一跳节点的链路断开,那么非源节点将向此服务质量路由的上一跳发送向上流拆除的报文,收到此拆除报文的中间节点都将删除此服务质量路由释放已分配的带宽同时向服务质量路由的上一跳节点转发此拆除报文;如果源节点主动发现服务质量路由已经断开或者收到下游节点发现路由断开后发送的拆除报文,源节点将重新进行按需路由的建立过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2004100649795A CN1761232A (zh) | 2004-10-15 | 2004-10-15 | 移动自组网络的基于动态蜂窝的按需服务质量保证的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2004100649795A CN1761232A (zh) | 2004-10-15 | 2004-10-15 | 移动自组网络的基于动态蜂窝的按需服务质量保证的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1761232A true CN1761232A (zh) | 2006-04-19 |
Family
ID=36707180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100649795A Pending CN1761232A (zh) | 2004-10-15 | 2004-10-15 | 移动自组网络的基于动态蜂窝的按需服务质量保证的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1761232A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820676A (zh) * | 2010-04-12 | 2010-09-01 | 中国科学技术大学 | 传感器节点定位方法 |
CN102025592A (zh) * | 2009-09-17 | 2011-04-20 | 上海可鲁系统软件有限公司 | 一种集中器动态路由方法及动态路由集中器 |
CN101189829B (zh) * | 2005-06-06 | 2011-08-31 | 三星电子株式会社 | 用于发现邻居网络的方法和网络系统的网络管理服务器 |
CN101765180B (zh) * | 2008-12-25 | 2013-01-02 | 上海寰创通信科技股份有限公司 | 一种支持Qos保证的mesh路由方法 |
WO2013037319A1 (zh) * | 2011-09-16 | 2013-03-21 | 华为技术有限公司 | 标签转发路径的带宽资源管理方法、装置和系统 |
US9100907B2 (en) | 2009-08-06 | 2015-08-04 | Huawei Technologies Co., Ltd. | Method, device and system for establishing on-demand route |
CN106658636A (zh) * | 2017-01-05 | 2017-05-10 | 西北工业大学 | 一种基于剩余带宽的毫米波网络多路径回传路由方法 |
CN107454000A (zh) * | 2016-05-31 | 2017-12-08 | 华为技术有限公司 | 网络数据传输装置及方法 |
-
2004
- 2004-10-15 CN CNA2004100649795A patent/CN1761232A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101189829B (zh) * | 2005-06-06 | 2011-08-31 | 三星电子株式会社 | 用于发现邻居网络的方法和网络系统的网络管理服务器 |
CN101765180B (zh) * | 2008-12-25 | 2013-01-02 | 上海寰创通信科技股份有限公司 | 一种支持Qos保证的mesh路由方法 |
US9788259B2 (en) | 2009-08-06 | 2017-10-10 | Huawei Technologies Co., Ltd. | Method, device and system for establishing on-demand route |
US9100907B2 (en) | 2009-08-06 | 2015-08-04 | Huawei Technologies Co., Ltd. | Method, device and system for establishing on-demand route |
CN102025592B (zh) * | 2009-09-17 | 2014-10-08 | 上海可鲁系统软件有限公司 | 一种集中器动态路由方法及动态路由集中器 |
CN102025592A (zh) * | 2009-09-17 | 2011-04-20 | 上海可鲁系统软件有限公司 | 一种集中器动态路由方法及动态路由集中器 |
CN101820676A (zh) * | 2010-04-12 | 2010-09-01 | 中国科学技术大学 | 传感器节点定位方法 |
CN101820676B (zh) * | 2010-04-12 | 2012-05-30 | 中国科学技术大学 | 传感器节点定位方法 |
WO2013037319A1 (zh) * | 2011-09-16 | 2013-03-21 | 华为技术有限公司 | 标签转发路径的带宽资源管理方法、装置和系统 |
CN107454000A (zh) * | 2016-05-31 | 2017-12-08 | 华为技术有限公司 | 网络数据传输装置及方法 |
CN107454000B (zh) * | 2016-05-31 | 2021-01-05 | 华为技术有限公司 | 网络数据传输装置及方法 |
CN106658636A (zh) * | 2017-01-05 | 2017-05-10 | 西北工业大学 | 一种基于剩余带宽的毫米波网络多路径回传路由方法 |
CN106658636B (zh) * | 2017-01-05 | 2020-02-14 | 西北工业大学 | 一种基于剩余带宽的毫米波网络多路径回传路由方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1453963A (zh) | 蓝牙按请求路由方法和网络形成和蓝牙组网络的通信方法 | |
CN1722726A (zh) | 支持伪线标签反射的二层虚拟专网设备和组网方法 | |
CN101048012A (zh) | 一种在无线网状网络中确定路由的方法 | |
CN100348001C (zh) | 使用扩展边界网关协议在光交换网络之间路由 | |
CN1244248C (zh) | 在基于网际协议运行的电信网络中执行移动用户终端路由更新的方法 | |
CN1145283C (zh) | 移动通信系统中指定专用通信的反向公共信道的设备和方法 | |
CN1761242A (zh) | 移动终端、控制装置及移动通信方法 | |
CN1658586A (zh) | 分组传送系统、无线基站以及分组传送路径最佳化方法 | |
CN1886942A (zh) | 用于在ad hoc网中路由业务的方法和系统 | |
CN1722632A (zh) | 无线通信系统、无线通信装置、无线通信方法和计算机程序 | |
JP2004531971A (ja) | モバイル・アドホック・ネットワークにおけるソフトウェア・アーキテクチャ・プロトコル・スタックのインターネット・プロトコル・ルーティング層の下に埋め込まれたルーティング・プロトコル | |
CN1607783A (zh) | 在移动ac-hoc网络中处理广播数据 | |
CN1585366A (zh) | 无线基站,网络系统,通信方法和基站控制程序 | |
CN1886941A (zh) | 预测性ad-hoc | |
JP2008005074A (ja) | 無線ネットワークシステム、無線基地局及びそれらに用いるハンドオーバ制御方法 | |
CN1859728A (zh) | 网络中激活态an之间软切换及会话迁移的实现方法 | |
CN1863144A (zh) | 提供差分服务的方法 | |
CN101047624A (zh) | 标签分配方法以及标签出让方法 | |
JP2007159099A (ja) | 複数のサービスノードへのディスジョイントなルートを発見する方法および装置 | |
CN1801802A (zh) | 通用多协议标签交换路径上节点重启恢复的方法 | |
US7548520B2 (en) | Self-organizing system for wireless access | |
CN1761232A (zh) | 移动自组网络的基于动态蜂窝的按需服务质量保证的方法 | |
CN1913485A (zh) | 自动探测网络拓扑、建立路由表并实现窄带业务的方法 | |
CN101051986A (zh) | 一种实现快速切换的方法及装置 | |
CN1852256A (zh) | 一种无线网状网中数据传输的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |