深圳品牌网站制作报价,福州网站如何制作,福州 哈尔滨网站建设 网络服务,如何建设论坛网站前言
TCP#xff08;传输控制协议#xff09;是一种面向连接的、可靠的传输层协议。在建立 TCP 连接时#xff0c;需要进行三次握手#xff0c;防止因为网络延迟、拥塞等原因导致的数据丢失或错误传输#xff0c;确保双方都能够正常通信。 TCP三次握手在Wireshark数据包中…前言
TCP传输控制协议是一种面向连接的、可靠的传输层协议。在建立 TCP 连接时需要进行三次握手防止因为网络延迟、拥塞等原因导致的数据丢失或错误传输确保双方都能够正常通信。 TCP三次握手在Wireshark数据包中是如何体现的在此之前先熟悉TCP三次握手的流程。 TCP三次握手流程
1.客户端发送 SYN 请求报文
客户端选择一个初始序列号seq并将 SYN 标志位置为 1表示请求建立连接。客户端将该 SYN 报文发送给服务端并进入 SYN_SET 状态等待服务端的响应。
2.服务端接收 SYN 请求报文
服务端接收到客户端发来的 SYN 请求报文。服务端将 SYN 标志位置为 1ACK 标志位置为 1表示同意建立连接。服务端选择一个自己的初始序列号seq并分配资源发送 SYNACK 响应报文给客户端。
3.客户端接收 SYNACK 响应报文
客户端接收到服务端发来的 SYNACK 响应报文。客户端将 ACK 标志位置为 1表示确认服务端的同意。客户端将该 ACK 报文发送给服务端建立起连接。
完成以上三个步骤后TCP 连接建立成功双方可以开始进行数据传输。
Wireshark抓包分析
第一步开启抓包ping百度 第二步过滤目标主机地址 可以看到三个TCP数据包接下来我们逐个分析。
第一次握手数据包 由上图可以看到seq为0表示客户端的初始序列号为0ack为0代表本机还未确认服务端的同意syn为1并进入set状态说明本机请求建立连接并等待baidu.com的响应
第二次握手数据包 由上图可以看到seq为0表示服务端的初始序列号为0ack为1代表baidu.com同意接受连接syn为1并进入set状态说明baidu.com等待本机的响应
第三次握手数据包 由上图可以看到seq为1表示客户端期望收到的下一个序列号是1ack为1代表本机同意接受连接syn为1并进入set状态表示确认服务端baidu.com的同意即确认服务器的序列号为0
至此TCP三次握手就完成了客户端本机将与服务端建立起连接。