Docker Overlay 工作原理


Docker 原生Overlay 網絡工作流程

如圖:有兩個Container 獨立的容器節點。他們通過Overlay網路進行通信。


網卡設備

Container eth0:eth0它是Overlay網絡分配的唯一的IP地址,它是veth pair虛擬設備對,作用是實現點對點的通信,通過橋接到br0這個網橋中,可以實現不同 NameSwitch之間容器進行通信。

br0:它是Overlay默認創建的網橋。

VETP:對VXLAN數據包的封裝與街封裝。

Container eth1:eth1是容器主機的默認網絡,主要提供容器訪問外網所提供的服務,走的默認docker網絡架構,只不過他創建了docker_gwbridge這個網橋。

docker_gwbridge:docker_gwbridge是容器所創建的網橋它替代了docker0的服務。

eth0:真機網卡與外界網卡連接得真機網卡,它用來轉發,容器VXLAN與NAT兩種網卡類型的數據包到指定的對端節點。


發送數據包流程

容器Container1 發送數據包 到容器 Container2。

  • 1、容器Container1會通過Container eth0 將這個數據包發送到 10.0.0.1 的網關。
  • 2、網關將數據包發送出去后到達b20網橋。
  • 3、b20網橋針對VXLAN設備,主要用於捕獲對外的數據包通過VETP進行數據包封裝。
  • 4、封裝好將VXLAN格式數據包交給eth0,通過UDP方式交給Container2的eth0。
  • 5、Container2收到數據包后通過VETP將數據包解封裝。
  • 6、網橋通過網關將解封裝的數據包轉發給Container eth0,完畢通信。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM