TCP三次握手

 
TCP协议下,客户的和服务器的连接过程称为“三次握手”
 
第一次握手:建立连接时,客户的发送SYN包到服务器,并进入SYN_SEND状态,等待服务器确认。
第二次握手:服务器收到SYN包,必须确认客户的SYN包,同时自己也发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK,此包发送完毕,客户端和服务器端进入ESTABLISHED状态,完成三次握手。
 
一些重要细节:
 
未连接队列:在三次握手协议中,服务器维护一个未连接队列,每个客户端SYN都入队,每个SYN所标识的服务器状态为SYN_RECV,当服务器收到确认包时,就将此SYN出列,服务器进入ESTABLISHED状态。
 
backlog参数:未连接队列最大连接数
 
SYN-ACK:重传次数:服务器发送完SYN-ACK包,如果未收到客户端确认包,服务器会重传,如果超过系统的最大重传数,该连接将从队列中删除。
 
 
三次握手
TCP三次握手
 
 
上一篇:java 多线程5(创建方式)


下一篇:ASP.NET MVC下的四种验证编程方式【转】