Page 421 - 《软件学报》2025年第8期
P. 421
3844 软件学报 2025 年第 36 卷第 8 期
被标记为疑似被攻击的 IP 地址, 并将其显示给网络管理人员. 控制平面并不参与 DDoS 攻击检测及防御过程, 这
使得检测机制能够彻底回避由于控制平面与数据平面交互过程产生的时延.
哈希表
标识位 IP
数据包类别判定模块 受攻击 IP 地址存储模块
是否处于 是 源目地址计数 是 更新哈希表 丢弃数据包
DDoS 值差是否超过
攻击状态 阈值 否 查询哈希表 转发数据包
否
出口流水线
图 11 DDoS 攻击防御
控制面
配置表项 读取结果
解 逆 解 逆
解
PIM 析 ... 解 BRE 析 ... 析 BQE
器 析 器
... ... 器 ... ... 器
入口流水线 (ingress) 出口流水线 (egress)
地址频率统计及状态保存模块 熵值计算模块 攻击状态判定 数据包类别判定 受攻击地址存储
原数据 桥接包头 原数据 正常数据包
Hash 熵值更新查找表 熵差计算 攻击状态读取 哈希表
标识寄存器
X Y
Hash 源目地址计数
正常状态
标志位轮换 X Y 窗口计数器 值差计算 标识位 IP 攻击数据包
Hash ... ...
攻击状态
状态读取 Hash 源目地址熵更新 窗口计数器 类别判断
丢弃
重提交包头 原数据
图 12 DDoS 攻击检测预防与机制的数据面实现
数据平面中的 DDoS 检测与防御机制分别部署到可编程交换机的入口与出口流水线, 采用这一设计方式的原
因在于 Intel Tofino 可编程交换机单条流水线长度固定, 通过将检测与防御分开部署可实现资源物理隔离, 降低资
源冲突. 其中, 入口流水线包含地址频率统计及状态保存模块、熵值计算模块、攻击状态判定模块; 出口流水线包
含数据包类别判定及受攻击 IP 存储模块.
(1) 入口流水线 DDoS 攻击检测. 本文在可编程交换机入口流水线 (ingress) 中实现基于熵差的 DDoS 攻击检
测机制, 其主要包括地址频率统计及状态保存模块、熵值计算模块、攻击状态判定模块这 3 个子模块. 其工作流
程如下. 1) 首先通过在地址频率统计及状态保存模块中维护两组基于 Count-Min Sketch 的计数结构, 通过两组
Sketch 的轮换工作保存每个源目 IP 地址在当前观察窗口以及上一个安全状态的观察窗口内的出现频次. 2) 其次,
在熵值计算模块中根据当前窗口的计数值更新源地址熵和目的地址熵. 3) 之后, 在攻击状态判定模块判断源目地

