github.com/ipfans/trojan-go@v0.11.0/docs/content/developer/mux.md (about)

     1  ---
     2  title: "多路复用"
     3  draft: false
     4  weight: 30
     5  ---
     6  
     7  Trojan-Go使用[smux](https://github.com/xtaci/smux)实现多路复用。同时实现了simplesocks协议用于进行代理传输。
     8  
     9  当启用多路复用时,客户端首先发起TLS连接,使用正常trojan协议格式,但协议Command部分填入0x7f(protocol.Mux),标识此连接为复用连接(类似于http的upgrade),之后连接交由smux客户端管理。服务器收到请求头部后,交由smux服务器解析该连接的所有流量。在每条分离出的smux连接上,使用simplesocks协议(去除认证部分的trojan协议)标明代理目的地。自顶向下的协议栈如下:
    10  
    11  | 协议        | 备注     |
    12  | ----------- | -------- |
    13  | 真实流量    |
    14  | SimpleSocks |
    15  | smux        |
    16  | Trojan      | 用于鉴权 |
    17  | 底层协议    |          |