【汇总】TCP协议的状态解析超全~.docx
《【汇总】TCP协议的状态解析超全~.docx》由会员分享,可在线阅读,更多相关《【汇总】TCP协议的状态解析超全~.docx(4页珍藏版)》请在第一文库网上搜索。
1、【汇总】TCP协议的状态解析,超全今天和大家说说,TCP协议的状态解析。大家可以看看下图,接下来我们会详细说明。发起握手阶段CLOSED:表示初始状态。LISTEN:表示服务器端的某个SOCKET处于监听状态,可以接受连接。SYN.RCVD:表示接受到了 SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat你是很难看到这种状态的,除非你特意写了一个客户端测试程序,故意将三次TCP握手过程中最后一个ACK报文不予发送。因此这种状态时,当收到客户端的ACK报文后,它会进入至U ESTABLISHED 状态。S
2、YN_SENT:这个状态与SYN.RCVD遥相呼应,当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,因此也随即它会进入到了 SYN.SENT状态,并等待服务端的发送三次握手中的第2个报文。SYN.SENT状态表示客户端已发送SYN报文。ESTABLISHED :表示连接已经建立,这是双方进行正常通信所处的状态。主动关闭阶段FIN_WAIT_1 :本地发送FIN(用于结束连接的)数据包后即可进入该状态,等待对方的应答。一般一端发送完其所要发送的数据后,即可发送FIN数据包,此时发送通道被关闭,但仍可继续接受远端发送的数据包。在接受到远端发送的对于FIN数据包的ACK应答后,将
3、进入FIN_WAIT_2 状态。FIN_WAIT_2 :进入该状态表示本地已经接收到远端发送的对于本地之前发送的FIN数据包的ACK应答。进入该状态后,本地仍然可以继续接受远端发送给本地的数据包。在接受到远端发送的FIN数据包后(表示远端也已经发送完数据),本地将发送一个应答数据包,并进入TCP_TIME_WAIT状态。TIME_WAIT状态存在的时间被称为2MSL时间,这一方面是为避免本地发送的应答数据包丢失,另一方面避免一个新创建的套接字接收到旧套接字中遗留的数据包。其实FIN_WAIT_1和FIN_WAIT_2状态的真正含义都是表示(主动关闭阶段)等待对方的FIN报文。而这两种状态的区别
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇总 TCP 协议 状态 解析
