集線器 (hubs),交換機(switch) 和網橋(bridge)的區別


集線器 (hubs),交換機(switch) 和網橋(bridge)的區別

來源 https://noosphere.site/2020/04/21/diff-bt-hubs-switch-bridge/

 

集線器(hub)

  • hub工作在OSI的第一層,發給 hub 的數據包會廣播給所有的端口
  • hub的是直接的物理連接到每一台設備的網卡,所有有較低的連接丟失風險,因為hub是所有設備共享帶寬的一個設備,所以它是半-雙工的,所以他會存在沖突,同時發給hub的入站和出站包會存在沖突,需要算法解決沖突,因此hub的性能相對會差一些
  • hub本質上是一個多端口中繼器,它不管包的內容,只是簡單的把某個端口收到的包,再廣播給其他所有的端口,所以,一台主機發給另外一台主機的內容會被其他無關的主機監聽到。有安全問題

網橋(bridge)

  • 物理世界橋是用來連接一個河的兩邊,而計算機世界橋是用來連接兩個物理網段的網絡
  • bridge和switch都工作在OSI的數據第二層(數據鏈路層),數據包會根據MAC地址來發給指定的端口,不存在hub的那種不管三七二一就廣播帶來的安全問題
  • 橋會跟蹤插到他的接口上的網絡的所有主機的地址,當橋的一端的這個網絡的數據包發到橋,橋會過濾機制,保證屬於這一端的網絡的數據包留在本地,而不會被無辜的轉發到對面網絡(因為本地包,不是發給橋對面的)
  • 當橋接受到網絡發出來的包的地址不屬於橋的這一端,那么他會發到對面去。但是,實際上它並不知道對面是否存在這個地址,只是猜測既然不在這邊,那么可能在對面,然后如果對面網絡還有其他橋,那么它會發現這個包不在自己這里,又會把包發到其他橋的對面去,所以一個包要到達目的地址所在的主機,需要經過多個橋
  • 因為上面這一點,廣播和多播(比如arp這種找所有人要地址的包)的這類流量必須經過網絡上的所有橋,那么所有的主機都是有機會讀到這個廣播包的,而網絡那么大(特別是橋越多的網絡),其實很多包是和自己無關的,那么就會有可能引起廣播風暴,從而阻止了單播的流量(就是目的明確的包)

交換機(switch)

  • 其實switch本身就是一種bridge,它具備老式bridge的功能,但是解決了一些它的問題
  • switch克服了hub的缺點,他可以為每個接入的主機設備分配專用的帶寬,提供全-雙工的的連接,他利用MAC地址表來做數據包的轉發決策,用ASICS和內容尋址寄存器(CAM)表來提高幀的處理率
  • switch集hub和bridge的所長於一身,將hub的多端口功能和橋的過濾功能集中在一起使用,只允許目標設備才能見到單播的數據包,所以不會像橋一樣可能會阻止單播包
  • 交換機允許冗余鏈接,並且由於為網橋開發的生成樹協議(STP),廣播和多播運行不會引起風暴
  • 交換機跟蹤每個接口中的MAC地址,因此它們可以將流量僅快速發送到包的目的地
  • 因為上面的這些特點,switch具備更高的性能和安全性
  • switch總的來講,有一下優點:
    • switch是即插即用設備。一旦第一個數據包到達,他們便開始學習接口或端口以到達所需的地址,然后用做后續的過濾用。
    • switch提供了一種簡單的方法來連接以不同速度運行的網段,例如10 Mbps,100 Mbps,1GB和10GB網絡
    • 交換機正在取代網絡內部的路由器,因為它們在以太網網絡上轉發幀的速度快10倍以上

bridge和switch的其他區別

  • 古老bridge只有2到4個端口,而switch其實是一種高性能的多端口的bridge,可以多達幾百個端口,本質上switch也是一個bridge設備,它用具備bridge的功能
  • 古老的bridge是的包轉發是基於軟件的,而后來研發的switch則是基於硬件來研發,用芯片來做包的轉發決策,性能遠比老的bridge優越
  • 新的switch可以具有多個生成樹實例。而老式bridge只能有一個。

那么為什么switch沒有繼續使用bridge這個名字呢,因為早期的生產商生產的bridge不符合IEEE的規范(規范從來沒有定時bridge只有2個端口),后來者未免與他相提並論,后來干脆不用bridge這個詞,直接改用switch,但本質是更好的對規范的實現。

那么以上的這3個物理設備的概念,對應的也存在虛擬的軟件實現,如虛擬的bridge網橋,虛擬的交換機,如docker和k8s這種分布式的軟件,經常會使用bridge來建立子網以及和宿主機通信等功能

 

============== End

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM