当前位置:   article > 正文

[计算机网络实验] TCP协议_两次 duplicated ack 肯定是乱序造成的

两次 duplicated ack 肯定是乱序造成的

[计算机网络实验] TCP协议

Written by Landasika

跟踪TCP流

三次握手四次挥手的过程

在这里插入图片描述TCP的三次握手标志传输的开始

在这里插入图片描述服务器向主机发送OK的包并且FIN的值是1,也就是四次挥手的开始,标志着传输的结束。

跟踪TCP流找到发送的包

在这里插入图片描述
选定一个TCP流进行跟踪

在这里插入图片描述
可以发现这个是一个GET请求的一个HTTP报文。

继续分析。
在这里插入图片描述第一个GET请求是请求这个图片,然后通过tcp传输。
在这里插入图片描述

最后GET请求回复OK,表名传输完成。

在这里插入图片描述找到OK传输完成的HTTP包,选中JPEG的包。
Ctrl+Shift+O
在这里插入图片描述
这里可以查看到传输的图片。

分析TCP快重传的过程

主机报文重传是TCP最基本的错误恢复功能,它的目的是防止报文丢失。

在这里插入图片描述

在这里插入图片描述

一般快速重传算法在收到三次冗余的Ack,即三次[TCP dup ack XXX#X]后,发送端进行快速重传。
为什么是三次呢?因为两次 duplicated ACK 肯定是乱序造成的,丢包肯定会造成三次 duplicated ACK。

在这里插入图片描述

在这里插入图片描述

分析TCP重传过程

在这里插入图片描述
这个地方网络异常导致重传,观察第一个包发现校验和是并没有校验的。
那么就是包丢失,进行超时重传。
超时重传,如果一个包的丢了,又没有后续包可以在接收方触发[Dup Ack],或者**[Dup Ack]也丢失**的情况下,TCP会触发超时重传机制。
在这里插入图片描述

分析TCP累计确认过程

访问一个网站,随便跟踪一个TCP流
在这里插入图片描述TCP的三次握手标志传输的开始

在这里插入图片描述

本机向服务器发送序号为1,长度为410字节的TCP段。同时期望收到序号为1的数据。

在这里插入图片描述

服务器确认收到序号为1的字段,并发送长度为0字节的TCP字段,告诉服务器,表示我已经收到确认了。

在这里插入图片描述
服务器向本机传输数据,希望得到序号为411的确认包

在这里插入图片描述
主机向服务器发送序号为411,希望得到序号为13601的确认包。告诉服务器,你之前发送的数据我都接受到了。

在这里插入图片描述服务器继续向主机发送数据,期望得到序号为411的确认包。

在这里插入图片描述服务器向主机发送OK的包并且FIN的值是1,也就是四次挥手的开始,标志着传输的结束。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/565319
推荐阅读
相关标签
  

闽ICP备14008679号