教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 政务民生 >

实验7 传输控制协议(TCP)

来源:网络收集 时间:2026-01-15
导读: 院 系:计 算 机 学 院 实验课程:计算机网络与因特网 实验项目:用户数据报协议(UDP) 指导老师: 开课时间:2011 ~ 2012年度第 2学期 专 业:网络工程 班 级: 学 生: 学 号: 一、实验项目名称 传输控制协议(TCP) 二、实验目的 1、掌握 TCP 协议的报文

院 系:计 算 机 学 院

实验课程:计算机网络与因特网 实验项目:用户数据报协议(UDP) 指导老师:

开课时间:2011 ~ 2012年度第 2学期

专 业:网络工程 班 级: 学 生: 学 号:

一、实验项目名称 传输控制协议(TCP) 二、实验目的

1、掌握 TCP 协议的报文形式;

2、掌握 TCP 连接的建立和释放过程;

3、掌握 TCP 数据传输中编号与确认的过程; 4、掌握 TCP协议校验和的计算方法; 5、理解 TCP 重传机制。

三、实验主要硬件软件环境

PC机,Windows操作系统。

四、实验内容及步骤

练习1 查看TCP连接的建立和释放

各主机打开工具区的“拓扑验证工具”,选择相应的网络结构,配置网卡后,进行拓扑验证,如果通过拓扑验证,关闭工具继续进行实验,如果没有通过,请检查网络连接。

本练习将主机 A 和 B 作为一组,主机 C 和 D 作为一组,主机 E 和 F 作为一组。现仅以主机 A 和 B 为例,其他组参考主机A、B的操作。 1. 主机B启动协议分析器捕获数据,并设置过滤条件(提取TCP协议)。 2. 主机A启动TCP工具连接主机B。

(1)主机A启动实验平台工具栏中的“地址本工具”。点击[主机扫描]按钮获取组内主机信息,选中主机B点击[端口扫描]按钮获取主机B的TCP端口列表。 (2)主机A启动实验平台工具栏中的“TCP工具”。选中“客户端”单选框,在“地址”文本框中填入主机B的IP地址,在“端口”文本框中填入主机B的一个TCP端口,点击[连接]按钮进行连接。

3. 察看主机B捕获的数据,填写下表。 字段名称 报文1 报文2 报文3 序列号 1395441157 3695045941 1395441158 确认号 ACK 0 0 1395441158 1 3695045942 1 SYN 1 1 0 ● TCP连接建立时,前两个报文的首部都有一个“最大字段长度”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。

答:1460;由发送端指定,表明了能在网络上传输的最大的段尺寸;

maximum segment size = MTU – 20(IP首部)-20(TCP首部)。

4. 主机A断开与主机B的TCP连接。 5. 察看主机B捕获的数据,填写下表。 表7-2 实验结果 字段名称 序列号 确认号 ACK FIN 报文4 1395441158 3695045942 1 1 报文5 3695045942 1395441159 1 0 报文6 3695045942 1395441159 1 1 报文7 1395441159 3695045943 1 0

● 结合步骤3、5所填的表,理解TCP的三次握手建立连接和四次握手的释

放连接过程,理解序号、确认号等字段在TCP可靠连接中所起的作用。

思考问题

1. 为什么在TCP连接过程要使用三次握手?如不这样做可能会出现什么情况。

1

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

2、解释TCP协议的释放过程?

答:TCP的释放有两种方式:三次握手和具有半关闭的四次握手。 三次握手方式:

(1)、当客户端想关闭TCP连接时,它发送一个TCP报文,把FIN标志位设置为1.

(2)、服务器端收到这个TCP报文后,把TCP连接即将关闭的消息发送给相应的进程,并发送第二个报文——FIN+ACK报文,以证实从客户端收到了FIN报文,同时也说明,另一个方向的连接也关闭了。

(3)、客户端发送最后一个报文以证实从TCP服务器收到了FIN报文。这个报文包括确认号,它等于从服务器收到的的FIN报文的序号加1. 具有半关闭的四次握手方式: (1)、客户端发送一个FIN报文,用来关闭到服务器的数据传送。 (2)、服务器收到这个FIN,它发回一个ACK接受这个半关闭。 (3)、服务器关闭与客户端的连接,发送一个FIN给客户端。 (4)、客户端发回ACK报文确认,并将确认序号设置为收到序号加1。

练习2:利用仿真编辑器编辑并发送 TCP 数据包

本练习每台主机为一组。现仅以主机A为例,其他主机的操作参考主机A的操作。

实验步骤:

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

2.启动仿真编辑器,在界面初始状态下,程序会自动新建一个单帧,可以利用仿真编辑器打开时默认的以太网帧进行编辑。 3. 填写该帧的以太网协议首部,其中:

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

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

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

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

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

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

2

确认号:0。

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

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

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

答:伪首部、TCP首部以及应用层来的数据。

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

修改第二帧的 TCP 层的“首部长度和标志”位为 10(即标志位 ACK=1),TCP 层的“序 号”为 1942589885+1。

修改第三帧的 TCP 层的“首部长度和标志”位为 11(即标志位 ACK=1、 FIN=1) TCP 层的“序号”为 1942589885+1。

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 屏蔽/停止屏蔽”功能,恢复正常网络功能。 思考问题:

1 …… 此处隐藏:2541字,全部文档内容请下载后查看。喜欢就下载吧 ……

实验7 传输控制协议(TCP).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/447098.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)