浅显易懂的三次握手与四次挥手

本文详细介绍了TCP协议中的三次握手和四次挥手过程。三次握手确保了连接的可靠性,而四次挥手则保证了连接的稳定关闭。文章通过图解和过程解析,阐述了每个阶段的细节,包括SYN和ACK标志的作用,以及为何关闭连接需要更多步骤。此外,还讨论了在连接建立后客户端故障的处理机制,即TCP的保活计时器和探测报文段。

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

目录

一、三次握手

什么是三次握手?

三次握手图解:

过程解析:

(1)第一次握手:

(2)第二次握手:

(3)第三次握手:

二、四次挥手

什么是四次挥手?

四次挥手图解:

过程解析:

(1)第一次挥手

(2)第二次挥手

(3)第三次挥手

(4)第四次挥手

三、两个有意思的问题

为什么连接是三次握手,关闭却要四次挥手?

如果已经建立了连接客户端突然故障怎么办?


一、三次握手

什么是三次握手?

手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。

TCP共有6个标志位,常见的:

标志位 含义
SYN(synchronous) 建立连接
ACK(acknowledgement) 响应确认
FIN(finish) 结束
RST(reset) 重置

建立起一个TCP连接需要经过“三次握手”

三次握手图解:

在这里插入图片描述

过程解析:

(1)第一次握手:

客户端发送SYN包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。

j是一个随机数,通过看服务器返回的j+1是否正确,判断第一次握手服务器是否正确响应。

(2)第二次握手:

服务器确认客户的SYN包,同时发送ACK包(ack = j+1)作为回应;

自己也发送一个SYN包(syn=k),共两个包,此时服务器进入SYN_RECV状态;

k也是一个随机数,也是用于看客户端返回的k+1是否正确,判断第二次握手客户端是否正确响应。

(3)第三次握手:

客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值