TCP三次握手、4次断开详解

TCP协议提供了一种面向连接的、可靠的、基于字节流的传输层通信协议。在TCP通信中,连接的建立和断开是通过三次握手和四次挥手来完成的。

1.第一次握手:客户端发送数据包(带有SYN标志)给服务器,并且附带一个随机的序列号(seq)。此时客户端进入SYN_SEND状态,等待服务器确认。

2.第二次握手:客户端发出SYN包后,服务端收到SYN包,并回传一个数据包(包含一个确认号ack,表示确认收到)给客户端(带有SYN/ACK),表示接受到客户端发出的信号。此时,服务端也发出一个seq信号,进入SYN_RECV状态。

3.第三次握手:客户端在接收到服务端发出的信号后,发出一个数据包(带有ACK标志)给服务端进行确认,此时,二者都进入ESTABLISHED状态,通信建立。

①.第一挥手.此时客户端发送数据包(带有FIN标志)给服务端,表示想要结束通信,此时客户端进入FIN_WAIT_1状态。

②.第二次挥手:服务器在接受到FIN包后,发送一个数据包(带有ACK标志)给客户端,表示接受到关闭请求,此时服务端进入CLOSE_WAIT状态。

③.第三次挥手:服务器在关闭连接之前,可能会发送一些数据给客户端,当完成发送后,服务端会发送一个数据包(带有FIN标志)给客户端,表示服务端也要关闭连接了,此时服务端进入LAST_ACK状态。

④.第四次挥手:客户端在接收到服务端发送的数据包(带有FIN标志)后,会发送一个数据包(带有ACK标志)给服务端,表示已经接收到服务端发出的信号,此时客户端进入TIME_WAIT状态,一段时间后,客户端进入到COLSED状态,连接关闭,服务端在接收到ACK信号后,也进入到COLSED状态,,连接完全关闭。

这就像是小白和大黄在路上道别,小白说:“咱今天想跟你说点心里话”,小黄说:“好啊,你说吧”

小白说:“OK,那我开始说了,有啥不对的地方你可别骂我”(三次挥手)

然后巴拉巴拉扯了一大堆,俩狗都泪汪汪的。(传输ing)

小白说:"老弟啊,山高路远,咱就此一别吧",小黄接着说:“好啊,在这之前,让我再尝一口你家的剩饭吧!”吃饱喝足之后,小黄说:“大哥,咱也没有别的念想了,就此一别吧”小白说:“再见,下次见到你,你一定要开心,要幸福,好不好,小黄,小黄,没有你我怎么活啊小黄,啊呜呜呜呜呜呜”

(四次挥手)

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值