面试官:一句话概括 tcp三次握手

246 阅读1分钟

所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包,客户端和服务端都需要直到各自可收发,因此需要三次握手

三次握手的目的是 连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息

第一次握手: 客户端发送一个TCP的SYN标志位置1的包指明客户打算连接的服务器的端口,以及初始序号X,保存在包头的序列号(Sequence Number)字段里。

第二次握手: 服务器发回确认包(ACK)应答。即SYN标志位和ACK标志位均为1同时,将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即X+1。

第三次握手. 客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1

QQ截图20220707181053.png

从图片可以得到三次握手可以简化为:C 发起请求连接 S 确认,也发起连接C 确认我们再看看每次握手的作用:第一次握手:S 只可以确认 自己可以接受C 发送的报文段第二次握手:C 可以确认 S 收到了自己发送的报文段,并且可以确认自己可以接受S发送的报文段第三次握手:S 可以确认 C 收到了自己发送的报文段