1.包格式与MPTCP变化
多路径 QUIC 的连接从初始路径(Path 0)开始进行建链,包括认证和握手。所以用于建链认证握手的长包头总是在 Path0 路径上传输,因此长包头保持不变。后续的数据信息和控制信息依照多路径传输扩展思想,需要综合考虑路径特性因素来选择路径发包,而这些信息需要使用短包头承载发送,所以短包头需要添加其所传输路径的信息。所以,在 MPQUIC 中每个短包头数据包(即建链握手包等长包头包除外)都需要添加其所属路径的路径标识符 PathID。
2.帧变化
多路径传输允许多模设备在多个路径上传输数据。而(MP)QUIC 的一大特点就是数据帧和承载其发送的数据包之间是相互独立的,数据包需要标注路径信息,而帧则按照组包后包头标注的路径发送,所以数据帧几乎不需要变化。唯一的例外是 ACK帧,ACK 帧需要添加 Path ID 来表明该应答要传输的路径。
3.新的帧
为了支持多路径操作,MPQUIC 定义了以下新的帧:ADD_ADDRESS,REMOVE_ADDRESS,PATHS 来实现路径的添加,删除和统计操作。
帧类型字段值 | 帧类型 | 帧作用 |
0x10 | ADD_ADDRESS | 添加路径 |
0x11 | REMOVE_ADDRESS | 删除路径 |
0x12 | PATHS | 当前可用路径统计信息 |