卫星终端到终端(UT-to-UT)全星上最短路径通信架构设计
声明:
只是某一天睡前的一个小想法罢了,其中有很多东西是不合理和没有细节的,技术需求的前置因素很多,民科都算不上;图一乐图一乐,不喜勿喷。
1. 概述与目标 (Overview & Objectives)
本架构旨在解决低轨道卫星网络中,两个卫星终端(UT)之间的高效直连通信问题。核心目标是通过星间链路(ISL)实现数据包的全星上转发,避免数据“落地再上天”造成的时延惩罚与地面网关瓶颈。
低时延 (Low Latency): 利用 ISL 最短几何路径,实现物理极限逼近的通信时延。
数据主权与安全: 数据面流量闭环在空间段,减少地面拦截风险。
控制与转发分离: 采用 SDN 思想,控制面负责复杂的映射与寻址,数据面负责极简、高速的包转发。
2. 核心架构分层 (Core Architecture Layering)
系统采用典型的控制面(Control Plane)与数据面(Data Plane)分离架构。
2.1 实体定义
UT (User Terminal): 用户终端,拥有全球唯一的身份标识TerminalID。
Sat_{Access} (Access Satellite): 当前直接服务终端的卫星。
Anchor (锚点): 数据包交付的逻辑或物理入口点。通常映射为对方当前服务的卫星Sat_{ID} 或所在空域的区域标识Region_{ID}。
CN (Control Node): 星上或边缘部署的控制节点,负责维护位置映射数据库。
2.2 控制面:位置/绑定服务 (Location/Binding Service)
控制面不处理用户负载数据,仅维护“身份到位置”的动态映射。
映射关系:TerminalID \rightarrow \{Anchor_{Primary}, Anchor_{Backup}, TTL\}
核心逻辑: 处理注册(Register)、续租(Refresh)、解析(Resolve)与切换(Handover)。
2.3 数据面:ISL 转发织物 (ISL Forwarding Fabric)
数据面不涉及复杂的 ID 解析,仅基于锚点地址进行无状态或低状态转发。
转发逻辑:Packet(Dst=Anchor) \rightarrow NextHop
核心特性: 逐包最短路径,支持源路由或分层路由。
3. 控制面详细设计:Binding 生命周期
控制面采用**软状态(Soft-state)**管理模型,允许短暂的映射不一致,通过快速纠错机制保障可用性。
3.1 初始注册 (Initial Registration)
当UT_B 上线并接入Sat_B 时:
Sat_B 生成绑定对象:
Binding = \{ T_{ID}: UT_B, A_{ID}: Sat_B, TTL: 60s, Scope: Fine \}上报: 将 Binding 推送至区域控制节点 ($CN$) 或分布式存储。
策略: 注册具有有效期 (TTL),必须周期性刷新,否则自然老化剔除。
3.2 映射解析 (Resolution with Multi-Candidates)
当UT_A 发起通信时,Sat_A 向CN 请求UT_B 的位置。为解决卫星高速运动导致的“解析即失效”问题,解析响应应包含多候选锚点。
Resolve-Reply 结构示例:
JSON
{
"Target": "UT_B",
"PrimaryAnchor": "Sat_1024", // 当前最佳入口
"BackupAnchors": ["Sat_1025"], // 预测的下一个切换目标
"RegionHint": "Region_NA_Sec_5", // 区域级粗粒度定位
"ValidUntil": "Timestamp",
"Token": "SignedAuthToken" // 防伪造签名
}
优势:Sat_A 可并行向主/备锚点发送首包(SYN),谁先响应就与谁建立连接,极大提升首包成功率。
3.3 切换与重定向 (Handover & Redirection)
当UT_B 从Sat_{Old} 切换到Sat_{New}:
新注册:UT_B 立即向Sat_{New} 注册新 Binding。
搬家转寄 (Forwarding Pointer):Sat_{Old} 并不立即删除旧记录,而是标记为
Forwarding-State,指向Sat_{New}。流量纠错: 若数据包仍到达Sat_{Old},则:
转发: 将包通过 ISL 转给Sat_{New}。
回告 (Redirect): 向发送端Sat_A 发送
REDIRECT消息,告知更新锚点。
4. 数据面详细设计:全星最短路径转发
数据面需在计算开销、带宽开销和路由表规模之间通过权衡,采用分层路由或混合路由模式。
4.1 三种实现形态对比
4.2 推荐方案:分层路由 (Hierarchical Routing)
地址结构:Address = \{ RegionID \oplus SatelliteID \}
转发流程:
Stage 1 (Inter-Region): 中间卫星只看RegionID,将包路由到目标区域的边界。
Stage 2 (Intra-Region): 进入目标区域后,卫星解析SatelliteID,进行精确转发。
优势: 极大缩小了单星路由表规模,且区域内部拓扑变化不会引起全网路由震荡。
5. 通信全流程演练 (Session Lifecycle)
以下是UT_A 发送数据给UT_B 的完整流程:
Discovery (发现):
UT_A \rightarrow Sat_A: 发起连接请求
CONNECT UT_B。Sat_A \rightarrow CN: 发送
Resolve(UT_B)。CN \rightarrow Sat_A: 返回
Anchor_B(主备列表)。
Ingress Processing (入口处理):
Sat_A 封装数据包。若采用分层路由,目的地址设为Anchor_B。
并行探测: 针对首包,可同时向Anchor_{Primary} 和Anchor_{Backup} 发送。
ISL Transit (星上传输):
中间卫星执行
Lookup(Dst),基于实时链路状态(拥塞/时延)选择下一跳。数据包在星座织物(Fabric)中按最短路径流动。
Egress & Handling Stale State (出口与容错):
场景一 (正常): 包到达Sat_B,解封后下发给UT_B。
场景二 (已切星): 包到达Sat_{Old}。$Sat_{Old}$ 查表发现UT_B 已通过
Pointer移至Sat_{New},遂执行隧道转发,并发送Redirect信令给Sat_A。
6. 关键系统策略 (Key Strategies)
6.1 一致性策略 (Consistency Model)
采用 "Eventual Consistency with Fast Failover" (最终一致性 + 快速故障转移)。
不追求强一致: 不等待所有节点同步 Binding 数据。
快失败: 如果路径不通,立即触发重解析或回退。
数据面优先: 控制面的延迟不应阻塞已经建立的数据流。
6.2 安全性 (Security)
防劫持:TerminalID \rightarrow Anchor 的更新消息必须包含UT 私钥签名的 Token。
源地址验证 (SAV):Sat_{Access} 必须校验入站包的源 ID 是否属于当前服务的终端,防止 IP 欺骗。
6.3 DNS 的边界
DNS 角色: 仅用于将域名(如
www.service.com)解析为TerminalID 或边缘网关 IP。非 DNS 角色: 终端的实时位置(由 Binding Service 负责)、路由路径选择(由路由协议负责)。
7. 总结与类比 (Mental Models)
为了便于理解,可将本架构与现有互联网技术做类比:
ID\rightarrow Anchor: 类似于 LISP (Location/ID Separation Protocol) 协议,分离了“你是谁”和“你在哪”。
搬家转寄: 类似于 Mobile IP 的 Home Agent 机制,但更轻量化,分布在旧锚点上。
多 Anchor 并行: 借鉴了 QUIC 协议 的连接迁移能力和 Anycast 的思想。