实验四 TCP协议分析

  • 格式:doc
  • 大小:68.50 KB
  • 文档页数:4

实验四 TCP协议分析

一、实验目的

1.掌握TCP协议的报文形式;

2.掌握TCP连接的三次握手过程;

3.掌握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连接通过称为三次握手的三条报文来建立的。第一条报文常被称为【SYN】分组。是没有数据的TCP报文段, 首部中的SYN位设置为1, 这个报文段里的序号可以设置成任何值, 表示后续报文设定的起始编号。第二条报文是【SYN ACK】分组。如果服务器进程正在监听并接收到来的连接请求, 它将以一个报文段进行相应, 这个报文段的SYN位和ACK位都置为1。SYN ACK分组在确认收到SYN分组的同时发出一个初始的数据流序号给客户端。第三条报文是【ACK】分组。客户端发送带有标志ACK的TCP报文段, 而不是带SYN的报文段来完成三次握手的过程。这个报文段将确认服务器发送的SYN ACK分组, 并检查TCP连接的两端是否正确打开合运行。整个同步的过程如图:

3.TCP连接的释放

当两端交换带有FIN标志的TCP报文段并且每一端都确认另一端发送的FIN包时, TCP连接将会释放。如图:

三、实验内容及步骤

1.启动Ethereal抓包软件。

2.点击捕获按钮开始捕获。然后打开IE浏览器, 在浏览器地址栏中输入,登录广东海洋大学网页。

3.点击停止捕获按钮, 分析捕获到的数据包。

由于在进行HTTP访问时首先必须先建立TCP连接, 从捕获的数据包明显可以看到TCP连接的三次握手过程, 它们有[SYN], [SYN, ACK], [ACK], 这就是TCP地三次握手。源主机先向目的主机发送SYN同步请求, 再由目的主机收到后向源主机发送SYN+ACK同步确认请求, 源主机收到后向目的主机发送ACK确认请求。

在捕获的数据中, 查找用于建立TCP连接的三次握手报文, 填写下表。

字段名称 [SYN] [SYN, ACK]

[ACK]

源端口

目的端口

Sequence Number

Acknowledgement Number

ACK比特位

SYN 比特位

在捕获的数据中, 查找用于断开TCP连接的四次握手报文, 填写下表。

字段名称 [FIN ACK]1 [ACK]1 [FIN ACK]2 [ACK]2

源端口

目的端口

Sequence Number

Acknowledgement

Number

ACK比特位

SYN比特位

4.分析其后的HTTP连接后的TCP包, 观察其确认号、序列号、窗口大小的变化情况。

四、思考与问答

1.为什么说TCP是面向连接的协议? TCP 3次握手的工作过程是什么, 安全不安全?

2.TCP数据包中的sequence号有什么作用?

3.使用TCP对实时话音数据的传输有没有什么问题? 使用UDP在传送数据文件时会有什么问题?

答:

TCP延时比较大, 因为其具有拥塞控制算法, 对于实时性要求高的业务来说,

有其必然的缺点。UDP没有拥塞控制, 只能提供尽力而为的服务, 所以会出现丢包现象, 且不重传。所以不适合传准确性要求比较高的, 不允许有错误的等数据文件

五、完成实验报告