三次握手
来源:互联网 发布:机器人d-h算法 编辑:程序博客网 时间:2024/04/29 22:42
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,。
第一次握手:建立连接时,客户端发送syn(syn=j)到服务器,并进入SYN_SENT状态,等待服务器的确认。SYN:同步序列编号。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
与三次握手相关的重要概念:
未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于 Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。
Backlog参数:表示内核为相应套接字排队的最大连接个数。SYN+ACK重传次数服务器发送完SYN+ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。
半存活时间:是指半连接队列的条目存活的最长时间,也即服务器从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
- 三次握手
- 三次握手
- 三次握手
- ”三次握手“
- 三次握手
- 三次握手
- 三次握手
- 三次握手
- 三次握手
- 三次握手
- 三次握手
- 三次握手
- 三次握手
- 三次握手
- 三次握手
- 三次握手
- 三次握手
- 三次握手
- Some tips about layout
- Learning Vector
- 手机终端CPU之高通和ARM系
- EMD(Earth Mover's Distance)概念及代码
- ASP+ACCESS手工
- 三次握手
- Java_字符编码(Unicode、UTF-8、UTF-16)
- java设计模式 单例
- TCP和UDP的区别
- 5月13了。革命尚未成功,同志还需加油
- Android的基础学习:ListView的使用和Adapter
- POJ 3009 Curling 2.0
- 好吧 半年了
- PAT 1002. 写出这个数