TCP状态迁移以及三次握手
2013-10-19 11:43
302 查看
TCP状态转换的图表如下:
1. TCP建立连接三次握手
Client Server
Send SYN(seq==j) ----------> Receive SYN(seq==j)
Receive SYN(seq==k,ACK==j+1) <---------- Send SYN(seq==k,ACK==j+1)
Send ACK(ACK==k+1) ----------> Receive ACK(ACK==k+1)
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),待发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
其中,这三次握手的过程中,包含了下面的这些概念:
1).未连接队列
在TCP建立连接的过程中,服务器会维护一个未连接队列。该队列会为每一个客户端的SYN包(syn==j)开辟一个条目,表示服务器已经收到SYN包,并向客户端发出了确认,正在等待客户端的确认包。这些条目所代表的连接在服务器中处于SYN_RECV状态,当服务器收到客户端ACK时,这些条目被删除,服务器进入ESTABLISHED状态。
2).Backlog参数
这个参数用来表示未连接队列的最大容纳数目。SYA+ACK重传次数。服务器发送完SYN+ACK后,如果没有收到客户端的ACK,服务器进行首次重传。如果等待一段时间后,任然没有收到客户端ACK, 则进行第二次重传。以此类推,如果重传次数超过了系统规定的最大重传次数,系统会将该连接信息从半连接队列中删除。另外,每次重传等待时间不一定相同。
3).半连接存活时间
表示半连接队列的条目存活的最长时间,也即服务器从收到SYN包到确认这个报文无效的最长时间,该时间值是所以重传请求包的最长等待时间总和。也称之为Timeout时间、SYN_RECV存活时间。
1. TCP建立连接三次握手
Client Server
Send SYN(seq==j) ----------> Receive SYN(seq==j)
Receive SYN(seq==k,ACK==j+1) <---------- Send SYN(seq==k,ACK==j+1)
Send ACK(ACK==k+1) ----------> Receive ACK(ACK==k+1)
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),待发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
其中,这三次握手的过程中,包含了下面的这些概念:
1).未连接队列
在TCP建立连接的过程中,服务器会维护一个未连接队列。该队列会为每一个客户端的SYN包(syn==j)开辟一个条目,表示服务器已经收到SYN包,并向客户端发出了确认,正在等待客户端的确认包。这些条目所代表的连接在服务器中处于SYN_RECV状态,当服务器收到客户端ACK时,这些条目被删除,服务器进入ESTABLISHED状态。
2).Backlog参数
这个参数用来表示未连接队列的最大容纳数目。SYA+ACK重传次数。服务器发送完SYN+ACK后,如果没有收到客户端的ACK,服务器进行首次重传。如果等待一段时间后,任然没有收到客户端ACK, 则进行第二次重传。以此类推,如果重传次数超过了系统规定的最大重传次数,系统会将该连接信息从半连接队列中删除。另外,每次重传等待时间不一定相同。
3).半连接存活时间
表示半连接队列的条目存活的最长时间,也即服务器从收到SYN包到确认这个报文无效的最长时间,该时间值是所以重传请求包的最长等待时间总和。也称之为Timeout时间、SYN_RECV存活时间。
相关文章推荐
- TCP 三次握手 与四次挥别 以及各种状态的详细讲解
- tcp 状态以及三次握手
- TCP协议的三次握手和四次挥手以及断开时各阶段的状态分析
- TCP报文首部、三次握手与四次挥手以及四种定时器解析
- TCP三次握手、四次分手、状态变化
- TCP通信----三次握手与四次挥手状态转换
- 【网络】socket通讯原理以及tcp、ip三次握手机制分析
- TCP/IP 三次握手状态变化
- TCP三次握手以及四次挥手图解
- socket通讯原理以及tcp、ip三次握手机制学习
- TCP/IP的三次握手和四次分手以及超时机制
- tcp 三次握手和四次断连深入分析:连接状态和socket API的关系
- 了解TCP三次握手、四次挥手以及syn攻击
- TCP的状态和三次握手
- TCP三次握手及状态变迁
- TCP协议--三次握手、四次挥手、十一种状态
- TCP数据报结构以及三次握手(图解)
- [转]Linux服务器上11种网络连接状态 和 TCP三次握手/四次挥手详解
- 简单说明TCP的状态和三次握手、四次握手
- 【TCP】TCP的状态 (SYN, FIN, ACK, PSH, RST, URG)-与三次握手