github.com/geph-official/geph2@v0.22.6-0.20210211030601-f527cb59b0df/libs/niaucchi5/README.md (about)

     1  # niaucchi5 --- an obfuscated, encrypted multiplexed unreliable channel
     2  
     3  ## Overview of architecture
     4  
     5  Niaucchi5 provides an interface similar to that of QUIC, except that _streams are unreliable_. There's optional support for reliable streams based on a simple TCP-like protocol.
     6  
     7  This maps neatly to Geph: proxy mode uses reliable streams, while VPN mode uses a single unreliable stream.
     8  
     9  Niaucchi5 is a richly layered protocol:
    10  
    11  ```
    12  |-----------------------|
    13  |        streams        |
    14  |-----------------------|
    15  |  encryption protocol  |
    16  |-----------------------|
    17  | wire | wire | wire ...|
    18  |-----------------------|
    19  | obfs | obfs | obfs ...|
    20  |-----------------------|
    21  ```
    22  
    23  We take a bottom-down approach, specifying the lower layers before the upper layers.
    24  
    25  ##