2020-01-23 TCP 建立和断开,言简意赅
- 2020 年 2 月 18 日
- 筆記
https://juejin.im/post/5e26b199f265da3df245e5ed?utm_source=gold_browser_extension
信息传递角度
从信息传递角度看,信息传递的标识是SYN,标识了开始建立连接并互换信息,交换的信息有:(1)client的ip和port,也就是通知服务端链接人的地址;(2)双方互换了开始计数的sequence number,也就是ISN;(3)双方协商了MSS;
image.png
状态流转角度
从连接的建立和结束过程的状态流转来看,连接的正常状态如下图;信息交换之后,两端的联系状态会发生变化;打个比方,人和人之间了解了彼此的情况沟通交流之后,关系的状态也会发生变化。
image.png
系统调用角度
最后看一下什么操作导致了信息的传递和状态的变化,有些是用户进程通过system call触发的(绿色表示),有些是kernel按rfc对于tcp的规定实现的。
image.png
升华一下
连接的建立有(1)动作,动作使得(2)信息的交换,信息的交换使得(3)状态发生改变。这里”动作-信息-状态“也可以看作一种结构性分析的方法,这个方法可以来帮忙设计各种场景下的状态机:什么核心操作,核心信息变化,应该是一种状态。
希望这三个角度能加深您对TCP的认识哦:)
作者:maki 链接:https://juejin.im/post/5e26b199f265da3df245e5ed 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。