计算机网络实验报告3.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程名称计算机网络
实验项目实验三传输控制协议TCP 实验仪器网络协议仿真教学系统
系别计算机学院
专业
班级/学号
学生姓名
实验日期
成绩_______________________
指导教师
课程名称计算机网络
实验项目实验三传输控制协议TCP 实验仪器网络协议仿真教学系统
系别计算机系
专业
班级/学号
学生姓名
实验日期
成绩_______________________
指导教师高卓
实验三 传输控制协议TCP
一、实验目的:
1. 掌握TCP 协议的报文格式
2. 掌握TCP 连接的建立和释放过程
3. 掌握TCP 数据传输中编号与确认的过程
4. 掌握TCP 协议校验和的计算方法
5. 理解TCP 重传机制
二、实验原理:
一. TCP 报文格式
16位源端口号
16位目的端口号
32位序号 32位确认序号
4位首部长度 保留(6位) U R G A C K P S H R S T S Y N F
I
N
16位窗口大小 16位校验和
16位紧急指针 选项 数据
二. TCP 连接的建立
TCP 是面向连接的协议。 在面向连接的环境中,开始传输数据之前,在两个终端之间必须先建立一个连接。对于一个要建立的连接,通信双方必须用彼此的初始化序列号seq 和来自对方成功传输确认的应答号ack (指明希望收到的下一个八位组的编号)来同步,习惯上将同步信号写为SYN ,应答信号写为ACK 。 整个同步的过程称为三次握手,如图:
三. TCP 连接的释放
对于一个已经建立的连接,TCP 使用四次握手来结束通话(使用一个带有FIN 附
加标记的报文段)。如图:
四. TCP重传机制
TCP每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到期,但还没有收到确认,就要重传这一报文段。
三、实验环境配置:
该实验采用网络结构图。
说明:IP地址分配规则为主机使用原有IP,保证所有主机在同一网段内。
四、实验内容:
按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。
练习一:察看TCP连接的建立和释放
1.主机B 、C 、D 启动协议分析器进行数据捕获,并设置过滤条件(提取TCP 协议)。
2.主机C 打开TCP 工具,类型选择“服务器”,端口填写大于1024的值;点击“创建”,如果端口被占用则选择其它。主机A 打开TCP 工具,类型选择“客户端”,地址填入主机C 的IP 地址;在端口填入主机C 的TCP 工具监听的端口;点击[连接]按钮进行连接。
3.察看主机B 、C 、D 捕获的数据,填写下表。
字段名称 报文1 报文2 报文3
Sequence Number
Acknowledgement Number
ACK SYN
TCP 连接建立时,前两个报文的首部都有一个“maximum segment size ”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。
字段名称 报文1
报文2
报文3
Sequence Number
861589852 401053267 861589853
Acknowledgement Number 0
861589853 401053268 ACK …1…. …1…. …1…. SYN
……0.
……1.
……0.
4.主机A 断开与主机C 的TCP 连接。
5.察看主机B 、C 、D 捕获的数据,填写下表。
字段名称 报文4
报文5
报文6
报文7
Sequence Number Acknowledgement
Number
ACK SYN
结合步骤3、5所填的表,理解TCP 的三次握手建立连接和四次握手的释放连接过程,理解序号、确认号等字段在TCP 可靠连接中所起的作用。
字段名称
报文4
报文5
报文6
报文7
Sequence Number 861589853 401053268 401053268 861589854 Acknowledgement Number 401053268
861589854 861589854 401053269
ACK
…1…. …1…. …1…. …1….
SYN ……0. ……0. ……0. ……0.
建立连接:
服务器:
客户端:
捕获的包文:
问题:
TCP连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。
答:“maximum segment size”字段的值是1460。其作用在网络上传输的最大段尺寸,由发送端指定的,maximum segment size=MTU-20(IP首部)-20(TCP
首部)
断开连接:
说明:
序号:表示本报文段的第1个字节的序号而不是本报文段的序号。
确认号:表示期望接收的对方的下一个报文段的第1个字节的序号,而不是指已经正确接收的报文段的最后一个字节的序号。
练习二:利用仿真编辑器编辑并发送TCP数据包
本练习将主机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。
使用协议仿真编辑器的“手动计算”方法计算校验和;再使用协议仿真编辑器的“自动计算”方法计算校验和。将两次计算结果相比较,若结果不一致,则重新计算。