• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

docker容器网络方案原理

武飞扬头像
langy1990
帮助1

容器跨主机网络方案

  1. docker 原生的 overlay 和 macvlan
  2. 第三方方案:常用的包括 flannel、weave 和 calico

CNM

     Container Network Model (CNM)   容器网络模型

     

学新通

libnetwork

    libnetwork 是 docker 容器网络库  最核心的内容是其定义的 Container Network Model (CNM)这个模型对容器网络进行了抽象  由以下三类组件组成

    Sandbox

       Sandbox 是容器的网络栈,包含容器的 interface、路由表和 DNS 设置. Linux Network Namespace 是 Sandbox 的标准实现.Sandbox 可以包含来自不同 Network 的 Endpoint

       Sandbox就是相当于一个独立的网络命名空间     每个容器都有一个独立的Sandbox

    Endpoint     

        Endpoint 的作用是将 Sandbox 接入 Network. Endpoint 的典型实现是 veth pair  后面我们会举例. 一个 Endpoint 只能属于一个网络,也只能属于一个 Sandbox

        Endpoint  相当于一根虚拟的网线

    Network

         Network 包含一组 Endpoint,同一 Network 的 Endpoint 可以直接通信。Network 的实现可以是 Linux Bridge、VLAN 等

         Network  相当于一个交换机

 网络结构分析

  

学新通

  1. 两个 Network:默认网络 “bridge” 和自定义网络 “my_net2”。实现方式是 Linux Bridge:“docker0” 和 “br-5d863e9f78b6”
  2. 三个 Enpoint,由 veth pair 实现,一端(vethxxx)挂在 Linux Bridge 上,另一端(eth0)挂在容器内
  3. 三个 Sandbox,由 Network Namespace 实现,每个容器有自己的 Sanbox

网络IO

    

学新通

   容器网络模式

   1.桥接
      容器创建的虚拟网卡连接到docker0网桥

    2.host模式
      新创建的容器和宿主机共享一个网络

    3.容器模式
       新创建的容器和已经存在的一个容器共享网络空间 k8s的pod机制

   4.none模式

   5.overlay模式
      overlay模式会在宿主机网络上加一个容器的虚拟服务网关
      宿主机上的所有容器都是通过这个网关和外面进行通信

  MACvlan物理网卡的混杂模式
       当物理网卡工作在混杂模式下,物理网卡的MAC地址会失效。到达网卡的所有数据包都会被网卡接收

    

学新通

    

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhibhgje
系列文章
更多 icon
同类精品
更多 icon
继续加载