运维123 - 离网通信
type: channel
link: https://www.sddts.cn/index.php/tag/%E7%A6%BB%E7%BD%91%E9%80%9A%E4%BF%A1/
items: Reticulum 加密网络栈技术分析

Reticulum 加密网络栈技术分析
type: item
date: 2026-01-20T08:43:54+00:00
description: Reticulum 加密网络栈技术分析一、项目概述1. 简介A. 是什么Reticulum 是一个基于密码学的网络协议栈，用于构建不可阻挡的本地和广域网络。它能够在高延迟、极低带宽的环境下运行，支持 LoRa、分组无线电、WiFi 等多种物理介质。B. 为什么值得关注提供端到端加密和连接性实现发起者匿名通信支持自动配置的多跳传输无需内核模块或驱动，完全运行在用户态不依赖传统 IP 网络栈，独立构建网络层C. 应用场景离网mesh网络应急通信系统抗审查通信平台物联网设备互联隐私保护的网络服务2. 项目背景A. 作者与维护者作者：markqvist项目创建时间：2018 年 4 月项目状态：活跃开发中B. 核心理念Reticulum 的愿景是让每个人都能成为自己的网络运营商，通过廉价且易于部署的工具覆盖广阔区域，构建无数独立、可互操作和自治的网络。这些网络没有关闭开关、监控、审查和控制，可以自由互操作、关联和分离，无需中央监管。这是为人人构建的网络，属于人民的网络。二、技术架构1. 系统组成A. 核心组件网络协议栈（Network Stack）接口系统（Interface System）路由系统（Routing System）加密层（Cryptography Layer）传输层（Transport Layer）B. 关键概念Identity（身份）：基于椭圆曲线加密的身份标识Destination（目标）：网络地址和端点Link（链路）：加密的端到端连接Channel（通道）：可靠的顺序数据传输Path（路径）：多跳路由路径2. 工作原理graph TB A[应用层] --> B[Reticulum API] B --> C[传输层] C --> D[加密层] D --> E[接口系统] E --> F1[LoRa] E --> F2[分组无线电] E --> F3[TCP/IP] E --> F4[串口] F1 --> G[物理介质] F2 --> G F3 --> G F4 --> GA. 协议分层应用层：使用 Reticulum API 的应用程序传输层：提供可靠传输、通道、缓冲机制加密层：处理身份认证、加密、签名接口层：抽象各种物理介质物理层：实际的通信硬件B. 数据流向sequenceDiagram participant App as 应用程序 participant RNS as Reticulum participant IF as 接口 participant Phy as 物理介质 App->>RNS: 发送数据 RNS->>RNS: 加密与签名 RNS->>RNS: 路由查找 RNS->>IF: 封装数据包 IF->>Phy: 发送 Phy->>Phy: 传输 Phy->>IF: 接收 IF->>RNS: 解封装 RNS->>RNS: 验证与解密 RNS->>App: 交付数据三、核心功能特性1. 密码学特性A. 身份与加密512 位椭圆曲线密钥对256 位 Ed25519 签名密钥256 位 X25519 ECDH 密钥前向保密（Forward Secrecy）不可否认的传输确认B. 加密令牌格式基于 Curve25519 的 ECDH 密钥交换AES-256 CBC 模式加密，PKCS7 填充HMAC-SHA256 消息认证通过 os.urandom() 生成 IVC. 密码学原语Reticulum 使用一套高效、强大且经过充分测试的密码学原语：Curve25519 密钥交换Ed25519 数字签名HKDF 密钥派生SHA-256/SHA-512 哈希AES-256-CBC 加密2. 网络特性A. 地址与路由无需协调的全局唯一地址完全自动配置的多跳路由灵活的跨异构载体扩展B. 性能指标最小带宽：5 bps最小 MTU：500 字节性能范围：150 bps - 500 Mbps链路建立开销：仅 3 个数据包（297 字节）链路维持成本：0.44 bpsC. 匿名性发起者匿名：数据包不包含源地址通信时不暴露身份信息3. 接口系统A. 内置接口类型以太网设备LoRa（通过 RNode）分组无线电 TNC（带或不带 AX.25）KISS 兼容硬件和软件调制解调器串口设备TCP over IPUDP over IP外部程序（通过 stdio 或管道）B. 自定义接口支持用户自定义接口模块简单的接口实现 API可扩展的插件系统四、部署与使用1. 系统要求A. 硬件要求任何支持 Python 3 的系统至少半双工通道，吞吐量 > 5 bpsMTU ≥ 500 字节B. 支持平台LinuxmacOSWindowsAndroid（通过 Sideband 应用）嵌入式系统（如树莓派）2. 安装方法A. 通过 pip 安装pi…