技术特征:
1.一种利用报文序号和报文时间戳预测UDP拥塞程度的方法,其特征在于,包括以下步骤:
S1:预测UDP数据包的单程延时时间;
S2:根据UDP数据包的单程延时时间的波动预测拥塞程度,从而判断UDP拥塞级别;
S3:根据拥塞级别和拥塞判断方法调整发送速率。
2.如权利要求1所述的方法,其特征在于,步骤S1具体为:
在基于UDP协议进行网络传输时,发送端将当前报文包的序号和发送时的时戳作为报文内容发送给接收端,接收端收到发送端的报文后,向发送端反馈接收确认报文,接收确认报文中包含报文序号和报文时戳,其中接收确认报文中的报文序号与发送端发送的报文序号相同,接收确认报文中的报文时戳是接收端收到报文后的时戳,UDP数据包的单程延时时间等于接收端发送的接收确认报文中的报文时戳值与发送端发送报文中的时戳值之差;
发送端接收到接收端发送的接收确认报文后,首先比较两个报文序号是否相同,若不相同,表明该条接收确认报文不是来自当前已发送报文的反馈,则不计算单程延时时间;若相同,则将接收端反馈的时戳值减去发送端发送的时戳值,得到UDP数据包的单程延时时间。
3.如权利要求2所述的方法,其特征在于,利用低通滤波器预测第n+1包的单程延时时间为:
Dn+1=Dn+α×(bn-Dn) (1)
其中,α(0<α<1)是修正因子,Dn表示预测的第n包的单程延时时间,bn表示当前实际测量的单程延时时间,根据α的大小可调节bn对Dn的影响。
4.如权利要求3所述的方法,其特征在于,在公式(1)中,令D2=b1,即用实际测量得到的b1值作为预测的第2包的单程延时时间。
5.如权利要求4所述的方法,其特征在于,步骤S2具体为:
令第n包报文的发送时戳为STn,第n+1包报文的发送时戳为STn+1,第n包报文的接收时戳为RTn,第n+1包报文的接收时戳为RTn+1,根据UDP数据包的接收时间间隔和发送时间间隔差值的偏差程度定义拥塞级别;
令L为拥塞级别表征值,其计算方法为:
其中,STn+1-STn表示相邻两包的发送时间间隔,RTn+1-RTn表示相邻两包的接收时间间隔,L的值越大,表明拥塞程度越高;
根据L值将拥塞级别划分为下表中的三个等级:
拥塞级别123网络状态空闲良好拥塞L的范围0<L≤WuWu<L≤WlL≥Wl
其中,Wu表示网络低负载状态时的上限值,Wl表示网络轻度拥塞状态时的下限值。
6.如权利要求5所述的方法,其特征在于,步骤S3具体为:
令UDP数据包传输速度区间范围为[Ratemin,Ratemax],其中Ratemin表示UDP数据包可接受的最小传输速率,Ratemax表示UDP数据包的目标速率,令Ratenow为UDP数据包的即时发送速率;
当网络处于空闲状态时,即0<L≤Wu,UDP数据包的即时发送速率Ratenow为:
Ratenow=min{Ratenow+β,Ratemax}; (3)
此时网络处于欠载状态,β的取值由下式决定:
即β的取值范围为[Ratemax×20%,Ratemax×40%]。
当网络处于拥塞状态时,即L≥Wl,UDP数据包的即时发送速率Ratenow为:
Ratenow=max{Ratenow-γ,Ratemin}; (5)
此时网络处于拥塞状态,γ的取值由下式决定:
。
7.如权利要求6所述的方法,其特征在于,β和γ的值根据拥塞级别L的值动态确定。