Docker OpenvSwitch 介紹 or 工作原理
阿新 • • 發佈:2018-11-03
Docker OpenvSwitch Network 介紹
什麼是OpenVSwich
- OpenvSwich Network:屬於第三方網路專案,可以理解為是一個標準的交換機協議。
- OpenvSwich:開放虛擬交換標準,是一種基於開源Apache2.0許可證的多層軟體交換機,專門管理多租賃雲端計算網路環境,支援KVM、Xen等虛擬化技術。
支援以下功能:
1. 支援標準802.1Q VLAN模組的Trunk和access埠模式;
2. QoS(Quality of Service)配置,及管理;
3. 支援OpenFlow協議;
4. 支援GRE、VXLAN、STT和LISP隧道;
5. 具有C和Python介面配置資料庫;
6. 支援核心態和使用者態的轉發引擎設定;
7. 支援流量控制及監控。
主要組成部分:
- ovs-vswitchd 一個實現交換機的守護程式
- ovsdb-server 一個輕量級資料庫,ovs-vswitchd查詢以獲取其配置
- ovs-dpctl 用於配置交換機的核心模組工具
- ovs-vsctl 用於檢視和更新ovs-vswitchd的配置工具
- ovs-appctl 一個向執行OVS守護程式傳送命令的工具
還提供了openflow的工具:
- ovs-ofctl 用於檢視和控制OpenFlow交換機和控制器
- ovs-pki 用於建立和管理公鑰
- ovs-tcpundump 解析openflow訊息
Docker OpenvSwitch 工作原理
兩臺節點主機容器,Container通過OpenvSitch通訊
1、Container eth0:veth它會將網路橋接到docker0網路。
2、Docker0:Docker網橋預設網路。
3、br0:OVS網橋,它會將Docker0網橋加入到br0網路,它會捕獲到Container eth0 發出的資料包。
4、gre0:OVS網路捕獲資料包後通過gre協議將資料包封裝。
5、eth0:物理網絡卡,它會把gre資料包,轉發給節點2。
6、節點2的eth0接收資料包後->交給OVS進行街封裝->獲取獲取訪問地址->裝發到docker0->再交給容器的eth0。