当前位置:文档之家› 实验四 TCP协议分析

实验四 TCP协议分析

实验四 TCP协议分析

一、实验目的

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

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

3、掌握TCP数据传输中编号与确认的过程;

二、实验原理概述

1、 TCP报文格式

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连接的三次握手报文,填写下表。

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

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

四、思考与问答

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

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

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

答:

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

五、完成实验报告

相关主题