【技术实现步骤摘要】
基于多路径路由协议实现自组网拥塞控制的方法
本专利技术属于无线通信
,特别涉及一种实现自组网拥塞控制的方法,可用于AdHoc网络。
技术介绍
AdHoc网络是一种由若干无线数据传输设备临时组成的、不需要固定通信设施支持的无中心网络。网络节点既是通信终端,又可以作为路由器为其他节点转发数据。近年来,各国学者围绕AdHoc网络中的拥塞控制开展了积极的研究,提出了若干种方法。最常见的方法是TCP协议中的拥塞控制方法,它的拥塞控制主要依赖于拥塞窗口cwd,窗口值的大小代表能够一次性发送出去的字节数,显然窗口越大,数据发送的速度也就越快,但是也有可能使得网络出现拥塞,所以TCP中采用了慢启动、拥塞避免、加速递减和快速重传等技术来动态调整拥塞窗口的大小。然而TCP协议在AdHoc网络中的性能远不如它在传统的有线网络中的性能,这主要是由于AdHoc网络和有线网络的特性差异。例如,在AdHoc网络中,传输媒介是局部共享的。另外,TCP协议判断网络拥塞的依据是报文丢失,而在AdHoc网络中报文的丢失原因不仅仅是网络拥塞,还有链路中断、路由频繁变化等原因。主动队列管理AQM也是一种常见的拥塞控制方法,它是一种预见式的队列管理方法,该方法对网络的状态进行评价,从而预测是否将要出现拥塞的状况。当预测到路由器将要发生拥塞时,在路由器的队列还没有充满时就按照一定的规则丢弃数据包并向发送端通告拥塞情况,以降低发送端的传输速率。但是,在目前的AQM机制中为了简化设计通常忽略了系统中的延迟环节,在延迟比较小的情况下,忽略延迟对系统性能的影响较小;然而在延迟比较大的情况下,忽略延迟往往 ...
【技术保护点】
一种基于多路径路由协议实现自组网拥塞控制的方法,包括:(1)网络中的每个节点将它的邻居节点记为n
【技术特征摘要】
1.一种基于多路径路由协议实现自组网拥塞控制的方法,包括:(1)网络中的每个节点将它的邻居节点记为ni,i=1,2,3,.....K,其中K表示邻居节点的个数,并等待一个拥塞周期T,统计该周期内本节点发送给每个邻居节点ni的数据分组数和本节点从每个邻居节点ni接收的数据分组数(2)网络中的每个节点根据本节点缓存队列的长度,判断是否拥塞,若是,将本节点记为“拥塞节点”,执行步骤(4),否则,将本节点记为“非拥塞节点”,执行步骤(3);(3)非拥塞节点关闭缓存队列随机丢包机制,返回步骤(1);(4)拥塞节点判断是否已经开启了缓存队列随机丢包机制,若是,则返回步骤(1),否则,执行步骤(5);(5)分析拥塞节点的拥塞原因:(5a)令初始参数i=1;(5b)判断拥塞节点到它的邻居节点ni的链路是否是一条低速链路,若是,则执行步骤(5c),否则,执行步骤(5f);(5c)假设网络中的数据分组大小为D比特,且每个分组大小一致,计算拥塞节点到邻居节点ni的平均传输时延和拥塞节点到它的其它邻居节点nj的平均传输时延其中为拥塞节点到它的邻居节点ni这条链路的传输速率,j不等于i,为拥塞节点到它的邻居节点nj这条链路的传输速率,为拥塞节点发送给它的邻居节点nj的数据分组数;(5d)计算拥塞节点的假设队列长度qa:qa=q-EN其中q为拥塞节点当前缓存队列的实际长度,EN为在该周期内拥塞节点额外多传输的数据分组数,为拥塞节点发送给它的邻居节点ni的数据分组数,N为和这两个平均传输时延的比值,(5e)假设拥塞节点缓存队列长度为qa,判断拥塞节点是否不再拥塞,若是,则拥塞的原因是使用了拥塞节点到邻居节点ni这条低速链路所致,执行步骤(6),否则,执行步骤(5f);(5f)判断初始参数i是否大于邻居节点的个数K,若是,则拥塞的原因是由于拥塞节点的总流量过大所致,执行步骤(7),否则,令i=i+1,返回步骤(5b);(6)拥塞节点将步骤(5e)中的邻居节点ni记为低速节点,通过抑制低速链路的手段缓解由拥塞节点到低速节点这条链路引起的拥塞,返回步骤(1);(7)拥塞节点通过流量调度或随机丢包的手段缓解由拥塞节点总流量过大引起的拥塞。2.根据权利要求书1所述的方法,其中步骤(2)、步骤(5e)、步骤(6k)和步骤(7h)中节点根据缓存队列长度判断是否拥塞,按如下步骤进行:(2a)计算缓存队列中缓存的数据包数q和缓存大小Q的比值:再根据r值大小,分为以下三种情况判断:当r≤η1时,本节点正常,判定为非拥塞状态;当η1<r≤η2时,本节点可能会发生拥塞,需要进一步判断,执行步骤(2b);当η2<r时,本节点缓存的分组已经过多,判定为拥塞状态;(2b)节点计算分组的输入速率λ和分组的输出速率μ:其中为本节点从每个邻居节点ni接收的数据分组数,K为本节点邻居节点个数,T为拥塞周期,Ts为分组的平均服务时间,分组的服务时间指从分组处于缓存队列头部开始到分组被发送为止的时间;(2c)计算分组的输入速率λ与分组的输出速率μ之比:再根据ρ值大小,分为以下两种情况判断:当ρ≤1时,本节点正常,判定为非拥塞状态;当ρ>1时,本节点的分组会进一步增多,判定为拥塞状态。3.根据权利要求书1所述的方法,其中步骤(6)中拥塞节点通过抑制低速链路的手段缓解由拥塞节点到低速节点这条链路引起的拥塞,按如下步骤进行:(6a)令初始参数i=1,M等于拥塞节点路由表中路由项目条数;(6b)检查拥塞节点的第i条路由项目的主路由,判断该主路由的下一跳节点是否为低速节点,若是,则执行步骤(6c),否则,执行步骤(6i);(6c)在第i条路由项目上,记录该低速节点;(6d)判断第i条路由项目的次路由是否存在,若是,则执行步骤(6e),否则,执行步骤(6h);(6e)判断上述次路由中,拥塞节点到下一跳节点的链路是否是一条低速链路,若是,则执行步骤(6f),否则,执行步骤(6g);(6f)将步骤(6e)中的下一跳节点也记为低速节点,记录在第i条路由项目上,执行步骤(6h);(6g)用第i条路由项目的次路由覆盖主路由,执行步骤(6i);(6h)清空第i条路由项目,待下次有数据分组查看该路由项时,直接丢弃数据分组,执行步骤(6i);(6i)判断初始参数i是否大于等于拥塞节点路由表中路由项目条数M,若是,则执行步骤(6j),否则,令i=i+1,返回步骤(6b);(6j)拥塞节点再等待下一个拥塞周期T,并统计本节点发送给每个邻居节点ni的数据分组数和本节点从每个邻居节点ni接收的数据分组数且在该拥塞周期T内,不使用低速节点发送的路由消息更新本节点路由表中记录了低速节点的路由项目;(6k)根据拥塞节点缓存队列的长度,判断是否拥塞,若是,则执行步骤(6l),否则,执行步骤(6m);(6l)拥塞节点开启队列随机丢包机制,执行步骤(6n);(6m)判断拥塞节点到低速节点的链路是否仍是一条低速链路,若是,则返回步骤(6j),否...
【专利技术属性】
技术研发人员:史琰,尹翔,盛敏,李建东,刘俊宇,仲伟慧,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。