当前位置:   article > 正文

【计算机网络】TCP协议_包含http post消息的tcp报文段的序号是

包含http post消息的tcp报文段的序号是

实验目的

应用所学知识:

1. 熟悉 TCP 的协议格式。

2. 理解 TCP 对序列号和确认号的使用。

3. 理解 TCP 的流量控制算法和拥塞控制算法。

实验步骤与结果

1.任务一:

将Alice.txt上传到服务器:

使用wireshark捕获数据包,看到计算机和gaia.cs.umass.edu之间的一系列 TCP 和 HTTP 通信,包括TCP初始三次握手建立连接:

以及包含FIN的TCP连接关闭请求:

2.任务二:

(1)源IP地址为192.168.1.102 ; TCP端口号为1161。

(2)gaia.cs.umass.edu 的IP地址为128.119.245.12,在端口号80上发送接收连接。

3.任务三:

按照实验指导的操作过滤数据包,把相对序列号改为绝对序列号:

(1)查看三次握手的数据包:

用于在客户端计算机和 gaia.cs.umass.edu 之间启动 TCP 连接的 TCP SYN 报文段的序列号(sequence number)是232129012,TCP SYN 报文段的作用是开始三次握手,主机发送SYN请求服务器建立连接。

(2)查看第二次握手返回的数据包信息:

gaia.cs.umass.edu发送给客户端计算机以回复 SYN 的 SYN-ACK 报文段的序列号是883061785,SYNACK报文段中的 Acknowledgment number 栏位的值是232129013,Ack 字段用于表示确认字段中的值是有效的, TCP SYN-ACK 报文段的作用是说明服务器成功接收了我们发出的连接请求。

(3)找到包含 HTTP POST 命令的 TCP 报文段:

查看其序列号为232129013:

(4)编号3和4的TCP报文段的序列号相同,均为232129013:

编号4的报文段表示开始传输数据,使用的序列号从第三次握手发送的数据包序列号开始。

(5)找到这个 TCP 连接中前六个用于数据发送的 TCP 报文段:

可见编号(No.)分别为4、5、7、8、10、11。

序列号分别为232129013、232129578、232131038、232132498、232133958、232135418。

如图分别查看发送时间:

可知发送时间分别为:

Aug 21, 2004 21:44:20.596858000 中国标准时间、

Aug 21, 2004 21:44:20.612118000 中国标准时间、

Aug 21, 2004 21:44:20.624407000 中国标准时间、

Aug 21, 2004 21:44:20.625071000 中国标准时间、

Aug 21, 2004 21:44:20.647786000 中国标准时间、

Aug 21, 2004 21:44:20.648538000 中国标准时间。

(6)找到收到的对应前六个数据发送 TCP 报文段的确认 ACK:

编号(No.)分别为6、9、12、14、15、16。

查看可知接收时间分别为:

Aug 21, 2004 21:44:20.624318000 中国标准时间、

Aug 21, 2004 21:44:20.647675000 中国标准时间、

Aug 21, 2004 21:44:20.694466000 中国标准时间、

Aug 21, 2004 21:44:20.739499000 中国标准时间、

Aug 21, 2004 21:44:20.787680000 中国标准时间、

Aug 21, 2004 21:44:20.838183000 中国标准时间。

(7)如图所示查看每个报文段的RTT:

可见RTT分别为0.027460000 seconds、0.035557000 seconds、0.070059000 seconds、0.114428000 seconds、0.139894000 seconds、0.189645000 seconds。

使用公式EstimatedRTT = (1 - a) × EstimatedRTT + a × SampleRTT,a取推荐值0.125

计算出前六次的加权平均往返时延为0.072514242 seconds。

另外还可以查看wireshark为TCP报文段绘制的RTT图表:

(8)依次查看前六个数据发送 TCP 报文段的长度:

可见长度分别为565、1460、1460、1460、1460、1460。

(9)对于整个抓包过程,收到的服务器声明的最小可用接收缓冲区空间(接收窗口)大小是6780:

整个过程中声明的接收缓冲区空间限制了发送方传送 TCP 报文段。

(10)在wireshark的统计->TCP流图形中检查数据包的时间序列:

可见序列号与时间呈线性关系,因此没有发生重传。

(11)接收方通常在 ACK 中确认收到的序列号。

可以识别接收方每隔一个接收到的报文段才发送确认 ACK 的情况,如图所示:

(12)计算公式为平均吞吐量(每单位时间传输的字节数)=传输数据的字节数÷ 接收方接收所有数据所用时间

从wireshark的统计->TCP流图形->吞吐量可以查看吞吐量:

4.任务四:

      使用 Wireshark 的 TCP 图形工具查看时间序列图:

(1)慢启动是指连接开始时,发送速率呈指数增长,在图中可以看出:

可见,从第一个TCP区段(分组5)发送时开始慢启动,在分组13时结束了慢启动,并进入了拥塞避免阶段。

(2)我们在书本中研究的 TCP 的理想化行为是建立在数据包大小较大的情况下进行传输的,所以对于较小的数据包传输,我们的设定在某种方面可能制约了网络传输,例如慢启动等设定。

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

闽ICP备14008679号