40、TCP 处理机制与拥塞状态管理详解

TCP 处理机制与拥塞状态管理详解

1. TCP SACK 块处理机制

在 TCP 数据处理过程中,SACK(Selective Acknowledgment)块的管理至关重要。当存在与新重叠段生成的 DSACK 块序列空间相邻的 SACK 块时,需将其移至 SACK 数组开头;若不存在,则需创建一个新的 SACK 块,此操作在 tcp_sack_new_ofo_skb() 函数中完成。
- tcp_sack_new_ofo_skb() 函数 :在新段在乱序队列中找到位置后,由 tcp_data_queue() 调用。该函数需为新段生成一个 SACK 块,此块可能是现有 SACK 块的扩展。若新段与乱序队列中的现有段存在重叠序列空间,在调用此函数前已为该段生成 DSACK。此时,需检查是否存在与生成的 DSACK 序列空间相邻的 SACK 块。由于 SACK 块按到达顺序排列在 tp → selective_acks[] 中,因此需在循环 2405 – 2414 中搜索数组中的所有 SACK 块。若在 2406 行找到与 DSACK 序列空间重叠的 SACK 块,则在 tcp_sack_extend() 中扩展该 SACK 块的序列字段以包含 DSACK 序列空间,并在 2408 – 2409 循环中将该 SACK 块移至 SACK 列表顶部。在 2411 行调用 tcp_sack_maybe

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值