36、TCP核心处理:快速路径与慢速路径解析

TCP核心处理:快速路径与慢速路径解析

1. 快速路径处理

快速路径处理在 tcp_rcv_established() 函数中进行,进入快速路径处理需要满足特定条件:
- 预测标志中的所有位必须与接收到的TCP段头部的 TCP_HP_BITS 位匹配(代码行3241)。一旦进入慢速路径模式,预测标志( tp → pred_flags )会被置为零,此时TCP头部的 TCP_HP_BITS 将无法匹配。
- 接收到的段必须按顺序到达(代码行3242)。

当满足上述两个条件时,进入快速路径处理该段,具体步骤如下:
1. 时间戳选项检查 :在代码行3251检查TCP头部是否启用了时间戳选项。如果启用,访问TCP头部末尾,即时间戳选项的起始位置(代码行3252)。若时间戳选项代码不正确,则进入慢速路径处理(代码行3257);否则,将接收到的时间戳值存储在 tp→ rcv_tsval 中,回显的时间戳存储在 tp→ rcv_tsecr 中(代码行3261 - 3263)。若新接收到的时间戳小于之前记录的时间戳( tp → ts_recent ),则进入慢速路径处理,检查是否存在PAWS(保护避免重复序列)问题(代码行3267)。
2. TCP头部和段检查 :检查TCP头部是否损坏或TCP段是否没有数据。若TCP段长度等于头部长度(代码行3278),且没有待处理的ACK时,调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值