Linux网络中的桥 (Bridge)

桥简介

桥,从字面来讲就是在一条河流上面建造一条路,对,就是这样,甭管是多大多长跨江还是跨海,它都是起到连接两岸的作用。
在计算机的网络世界中也存在这种连接的两个网络的设备,这也是一种桥,虚拟的桥。

网络中的桥

OK, 回归主题,什么是网络中的桥?我们在90年用的Repeater(一个比特一个比特的转发数据),后来的网桥(一帧一帧的转发),再到后来的交换机(多个端口的桥)。这些都是桥的不同形态的设备。其实,还有另一种桥,虽然不是单独的设备,但是其存在与设备的系统中,比如Linux网络中的桥。

Linux中的桥设备和应用

上面简单讲到了几种桥设备,下面看看Linux中的虚拟的桥,就拿路由器来举例子。

想想挺搞笑的,我做路由器产品也有两三年了,也知道Linux中有网桥这个东西,但是其究竟是什么?做什么的?也不是非常清楚,只是知道可以连接,别的就没有深入了解。直到最近,又看到桥这个东西,觉得再不搞清楚真对不起这几年的学习了。后来看看文章,对桥也算是基本了解了,比如路由器上开源系统OpenWrt的br-lan, 用来连接两个设备eth0 和 ra0, 有线交换机和无线设备组成同一个网络,你可以在这个桥上配置一些路由相关的基础服务DHCP Server等等。

在一篇文章中看到Linux的桥有四种功能

  1. 管理一些端口/接口
  2. 控制功能
  3. 转发功能
  4. 本地Mac地址学习功能

比如交换机的端口,可以分为不同的网络就可以通过桥来管理。
控制功能,可以做一些mac地址过滤等,转发则是正常的功能,本地mac地址学习则可以减少数据报文的广播,提升效率。

还有一种典型的功能,比如现在的交换机中的镜像端口,这个就是做一些研发或者网络监控检测等功能的需要,这也可以在Linux的网桥中实现,将数据报文转发到指定端口。

还有最近的Linux上的Docker之类的虚拟机的网络访问也是通过桥来实现的。

桥可以很容易的修改搭建网络拓扑,完成你所需要的功能,桥真是个好东西。

引用

Linux Bridge - how it works
桥相关配置

你可能感兴趣的:(Linux,Virtual,openwrt,KnowHow)