Tutorial · 02

架构分层

Zenith 将完整网络栈拆分为 20 个 crate,从内核旁路到应用层逐层覆盖。理解分层是高效使用它的关键。

L2→L7 分层总览

L7应用层路由 / 中间件 / WAF / 缓存 / 代理 / 指纹web · waf · cache · proxy · fingerprint
L6加密层TLS 1.3 · 证书代际 · SNI 路由 · JA3/JA4zenith-tls
L5会话层HTTP/1.1 · HTTP/2 · HTTP/3(QUIC)http1 · http2 · http3
L4传输层TCP 状态机 · UDP 会话表 · QUIC · 端口过滤net · forward
L3网络层IPv4/IPv6 · IP 黑白名单 · CIDR 子网过滤net
L2数据面AF_XDP · io_uring · splice · eBPF 双 Banklinux · ebpf · core

20 个 Crate 职责

Crate层级核心能力
zenith-apiL7三协议收敛到 CanonicalRequest/Response,固定容量数组零堆分配
zenith-coreL2+FramePool、资源账本、恒定时间比较、Huffman、varint
zenith-linuxL2AF_XDP Socket + UMEM + 四环、io_uring、splice
zenith-ebpfL2eBPF 预编译字节码嵌入、libbpf 加载、双 Bank 热更新
zenith-netL2-L4协议解析、TCP 状态机、UDP 会话表、QUIC 传输、准入引擎
zenith-tlsL6TLS 1.3、证书代际、SNI/ALPN 路由、JA3/JA4
zenith-http1L7HTTP/1.1 解析、请求走私防护、CRLF 防注入
zenith-http2L7HTTP/2 帧解析、HPACK、流量控制、Rapid Reset 检测
zenith-http3L7HTTP/3 帧、QPACK、SETTINGS、GOAWAY
zenith-webL7路由、中间件、静态文件、ProtocolServer(H1/H2/H3)、SecurityPipeline
zenith-proxyL7反向代理、6 负载均衡、熔断器、连接池、H3 客户端
zenith-cacheL716 分片缓存、条件请求、stale-while-revalidate、租户隔离
zenith-wafL76 检测器、50ms 预算、规则 IR、自持检测器扩展
zenith-forwardL4TcpRelay、协议转换、CIDR 白名单、背压与带宽配额
zenith-fingerprintL3-L734 采集器、256B 特征向量、决策引擎、三级阻断
zenith-runtime运行时全局 Tokio、三级 Supervisor、ChangeSet 热切换、AutoOptimizer
zenith-capability运行时环境探测、PermissionSet、Profile 三级降级
zenith-observability运行时指标、tracing、审计日志、故障快照、分布式追踪
zenith-testkit测试测试工具、Demo、压力测试

数据面协作模型

Zenith 最核心的路径从网卡驱动层开始,逐层进入用户态处理:

数据流
网卡 → XDP hook (eBPF 内核态线速粗过滤) ↓ XDP_PASS AF_XDP UMEM (零拷贝) ↓ Worker process_cycle (Phase 0-5) ↓ SourceAdmissionEngine (用户态细粒度规则匹配) ↓ Allow L7 处理 (HTTP / TLS / WAF / Proxy / Cache)

eBPF 负责内核态线速粗过滤(XDP_DROP / XDP_PASS),通过 bpf_redirect_map 将放行包送入 AF_XDP UMEM;用户态 SourceAdmissionEngine 再对每一包做细粒度的源 IP × 端口 × 协议匹配,最终放行进入 L7 应用处理。

设计原则

  • Fail-Closed:探测 / 构建 / 解析失败取安全默认值,永不 panic。
  • 热路径零堆分配:固定容量数组替代 String/Vec。
  • 单线程本地存储:无锁访问、对象池复用。
  • 编译期路由注册:运行期零开销分发。
  • unsafe 隔离:所有 unsafe 封装在 zen-linux / zen-ebpf 内部,上层零 unsafe。
  • Copy 语义:核心类型支持 Copy,避免 Clone 开销。
  • 代际安全:证书 / 配置双 Bank 原子切换。
  • 恒定时间比较:DCID / Token / 密码 / 模式匹配防时序侧信道。
提示:完整架构协作与安全模型,还可参考 安全管道 章节。