3. 会话保持的核心概念与协议栈位置

在卫星网络里谈“链路切换”,真正困难的部分往往不是链路本身,而是链路上承载的会话。卫星相对地面终端高速运动,低轨星座中一颗卫星过顶时间通常只有几分钟到十几分钟,星间链路也会因几何关系变化而重路由。如果每次链路变化都让上层业务重新开始,用户体验将无法接受。因此必须先厘清一组容易混淆的概念:会话、连接、流、标识符,以及它们各自位于协议栈的什么位置。

会话、连接、流:三个不同层次的对象

会话(Session)是面向应用和用户的逻辑交互上下文,例如一次视频通话、一次文件传输、一次网页登录状态。会话的生命周期由应用语义决定,可能跨越多次连接重建,甚至跨越终端更换接入卫星。会话关心的是“这次交互是否还在继续”,而不是“数据此刻走哪条链路”。

连接(Connection)是传输层或会话层为一次通信建立的、具有明确状态和端点的通道,典型如 TCP 连接。连接有明确的建立、维护、释放过程,其状态(序列号、窗口、拥塞控制参数、重传队列)绑定在具体端点上。链路切换若导致端点地址变化,连接就可能中断。

流(Flow)是更细粒度的、具有相同五元组或相同业务特征的数据单元集合,常用于 QoS 分类、流量工程和转发决策。一条连接内可能包含多个流,一个流也可能被映射到不同的底层路径。

三者的关系可以概括为:会话是目的,连接是手段,流是转发粒度。会话保持的目标,是让上层会话在底层连接和流路径发生变化时仍然连续可用。

标识符:会话保持的锚点

要让会话在链路切换后仍能被识别和恢复,必须有稳定的标识符体系。常见标识符包括:

  • 端点标识符:IP 地址、端口号,传统上用于定位通信端点,但在卫星网络中会随接入卫星变化。
  • 会话标识符:如 SIP Call-ID、HTTP Session ID、TLS Session ID,用于在应用层或会话层唯一标识一次会话。
  • 主机标识符:如 HIP 中的 Host Identity、LISP 中的 EID,用于把“身份”与“位置”分离。
  • 流标识符:如五元组、Flow Label,用于转发和 QoS 处理。

标识符设计的核心矛盾是:越靠近网络层的标识符越容易被链路切换影响,越靠近应用层的标识符越稳定但越难被网络设备识别。会话保持机制通常需要在两者之间建立映射,例如用稳定的会话 ID 绑定可变的 IP 地址。

端到端原则与协议栈位置

端到端原则指出,网络核心应尽量保持简单,把可靠性、顺序性、会话状态等复杂功能放在端系统实现。这一原则对会话保持有直接指导意义:链路切换的透明性最好由端系统或边缘网关负责,而不是要求每一颗卫星都维护每个会话的状态。

从协议栈看,会话保持可以分布在多个层次:

层次典型机制对链路切换的敏感度
应用层Session ID、断点续传、重连令牌低,可跨连接恢复
会话层/表示层SIP、RTP 会话、TLS 会话恢复中,依赖会话上下文
传输层TCP 迁移、MPTCP、QUIC Connection ID高,连接状态绑定端点
网络层Mobile IP、LISP、SRv6 端点迁移高,地址变化直接影响路由
链路层波束切换、星间链路重路由最高,直接改变物理路径

实际系统中,会话保持往往是多层协同的结果。例如 QUIC 用 Connection ID 在 IP 地址变化后继续识别连接,TLS 会话恢复减少握手开销,应用层再用业务令牌保证用户状态不丢失。

会话保持的协议栈位置与链路切换耦合关系 协议栈层次 应用层 Session ID / 业务令牌 会话层 / 表示层 SIP / TLS 会话恢复 传输层 TCP 迁移 / MPTCP / QUIC CID 网络层 Mobile IP / LISP / SRv6 链路层 波束切换 / 星间重路由 标识符与映射 会话标识符 Call-ID / Session ID 主机标识符 HIP / LISP EID 连接标识符 QUIC Connection ID 流标识符 五元组 / Flow Label 位置标识符 IP 地址 / 卫星接入点 链路切换事件 卫星过顶离开 接入点 IP 变化 星间链路重路由 路径时延/丢包变化 波束切换 同卫星不同波束 网关迁移 地面站切换 拥塞/中断 触发快速恢复 端到端原则:会话状态尽量由端系统/边缘网关维护,网络核心只负责转发与可达性

会话保持与链路切换的耦合关系

会话保持与链路切换不是两个独立问题,而是同一事件在不同层次上的表现。一次卫星切换会同时触发:链路层波束重指、网络层地址或路由变化、传输层连接状态受影响、应用层可能感知到卡顿或重连。耦合关系可以沿“事件—影响—应对”链条理解。

以低轨卫星为例,假设终端通过卫星 A 接入,正在与地面服务器进行 TCP 视频流传输。当卫星 A 即将离开可见范围,系统需要把终端切换到卫星 B。此时若采用传统 TCP,终端 IP 变化会导致原连接四元组失效,TCP 连接中断,视频出现明显卡顿。若采用 QUIC,连接由 Connection ID 标识,终端 IP 变化后仍可继续使用原连接,只需重新建立到新路径的可用性。若应用层还有会话令牌,则用户登录状态、播放进度等也能继续。

反过来,会话保持机制也会影响链路切换策略。如果系统知道某条链路上承载着高优先级会话,切换决策就应尽量选择能维持该会话连续性的目标卫星和路径,而不是单纯选择信号最强的波束。这就把“切换”从链路层问题提升为跨层联合优化问题。

关键判断:会话保持是否成功,不能只看链路是否重新连通,而要看上层会话是否在可接受的时间内恢复,且业务状态(登录、播放位置、传输进度)是否连续。链路切换完成只是必要条件,不是充分条件。

一个可操作的观察示例

假设某终端在卫星网络中运行一个长连接业务,切换前后可以观察以下指标:

观察点切换前切换后(理想)切换后(异常)
终端 IP10.20.1.510.20.2.810.20.2.8
连接标识CID=0x3A7FCID=0x3A7F(不变)CID 重建,业务重连
会话令牌sess=abc123sess=abc123(保持)sess 失效,需重新登录
中断时长—< 200 ms> 2 s
业务表现正常轻微抖动后恢复卡顿、重连、状态丢失

这个示例说明,判断会话保持是否生效,应同时检查标识符是否延续、中断时长是否可接受、业务状态是否连续。三者缺一不可。

设计会话保持机制时的取舍

在实际工程中,会话保持机制的选择需要权衡以下因素:

  • 状态维护位置:状态放在端系统最符合端到端原则,但端系统可能资源受限;放在边缘网关可以减轻终端负担,但网关成为单点。
  • 标识符稳定性:越稳定的标识符越有利于会话保持,但可能增加映射复杂度和安全风险。
  • 切换时延预算:实时业务要求切换中断在百毫秒级,非实时业务可以容忍秒级中断,这决定了是否需要预切换、双连接等机制。
  • 协议栈协同:单层机制往往不够,需要传输层、网络层、应用层协同,例如 QUIC + Mobile IP + 应用层令牌。

理解会话、连接、流和标识符的区别,明确它们在协议栈中的位置,并把握端到端原则的指导意义,是后续设计具体会话保持方案的基础。链路切换不可避免,但会话可以保持——关键在于把正确的状态放在正确的位置,用正确的标识符锚定它。