Kubernetes 网络 (4) Linux bridge

Submitted by Lizhe on Thu, 07/30/2020 - 02:00

要连接两个以上的 namespace , 需要使用 Linux bridge。

网桥是二层网络设备,两个端口分别有一条独立的交换信道,不共享背板总线,可以隔离冲突 (比集线器性能好一些,集线器共享同一条背板总线)

不过目前网桥已经被具有更多端口、可隔离冲突域的交换机取代了。

Linux 网桥 和 其他的网络设备区别在于, 普通设备(例如网卡)只有两端,从一端进去从另一端出来。

物理网卡从网络中收到数据,转发给 内核协议栈 , 从内核协议栈过来的数据会转发到外面的物理网络中。

 

Linux 网桥 有多个端口,数据可以从任何端口进来,然后取决于 MAC 地址,选择从哪个口出去,原理和交换机差不多

 

创建一个网桥

 

root@ubuntu:/home/lizhe# ip link add name br0 type bridge
root@ubuntu:/home/lizhe# ip link set br0 up
root@ubuntu:/home/lizhe# 

刚创建的网桥只有一端连接着协议栈