【每日一记11】+第2天:彻底弄懂TCP协议:从三次握手说起(二)
  

易逝的信仰 1207

{{ttag.title}}

疑症(2)TCP 连接的初始化序列号能否固定

如果初始化序列号(缩写为 ISN:Inital Sequence Number)可以固定,我们来看看会出现什么问题。假设 ISN 固定是 1,Client 和 Server 建立好一条 TCP 连接后,Client 连续给 Server 发了 10 个包,这 10 个包不知怎么被链路上的路由器缓存了(路由器会毫无先兆地缓存或者丢弃任何的数据包),这个时候碰巧 Client 挂掉了,然后 Client 用同样的端口号重新连上 Server,Client 又连续给 Server 发了几个包,假设这个时候 Client 的序列号变成了 5。

接着,之前被路由器缓存的 10 个数据包全部被路由到 Server 端了,Server 给 Client 回复确认号 10,这个时候,Client 整个都不好了,这是什么情况?我的序列号才到 5,你怎么给我的确认号是 10 了,整个都乱了。RFC793 中,建议 ISN 和一个假的时钟绑在一起,这个时钟会在每 4 微秒对 ISN 做加一操作,直到超过 2^32,又从 0 开始,这需要 4 小时才会产生 ISN 的回绕问题,这几乎可以保证每个新连接的 ISN 不会和旧的连接的 ISN 产生冲突。这种递增方式的 ISN,很容易让攻击者猜测到 TCP 连接的 ISN,现在的实现大多是在一个基准值的基础上进行随机的。

疑症(3)初始化连接的 SYN 超时问题

Client 发送 SYN 包给 Server 后挂了,Server 回给 Client 的 SYN-ACK 一直没收到 Client 的 ACK 确认,这个时候这个连接既没建立起来,也不能算失败。这就需要一个超时时间让 Server 将这个连接断开,否则这个连接就会一直占用 Server 的 SYN 连接队列中的一个位置,大量这样的连接就会将 Server 的 SYN 连接队列耗尽,让正常的连接无法得到处理。目前,Linux 下默认会进行 5 次重发 SYN-ACK 包,重试的间隔时间从 1s 开始,下次的重试间隔时间是前一次的双倍,5 次的重试时间间隔为 1s,2s, 4s, 8s,16s,总共 31s,第 5 次发出后还要等 32s 都知道第 5 次也超时了,所以,总共需要 1s + 2s +4s+ 8s+ 16s + 32s =63s,TCP 才会把断开这个连接。

由于,SYN 超时需要 63 秒,那么就给攻击者一个攻击服务器的机会,攻击者在短时间内发送大量的 SYN 包给 Server(俗称 SYN flood 攻击),用于耗尽 Server 的 SYN 队列。对于应对 SYN 过多的问题,linux 提供了几个 TCP 参数:tcp_syncookies、tcp_synack_retries、tcp_max_syn_backlog、tcp_abort_on_overflow 来调整应对。

打赏鼓励作者,期待更多好文!

打赏
3人已打赏

Gethin 发表于 2020-9-18 10:14
  
学习到了
伊利丹·怒风 发表于 2021-6-28 17:25
  
多谢楼主的分享,期待你的更多技术贴
伊利丹·怒风 发表于 2021-6-28 17:25
  
多谢楼主的分享,期待你的更多技术贴
伊利丹·怒风 发表于 2021-7-14 14:01
  
感谢分享,有助于工作,学习学习感谢分享,有助于工作,学习学习
伊利丹·怒风 发表于 2021-7-20 11:56
  

谢谢分享,有助于工作。
yim 发表于 2021-9-20 08:13
  
发表新帖
热门标签
全部标签>
【 社区to talk】
每日一问
新版本体验
标准化排查
高手请过招
社区新周刊
产品连连看
GIF动图学习
功能体验
安装部署配置
纪元平台
平台使用
信服课堂视频
网络基础知识
技术笔记
2023技术争霸赛专题
运维工具
排障笔记本
安全效果
答题自测
解决方案
VPN 对接
云化安全能力
产品解析
关键解决方案
专家问答
技术圆桌
设备维护
存储
迁移
秒懂零信任
文档捉虫
华北区交付直播
每周精选
西北区每日一问
畅聊IT
在线直播
MVP
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
用户认证
原创分享
sangfor周刊
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
产品预警公告
玩转零信任
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
卧龙计划
华北区拉练
天逸直播
以战代练
技术晨报
技术盲盒
山东区技术晨报
齐鲁TV
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
升级&主动服务
高频问题集锦
POC测试案例
全能先锋系列
专家说
热门活动
产品动态
行业实践

本版版主

461
248
13

发帖

粉丝

关注

本版达人

feeling

本周分享达人

新手29676...

本周提问达人