TCP/IP三次握手总结;
2013-06-21 22:41
295 查看
一、TCP连接的状态: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 不在连接状态(这是为方便描述假想的状态,实际不存在)
在命令行用netstat –an 命令可以看到其所处的连接状态
二、建立三次握手的过程示意图
1.首先客户端发送SYN包到服务端,为第一次握手,这时候客户端处于SYN_SENT等待状态2.服务端收到了客户端发送的SYNC包,然后发送ACK(确认)及自身的SYN包进行回应(第二次握手),此时服务端处于SYN_RECEIVED(等待连接请求确认)状态3.客户端收到了服务端的回应的ACK,然后将本身设置为ESTABLISHED状态,表示已经准备就绪,同时发出ACK应答(第三次握手)4.服务端接收到了客户端发出的ACK应答,此处服务端也将自身设置为ESTABLISHED状态,从而实现双方收发数据
三、断开连接过程:
(1)客户端将接收完数据后,将对服务端发送fin数据包,同时客户端将自身设置为FIN_WAIT_1(等待远端TCP 的连接终止请求,或者等待之前发送的连接终止请求的确认。
)状态
(2)服务端收到了来自客户端的关闭请求,将自身设置为CLOSE_WAIT(等待本地用户连接终止请求) 同时向客户端发送ACK确认通知客户端可以关闭连接,并且发送确认消息后,从原先的CLOSE_WAIT状态变为LAST_ACK(等待先前发送给远端TCP 的连接终止请求的确认)状态,从而等待客户端应答后由本地用户进行关闭操作(3)客户端收到服务器的应答后,将自身设置为FIN_WITE_2状态,等待接收服务器的FIN关闭请求,当收到来自服务端的FIN时将自身设置为TIME_WITE_2状态,同时向服务端发送ACK确认关闭连接此时,连接正常关闭
SYN_SENT 发送完一个连接请求后等待一个匹配的连接请求。
SYN_RECEIVED 发送连接请求并且接收到匹配的连接请求以后等待连接
请求确认。ESTABLISHED 表示一个打开的连接,接收到的数据可以被投递给用户。连
接的数据传输阶段的正常状态。FIN_WAIT_1 等待远端TCP 的连接终止请求,或者等待之前发送的连接终
止请求的确认。FIN_WAIT_2 等待远端TCP 的连接终止请求
CLOSE_WAIT 等待本地用户的连接终止请求
CLOSING 等待远端 TCP 的连接终止请求确认
LAST_ACK 等待先前发送给远端TCP 的连接终止请求的确认(包括它字节
的连接终止请求的确认)TIME_WAIT 等待足够的时间过去以确保远端TCP 接收到它的连接终止请求
的确认CLOSED 不在连接状态(这是为方便描述假想的状态,实际不存在)
在命令行用netstat –an 命令可以看到其所处的连接状态
二、建立三次握手的过程示意图
1.首先客户端发送SYN包到服务端,为第一次握手,这时候客户端处于SYN_SENT等待状态2.服务端收到了客户端发送的SYNC包,然后发送ACK(确认)及自身的SYN包进行回应(第二次握手),此时服务端处于SYN_RECEIVED(等待连接请求确认)状态3.客户端收到了服务端的回应的ACK,然后将本身设置为ESTABLISHED状态,表示已经准备就绪,同时发出ACK应答(第三次握手)4.服务端接收到了客户端发出的ACK应答,此处服务端也将自身设置为ESTABLISHED状态,从而实现双方收发数据
三、断开连接过程:
(1)客户端将接收完数据后,将对服务端发送fin数据包,同时客户端将自身设置为FIN_WAIT_1(等待远端TCP 的连接终止请求,或者等待之前发送的连接终止请求的确认。
)状态
(2)服务端收到了来自客户端的关闭请求,将自身设置为CLOSE_WAIT(等待本地用户连接终止请求) 同时向客户端发送ACK确认通知客户端可以关闭连接,并且发送确认消息后,从原先的CLOSE_WAIT状态变为LAST_ACK(等待先前发送给远端TCP 的连接终止请求的确认)状态,从而等待客户端应答后由本地用户进行关闭操作(3)客户端收到服务器的应答后,将自身设置为FIN_WITE_2状态,等待接收服务器的FIN关闭请求,当收到来自服务端的FIN时将自身设置为TIME_WITE_2状态,同时向服务端发送ACK确认关闭连接此时,连接正常关闭
相关文章推荐
- TCP/IP三次握手与四次挥手总结
- 关于TCPIP的三次握手和四次挥手的总结
- TCP/IP三次握手、四次挥手总结
- TCP/IP三次握手、四次挥手总结
- (转)TCP/IP三次握手与四次挥手_老六_新浪博客
- Tcp/ip三次握手,4次分手.
- TCP/IP详解--TCP/IP中三次握手 四次握手状态分析
- TCP/IP三次握手
- TCP/IP HTTP 三次握手和四次握手
- TCP/IP三次握手与四次挥手
- TCP/IP的三次握手与四次挥手详解
- TCP/IP连接为什么要三次握手,而不是两次
- socket通讯原理以及tcp、ip三次握手机制分析
- 【转载】Socket通讯原理以及TCP、IP三次握手机制分析
- TCP/IP 三次握手
- TCP/IP三次握手与四次挥手学习笔记
- TCP/IP的三次握手与四次挥手详解
- TCP/IP的三次握手和四次放手
- TCP/IP三次握手详解
- TCP/IP 三次握手协议与四次放手协议