合肥学院TCPIP协议分析及应用实验报告 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学与技术系
实验报告
专业名称网络工程
课程名称 TCP/IP协议
项目名称 TCP/UDP
班级
学号
姓名
同组人员
实验日期 2014.11
一、实验目的与要求:
1、实验目的:
TCP:
1)掌握TCP协议的报文格式
2)掌握TCP连接的建立和释放过程
3)掌握TCP数据传输中编号与确认的过程
4)掌握TCP协议校验和的计算方法
5)理解TCP的重传机制
UDP:
1)掌握UDP协议的报文格式
2)掌握UDP协议校验和的计算方法
3)理解UDP协议的优缺点
2、实验环境
二、实验内容
1、实验原理
TCP:
1)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位紧急指针
选项
数据
2)TCP连接的建立
TCP是面向连接的协议。在面向连接的环境中,开始传输数据之前,在两个终端之间必须先建立一个连接。对于一个要建立的连接,通信双方必须用彼此的初始化序列号seq和来自对方成功传输确认的应答号ack(指明希望收到的下一个八位组的编号)来同步,习惯上将同步信号写为SYN,应答信号写为ACK。
整个同步的过程称为三次握手.
3)TCP连接的释放
对于一个已经建立的连接,TCP使用四次握手来结束通话(使用一个带有FIN附加标记的报文段)。
4)TCP重传机制
TCP每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到期,但还没有收到确认,就要重传这一报文段。
5)实验流程概述
①在机房调试好需做的拓扑结构
②根据拓扑结构,配置小组成员各自电脑的IP地址,子网掩码和网管
③根据课件中的具体实验要求和实验步骤进行操作
UDP:
1)UDP报文格式
每个UDP报文称为一个用户数据报(User Datagram)。用户数据报分为两个部分:UDP首部和UDP数据区。
源端口目的端口
报文长度校验和
数据
…
2)UDP单播与广播
在UDP单播通讯模式下,客户端和服务端之间建立一个单独的数据通道。从一台服务端传送出的数据包只能由一个客户端接收。众所周知,UDP协议是不可靠的,数据包可能在传输过程中丢失、重复、没有按照发送顺序到达,而且作为UDP数据包,其大小还受限于数据包的最大上限。
在UDP广播通讯模式下,一个单独的数据包拷贝发送给网络上所有主机。当不能明确具体的服务器,而又要求该服务时,UDP广播提供了传输不区分种类的消息的便捷方式。在
多数情况下UDP广播仅仅作为本地网络通信形式。受限的广播地址是255.255.255.255。该地址用于主机配置过程中IP数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也不知道。在任何情况下,路由器都不转发目的地址为受限广播地址的数据报,这样的数据报仅出现在本地网络中。已知网络主机的IP地址和子网掩码,可以算得指向主机所在子网的广播。子网广播地址 = (主机IP)“或”(子网掩码取反)。
3)UDP校验和的计算
3、实验具体步骤及结果
TCP:
练习一:察看TCP连接的建立和释放
1.主机B、C、D启动协议分析器进行数据捕获,并设置过滤条件(提取TCP协议)。
2.主机A启动仿真编辑器,进入TCP连接视图。在“服务器信息/IP地址”中填入主
机C的IP地址;使用“端口扫描”获取主机C的TCP端口列表,在“服务器信息/
端口”中填入主机C的一个TCP端口(大于1024);点击“连接”按钮进行连接。
3.察看主机B、C、D捕获的数据,填写下表。
字段名称报文1 报文2 报文3
Sequence Number 3757305840 1880103358 3757305841
Acknowledgement Number 0 3757305841 1880103359
ACK 0 1 1
SYN 1 1 0
4.TCP连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它
的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数
据是怎样得出的
maximum segment size=1460
5.主机A断开与主机C的TCP连接。
6.察看主机B、C、D捕获的数据,填写下表。
字段名称报文4 报文5 报文6 报文7
Sequence Number 588108412 3571458836 3571458836 588108413
Acknowledgement
3571458836 588108413 588108413 3571458837 Number
ACK 1 1 1 1
SYN 0 0 0 0
7.结合步骤3、5所填的表,理解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在计算校验和时包括哪些内容?将设置完成的数据帧复制2份;修改第二帧的TCP 层的“首部长度和标志”位为5010(即标志位ACK=1),TCP层的“序号”为1942589885+1。