好文档 - 专业文书写作范文服务资料分享网站

传输控制协议(TCP)

天下 分享 时间: 加入收藏 我要投稿 点赞

《计算机网络实验》实验报告 实验名称: 传输控制协议(TCP)

年 级:

专 业: 班 级:姓 名:

学 号: 成 绩:

指导教师: 卢 正 添

提交报告时间: 2012年 实验目的

1. 掌握TCP协议的报文格式 2. 掌握TCP连接的建立和释放过程

月3 5日

3. 掌握TCP数据传输中编号与确认的过程 4. 掌握TCP协议校验和的计算方法 5. 理解TCP重传机制 实验环境配置

该实验采用网络结构一 实验步骤

练习一

1. 主机B、C、D启动协议分析器进行数据捕获,并设置过滤条件(提取TCP协议)。

2. 主机C打开TCP工具,类型选择“服务器”,端口填写大于1024的值;点击“创建”,如

果端口被占用则选择其它。主机A打开TCP工具,类型选择“客户端”,地址填入主机C的IP地址;在端口填入主机C的TCP工具监听的端口;点击[连接]按钮进行连接。 3. 察看主机B、C、D捕获的数据,填写下表。

CP连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。 maximum segment size=1460

4.主机A断开与主机C的TCP连接。

5.察看主机B、C、D捕获的数据,填写下表。

字段名称 序列号 确认号 ACK SYN 报文1 报文2 报文3 2840237879 2222245451 2024445719 1399549876 0 1 0 0 1 0 1 0 报文7 1645141354 1239747435 1 0

字段名称 报文4 报文5 报文6 序列号 1645141353 1239747434 1239747434 确认号 1239747334 1645141354 1645141354 ACK FIN 1 0 1 0 1 0

练习二

? 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组,现仅以主机A和

B为例,说明实验步骤。

? 在本实验中由于TCP连接有超时时间的限制,故仿真编辑器和协议分析器的两位同学要默契配

合,某些步骤(如计算TCP校验和)要求熟练、迅速。

? 为了实现TCP三次握手过程的仿真,发送第一个连接请求帧之前,仿真端主机应该使用“仿真 编辑器/工具菜单/TCP屏蔽/启动屏蔽”功能来防止系统干扰(否则计算机系统的网络会对该请

求帧的应答帧发出拒绝响应)。 ? 通过手工编辑TCP数据包实验,要求理解实现TCP连接建立、数据传输以及断开连接的全过程。

在编辑的过程中注意体会TCP首部中的序列号和标志位的作用。

首先选择服务器主机上的一个进程作服务器进程,并向该服务器进程发送一个建立连接请求报文,对应答的确认报文和断开连接的报文也编辑发送。其步骤如下:

1. 主机B启动协议分析器捕获数据,设置过滤条件(提取HTTP协议)。

2. 主机A上启动仿真编辑器,在界面初始状态下,程序会自动新建一个单帧,可以利用仿真

编辑器打开时默认的以太网帧进行编辑。 3. 填写该帧的以太网协议首部,其中:

源MAC地址:主机A的MAC地址。 目的MAC地址:服务器的MAC地址。 协议类型或数据长度:0800(IP协议)。 4. 填写IP协议头信息,其中:

高层协议类型:6(上层协议为TCP)。 总长度:40(IP首部+TCP首部)。 源IP地址:主机A的IP地址。

目的IP地址:服务器的IP地址(172.16.0.10)。 其它字段任意。

应用前面学到的知识计算IP首部校验和。 5. 填写TCP协议信息,其中:

源端口:任意大于1024的数,不要使用下拉列表中的端口。 目的端口:80(HTTP协议)。

序列号:选择一个序号ISN(假设1942589885),以后的数据都按照这个来填。 确认号:0。

首部长度和标志位:5002(即长度20字节,标志SYN=1)。 窗口大小:任意。 紧急指针:0。

使用协议仿真编辑器的“手动计算”方法计算校验和;再使用协议仿真编辑器的“自动计算”方法计算校验和。将两次计算结果相比较,若结果不一致,则重新计算。

? TCP在计算校验和时包括哪些内容?

6. 将设置完成的数据帧复制3份。

修改第二帧的TCP 层的“首部长度和标志”位为5010(即标志位ACK=1),TCP层的“序号”为1942589885+1。修改第三帧的TCP层的“首部长度和标志”位为5011(即标志位ACK=1、FIN=1),TCP层的“序号”为1942589885+1。在发送该TCP连接请求之前,先ping 一次目标服务器,让目标服务器知道自己的MAC地址。

7. 在发送该TCP连接请求之前,先ping 一次目标服务器,让目标服务器知道自己的MAC地

址。

8. 使用“仿真编辑器/工具菜单/TCP屏蔽/启动屏蔽”功能,为TCP\\IP协议栈过滤掉收到的

TCP数据。

9. 点击菜单栏中的“发送”按钮,在弹出对话框中选择发送第一帧。

10. 在主机B上捕获相应的应答报文,这里要求协议分析器一端的同学及时准确地捕获应答报

文并迅速从中获得应答报文的接收字节序号,并告知仿真编辑器一端的同学。 11. 我们假设接收字节序号为:3246281765,修改第二帧和第三帧的TCP层的“ACK确认序号”

的值:3246281766。

12. 计算第二帧的TCP校验和,将该帧发送。对服务器的应答报文进行确认。 13. 计算第三帧的TCP校验和,将该帧发送。

14. 在主机B上观察应答报文,要及时把最后一帧“序列号”告知协议编辑器一端的同学。 15. 修改第四帧的TCP层“确认号”为接收的序列号+1(即3246281767)。

16. 计算第四帧的TCP校验和,将该帧发送。断开连接,完成TCP连接的全过程。 17. 协议分析器一端截获相应的请求及应答报文并分析,注意观察“会话分析”中的会话过程。 18. 仿真端主机使用“仿真编辑器/工具菜单/TCP屏蔽/停止屏蔽”功能,恢复正常网络功能。

练习三

本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A和B为例,说明实验步骤。

1. 主机B启动协议分析器开始捕获数据并设置过滤条件(提取TCP协议)。

2. 主机A启动仿真编辑器,进入TCP连接视图。在“服务器信息/IP地址”中填入主

机B的IP地址;使用“端口扫描”获取主机B的TCP端口列表,在“服务器信息/端口”中填入主机B的一个TCP端口(大于1024);点击“连接”按钮进行连接。 3. 主机A向主机B发送一条信息。

4. 主机B使用“仿真编辑器/工具菜单/TCP屏蔽/启动屏蔽”功能,过滤掉接收到的TCP

数据。

5. 主机A向主机B再发送一条信息。

6. 主机B刷新捕获显示,当发现“会话分析视图”中有两条以上超时重传报文后,使

用“仿真编辑器/工具菜单/TCP屏蔽/停止屏蔽”功能,恢复正常网络功能。 7. 主机A向主机B再发送一条信息,之后断开连接。

8. 主机B停止捕获数据。依据“会话分析视图”显示结果,绘制本练习的数据报交互

图。

思考问题

1. 试用具体例子说明为什么传输连接建立时要使用三次握手。如不这样做可能会出现

什么情况。

答:我们知道,3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。

现在把三次握手改成仅需要两次握手,死锁是可能发生的。作为例子,考虑计算机A和B之间的通信,假定B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。可是,B在A的应答分组在传输中被丢失的情况下,将不知道A是否已准备好,不知道A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组。在这种情况下,B认为连接还未建立成功,将忽略A发来的任何数据分组,只等待连接确认应答分组。而A在发出的分组超时后,重复发送同样的分组。这样就形成了死锁。

2. 使用TCP对实时话音数据的传输有什么问题?使用UDP在传送数据文件时会有什么

问题?

答:1.如果语音数据不是实时播放(边接受边播放)就可以使用TCP,因为TCP传输可靠。接收端用TCP讲话音数据接受完毕后,可以在以后的任何时间进行播放。但假定是实时传输,则必须使用UDP。

2.UDP不保证可靠交付,但UCP比TCP的开销要小很多。因此只要应用程序接受这样的服务质量就可以使用UDP。

3. TCP在进行流量控制时是以分组的丢失作为产生拥塞的标志。有没有不是因拥塞而

引起的分组丢失的情况?如有,请举出三种情况。

答:当IP数据报在传输过程中需要分片,但其中的一个数据报未能及时到达终点,而终点组装IP数据报已超时,因而只能丢失该数据报;IP数据报已经到达终点,但终点的缓存没有足够的空间存放此数据报;数据报在转发过程中经过一个局域网的网桥,但网桥在转发该数据报的帧没有足够的差错空间而只好丢弃。

传输控制协议(TCP)

《计算机网络实验》实验报告实验名称:传输控制协议(TCP)年级:专业:班级:姓名:学号:成绩:指导教师:卢正添提交报告时间:2012年实验
推荐度:
点击下载文档文档为doc格式
0dqg02xl3q0fvqu4zj4q
领取福利

微信扫码领取福利

微信扫码分享