如何通俗地解釋什麼是網橋?


讓時空穿越到上世紀70年代,Ethernet被發明出來,需要用一個黑盒子將電腦連接起來;否則電腦和誰通信,和誰網線直連,這是點對點通信了,一點也不方便,和乙太網的多路訪問網路初衷相違背。

乙太網設計目標:電腦使用一個網路介面,可以同時與多台電腦通信,將電腦連接起來的黑盒子最先面世,稱之為集線器,但我們更喜歡叫它Hub

這種集線器,通常有多個埠,可以接入多台電腦,這種黑盒子使電腦連接在一起成為一種可能,其內部工作原理,就是信號放大器

隨著乙太網的流行,越來越多的辦公室使用它,網路變得越來越大,信號隨著網線距離的變長,信號衰減的使得通信變得越發不可靠,同樣需要可以將信號中繼、放大的集線器。

但這個集線器只需兩個埠,一端連著一根網線,由於其本來的目的就是延伸網線,美其名曰:網橋,這個更像描述其功能性的一面,「牽線搭橋」之意。

在集線器的基礎上,添加了MAC地址學習功能,成為了交換機,這樣可以避免集線器對所有幀都廣播的弊病。

但這些設備依然都是橋接設備,因為幀經過它們時,幀原封不動。

但是隨著無線區域網的誕生,關於橋接的定義被刷新,有線的Ethernet II 幀訪問無線802.11時,幀格式發生了變化,但依然稱AP(Access Point)為橋接設備,為何?因為一個廣播幀可以無障礙通過AP,AP並沒有分割廣播域,所以依然是橋接設備。


就是一個橋,用來通。

我最不喜歡通俗語言了,因為你不動腦子的話,再通俗你也還是不懂。


這位同學的需求是,網橋,並且通俗。其實搞清楚下面幾個設備就自然明白了網橋。

  • 集線器(hub)
    • 一個口收到的信號,原封不動的發送給所有其他的口,由其他的口上的設備自己決定是否接收信號。有點類似廣播,但是比廣播更純粹。由於hub只是簡單的轉發,所以hub工作在物理層(L1)。
  • 網橋(bridge)
    • 工作在數據鏈路層(L2)。乙太網中,數據鏈路層地址就是mac地址,網橋與hub的區別在於,網橋會過濾mac,只有目的mac地址匹配的數據才會發送到出口。一個bridge指的是一個輸入到一個輸出的橋接。
  • 交換機(switch)
    • 早期的switch,其實可以看成多個bridge的集成設備,因此也工作在數據鏈路層。一個交換機口的輸入到另一個交換機口的輸出,可以認為是一個bridging。交換機中的MAC table,實際是為了bridge能工作而存在。一個N口交換機可以看成是 N	imes(N-1) 也就是 A_{N}^{2} 個網橋的集合。
    • 但是事情也不是絕對的,隨著技術的發展,也常常聽到L3 Switch,也就是說switch也可以包含routing功能。
  • 路由器(router)
    • 工作在網路層(L3),基於IP地址做轉發。

通俗的說,網橋就是一個二層橋接設備,橋接(bridging)就是把橋的兩端連接起來,但不是所有的流量都放行,只有目的MAC地址(二層)匹配的才放行。

容易混淆的是網橋和交換機的概念,現在普遍認為的交換機可以同時具有bridging和routing兩種功能。其中bridging與網橋相關,這上面解釋過了。交換機更像是一個兼顧二層,三層的設備。


不知道需要通俗到什麼程度?

說白了,網橋用來連接兩台設備,為其提供通信的網路設備。

那為什麼不用路由器,集線器,它們有什麼區別?

如果能了解網路分層,那麼就不難理解網橋了:

路由器工作在網路層,處理IP頭部,查路由表,作三層轉發。連接在路由器不同埠的設備屬於不同的IP子網。

網橋、交換機(就是多埠的網橋)工作在二層,乙太網中處理以太頭部,轉發。如何轉發呢,在接收到以太幀之後,檢查二層頭部里的目的mac,隨後查看本地的mac轉發表(也可以叫二層轉發表,layer 2 FIB,不同廠商名稱不一樣),找到匹配的mac地址條目對應的埠,不對二層頭部作任何修改從埠轉發出去。

如果不匹配呢,不匹配就泛洪(flood),這和處理廣播幀以及組播幀的行為一樣(當然現在很多交換機支持igmp能夠維護組播轉發表,就不是永遠都泛洪了)

中繼器,工作在物理層,不檢查頭部,直接信號放大從所有埠複製轉發。

如果不理解分層概念很難通俗。


和坐飛機類似,瀋陽到深圳經停武漢就是橋接,因為沒換飛機。瀋陽到深圳,武漢中轉換乘就不是橋接,無線里可以算中繼。如果你是用別人假身份證上的飛機同時你模仿那個人也在飛機上就叫nat。瀋陽武漢深圳這個路線叫路由,瀋陽直飛深圳叫另一段路由,這個例子里瀋陽機場是路由器,武漢機場是二層交換機或hub。如果你感覺直飛好節省時間就直飛深圳了,這叫策略選路。機場調配直飛旅客滿了沒買到票,就飛中轉這叫負載均衡。都沒票了叫擁塞。飛機晚點了叫time out,目前我們說的都是tcp規則!切記,航空公司因為航班延誤或取消把你扔旅館了這叫UDP,或許你明天能到深圳,或許反回你點rmb你永遠也到不了深圳。

怎麼樣?夠通俗不?再俗只能用女公關來討論dhcp的問題了。

我不想開車,再見!


兩口交換機!


