本节站在终端与服务器两端,看标准的 TCP/IP 栈在卫星接力路径上的行为:哪些机制天生契合(IP 尽力而为),哪些机制水土不服(TCP 把时延当拥塞),以及工程界两条补救路线——中间件加速与应用层换协议。
第一处是慢启动与带宽时延积。TCP 吞吐的上限由拥塞窗口与往返时延的比值决定,窗口不够大,带宽就是空话。卫星链路的往返时延比地面网高一个量级,需要的窗口也大一个量级。算一笔账:
def tcp_window(rtt_ms, target_mbps): """带宽时延积:窗口 = 带宽 × 时延""" return target_mbps * 1e6 * rtt_ms / 1000 / 8 / 1024 # 返回 KiB for rtt in [20, 40, 80]: for mbps in [100, 250]: w = tcp_window(rtt, mbps) print(f"RTT {rtt:>2} ms · 目标 {mbps:>3} Mbps → 需要窗口约 {w/1024:5.1f} MiB") # 输出: # RTT 20 ms · 目标 100 Mbps → 需要窗口约 0.2 MiB # RTT 40 ms · 目标 250 Mbps → 需要窗口约 1.2 MiB # RTT 80 ms · 目标 250 Mbps → 需要窗口约 2.4 MiB
窗口本身好办(窗口缩放因子早已标配),难的是爬升速度:慢启动每往返时延翻一倍,地面网十几个往返就到顶,卫星链路每个往返本身就是几十毫秒,爬到兆字节级窗口要多花数秒——短视频首帧、网页首屏恰好落在这段爬坡期。第二处是把时延抖动误判为拥塞丢包:切换瞬间(第 6 章)的毫秒级中断会被 TCP 当成丢包,窗口砍半进入拥塞避免,速率塌了再慢慢爬;星间路由重算带来的时延跳变同样触发误判。第三处是三次握手与每连接冷启动:HTTP 短连接模式下,每次请求先交一个往返时延的"握手税",卫星链路上这笔税格外显眼。
路线一是性能增强代理(PEP):在信关站与终端侧各放一个代理,把一条端到端 TCP 拆成"终端到信关站的本地快连接 + 星段专协议",星段用专为长肥管道设计的传输(大初始窗口、基于速率而非窗口的控制、快速重升速),两端用户毫无感知。代价是破坏端到端原则——加密流量无法拆分,QUIC 普及后 PEP 的地盘正在收缩。路线二是应用层换协议:QUIC 把传输层逻辑搬进用户态,握手与加密合并(省一个往返时延)、连接标识与四元组解绑(切换不断连接,正是第 6 章移动性的福音)、内置更激进的丢包恢复。事实标准正在向"原生适配高时延移动网络"演化,卫星不过是把它推向极致。两条路线不是二选一:运营商会做链路层重传与调度优化(把星段误码率压到接近零,让 TCP 或 QUIC 看到一条"干净但慢"的管道),这层"帮上层擦地"的设计哲学贯穿整个协议栈适配。

IP 组网还有一个前置问题:终端的 IP 从哪来、包怎么找到它。主流做法是把移动性收进网络侧——终端保持一个归属地址,星座边缘的锚点做隧道转发(类似地面移动网的长效网关思路),切换只改隧道出口,IP 不变,TCP 连接无感。更激进的设计让每颗卫星都是移动网络的路由器,靠位置感知的寻址把"跟人走"变成"跟位置走"。无论哪种,衡量标准都一样:切换期间连接不断、丢包可控、路由状态更新收敛够快。下一节就进入这些路由状态怎么算的深处。
把本节机制合到一起算三笔账,感受各层修复的合力。网页首屏(十几个串联请求):裸 TCP 加卫星 RTT 时,每请求交"握手加一个来回"的税,首屏轻松超过一秒;换 QUIC(零额外往返握手)加连接复用,压到两三个 RTT,约两百毫秒量级——这正是实测"卫星宽带网页体验接近地面"的主因。大文件下载:慢启动爬坡被长 RTT 放大,前几秒速率爬坡;启用大初始窗口与高码率挡后,几十兆比特每秒的稳态吞吐可持续,瓶颈从窗口转移到波束容量。实时游戏:对吞吐不敏感对抖动极敏感,切换瞬间的五十毫秒中断在游戏里是可感知的顿挫——这是第 6 章切换优化的直接动机,也说明"协议适配解决不了所有问题,层间要配合"。三笔账说明同一件事:卫星网络的体验优化是全栈协同的产物,物理层给速率、链路层给干净、传输层给窗口、调度层给平滑切换,缺一层用户都能感觉到。
某用户投诉"测速达标但视频会议卡顿"。排查路径演示全栈思维:测速单流吞吐正常(物理层与传输层无恙);持续 ping 网关发现周期性尖峰(每几分钟一次掉十几毫秒,与换星周期吻合——切换事件);查切换日志确认中断时长与丢包均在规格内(切换机制正常);根因是会议软件对两百毫秒级的瞬时抖动敏感,叠加切换尖峰触发其内部重传风暴。处置:终端侧开启软件的低延时模式容忍抖动,网络侧把该用户切换判据提前(增加准备时间),尖峰后移出敏感窗。这个案例的教学点:卡顿的根因可以同时横跨应用行为、切换时序与配置参数——全栈知识不是装饰,是排障的生产力。
补一段 QUIC 的实测画像(综合公开测量的典型量级,帮助建立数字感)。连接建立:相比 TCP 加 TLS 省一个往返时延,在六十毫秒 RTT 的链路上,首包时间从一百八十毫秒级压到一百二十毫秒级——对短请求密集的应用(信息流、搜索)改善立竿见影。拥塞控制:默认算法在高时延链路上起步保守,启用时延敏感的变种后爬坡更快,但需要网络侧配合(避免与链路层重传的双重重传打架)。连接迁移:换 IP 不换连接标识,恰好对上第 6 章的切换场景——实测切换丢包从"连接级事件"降为"瞬时抖动"。局限:运营商侧做不了基于五元组的 QoS(加密太彻底),运营商与用户的利益在加密问题上永远拧着(8.2 节的争议伏笔)。这段画像的读法:每个协议特性都要放到"卫星链路的哪条物理特性"上对照——特征对上物理,才是适配而不是巧合。
补一段寻址设计的思想史脉络,帮助理解现状方案的来路。传统 IP 地址一符两用:既是身份(会话认它)又是位置(路由按它),终端不动时天下太平,终端一跨网就撕裂。地面移动网的解法是拆开两符:稳定的身份标识加可变的位置路由,中间由锚点做翻译。卫星网络全盘继承了这个思路,并把"位置变化"的频率从漫游级(小时)提到切换级(分钟)——锚点的效率因此成为关键设计点:锚点太远(如固定在信关站)路径绕远,锚点太散(如每星一个)状态爆炸,工程取中间态(区域锚点池加快速迁移)。理解了"身份与位置分离"这条主线,就能给任何新出现的卫星组网方案找到它在思想史上的坐标——多数"创新"是这个老问题的当代重解。