tcp 三次握手和四次挥手

本文详细介绍了TCP协议中连接的建立与断开过程,包括三次握手建立连接的具体步骤和四次挥手断开连接的过程。理解这些基本原理有助于更好地掌握网络编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tcp断开时的四次挥手都给忘了,重新温习一遍吧。

TCP三次握手

所谓的三次握手就是要建立一个tcp连接需要在客户端和服务器端之间进行三次通信,大概的连接过程如下:


1.客户端首先发起连接,也就是第一次握手,处于SYN_SENT状态;

2.服务器端收到SYS 数包,立即发送ACK 应答,并发送自己的SYN(第二次握手),状态被置为SYN_RECEIVED;

3.客户端接收到服务器端的应答,将自己置于ESTABLISHED,表示已经准备就绪,同时发出ACK 应答(第三次握手);

4.服务器端接收到应答,立即将自己置于ESTABLISHED 状态,开始发送数据。

tcp 四次挥手

由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。


1. 客户端发送一个FIN,用来关闭客户到服务器的数据传送,同时将自己置于FIN_WAIT_1 状态,等待服务器端的应答;

2. 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1,和SYN一样,一个FIN将占用一个序号,同时将自己至于CLOSE_WAIT;

3. 服务器关闭客户端的连接,发送一个FIN给客户端,将自己至于LAST_ACK;

4. 客户段发回ACK报文确认,并将确认序号设置为收到序号加1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值