计算机网络实验-传输层协议分析

2018-12-23 00:15

实验四、传输层协议分析

【实验目的】

1. 通过捕获TCP 包并进行分析,了解传输层协议的工作过程,加深对TCP 及面向连接 的服务的工作原理的理解与掌握,

2. 观察简单的TCP 流传输,理解其首部各字段的变化。 3. 理解UDP 数据报的传输特点。

【实验原理】

PC1 主动打开

连接请求

确认

PC2 被动打开 确认 确认

SYN,SEQ = x SYN,ACK,SEQ = y , ACK = x+1 ACK,SEQ = x+1,ACK = y +1 【实验内容】

1、查看分析TCP 链路管理

(1)、在PC2(192.168.2.24)中安装有FTP 服务端程序。 (2)、在PC1 中开启协议分析软件,进行数据包抓包。

(3)、在PC1 中的协议分析软件中利用工具栏中的TCP 连接工具对PC2 发起连接,如下图所示。

图 4-12 TCP连接工具

在IP地址中填入PC2地址192.168.2.24,端口填入FTP服务端口21,然后点击连接。 分析捕获到的三次握手报文。

图 4-13 三次握手第一次连接

查看上图TCP报文中的报头部分:

? 源端口:3241,由于发起连接的是客户端,因此源端口为TCP程序随机出的短暂端口,

在此连接中是3241。

? 目的端口:21,由于是向FTP服务发起连接,因此目的端口为FTP服务的熟知端口,为21。

? 序列号:0X732020CD,此序列号为TCP程序随机出的字节编号。 ? 确认序号:0X00000000,第一个发出的连接请求中,确认号为0。

? TCP首部长度:7,TCP首部长度包括TCP报头长度和数据长度,这个字段表示TCP报头长

度,其中20字节为标准TCP报头长度,另有8字节选项字段长度,选项字段中和服务器端协商了最大报文段长度。 ? 标识位:SYN位置1,只有TCP连接中三次握手第一次连接的报文段中SYN位置1。 ? 窗口大小:65535,默认大小。

? 校验和:0X5D64,校验和是对TCP报头、数据和伪首部进行计算得出的校验和。 ? 紧急指针:0,当紧急标识位置1时,此16位字段才有效,说明此时报文段中包含紧急数

据,紧急数据到达接受端后可以不按次序优先被接受程序处理。

TCP三次握手过程中第二个报文如下图所示。

图4-14 TCP三次握手第二个报文

查看上图中的TCP报头:

? 源端口:21,服务端的源端口为相关服务的熟知端口,FTP服务端口为TCP21。 ? 目的端口:3241,为客户端源端口复制过来得到。 ? 序列号:0X219DEAA0,为服务端随机计算出的字节序号。

? 确认序列号:0X732020CE,确认序列号的功能是对发送端数据进行确认,为发送端序号

0X732020CD+1得到。 ? TCP首部长度:7,包含20字节标准TCP首部长度和8字节选项长度。 ? 标志位:SYN位和ACK位置1,表示此报文为TCP三次握手的第二个报文。 ? 窗口大小:65535,为默认大小。

? 校验和:0X1115,TCP校验和为TCP首部、数据和伪首部三部分计算得出校验和。

? 紧急指针:0。

TCP三次握手第三个报文如下图所示。

图 4-15 TCP三次握手第三个报文

查看TCP三次握手第三个报文首部:

? 源端口:3241,同一个连接发送的数据,源端口保持不变。 ? 目的端口:21,对同一个服务发送的数据段中的目的端口保持不变。 ? 序列号:0X732020CE,为前一个数据段序列号加1。

? 确认序号:0X219DEAA1,由于此报文是对服务端发回的连接应答消息的确认,因此是上

一个报文序号0X219DEAA0加1。 ? TCP首部长度:5,标准TCP首部长度为5*4字节=20字节。 ? 标识位:TCP三次握手第三个报文段ACK位置1。 ? 窗口大小:65535,默认窗口大小。

? 校验和:0X7DD9,为TCP首部、数据、伪首部计算得出的校验和。

? 紧急指针:0,未使用紧急指针。

通过上面的TCP三次握手的报文,可以很清楚的分析出在TCP连接建立时,客户端和服务端所进行的工作。三次报文的重要区别在于标识位的不同,第一个报文,SYN位置1,第二个报文是对第一个报文的确认,SYN位置1,ACK位置1,第三个报文是确认报文,ACK位置1。 将三次握手的过程画出示意图并说明,并填写表中的信息

表4-1TCP 报头和数据信息列表

客户端 TCP连接建立阶段(控制连接) FTP服务器

SYN=(1),ACK=(0) ,FIN=(0) seq num(0X732020CD)

Port(21) Port(21)

ack num(0X00000000) SYN= (1),ACK=(1),FIN=(0)

seq num(0X219DEAA0) ack num(0X732020CE) SYN=(0),ACK=(1), FIN=(0) seq num(0X732020CE) ack num(0X219DEAA1)

2. 通过捕获DNS数据包分析其传输层UDP报头各字段含义并写出你捕获到的下列字段的数值(选做内容)

??端口号:4104 ??目的端口号:53 ??UDP总长度:53

【思考题】

1.TCP在建立连接时为什么需要3次握手,而断开连接是需要几次握手?

答:4次。

(1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。

(2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN

一样,一个FIN将占用一个序号。

(3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A。 (4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1

2.请举例说明日常应用中,哪些应用在传输层采用TCP,哪些应用在传输层采用UDP?

答:HTTP是用TCP传输的,像QQ文件传输或者PPLive是用UDP传输的。

3.UDP协议本身能否确认数据发送的先后顺序?

答:不可以。因为多个数据包发送到达目的地会发生顺序错乱,而TCP协议支持对乱

序包重组,但是UDP协议本身不支持重组


计算机网络实验-传输层协议分析.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:汽车理论考研超级总结(题库)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: