2020-01-23 TCP 建立和断开,言简意赅

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 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。