问题
- 可靠的通信通常得益于在连接的每一端都有某种状态
- 问题:建立连接
你是怎么建立这个状态的? - 问题:连接断开
如何清理(重用端口等)
连接建立
3次握手
红字部分是常见的3次握手,主动方发送SYN消息,并标识第一个字节从Sa开始(active到passive的字节流)。被动方监听到后返回SYN,并标识第一个字节从Sp开始(passive到active的字节流)。主动方收到后回复ACK消息,该消息的序号为Sa+1,ACK Num为Sp+1,消息长度为0。
蓝色部分是并行打开连接,即两者同时发起连接请求。在这种情况下,总共需要发送4个包。
连接断开
- FIN位表示没有更多的数据需要发送