tcp/ip 11种状态
2016-12-13 22:46
288 查看
三次握手的建立状态
1、一开始建立之前服务器和客户端的状态都为closed
2、服务器创建socket后开始监听,变为listen状态
3、客户端请求建立连接,向服务器发送syn报文,客户端的状态变为SYN_SENT.
4、服务器收到客户端的报文后向客户端发送ack和SYN报文,此时,服务器的状态变为SYN_RCVD.
5、然后,客户端收到ACK、SYN,就向报务端发送ACK,客户端状态变为ESTABLISHED。
四次挥手关闭状态
由与tcp连接是全双工的,断开连接会比建立连接麻烦一点点。
1、客户端先向服务端发送FIN报文,请求断开连接,其状态变为FIN_WAIT1。
2、服务端收到FIN后向客户端发出ACK,服务器状态变为CLOSE_WAIT。
3、客户端收到ACK后就进入了FIN_WAIT2状态。此时连接已经断开了一半了。如果服务器还有数据要发送给客户端,就会继续发送。
4、直到发完了,就发送FIN报文,此时服务器进入了LAST_ACK状态。
5、客户端收到服务器的FIN后,马上发送ACK给服务器,此时客户端进入TIME_WAIT状态。
6、再过了2MSL找的时间后进入CLOSED状态。服务器收到客户端的ACK就进入CLOSED状态。
CLOSING状态表示:
客户端发生了FIN,但没有收到服务器的ACK,却收到了服务器的FIN。
这种情况发生在服务器发送的ACK丢包的时候,因为网络传输有时会有意外。
tcp/ip 11种状态总结
LISTEN
侦听来自远方的TCP端口的连接请求
SYN-SENT
在发送连接请求后等待匹配的连接请求
SYN-RECEIVED
在收到和发送一个连接请求后等待对方对连接请求的确认
ESTABLISHED
代表一个打开的连接
FIN-WAIT-1
等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2
从远程TCP等待连接中断请求
CLOSE-WAIT
等待从本地用户发来的连接中断请求
CLOSING
等待远程TCP对连接中断的确认
LAST-ACK
等待原来的发向远程TCP的连接中断请求的确认
TIME-WAIT
等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED
没有任何连接状态
1、一开始建立之前服务器和客户端的状态都为closed
2、服务器创建socket后开始监听,变为listen状态
3、客户端请求建立连接,向服务器发送syn报文,客户端的状态变为SYN_SENT.
4、服务器收到客户端的报文后向客户端发送ack和SYN报文,此时,服务器的状态变为SYN_RCVD.
5、然后,客户端收到ACK、SYN,就向报务端发送ACK,客户端状态变为ESTABLISHED。
四次挥手关闭状态
由与tcp连接是全双工的,断开连接会比建立连接麻烦一点点。
1、客户端先向服务端发送FIN报文,请求断开连接,其状态变为FIN_WAIT1。
2、服务端收到FIN后向客户端发出ACK,服务器状态变为CLOSE_WAIT。
3、客户端收到ACK后就进入了FIN_WAIT2状态。此时连接已经断开了一半了。如果服务器还有数据要发送给客户端,就会继续发送。
4、直到发完了,就发送FIN报文,此时服务器进入了LAST_ACK状态。
5、客户端收到服务器的FIN后,马上发送ACK给服务器,此时客户端进入TIME_WAIT状态。
6、再过了2MSL找的时间后进入CLOSED状态。服务器收到客户端的ACK就进入CLOSED状态。
CLOSING状态表示:
客户端发生了FIN,但没有收到服务器的ACK,却收到了服务器的FIN。
这种情况发生在服务器发送的ACK丢包的时候,因为网络传输有时会有意外。
tcp/ip 11种状态总结
LISTEN
侦听来自远方的TCP端口的连接请求
SYN-SENT
在发送连接请求后等待匹配的连接请求
SYN-RECEIVED
在收到和发送一个连接请求后等待对方对连接请求的确认
ESTABLISHED
代表一个打开的连接
FIN-WAIT-1
等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2
从远程TCP等待连接中断请求
CLOSE-WAIT
等待从本地用户发来的连接中断请求
CLOSING
等待远程TCP对连接中断的确认
LAST-ACK
等待原来的发向远程TCP的连接中断请求的确认
TIME-WAIT
等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED
没有任何连接状态
相关文章推荐
- TCP/IP 协议簇 端口 三次握手 四次挥手 11种状态集
- TCP/IP 11种状态变迁
- TCP的11种状态
- TCP/IP TIME_WAIT状态原理
- 唯快不破:TCP/IP详解--TCP/IP中三次握手 四次握手状态分析
- TCP连接的11种状态变迁
- 【转】Linux服务器上11种网络连接状态 和 TCP三次握手/四次挥手详解
- TCP/IP三次我手四次挥手过程与对应状态转移图
- tcp/ip TIME_WAIT 状态
- TCP/IP连接状态图
- TCP/IP各个状态
- [转]Linux服务器上11种网络连接状态 和 TCP三次握手/四次挥手详解
- TCP/IP详解--TCP连接中TIME_WAIT状态过多
- tcp 连接的11种状态–转载
- TCP/IP TIME_WAIT状态原理(转)
- TCP/IP状态变迁
- Linux服务器上11种网络连接状态 和 TCP三次握手/四次挥手详解
- LINUX下解决time_wait连接过多和同一IP连接过多的问题 及 TCP/IP TIME_WAIT状态原理
- TCP/IP 之TCP协议(2):连接和状态
- Linux服务器上11种网络连接状态 和 TCP三次握手/四次挥手详解