郑州轻工业学院
本科
实验报告
题 目: 实验四 TCP 协议分析
学生姓名: 王 冲
系 别: 计算机与通信工程学院
专 业: 网 络 运 维
班 级: 网 络 运 维11-01
学 号: 541107110123
指导教师: 熊 坤
2014 年 10 月 28 日
实验四 TCP 协议分析
一、 实验目的
1、分析HTTP 协议
2、分析DNS 协议
二、 实验环境
与因特网连接的计算机网络系统;操作系统为windows;Ethereal、IE
等软件。
三、 实验步骤
1. 俘获大量的由本地主机到远程服务器的TCP 分组
(1) 启动浏览器,打开http://gaia.cs.umass.edu/ethereal- labs/alice.txt
网页, 得到ALICE'S ADVENTURES IN WONDERLAND文本,
将该文件保存到你的主机上。
(2) 打开http://gaia.cs.umass.edu/ethereal- labs/TCP-ethereal-
file1.html
(3) 窗口如下图所示。在Browse按钮旁的文本框中输入保存在你的
主机上的文件ALICE'S ADVENTURES IN WONDERLAND的
全名(含路径),此时不要按“Upload alice.txt file”按钮
(4)
启动Ethereal,开始分组俘获。
(5) 在浏览器中,单击“Upload alice.txt file”按钮,将文件上传到
gaia.cs.umass.edu服务器,一旦文件上传完毕,一个简短的贺词信息
将显示在你的浏览器窗口中。
(6) 停止俘获。
2. 浏览追踪信息
(1) 在显示筛选规则中输入“tcp”,可以看到在本地主机和服务器之
间传输的一系列tcp和http报文,你应该能看到包含SYN报文的
三次握手。也可以看到有主机向服务器发送的一个HTTP POST
报文和一系列的“http continuation”报文。
(2) 根据操作回答“四、实验报告内容”中的1-2题。
3. TCP 基础
根据操作回答“四、实验报告内容”中的3-10 题
4. TCP 拥塞控制
(1) 在Ethereal已俘获分组列表子窗口中选择一个TCP 报文段。选
择菜单:
Statistics->TCP Stream Graph-> Time-Sequence-Graph(Stevens)。你会
看到如下所示的图。
(2) 根据操作回答“四、实验报告内容”中的11-12题。
四、 实验报告内容
在实验的基础上,回答以下问题:
1. 向gaia.cs.umass.edu 服务器传送文件的客户端主机的IP 地址和
TCP 端口号是多少?
答:IP地址:192.168.74.129 ,TCP端口号:1074。
2. Gaia.cs.umass.edu服务器的IP地址是多少?对这一连接,它用来
发送和接收TCP报文的端口号是多少?
答:由上可知,gaia.cs.umass.edu 的 IP地址是128.119.245.12
发送和接收 TCP片段端口:80。
3. 客户服务器之间用于初始化TCP连接的TCP SYN报文段的序号
(sequence number)是多少?在该报文段中,是用什么来标示该
报文段是SYN报文段的?
答:Sequence number: 0; Syn 被设置为1,说明是SYN片段
。
4. 服务器向客户端发送的SYNACK报文段序号是多少?该报文段
中,Acknowledgement字段的值是多少?Gaia.cs.umass.edu服务器
是如何决定此值的?在该报文段中,是用什么来标示该报文段是
SYNACK报文段的?
答:Sequence number:0;Acknowledgement number:1,故由此看
出ACK的值是由SYN消息中Sequence number加1所得Acknowledgement
和Syn都设置为1说明这是一个SYNACK 片段
5. 包含HTTP POST命令的TCP报文段的序号是多少?
答:由图知包含HTTP POST命令的TCP报文段的序号是13.
6. 如果将包含HTTP POST命令的TCP报文段看作是TCP连接上的第
一个报文段,那么该TCP连接上的第六个报文段的序号是多少?是
何时发送的?该报文段所对应的ACK是何时接收的?
答:TCP连接上的前六个报文段的序号是13,15,16,19,20,23,对
应的ACK均为1,所以第六个报文段的序号是23。
7. 前六个TCP报文段的长度各是多少?
答:前六个TCP报文段的长度是:
527bytes,1460bytes,1460bytes,1460bytes,1460bytes,892bytes。
8. 在整个跟踪过程中,接收端公示的最小的可用缓存空间是多少?
限制发送端的传输以后,接收端的缓存是否仍然不够用?
答:接受方通知给发送方的最低窗口大小为164字节,即在服务器端
传回的第一个ACKz中的窗口大小。接收方的窗口大小没有抑制发送方
的传输速率,因为窗口大小从164逐步增加到64240 窗口大小始终大
于发送方发送的分组的容量。
9. 在跟踪文件中是否有重传的报文段?进行判断的依据是什么?
答:没有,从表中可以看出从源端发往目的地的序号逐渐增加,如果
这其中有重传的报文段,则其序号中应该有小于其临近的分组序号的
分组,图中未看到这样的分组,故没有重发片段。
10. TCP连接的throughput (bytes transferred per unit time)是多少?
请写出你的计算过程。
答:传输的数据总量为TCP 段第一个序列号(即第24 段的1 字节)
和最后的序列号的ACK (第239 段的153107个字节)之间的差值。因
此,总数据是 153107-1 = 153106 字节。整个传输时间是第一个 TCP
段(即4号段3.553057 秒)的时间和最后的 ACK(即第239 段5.344350
秒) 时间的差值。因此,总传输时间是5.344350-3.553057= 1.791293
秒。因此,TCP 连接的吞吐量为153106/1.791293=83.469 KByte/s。
11.
利用Time-Sequence-Graph(Stevens) plotting工具,浏览由客户端向
服务器发送的报文段序号和时间对应关系图。你能否辨别出TCP
慢启动阶段的起止,以及在何处转入避免拥塞阶段?
答:慢启动阶段即从HTTP POST 报文段发出时开始,但是无法判断什
么时候慢启动结束,拥塞避免阶段开始。慢启动阶段和拥塞避免阶段
的鉴定取决于发送方拥塞窗口的大小。拥塞窗口的大小并不能从时间
—序号图(time-sequence-graph)直接获得。
12. 阐述所测量到的数据与TCP理想化的行为有何不同?
答:TCP的发送方会试探性的发送数据(即慢启动阶段),如果太多
的数据使网络拥塞了,那么发送方会根据AIMD算法进行调整。但是在
实际中,TCP的行为主要依赖于应用程 序怎么设计。在这次抓包中,
在发送方还可以发送数据的时候,已经没有数据可发了。在web应用
中,有些web对象比较小,在慢启动还没有结束之前,传送就结束啦,
因此,传送小的web对象受到TCP慢启动阶段的影响,导致较长的延迟。