TCP三次挥手和四次挥手问题

三次握手(建立连接)

(1)客户端发送一个带 SYN 标志的 TCP 报文到服务器,这是第 1个报文;

(2)服务端回应客户端,是第 2 个报文,同时带有 ACK 标志和SYN 标志,以此回应第 1 步,SYN用于询问客户端是否准备好进行通讯;

(3)客户再次回应服务端一个 ACK 报文,是第 3 个报文。
 

为什么要进行 3 次握手?

当服务端的 LISTEN 状态下的 SOCKET 收到 SYN 报文的请求后,可以把 ACK 和 SYN 放在 1 报文中来发送,其中 ACK 的作用是应答,而 SYN 的作用是同步。
 

四次挥手(连接终止协议)

(1)TCP 客户端发哦是那个一个 FIN,用于关闭客户发送到服务器的数据传送;

(2)服务器收到这个 FIN,返回一个 ACK,和 SYN 一样,一个 FIN将占用一个序号;

(3)服务器关闭客户端的连接,发送 FIN 给客户端;

(4)客户端返回 ACK 报文,并将确认序号设置为收到的序号+1。
 

为什么要进行 4 次挥手?

在 TCP 连接时,是将 SYN 和 ACK 一起发送的,但为什么挥手却没有一起发送呢?因为 TCP 是全双工模式,接收到 FIN 时将没有数据再发来,但还是可以继续发送数据。

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由 IETF 的 RFC793 定义。

TCP 旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠 TCP提供可靠的通信服务。TCP 假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。原则上,TCP 应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值