有線網橋通常是一個盒子,有好幾個網口,可以把幾台電腦連起來。同樣的類似的盒子還可以被稱為交換機、路由器、網關。他們在物理上的共同點通常都是有多個網口,在軟體功能上則各有不同,最終的目標都是將獨立的設備連接成網,能夠相互通信。

無線的路由器也可以配置成橋接模式來進行組網,從而擴大網路覆蓋範圍和提高接收方信號強度。下圖給出的netgear 7000橋接示意,netgear 7000需要手動進行配置。像有些人家裡比較大,一下子買好幾個無線路由器,放在不同房間,相互之間通過橋接方式連接,最終通過一個無線路由器的有線網出口連接外網。類似的還有google wifi,Eero的mesh組網功能。

http://www.downloads.netgear.com/files/GDC/R7000/R7000_UM_10Oct13.pdf

https://www.engadget.com/2016/12/06/google-wifi-review/


通俗的說就是鏈接兩個網路的一個橋樑,並且有一定中繼器的功能,因為網橋能有一定的信號放大作用 。


網橋事實上就是交換機,只不過是早期的交換機。不少回答沒有搞清網橋與交換機的關係,嚴格來說,是可以將現在的交換機叫做多埠網橋的。網橋的作用跟現在交換機也是一樣的就是分衝突域。網橋再往前只有Hub,組的網越大衝突域越大最後就每個用了。把網橋往裡一隔一個變倆。


乙太網最早出現的時候是一種非常鬆散的設計思路,當時的網路設計者希望只用一根線,就能讓所有連在這根線上的計算機都能夠互聯,同時不需要控制節點來做全局控制(例如1553B那種)。所以最早的乙太網是採用同軸電纜,而所有的計算機在這根電纜上通過變壓器耦合(可以理解為搭線)在同一根電纜上收發數據。這樣就出現了一個問題:一次在這根線上只能有一對收發,否則就會造成干擾。所以這樣的區域網採用了一種叫做載波偵聽/衝突重發的機制:就是如果一個計算機打算向連在這條線上的另一台計算機發送數據,它首先要偵聽一下這條線上有沒有數據已經在傳送,如果沒有,就可以發,如果有就再等一段時間後再去偵聽一下,直到它可以拿到這根電纜的收發許可權。這樣就造成一個問題:同一時刻只能有一對計算機通信,其他人都要等著。假設一個場景,一樓101、102、103和二樓201、202、203連在一根電纜上。假設一樓101和103收發數據很頻繁,這樣就造成二樓基本沒法通信了。怎麼辦?辦法之一就是一樓一根電纜連101、102、103、二樓一根電纜連201、202、203,大家各發各的互不干擾。但是如果,比如201要給102發數據怎麼辦,這時候就需要一個設備把兩根電纜連起來,變成一根電纜。平時一樓和二樓連根電纜是隔離的,只有兩個樓層有數據交換才把線連起來,干這個事情的設備就叫網橋。後來交換機出現了,這個問題就不存在了,交換機(理論上)允許任意兩個計算機通信互不干擾,但是有些廠商為了產品的一貫性,還把自己的設備叫網橋。交換機也是可以通過vlan分隔網段的,用戶從使用角度看貌似也沒區別,所以有時候也沿用網橋這個概念。


網橋一般用於鏈接同介質的網路,比如光電轉換器(雙絞線,光纖),adsl貓(雙絞線,電話線)都是常見的橋接設備


網路和現實中的問答很相似,你問我答。

網橋就是「你問我,我問第三者,第三者答我,我把他的回答轉述你」中的我。


網橋最初的含義是一個初級的交換機,具備自學習MAC地址的能力,前面大家說的很清楚了。在近年,SDN大行其道,網橋在雲主機上成為構建虛擬網路必不可少的虛擬設備。OS虛擬化中有linux-bridge,OVS中有 br-int 和 br-tun,配合流表使用效果杠杠的。沒有正面回答問題,僅引路一下!


一個網卡發出去的數據包的源mac地址通常只有一個。但實際上多個也沒有關係的,然而通常情況下有多個並沒有什麼意義,一個足夠了。

但是有些情況下,這是有意義的。特別是另一個只與你能建立連接(沒辦法接入你所接入的交換機)的設備也想成為你所在的網段的一員的時候。他可以用自己的源mac地址組數據鏈路層的包,然後用你的網卡代為傳輸。

網橋就是一個專門倒騰這件事的設備。它把不管後面來的什麼數據鏈路層的包,原封不動的通過自己的對外網卡發出去。

硬體設備我沒用過,也沒研究過硬體網橋的意義。

通常我用都是虛擬機里的軟體網橋。它把虛擬的數據鏈路層包交給虛擬機的網卡發出去。


忘記這個概念一點用沒有


各位不要向題主解釋了,如果題主要學通信原理的話,自己買通信原理的書老老實實看,看不下去就別學了,轉行學其它的。真的。能學好計算機的一看基礎名詞就能猜到它是什麼,有什麼用。遇到不懂的自己搜百度,搜CSDN就基本能解決的。而不是在知乎伸手就如何通俗的解釋×××!!!四海之內皆你-?

如果題主不學計算機這塊的知識,那麼請問題主你提這問題有什麼用?你了解了又能怎樣?


推薦閱讀:

Apple Watch和瑞士手錶的對決?
抗日劇中鋼盔沒有防彈作用為什麼還要戴?
手機藍牙與單片機的通信如何實現?
如何看待某美國投行願零費用承銷中國鐵塔IPO?
漢能薄膜發電的原理是什麼?相對於其他光伏發電技術優勢是什麼?為什麼媒體看好李和君5年內趕超比爾蓋茨?

TAG:科技 | 計算機網路 | 計算機科學 |