[心得] Repeater, Hub, Bridge, Switch

看板Network作者 (葉酸酸)時間14年前 (2010/05/23 18:24), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/2 (看更多)
因為訊號隨著距離衰減,所以通訊有著極限,為了能夠超越極限,我們需要強波器, 就是 repeater。 repeater 做的事情很簡單,就是把收到的訊號增強再送出,因此並不蒐集訊號, 也不等待 frame 被組成才送出。 一台 repeater 連接兩條線,這兩條線稱為 segment,當訊號從一個 segment 過來, repeater 就直接把訊號送到另一個 segment。 因為 repeater 做的事情很單純,所以要的訊號、不要的訊號都會被送出, 例如 collision 或打雷閃電造成的 noise,通通都會被送出。 我們可以單純用好幾個 repeater 就建立一條台北跟高雄的連線嗎? 答案是不能,雖然訊號衰減的問題被解決了, 但 Ethernet CSMA/CD 是以 low delay 為基礎設計。 segment 越多,delay 越大,最後雖然送到目的地, 但是根據 scheme,會因為 timeout 被丟掉。 btw, csma/cd stands for carrier sense multiple access with collision detection 另一變形 CSMA/CA 則是 collision avoidance。 那麼要做遠距離傳輸要怎麼辦?答案是用 FOIRL,Fiber Optical Intra-Repeater Link, FOIRL 是這樣,兩台 modem 用 fiber 連起來,因為 fiber delay 比較小, 所以 timeout 的問題就解決了。 > -------------------------------------------------------------------------- < 而一般用的 Hub,也就是 Ethernet hub 也是 repeater 的一種變形。 > -------------------------------------------------------------------------- < bridge 跟 repeater 很像,但就只是很像。 一個 repeater 接兩個 segments,bridge 也是。 此外 bridge 構造更複雜,基本上就是一個有 cpu、 ram 跟 nic 的機器。 但 repeater 是以 bit 為單位,收到一個 bit 就送一個 bit; bridge 則是以 frame 為單位。 正因為 bridge 是以 frame 為單位, 所以閃電造成的 noise 與 collision 都會被丟掉, 此外正因為以 frame 為單位,bridge 還可以做更多事, 判斷要不要送到另一個 segment, 當來源於目的都在同一個 segment,就可以不送。 那麼 bridge 要怎麼知道來源跟目的是否在同一個 segment 呢? 簡單,只要講話就會被抓到。例如酸酸要送給綺綺,酸酸住 segment a, bridge 就會筆記酸酸住 segment a,下次有人要送東西給酸酸, 查筆記就知道要不要送到另一個 segment 了。 回到問題,那一開始 bridge 只知道酸酸住 segment a, 不知道綺綺住哪裡怎麼辦?是的,就只好送了。 除非綺綺不說話,不然一定會被知道住哪裡。 這樣有什麼好處?好處就是如果 frame a 的來源跟目的都在 segment a, frame b 的來源跟目的都在 segment b,這樣 bridge 就不用送任何 frame, 這進一步表示,segment a 跟 segment b 可以同時運作不受影響。 因為 bridge 可以 broadcast 的關係,所以有時候會陷入廣播迴圈, 只要同時滿足 1. 所有 bridges 轉送所有 frames 2. bridges 之間構成一個 loop 就會陷入廣播迴圈。令人難過的是,架實體網路的時候有意或無意便會製造出迴圈, 有意的例如 loop 可以確保在某個端點斷掉之後還能繼續傳輸,也能偵測到某處斷線。 無意的例如組織規模太大,一個不小心就會弄出 loop。 只好從條件一下手囉,於是工程師們用了一套 algorithm 叫做 DST, distributed spanning tree。這套演算法是這樣, 只要某台 bridge a 發現連接他的所有 segments, 都連上了願意轉送所有 frames 的 bridge, 那 bridge a 就可以拒絕轉送所有 frame, 這樣就可以阻止廣播迴圈發生,但我沒有仔細驗證就是了。 > -------------------------------------------------------------------------- < switch 是類似一堆 bridges 的機器, 所有接上 switch 的電腦都是單獨一個 segment, 任兩個 segments 之間必有一個 bridge, 這是大概的概念,實際上當然不是這樣做,那會很貴。 > -------------------------------------------------------------------------- < 稍微整理一下 hub 跟 switch。 hub 收到一個 bit 就送一個 bit 出去。 switch 收到一個 frame 才送一個 frame 出去。 hub 會送 collision & noise 出去。 switch 則不會。 hub 送資料出去,所有連上這台 hub 的機器都會收到資料。 switch 送資料出去,只有目的地的電腦會收到資料。 hub 是模擬一個 shared medium。 switch 是模擬 bridged LAN。 Reference: Computer Networks and Internets, with Internet Applications -- 大家好,我的 ID 是 B9,維他命 B9,也就是葉酸的意思,不過我不姓葉,也不是 因為喜歡葉酸才註冊 B9,是因為從 A0 試到 ZZ 只有 B9 沒人註冊,才註冊 B9。 你可以叫我 B9、嗶九、逼酒、酸、葉酸、葉酸酸或者酸酸。但我最喜歡的還是被 叫酸酸,請多多指教。如果我做錯事情,拜託請不要在我的暱稱前面加上臭字。歐對了 酸酸的味道是香的,並沒有酸酸的謝謝。還有我 ID 雖然只有兩個字,可是我是女生。 最後,我的心甜甜沒有酸酸的。>///////< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.248.40

05/23 19:35, , 1F
B9 沒提到Switch的一個特性 "flood" 在此補充
05/23 19:35, 1F
文章代碼(AID): #1B-G9Hx1 (Network)
文章代碼(AID): #1B-G9Hx1 (Network)