看板 Network 關於我們 聯絡資訊
※ 引述《seraphalpha (五穀雜糧)》之銘言: : 問這個問題有點蠢..不過這問題已經困擾我一陣子了.. : 請問一下ip分享器(hub)、交換器(switch)和路由器(router)的差別在哪?? 只回答上面這句,剛好又是之前打過的文章 XD 我後來沒去翻網路的書,不過有翻的歲月當中 就數這本這段講解的最清楚,也不用擔心他的正確性 XD 裡頭有一些基本的專有名詞,看不懂請自己 google 資料來源: 書名:Cisco 路由器設定 (Managing IP Network witch Cisco Routers) 1998.12 初版 出版社:O'Reilly ISBN:957-98213-7-2 /*轉載開始*/ //p.36 [標題]集線器、橋接器、Switch 與路由器[/標題] 在討論路由器的放置地點之前,先確定你是否需要一台路由器。能不能用 Switch(交換器)或 Bridge(橋接器)之類的設備代替?通常網路公司的 業務員不會回答這類的問題,但每種設備在網路中都有獨特的地位。你必須 了解它們各自的特性,尤其是他們的弱點。 最簡單的網路設備就是集線器(Hub),應該也是網路上最常見的機器。一 班網路如 Ethernet,Token Ring,或 FDDI 都會有 Hub,選購安裝都沒有 什麼學問。我們就略過不談。Hub 的等級和價格沒太大差別,主要是有沒有 操作界面。但 Switch,Bridge,和路由器就完全不是這麼回事了。 幾年之前,還有人在爭論網路是該透過 Bridge 還是該透過路由器連接。 Bridge 陣營堅持路由器太複雜,速度太慢,設定維護太困難;路由器陣營 則預測網路會大幅成長,Bridge 將無法應付。當然,路由器最後佔了上風 ,網路成長的規模出乎每個人的意外。路由器的可擴充性(Scalability) 是 Internet 成長的動力。 為什麼 Bridge 的擴充性不夠?這牽涉到 Bridge 本身的運作原理。當一台 Bridge 收到來自網路的框包(frame),會檢查框包內的目的地位址,和自 己知道的地址比對;找到符合的位址之後,它會決定是否傳送這個框包到目 的地所屬的網路區段,或是轉送到目前目的地中途的區段。如果 Bridge 知 道框包是來自和目的地同樣的區段,它會忽略這個封包,因為目的地自己會 接收。 如果 Bridge 不知道目的地位址,它會假定目的地可能在任何地點,直接傳 送框包。如果目的地傳回一個回應訊息,Bridge 會根據訊息中的位址加在 自己的位址紀錄中。所以 Bridge 是根據收到的框包位址來判斷網路組成的 架構。 這個程序就是 Bridge 運作的核心。但某些框包是 Bridge 必須送到每個地 方的,就是 Multicast(多址傳送)與 Broadcast(廣播)框包。由於網路 上每台機器都必須收到這些框包,意思是網路上會充斥(flooded)這些框 包。 //p.37 Broadcast 和 Multicast 類型的框包限制了 Bridge 網路的擴充規模。當 網路上的機器數量增加時,需要廣播的框包也隨之增加。平均來說,一台機 器每十秒送出一個廣播,如果網路上有 1000 台電腦,平均每秒就有 100 個廣播在流竄。如果有十萬台機器,情況將難以想像! 佔據頻寬並非廣播的唯一問題。因為每台機器必須時時檢查廣播框包的內容 ,所以會透過中斷處理。如果一直造成中斷,機器效率會慢下來,網路協定 堆疊也會難以運作。 難道機器每十秒一定要送出廣播嗎?想想廣播與多址傳送的應用情況。在 IP 協定裡面,廣播是應用在位址解析(ARP,Address Resolution Protocol),路由更新,以及 rwho 之類的服務。Multicast 的應用功能大 致差不多,但相對 Bridge 構成的網路來說,Multicast 和 Broadcast 沒 什麼差別,反正都是要充斥整個網路。有些 Multicast 和 Broadcast 封包 是定時傳送的,以 rwho 和一些路由協定資訊來說,大約每 30 秒會送出一 次。 但 rwho 在這個週期之下只能送出一個封包,某些路由協定如 RIP 可以送 出許多封包。對一個大型網路來說,可能一次有 10 個封包。 其他協定對 Broadcast 和 Multicast 傳輸也有一些影響。AppleTalk 這種 協定在進行資源搜尋,位址指定,或路由等動作時,會大量使用 Multicast 和 Broadcast。Novell 的 IPX 協定在服務宣告與資源搜尋時也有類似的傾 向。 看以上的敘述,你不得不相信,每台機器十秒一個框包算是相當保守的估算 ,如果加上其他稀奇古怪的協定,產生的框包傳輸絕對不只此數。 難道路由器就能擺脫這些問題嗎?路由器的擴充性是否比 Bridge 來得好? 要回答這個問題,首先讓我們看看路由器的原理。 //p.38 [標題]路由器採取的做法[/標題] Bridge 在決定是否轉送框包時,是根據目的地的硬體位址。如果不知道目 的地位址,或是確定框包前往的區段不在來源區段,就進行轉送。路由器傳 送封包時的決定過程很類似,差別在於路由器根據的是網路層位址,而非硬 體位址。但這不是唯一的差別。 真正的差別在於網路位址是由人來指定的。原則上,具有共同 prefix 的位 址都屬於同一個網路。相對上,硬體位址是製造廠商決定的,不管網路的實 際配置。考慮實際的網路配置,可以增進資訊聚集(aggregation)的能力 。一個 1000 台主機的網路上的 Bridge 可能要追蹤 1000 個地點才能做出 決定,但一台路由器只須追蹤 10 個以下的位址就夠了。這就是路由器高效 率的主因。 資訊聚集的能力,使得路由器比 Bridge 具有更強的擴充性,但還有其他因 素。Bridge 必須隨時注意網路區段的每個封包,因為它必須確定框包的目 的地位址來決定是否傳送[痞註]。路由器不需要隨時注意每個封包,因為封 包傳送者已經決定了封包是否要轉送。如果傳送者知道目的地不在本身的區 段,就利用路由器本身的硬體位址當作目的地位址,直接傳送給路由器。所 以路由器只需要注意直接傳給它的封包,大大降低了路由器處理的流量。 Routing 的可擴充性還有更重要的因素。Bridge 必須傳送所有的 Broadcast 和 Multicast 封包,但路由器採取不同的做法。因為路由器知 道網路的實際配置,它會建立廣播網域(Broadcast domain),這只是網路 的一部分,但網路上所有的機器都可以看到廣播封包。除非特別設定,否則 路由器不會隨便傳送廣播封包。例如,你可以設定一台路由器轉送 BOOTP 或 DHCP 的廣播給遠端伺服器,傳送 IP Multicast 封包給已登錄的主機。 除了節省 Broadcast 和 Multicast 的傳輸之外,路由器在其他方面也可以 減低頻寬的使用量。 除此之外,如果路由器收到一個無法傳送目的地的封包,它會丟棄(drop) 這個封包,並回應一個訊息給寄出封包的主機,表示傳送失敗。 //p.39 總結來說,路由器的擴充性是由於下列幾個因素: →由於網路位址是配合實際配置來指定的,它具有高度的資訊聚集能力。 →它不必隨時注意區段上的每個封包。 →它會建立廣播網域,減少不必要的 Broadcast 和 Multicast 封包傳送。 →它會丟棄不明位址的封包,減少頻寬的浪費。 [標題]路由器與 Switch[/標題] 路由器顯然比 Bridge 優越,只是 Bridge 不需要複雜的設定程序,也沒有 人會為 Bridge 設定特別寫一本書。由於電腦硬體的速度越來越快,反而網 路的頻寬成為新的問題,這就是 Switch 出現的背景。 Switch 絕大部分都是應用在 Ethernet 上(目前 Token Ring 與 FDDI switch 也日漸普遍),它透過分散頻寬的方式增加頻寬的使用效率。你可 以更換硬體增加頻寬,例如將 10Mbps Ethernet 換成 100Mbps Fast Ethernet,但你得同時需要更換新的集線器,網路纜線與網路卡,這是一筆 不小的花費。 Switch 扮演了一個特殊的角色。在一個分享的網路區段上,每台主機都是 碰撞網域(Collision Domain)的一部分,因為 Ethernet 的傳輸會互相爭 奪頻寬導致碰撞。路由器有能力縮減碰撞網域的範圍,但成本太高,而且設 定複雜。以一個連接 24 個 Ethernet 區段的高速路由器來說,大概需要 10 萬美金。但一台 24-Port 的同級 Switch 只需要 8 千美金左右。 那為什麼不乾脆把路由器甩在一邊,全部都用 Switch 就好了?一旦你明瞭 Switch 運作的原理,答案就很明顯了。讓我們先看看 Switch 工作的方式 。 當 Switch 收到一個框包,它必須判斷目的地在網路上的位置。Switch 撿 視框包內的目的地硬體位址,檢查轉送表,如果找到符合的資料,就將框包 送往表上指定的埠。如果找不到,它就將框包送往除了來源之外的每一個埠 ,希望收到的目的地會送出一個回應,讓 Switch 更新本身的轉送表。廣播 與 Multicast 都送往每個埠。 /*轉載結束*/ [痞註] 這裡應該是用「傳送」比較合適。 另外 p.40 頁說,switch 說穿了,就是一個多 port 的 Bridge 其他的沒啥好提的,所以就省略不 post :P -- 侃侃長論鮮窒礙 首頁:http://www.psmonkey.idv.tw 眾目睽睽無心顫 Blog:http://ps-think.blogspot.com 煢居少聊常人事 殺頭容易告白難 歡迎參觀 Java 版(@ptt.cc)精華區 \囧/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.193.189
lordmi:我看到了時代的眼淚,appletalk、Tokenring... 04/03 10:19
seraphalpha:哇~光看字數就要跟你跪恩~感謝感謝~這樣我大致都懂了~ 04/04 20:59