合肥学院TCPIP协议分析及应用实验报告 1Word文档格式.docx

上传人:b****5 文档编号:20774775 上传时间:2023-01-25 格式:DOCX 页数:17 大小:1MB
下载 相关 举报
合肥学院TCPIP协议分析及应用实验报告 1Word文档格式.docx_第1页
第1页 / 共17页
合肥学院TCPIP协议分析及应用实验报告 1Word文档格式.docx_第2页
第2页 / 共17页
合肥学院TCPIP协议分析及应用实验报告 1Word文档格式.docx_第3页
第3页 / 共17页
合肥学院TCPIP协议分析及应用实验报告 1Word文档格式.docx_第4页
第4页 / 共17页
合肥学院TCPIP协议分析及应用实验报告 1Word文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

合肥学院TCPIP协议分析及应用实验报告 1Word文档格式.docx

《合肥学院TCPIP协议分析及应用实验报告 1Word文档格式.docx》由会员分享,可在线阅读,更多相关《合肥学院TCPIP协议分析及应用实验报告 1Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。

合肥学院TCPIP协议分析及应用实验报告 1Word文档格式.docx

16位目的端口号

32位序号

32位确认序号

4位首部长度

保留(6位)

U

R

G

A

C

K

P

S

H

T

Y

N

F

I

16位窗口大小

16位校验和

16位紧急指针

选项

数据

2)TCP连接的建立

TCP是面向连接的协议。

在面向连接的环境中,开始传输数据之前,在两个终端之间必须先建立一个连接。

对于一个要建立的连接,通信双方必须用彼此的初始化序列号seq和来自对方成功传输确认的应答号ack(指明希望收到的下一个八位组的编号)来同步,习惯上将同步信号写为SYN,应答信号写为ACK。

整个同步的过程称为三次握手.

3)TCP连接的释放

对于一个已经建立的连接,TCP使用四次握手来结束通话(使用一个带有FIN附加标记的报文段)。

4)TCP重传机制

TCP每发送一个报文段,就对这个报文段设置一次计时器。

只要计时器设置的重传时间到期,但还没有收到确认,就要重传这一报文段。

5)实验流程概述

1 在机房调试好需做的拓扑结构

2 根据拓扑结构,配置小组成员各自电脑的IP地址,子网掩码和网管

3 根据课件中的具体实验要求和实验步骤进行操作

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连接的建立和释放

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

1880103359

ACK

1

SYN

4.TCP连接建立时,前两个报文的首部都有一个“maximumsegmentsize”字段,它的值是多少?

作用是什么?

结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的

maximumsegmentsize=1460

5.主机A断开与主机C的TCP连接。

6.察看主机B、C、D捕获的数据,填写下表。

报文4

报文5

报文6

报文7

588108412

3571458836

588108413

3571458837

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)。

窗口大小:

任意。

紧急指针:

使用协议仿真编辑器的“手动计算”方法计算校验和;

再使用协议仿真编辑器的“自动计算”方法计算校验和。

将两次计算结果相比较,若结果不一致,则重新计算。

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数据报

本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。

现仅以主机A和B为例,说明实验步骤。

1.主机A打开协议仿真编辑器。

编辑发送给主机B的UDP数据报。

MAC层:

接收方MAC地址。

发送方MAC地址。

0800,即IP协议。

IP层:

包括IP层、UDP层和数据长度。

17,即UDP协议。

首部校验和:

其他所有字段填充完毕后填充此字段。

发送方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协议本身是否能确保数据报的发送和接收顺序?

不能确保。

得分(百分制)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1