橋簡介
橋,從字面來講就是在一條河流上面建造一條路,對,就是這樣,甭管是多大多長跨江還是跨海,它都是起到連接兩岸的作用。
在計算機的網絡世界中也存在這種連接的兩個網絡的設備,這也是一種橋,虛擬的橋。
網絡中的橋
OK, 迴歸主題,什麼是網絡中的橋?我們在90年用的Repeater(一個比特一個比特的轉發數據),後來的網橋(一幀一幀的轉發),再到後來的交換機(多個端口的橋)。這些都是橋的不同形態的設備。其實,還有另一種橋,雖然不是單獨的設備,但是其存在與設備的系統中,比如Linux網絡中的橋。
Linux中的橋設備和應用
上面簡單講到了幾種橋設備,下面看看Linux中的虛擬的橋,就拿路由器來舉例子。
想想挺搞笑的,我做路由器產品也有兩三年了,也知道Linux中有網橋這個東西,但是其究竟是什麼?做什麼的?也不是非常清楚,只是知道可以連接,別的就沒有深入瞭解。直到最近,又看到橋這個東西,覺得再不搞清楚真對不起這幾年的學習了。後來看看文章,對橋也算是基本瞭解了,比如路由器上開源系統OpenWrt的br-lan, 用來連接兩個設備eth0 和 ra0, 有線交換機和無線設備組成同一個網絡,你可以在這個橋上配置一些路由相關的基礎服務DHCP Server等等。
在一篇文章中看到Linux的橋有四種功能
- 管理一些端口/接口
- 控制功能
- 轉發功能
- 本地Mac地址學習功能
比如交換機的端口,可以分爲不同的網絡就可以通過橋來管理。
控制功能,可以做一些mac地址過濾等,轉發則是正常的功能,本地mac地址學習則可以減少數據報文的廣播,提升效率。
還有一種典型的功能,比如現在的交換機中的鏡像端口,這個就是做一些研發或者網絡監控檢測等功能的需要,這也可以在Linux的網橋中實現,將數據報文轉發到指定端口。
還有最近的Linux上的Docker之類的虛擬機的網絡訪問也是通過橋來實現的。
橋可以很容易的修改搭建網絡拓撲,完成你所需要的功能,橋真是個好東西。