TCP 的三次握手,四次挥手和重要的细节—干货满满,建议细读( 五 )
所以为了让初始序列号更难预测 , 现代系统常常使用半随机的方法选择初始序列号 , 详细的方法就不在这里展开了 。
第二次握手
当服务器接收到客户端的连接请求后 , 就会向客户端发送 ACK 表示自己收到了连接请求 , 而且 , 服务器还得把自己的初始序列号告诉客户端 , 这其实是两个步骤 , 但是发送一个数据包就可以完成 , 用的就是前面说的捎带技术 。 图里的 ACK = client_isn + 1 是指确认号字段的值 , 要注意和 ACK 标志位区分开 。
ACK 字段其实也有不少需要注意的点 , 不过这个跟滑动窗口一块讲比较直观 , 这里就先不提了 。
这里重点强调一下 , 当一个 SYN 报文段到达的时候 , 服务器会检查处于 SYN_RCVD 状态的连接数目是否超过了 tcp_max_syn_backlog 这个参数 , 如果超过了 , 服务器就会拒绝连接 。 当然 , 这个也会被黑客所利用 , 「SYN Flood」就是个很好的例子 。 因为服务器在回复 SYN-ACK 后 , 会等待客户端的 ACK , 如果一定时间内没有收到 , 认为是丢包了 , 就重发 SYN-ACK , 重复几次后才会断开这个连接 , linux 可能要一分钟才会断开 , 所以攻击者如果制造一大批 SYN 请求而不回复 , 服务器的 SYN 队列很快就被耗尽 , 这一段时间里 , 正常的连接也会得不到响应 。
推荐阅读
- 安卓|光遇,国服三次复刻黄鼠狼,两个理由绝了!萌新玩家狂喜
- 电竞新闻|光遇:黄鼠狼三次复刻,萌新玩家不要错过,下次可能要等一年?
- 旅行者|原神玩家醉酒连氪五单648,两面包夹芝士经典复刻,双厨握手联合
- hero久竞|狼队刺痛在KPL的新工作已板上钉钉?Hero掉点三次,无畏镜独木难支!
- estar|eStar射辅组合三次入选周最佳,子阳有望成游走位MVP,对手在队内
- LGD|DOTA2:永远可以相信ame会在关键时刻拉跨,第三次证明了这件事
- 原神|历经三次复刻,原神绝美反派“公子”能否洗白?
- 原神|原神:公子第三次返场,流水超过心海,策划:姜还是老的辣
- 教练|三次阵容变阵,让WB涅槃重生,贝克曼确实比傀儡教练强太多了
- origen|Dota2:新VP老艺能痛失好局意难平,VP、OG握手言和并列A组第一