BGP 支緩 Multiprotocol Extension,本文將會介紹 BGP 中的其中一個 Extension,即 Multicast BGP (MBGP)。Multicast Routing 一向依賴 Reverse Path Forwarding (RPF) 原理去判斷及防止 Looping,本文探討 MBGP 如何在 RPF Check 中發揮作用。要了解 MBGP 對讀者的基本功要求較高,筆者假設讀者已相當了解 RPF 原理、AD 原理及 BGP 的基本設定,如有疑問請先閱讀關於 PIM、AD 和 BGP 的教學。
multicast原理 在 Jan Ho 的網絡世界- BGP 支緩Multiprotocol Extension 的推薦與評價
BGP 支緩Multiprotocol Extension,本文將會介紹BGP 中的其中一個Extension,即Multicast BGP (MBGP)。Multicast Routing 一向依賴Reverse Path Forwarding (RPF) 原理 ... ... <看更多>
multicast原理 在 [問題] IP分享器、路由器和交換器傻傻分不清楚.. - 看板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
--
侃侃長論鮮窒礙 首頁:https://www.psmonkey.idv.tw
眾目睽睽無心顫 Blog:https://ps-think.blogspot.com
煢居少聊常人事
殺頭容易告白難 歡迎參觀 Java 版(@ptt.cc)精華區 \囧/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.193.189
... <看更多>