实验七 TCP 协议的拥塞控制机制观察

来源:互联网 发布:python中tile函数 编辑:程序博客网 时间:2024/04/27 19:52

一、实验任务

仔细阅读课本中关于TCP 拥塞控制的介绍以及拥塞控制算法的状态自动机,完成以下任务。
1. 利用Wireshark 记录若干TCP 短流(少于5 秒,如访问web 页面,收发邮件等)和TCP长流(长于1 分钟,如FTP 下载大文件,用HTTP 观看在线视频等)。
2. 对于每个TCP 流,画出其congestion window 随时间的变化曲线,并指出拥塞控制的慢启动、拥塞避免、快恢复等阶段。
3. 画出每个TCP 流的瞬时吞吐量,并统计其平均吞吐量和丢包率。

二、wireshark记录TCP流

TCP短流

TCP短流

TCP长流

TCP长流

三、分析TCP流

TCP短流

TCP短流I/0图

本实验图我实验了好几次,经常理论与时间不匹配,这次实验是比较完美的……
慢启动阶段指数增长,然后到达阈值后拥塞控制,拥塞窗口线性增长。在第三秒时由于受到三个连续的冗余ACK所以将ssthresh值设置为0.5cwnd。之后将拥塞窗口设置为相应值,并线性增加。


TCP短流流量属性
此图为瞬时吞吐量,整体趋势与congestion window一致。


TCP短流流量属性
由此图可见,平均吞吐量为136k字节/秒(1090k比特/秒)。12秒中(12次抓包,时间间隔为1秒)下降了4次,即为丢了四次包。故平均吞吐率为 4÷12×100%=33.33%


TCP长流

TCP长流I/0图
本TCP长流是我在清华开源镜像站中下载测试而来,尝试了几次寻找到一个看起来比较符合的,具体的信息图中可见。


TCP长流流量属性
此图为瞬时吞吐量,整体趋势与congestion window一致。


TCP长流流量属性
由此图可见,平均吞吐量为3014k字节/秒(24M比特/秒)。60秒中(60次抓包,时间间隔为1秒)下降了11次,即为丢了11次包。故平均吞吐率为 11÷60×100%=18.33%

三、实验心得与体会

感觉本次时间在通读《计算机网络》教材运输层后比较简单,难点在于
1. wireshark的统计工具的应用
2. 你能不能在捕捉TCP流后出现你脑中假象的与书上一致的流
由于真正的网络环境与网络协议比较错综复杂,所以大多时候并没有显示出我们预期的应有的图形与走向。

原创粉丝点击