实验四 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没有拥塞控制, 只能提供尽力而为的服务, 所以会出现丢包现象, 且不重传。所以不适合传准确性要求比较高的, 不允许有错误的等数据文件
五、完成实验报告