No description
This repository has been archived on 2026-06-16. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • P4 54.5%
  • Python 45.5%
Find a file
2020-05-11 22:55:37 +08:00
bfrt_python Initial commit 2020-04-23 20:49:41 +08:00
p4src Initial commit 2020-04-23 20:49:41 +08:00
pkt Initial commit 2020-04-23 20:49:41 +08:00
ptf Initial commit 2020-04-23 20:49:41 +08:00
.DS_Store Initial commit 2020-04-23 20:49:41 +08:00
README.md Initial commit 2020-04-23 20:49:41 +08:00
设计及函数使用说明.pdf doc add 2020-05-11 22:55:37 +08:00

1.用三个寄存器实现了一个以三个hash函数为基础的Bloom Filter通过布隆过滤器判断数据包是否在一个集合中 如果是SYN数据包会计算hash并将记录插入布隆过滤器的相应位置 如果是其他数据包则计算hash读取布隆过滤器相应位置全为1表示该数据包存在集合中可以继续匹配ipv4_host表否则不能继续向下执行匹配。

2./pkt文件夹中 send_syn.py构造一个SYN数据包并发出bloom_filter检测到SYN数据包会进行插入操作给布隆过滤器的相应位置置位。 send_exist.py构造一个五元组和send_syn.py中一样的数据包检测是否可以命中布隆过滤器命中就可以继续匹配ipv4_host table。 send_not_exist.py构造一个和上面不同五元组的数据包不会命中布隆过滤器也有概率会命中就是误报

3./ptf文件夹中是ptf集成测试文件有三个class: insertBloomF: 构造SYN数据包在布隆过滤器相应位置置位 hitBloomF: 和insertBloomF中五元组一样的数据包可以命中布隆过滤器可以进行ipv4_host table的匹配 NhitBloomF: 五元组不同于上面的数据包不能命中布隆过滤器不能匹配ipv4_host