说一下什么是三次握手和四次挥手

一、三次握手

(1)第一次握手就是客户端请求服务端连接,发送SYN报文置为1,并加上初始化序列号seq

(2)当服务端收到请求后,会回复应答报文ACK置为1,并发送属于服务端的SYN连接请求,连接客户端

(3)客户端收到后,代表服务端连接无误,随之回复应答报文ACK置为1,seq序列号为收到序列号+1

补充:报文中就包含了初始序列号,不是发报文还发序列号;

  回复报文的时候,将SYN报文字段置为1,而且产生ACK的验证字段(验证就是客户端发的那个seq+1)

  客户端第三次收到后,没啥问题,凑合

二、四次挥手

(1)第一次就是客户端请求断开连接,发送FIN报文

(2)第二次就是服务端收到请求,回复应答报文ACK置为1,并在收到序列号+1,进行恢复

(3)第三次服务端处理完数据请求,发送FIN报文,请求与客户端断开连接

(4)第四次客户端收到FIN报文后,说明断开请求无误,回复应答报文ACK,完成双向请求的断开

三、主动解释为什么需要四次挥手

(1)在断开请求时,我们无法明确是否存在数据传输,不像三次握手,单纯建立连接,并无数据传输,所以,我们需要服务端自行判断自身状态,如果没有数据传输就返回FIN报文,这也是保证数据传输的保证。

补充:无误

posted @ 2022-11-05 10:47  寻仙阁  阅读(354)  评论(0)    收藏  举报