计算机网络自顶向下 Wireshark实验 Lab4 TCP
不写答案,本文章只记录 任务 和 问题
开始Wireshark Lab TCP
先在Wireshark Lab官网下载相应文档:https://gaia.cs.umass.edu/kurose_ross/wireshark.php
翻译 (也可以选择DeepL翻译)
在这个实验室中,我们将详细研究著名的TCP协议的行为。我们将通过分析从你的计算机向远程服务器传输一个150KB的文件(包含刘易斯-卡罗尔的《爱丽丝梦游仙境》的文本)时发送和接收的TCP段的轨迹来实现这一目的。我们将研究TCP使用序列号和确认号来提供可靠的数据传输;我们将看到TCP的拥塞控制算法–慢速启动和拥塞避免–在过程中;我们将看看TCP的接收者通知流控制机制。我们还将简要考虑TCP连接的设置,并调查你的计算机和服务器之间的TCP连接的性能(吞吐量和往返时间)。
不写答案,本文章只记录 任务 和 问题
任务
下载alice.txt
文件:<http://gaia.cs.umass.edu/wiresharklabs/
alice.txt>
下载完alice.txt
文件后,访问http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html
打开 Wireshark开始捕获,然后 选择文件 并 Upload alice.txt file
出现 Congratulations! … … 后,停止捕获。
Q & A
1.将文件传输到gaia.cs.umass.edu的客户计算机(源)所使用的IP地址和TCP端口号是什么?要回答这个问题,最简单的方法可能是选择一个HTTP消息,然后使用 “所选数据包头的细节窗口”(如果你对Wireshark窗口不确定,请参考 "Wireshark入门 "实验室的图2),探索用于传输这个HTTP消息的TCP数据包的细节。
2.gaia.cs.umass.edu的IP地址是什么?它是在哪个端口号上发送和接收这个连接的TCP段?
3.你的客户电脑(源端)用来传输文件到gaia.cs.umass.edu的IP地址和TCP端口号是什么?
4.用于启动客户端计算机和gaia.cs.umass.edu之间的TCP SYN段的序列号是什么?在该段中,有什么东西可以确定该段是SYN段?
5.gaia.cs.umass.edu为回复SYN而向客户计算机发送的SYNACK段的序列号是什么?SYNACK段中的Acknowledgement字段的值是多少?gaia.cs.umass.edu是如何确定这个值的?在该段中,有什么东西可以确定该段是SYNACK段?
6.包含HTTP POST命令的TCP段的序列号是什么?请注意,为了找到POST命令,你需要挖掘Wireshark窗口底部的数据包内容字段,在其DATA字段中寻找一个带有 "POST "的段。
7.考虑将包含HTTP POST的TCP段作为TCP连接的第一个段。TCP连接中前六个段的序列号是什么(包括含有HTTP POST的段)?每个网段是在什么时候发送的?每个网段的ACK是什么时候收到的? 考虑到每个TCP网段的发送时间和收到确认的时间之间的差异,六个网段的RTT值是多少?在收到每个ACK后,估计RTT值是多少(见3.5.3节,第242页)?假设EstimatedRTT的值等于第一个网段的测量RTT,然后用242页的EstimatedRTT方程计算出所有后续网段的RTT值。
注意:Wireshark有一个很好的功能,可以让你绘制每个发送的TCP段的RTT。在 "捕获数据包列表 "窗口中选择一个正在从客户端发送到gaia.cs.umass.edu服务器的TCP段。然后选择。统计->TCP流图->往返时间图。
8.前六个TCP段的长度是多少?
9.在整个跟踪过程中,在接收方公布的最小可用缓冲区空间是多少?接收方的缓冲空间不足是否会影响到发送方?
10.追踪文件中是否有任何重传的片段?为了回答这个问题,你(在跟踪中)检查了什么?
11.接收方通常在一个ACK中确认多少数据?你能找出接收方每收到一个段就确认一次的情况吗(见正文第250页的表3.2)。
12.TCP连接的吞吐量(每单位时间传输的字节数)是多少? 解释一下你是如何计算这个数值的。
13.使用Time-Sequence-Graph(Stevens)绘图工具,查看从客户端发送到gaia.cs.umass.edu服务器的段的序列号与时间的关系。你能确定TCP的慢速启动阶段在哪里开始和结束,以及拥塞避免在哪里发生吗?评论一下测量数据与我们在课文中研究的TCP的理想化行为的不同之处。
14.回答上述两个问题:当你把一个文件从你的电脑传输到gaia.cs.umass.edu时,你收集到的跟踪数据。