Docker Overlay 工做原理

Docker 原生Overlay 網絡工做流程docker

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


網卡設備架構

Container eth0:eth0它是Overlay網絡分配的惟一的IP地址,它是veth pair虛擬設備對,做用是實現點對點的通訊,經過橋接到br0這個網橋中,能夠實現不一樣 NameSwitch之間容器進行通訊。spa

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

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

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

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

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


發送數據包流程通信

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

  • 一、容器Container1會經過Container eth0 將這個數據包發送到 10.0.0.1 的網關。
  • 二、網關將數據包發送出去後到達b20網橋。
  • 三、b20網橋針對VXLAN設備,主要用於捕獲對外的數據包經過VETP進行數據包封裝。
  • 四、封裝好將VXLAN格式數據包交給eth0,經過UDP方式交給Container2的eth0。
  • 五、Container2收到數據包後經過VETP將數據包解封裝。
  • 六、網橋經過網關將解封裝的數據包轉發給Container eth0,完畢通訊。

相關文章
相關標籤/搜索