RPRX 讨论 XHTTP 下行保活与 packet-down 的设计方向

RPRX 认为 XHTTP 不应依赖特定上层协议解决自身问题,并提出在 stream-down 中承载 packet-down 的设计方向,用于下行 keep-alive;他同时强调这不等于已经实现复杂的恢复连接或多路径策略。

作者原文

某位俄罗斯友人在私信中提到了该问题,我的看法是,目前来看“恢复连接”过于复杂且有局限性,比如需解决延迟、ACK 等问题、以及没有覆盖 https://github.com/XTLS/Xray-core/issues/4846 的需求,此外如果通过 mux 或 vision 的 padding 格式来发 keep-alive 包固然可以,但 XHTTP 作为一个独立的传输层,在设计哲学上不应过度依赖特定的上层协议来解决自身存在的问题,此外对 CDN 来说上行可以不活跃但下行得活跃,所以是时候开始设计 packet-down 的格式了,但不是 meek 那种,而是在 stream-down 中跑 packet-down,这也并不意味着直接实现了 https://github.com/XTLS/Xray-core/issues/4846 所需的复杂策略、multi-path-down 甚至多个相同包竞速,就像 packet-up 早有这些潜力但还没设计那样的配置,packet-down 的帧格式也需要保留这些潜力,大概五个要素:可省略的 session id 节选、可省略的包序号、不可省略的类型即 padding/data、不可省略的 length、实际数据,现在主要是利用该框架来发送下行的 keep-alive 包,obfs 是后话

但可以先开放周期、长度 range、padding 内容,至于服务端备份、客户端重排序、ACK 等,等拓展了“高级用法”再实现吧