计算机网络实验报告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
401053268 861589854 861589854 401053269 Number
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.填写该帧的以太网协议首部,其中: