1 捕获从计算机到远程服务器的批量TCP传输
1.1 实验
- 启动您的
web
浏览器。进入http://gaia.cs.umass.edu/wiresharklabs/ Alice.txt
,获取《爱丽丝梦游仙境》的ASCII
码副本。将这个文件存储在计算机上的某个地方。 - 下一步请访问
http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html
。使用此表单中的Browse
按钮输入文件名称(完整路径名称)在包含《爱丽丝梦游仙境》的电脑上(或手动操作)。还不按下“上传alice.txt
文件”按钮。 - 现在启动
Wireshark
并开始抓包(capture -> start
),然后按下在Wireshark Packet Capture Options
屏幕上显示OK
(我们不需要选择any
)选项)。 - 返回浏览器,按“上传
alice.txt
文件”按钮上传文件到gaia.cs.umass.edu
服务器。上传文件后,一个简短的祝贺消息将显示在您的浏览器窗口中。 - 停止抓包。
Wireshark
窗口看起来应该类似于窗口如下所示。
2 第一次看到捕获的痕迹
2.1 实验
- 在
Wireshark
窗口最上方的显示过滤规则窗口中输入tcp
(小写,不加引号,输入后不要忘记回车!),对Wireshark
窗口显示的报文进行过滤。 - 观察计算机和
gaia.c.umass.edu
之间的一系列TCP
和HTTP
消息。
2.2 QA
- 传输文件到
gaia.c.umass.edu
的客户端计算机(源)使用的IP
地址和TCP
端口号是什么?要回答这个问题,最简单的方法可能是选择一条HTTP
消息,然后使用所选包头窗口的详细信息来研究用于携带该HTTP
消息的TCP
数据包的详细信息。
gaia.cs.umass.edu
的IP
地址是什么?它在哪个端口号上发送和接收这个连接的TCP
段?
- 您的客户端计算机(源)用于将文件传输到
gaia.c.umass.edu
的IP
地址和TCP
端口号是什么?
同问题一。
3 TCP基础知识
3.1 实验
同实验一。
3.2 QA
- 用于在客户端计算机和
gaia.c.umass.edu
之间发起TCP
连接的SYN
段的序号是多少?在这个段中是什么将这个段标识为SYN
段?
序号为0;标志位中的syn
标志为1。 gaia.cs.umass.edu
发送给客户端计算机回应SYN
的SYNACK
段的序列号是什么?SYNACK
段中确认字段的值是什么?gaia.c.s.umass.edu
是如何确定这个值的?在这个段中是什么将这个段标识为SYNACK
段?
序列号为0;确认字段为1,该确认字段是通过客户端发送过来的请求中的Seq
和发送的字节大小决定的;如下标志位字段标识SYNACK
:
- 包含
HTTP POST
命令的TCP
段的序列号是多少?请注意,为了找到POST
命令,您需要深入Wireshark
窗口底部的包内容字段,在其DATA
字段中寻找带有POST
的段。
很明显这是三次握手后的发送得第一个数据包,序列号为1,但是我没有在其中找到POST
。。。 - 将包含
HTTP POST
的TCP
段视为TCP
连接中的第一个段。TCP
连接的前6
段(包括包含HTTP POST
的段)的序号是多少?在什么每个片段发送的时间?什么时候收到每个段的ACK
?给定每个TCP
段的发送时间和发送时间之间的差异收到确认后,这六个的RTT
值分别是多少段?EstimatedRTT
值是什么(参见第3.5.3
节,242
页文本)后收到每个ACK
?的值EstimatedRTT
等于第一个分段的实测RTT
,然后是使用242
页上的EstimatedRTT
公式计算所有后续数据段。
时间测量见此。 TCP
前6
段的长度分别是多少?
- 对于整个跟踪,接收到的可用缓冲区空间的最小数量是多少?接收端缓冲区空间的不足是否会扼杀发送端?
空间的不足是会扼杀发送端的。 - 跟踪文件中是否有重传的段?为了回答这个问题,您(在跟踪中)检查了什么?
序列号出现重复。 - 接收方通常在
ACK
中确认多少数据?你能辨别出收货人在每隔一个收到的段进行包装的情况吗?
ACK
通常确认1
到2
个报文段数据,累计确认。 TCP
连接的吞吐量(单位时间传输的字节数)是多少?解释你是如何计算这个值的。
具体见此。
4 运行中的TCP拥塞控制
4.1 实验
- 检查一下每单位时间从客户机发送到服务器的数据量。我们将使用
Wireshark
的TCP
图形工具之一—Time-Sequence-Graph(Stevens)
—来绘制数据,而不是从Wireshark
窗口中的原始数据(乏味地!)来计算这些数据。 - 在
Wireshark
的抓包列表中选择相应的TCP
报文段。然后选择菜单:Statistics->TCP Stream Graph->
时序图
4.2 QA
- 您能否确定
TCP
慢启动阶段的开始和结束,以及拥塞避免在哪里占优?评论衡量的方式?
感觉全是慢启动阶段,直接往上蹦。。。