TCP 的三次握手,四次挥手和重要的细节—干货满满,建议细读( 三 )
窗口大小是一个 16 位无符号数 , 也就是说窗口被限制在了 65535 字节 , 也就限制了 TCP 的吞吐量性能 , 这对一些高速以及高延迟的网络不太友好(可以想想为什么) 。 所幸 TCP 额外提供了窗口缩放(Window Scale)选项 , 允许对这个值进行缩放 。
下面是 8 个标志位的含义 , 有的协议比较旧 , 可能没有前两个标志位:
标志位虽然很多 , 但是如果放到具体场景里来看的话 , 就很容易理解他们的作用了 。
TCP 三次握手
三次握手就是为了在客户端和服务器间建立连接 , 这个过程并不复杂 , 但里面有很多细节需要注意 。
这张图就是握手的过程 , 可以看到客户端与服务器之间一共传递了三次消息 , 这三次握手其实就是两台机器之间互相确认状态 , 我们来一点一点看 。
第一次握手
首先是客户端发起连接 , 第一个数据包将 SYN 置位(也就是 SYN = 1) , 表明这个数据包是 SYN 报文段(也被称为段 1) 。 这一次发送的目的是告诉服务器 , 自己的初始序列号是 client_isn , 还有一个隐含的信息在图里没有表现出来 , 那就是告知服务端自己想连接的端口号 。 除了这些 , 客户端还会发送一些选项 , 不过这跟三次握手没多大关系 , 暂且按下不表 。
推荐阅读
- 安卓|光遇,国服三次复刻黄鼠狼,两个理由绝了!萌新玩家狂喜
- 电竞新闻|光遇:黄鼠狼三次复刻,萌新玩家不要错过,下次可能要等一年?
- 旅行者|原神玩家醉酒连氪五单648,两面包夹芝士经典复刻,双厨握手联合
- hero久竞|狼队刺痛在KPL的新工作已板上钉钉?Hero掉点三次,无畏镜独木难支!
- estar|eStar射辅组合三次入选周最佳,子阳有望成游走位MVP,对手在队内
- LGD|DOTA2:永远可以相信ame会在关键时刻拉跨,第三次证明了这件事
- 原神|历经三次复刻,原神绝美反派“公子”能否洗白?
- 原神|原神:公子第三次返场,流水超过心海,策划:姜还是老的辣
- 教练|三次阵容变阵,让WB涅槃重生,贝克曼确实比傀儡教练强太多了
- origen|Dota2:新VP老艺能痛失好局意难平,VP、OG握手言和并列A组第一