Einige Inhalte dieser Anwendung sind momentan nicht verfügbar.
Wenn diese Situation weiterhin besteht, kontaktieren Sie uns bitte unterFeedback&Kontakt
1. (CN101631065) Method and device for controlling congestion of wireless multi-hop network
Anmerkung: Text basiert auf automatischer optischer Zeichenerkennung (OCR). Verwenden Sie bitte aus rechtlichen Gründen die PDF-Version.
一种无线多跳网络拥塞的控制方法和装置


技术领域
本发明属于通信技术领域,尤其涉及一种无线多跳网络拥塞的控制方法 和装置。
背景技术
在互联网中,TCP(Transfer Control Protocol,传输控制协议)协议是目 前使用最广泛的一种传输协议,为因特网用户提供了可靠的端到端数据通信 服务。TCP协议是为固定主机和有线网络设计的一种滑动窗口协议,通过控 制发送窗口的大小,数据传输层发送端可以控制发送数据的速率,进而控制 网络拥塞。在传输过程中,数据传输层发送端首先以线性或指数级形式增加 窗口的大小,直到出现报文丢失,则窗口减半,接着又开始逐渐增大。TCP 通过这种方式来探测网络中可以获得的最大传输速率并以报文丢失来指示发 送速率已经超出了网络可用的带宽。传统TCP适用于差错率低、报文丢失主 要由拥塞造成的有线链路。而无线网络具有差错率高和移动性等异于有线网 络的特点,链路差错与主机移动都可能引起TCP报文丢失,当TCP协议 应用于无线网络时,其性能出现显著下降。TCP协议的拥塞控制机制是导致 TCP协议在无线网中性能下降的主要原因。
目前针对无线网络提出的TCP改进方案有很多,根据其基本的原理可 以大致分为三类:端到端方案(end-to-end scheme)、分段连接方案(split connection scheme)、链路层方案(link layer scheme)。端到端方案中,数据传 输层发送端处理有线网及无线链路上的丢包错误,需要修改数据传输层发送 端的TCP协议。分段连接方案中,连接在基站处分成两段,一段是固定主 机到基站的有线段,另一段是基站到移动主机的无线段。分段连接方案不用 修改固定主机端的TCP协议,只需修改无线段的TCP协议,而且通过分 段的方法可以对有线链路隐藏无线链路的错误,这样可以使得有线链路相对 稳定的传输环境不会受到无线链路中复杂多变的传输环境的影响。链路层方 案的目的是通过局部重传机制和向前纠错(Forward Error Correction,FEC) 机制结合起来以对TCP数据传输层发送端隐藏各种和无线链路相关的包丢 失。
目前,针对无线网络提出的TCP改进方案中的一种为Snoop(监听)协 议,其属于性能增强代理(PEP,Performance Enhance Proxy)技术。在链路 层(MAC层),Snoop引人了针对TCP数据包的ARQ(auto repeat request,自 动重传请求)机制,以解决无线信道上的比特误码问题。在网络层(IP层), Snoop采用组播技术解决移动切换引起的报文丢失现象。Snoop既考虑了应用 数据由MH的对等主机(Corresponding Host,CH)向移动主机MH的发送情 况,也考虑了反向数据传输情况。当数据自CH向MH传输时,Snoop在基站 的代理程序会缓存数据包并转发给MH。Snoop通过两种方法检测数据包在无 线信道上的丢失情况:一种是通过在链路层设置类似TCP的超时重传计时器; 另一种是在链路层检测反向路径是否出现重复确认(DupACK,Duplicate ACK)。当第一次出现DupACK时,应用Snoop的基站重发丢失的数据包,并 且丢弃随后的DupACKs。当数据由MH向CH传输时,应用Snoop的基站检测 收到的数据报文顺序号是否存在不连续的号码段。一旦发现不连续的号码段, 则通过显式丢失通告(explicit loss notification)反馈移动主机需要重新发送 的数据报文。
Snoop协议基于被侦听到的TCP信息,在基站处进行智能本地重传。Snoop 代理将监控所有通过TCP链接的报文,维持那些在无线链路上已发送却未被 移动主机响应的TCP报文的缓冲存储。当接收到少量来自数据传输层发送端 的DupACK时,或者本地计时器超时时,报文的丢失就会被发现。假设Snoop 代理已存储了丢失的报文并抑制了DupACK,它就会重传此报文。
发明人发现,Snoop协议与其它本地重传方案相似,也面临着无法使数 据传输层发送端完全脱离无线段丢包困扰的难题,特别是无线为多跳和无线 路径临时中断的情况。当无线链路多次本地重传时,会引起数据传输层发送 端的重传定时器超时,启动数据传输层发送端的重传和拥塞控制的慢起动, 导致网络性能下降。
发明内容
本发明实施例公开了一种无线多跳网络拥塞的控制方法和装置,以根据无 线路径状态信息,在丢包时进行本地重传,并将所述重传通知数据传输层发送 端,避免不必要的TCP重传。
一种无线多跳网络拥塞的控制方法:
获取无线多跳网络的路径信息,根据所述无线多跳路径信息标记无线路 径状态为可用Available、不可用Unavailable、拥塞Congestion或出错Error;
接收来自无线路径接收端的确认通知ACK分组,若所述标记的无线路径 状态不是Unavailable,则以高优先级对第一个重复的确认通知Dup ACK所对 应的传输层数据TCP Data分组进行本地重传;
将所述本地重传事件通知数据传输层发送端。
一种无线多跳网络拥塞的控制装置,包括分析模块、接收模块、控制模 块、代理模块,其中:
所述分析模块用于根据无线多跳网络的链路信息,分析出无线多跳网络 的路径信息;
所述接收模块用于接收来自无线路径接收端的确认通知ACK分组;
所述控制模块用于根据所述分析模块提供的路径信息标记无线路径状态 为可用Available、不可用Unavailable、拥塞Congestion或出错Error,若所述无 线路径状态不是不可用Unavailable,则指令所述代理模块以高优先级对接收 模块接收到的第一个重复的确认通知Dup ACK所对应的传输层数据TCP Data分组进行本地重传,并将本地重传事件通知数据传输层发送端;
所述代理模块用于根据控制模块的指令进行本地重传。
通过应用本发明实施例公开的方法和装置,可以获取并标记无线多跳网 络的路径信息,在接收来自无线路径接收端的确认通知ACK分组后,根据 所述路径信息,以高优先级对第一个重复的确认通知Dup ACK所对应的TCP Data分组进行本地重传,并将所述重传事件通知数据传输层发送端,实现了 向数据传输层发送端屏蔽无线段的影响,避免了不必要的TCP重传。
附图说明
图1为本发明实施例无线多跳网络拥塞的控制方法示意图;
图2为本发明实施例无线多跳网络拥塞的控制方法示意图;
图3为本发明实施例无线多跳网络拥塞的控制方法中对HPEP状态设置流 程图;
图4为本发明实施例无线多跳网络拥塞的控制方法中HPEP对TCP Data分 组的处理流程图;
图5为本发明实施例无线多跳网络拥塞的控制方法中HPEP对ACK分组 的处理流程图;
图6为本发明实施例无线多跳网络拥塞的控制方法示意图;
图7为本发明实施例无线多跳网络拥塞的控制方法示意图;
图8为本发明实施例无线多跳网络拥塞的控制装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明 具体实施例作进一步的详细描述。
本发明具体实施例公开了一种无线多跳网络拥塞的控制方法。
所述方法包括:
步骤101、获取无线多跳网络的路径信息,根据所述无线多跳路径信息标 记无线路径状态为可用Available、不可用Unavailable、拥塞Congestion或出错 Error;
步骤102、接收来自无线路径接收端的确认通知ACK分组,若所述标记 的无线路径状态不是Unavailable,则以高优先级对第一个重复的确认通知 Dup ACK所对应的传输层数据TCP Data分组进行本地重传;
步骤103、将所述本地重传事件通知数据传输层发送端。
通过应用本发明实施例公开的方法,可以获取并标记无线多跳网络的路 径信息,在接收来自无线路径接收端的确认通知ACK分组后,根据所述路径 信息,以高优先级对第一个重复的确认通知Dup ACK所对应的TCP Data分组 进行本地重传,并将所述重传事件通知数据传输层发送端,实现了向数据传 输层发送端屏蔽无线段的影响,避免了不必要的TCP重传。
本发明具体实施例公开了一种无线多跳网络拥塞的控制方法。所述方法 为设置跨层管理功能模块(HPEP,Hybrid Performance Enhance Proxy),所 述模块以可通信方式与链路层(MAC层)、网络层(IP层)和传输层(TCP层)连接, 如图2所示。所述HPEP包括分析模块、控制模块和代理模块。
所述分析模块用于对链路和路径进行分析,包括:根据MAC提供的相关 信息,如协议数据单元(Protocol Data Unit,PDU)的信息,对误码率进行 统计;根据链路的接收信号强度指示(Received Signal Strength Indicator, RSSI)等信息,获得链路状态,包括链路断裂,链路连接等,分析链路的连 接度;根据MAC层重传模块提供的信息,如自动重发请求(Automatic Repeat Request,ARQ)的参数,获得重传信息,如最大重传时间等;根据MAC提 供的资源分配信息和队列模块的长度信息,获得路径的拥塞度;根据IP层的 路由模块提供的信息,获得MBS(Mobile-Base station,移动基站)到MH的 可选路径。
所述控制模块用于根据分析模块提供的数据,对HPEP的状态进行设置, 所述对HPEP的状态进行设置也是对路径状态进行标记。
所述代理模块用于对TCP Data分组和ACK分组进行处理,在检测到丢包 时,基于上述控制模块设置的HPEP的状态,对丢包的原因进行识别,执行本 地的相应处理或数据传输层发送端的相应处理。
本实施例的方法适用于CH与MH之间的双向数据传输。为了论述的方便, 以下论述假定TCP Data分组为从CH向MH传送,相应的,假定ACK分组为MH 向CH传送。
所述对HPEP的状态进行设置的方法如图3所示。为了描述的方便,以下 将HPEP的操作分为三类分别编号,其中执行类步骤以S为首字母,判断类步 骤以J为首字母,状态置位以E为首字母。状态置位可以作为一个单独的步骤 处理,也可以与执行类步骤合并处理。此处为了论述的方便,将状态置位放 在相应的执行类步骤中一并论述。
HPEP启动时,初始状态E0设为S=Available,设置发送窗口PWND与数据 传输层发送端的拥塞窗口CWND等值。
S30:分析模块通过跨层服务收集无线多跳网络的链路信息;分析所述 链路信息获取路径信息,所述路径信息包括路径拥塞度、连接度、误码率和 链路层重传信息等。
J30:根据S30的分析结果判断通信链路的路径状态,如果路径状态为中 断,则进入S31,否则进入J31。
HPEP可以基于链路的RSSI,切换的信令或切换事件触发,或基于MIH 的事件服务来判断,所述判断无线路径是否中断为现有技术,此处不再赘述。
S31:HPEP中的代理模块构造零接收窗口ACK,启动TCP的零窗口机制。 HPEP的状态E1设为S=Unavailable。随后进入J33。
上述启动TCP的零窗口机制,包括通知TCP的数据传输层发送端进入坚 持模式(persist mode),冻结(freeze)所有数据包的重传定时器,并且不 减小拥塞窗口等。
J33:判断路径中断的原因是否是终端正在进行切换,如果是,则进入J34, 否则进入S33。
J31:判断链路当前的拥塞度(Cng)和误码率(Err)与各自的阈值的 关系,如果误码率不小于误码阈值1(Err≥Err thr 1)或者拥塞度不小于拥塞阈 值1(Cng≥Cng thr 1),则进入J32,否则进入J35。
J32:判断链路是否有多路径路由,如果是则进入S32,否则进入J35。
S32:HPEP中的代理模块构造零接收窗口ACK,启动TCP的零窗口机制。 HPEP的状态E1设为S=Unavailable。随后进入S33。
上述启动TCP的零窗口机制,包括通知TCP的数据传输层发送端进入坚 持模式(persist mode),冻结(freeze)所有数据包的重传定时器,并且不 减小拥塞窗口等。
S33:控制模块指示在多径路由或备选路径中重选路径,并进入J34。
J34:判断路径是否恢复,是则进入S34,否则继续执行J34。
S34:代理模块修改AWND(advertisement window,广告窗口)的取值, 向数据传输层发送端发送3个对最后一个成功接收的零窗口探测包(Zero Window Probe,ZWP)的ACK(即针对ZWP的确认包)或者来自接收端的最 新的ACK分组,打开数据传输层发送端窗口,使其进入快速传输阶段。HPEP 的状态E3设为S=Available,设置发送窗口PWND与数据传输层发送端的拥塞 窗口CWND等值。所述AWND取值不一定等于freeze时的值,而是根据当前 无线链路的可用资源,包括无线路径带宽和HPEP缓存区大小进行设置。
J35:判断当前链路的拥塞度(Cng)与拥塞阈值2(Cng thr 2)的关系,如 果Cng≥Cng thr 2(Cng thr 1大于Cng thr 2),则HPEP的状态E4设为S=Congestion(拥 塞),否则进入J36判断。
J36:判断误码率(Err)与误码阈值2(Err thr 2)的关系,如果Err≥Err thr 2(Err thr 1大于Err thr 2),则HPEP的状态E5设为S=Error(出错),否则为正常态, 即维持初始状态E0的S=Available。
在进行上述分析和处理后,HPEP的状态(即无线路径的状态)可能处于 以下几种状态值的任一种:
S=Available,E0状态或E3状态取此值,表示路径一切正常;
S=Unavailable,E1状态或E2状态且未能完成路径恢复时取此值,表示路 径断开,不可用;
S=Congestion,E4状态取此值,表示路径拥塞;
S=Error,E5状态取此值,表示路径传输出错。
除非出现外部触发(如收到重新初始化的命令),HPEP在每个无线路径 的往返时间RTTw(Round-Trip Time of Wireless)对路径的拥塞度和误码率 进行统计,据此对HPEP的状态进行刷新。
HPEP对自身状态进行设置(即对无线路径状态进行标记)后,需要根据 路径状态,对来自数据传输层发送端的TCP Data分组和来自接收端的ACK分 组进行处理。需要说明的是,从初始状态来看,HPEP对TCP Data分组的处理 在时序上要先于HPEP对对ACK分组的处理(因为必须先有TCP Data分组才会 产生ACK分组),从对应关系来看,HPEP也必然先处理特定TCP Data分组, 才能处理与所述特定的TCP Data分组对应的ACK分组,但在不强调对应关系 的情形下,在初始化后的第一个RTTw之后,HPEP对TCP Data分组和ACK分 组是同时处理的。
首先论述HPEP对TCP Data分组的处理。具体步骤参见图4,对于执行类 步骤,以S为首字母编号,对于判断类步骤,以J为首字母编号。
S40:HPEP接收一个TCP Data分组,进入J40。
J40:判断HPEP的状态是否为S=Unavailable,是则表明当前无线路径不 可用,进入S41,否则进入J41。
S41:标记所述TCP Data分组,如果还没有缓存所述TCP Data分组则执行 缓存。
J41:判断HPEP的状态是否为S=Congestion,是则表明无线路径拥塞, 需要控制分组的发送速率,故进入S42,否则进入S43。
S42:减小HPEP的发送窗口,如减半,以控制发送速率,进入S43。
S43:优先发送步骤S41中被标记的TCP Data分组(而不是步骤S40中接 收的TCP Data分组)给接收端,随后进入J42。
J42:判断步骤S40中接收的所述TCP Data分组对HPEP来说是否是新的数 据,是则进入J43,否则进入J44。
J43:判断所述新数据的TCP序号是否是顺序增加的,是则进入S45,否 则进入S44。
S44:如果所述新数据的TCP序号不是顺序增加的,则表明有线路径拥塞, HPEP应标记有线拥塞,随后进入S45。
S45:缓存所述新数据并转发给接收端。
J44:判断所述TCP Data分组的TCP序列号是否大于目前最近的确认序列 号,是则进入J45,否则进入S48。如果所述TCP Data分组的TCP序列号大于 目前最近的确认序列号,则可能是MBS到MH的下行无线路径拥塞(例如TCP Data分组没有到达)或无线链路有误(例如TCP Data分组没有正确到达MH), 也可能是MH的上行路径拥塞导致ACK无法到达MBS。
J45:判断HPEP的状态是否为S=Error,是则进入S46,否则进入J46。
S46:HPEP状态为S=Error,表明下行无线路径不拥塞,则转发所述分组, 并增加代理模块的本地重传次数。
J46:判断HEPE的状态是否为S=Congestion,是则表示下行无线路径拥 塞,此时HPEP不对所述分组做处理,否则表示上行无线路径拥塞,进入S47。
S47:HPEP代替MH以高优先级向CH发送新的ACK分组,以阻止TCP重 传。
S48:如果所述TCP Data分组的TCP序列号小于目前最近的确认序列号, 证明MH已经正确收到TCP Data分组,并且确认分组已经发送到MBS,无线 路径没有拥塞,则应该标记有线拥塞,并进入S49。
S49:优先向CH发送新的ACK分组。
接下来论述HPEP对ACK分组的处理。具体步骤参见图5,对于执行类步 骤,以S为首字母编号,对于判断类步骤,以J为首字母编号。
S50:HPEP接收一个ACK分组,进入J50。
J50:判断所述ACK分组是否是新的ACK分组,是则说明最近没有数据 包发生丢失,进入S51,否则进入J51。
S51:释放HPEP的缓存中已经确认的数据包,更新无线路径的RTTw的 估计值,进入J51。
J51:判断对所述ACK分组对应的TCP Data分组是否曾执行过HPEP的本 地重传,如果是则进入S52,否则进入S53。
S52:分组在HPEP的本地重传会对数据传输层发送端的RTT(Round-Trip Time,往返时间)的估计产生影响。为了避免这种影响,需要根据重传次数 来修改ACK分组的TIMESTAMP。RTT修正参数d的设定取决于本地重传的次 数,即本地超时的累加值,其中i是重传的次数,所述TO Re i为本 地重传定时器的各次超时值。HPEP对ACK分组的TIMESTAMP字段(T send ) 进行修改得到T send ′,排除所述影响,具体公式如下:
T send ′=T send +d
RTT=T ack-recp -T send ′=T ack-recp -T send -d
修改TIMESTAMP后,进入S53。
在修改TIMESTAMP后,可以对d的取值清零;也可以不进行清零,而在 进行新的TIMESTAMP修改时,把本地重传定时器的第一次次超时值TO Re 1直 接覆盖原来的d的值。
S53:向CH转发ACK。
J52:判断所述ACK分组是否是重复的ACK(DupACK,Duplicate ACK), 即所述ACK与前一个ACK是否相同,是则表明接收端没有正确收到期待接收 的数据包,但后续的数据包被成功接收,于是进入J53,否则进入S54。
J53:判断所述接收端没有正确收到的期待接收的数据包是否存在于 HPEP的缓存中,是则进入J54,否则需要通知CH重传所述数据包,于是进入 S54。
S54:向CH转发所述ACK分组。
J54:判断所述DupACK是否是第一个,即HPEP在收到所述DupACK之前 是否仅收到一个与之内容相同的ACK,是则进入S56,否则进入S55。在接收 到第一个DupACK后,代理模块就会计算可能到达的DupACK的最大数目, 这一数值为在正常传送丢失的TCP Data分组之后到重传丢失的TCP Data分组 之间传送的所有TCP Data分组的数目。代理模块也会计算当错误恢复之后期 待的ACK分组序列号的值,这等于在错误之前最新的ACK分组的序列号加1。
S55:丢弃所述DupACK。当所述DupACK不是第一个时,由于所述 DupACK对应的丢失的数据分组在第一个DupACK到达时已经重传,所以无 需再次重传。
S56:HPEP标记所述DupACK对应的TCP Data分组,以便在后续本地重 传失败的情况下,在无线路径恢复后重传所述标记的TCP Data分组。进入J55。
J55:判断HPEP的状态是否为S=Unavailable,是则表明当前无线路径不 可用,否则进入S57。
S57:通知数据传输层发送端HPEP进行本地重传,随后进入J56。所述 HPEP通知数据传输层发送端HPEP将进行本地重传的具体做法为向数据传输 层发送端发送一个零窗口通告,数据传输层发送端在接收到这个零窗口通告 后将停止发送任何的数据,并冻结所有的重传定时器和拥塞窗口,以避免TCP 重传引起重传竞争。然后HPEP等待数据传输层发送端的窗口探询(Window Probe)消息,当HPEP接收到数据传输层发送端的第一个零窗口探测消息(Zero Window Probe,ZWP)时发送一个窗口更新消息以使得TCP的数据传输层发送 端继续发送数据,并向接收方抑制这个ZWP。
J56:判断HPEP的状态是否为S=Congestion,是则表明无线路径拥塞, 需要控制分组的发送速率,故进入S58,否则进入S59。
S58:减小发送窗口,如减半,以控制发送速率,进入S59。
S59:以高优先级向MH重传S56中标记的TCP Date分组。接收端在接收 到所述分组之前,每接收一个数据分组,都会返回一个DupACK,为了使重 复的ACK尽可能的少,需要以高优先级将所述标记的TCP Date分组发送到接 收端。
需要说明的是,除了由ACK的类型和数目触发的重传,HPEP还执行定 时溢出的重传。当定时器溢出时,HPEP需要重传连接中第一个未确认的数据 包,但是与TCP的定时溢出不同的是HPEP并没有执行慢启动过程。HPEP本 地重传定时器的超时值TO Re ,由HPEP到移动终端的RTT w 值来更新,收到新 ACK时,HPEP获得无线段的RTT w ,TO Re 更新的方法与TCP类似的:
SRTT w =αSRTT w +(1-α)RTT w
Err=RTT w -SRTT w
D=βD+(1-β)Err,α和β是平滑因子,建议值是0.8-0.9,典型值是7/8。
TO Re =SRTT w +4D
具体的重传过程从S56开始执行,与上述步骤一致。
HPEP需要维护的TCP上下文信息包括:缓存的分组,本地发送窗口 PWND,最近的一个ACK分组,本地重传定时器超时值,本地重传的标志, 本地重传的次数。在MBS发生切换时,需要把HPEP的TCP上下文信息作为切 换上下文转发给新的MBS。如果MBS支持MIH(Media Independent Handover, 媒体无关的切换),则可以利用MIH的信息服务进行交互。
通过应用本发明实施例的方法,所述HPEP通过跨层服务收集MAC层/物 理层PHY层,IP层和TCP层的信息,分析模块根据所述信息获取路径信息, 控制模块根据路径信息标记路径状态,在检测到数据丢包时,通过与链路层 重传和本地重传的协调,本地重传与TCP重传的协调,向数据传输层发送端 屏蔽无线段的影响,避免了不必要的TCP重传。
本发明具体实施例公开了一种无线多跳网络拥塞的控制方法。所述方法 为在无线中继网场景下的处理方法。在无线中继网络中,MH和对等主机CH 的TCP协议采用现有协议。在CH至MH方向,采用传统的TCP协议,在MH至 CH方向,采用SACK确认(Selective Acknowledgment,选择性确认)。HPEP的 系统模型如图6所示。
位于MAC层的收集模块收集链路的信息,包括链路的信号强度RSSI, ARQ的参数等,并在MAC帧被成功接受或丢弃缓存帧时上报事件。
控制模块根据收集模块的上报信息,在无线段的往返时间内对路径的连 接度和误码率进行统计,并监测路径的拥塞度,从而获得路径信息,并据此 调整Proxy和MAC的处理。
1)路径拥塞度的获取
为了获取路径的拥塞度,需要知道瓶颈链路的带宽,传统上可以利用相 邻TCP ACK分组来获取,但由于接收端可能采用延迟发送ACK,因此这种方 法准确率不高。在无线中继网络中,每个中间节点知道自己的缓存队列的队 列长度,但MBS不知道,需要信令交付和中间节点做相应的修改,扩展性不 强。本发明采用ZWP探测的方法,HPEP向MS发送ZWP探测包对Z 0 、Z 1 。设 探测包Z 0 、Z 1 返回的时间间隔为Δ t =D t1 -D t0 ,且已知Z 0 、Z 1 大小相等均为L zwp , 则可以求出的端到端带宽的样本,即瓶颈带宽的样本:
进行低通平滑,得平滑的瓶颈带宽:
其中η为平滑因子,取值为2/21。
路径拥塞度为:
其中,RTT min 为路径最小的往返时延,可近似为分组在路径中没有排队时 延的往返时间。
2)路径误码率的获取
每收到TCP的ACK分组时,HPEP在RTTw时间内,对MBS的重传模块 发送的MAC分组进行统计采样,设发送的总数为S total n,每次收到MS的MAC 的ACK分组时,统计成功发送的MAC分组,设为S success n,则路径的采样误码 率为:
平滑的路径误码率为:
其中η为平滑因子,取值为2/21。
代理模块负责对TCP Data分组和ACK分组进行处理,当检测到来自MH 的分组丢失时,采用SACK进行选择性确认,通知MH只对丢失的分组进行重 传。当检测来自CH的分组丢失时,根据无线段的路径信息,进行本地重传或 路径选择。
在IEEE802.16j的无线中继网络中,MAC重传模块的ARQ重传有 END-to-END,Two-link和Hop-by-Hop三种模式。不管哪种方式,MBS发送分 组后,如果没有收到MH的ACK,在ARQ_BLOCK LIFE_TIME时间后,都会 丢弃分组,这时,需要HPEP超时进行TCP分组重传;如果收到下游中继节点 的R-ACK,则等待MH的ACK,如果收到MH的N-ACK(No-ACK,报错ACK), 则丢弃分组,等待HPEP超时重传。在中继链路和接入链路,如果MH的上游 节点收到N-ACK或ARQ_RETRY_TIMEOUT超时,则上游节点进行MAC层重 传。
为了减少重传的时延,MAC层重传模块上报ARQ_BLOCK LIFE_TIME 和N-ACK事件,通过事件触发,HPEP可以及时进行本地的TCP分组传输。
为了避免HPEP的本地重传和MAC层重传模块的ARQ重传的冲突,避免 不必要的HPEP重传,HPEP需要设置ARQ_BLOCK LIFE_TIME的值小于HPEP 重传定时器的超时值TO Re
需要说明的是,所述HPEP的具体运作步骤与前一实施例类同,此处不再 赘述。
通过应用本发明实施例的方法,所述HPEP通过位于MAC层的收集模块 收集和分析链路信息,由控制模块获取路径信息,调整代理模块和MAC层的 重传模块的参数,在出现丢包时,分级做出处理,向数据传输层发送端屏蔽 无线段的影响,避免了不必要的TCP重传和本地重传。
本发明具体实施例公开了一种无线多跳网络拥塞的控制方法。所述方法 为在HPEP具有媒体无关切换功能(MIHF,Media Independent Handover Function)的场景下的处理方法。
如图7所示,具有MIHF的HPEP安装在MBS节点上,移动主机MH具有 MIHF,HPEP依赖于MIHF提供的链路信息,包括连接信息,误码信息和重传 信息,由控制模块获得路径的连接度和误码率,并根据链路的重传信息,设 置重传模块的重传时间参数;控制模块根据探测机制,可以获得路径的拥塞 度。
HPEP的控制模块通过MIHF的命令服务MIH_Event_Subscribe.request注 册MIHF的链路状态事件MAC and PHY State Change events,注册链路参数事 件Link Parameter events和链路传输事件,从而可以获得链路是否可用,信号 强度RSS,BER和分组传输是否成功的信息,从而得到链路的连接度和误码 率。扩展MIHF的事件服务,HPEP注册MAC层重传模块的ARQ_BLOCK LIFE_TIME和N-ACK事件,以便代理模块及时启动本地重传。扩展MIHF的 命令服务,控制模块向MAC层重传模块设置ARQ的重传时间值ARQ_BLOCK LIFE_TIME,使ARQ_BLOCK LIFE_TIME的值应当小于TO Re ,以避免没有必 要的本地重传。
可选的,控制模块也可以通过扩展MIHF的命令服务,使用MIHF的命令 服务MIH_Link_Get_Parameters直接获得链路的相关信息。
需要说明的是,所述HPEP的具体运作步骤与前一实施例类同,此处不再 赘述。
通过应用本发明实施例的方法,所述HPEP通过MIHF收集链路信息,由 控制模块获取路径信息,通过扩展MIHF的事件注册调整代理模块和MAC层 的重传模块的参数,在出现丢包时,分级做出处理,向数据传输层发送端屏 蔽无线段的影响,避免了不必要的TCP重传。
本发明实施例公开了一种无线多跳网络拥塞的控制装置。如图8所示,所 述装置包括分析模块、接收模块、控制模块、代理模块,其中:
一种无线多跳网络拥塞的控制装置,包括分析模块、接收模块、控制模 块、代理模块,其中:
所述分析模块用于根据无线多跳网络的链路信息,分析出无线多跳网络 的路径信息;
所述接收模块用于接收来自无线路径接收端的确认通知ACK分组;
所述控制模块用于根据所述分析模块提供的路径信息标记无线路径状态 为可用Available、不可用Unavailable、拥塞Congestion或出错Error,若所述无 线路径状态不是不可用Unavailable,则指令所述代理模块以高优先级对接收 模块接收到的第一个重复的确认通知Dup ACK所对应的传输层数据TCP Data分组进行本地重传,并将本地重传事件通知数据传输层发送端;
所述代理模块用于根据控制模块的指令进行本地重传。代理模块:用于 根据控制模块的指示进行本地重传。
可选的,所述控制模块还可以用于设定MAC层重传模块的自动重传请求 ARQ的定时器的超时值。
可选的,所述控制模块还可以用于指示MAC层进行路径重选。
可选的,所述装置还可以包括第二接收模块、第二控制模块和发送模块, 其中:
所述第二接收模块用于接收来自数据传输层发送端的传输层数据TCP Data分组;
所述第二控制模块用于根据所述无线路径状态,标记所述第二接收模块 接收到的所述TCP Data分组、或者指令所述发送模块向无线路径接收端转发 所述TCP Data分组、或者指令所述发送模块向数据传输层发送端回复确认通 知ACK分组;
所述发送模块用于根据所述第二控制模块的指令,向无线路径接收端发 送TCP Data分组或者向数据传输层发送端发送ACK分组。第二发送模块:用 于根据所述控制模块的指令,向无线路径接收端发送TCP Data分组或者向数 据传输层发送端发送ACK分组。
可选的,所述装置还可以包括一个收集模块:用于收集无线多跳网络的 链路信息,将所述链路信息发送给所述分析模块;
所述分析模块接收来自所述收集模块的链路信息,根据所述链路信息, 分析出无线多跳网络的路径信息。
所述收集模块可以位于MAC层独立存在,也可以是有MIHF的功能模块。
通过应用本发明实施例的装置,所述分析模块获取路径信息,控制模块 根据所述信息标记路径状态,根据无线路径的不同情况状态,对TCP Data分 组进行处理,在丢包时指示MAC层进行路径重选或指示代理模块进行本地重 传,向数据传输层发送端屏蔽无线段的影响,避免了不必要的TCP重传,通 过设置MAC层重传模块的自动重传请求ARQ的定时器的超时值,还能避免不 必要的本地重传。
通过应用本发明实施例公开的方法和装置,跨层管理功能模块HPEP可以 获取路径信息,并根据所述信息标记无线路径状态,根据无线路径的不同情 况状态,对TCP Data分组进行处理,在丢包时指示MAC层进行路径重选或指 示代理模块进行本地重传,向数据传输层发送端屏蔽无线段的影响,避免了 不必要的TCP重传,通过设置MAC层重传模块的自动重传请求ARQ的定时器 的超时值,还能避免不必要的本地重传。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前 述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其 依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术 特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离 本发明各实施例技术方案的精神和范围。