深入解析网络队列与过滤机制:从 SYN 到路由过滤
1. SYN 队列与接受队列分析
当 SYN 队列中有连接请求时,定时器会周期性地设置过期时间。一旦某个条目过期,就会从 SYN 队列中移除该旧条目。 syn_table 是 open_request 的实际 SYN 队列,其中可以看到九个条目。以图 19.18 中的一个条目为例, open_request 对象包含 SYN 段中连接请求的所有信息,如 TCP 选项、两端的初始序列号、窗口大小等。在第 341 行的 acked 字段表明该请求尚未收到 SYN 发送后的最终 ACK。若此标志位被设置且请求仍在 SYN 队列中,则表示队列已满。
接受队列方面,将其长度设置为 1,因此接受队列中可排队的最大请求数为 2。在第 256 行检查队列中的第一个请求, dl_next 字段非空,意味着接受队列中还有一个请求排队。下一个请求的 dl_next 字段为 NULL。 Sk 字段指向为此请求创建的套接字,因为该连接的三次握手已完成且连接处于已建立状态。
2. Linux 默认排队规则(pfifo_fast)的 lcrash 步骤
Linux 使用 pfifo_fast 作为默认的排队规则,在将数据包传输到接口之前进行排队。以下是相关操作步骤:
1. 查找 net_device 结构 :通过图 19.
超级会员免费看
订阅专栏 解锁全文
1195

被折叠的 条评论
为什么被折叠?



