利用以太网缓存队列长度预测UDP拥塞程度的方法与流程

文档序号:16886954发布日期:2019-02-15 22:43阅读:899来源:国知局
利用以太网缓存队列长度预测UDP拥塞程度的方法与流程
本发明属于网络通信
技术领域
,具体涉及一种利用以太网缓存队列长度预测udp拥塞程度的方法。
背景技术
:近年来,ip电话、网络视频会议以及远程教育等试试流媒体应用大量增多,这些应用大多采用udp协议进行传输。而udp协议是一种无连接协议,它在传输速度上有一定的优势,但也存在着缺乏拥塞控制机制和传输可靠性差的问题。网络拥塞会导致多种网络传输性能大幅度变差,例如吞吐量下降,通讯时延加大,丢包率增大等,严重时甚至会导致整个网络系统崩溃。因此,为udp协议集成一种良好、有效的拥塞控制方法既对工业网络有着重要实际意义,也有着十分重要的研究价值。目前最常见的检测udp拥塞方法有:1)基于丢包率的控制这种拥塞控制的基本思想是接收端每收到n个包或每隔t秒向接收端发送一个网络丢包率的评估报告,发送端根据返回的丢包率来评估网络拥塞程度,据此调整发送速率。该方法是在网络发生拥塞后采取的措施,不能作为拥塞的检测;并且这种定时时间间隔的大小直接影响拥塞的控制效果。2)基于往返延时rtt的拥塞控制该方法通过定时在发送端发送探测组来估计下一时间的rtt,虽然理论上可以做到网络拥塞的早期检测,但在实际网络中rtt是很难计算准确的,并且它还存在着链路上的不对称性,不能反映单向链路上的网络状况问题。技术实现要素:(一)要解决的技术问题本发明要解决的技术问题是:如何设计一种预测udp拥塞程度的方法,能够在初期检测到网络拥塞并对传榆速率进行有效的控制,提高网络资源的利用率,降低数据包的丢包率。(二)技术方案为了解决上述技术问题,本发明提供了一种利用以太网缓存队列长度预测udp拥塞程度的方法,包括以下步骤:s1:计算缓存队列的最佳长度在基于udp协议进行网络传输时,发送端首先建立一个发送缓存队列,在发送之前将要发送的每一包报文存入所述发送缓存队列中,修改所述发送缓存队列的长度,在发送完报文后,在发送端收到接收端反馈的确认报文时,则发送端将该报文移出所述发送缓存队列,并修改所述发送缓存队列的长度,若每次发送时,所述发送缓存队列的长度越来越长,表明网络出现拥塞现象;反之,表明网络处于空闲状态,在以太网处于既不空闲也不拥塞状态下缓存队列的最佳长度l0;s2:定义udp拥塞级别令length为当前udp数据包发送缓存队列的长度,根据当前udp数据包发送缓存队列的长度与缓存队列的最佳长度的偏差程度l0定义udp拥塞级别;按下表将拥塞级别划分为以下两个等级:拥塞级别12网络状态空闲拥塞length的范围0<length≤l0l0<lengths3:根据拥塞级别和拥塞判断方法调整发送速率。优选地,步骤s3中,令udp数据包传输速度区间范围为[ratemin,ratemax],其中ratemin表示udp数据包可接受的最小传输速率,ratemax表示udp数据包的目标速率,令ratenow为udp数据包的即时发送速率;(1)当网络处于空闲状态时,即0<length≤l0,udp数据包的即时发送速率ratenow为:ratenow=min{ratenow+β,ratemax};此时网络处于欠载状态,β的取值由下式决定:即β的取值范围为[ratemax×10%,ratemax×20%]。(2)当网络处于拥塞状态时,即l0<length,udp数据包的即时发送速率ratenow为:ratenow=max{ratenow-γ,ratemin};此时网络处于拥塞状态,γ的取值由下式决定:优选地,步骤s1中,在以太网处于既不空闲也不拥塞状态下缓存队列的最佳长度l0为:其中c1和c2是权值,且c1+c2=1。ρ=λ/μρ表示以太网在单位时间内传输数据帧的平均个数,λ表示单位时间内进入缓存队列的平均数据帧个数,μ表示以太网在单位时间内传输数据帧的平均个数。优选地,0<c1<1。优选地,0<c2<1。(三)有益效果本发明首先建立udp数据包发送缓存队列,根据当前udp数据包发送缓存队列的长度与缓存队列的最佳长度的偏差程度定义拥塞级别,并将udp拥塞级别划分为空闲和拥塞两种。然后根据拥塞级别和拥塞判断方法调整发送速率,为保证udp发送速率的调整更为平滑,降低速率控制中存在的抖动性,采用和式增加和和式减少的自适应参数控制方法调整发送速率,有效的缓解了网络拥塞。本发明提出的方法能够根据单向链路的网络状况预测udp网络拥塞,同时不会增加网络负担,导致网络丢包率增大;该方法计算简单,最大限度的压缩了拥塞级别的判断间隔时间,并采用线性函数动态调整发送速率,极大的平滑了发送速率的调整,提高了网络资源的利用率,降低了数据包的丢包率。附图说明图1是本发明的方法总体流程图;图2是本发明的预测udp拥塞级别的流程图。具体实施方式为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。针对udp协议传输可靠性差及缺乏拥塞控制机制的问题,本发明提出了一种预测udp拥塞程度的方法。该方法首先建立udp数据包发送缓存队列,发送端将要发送的报文存入缓存队列;然后根据当前udp数据包发送缓存队列的长度与缓存队列的最佳长度的偏差程度定义拥塞级别;最后,根据拥塞级别和拥塞判断方法,采用和式增加和和式减少的自适应参数控制方法调整发送速率。本发明提出的方法能够根据单向链路的网络状况预测udp网络拥塞,同时不会增加网络负担,导致网络丢包率增大;该方法计算简单,最大限度的压缩了拥塞级别的判断间隔时间,并采用线性函数动态调整发送速率,极大的平滑了发送速率的调整,提高了网络资源的利用率,降低了数据包的丢包率。如图1所示,本发明提出的一种利用以太网缓存队列长度戳预测udp拥塞程度的方法,包括以下步骤:s1:计算缓存队列的最佳长度在基于udp协议进行网络传输时,发送端首先建立一个发送缓存队列,在发送之前将要发送的每一包报文存入所述发送缓存队列中,修改所述发送缓存队列的长度。在发送完报文后,在发送端收到接收端反馈的确认报文时,则发送端将该报文移出所述发送缓存队列,并修改所述发送缓存队列的长度。若每次发送时,所述发送缓存队列的长度越来越长,表明网络出现拥塞现象;反之,表明网络处于空闲状态。在以太网处于既不空闲也不拥塞状态下缓存队列的最佳长度l0为:其中c1(0<c1<1)和c2(0<c2<1)是权值,且c1+c2=1。ρ=λ/μρ表示以太网在单位时间内传输数据帧的平均个数,λ表示单位时间内进入缓存队列的平均数据帧个数,μ表示以太网在单位时间内传输数据帧的平均个数。s2:定义udp拥塞级别令length为当前udp数据包发送缓存队列的长度,根据当前udp数据包发送缓存队列的长度与缓存队列的最佳长度的偏差程度l0定义udp拥塞级别。预测udp拥塞级别的流程图如图2所示。将拥塞级别划分为以下两个等级:拥塞级别12网络状态空闲拥塞length的范围0<length≤l0l0<lengths3:根据拥塞级别和拥塞判断方法调整发送速率本发明调整数据包发送速率的时机是在执行完一次“发送-接收”操作后判断拥塞级别后立即调整的,最大限度的压缩了拥塞级别的判断间隔时间。为了满足udp数据包在传输过程中对负载平滑性的要求,采用了自适应参数设置的和式增加和式减少的速率控制方法。令udp数据包传输速度区间范围为[ratemin,ratemax],其中ratemin表示udp数据包可接受的最小传输速率,ratemax表示udp数据包的目标速率,令ratenow为udp数据包的即时发送速率。(1)当网络处于空闲状态时,即0<length≤l0,udp数据包的即时发送速率ratenow为:ratenow=min{ratenow+β,ratemax};此时网络处于欠载状态,为了能快速充分的利用网络资源,β的取值由下式决定:即β的取值范围为[ratemax×10%,ratemax×20%]。(2)当网络处于拥塞状态时,即l0<length,udp数据包的即时发送速率ratenow为:ratenow=max{ratenow-γ,ratemin};此时网络处于拥塞状态,为了实现网络负载平滑,γ的取值由下式决定:上式中的β为和式加因子,γ为和式减因子,β和γ的值根据当前udp数据包发送缓存队列的长度length的值动态确定。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1