150 likes | 330 Views
TCP 连接传输速率限制因素的测量和诊断. 吕国晗,严程,李星 清华大学电子工程系 NGN 实验室. 该图来自 http://e2epi.internet2.edu/btg/. 背景. TCP 被广泛使用 Web File downloading P2P sharing/streaming 90% 以上的数据包传输使用 TCP 协议 TCP 速率受限如何诊断?. 研究动机. TCP 的速率限制因素 应用层协议 发送端窗口 → 增大发送端缓存 ( 主机 ) 接收端窗口 → 增大接收端缓存 ( 主机 ) 拥塞窗口 → 找出丢包的原因 (ISP)
E N D
TCP连接传输速率限制因素的测量和诊断 吕国晗,严程,李星 清华大学电子工程系NGN实验室
背景 • TCP被广泛使用 • Web • File downloading • P2P sharing/streaming • 90%以上的数据包传输使用TCP协议 • TCP速率受限如何诊断?
研究动机 • TCP的速率限制因素 • 应用层协议 • 发送端窗口 →增大发送端缓存(主机) • 接收端窗口 → 增大接收端缓存(主机) • 拥塞窗口 → 找出丢包的原因(ISP) • 瓶颈带宽 → 提高瓶颈链路的带宽(ISP) • 如何诊断 • 仅仅丢包和延迟不能说明问题
大纲 • 相关工作 • 基本思路 • 诊断方法 • 仿真结果 • 结论和今后的工作
相关工作 • 从TCP协议栈中提取信息 • Web100: 在Linux TCP协议栈中增加各种统计量 • 分析Packet trace • Zhang, et al [SIGCOMM 2000] • Siekkinen, et al [CoNEXT 2005] • Timmer, et al [IEEE/IFIP 2006] • 基本思路:分析Flight size的变化
基本思路 • 只考虑TCP Bulk Transfer • TCP速率 = 平均窗口/平均RTT • 平均窗口受限,RTT与窗口大小无关 • 瓶颈带宽限制,RTT随窗口线性增长
确定窗口受限因素(I) • 获得Flight size的变化过程 • 确定确认包和数据包的对应关系 • 发送端trace • Fligh size = DATA.snd_max - ACK.snd_una Packet Capture TCP Stack ACK DATA
确定窗口受限因素(II) • 分析Flight size的变化过程 • 接收端窗口限制的确定 • 接收端窗口大小在TCP包头 • 发送端窗口和拥塞窗口限制的区别 • 受限于发送端窗口:Flight size长时间不变化 • 受限于拥塞窗口:Flight size定期增长 • 模拟TCP拥塞窗口线性增长过程,比较模拟值和实际的Flight size
RTT的测量 • RTT = T0–T1 • T0是收到确认包的时间 • T1是发送数据包的时间 T1 TCP Stack Internet DATA ACK T0
仿真实验 • 实验床 • 网络环境 • 网路丢包 • 大带宽延迟积链路 • 瓶颈带宽
结论和今后的工作 • 工具能很好定位TCP链接的速率限制因素 • 应用到实际网络中 • 和web100进行比较 • 将分析扩展到对接收端trace的支持