k2

我所理解的 XUDP

XUDP 是工作在可靠有序双向 tunnel 之上的带地址的“多路复用 UDP 隧道”

client - xudp_client - proxy_server.xudp_server - dst_server

XUDP Stream:

报文格式

RFC 9000 的包结构风格

XUDP_0 {
	stream_id(16), // stream 标识
	atyp(8)=0x00, // 地址类型,复用该子隧道上一次使用的地址和端口
	length(16), // payload 长度
	payload(..) // payload
}

XUDP_1 {
	stream_id(16), // stream 标识
	atyp(8)=0x01, // 地址类型 IPv4+port
	addr(48), // IPv4
	port(16), // port
	length(16), // payload 长度
	payload(..) // payload
}

XUDP_2 {
	stream_id(16), // stream 标识
	atyp(8)=0x02, // 地址类型 Domain+port
	domain_length(8), 
	addr(..), // domain
	port(16), // port
	length(16), // payload 长度
	payload(..) // payload
}

XUDP_3 {
	stream_id(16), // stream 标识
	atyp(8)=0x03, // 地址类型 IPv6+port
	addr(128), // IPv6
	port(16), // port
	length(16), // payload 长度
	payload(..) // payload
}

原始材料

https://github.com/v2fly/v2ray-core/issues/112#issuecomment-688271288

https://github.com/XTLS/Xray-core/discussions/252

https://github.com/XTLS/Xray-core/discussions/237

https://xtls.github.io/about/news.html#_2023-4-18-v1-8-1

https://github.com/XTLS/Xray-core/tree/v26.2.6

https://github.com/SagerNet/sing-vmess/tree/v0.2.7