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

一、实验任务

仔细阅读课本中关于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流后出现你脑中假象的与书上一致的流
由于真正的网络环境与网络协议比较错综复杂,所以大多时候并没有显示出我们预期的应有的图形与走向。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
TCP拥塞控制机制是为了防止网络中的拥塞情况,并保证网络的可靠性和公平性。TCP拥塞控制机制主要包括四种算法:慢启动、拥塞避免、快速重传和快速恢复。 1. 慢启动(Slow Start):在TCP连接建立时,TCP会先发送一个很小的数据包,在收到对方的确认后,会逐渐增加发送数据包的数量,直到网络出现拥塞为止。这个过程被称为慢启动。慢启动算法的目的是为了快速占用可用的带宽,同时也可以避免网络出现拥塞。 2. 拥塞避免(Congestion Avoidance):当网络出现拥塞时,TCP会采用拥塞避免算法来减少发送数据包的数量。拥塞避免算法主要是通过增加拥塞窗口的大小来减少发送数据包的数量。拥塞窗口是指TCP可以发送的数据包数量,拥塞窗口的大小会根据网络出现拥塞的情况进行调整。 3. 快速重传(Fast Retransmit):当TCP发送的数据包在传输过程中丢失时,TCP会启动快速重传算法来尽快地重传数据包。快速重传算法不会等待超时,而是在接收到连续的三个相同的确认消息时,就会立即重传数据包。 4. 快速恢复(Fast Recovery):在快速重传算法中,当TCP重传数据包时,会将拥塞窗口减半,以便尽快减少发送数据包的数量。而在快速恢复算法中,当TCP重传数据包时,拥塞窗口不会减半,而是将拥塞窗口设置为拥塞窗口的一半,并继续发送数据包。这样可以减少网络的拥塞情况,同时也可以提高网络的吞吐量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值