Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >跨站数据

【华为云技术分享】《跟唐老师学习云网络》 - Bridge网桥

【摘要】 跟唐老师学习云网络,已经进入到虚拟化的世界啦。Bridge是网络虚拟化中非常重要的一种设备,快来一起学习Linux-Bridge的作用吧。

 

一、什么是Linux-Bridge

咱们直接说人话:跟tap/tun、veth-pair是模拟网线的类似,Bridge也是照着物理设备的样子,在Linux系统里面虚拟出来的一种网络设备。

因为它也是网络设备,所以可以配置 IP、MAC 等。然后它模拟的物理设备叫Hub(集线器)。

 

1、物理集线器Hub

很多小伙可能没有见过,咱们直接上图:

上面这个东西没见过,可以参考下面这个,原理是一样一样的。

Hub的效果类似于把所有网线都焊在一起的感觉:

也就是不管信号从哪个口子进来,其他口子都能收到。“大喇叭”,“广播桶”,可以这么理解Hub。

我们以前寝室里面打小组游戏,就是大家把网线往集线器一插,然后就是一个mini小局域网了。

 

1.2 虚拟集线器Bridge

所以呢,Linux里面虚拟出来的这个Bridge也是这个效果。用户可以把很多网卡,插到这个Bridge上面,然后互相之间就能连通了,于是往Bridge发报文,所有插在上面的网卡全都收到这个报文。(目的比较单纯,就是把大家连在一起)

一般用来把 tap/tun、veth-pair网线连到Bridge上面,这样可以把一组容器,或者一组虚机连在一起。比如著名的Docker就是用Bridge把Host里面的容器都连在一起,使得这些容器可以互相访问。也可以把Host上面的物理网卡也加入到Bridge,这样主机的VM就可以和外界通信了。

 

二、容器使用Bridge

按照Docker容器举例,这里会把多个容器的veth网线的一头,插入到Bridge,使得所有容器相当于焊在一起。同时在主机上,我们可以看到的网卡会多1个叫docker0的网卡(docker0就是Bridge网桥):

Ps:这里有个有意思的地方是,没有把主机上原有的那个eth0也加入到Bridge。而虚机使用Bridge,一般会把原来Host上面的网卡加入到Bridge。(容器不加入,一是因为大量容器的IP,可能会和Host所在网络上,它那些兄弟VM们的IP冲突。二还有容器网络模式可以多种模式选择,保留灵活性。)。

至于容器怎么通过Bridge和外面的世界进行通信,这个咱们在后续的《Docker网络实战》里面详解。

 

三、虚机使用Bridge

虚机这里不一样的是,一般会把Host自己原来的eth0网卡,也一块加入到Bridge(如果虚机想要联网的话)。相当于上面4个“人”都是兄弟了,大家在一个局域网。

通过Bridge,可以把所有的虚拟机网络连在一起。

上面这些VM以为自己的世界:

后面你可以回到原来物理网络的视角去理解更高级的怎么给VM分组问题(不明白的可以回顾早期课程)。要给VM分帮派,或者说给这些VM们分不同的子网,就需要能给这些VM打VLAN的tag的功能,这个功能Bridge(集线器)就搞不定了,需要引入更高级的“路由器”。

Ps:物理世界也差不多,集线器的价格很便宜,和路由器的价格不是一个档次的。路由器可以设置每个端口的VLAN标记等高级功能。也就是咱们下一期的OVS(Open vSwitch)课程了。

 

四、怎么查看Bridge信息

一般我都用 brctl 这个命令行(ip命令也可以用,但是我感觉brctl更直接),比较方便:

 

4.1 查询Bridge信息

用的最多的就是,查询一个Bridge上面插了哪些网卡:也就是show这个子命令

上面这个可以看到,有四个veth网卡插在名字为docker0的Bridge网桥上面(其实就是有4个容器连在一起)。

 

4.2 网卡插入Bridge

用的第二多的就是 把一个网卡插入一个Bridge里面。即:addif 子命令

我们可以试一下,先创建一根“网线”

ip link add tsj-0 type veth peer name tsj-1

然后创建一个Bridge

brctl addbr tsj-br

然后把网线一头插入这个Bridge。

brctl addif tsj-br tsj-0

查询结果:

brctl show tsj-br

额,其实“容器世界”也是这么创建出来的。

 

点击这里,了解更多精彩内容

 

相关推荐

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: 飞桨开发者技术专家计划PPDE重磅发布

下一篇: 【华为云技术分享】如何拆分用户故事

精华推荐