TCP常用知识笔记(简)-4

TCP三次握手

三次握手过程

开始服务器处于LISTEM状态,来监听端口。
第一次:客户端随机初始化序号,把SYN位置1,把第一个SYN报文发给服务端。之后客户端处于SYN-SEDT状态。
第二次:服务端收到SYN报文后,服务器初始化序列号,然后把TCP首部确认号改为客户端的序列号+1,接着把SYN和ACK位置1发给客户端,服务器处于SYN-RCVD状态。
第三次:客户端收到服务端端报文后,将TCP首部ACK置1,确认号填入服务器序号+1,最后把报文发给服务端,这次报文可以携带数据,客户端进入ESTABLISHED状态。服务端收到应答后也进入ESTABLISHED状态。

三次握手原因

1.三次握手可以阻止历史重复连接的初始化。
在网络拥堵的情况下,可能旧的SYN报文比新的SYN报文先到服务端。如果发证这种情况,客户端回应SYN+ACK报文,客户端收到后判断属于历史连接,发送RST报文,中断这次连接。
2.同步双发初始序号。
序列号的作用:接收方可以去除重复数据,接收方可以根据数据包的序列号按序接受,标识那些包被接受。
3.避免资源浪费
两次握手如果因为阻塞,服务端可能会建立多个无用连接。

猜你喜欢

转载自blog.csdn.net/weixin_43891021/article/details/114151647