计算机科学与技术学院实验报告
课程名称 |
计算机网络 |
实验类型 |
综合 |
实验名称 |
实验五 TCP数据包及连接建立过程分析 |
||
重点难点 |
重点:TCP 数据包格式; 难点:探索TCP数据包格式各字段具体的物理意义,熟悉TCP连接的建立过程和数据传输过程 |
||
实验目的 |
1. 学习并分析TCP数据包的结构、含义; 2.分析TCP连接的建立过程和数据传输过程。 |
||
实验环境 |
WireShark、IE等软件;实验文件“计算机网络实验.cap” |
||
实验步骤 |
1、TCP数据包的结构和含义分析 打开文件“计算机网络实验.cap”,这是一个包括204个分组的网络通信记录,详细记录了分组的序号、相对时间、源地址、目标地址、协议类型、内容,如图1是对第29个分组的详细信息。 图1 第29个分组的TCP数据包的解析 观察文件内第29个分组的TCP数据包详细信息,见图1。
观察文件内第34个分组的TCP数据包详细信息,见图2。 图2 第34个分组的TCP数据包的解析
2. TCP连接的建立和释放过程 选择“统计-流量图”观察TCP连接的建立过程。 图3 选择“统计-流量图”观察TCP连接的建立过程 客户端进程(IP地址:219.222.170.14,端口1668)与服务器端进程(IP地址:172.30.0.19端口80)建立连接的3次握手过程,对应的分别是第29、30、31数据分组。它们分别完成的是: 第29数据分组:客户端的 TCP( SYN=8a42cdc9,这是客户端为了防范某些安全性攻击而选择的起始序号,相对序号是1)向服务器端发出连接请求报文段;注意该分组的Option字段内容,给出了MSS=1460字节,Sack Permitted 等协商内容。该连接请求报文不携带数据(Len=0),但消耗一个序号。为了防止TCP syn 攻击,该分组选择的初始化序号是8a42cdc9,当然相对序号是1。 图 4 “统计-流量图”选择观察TCP流 图5 TCP流 第30数据分组:服务器端的 TCP收到连接请求报文段后,同意,发回确认(确认报文段中将SYN 置为 1,ACK=1);注意该分组的Option字段内容,给出了MSS=1460字节. 该连接请求确认报文不携带数据(Len=0),但消耗一个序号。同时初始窗口值为32768字节。为了防止TCP syn 攻击,该分组选择的初始化序号是27f5bf03,当然相对序号是1, 对29数据分组的确认是8a42cdca(8a42cdc9+1)。 第31数据分组:客户端收到此报文段后,向服务器端给出确认(ACK=1)。连接建立完成。 客户端进程(IP地址:219.222.170.14,端口1669)与服务器端进程(IP地址:172.30.0.19端口80)释放连接的过程,对应的分别是第47、48、49、50数据分组。它们分别完成的是:第47数据分组:219.222.170.14端的 TCP(FIN置为 1)向172.30.0.19端发出连接释放请求报文段,该释放请求报文未携带数据(Len=0),但消耗一个序号。 第48数据分组:服务器端的 TCP收到连接释放请求报文段后,发回确认(确认报文段中将ACK置为 1);窗口值为64167字节;注意该分组的Option字段内容,时间戳Time stamp。 第49数据分组:172.30.0.19端也不再需要发送数据,发出连接释放请求报文段(FIN置为 1),未携带数据(Len=0)。第50数据分组:收到第49数据分组后,219.222.170.14端发出确认(ACK=1)。至此,连接释放的协商过程完毕,收到第50数据分组后,172.30.0.19会释放与219.222.170.14端1669的连接;219.222.170.14端在2MSL后,释放连接。 |
||
问题一 |
1. 什么是TCP协议?TCP数据包的结构和含义是怎样的? |
||
回答 |
TCP(Transmission Control Protocol,传输控制协议)是因特网协议簇中的核心协议之一,主要用于在计算机网络中实现可靠、顺序和无差错的数据传输。它是一种面向连接的协议,主要特点包括:
TCP各字段含义如下:
|
||
问题二 |
2. TCP协议建立连接的过程是怎样的? |
||
回答 |
TCP协议建立连接需要三次握手,示意图如下: 图片来源:TCP连接的建立和释放过程详解(三次握手、四次挥手)_画图(使用word或wps)说明tcp连接的建立过程和释放过程。-CSDN博客 在握手之前,主动打开连接的客户端结束CLOSE阶段,被动打开的服务器也结束CLOSE阶段,并进入LISTEN阶段。随后进入三次握手阶段: (1)第一次握手(SYN):
(2)第二次握手(SYN-ACK):
(3)第三次握手(ACK):
|
||
问题三 |
根据文件“计算机网络实验.cap”,参照实验4.1 回答以下问题: 3. 分析第44个分组TCP数据包的结构和含义? |
||
回答 |
观察文件内第44个分组的TCP数据包详细信息,见上图。
|
||
问题四 |
4. 分析第127个分组TCP数据包的结构和含义? |
||
回答 |
观察文件内第127个分组的TCP数据包详细信息,见上图。
|
||
问题五 |
5. 分析第75个分组TCP数据包的结构和含义? |
||
回答 |
观察文件内第75个分组的TCP数据包详细信息,见上图。
|
||
问题六 |
根据文件“计算机网络实验.cap”,参照实验4.2 回答以下问题: 6.219.222.170.14端进程(端口1672)与服务器端进程(端口80)建立连接的3次握手过程?该服务器的IP地址是? |
||
回答 |
客户端进程(IP 地址:219.222.170.14,端口 1672)与服务器端进程(IP 地址:172.30.0.19端口 80)建立连接的 3 次握手过程,对应的分别是第 70、71、72 数据分组。它们分别完成的是: 第 70 数据分组:客户端的TCP(SYN=68f7ed0c,这是客户端为了防范某些安全性攻击而选择的起始序号,相对序号是 1)向服务器端发出连接请求报文段;注意该分组的Option 字段内容,给出了 MSS=1460 字节,Sack Permitted 等协商内容。该连接请求报文不携带数据(Len=0),但消耗一个序号。为了防止 TCP syn 攻击,该分组选择的初始化序号是 68f7ed0c,当然相对序号是 1。 第 71 数据分组:服务器端 的 TCP 收到连接请求报文段后,同意,发回确认(确认报文段中将 SYN 置为 1,ACK=1);注意该分组的 Option 字段内容,给出了 MSS=1460 字节. 该连接请求确认报文不携带数据(Len=0),但消耗一个序号。同时初始窗口值为 32768字节。为了防止 TCP syn 攻击,该分组选择的初始化序号是 36b4fc4e,当然相对序号是 1, 对29 数据分组的确认是 68f7ed0d(68f7ed0c+1)。 第 72 数据分组:客户端收到此报文段后,向服务器端给出确认(ACK=1)。连接建立完成。 该服务器的 IP 地址是172.30.0.19。 |