1 / 7
文档名称:

TCP状态知识总结(图解).doc

格式:doc   大小:285KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

TCP状态知识总结(图解).doc

上传人:63229029 2017/1/16 文件大小:285 KB

下载得到文件列表

TCP状态知识总结(图解).doc

相关文档

文档介绍

文档介绍:TCP 状态知识总结(图解) 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 :没有任何连接状态 TCP 是一个面向连接的协议,所以在连接双方发送数据之前,都需要首先建立一条连接。这和前面讲到的协议完全不同。前面讲的所有协议都只是发送数据而已, 大多数都不关心发送的数据是不是送到,UDP 尤其明显,从编程的角度来说,UDP 编程也要简单的多----UDP 都不用考虑数据分片。书中用 登陆退出来解释 TCP 协议连接的建立和中止的过程,可以看到, TCP 连接的建立可以简单的称为三次握手,而连接的中止则可以叫做四次握手。 ,客户端首先向服务器申请打开某一个端口(用SYN 段等于 1 的TCP 报文),然后服务器端发回一个 ACK 报文通知客户端请求报文收到,客户端收到确认报文以后再次发出确认报文确认刚才服务器端发出的确认报文(绕口么),至此,连接的建立完成。这就叫做三次握手。如果打算让双方都做好准备的话,一定要发送三次报文,而且只需要三次报文就可以了。可以想见,如果再加上 TCP 的超时重传机制,那么 TCP 就完全可以保证一个数据包被送到目的地。 TCP 有一个特别的概念叫做 half-close ,这个概念是说,TCP 的连接是全双工(可以同时发送和接收)连接,因此在关闭连接的时候,必须关闭传和送两个方向上的连接。客户机给服务器一个 FIN 为1的TCP 报文,然后服务器返回给客户端一个确认 ACK 报文,并且发送一个 FIN 报文,当客户机回复 ACK 报文后(四次握手), 连接就结束了。 ,通信的双方要互相确认对方的最大报文长度(MSS) ,以便通信。一般这个 SYN 长度是 MTU 减去固定 IP首部和 TCP 首部长度。对于一个以太网,一般可以达到 1460 字节。当然如果对于非本地的 IP,这个 MSS 可能就只有 536 字节,而且,如果中间的传输网络的 MSS 更佳的小的话,这个值还会变得更小。 的状态迁移图书P182 页给出了 TCP 的状态图,这是一个看起来比较复杂的状态迁移图,因为它包含了两个部分--- 服务器的状态迁移和客户端的状态迁移,如果从某一个角度出发来看这个图,就会清晰许多,这里面的服务器和客户端都不是绝对的,发送数据的就是客户端,接受数据的就是服务器。 . 客户端应用程序的状态迁移图客户端的状态可以用如下的流程来表示: CLOSED->SYN_SENT->ESTABLISHED->FIN_WAIT_1->FIN