实验课程

THIS NAME

实验课程

当前位置: 首页 >> 实验课程 >> 正文

计算机网络-TCP实验

发布日期:2024-08-05    作者:张旭     来源:     点击:

TCP实验

一、实验目的

掌握TCP协议的理论知识,理解TCP数据报的首部各字段的含义和作用,深入理解TCP序号确认序号三次握手建立连接释放连接等概念。

二、实验环境

Windows XP/2003,网路岗抓包软件。

三、实验内容与要求

1、学习TCP协议的理论知识。

2、学会用抓包工具捕获TCP数据报文。

3、分析TCP数据报文,深入理解TCP协议,

四、背景知识

TCP数据被封装在一个IP数据报中如下图:

undefined

1

TCP数据在IP数据报中的封装

显示TCP首部的数据格式。如果不计任选字段,它通常是20个字节。

每个TCP段都包含源端和目的端的端口号,用于寻找发端和收端应用进程。这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接。

序号用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。

确认序号包含发送确认的一端所期望收到的下一个序号。因此,确认序号应当是上次已成功收到数据字节序号加1。只有ACK标志(下面介绍)为1时确认序号字段才有效。

首部长度给出首部中32bit字的数目。需要这个值是因为任选字段的长度是可变的。这个字段占4bit,因此TCP最多有60字节的首部。然而,没有任选字段,正常的长度是20字节。在TCP首部中有6个标志比特。

URG紧急指针(urgentpointer)有效ACK确认序号有效。

PSH接收方应该尽快将这个报文段交给应用层。

RST重建连接。

SYN=1同步位为1,表示用来发起一个连接。

FIN=1终止位为1发端完成发送任务,释放连接。

TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。

检验和覆盖了整个的TCP报文段:TCP首部和TCP数据。这是一个强制性的字段,一定是由发端计算和存储,并由收端进行验证。

只有当URG标志置1时紧急指针才有效。

最常见的可选字段是最长报文大小,又称为MSS(MaximumSegmentSize)。每个连接方通常都在通信的第一个报文段(为建立连接而设置SYN标志的那个段)中指明这个选项。它指明本端所能接收的最大长度的报文段。

undefined

2

五、实验步骤

1.实验拓扑如下图1所示。

undefined

3

打开 Wireshark编辑界面,选择网卡,双击后点击【开始捕获】按钮。返回桌面,点击【开始】。如图1所示。

undefined

4

打开浏览器,输入www.baidu.com。点击任意链接。

返回 Wireshark,点击【停止捕获】按钮。査看 Wireshark 捕获的数据包。(根据实际情况)

undefined

5

在搜索栏输入tcp,点击回车,筛选tcp数据包筛选出来的数据包s输入过滤条件tcp.flags.syn==1中选择第一个tcp数据包,双击打开

undefined

6

可解析此报文段的源端口,目的端口,首部长度,标志位等字段。

过滤条件设置tcp.flags.fin==1,开始捕包。关闭浏览器。

返回 Wireshark,点击【停止捕获】按钮。査看 Wireshark 捕获的数据包。

undefined

7

如图,SYN标志位为1.此报文段为释放连接数据包。

上一条:Verilog HDL硬件描述语言-门级电路设计 下一条:计算机网络-路由器交换机配置实验

关闭