网络学习(三)TCP三次握手、四次挥手,及Wireshark抓包验证

在这里插入图片描述

一、什么是 TCP 三次握手?

TCP(Transmission Control Protocol,传输控制协议)的 三次握手(Three-Way Handshake)是 TCP 连接建立的过程。在 TCP 中,连接的建立和关闭都是通过客户端和服务器之间的一系列握手完成的。三次握手用于确保客户端和服务器之间的连接是双向的,并且双方都能发送和接受数据。

三次握手的过程如下:

在这里插入图片描述

注意:图中,seq表示序列号;seq=x中x表示在客户端序列号已经迭代到x了,如果是第一次请求,x就是0;seq=y中y表示在服务端序列号已经迭代到y了,如果是第一次响应,y就是0。

  1. 第一次握手(同步请求):
    • 客户端发送一个带有 SYN(同步序列编号)标志的 TCP报文段给服务器,请求建立连接。这个报文段还包含一个初始序列号,用于后续的数据传输。
    • 客户端进入 SYN_SENT 状态,等待服务器确认。
  2. 第二次握手(同步确认):
    • 服务器收到客户端的 SYN 报文段后,如果同意建立连接,会回复一个 SYN+ACK(同步确认)报文段。这个报文段同样包含一个确认序列号,确认客户端的序列号,并提供自己的初始序列号。
    • 服务器进入 SYN_RECEIVED 状态。
  3. 第三次握手(确认):
    • 客户端收到服务器的 SYN+ACK 报文段后,会发送一个带有 ACK(确认)表示的报文段给服务器,确认服务器的序列号。
    • 客户端和服务器都进入 ESTABLISHED 状态,此时连接完全建立,双方可以开始数据传输。

三次握手是 TCP 连接建立的必要步骤,它保证了在不可靠的网络环境中,TCP 能提供可靠的数据传输服务。

三次握手确保了以下几点:

  • 客户端和服务器都能发送和接收数据。
  • 双方都确认了对方的序列号,用于数据包的顺序恢复和重复检测。
  • 连接是双向的,确保了数据的可靠传输。

二、什么是 TCP 四次挥手?

TCP 四次挥手(Four-Way Wave)是TCP协议中终止一个已建立连接的过程。与三次握手用于建立连接类似,四次挥手用于在双方完成数据交换后,安全地关闭连接。四次挥手的过程 确保了所有数据都被正确传输,并且双方都同意关闭连接

TCP四次挥手的过程如下:

在这里插入图片描述

  1. 第一次挥手(终止请求):
    • 任意一方(通常是客户端)发送一个带有 FIN(Finish)标识的 TCP 报文段,表示数据传输完毕,希望关闭连接。这个报文段也包含一个序列号。
    • 发送 FIN 的一方进入 FIN_WAIT_1 状态。
  2. 第二次挥手(终止确认):
    • 接受 FIN 的一方(通常是服务器)会发送一个带有 ACK(Acknowledgement)表示的报文段,确认接收到 FIN。这个 ACK 报文段确认的是 FIN 报文段的序列号。
    • 发送 ACK 的一方进入 CLOSE_WAIT 状态,而发送 FIN 的一方收到 ACK 后进入 FIN_WAIT_2
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不愿放下技术的小赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值