Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1783916
  • 博文数量: 276
  • 博客积分: 1574
  • 博客等级: 上尉
  • 技术积分: 2894
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-26 23:23
个人简介

生活的美妙在于,不知道一下秒是惊艳还是伤神,时光流转,珍惜现在的拥有的时光

文章分类

全部博文(276)

文章存档

2017年(17)

2016年(131)

2015年(63)

2013年(2)

2012年(32)

2011年(31)

分类: 云计算

2016-03-23 23:27:24

docker原生网络不足,第三方SDN解决方案来满足各种需求.
docker收购socketplane后,libnetwork项目开始发力.
libnetwork定义了新的容器网络模型CNM,标准API为容器配置网络,底层适配各种驱动.
CNM包括三个概念:
    沙盒:linux平台上基于linux network namespace.在一个隔离的环境中保存网络配置.沙盒可以包含多个网络的endpoint.
    Endpoint:将沙盒接入网络,一个Endpiont只能属于一个沙盒,一个沙盒可以通过多个endpiont接入不同的网络.当前使用的是veth pair接口
    网络:endpoint集合,实现vlan,bridge等网络功能

目前已经实现的5种网络驱动:bridge,host,null,remote,overlay
libnetwork在linux下基于kernel的network namespace实现.
实现5种网络功能:
     none:不配置网络
     container:共享同一network namespace的配置,所以IP等信息都一样.
     host:共享主机上root network namespace,是不安全的.
     bridge(默认):NAT模式.通信通过主机的iptables控制.
     overlay:docker原生跨主机多子网模型,复杂,底层使用KV存储系统进行消息同步,核心是linux bridge与vxlan隧道实现跨主机.
          vxlan ID从256-1000
          网络效率并不高
下面是我绘制的bridge与overlay的网络图



阅读(1545) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~