实验目的
应用所学知识:
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时结束了慢启动,并进入了拥塞避免阶段。文章来源:https://www.toymoban.com/news/detail-419403.html
(2)我们在书本中研究的 TCP 的理想化行为是建立在数据包大小较大的情况下进行传输的,所以对于较小的数据包传输,我们的设定在某种方面可能制约了网络传输,例如慢启动等设定。文章来源地址https://www.toymoban.com/news/detail-419403.html
到了这里,关于【计算机网络】TCP协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!