手机版
你好,游客 登录 注册
背景:
阅读新闻

TCP会话过程详解

[日期:2012-08-11] 来源:Linux社区  作者:xinghuiru [字体: ]

TCP的状态机

在一些资料上经常可以看到这样TCP的状态机这样的字眼,它到底是什么意思呢?状态机顾名思义,就是状态之间的转换,是在三次握手和四次断开中延伸出来的一种对状态的描述

图3

下面就综合图1、图2 来解说一下图3的意思。(这个图相对于一些资料中的状态机来说,省去了很多东西,相对来说比较容易理解,不能刚看到就晕,这样就不好了TCP

连接流程:

第一次握手:建立连接时,客户端A主动打开发送SYN请求,A--->SYN_SENT

第二次握手:服务端B收到SYN请求,并发送ACK,B----->SYN_RVCD

第三次握手:客户端A收到B的SYN+ACK,并发送ACK,此包发送之后A--->ESTABLISHED状态;B收到ACK,B也进入ESTABLISHED状态

断开连接

第一次断开:客户端A发送一个FIN断开请求,A进入FIN_WAIT_1状态

第二次断开:服务段B收到A的FIN请求,并发送ACK,B进入CLOSE_WAIT状态

第三次断开:客户端A收到ACK,此时A进入FIN_WAIT_2状态

服务端B发送FIN请求,B进入LAST_ACK状态

第四次断开:A收到B的FIN请求,并发送ACK,A进入TIME_WAIT状态--->CLOSE

B收到客户端A的ACK,则B由LAST_ACK------>CLOSE状态

通过这个不太复杂的图,对于状态机应该有一个清晰的认识了,再看复杂的状态机应该也不是问题了,有了这些基础,对于iptables中的一些规则,才能有一个清楚的认识。见 http://www.linuxidc.com/Linux/2012-08/67952.htm

linux
相关资讯       TCP 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款