Update readme.md

This commit is contained in:
Kusakabe Si 2021-12-24 17:07:52 +00:00
parent d9cccdd96b
commit a70eb72dfa
2 changed files with 4 additions and 4 deletions

View File

@ -46,7 +46,7 @@ Usage of ./etherguard-go:
Mode | Description Mode | Description
------------|:----- ------------|:-----
Static Mode | No dynamic routing, no handshake server.<br>Similar to original wireguard , all configs are static<br>[Detail](example_config/static_mode/README.md) Static Mode | No dynamic routing, no handshake server.<br>Similar to original wireguard , all configs are static<br>[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<br>EdgeNode must connect to SuperNode firstget connection info of other EdgeNode from the SuperNode<br>The SuperNode runs [Floyd-Warshall Algorithm](https://en.wikipedia.org/wiki/FloydWarshall_algorithm)and distribute the result to all other EdgeNodes.<br>[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<br>EdgeNode must connect to SuperNode firstget connection info of other EdgeNode from the SuperNode<br>The SuperNode runs [Floyd-Warshall Algorithm](https://en.wikipedia.org/wiki/FloydWarshall_algorithm)and distribute the result to all other EdgeNodes.<br>[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.<br>EdgeNodes are keep trying to connect each other, and notify all other peers success or not.<br>All edges runs [Floyd-Warshall Algorithm](https://en.wikipedia.org/wiki/FloydWarshall_algorithm) locally and find the best route by it self.<br>**Not recommend to use this mode in production environment, not test yet.**<br>[Detail](example_config/p2p_mode/README.md) P2P Mode | Inspired by [tinc](https://github.com/gsliepen/tinc), There are no SuperNode. All EdgeNode will exchange information each other.<br>EdgeNodes are keep trying to connect each other, and notify all other peers success or not.<br>All edges runs [Floyd-Warshall Algorithm](https://en.wikipedia.org/wiki/FloydWarshall_algorithm) locally and find the best route by it self.<br>**Not recommend to use this mode in production environment, not test yet.**<br>[Detail](example_config/p2p_mode/README.md)
## Quick start ## Quick start

View File

@ -69,7 +69,7 @@ $ ./etherguard-go -mode gencfg -cfgmode super -config example_config/super_mode/
### Register ### Register
具體運作方式類似這張圖 具體運作方式類似這張圖
![Register運作流程](https://raw.githubusercontent.com/KusakabeSi/EtherGuard-VPN/master/example_config/super_mode/EGS01.png) ![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。 2. SuperNode收到以後就知道這個EdgeNode的Endpoint IP和Port number。
3. 更新進資料庫以後發布`UpdatePeerMsg`。 3. 更新進資料庫以後發布`UpdatePeerMsg`。
4. 其他edge node收到以後就用HTTP EdgeAPI去下載完整的peer list。並且把自己沒有的peer通通加到本地 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) ![EGS08](https://raw.githubusercontent.com/KusakabeSi/EtherGuard-VPN/master/example_config/super_mode/EGS08.png)
Path | Latency |Cost|Win Path | Latency |Cost|Win
--------|:--------|:---|:-- --------|:--------|:---|:--
A->B->C | 3ms | 3 | A->B->C | 3ms | 3 | O
A->C | 4ms | 4 | O A->C | 4ms | 4 |
但是這個情境3ms 4ms 只相差1ms 但是這個情境3ms 4ms 只相差1ms
為了這1ms而多繞一趟實在浪費而且轉發本身也要時間 為了這1ms而多繞一趟實在浪費而且轉發本身也要時間