|
|
|
@ -63,9 +63,9 @@ Mux.Cool 使用对称传输格式,即客户端和服务器发送和接收相
|
|
|
|
|
|
|
|
|
|
### 新建子连接 (New) |
|
|
|
|
|
|
|
|
|
| 2 字节 | 1 字节 | 1 字节 | 1 字节 | 2 字节 | 1 字节 | A 字节 | |
|
|
|
|
| ------ | ------ | -------- | ---------- | ------ | ---------- | ------ | |
|
|
|
|
| ID | 0x01 | 选项 Opt | 网络类型 N | 端口 | 地址类型 T | 地址 A | |
|
|
|
|
| 2 字节 | 1 字节 | 1 字节 | 1 字节 | 2 字节 | 1 字节 | A 字节 | 8 字节 | |
|
|
|
|
| ------ | ------ | -------- | ---------- | ------ | ---------- | ------ | --------------- | |
|
|
|
|
| ID | 0x01 | 选项 Opt | 网络类型 N | 端口 | 地址类型 T | 地址 A | Global ID (UDP) | |
|
|
|
|
|
|
|
|
|
其中: |
|
|
|
|
|
|
|
|
@ -80,17 +80,27 @@ Mux.Cool 使用对称传输格式,即客户端和服务器发送和接收相
|
|
|
|
|
- 当 T = 0x01 时,A 为 4 字节 IPv4 地址; |
|
|
|
|
- 当 T = 0x02 时,A 为 1 字节长度(L) + L 字节域名; |
|
|
|
|
- 当 T = 0x03 时,A 为 16 字节 IPv6 地址; |
|
|
|
|
- Global ID (UDP): |
|
|
|
|
- 客户端计算出新 UDP 连接的全局独特 ID,服务端用以确保当 TCP MUX 断线重连时,源 UDP 连接始终使用同一个端口与目标通信 |
|
|
|
|
|
|
|
|
|
在新建子连接时,若 Opt(D) 开启,则这一帧所带的数据需要被发往目标主机。 |
|
|
|
|
|
|
|
|
|
### 保持子连接 (Keep) |
|
|
|
|
|
|
|
|
|
TCP |
|
|
|
|
|
|
|
|
|
| 2 字节 | 1 字节 | 1 字节 | |
|
|
|
|
| ------ | ------ | -------- | |
|
|
|
|
| ID | 0x02 | 选项 Opt | |
|
|
|
|
|
|
|
|
|
UDP |
|
|
|
|
|
|
|
|
|
| 2 字节 | 1 字节 | 1 字节 | 1 字节 | 2 字节 | 1 字节 | A 字节 | |
|
|
|
|
| ------ | ------ | -------- | ---------- | ------ | ---------- | ------ | |
|
|
|
|
| ID | 0x02 | 选项 Opt | 网络类型 N | 端口 | 地址类型 T | 地址 A | |
|
|
|
|
|
|
|
|
|
在保持子连接时,若 Opt(D) 开启,则这一帧所带的数据需要被发往目标主机。 |
|
|
|
|
XUDP 在 Opt(D) 之后加 UDP 地址,格式同新建子链接 |
|
|
|
|
XUDP 在 Opt(D) 之后加 UDP 地址 |
|
|
|
|
|
|
|
|
|
### 关闭子连接 (End) |
|
|
|
|
|
|
|
|
|