Skip to content

架构概览

状态:Current

最后核对:2026-05-16

仓库

  • nexus-backend:Rust 控制面、REST API、secure gRPC Agent 控制、PostgreSQL、部署逻辑、凭据和仪表盘数据。
  • nexus-agent:Rust 节点 Agent、L4 gateway、TCP/UDP forwarding、Noise/REALITY、Quinn QUIC REALITY、QUIC DATAGRAM、L3 TUN 数据面和指标。
  • nexus-frontend:Next.js 控制台。
  • nexus-docs:规范文档。

控制面

当前控制面由 nexus-backend 实现:

  • /api REST API。
  • JWT 认证和 RBAC。
  • PostgreSQL 迁移。
  • secure control stream 中的节点认证、心跳和数据库权威 RuntimeConfigSnapshot 配置推送。
  • 接收 Agent 上报的运行时端口 listener 状态,并提供 /api/nodes/ports/runtime
  • L4 chain 持久化和部署。
  • L3 tunnel 持久化和部署。
  • 上游、TLS、X25519 和 REALITY profile 管理。
  • 仪表盘和审计 API。

运行时使用 Rust 2024、Axum、Tonic、SQLx/PostgreSQL。Redis 在 compose 中作为支撑服务和后续限流/辅助能力。

Agent 面

nexus-agent 负责:

  • 使用 secure control stream 连接后端。
  • 接收数据库权威 RuntimeConfigSnapshot,其中包含 PingoraConfigL3TunnelConfigNodeConfig
  • 运行 TCP、UDP、TLS、REALITY 和 Quinn QUIC REALITY listener。
  • 应用 TcpProxyRuleUdpRuleQuicRuleL3TunnelRule、上游和 TLS 证书。
  • 当流量可通过 SNI、REALITY short ID、UDP Noise key、QUIC Initial 检测或 RAW fallback 区分时,合并同端口 route table。
  • 上报指标和运行时 listener 表。

关键模块:

  • src/gateway/mod.rs:L4 gateway 编排和测试。
  • src/gateway/udp.rs:UDP 会话、Noise、QUIC REALITY DATAGRAM upstream,以及嵌入式 QUIC REALITY route 的共享 UDP socket 分发。
  • src/gateway/crypto.rs:Noise/ENC 辅助。
  • src/gateway/quic.rs:Quinn QUIC REALITY listener、client pool、stream relay、DATAGRAM relay、L3 context 和指标。
  • src/l3/*:L3 TUN、路由、packet、dataplane、transport 和 metrics。
  • crates/reality-core:REALITY/TLS 原语。
  • crates/reality-io:TCP REALITY stream/session 辅助。
  • crates/quinn-reality:Quinn crypto trait 的 REALITY bridge。

前端

当前控制台页面:

  • Login
  • Dashboard
  • Nodes
  • Gateway L3 tunnels
  • Gateway L4 chains
  • Gateway L4 upstreams
  • Gateway security credentials
  • Audit
  • Settings and users

当前数据面

路径状态
TCP over TCP RAW完成
TCP over TCP TLS完成
TCP over TCP REALITY完成
UDP over UDP RAW完成
UDP over UDP Noise完成
TCP over QUIC REALITY完成
UDP over QUIC REALITY DATAGRAM完成
IP over QUIC REALITY DATAGRAM完成

手写 quic-core runtime 路线已经被 Quinn 实现取代。

数据面方向

Kernel DCO 是未来的项目级 offload 方向,不只属于 QUIC REALITY。它覆盖 TCP、UDP、QUIC 和 L3 dataplane 中可用的 kernel/eBPF/socket/TUN/helper 加速点,但当前仓库没有自定义 DCO 实现。

See:

NexusNet documentation