Docker Macvlan Network
- Macvlan Network:属于Docker的网络驱动。
- Macvlan Network:Docker主机网卡接口逻辑上分为多个子接口,每个子接口标识一个VLAN。容器接口直接连接Docker主机网卡接口,通过路由策略转发到另一台Docker主机。
- Macvlan Network :macvlan最大的优势,它支持能去连接子接口,linux 网卡子接口最大 4094个。
工作原理解析
1、两边节点分别创建macvlan网络,并创建子网段。
2、docker0网卡会通过NET去访问外网。
3、容器内的eth0是由macvlan所在物理接口ens33创建的一个逻辑网口。
4、当节点1向节点2发送数据包时,容器内的子网网卡会向它的网关发送一个mac地址请求。
5、虚拟网关接受请求后会先查询本地的路由表查找发送目标,如果找不到它会转交给eth1来发ARP送广播,来获取目标IP地址是多少。
6、节点2收到ARP广播后它会查找本地是否存在目标IP地址,通过IP来获取自定IP的mac地址。
7、获取mac地址后它会转发给eth0真机网卡,然后通过宿主级网卡发送给节点1的外网网卡,然后再转给容器内网卡。