网络栈包括:
- 网卡
- 回环设备
- 路由表
- iptables 规则
在 Linux 中, 能起到虚拟交换机作用的网络设备是网桥 (bridge):
- 二层, 根据 MAC 地址学习将数据包转发到网桥的不同端口上
- Docker 默认创建 docker0 网桥
如何把容器连接到 docker0 上?
- Veth Pair 虚拟设备

查看 docker0 上有哪些虚拟网卡:
$ brctl show
查看容器中的路由表:

第二条规则:

- eth0 网卡需要使用 ARP 协议, 来找到 172.17.0.3 对应的 MAC



注意 veth, eth0 的位置.


以上方式中, 不同主机上的容器无法通信.
通过软件方式, 创建一个整个集群公用的网桥:
- 覆盖网络 overlay network


