当年使用dpdk做的业务
arp 协议:
- 接口link down---->当然删除arp表项的时候需要注意静态路由不能删除,已经被标示为invalid 不可用状态也不要删除, 其实不可用状态由不可用状态逻辑来维护
- 接口ip变化---->首先要发送免费arp ;更新arp 缓存,比如以前在这个接口上学习的arp 是否还能为valid状态,还是需要需要删除,毕竟修改接口ip可能是ip 包含关系变大
- 接口ip mac 变化---->此时需要发送免费arp报文, 此时要区分 是由于IP 改变还是由于MAC改变 而发送的免费arp报文, mac 地址改变可能一个接口配置多个IP, 需要对这个接口上所有的IP 发送免费arp
- 对接口发包判断时也要考虑接口的二三层属性
- 发包的时如果不是自己local-cpu报文,则放入remote-cpu ringbuf 处理报文, 如果enqueue ring buf 失败则直接丢弃!
- 对于接口中二层口 收到本地三层口arp请求报文也要处理!
- 对于本地二层口收到arp 报文判断为转发,此时要注意接口的trunk access tag untag的属性
- 对于arp 应答报文,记得处理arp 生成neighbour
- arp代理逻辑地处理
DHCP 协议:
- dhcp snoop 放在dpdk里面
- dhcp server 以及中继放在dhcp 应用层
- dpch server 要注意dhcp 监听的udp port68时 使用的raw socket 等情况,比如只有raw socket 会导致内核协议栈回复 icmp 没有68号端口等问题
VRRP 协议栈:
- 目前将vrrp 协议栈放在dpdk 里面, 主要有track 上行链路, FSM 状态机
NAT:
- 目前使用portal 认证的时候用到full-nat
L2转发:
- 目前可能设置多个二层口, 实现了bridge 的mac 地址表; 实现二层转发
L3转发:
- 为了实现链路备份,添加了PBR,都是一些简单的PBR+链路检测 以及三层路由表转发
DNS:
- DNS解析以及劫持 实现某些认证功能
IP重组:
- 参考内核设计实现IP分片重组
QOS:
- 参考内核的TC 流控模块
DDOS:
- 基本通用的tcp udp http 各个字段限速-拉黑、阻塞等功能,涉及到具体业务秘密,就不说了
dpdk 架构:
- 涉及到业务秘密,不写了
http代理服务器(3-4-7层代理)-网络事件库公共组件、内核kernel驱动 摄像头驱动 tcpip网络协议栈、netfilter、bridge 好像看过!!!!
但行好事 莫问前程
--身高体重180的胖子
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南