mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2025-01-19 17:21:41 +03:00
Tweak xudp again
This commit is contained in:
parent
07f1b25017
commit
ab047ff01f
@ -92,9 +92,9 @@ Mux 功能是在一条 TCP 连接上分发多个 TCP 连接的数据。实现细
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"enabled": false,
|
"enabled": true,
|
||||||
"concurrency": 8,
|
"concurrency": 8,
|
||||||
"xudpConcurrency": 128,
|
"xudpConcurrency": 16,
|
||||||
"xudpProxyUDP443": "reject"
|
"xudpProxyUDP443": "reject"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@ -119,7 +119,9 @@ Mux 功能是在一条 TCP 连接上分发多个 TCP 连接的数据。实现细
|
|||||||
|
|
||||||
省略或者填 `0` 时,将与 TCP 流量走同一条路。
|
省略或者填 `0` 时,将与 TCP 流量走同一条路。
|
||||||
|
|
||||||
|
::: tip
|
||||||
填 `-1` 时不使用 XUDP,UDP 流量将使用代理协议原本的 UDP 传输方式。例如 `Shadowsocks` 会使用原生 UDP,`VLESS` 会使用 UoT。
|
填 `-1` 时不使用 XUDP,UDP 流量将使用代理协议原本的 UDP 传输方式。例如 `Shadowsocks` 会使用原生 UDP,`VLESS` 会使用 UoT。
|
||||||
|
:::
|
||||||
|
|
||||||
> `xudpProxyUDP443`: string
|
> `xudpProxyUDP443`: string
|
||||||
|
|
||||||
|
@ -50,8 +50,8 @@ Mux.Cool 使用对称传输格式,即客户端和服务器发送和接收相
|
|||||||
元数据有若干种类型。所有类型的元数据都包含 ID 和 Opt 两项,其含义为:
|
元数据有若干种类型。所有类型的元数据都包含 ID 和 Opt 两项,其含义为:
|
||||||
|
|
||||||
- ID: 子连接的唯一标识
|
- ID: 子连接的唯一标识
|
||||||
- 对于一般 MUX 子链接,ID 由 1 开始累加
|
- 对于一般 MUX 子连接,ID 由 1 开始累加
|
||||||
- 对于 XUDP,ID 始终为 0
|
- 对于 xray 实现的 (single xudp)[https://github.com/XTLS/Xray-core/blob/d3060c28f826ba62f5f77085fa1dc2a20f5cd19f/proxy/vless/outbound/outbound.go#L214],ID 始终为 0
|
||||||
- Opt:
|
- Opt:
|
||||||
- D(0x01): 有额外数据
|
- D(0x01): 有额外数据
|
||||||
|
|
||||||
@ -63,9 +63,9 @@ Mux.Cool 使用对称传输格式,即客户端和服务器发送和接收相
|
|||||||
|
|
||||||
### 新建子连接 (New)
|
### 新建子连接 (New)
|
||||||
|
|
||||||
| 2 字节 | 1 字节 | 1 字节 | 1 字节 | 2 字节 | 1 字节 | A 字节 | 8 字节 |
|
| 2 字节 | 1 字节 | 1 字节 | 1 字节 | 2 字节 | 1 字节 | A 字节 | 8 字节 |
|
||||||
| ------ | ------ | -------- | ---------- | ------ | ---------- | ------ | --------------- |
|
| ------ | ------ | -------- | ---------- | ------ | ---------- | ------ | ---------------- |
|
||||||
| ID | 0x01 | 选项 Opt | 网络类型 N | 端口 | 地址类型 T | 地址 A | Global ID (UDP) |
|
| ID | 0x01 | 选项 Opt | 网络类型 N | 端口 | 地址类型 T | 地址 A | Global ID (XUDP) |
|
||||||
|
|
||||||
其中:
|
其中:
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ Mux.Cool 使用对称传输格式,即客户端和服务器发送和接收相
|
|||||||
- 当 T = 0x01 时,A 为 4 字节 IPv4 地址;
|
- 当 T = 0x01 时,A 为 4 字节 IPv4 地址;
|
||||||
- 当 T = 0x02 时,A 为 1 字节长度(L) + L 字节域名;
|
- 当 T = 0x02 时,A 为 1 字节长度(L) + L 字节域名;
|
||||||
- 当 T = 0x03 时,A 为 16 字节 IPv6 地址;
|
- 当 T = 0x03 时,A 为 16 字节 IPv6 地址;
|
||||||
- Global ID (UDP):
|
- Global ID (XUDP):
|
||||||
- 客户端计算出 UDP 来源二元组的全局独特 ID,服务端用以确保当 XUDP 断线重连时,仍使用同一个端口与目标通信。
|
- 客户端计算出 UDP 来源二元组的全局独特 ID,服务端用以确保当 XUDP 断线重连时,仍使用同一个端口与目标通信。
|
||||||
|
|
||||||
在新建子连接时,若 Opt(D) 开启,则这一帧所带的数据需要被发往目标主机。
|
在新建子连接时,若 Opt(D) 开启,则这一帧所带的数据需要被发往目标主机。
|
||||||
@ -100,7 +100,7 @@ UDP
|
|||||||
| ID | 0x02 | 选项 Opt | 网络类型 N | 端口 | 地址类型 T | 地址 A |
|
| ID | 0x02 | 选项 Opt | 网络类型 N | 端口 | 地址类型 T | 地址 A |
|
||||||
|
|
||||||
在保持子连接时,若 Opt(D) 开启,则这一帧所带的数据需要被发往目标主机。
|
在保持子连接时,若 Opt(D) 开启,则这一帧所带的数据需要被发往目标主机。
|
||||||
XUDP 在 Opt(D) 之后加 UDP 地址,格式同新建子链接,但没有 Global ID。
|
XUDP 在 Opt(D) 之后加 UDP 地址,格式同新建子连接,但没有 Global ID。
|
||||||
|
|
||||||
### 关闭子连接 (End)
|
### 关闭子连接 (End)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user