合肥学院TCPIP协议分析及应用实验报告 1.docx
- 文档编号:7652186
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:17
- 大小:1MB
合肥学院TCPIP协议分析及应用实验报告 1.docx
《合肥学院TCPIP协议分析及应用实验报告 1.docx》由会员分享,可在线阅读,更多相关《合肥学院TCPIP协议分析及应用实验报告 1.docx(17页珍藏版)》请在冰豆网上搜索。
合肥学院TCPIP协议分析及应用实验报告1
计算机科学与技术系
实验报告
专业名称网络工程
课程名称TCP/IP协议
项目名称TCP/UDP
班级
学号
姓名
同组人员
实验日期2014.11
1、实验目的与要求:
1、实验目的:
TCP:
1)掌握TCP协议的报文格式
2)掌握TCP连接的建立和释放过程
3)掌握TCP数据传输中编号与确认的过程
4)掌握TCP协议校验和的计算方法
5)理解TCP的重传机制
UDP:
1)掌握UDP协议的报文格式
2)掌握UDP协议校验和的计算方法
3)理解UDP协议的优缺点
2、实验环境
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)实验流程概述
1 在机房调试好需做的拓扑结构
2 根据拓扑结构,配置小组成员各自电脑的IP地址,子网掩码和网管
3 根据课件中的具体实验要求和实验步骤进行操作
UDP:
1)UDP报文格式
每个UDP报文称为一个用户数据报(UserDatagram)。
用户数据报分为两个部分:
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
SequenceNumber
3757305840
1880103358
3757305841
AcknowledgementNumber
0
3757305841
1880103359
ACK
0
1
1
SYN
1
1
0
4.TCP连接建立时,前两个报文的首部都有一个“maximumsegmentsize”字段,它的值是多少?
作用是什么?
结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的
maximumsegmentsize=1460
5.主机A断开与主机C的TCP连接。
6.察看主机B、C、D捕获的数据,填写下表。
字段名称
报文4
报文5
报文6
报文7
SequenceNumber
588108412
3571458836
3571458836
588108413
AcknowledgementNumber
3571458836
588108413
588108413
3571458837
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。
修改第三帧的TCP层的“首部长度和标志”位为5011(即标志位ACK=1、FIN=1),TCP层的“序号”为1942589885+1。
6)在发送该TCP连接请求之前,先ping一次目标服务器,让目标服务器知道自己的MAC地址。
7)使用“仿真编辑器/工具菜单/TCP屏蔽/启动屏蔽”功能,为TCP\IP协议栈过滤掉收到的TCP数据。
8)点击菜单栏中的“发送”按钮,在弹出对话框中选择发送第一帧。
9)我们假设接收字节序号为:
3246281765,修改第二帧和第三帧的TCP层的“ACK确认序号”的值:
3246281766。
10)计算第二帧的TCP校验和,将该帧发送。
对服务器的应答报文进行确认。
11)计算第三帧的TCP校验和,将该帧发送。
断开连接,完成TCP连接的全过程。
12)协议分析器一端截获相应的请求及应答报文并分析,注意观察“会话分析”中的会话过程。
13)仿真端主机使用“仿真编辑器/工具菜单/TCP屏蔽/停止屏蔽”功能,恢复正常网络功能。
综合发送报文:
UDP:
练习一:
编辑并发送UDP数据报
本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。
现仅以主机A和B为例,说明实验步骤。
1.主机A打开协议仿真编辑器。
编辑发送给主机B的UDP数据报。
MAC层:
目的MAC地址:
接收方MAC地址。
源MAC地址:
发送方MAC地址。
协议类型或数据长度:
0800,即IP协议。
IP层:
总长度:
包括IP层、UDP层和数据长度。
高层协议类型:
17,即UDP协议。
首部校验和:
其他所有字段填充完毕后填充此字段。
源IP地址:
发送方IP地址。
目的IP地址:
接收方IP地址。
UDP层:
有效负载长度:
UDP层及其上层协议长度。
计算校验和,其他字段默认.
UDP在计算校验和时包括那些内容?
2.在主机B上启动协议分析器,并设置过滤条件(提取UDP协议)开始捕获数据。
3.主机A发送已编辑好的数据报。
4.主机B停止捕获数据,在捕获到的数据中查找主机A所发送的数据报。
练习二:
UDP单播通信
1.主机B、C、D、E、F上启动“开始/程序/网络协议仿真教学系统通用版/工具/UDP工具”,作为服务器端,监听端口设置为2483。
2.主机C、E上启动协议分析器开始捕获数据。
3.主机A上启动“开始/程序/网络协议仿真教学系统通用版/工具/UDP工具”,作为客户端,以主机C的IP为目的IP地址,以2483为端口,填写数据并发送。
4.察看主机B、C、D、E、F上的“UDP工具”接收的信息。
哪台主机上的“UDP工具”接收到主机A发送的UDP报文?
5.察看主机C协议分析器上的UDP报文,并回答以下问题:
UDP是基于连接的协议吗?
阐述此特性的优缺点。
解:
不是,优点:
传输效率高,不需进行编号,不必进行连接建立和连接终止;缺点:
使用UDP的进程不能向UDP发送数据流,也不能期望UDP将这个数据流分割成为许多不同的相关联的用户数据报。
相反,每个请求必须足够小,使其能够装入到用户数据报中。
UDP报文交互中含有确认报文吗?
阐述此特性的优缺点。
解:
没有,优点:
提高传输效率;缺点:
在传输过程中可能有丢失、重复、乱序的现象。
6.主机A上使用仿真编辑器向主机E发送UDP报文,其中:
“目的IP地址”设置为主机E的IP地址。
“目的端口”设置为2483。
“校验和”设置为0。
发送此报文,并回答以下问题:
主机E上的UDP通信程序是否接收到此数据包?
UDP是否可以使用0作为校验和进行通信?
解:
主机E可以收到数据包。
UDP可以使用0作为校验和进行通信。
7.将第6步中编辑的数据包的校验和修改为一个错误值,并将其发送。
8.察看主机E协议分析器上捕获的数据,并回答以下问题:
简述UDP的差错处理能力。
练习三:
UDP广播通信
1.主机B、C、D、E、F上启动“开始/程序/网络协议仿真教学系统通用版/工具/UDP工具”,作为服务器端,监听端口设为2483。
2.主机B、C、D、E、F上启动协议分析器捕获数据,并设置过滤条件(提取UDP协议)
3.主机A上启动“开始/程序/网络协议仿真教学系统通用版/工具/UDP工具”,作为客户端,以255.255.255.255为目的地址,以2483为端口,填写数据并发送。
4.察看主机B、C、D、E、F上的“UDP连接工具”接收的信息。
哪台主机接收到主机A发送的UDP报文?
5.察看协议分析器上捕获的UDP报文,并回答以下问题:
主机A发送的报文的目的MAC地址和目的IP地址的含义是什么?
解:
目的MAC地址为FFFFFF-FFFFFF,广播地址;
目的IP地址为255.255.255.255,受限广播地址。
若将主机A发送的报文的目的MAC地址改为某一主机的MAC地址,结果会怎样?
为什么?
解:
主机A发送的报文的目的MAC地址为某一主机的MAC地址,而目的IP地址无论是某一主机的IP地址,还是255.255.255.255,结果都是只有目的MAC地址所对应的主机可收到主机A发送的报文。
因为目的MAC地址对应主机才是真正接收数据的主机。
若将主机A发送的报文的目的IP地址改为某一主机的IP地址,结果会怎样?
为什么?
解:
两种情况:
如果目的MAC为广播地址,则结果为所有主机都可接收主机A的报文;如果目的MAC为某一主机的MAC,则主机A发送的数据只能被该主机接收。
原因:
目的MAC地址对应主机才是真正接收数据的主机。
3、实验分析与小结:
1.发送tcp数据包时,前几次实验发送后抓不到数据,后来发现要求实验步骤中有一条,发送该TCP连接请求之前,先ping一次目标服务器,让目标服务器知道自己的MAC地址。
进行此步操作后,实验便可正常进行。
2.计算校验和需学会手动计算,自动计算时,原先表格中的校验和需要改为0000,才能计算出正确的校验和。
4、其它
1.试用具体例子说明为什么在运输连接建立时要使用三次握手。
说明如不这样做可能会出现什么情况。
解:
三次握手解决了连接建立过程中要解决的三个问题:
(1)要使每一方能够确定对方的存在。
(2)要允许双发协商一些参数(如最大报文段长度、最大窗口大小、服务质量等)。
(3)能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。
如不这样做:
主机A共发送了两个连接请求报文段,其中的第二个到达了主机B。
现在假定出现另一种情况,即主机A发送的第一个连接请求报文段并没有丢失,而是在某些网络结点滞留时间太长,以致延误到在这次的连接释放以后才传送到主机B。
本来这是一个已经失效的报文段,但主机B收到此失效的连接请求报文段后,就误认为是主机A又发出一次新的连接请求。
于是就向主机A发出确认报文段,同意建立连接。
主机A由于并没有要求建立连接,因此不会理睬主机B的确认,也不会向主机B发送数据。
但主机B却以为运输连接就这样建立了,并一直等待主机A发来数据。
主机B的许多资源就这样白白浪费了。
2.使用TCP对实时话音数据的传输有没有什么问题?
使用UDP在传送数据文件时会有什么问题?
解:
TCP协议可能导致实时语音通讯的延迟。
使用UDP传出的数据可能导致数据文件乱序。
3.TCP在进行流量控制时是以分组的丢失作为产生拥塞的标志。
有没有不是因拥塞而引起的分组丢失的情况?
如有,请举出三种情况。
解:
有。
前面的报文已发送,而后面的则不可发送;前面的报文已发送并确认,而后面的则可发送未被确认;前面的报文已发送并确认,而后面的则不可发送。
4.在可靠性不是最重要的情况下,UDP可能是一个好的传输协议。
试给出这种特定情况的一些示例。
解:
即时通讯软件。
5.UDP和IP的不可靠程度是否相同?
为什么是或为什么不是?
解:
不相同,IP报文只是校验首部,而UDP要校验整个数据报。
6.UDP协议本身是否能确保数据报的发送和接收顺序?
解:
不能确保。
得分(百分制)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 合肥学院TCPIP协议分析及应用实验报告 合肥 学院 TCPIP 协议 分析 应用 实验 报告