第十五讲:网络测量
概述
定义:按照一定方法和技术,使用硬件或软件来量度网络运行状态,表征网络特性的一系列活动的总和
应用:监测网络故障,测试协议行为,刻画流量特征,评估网络性能
几个重大发现
协议方面:TCP协议占了大部分网络流量
流量方向方面:流量是双向的,通常非对称(下载密集型)
流量payload方面:大象流和老鼠流(占总数9%的流承载了90%的流量),数据包大小分布两极化(要么MTU,要么就一个ACK)
流量持续时间方面:蜻蜓流和乌龟流(45%的流持续时间小于2s,不到2%的流持续时间超过15min并承载了50%以上的流量)
到达分布方面:数据会话请求(session)到达服从泊松分布(用户访问服从泊松分布),数据包(package)到达不服从泊松分布(具有突发性)
流量分布方面:流量分布不均衡(C/S架构,10%的主机占了90%的流量,幂律分布),网络流量有明显本地特征,时间、空间局部性
网络测量指标
最基本的三大指标:带宽、时延、丢包率
网络测量分类
按测量方式:主动测量和被动测量
按测量内容:拓扑测量、性能测量、流量测量
按测量点所在层次:网络层测量、应用层测量
按测量者是否知情:协作式测量、非协作式测量
按测量所采用协议:基于BGP、基于TCP、基于SNMP(简单网络管理协议)
按测量方式
主动测量
由测量用户发起,把探测分组注入网络,根据测量数据流的传送情况来分析网络性能
优点是使用方便,适合端到端的网络测量,只要在本地发送测试包观察网络响应即可
缺点是增加了网络的潜在负担,会对网络行为产生影响
被动测量
通过在网络中的链路或设备上借助包捕获工具的方式来记录并分析网络流量,获知网络性能
优点是测量的是真实流量,能够达到对观察点网络行为的详尽理解
缺点是该方式可能要查看所有数据包,包括一些敏感信息,威胁用户信息的保密性和安全性,测量范围受限
按测量内容
网络拓扑测量
了解网络拓扑结构,用于资源调度和流量分配
性能测量
监测网络端到端时延、抖动、丢包率等,了解网络可达性、利用率、负荷等
流量测量
对数据流的特性进行检测和分析,掌握网络的流量特性,如协议的使用情况、应用分布、用户的行为特征等等
网络带宽测量
定义
带宽/容量指该链路上数据报文的最大传输速率
瓶颈带宽/容量指源节点到目的节点之间处理能力最低的链路所达到的最大传输速率
可用带宽指当应用程序和其他背景流量共享带宽时该应用程序所能得到的带宽,也即网络在不降低其他业务流的传输速率情况下所能给一个业务流提供的最大传输速率,可用带宽最小的称为颈链路
可用带宽测量方法
模型
探测报文间隔模型(PGM)
链路带宽为
C
C
C,发送端连续发送两个数据包,大小为
L
L
L,时间间隔为
Δ
=
L
/
C
Δ=L/C
Δ=L/C,接收端接收这对数据包的时间间隔为
Δ
′
Δ'
Δ′,可用带宽为
A
A
A,则
A
=
C
(
1
−
Δ
′
−
Δ
Δ
)
A=C(1-\frac{Δ'-Δ}{Δ})
A=C(1−ΔΔ′−Δ)
探测报文速率模型(PAM)
使用自导拥塞思想进行带宽测量
测试报文发送速率<链路可用带宽时时延相对固定,由网络物理特性决定;测试报文发送速率>链路可用带宽时出现排队现象,时延增大,则导致时延增大的拐点对应的发送速率代表了链路的最大可用带宽
缺点是测量过程本身会影响网络状态和已知流量特征,导致网络不稳定和性能下降
瓶颈带宽测量
模型
变长包序列模型
**假设条件:**传输延迟和包大小成线性关系;背景流量只会增加包延迟;特定大小的多个测量包中往返RTT最小的包可以近似认为在通路中没有经历排队;包转发时间忽略不计
**测量原理:**通过设置TTL值给中间每一跳节点都发一列相同大小的n个包,目的端接收到测量包后返回ACK,计算测量包的第n跳和第n+1跳的RTT差值,该过程重复k次,每次取不同大小的测量包,通过逐跳链路带宽计算获得通路的瓶颈带宽
缺点是花时间太多,消耗带宽太大;测量工具多用ICMP或UDP,但很多路由器给这两种包的优先级都比较低甚至无响应,导致结果不准确;没有IP地址的二层存储转发设备的处理时间影响测量结果;双向延迟引起对于不对称正反向链路测量结果的影响;通路最大MTU和端系统的时间粒度决定了测量上线,难以用于高速网络测量
基于包对的模型
假设条件:两包发送间隔足够小,在进入瓶颈链路前紧邻;瓶颈链路的排队机制是FIFO;传输延迟和包大小呈线性关系;路由器存储转发
测量原理:如果两个数据包在瓶颈链路相邻,则两个数据包到达接收端的时间间隔为 t = S 2 B b o t t l e n e c k t=\frac{S_2}{B_{bottleneck}} t=BbottleneckS2, S 2 S_2 S2是第二个数据包的大小、
影响测量精度的因素:背景流量影响两包之间的间隔;包丢失;两包在瓶颈链路的后续链路再次排队引起包间隔变化;系统时钟粒度限制
拓扑测量
包括IP级,路由器级,PoP级,AS级
traceroute
原理是利用IP路由器对TTL的处理,应用于IP级拓扑,探测节点发送UDP消息,中间节点回复ICMP消息
优点是不受网络管辖范围限制,缺点是效率低,要发一系列探测包;部分中间路由器不回复ICMP(测到的一定准确,但不一定完备)
别名解析
路由器多接口,每个接口对应一个ip,别名解析即监测哪些ip地址属于同一个路由器,聚合这些ip
方法包括:
使用DNS进行反向域名查询,对这些ip做反向域名查询,它们的域名应该相同
使用IP数据包的identification字段,同一个路由器发送的数据包的该字段连续
基于ICMP消息:TTL超时,ICMP消息源地址是路由器上的入口地址,端口不可达,ICMP消息源地址是路由器上的出口地址
生成AS级网络拓扑
IP到AS需要两个步骤:IP地址映射到最佳前缀→最佳前缀映射到源AS
betweeness:节点出现在了多少个最短路径上,刻画节点重要性,节点度高的一般betweeness也高
基于网络测量的QoE优化
关键问题是比特率自适应,需要准确的吞吐量预测(更好的初始比特率选择和流中比特率切换)
实际现象:会话进行中吞吐量变化显著,吞吐量分布存在状态,相似的会话有相似的吞吐量,会话特征和吞吐量之间关系复杂