摘要
- RFC 9621—9623 允许应用声明硬性要求与软性偏好,再由实现结合系统策略、历史缓存和当前网络候选选择路径与协议栈。
Ready证明至少一个合格协议栈已经建立;它不说明哪些偏好落选、哪些候选被剪除,也不证明远端处理或用户结果。
RFC 9621 不要求应用先钉死 IP 地址、接口和协议,而是让它描述所需传输服务。RFC 9622 定义抽象 API,RFC 9623 说明实现如何收集、排序和竞速候选。这样,新传输能力可以在应用接口不变时进入运行系统。
便利也改变了控制面:应用提交意图,平台拥有更多选择权。事故调查若只保留“调用成功”和 Ready,就看不到选择依据。
五个强度不是同义词
RFC 9622 为多数选择属性规定 Require、Prefer、No Preference、Avoid、Prohibit。Require 只允许具备该属性的候选,否则失败;Prohibit 只允许不具备它的候选,否则失败。Prefer 与 Avoid 影响顺序,却允许继续使用非首选方案。
因此,“偏好非计量网络”仍可能产生流量费用;“禁止计量网络”则宁可无法连接。实现必须遵守全部硬性要求与禁止,但软性偏好的结果可随主机与环境变化。产品承诺若依赖成本、隐私或安全边界,就不能只写成偏好。
接口名称也不是属性证明。Wi-Fi 不自动等于免费、私密或低时延,蜂窝网络也不自动等于昂贵。若计费性质重要,应表达计费属性,而非从接口标签推断。
同一请求面对三类决策者
RFC 9623 列出应用偏好、动态系统策略和实现默认策略。管理规则可以禁用某条路径,平台可以限制某个进程使用接口,实现会为未声明属性提供默认值。被选候选必须同时满足三层约束。
但 RFC 9621 明确指出,系统策略依平台而异,抽象 API 不规定读写它的统一接口。应用意图可以跨平台保持一致,选择理由却未必能以同一方式读出。PolicyProhibited 能解释一种失败,成功的 Ready 并不会自动附上策略版本、候选清单或排序轨迹。
这不是要求全球统一策略,而是要求分开两份记录:共同契约负责硬性语义,本地选择回执负责说明谁依据什么作出决定。
候选树的次序会改变赢家
RFC 9623 建议先按网络路径分支,再按协议选项,最后按解析出的端点分支。其示例同时偏好 Wi-Fi 与 SCTP;若缓存认为 Wi-Fi 上不可用 SCTP,Wi-Fi 子树只剩 TCP,而 LTE 子树仍有 SCTP。因为路径优先,Wi-Fi/TCP 可以早于 LTE/SCTP 尝试。
两个偏好都存在,却不是放进一个全局评分器。树的形状、剪枝与优先次序共同拥有决定权。只记录赢家,无法回答另一个候选为何根本没有参赛。
端点也会随路径变化。不同接口可能得到不同 DNS 结果;代理会改变目标地址和端口;协议可能只在部分路径存在。候选集必须带有时间、网络和实现上下文。
最快只在合格集合内有意义
RFC 9623 区分同时竞速、错峰竞速与失败后切换。同时尝试可减少等待,却消耗更多资源并留下未使用状态,因此不宜作为默认。错峰模式延迟启动后续候选;失败后切换则让强偏好先获得完整机会。
代理是典型例子。若直接路径与代理同时竞速,前者只因快几毫秒就可能绕过策略;若代理具有控制意义,应使用硬性约束或明确的失败后切换。RFC 8305 的 Happy Eyeballs 为地址族竞速提供基础,TAPS 将选择扩展到路径、协议与端点。
安全边界更严格。RFC 8922 把安全参数纳入传输服务。RFC 9623 警告,攻击者可阻断首选尝试,诱导系统使用第二候选。若第二候选更弱,竞速就成了降级通道。所有候选必须保留硬性安全要求,并处在被认可的安全等价范围内。
缓存把昨天变成今天的投票
实现可保存 DNS 结果、TLS 会话状态、TCP Fast Open 凭据,以及 RTT、建立时延和成功率。RFC 9040 提供共享 TCP 控制块信息的背景。这些历史会排序甚至剪除下一轮候选。
优化也会形成反馈:常胜路径获得更多新样本,被剪除路径得不到翻身证据;昨天的故障可能遮住今天的修复。RFC 9621 因此要求应用明确声明必需属性,不应依赖某种固定缓存行为。
缓存还有关联风险。连接上下文可隔离 TLS 状态与复用关系,避免本应分开的活动被识别为同一来源。选择回执宜记录缓存命名空间、数据类别、年龄和失效依据,而不是复制票据、密钥或用户标识。
Ready 只关闭建立阶段
RFC 9623 把“至少一个协议栈已能发送与接收应用数据”视为建立完成;RFC 9622 以 Ready 暴露该状态。这证明本地已有可用且应满足硬性约束的栈。
它不证明软性偏好全部实现,不说明远端应用已处理消息,也不证明费用、时延或用户结果。完整证据链应分开记录:属性强度、有效策略、缓存来源、候选与剪枝、尝试时序、赢家、消息事件、远端处理和最终结果。
RFC 9623 将 Apple Network.framework、NEAT、NEATPy 与 PyTAPS 列为在不同程度上符合其思路的实现。Apple Network 文档 展示了协议选项与路径约束的现实价值,但这不是所有平台行为与审计能力一致的认证。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance

