《End-to-End Internet Packet Dynamics》简介

End-to-End Internet Packet Dynamics

本文介绍了Internet端到端路由的变化特性和端到端包传输的特性(比如丢包,乱序,Duplicate和延迟)。

本文通过大量的实验,测试了互联网上不同站点之间的连接,并进行统计分析,主要分析了:数据包的乱序,带宽,丢包率,以及延时。实验分别实施于1994年和1995年,其中1994年测量了200组测试,1995年进行了1200组测试。下面并不介绍实验方法,只对实验结果进行介绍和探讨。

【乱序(out-of-order delivery)】

在Internet中,数据包乱序是普遍存在的。1994的测量数据表示有2.0%的数据包发生乱序,1995年这个数字变为0.6%。且考虑到流量因素,TCP的data包比ack包乱序的几率更大。但是上面的数字并不能说明1995年数据包乱序情况得到显著改善,因为数据包的乱序情况和站点有显著的关系,比如某站点ucol甚至存在15%的data数据包乱序,远远超出了平均值。此外,数据包的乱序是非对称的,这在网络带宽、延时等上面也有体现,种种数据表明,网络是非对称结构。数据包的乱序和丢包并没有必然的连续,某些持续丢包的链路上可能并不存在丢包现象,因而也并不存在TCP超时重传。

最后,根据测量得到结论:Internet上的乱序并不罕见,但是某些站点更倾向于出现,且乱序的出现和路由器的抖动有关。

TCP窗口增加可以一定程度上降低抖动对网络质量带来的影响。

【注】

1. 早起互联网上的路由器实行FIFO原则,即先进先出队列,但是当路由路径出现变动时,仍然有可能出现数据包的乱序。但现在已经有很多路由器采用了主动队列管理算法(active queue management,简称 AQM),FIFO原则并非完全执行,所以数据包的乱序情况可能仍然存在。

2. 文章观察到由于路由表的更新,在部分时候会存在路由转发暂停110ms,从而影响数据包的到达时间。

 

【数据包重复(packet replication)】

数据包的重读发生较少,且存在两种重复:

1.     在发送端检测到重复数据包

2.     在接收端检测到重复数据包

在1994年的测量中,仅出现一次replication,发送端发送的一个数据包在接收端被接收了9次,每次的时间间隔32ms;而1995年的测试发现了65次数据包的重复现象,仅站点sintef1和sintef2就参与了其中一半次数的重读。因为数据包的重复和具体站点相关,且无法复现,因而文章对数据包的重复并没有进行重点讨论。仅能得出结论:replication和站点有明显的关联。

 

【数据包损坏(packet corruption)】

在数据链路中,站点lbli通过ISDN网络连接,其corruption的概率较大。从实验结果中剔除lbli的影响后,总得corruption概率为0.02%。文章指出,在每2000个数据包中存在一个corruption的情况下,加上TCP的16位checksum,有可能会存在300 million数据包中存在一个通过校验而实际发生corruption的数据包。而如果校验序列达到32位,该数字将降低为每2×10^32数据包中出现一个被接受的corruption。且data数据包的corruption概率远超出ack数据包的corr概率,可能因为单个数据包的长度越长,corruption发生的概率越大。

 

【瓶颈带宽(Bottleneck bandwidth)】

网络带宽的测试采用改进的packet pair算法。原始的packet pair算法可能会受到以下情况的影响:

  •  数据包的乱序
  •  时钟精度的限制
  •  瓶颈带宽的改变
  •  多径路由

文章提出了一种改进的packet pair算法,算法具体细节再次不加详细介绍,最终得出以下结论:

1. 站点之间的bottleneck bandwidth的变化并不频繁(infrequent)

2. 对于两个站点,不超过20%的概率使得两个方向的带宽相差超过20%,即虽然网络存在不对称性,但是双向之间仍有关系。

 

【数据包丢失(packet loss)】

1994年的观测数据表明存在2.7%的丢包,而1995年该数据达到了5.2%,将近增加一倍。

丢包率和链路的状态有关。文章推测,链路存在两种状态,分别为“quiescent”和“busy”,在quiescent状态下,链路丢包率很小,而busy状态下,链路丢包严重。1994年和1995年busy下的丢包率分别达到了5.7%和9.2%。对此作者提出猜想:链路的丢包可以用连续状态的马尔科夫模型描述,已经在丢包的链路倾向于继续丢包,而不存在丢包的链路倾向于不丢包。一般来说,丢包和不丢包的持续时间都在几个小时。

虽然可以利用上面的模型简单推测链路在接下来的时间内是否丢包,但是丢与丢包率完全无法预测。

当出现丢包时,丢失数据包后的数据包有更大可能性被丢掉,即loss burst,但是文章并没有给出明确的说明两者之间存在何种联系。

 

【数据包延时(packet delay)】

文章仅分析了OTT(One-way Transit Time),没有考虑RTT。文章通过其他工具处理不同计算机之间时间对准的问题。

文章表明, 延时服从shifted gamma distribution,但是不同的链路参数会有很大的不同。考虑到文章测量了很多不同的链路,因而并没有计算gamma分布的参数。

数据包的延时可能导致Timing compression情况,即对于连续发送的数据包,发送间隔为t1,接收间隔为t2,最后有t1>t2.。这是因为延时导致路由器中存在背景流量,给探测数据带来延时导致的。

延时发生的时间尺度为0.1-1s,但在其他更长的尺度上也频繁发生。


【说明】

1.     本文的各种测试都是基于TCP进行,而Guphone的语音数据基于UDP;

2.     本文发表于1997年,网络测量实施于1994年和1995年,当时的网络带宽等和现在已经不同;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值