mirror of
https://github.com/KusakabeShi/EtherGuard-VPN.git
synced 2024-11-21 14:53:08 +01:00
Update readme.md
This commit is contained in:
parent
d9cccdd96b
commit
a70eb72dfa
@ -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 first,get connection info of other EdgeNode from the SuperNode<br>The SuperNode runs [Floyd-Warshall Algorithm](https://en.wikipedia.org/wiki/Floyd–Warshall_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 first,get connection info of other EdgeNode from the SuperNode<br>The SuperNode runs [Floyd-Warshall Algorithm](https://en.wikipedia.org/wiki/Floyd–Warshall_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/Floyd–Warshall_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/Floyd–Warshall_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
|
||||||
|
@ -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而多繞一趟實在浪費,而且轉發本身也要時間
|
||||||
|
Loading…
Reference in New Issue
Block a user