diff --git a/README.md b/README.md index c8fd48d..05843f3 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Usage of ./etherguard-go: Mode | Description ------------|:----- Static Mode | No dynamic routing, no handshake server.
Similar to original wireguard , all configs are static
[Detail](example_config/static_mode/README.md) -Static Mode | Inspired by [n2n](https://github.com/ntop/n2n). There 2 types of node: SuperNode and EdgeNode
EdgeNode must connect to SuperNode first,get connection info of other EdgeNode from the SuperNode
The SuperNode runs [Floyd-Warshall Algorithm](https://en.wikipedia.org/wiki/Floyd–Warshall_algorithm),and distribute the result to all other EdgeNodes.
[Detail](example_config/super_mode/README.md) +Super Mode | Inspired by [n2n](https://github.com/ntop/n2n). There 2 types of node: SuperNode and EdgeNode
EdgeNode must connect to SuperNode first,get connection info of other EdgeNode from the SuperNode
The SuperNode runs [Floyd-Warshall Algorithm](https://en.wikipedia.org/wiki/Floyd–Warshall_algorithm),and distribute the result to all other EdgeNodes.
[Detail](example_config/super_mode/README.md) P2P Mode | Inspired by [tinc](https://github.com/gsliepen/tinc), There are no SuperNode. All EdgeNode will exchange information each other.
EdgeNodes are keep trying to connect each other, and notify all other peers success or not.
All edges runs [Floyd-Warshall Algorithm](https://en.wikipedia.org/wiki/Floyd–Warshall_algorithm) locally and find the best route by it self.
**Not recommend to use this mode in production environment, not test yet.**
[Detail](example_config/p2p_mode/README.md) ## Quick start diff --git a/example_config/super_mode/README_zh.md b/example_config/super_mode/README_zh.md index 11982af..4fdf074 100644 --- a/example_config/super_mode/README_zh.md +++ b/example_config/super_mode/README_zh.md @@ -69,7 +69,7 @@ $ ./etherguard-go -mode gencfg -cfgmode super -config example_config/super_mode/ ### Register 具體運作方式類似這張圖 ![Register運作流程](https://raw.githubusercontent.com/KusakabeSi/EtherGuard-VPN/master/example_config/super_mode/EGS01.png) -1. EdgeNode發送`Register`給sSuperNode +1. EdgeNode發送`Register`給SuperNode 2. SuperNode收到以後就知道這個EdgeNode的Endpoint IP和Port number。 3. 更新進資料庫以後發布`UpdatePeerMsg`。 4. 其他edge node收到以後就用HTTP EdgeAPI去下載完整的peer list。並且把自己沒有的peer通通加到本地 @@ -89,8 +89,8 @@ Edge node 會嘗試向其他所有peer發送`Ping`,裡面會攜帶節點自己 ![EGS08](https://raw.githubusercontent.com/KusakabeSi/EtherGuard-VPN/master/example_config/super_mode/EGS08.png) Path | Latency |Cost|Win --------|:--------|:---|:-- -A->B->C | 3ms | 3 | -A->C | 4ms | 4 | O +A->B->C | 3ms | 3 | O +A->C | 4ms | 4 | 但是這個情境,3ms 4ms 只相差1ms 為了這1ms而多繞一趟實在浪費,而且轉發本身也要時間