計算機網(wǎng)絡(luò)第9章 多播路由技術(shù)_第1頁
計算機網(wǎng)絡(luò)第9章 多播路由技術(shù)_第2頁
計算機網(wǎng)絡(luò)第9章 多播路由技術(shù)_第3頁
計算機網(wǎng)絡(luò)第9章 多播路由技術(shù)_第4頁
計算機網(wǎng)絡(luò)第9章 多播路由技術(shù)_第5頁
已閱讀5頁,還剩153頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、鄭州大學信息工程學院鄭州大學信息工程學院李向麗李向麗第第9章章 多播路由技術(shù)多播路由技術(shù)9.7 多播開放最短路徑優(yōu)先多播開放最短路徑優(yōu)先MOSPF9.8 基于核心的樹基于核心的樹CBT9.9 PIM-DM9.10 PIM-SM9.11 域間多播技術(shù)域間多播技術(shù)9.12 多播主干多播主干MBone9.13 IPv6多播技術(shù)多播技術(shù)9.1 在局域網(wǎng)在局域網(wǎng)LAN上的多播上的多播9.2 多播轉(zhuǎn)發(fā)和路由選擇信息多播轉(zhuǎn)發(fā)和路由選擇信息9.3 多播轉(zhuǎn)發(fā)樹多播轉(zhuǎn)發(fā)樹9.4 多播路由算法多播路由算法9.5 多播路由協(xié)議多播路由協(xié)議9.6 距離向量多播路由協(xié)議距離向量多播路由協(xié)議DVMRP9.1在局域網(wǎng)在局域網(wǎng)

2、LANLAN上的多播上的多播 多播源和多播組成員關(guān)系多播源和多播組成員關(guān)系 多播源和所有成員多播源和所有成員同在一個以太網(wǎng)同在一個以太網(wǎng)上。則不需要上。則不需要多播控制協(xié)議。多播控制協(xié)議。 多播源將多播多播源將多播IP分組封裝在以太網(wǎng)幀中。以太分組封裝在以太網(wǎng)幀中。以太網(wǎng)幀的目的網(wǎng)幀的目的MAC地址為一個基于地址為一個基于IP多播地址的多播地址的多播映射地址。多播映射地址。 以太網(wǎng)上的多播組成員監(jiān)聽這個多播物理地址,以太網(wǎng)上的多播組成員監(jiān)聽這個多播物理地址,接收此多播分組。非多播組成員則丟棄收到的接收此多播分組。非多播組成員則丟棄收到的多播分組。多播分組。 多播源不在本地多播源不在本地LAN中

3、中,路由器判斷該,路由器判斷該LAN中是中是否有多播組成員。如果有,則將多播分組轉(zhuǎn)發(fā)給否有多播組成員。如果有,則將多播分組轉(zhuǎn)發(fā)給LAN;如果沒有,則不向此;如果沒有,則不向此LAN轉(zhuǎn)發(fā)該多播分組。轉(zhuǎn)發(fā)該多播分組。交換式交換式LAN上的多播實現(xiàn)上的多播實現(xiàn) 交換機交換機LAN通過一臺路由器連接到互聯(lián)網(wǎng)中。通過一臺路由器連接到互聯(lián)網(wǎng)中。 首先,路由器通過使用首先,路由器通過使用IGMP報文,獲知報文,獲知LAN上是否有組成員存在。若有,則將多播分組上是否有組成員存在。若有,則將多播分組轉(zhuǎn)發(fā)到交換式轉(zhuǎn)發(fā)到交換式LAN上。上。 其次,交換機對目的其次,交換機對目的MAC地址轉(zhuǎn)發(fā)該分組。地址轉(zhuǎn)發(fā)該分組。

4、但是但是IGMP是第三層協(xié)議,交換機的是第三層協(xié)議,交換機的MAC地址地址轉(zhuǎn)發(fā)表中沒有此多播轉(zhuǎn)發(fā)表中沒有此多播MAC地址的轉(zhuǎn)發(fā)表項地址的轉(zhuǎn)發(fā)表項(多播地址,輸出接口),會導致交換機只(多播地址,輸出接口),會導致交換機只能洪泛多播分組。對于大型交換式局域網(wǎng),能洪泛多播分組。對于大型交換式局域網(wǎng),這將影響網(wǎng)絡(luò)的運行效率。這將影響網(wǎng)絡(luò)的運行效率。交換機交換機LAN對多播分組轉(zhuǎn)發(fā)的對多播分組轉(zhuǎn)發(fā)的解決方法解決方法 手工配置交換機轉(zhuǎn)發(fā)表。手工配置交換機轉(zhuǎn)發(fā)表。 使用通用多播注冊協(xié)議(使用通用多播注冊協(xié)議(General Multicast Register Protocol,GMRP)。)。 IGMP

5、偵聽(偵聽(IGMP Snooping)。)。 通過通過CGMP協(xié)議(協(xié)議(Cisco Group Manage Protocol)。)。9.2 多播轉(zhuǎn)發(fā)和路由選擇信息多播轉(zhuǎn)發(fā)和路由選擇信息 多播轉(zhuǎn)發(fā)和路由選擇與單播情況不相同,并且多播轉(zhuǎn)發(fā)和路由選擇與單播情況不相同,并且相當復雜。通過下圖的例子進行說明。相當復雜。通過下圖的例子進行說明?!啊睒擞浂嗖ソM標記多播組Group1Group1,成員有主機,成員有主機A A、B B和和C C“”標記多播組標記多播組Group2Group2,成員有主機,成員有主機D D、E E和和F FNet2Net2沒有沒有Group1Group1的成員。的成員。 N

6、et1Net3FGA路由器路由器RNet2BCDE1. 對動態(tài)路由選擇的需求對動態(tài)路由選擇的需求 在多播路由選擇中,即使網(wǎng)絡(luò)拓撲不發(fā)生變化在多播路由選擇中,即使網(wǎng)絡(luò)拓撲不發(fā)生變化(包括網(wǎng)絡(luò)中設(shè)備的故障狀態(tài)也沒有發(fā)生變(包括網(wǎng)絡(luò)中設(shè)備的故障狀態(tài)也沒有發(fā)生變化),但由于某個應(yīng)用程序加入或離開了一個化),但由于某個應(yīng)用程序加入或離開了一個多播組,多播路由都會發(fā)生變化。多播組,多播路由都會發(fā)生變化。 在單播路由選擇中,只有當拓撲結(jié)構(gòu)變化或設(shè)在單播路由選擇中,只有當拓撲結(jié)構(gòu)變化或設(shè)備出故障時,才會發(fā)生路由改變。備出故障時,才會發(fā)生路由改變。 2. 多播轉(zhuǎn)發(fā)時需要檢查分組多播轉(zhuǎn)發(fā)時需要檢查分組的目的地址和

7、源地址的目的地址和源地址 主機主機E和和F各給各給Group2發(fā)送分組。路由器發(fā)送分組。路由器R把把E的的分組發(fā)送到分組發(fā)送到Net2,而把,而把F的分組發(fā)送到的分組發(fā)送到Net1。 R接收到主機接收到主機A發(fā)往發(fā)往Group2的分組時,將轉(zhuǎn)發(fā)兩的分組時,將轉(zhuǎn)發(fā)兩個副本,分別發(fā)送給個副本,分別發(fā)送給Net1和和Net2。 多播轉(zhuǎn)發(fā)要求路由器不僅檢查目的地址,而且多播轉(zhuǎn)發(fā)要求路由器不僅檢查目的地址,而且還檢查源地址,以確定什么時候?qū)⒍嗖シ纸M進還檢查源地址,以確定什么時候?qū)⒍嗖シ纸M進行復制,并轉(zhuǎn)發(fā)多播分組的副本。行復制,并轉(zhuǎn)發(fā)多播分組的副本。Net1Net3FGA路由器路由器RNet2BCDE3.

8、 任意的發(fā)送方任意的發(fā)送方 IP允許任意主機(不一定是多播組的成員)允許任意主機(不一定是多播組的成員)向多播組轉(zhuǎn)發(fā)分組。主機向多播組轉(zhuǎn)發(fā)分組。主機G不是任何多播組的不是任何多播組的成員,并且成員,并且G所在的網(wǎng)絡(luò)沒有所在的網(wǎng)絡(luò)沒有Group1多播組的多播組的成員。但是成員。但是G可以給可以給Group1發(fā)送分組。更重要發(fā)送分組。更重要的是,該分組穿過互聯(lián)網(wǎng)時,很可能穿過其它的是,該分組穿過互聯(lián)網(wǎng)時,很可能穿過其它沒有多播組的網(wǎng)絡(luò)。沒有多播組的網(wǎng)絡(luò)。 可見,多播分組可以由不是多播組成員的主機可見,多播分組可以由不是多播組成員的主機產(chǎn)生,并且可能通過沒有任何組成員的網(wǎng)絡(luò)。產(chǎn)生,并且可能通過沒有任

9、何組成員的網(wǎng)絡(luò)。9.3 多播轉(zhuǎn)發(fā)樹多播轉(zhuǎn)發(fā)樹 單播路由協(xié)議單播路由協(xié)議能找出到達某一目的網(wǎng)絡(luò)的最短能找出到達某一目的網(wǎng)絡(luò)的最短路徑。路徑。 單播路由表項:目的網(wǎng)絡(luò)地址、下一跳路單播路由表項:目的網(wǎng)絡(luò)地址、下一跳路由器地址、本路由器的輸出接口等字段。由器地址、本路由器的輸出接口等字段。 路由器收到單播分組,根據(jù)目的路由器收到單播分組,根據(jù)目的IP地址,地址,在路由表中找到匹配的表項,把分組從指在路由表中找到匹配的表項,把分組從指定的接口轉(zhuǎn)發(fā)出去。定的接口轉(zhuǎn)發(fā)出去。多播路由協(xié)議多播路由協(xié)議實現(xiàn)逆向路由選擇實現(xiàn)逆向路由選擇 不是將多播分組轉(zhuǎn)發(fā)給一個目的網(wǎng)絡(luò),而是從不是將多播分組轉(zhuǎn)發(fā)給一個目的網(wǎng)絡(luò),而

10、是從多播源開始,多播分組沿著多播樹轉(zhuǎn)發(fā)到本多多播源開始,多播分組沿著多播樹轉(zhuǎn)發(fā)到本多播組的多個目的網(wǎng)絡(luò)。播組的多個目的網(wǎng)絡(luò)。 多播分組從某一特定的源主機發(fā)出。所以,多多播分組從某一特定的源主機發(fā)出。所以,多播路由器可依據(jù)多播源的播路由器可依據(jù)多播源的IP地址,通過多播地址,通過多播路由協(xié)議選擇路由協(xié)議選擇從目的網(wǎng)絡(luò)到源的最短路徑從目的網(wǎng)絡(luò)到源的最短路徑。 這是一個逆向路由選擇過程。這是一個逆向路由選擇過程。1多播轉(zhuǎn)發(fā)樹多播轉(zhuǎn)發(fā)樹 使用圖論術(shù)語描述從特定源節(jié)點到多播組的所有成員使用圖論術(shù)語描述從特定源節(jié)點到多播組的所有成員的一組路徑,這些路徑定義了圖論中的樹,有時也稱的一組路徑,這些路徑定義了圖

11、論中的樹,有時也稱為轉(zhuǎn)發(fā)樹(為轉(zhuǎn)發(fā)樹(forwarding tree)。)。 每個多播路由器對應(yīng)樹中的一個每個多播路由器對應(yīng)樹中的一個節(jié)點節(jié)點(node)。)。 連接兩個路由器的網(wǎng)絡(luò)對應(yīng)于樹中的一條連接兩個路由器的網(wǎng)絡(luò)對應(yīng)于樹中的一條邊邊(edge)。)。 分組的源節(jié)點是樹的根(分組的源節(jié)點是樹的根(root)或)或根節(jié)點根節(jié)點。 從源節(jié)點出發(fā),沿著一條路徑到達的最后一個路由從源節(jié)點出發(fā),沿著一條路徑到達的最后一個路由器稱為器稱為葉子路由器葉子路由器(leaf router)。)。 連接在葉子路由器上的網(wǎng)絡(luò)稱為連接在葉子路由器上的網(wǎng)絡(luò)稱為葉子網(wǎng)絡(luò)葉子網(wǎng)絡(luò)(leaf network)。)。 負責

12、將多播分組通過自身接口發(fā)往某個網(wǎng)絡(luò)的路由負責將多播分組通過自身接口發(fā)往某個網(wǎng)絡(luò)的路由器,稱作該網(wǎng)絡(luò)的器,稱作該網(wǎng)絡(luò)的父路由器父路由器。基于源的樹基于源的樹(Source Based Tree,SBT) 和共享樹(和共享樹(Shared Tree,ST) 多播轉(zhuǎn)發(fā)樹有兩種基本類型:多播轉(zhuǎn)發(fā)樹有兩種基本類型: 基于源的樹基于源的樹SBT,從每個源到接收者之間有,從每個源到接收者之間有不同的樹(多棵樹)。不同的樹(多棵樹)。 共享樹共享樹ST,被所有組成員所共享的一棵樹。,被所有組成員所共享的一棵樹。 基于源的樹基于源的樹也稱作最短路徑樹(也稱作最短路徑樹(SPT),用二元),用二元組(組(S,G)

13、表示。使用表示。使用Dijkstra算法計算從源到算法計算從源到所有組成員的最短路徑。所有組成員的最短路徑。 基于源的樹的協(xié)議有:基于源的樹的協(xié)議有:DVMRP、MOSPF、PIM-DM等。等。共享樹共享樹 共享樹是一棵以某個路由器為根,到所有接收共享樹是一棵以某個路由器為根,到所有接收者的樹。用二元組(者的樹。用二元組(*,G)表示。)表示。 這棵共享樹可以被多個多播源共享,維護較少這棵共享樹可以被多個多播源共享,維護較少的狀態(tài)信息,但是轉(zhuǎn)發(fā)路徑未必最優(yōu)。的狀態(tài)信息,但是轉(zhuǎn)發(fā)路徑未必最優(yōu)。 共享樹中樹根的位置很重要。如果給每條鏈路共享樹中樹根的位置很重要。如果給每條鏈路指定費用,那么最優(yōu)的多

14、播路由樹就是具有最指定費用,那么最優(yōu)的多播路由樹就是具有最小費用的樹。小費用的樹。 使用共享樹的協(xié)議實例主要有:使用共享樹的協(xié)議實例主要有:CBT (core based tree)、PIM-SM。2. 基于源的樹基于源的樹 為了進行多播,我們需要這樣一棵樹為了進行多播,我們需要這樣一棵樹 源主機是樹根,而多播組的成員是樹葉,這源主機是樹根,而多播組的成員是樹葉,這棵樹連接了一個多播組的所有節(jié)點??脴溥B接了一個多播組的所有節(jié)點。 從樹根到樹葉的每一條路徑都是可能的最短從樹根到樹葉的每一條路徑都是可能的最短路徑(按照某種度量路徑(按照某種度量tolerance)。這樣的)。這樣的樹叫最短路徑樹(

15、樹叫最短路徑樹(Shortest Path Tree,SPT)。)。 SPT描述了描述了IP多播分組在網(wǎng)絡(luò)中經(jīng)由的最短多播分組在網(wǎng)絡(luò)中經(jīng)由的最短路徑。路徑。 最短路徑樹最短路徑樹SPT路由器路由器RA 接收者接收者A 多播組的源多播組的源S2192.168.0.88組組G:239.0.0.11接收者接收者C 接收者接收者D 多播組的源多播組的源S1192.168.0.66組組G:239.0.0.11接收者接收者B 路由器路由器RC 路由器路由器RE 路由器路由器RD 路由器路由器RB 基于源的樹基于源的樹 在基于源的樹中,一個多播組可能有若干個在基于源的樹中,一個多播組可能有若干個SPT,不存

16、在一個中心多播路由器。,不存在一個中心多播路由器。 若互聯(lián)網(wǎng)中有若互聯(lián)網(wǎng)中有N個多播組和個多播組和M個不同的源端,個不同的源端,則最多可以有則最多可以有NM個個SPT樹,每棵樹,每棵SPT樹對樹對應(yīng)不同的源和多播組的組合,即由源和多播組應(yīng)不同的源和多播組的組合,即由源和多播組的組合決定樹的結(jié)構(gòu)。的組合決定樹的結(jié)構(gòu)。 3. 共享樹共享樹 共享樹也叫匯聚點樹(共享樹也叫匯聚點樹(Rendezous Point Tree,RPT),匯聚點(),匯聚點(Rendezous Point,RP)作)作為為RPT樹的公共根。樹的公共根。 與基于源的樹與基于源的樹SPT不同,發(fā)送多播分組的源主不同,發(fā)送多播分

17、組的源主機不是直接向網(wǎng)絡(luò)中發(fā)送多播分組,而是先把機不是直接向網(wǎng)絡(luò)中發(fā)送多播分組,而是先把分組發(fā)往分組發(fā)往RPT樹的根樹的根RP,然后再由,然后再由RP向網(wǎng)絡(luò)中向網(wǎng)絡(luò)中的所有成員發(fā)送它接收到的多播分組。的所有成員發(fā)送它接收到的多播分組。 在從源發(fā)送分組到在從源發(fā)送分組到RP,從,從RP發(fā)送分組到各個接發(fā)送分組到各個接收者的過程中,都是以最短路徑進行轉(zhuǎn)發(fā)。收者的過程中,都是以最短路徑進行轉(zhuǎn)發(fā)。RPT樹樹 路由器路由器RA 接收者接收者A 多播組的源多播組的源S2192.168.0.88組組G:239.0.0.11接收者接收者C 接收者接收者D 多播組的源多播組的源S1192.168.0.66組組G

18、:239.0.0.11接收者接收者B 路由器路由器RC 路由器路由器RE 路由器路由器RD 路由器路由器RB RP 從從RP到各個接收者,是相應(yīng)多播組的唯一的到各個接收者,是相應(yīng)多播組的唯一的一棵以一棵以RP為多播源的為多播源的SPT樹。樹。RP匯聚了多播匯聚了多播源。源。 共享樹方式,減少了路由器多播路由表中表項共享樹方式,減少了路由器多播路由表中表項的數(shù)量,降低了對路由器資源的需求,使多播的數(shù)量,降低了對路由器資源的需求,使多播更具有擴展性。更具有擴展性。 共享樹中的每一個多播組共享同樣的樹。若有共享樹中的每一個多播組共享同樣的樹。若有N個多播組,則最多有個多播組,則最多有N棵樹。每棵樹對

19、應(yīng)一棵樹。每棵樹對應(yīng)一個多播組,即由多播組決定樹。個多播組,即由多播組決定樹。9.4 多播路由算法多播路由算法 9.4.1 最短路徑樹算法最短路徑樹算法 9.4.2 最小生成樹算法最小生成樹算法 9.4.3 Steiner樹算法樹算法9.4 多播路由算法多播路由算法 多播路由算法用來建立一棵性能良好的多播樹,多播路由算法用來建立一棵性能良好的多播樹,滿足各種業(yè)務(wù)的服務(wù)質(zhì)量滿足各種業(yè)務(wù)的服務(wù)質(zhì)量QoS需求。需求。 多播路由算法可以分為無約束和基于約束的多多播路由算法可以分為無約束和基于約束的多播路由算法。播路由算法。 約束包括端到端的延遲上限、最小帶寬、丟約束包括端到端的延遲上限、最小帶寬、丟失

20、概率等。失概率等。 多播樹不僅要保證對接收者的可達性,還必多播樹不僅要保證對接收者的可達性,還必須保證路由滿足須保證路由滿足QoS約束。約束。 多播路由算法有靜態(tài)和動態(tài)之分。多播路由算法有靜態(tài)和動態(tài)之分。 靜態(tài)多播路由算法針對初始多播成員構(gòu)造一棵靜態(tài)多播路由算法針對初始多播成員構(gòu)造一棵多播樹,不能根據(jù)當前實際傳輸量和拓撲變化多播樹,不能根據(jù)當前實際傳輸量和拓撲變化來做路由選擇,而是按初始設(shè)計好的路由傳送。來做路由選擇,而是按初始設(shè)計好的路由傳送。 動態(tài)路由算法隨著網(wǎng)絡(luò)擁塞情況和拓撲的動態(tài)動態(tài)路由算法隨著網(wǎng)絡(luò)擁塞情況和拓撲的動態(tài)變化情況,路由器頻繁執(zhí)行路由選擇算法。動變化情況,路由器頻繁執(zhí)行路由

21、選擇算法。動態(tài)多播路由算法處理成員的加入和離開之后的態(tài)多播路由算法處理成員的加入和離開之后的更新問題。更新問題。 多播樹通過每個路由器設(shè)置路由表而建立起來的,多播樹通過每個路由器設(shè)置路由表而建立起來的,路由表給出了選擇哪個網(wǎng)絡(luò)接口轉(zhuǎn)發(fā)多播分組,路由表給出了選擇哪個網(wǎng)絡(luò)接口轉(zhuǎn)發(fā)多播分組,才能送達多播組成員。才能送達多播組成員。9.4.1 最短路徑樹算法最短路徑樹算法 最短路徑樹是從多播源到每個接收者的路徑都最短路徑樹是從多播源到每個接收者的路徑都是兩者之間最短路徑的多播樹。是兩者之間最短路徑的多播樹。 若所有鏈路的權(quán)值都為若所有鏈路的權(quán)值都為1,則算法所得到的多,則算法所得到的多播樹即為播樹即為

22、最小跳(最小跳(hop)樹)樹。 如果權(quán)值代表鏈路延遲,則得到的就是如果權(quán)值代表鏈路延遲,則得到的就是最小延最小延遲樹遲樹。 Bellman-Ford算法和算法和Dijkstra算法是兩個解算法是兩個解決最短路徑問題的著名算法。決最短路徑問題的著名算法。9.4.2 最小生成樹算法最小生成樹算法 最小生成樹是連接網(wǎng)絡(luò)中的所有節(jié)點,并且樹最小生成樹是連接網(wǎng)絡(luò)中的所有節(jié)點,并且樹的的全部鏈路權(quán)值之和最小全部鏈路權(quán)值之和最小的多播樹。的多播樹。 Prim算法是解決最小生成樹問題的集中式算算法是解決最小生成樹問題的集中式算法。法。 在在Prim算法中,樹的構(gòu)造從任意一個根節(jié)點算法中,樹的構(gòu)造從任意一個根

23、節(jié)點開始,直到所有的組成員連接到樹上。每一步,開始,直到所有的組成員連接到樹上。每一步,選擇一個最小費用邊加入已經(jīng)部分完成的多播選擇一個最小費用邊加入已經(jīng)部分完成的多播樹,最終得到的多播樹具有最小的全局代價。樹,最終得到的多播樹具有最小的全局代價。 最小生成樹算法用于解決樹優(yōu)化問題。最小生成樹算法用于解決樹優(yōu)化問題。 9.4.3 Steiner樹算法樹算法 為了有效利用網(wǎng)絡(luò)資源,要求多播樹的總費用最小。為了有效利用網(wǎng)絡(luò)資源,要求多播樹的總費用最小。 多播樹的費用是指多播樹中所有鏈路費用的總和。多播樹的費用是指多播樹中所有鏈路費用的總和。 在網(wǎng)絡(luò)中尋找費用最小的多播樹問題在圖論中被稱在網(wǎng)絡(luò)中尋找

24、費用最小的多播樹問題在圖論中被稱為為Steiner 樹問題,通過求解費用最小的樹問題,通過求解費用最小的Steiner樹來求解費用最小的多播樹。樹來求解費用最小的多播樹。 所謂所謂Steiner樹是指一棵以多播源為根,覆蓋所有樹是指一棵以多播源為根,覆蓋所有多播分組的目的節(jié)點的生成樹。多播分組的目的節(jié)點的生成樹。 與最小生成樹的區(qū)別:最小生成樹必須包括網(wǎng)絡(luò)中與最小生成樹的區(qū)別:最小生成樹必須包括網(wǎng)絡(luò)中全部節(jié)點;全部節(jié)點;Steiner樹問題只需要求出連接網(wǎng)絡(luò)中樹問題只需要求出連接網(wǎng)絡(luò)中部分節(jié)點(多播組成員)的費用最小的多播樹。部分節(jié)點(多播組成員)的費用最小的多播樹。 9.5 多播路多播路由協(xié)

25、議由協(xié)議域內(nèi)域內(nèi)多播多播路由選擇協(xié)議路由選擇協(xié)議多播多播協(xié)議協(xié)議基于源端樹基于源端樹共享樹共享樹9.6 DVMRP距距離離向量多播向量多播路由選擇協(xié)議路由選擇協(xié)議Distance Vector Multicast Routing ProtocolDistance Vector Multicast Routing Protocol9.7.1 9.7.1 逆向路徑轉(zhuǎn)發(fā)逆向路徑轉(zhuǎn)發(fā)RPFRPF9.7.2 9.7.2 逆向路徑廣播逆向路徑廣播RPBRPB與截尾逆向路徑廣播與截尾逆向路徑廣播TRPBTRPB9.7.3 9.7.3 逆向路徑多播逆向路徑多播RPMRPM9.7.4 9.7.4 剪枝和嫁接剪枝

26、和嫁接9.7.5 DVMRP9.7.5 DVMRP的協(xié)議行為的協(xié)議行為9.6 距離向量多播路由協(xié)議距離向量多播路由協(xié)議DVMRP DVMRP是基于源的路由協(xié)議,首先部署在是基于源的路由協(xié)議,首先部署在MBone上,是第一個支持多播功能的路由協(xié)議。上,是第一個支持多播功能的路由協(xié)議。 DVMRP與與RIP類似,只是增加了支持多播的功能,類似,只是增加了支持多播的功能,是單播的距離向量路由選擇協(xié)議是單播的距離向量路由選擇協(xié)議DVRP的擴展。的擴展。 DVMRP為每個多播源構(gòu)建不同的多播轉(zhuǎn)發(fā)樹。最為每個多播源構(gòu)建不同的多播轉(zhuǎn)發(fā)樹。最短路徑以短路徑以“跳數(shù)跳數(shù)”為度量單位。為度量單位。 當一個源向多播

27、組的成員發(fā)送分組時,就會建立當一個源向多播組的成員發(fā)送分組時,就會建立一棵多播轉(zhuǎn)發(fā)樹,使用一棵多播轉(zhuǎn)發(fā)樹,使用“廣播和剪枝廣播和剪枝”技術(shù)維護技術(shù)維護多播轉(zhuǎn)發(fā)樹。多播轉(zhuǎn)發(fā)樹。DVMRP的重要特性的重要特性 以距離向量為基礎(chǔ)、周期性更新路由(缺省為以距離向量為基礎(chǔ)、周期性更新路由(缺省為60秒)、秒)、TTL上限是上限是32跳(跳(RIP是是16)、具有逆向)、具有逆向抑制轉(zhuǎn)發(fā)功能等。抑制轉(zhuǎn)發(fā)功能等。 DVMRP報文封裝在報文封裝在IP分組中,協(xié)議號為分組中,協(xié)議號為2(與(與IGMP共用協(xié)議號)。共用協(xié)議號)。 多播轉(zhuǎn)發(fā)樹的構(gòu)建通過多播轉(zhuǎn)發(fā)樹的構(gòu)建通過逆向路徑轉(zhuǎn)發(fā)逆向路徑轉(zhuǎn)發(fā)機制實現(xiàn),機制實現(xiàn)

28、,確保多播轉(zhuǎn)發(fā)樹不會出現(xiàn)回環(huán),而且從源到所有確保多播轉(zhuǎn)發(fā)樹不會出現(xiàn)回環(huán),而且從源到所有接收者都是最短路徑。接收者都是最短路徑。DVMRP概述概述 為了支持多播,需要進行兩個階段的處理:為了支持多播,需要進行兩個階段的處理: 需要設(shè)計一種需要設(shè)計一種廣播廣播機制,使分組能夠轉(zhuǎn)發(fā)到互機制,使分組能夠轉(zhuǎn)發(fā)到互聯(lián)網(wǎng)的所有網(wǎng)絡(luò)上;聯(lián)網(wǎng)的所有網(wǎng)絡(luò)上; 進一步將機制細化,進一步將機制細化,刪除刪除那些沒有主機屬于多那些沒有主機屬于多點播送組的網(wǎng)絡(luò)。點播送組的網(wǎng)絡(luò)。 DVMRP實現(xiàn)了具有逆向路徑轉(zhuǎn)發(fā)、嫁接和剪枝實現(xiàn)了具有逆向路徑轉(zhuǎn)發(fā)、嫁接和剪枝的基于源的多播樹。的基于源的多播樹。 目前已基本上被目前已基本上被

29、PIM所取代所取代 9.6.1 逆向路徑轉(zhuǎn)發(fā)逆向路徑轉(zhuǎn)發(fā)RPF DVMRP的最初想法是使用的最初想法是使用RPF。RPF是修正的是修正的洪泛洪泛(接收到信息的節(jié)點以廣播方式轉(zhuǎn)發(fā)數(shù)據(jù)接收到信息的節(jié)點以廣播方式轉(zhuǎn)發(fā)數(shù)據(jù)包包)策略策略。 在在RPF中,路由器中,路由器只轉(zhuǎn)發(fā)只轉(zhuǎn)發(fā)位于從該路由器到源位于從該路由器到源路由器的路由器的最短路徑上的分組最短路徑上的分組,其它分組都丟掉。,其它分組都丟掉。 路由器在接收到報文后,必須根據(jù)源和目的地路由器在接收到報文后,必須根據(jù)源和目的地址來確定上游址來確定上游(指向多播源指向多播源)和下游方向,把報和下游方向,把報文文向下游(遠離多播源)方向轉(zhuǎn)發(fā)向下游(遠離

30、多播源)方向轉(zhuǎn)發(fā)。逆向路徑轉(zhuǎn)發(fā)逆向路徑轉(zhuǎn)發(fā)RPF RPF使用距離向量路由協(xié)議使用距離向量路由協(xié)議DVRP的單播路由表,的單播路由表,判斷一個分組是否走過了最短路徑判斷一個分組是否走過了最短路徑。即用分組的。即用分組的源地址在路由表中查找離開接口,源地址在路由表中查找離開接口, 如果所查到的分組離開接口與到達接口相同,如果所查到的分組離開接口與到達接口相同,則該分組已經(jīng)走過了最短路徑,即該路由器到則該分組已經(jīng)走過了最短路徑,即該路由器到源端的路徑是最短的,則轉(zhuǎn)發(fā)該分組;源端的路徑是最短的,則轉(zhuǎn)發(fā)該分組; 否則,不是最短路徑,丟棄該分組。否則,不是最短路徑,丟棄該分組。最短路徑最短路徑離開離開到達

31、到達離開離開離開離開分組被轉(zhuǎn)發(fā)分組被轉(zhuǎn)發(fā)不是最短路徑不是最短路徑到達到達丟棄丟棄分組被丟棄分組被丟棄逆向路徑轉(zhuǎn)發(fā)逆向路徑轉(zhuǎn)發(fā)RPF當路由器在鏈路當路由器在鏈路L L上收到來自源節(jié)點上收到來自源節(jié)點S S的分的分組時,路由器將檢查組時,路由器將檢查L L是否屬于針對是否屬于針對S S的最的最短路徑。如果是,則該分組被轉(zhuǎn)發(fā)到所有短路徑。如果是,則該分組被轉(zhuǎn)發(fā)到所有除了除了L L的鏈路上;否則該分組被丟棄。的鏈路上;否則該分組被丟棄。RPF拒絕轉(zhuǎn)發(fā)分組示例拒絕轉(zhuǎn)發(fā)分組示例 E0路由器路由器RD路由器路由器RCE1路由器路由器RAS0S1路由器路由器RB來自來自192.168.0.22的多播分組的多播

32、分組路由器路由器RB的單播路由表的單播路由表目的網(wǎng)絡(luò)目的網(wǎng)絡(luò)接口接口192.168.0.0/16E1172.16.32.0/24S0202.194.210.0/24E0拒絕轉(zhuǎn)發(fā)拒絕轉(zhuǎn)發(fā) RPF同意轉(zhuǎn)發(fā)分組示例同意轉(zhuǎn)發(fā)分組示例 E0路由器路由器RD路由器路由器RCE1路由器路由器RAS0S1路由器路由器RB來自來自172.16.32.33的多播分組的多播分組路由器路由器RB的單播路由表的單播路由表目的網(wǎng)絡(luò)目的網(wǎng)絡(luò)接口接口192.168.0.0/16E1172.16.32.0/24S0202.194.210.0/24E0同意轉(zhuǎn)發(fā)同意轉(zhuǎn)發(fā) RPF存在的問題存在的問題Net3收到收到2個個copy R

33、PF中,一個網(wǎng)絡(luò)可能會收到兩個或多個副中,一個網(wǎng)絡(luò)可能會收到兩個或多個副本。其原因是一個網(wǎng)絡(luò)是圖,不是樹。本。其原因是一個網(wǎng)絡(luò)是圖,不是樹。 例如:例如:Net3有兩個父節(jié)點。有兩個父節(jié)點。9.6.2 逆向路徑廣播逆向路徑廣播 (RPB)和和截尾逆向路徑廣播截尾逆向路徑廣播 (TRPB)1.逆向路徑廣播逆向路徑廣播RPB RPB。 父節(jié)點的確定父節(jié)點的確定:選擇到源端路徑最短的路由器:選擇到源端路徑最短的路由器作為指定的父路由器。若有多個這樣的路由器,作為指定的父路由器。若有多個這樣的路由器,就選擇就選擇IP地址最小的一個。地址最小的一個。 分組到達每個網(wǎng)絡(luò),分組到達每個網(wǎng)絡(luò),RPF 和和 R

34、PBR1是是Net1和和Net2的父路由器的父路由器R2是是Net3的父路由器的父路由器2. 截尾逆向路徑廣播截尾逆向路徑廣播TRPB 截尾逆向路徑廣播(截尾逆向路徑廣播(Truncated Reverse Path Broadcasting,TRPB)算法對)算法對RPB進行了改進。進行了改進。 TRPB多播路由器需要兩項信息:多播路由器需要兩項信息: 單播路由表單播路由表 通過每個網(wǎng)絡(luò)接口可達的多播組列表。通過每個網(wǎng)絡(luò)接口可達的多播組列表。路由器使用路由器使用RPF和多播組列表處理多播分組和多播組列表處理多播分組 當多播分組到達時,路由器首先使用當多播分組到達時,路由器首先使用RPF規(guī)則。

35、規(guī)則。RPF根據(jù)源地址查找單播路由表,來確定是轉(zhuǎn)根據(jù)源地址查找單播路由表,來確定是轉(zhuǎn)發(fā)分組還是丟棄分組。發(fā)分組還是丟棄分組。 如果如果RPF確定確定丟棄分組丟棄分組,則路由器丟棄之;,則路由器丟棄之; 若若RPF轉(zhuǎn)發(fā)轉(zhuǎn)發(fā)轉(zhuǎn)發(fā)該分組轉(zhuǎn)發(fā)該分組時,路由器根據(jù)目的時,路由器根據(jù)目的地址檢查地址檢查多播組列表多播組列表,確定多播組成員通,確定多播組成員通過某接口是可達的。過某接口是可達的。 如果某接口沒有多播組可達,則路由器如果某接口沒有多播組可達,則路由器就會跳過該接口,并檢查下一個接口。就會跳過該接口,并檢查下一個接口。TRPB不向沒有組成員的網(wǎng)絡(luò)發(fā)送多播分組不向沒有組成員的網(wǎng)絡(luò)發(fā)送多播分組 在一

36、個在一個TRPB多播路由器接收到多播分組時,使多播路由器接收到多播分組時,使用用源地址、目的地址、源地址、目的地址、RPF和多播組列表和多播組列表決定是決定是否丟棄分組,或者是否轉(zhuǎn)發(fā)分組到某個接口上。否丟棄分組,或者是否轉(zhuǎn)發(fā)分組到某個接口上。 截尾的含義:若某路徑上不再有多播組成員時,截尾的含義:若某路徑上不再有多播組成員時,路由器就會使轉(zhuǎn)發(fā)截止。這樣,路由器就會使轉(zhuǎn)發(fā)截止。這樣,TRPB算法就不算法就不再向沒有多播組成員的網(wǎng)絡(luò)上發(fā)送多播分組。再向沒有多播組成員的網(wǎng)絡(luò)上發(fā)送多播分組。9.6.3 逆向路徑多播逆向路徑多播RPM(reverse path multicasting) RPF對分組不

37、是進行多播,而是廣播,這是低效對分組不是進行多播,而是廣播,這是低效率的。要做到高效率,多播分組必須只到達具有率的。要做到高效率,多播分組必須只到達具有特定多播組成員的網(wǎng)絡(luò)。特定多播組成員的網(wǎng)絡(luò)。 而而DVMRP使用廣播方式把第一個分組發(fā)送到每使用廣播方式把第一個分組發(fā)送到每一個網(wǎng)絡(luò),然后分組還要經(jīng)歷兩個過程:修剪一個網(wǎng)絡(luò),然后分組還要經(jīng)歷兩個過程:修剪Pruning和移植和移植Grafting。 RPM實現(xiàn)了具有逆向路徑轉(zhuǎn)發(fā)實現(xiàn)了具有逆向路徑轉(zhuǎn)發(fā)RPF和剪枝算法的和剪枝算法的基于源的樹?;谠吹臉?。RPM創(chuàng)建了多播最短路徑樹,在創(chuàng)建了多播最短路徑樹,在RPB基礎(chǔ)上增加了修剪和移植,以支持動態(tài)

38、成員基礎(chǔ)上增加了修剪和移植,以支持動態(tài)成員的變化。的變化。RPF, RPB, and RPM修剪修剪pruning后后移植移植grafting后后被移植的路由被移植的路由被剪枝的路由被剪枝的路由9.6.4剪枝和嫁接剪枝和嫁接1、洪泛和修剪(剪枝)、洪泛和修剪(剪枝) 每個網(wǎng)絡(luò)的指定每個網(wǎng)絡(luò)的指定父路由器使用父路由器使用IGMP負責保持組負責保持組成員的關(guān)系成員的關(guān)系。 當路由器發(fā)現(xiàn)所有下游路由器或所連接的所有網(wǎng)當路由器發(fā)現(xiàn)所有下游路由器或所連接的所有網(wǎng)絡(luò)都對某個多播組沒有興趣時(已經(jīng)沒有多播組絡(luò)都對某個多播組沒有興趣時(已經(jīng)沒有多播組的成員),那么,該路由器就的成員),那么,該路由器就向上游路

39、由器發(fā)送向上游路由器發(fā)送修剪報文修剪報文,使它修剪相應(yīng)的接口,上游路由器就,使它修剪相應(yīng)的接口,上游路由器就會停止通過這個接口給該路由器發(fā)送多播分組。會停止通過這個接口給該路由器發(fā)送多播分組。 如果這個路由器從所有下游路由器收到了修剪報如果這個路由器從所有下游路由器收到了修剪報文,則向它的上游路由器發(fā)送修剪報文。文,則向它的上游路由器發(fā)送修剪報文。 修剪報文用來修剪報文用來刪除到達多播組成員不經(jīng)過的樹刪除到達多播組成員不經(jīng)過的樹枝枝。洪泛和剪枝洪泛和剪枝 路由器路由器RB 多播組的源多播組的源S 路由器路由器RG路由器路由器RD路由器路由器RE 路由器路由器RA PA路由器路由器RC路由器路由

40、器RFPEPB接收者接收者PC接收者接收者PD葉子路由器葉子路由器洪泛洪泛剪枝剪枝剪枝后的轉(zhuǎn)發(fā)樹剪枝后的轉(zhuǎn)發(fā)樹路由器路由器RB 多播組的源多播組的源S 路由器路由器RG路由器路由器RD路由器路由器RE 路由器路由器RA PA路由器路由器RC路由器路由器RFPEPB接收者接收者PC接收者接收者PD2、移植(嫁接)、移植(嫁接) 當已刪除樹枝上的一個新的主機再想加入多播當已刪除樹枝上的一個新的主機再想加入多播組時,則會發(fā)送一種移植報文,用來使轉(zhuǎn)發(fā)樹組時,則會發(fā)送一種移植報文,用來使轉(zhuǎn)發(fā)樹中以前剪掉的樹枝重新接入。中以前剪掉的樹枝重新接入。 由于新的成員可以在任何時候加入到多播組,由于新的成員可以在

41、任何時候加入到多播組,而且新成員可能在某個被剪除的分枝加入,因而且新成員可能在某個被剪除的分枝加入,因此此DVMRP就周期性地重新啟動多播樹的構(gòu)造就周期性地重新啟動多播樹的構(gòu)造過程過程。 移植報文強迫上游路由器繼續(xù)發(fā)送多播報文。移植報文強迫上游路由器繼續(xù)發(fā)送多播報文。嫁接嫁接 路由器路由器RB 多播組的源多播組的源S 路由器路由器RG路由器路由器RD路由器路由器RE 路由器路由器RA PA路由器路由器RC路由器路由器RFPEPB新加入接收者新加入接收者接收者接收者PC接收者接收者PD加入組報文加入組報文嫁接報文嫁接報文3、默認壽命、默認壽命 所有所有DVMRP修剪報文都有一個字段定義修剪壽修剪

42、報文都有一個字段定義修剪壽命。默認值是命。默認值是2小時。小時。 修剪僅在分組的修剪壽命內(nèi)有效。之后,自動修剪僅在分組的修剪壽命內(nèi)有效。之后,自動恢復接收多播報文?;謴徒邮斩嗖笪?。 例如,若某個路由器向上游路由器發(fā)送修剪例如,若某個路由器向上游路由器發(fā)送修剪報文,并指出修剪壽命為報文,并指出修剪壽命為1小時,表示該路小時,表示該路由器在由器在1小時以內(nèi)不接收某個特定組的多播小時以內(nèi)不接收某個特定組的多播報文。在報文。在1小時后,若沒有第二個修剪報文,小時后,若沒有第二個修剪報文,就可以接收多播分組了。就可以接收多播分組了。 這需要每個路由器對每個活躍組都有一個修剪這需要每個路由器對每個活躍組

43、都有一個修剪計時器。計時器。9.6.5 DVMRP的協(xié)議行為的協(xié)議行為 DVMRP協(xié)議行為通過報文實現(xiàn),協(xié)議行為通過報文實現(xiàn),DVMRP報文類型:報文類型: 探測報文,用于發(fā)現(xiàn)鄰居;探測報文,用于發(fā)現(xiàn)鄰居; 路由通告報文,用于路由信息交換;路由通告報文,用于路由信息交換; 請求鄰居列表報文,用于請求鄰居列表;請求鄰居列表報文,用于請求鄰居列表; 鄰居請求響應(yīng)報文,用于響應(yīng)鄰居列表請求;鄰居請求響應(yīng)報文,用于響應(yīng)鄰居列表請求; 剪枝報文,用于剪掉廣播樹上的某些無用分支;剪枝報文,用于剪掉廣播樹上的某些無用分支; 嫁接報文,用于嫁接某些又開始起作用的分支;嫁接報文,用于嫁接某些又開始起作用的分支;

44、 嫁接確認報文,用于確認嫁接報文。嫁接確認報文,用于確認嫁接報文。 DVMRP的協(xié)議行為主要包括鄰居發(fā)現(xiàn)、路由交換的協(xié)議行為主要包括鄰居發(fā)現(xiàn)、路由交換和多播路由表維護、源轉(zhuǎn)發(fā)樹構(gòu)造、多播轉(zhuǎn)發(fā)、剪和多播路由表維護、源轉(zhuǎn)發(fā)樹構(gòu)造、多播轉(zhuǎn)發(fā)、剪枝和嫁接。枝和嫁接。1. 鄰居發(fā)現(xiàn)鄰居發(fā)現(xiàn) DVMRP路由器定期向所有路由器(路由器定期向所有路由器(224.0.0.4)發(fā)送探測報文,發(fā)送探測報文,向該接口所連接網(wǎng)絡(luò)上的其它向該接口所連接網(wǎng)絡(luò)上的其它路由器說明自己的存在。路由器說明自己的存在。 并且要定時檢查接口上的鄰居信息。并且要定時檢查接口上的鄰居信息。 探測報文每探測報文每10秒周期性地從接口轉(zhuǎn)發(fā)出去

45、,接秒周期性地從接口轉(zhuǎn)發(fā)出去,接口的口的鄰居列表鄰居列表的每個表項都有的每個表項都有35秒定時器。秒定時器。探測報文是各個探測報文是各個DVMRP路由器路由器定位自己和定位對方的方法定位自己和定位對方的方法 每個接口將探測到的鄰居放在探測報文中,再從每個接口將探測到的鄰居放在探測報文中,再從該接口轉(zhuǎn)發(fā)出去。該接口轉(zhuǎn)發(fā)出去。 探測報文提供一種保活機制,使接口能夠快速地探測報文提供一種保活機制,使接口能夠快速地檢測到鄰居的丟失。檢測到鄰居的丟失。 收到鄰居發(fā)來的探測報文后,如果在接口的鄰居收到鄰居發(fā)來的探測報文后,如果在接口的鄰居列表中能夠查到發(fā)送該報文的接口的列表中能夠查到發(fā)送該報文的接口的IP

46、地址,則地址,則將鄰居列表中的對應(yīng)表項定時器刷新。將鄰居列表中的對應(yīng)表項定時器刷新。 如果一個鄰居丟失,那么該鄰居肯定不會向外發(fā)如果一個鄰居丟失,那么該鄰居肯定不會向外發(fā)送探測報文,導致定時器超時。通過這種方式能送探測報文,導致定時器超時。通過這種方式能檢測到鄰居的丟失。檢測到鄰居的丟失。2. 路由交換路由交換 在在DVMRP中,路由器在鄰居之間定期(中,路由器在鄰居之間定期(60秒)發(fā)秒)發(fā)送送路由通告報文。路由通告報文。 根據(jù)信息通告,各個路由器計算自己的路由表,根據(jù)信息通告,各個路由器計算自己的路由表,等路由表收斂后,針對每個源,路由器的上下游等路由表收斂后,針對每個源,路由器的上下游關(guān)

47、系就確定了,上游接口和下游接口列表也就形關(guān)系就確定了,上游接口和下游接口列表也就形成了。成了。 上游接口上游接口是路由器從多播源接收多播分組的接是路由器從多播源接收多播分組的接口,上游接口也是口,上游接口也是RPF接口。接口。 下游接口下游接口是多播分組的轉(zhuǎn)發(fā)接口。是多播分組的轉(zhuǎn)發(fā)接口。 經(jīng)過路由交換后,基于源網(wǎng)絡(luò)的多播轉(zhuǎn)發(fā)樹就形經(jīng)過路由交換后,基于源網(wǎng)絡(luò)的多播轉(zhuǎn)發(fā)樹就形成了。成了。3源樹構(gòu)造源樹構(gòu)造 為了建立一個截尾廣播樹,為了建立一個截尾廣播樹, DVMRP路由器通過路由器通過一個特殊的一個特殊的逆向抑制路由通告逆向抑制路由通告,來通知上游路由,來通知上游路由器,說明它處于下游。器,說明它

48、處于下游。 逆向抑制路由通告告訴上游路由器,把逆向抑制路由通告告訴上游路由器,把“我我”放放在該源網(wǎng)絡(luò)的截尾廣播樹上。即,把任何來自源在該源網(wǎng)絡(luò)的截尾廣播樹上。即,把任何來自源的多播分組從該接口上轉(zhuǎn)發(fā)出去,以便下游路由的多播分組從該接口上轉(zhuǎn)發(fā)出去,以便下游路由器可以接收到它。器可以接收到它。 當某個多播源開始傳輸多播分組的時候,多播分當某個多播源開始傳輸多播分組的時候,多播分組沿著截尾廣播樹向下傳送到網(wǎng)絡(luò)的所有節(jié)點。組沿著截尾廣播樹向下傳送到網(wǎng)絡(luò)的所有節(jié)點。 如果某些網(wǎng)絡(luò)中不存在接收者,如果某些網(wǎng)絡(luò)中不存在接收者,DVMRP路由器就路由器就會將不需要的分支剪枝掉。會將不需要的分支剪枝掉。4多播

49、轉(zhuǎn)發(fā)多播轉(zhuǎn)發(fā) 在多播模型中,源主機根據(jù)在多播模型中,源主機根據(jù)IP分組的多播地分組的多播地址,向該多播組的所有成員發(fā)送信息。址,向該多播組的所有成員發(fā)送信息。 DVMRP協(xié)議利用逆向路徑轉(zhuǎn)發(fā)(協(xié)議利用逆向路徑轉(zhuǎn)發(fā)(RPF)算法,)算法,決定是否轉(zhuǎn)發(fā)多播分組。決定是否轉(zhuǎn)發(fā)多播分組。5、DVMRP的修剪與移植的修剪與移植 當修剪區(qū)域內(nèi)出現(xiàn)了多播組成員時,下游不必等當修剪區(qū)域內(nèi)出現(xiàn)了多播組成員時,下游不必等待上游修剪狀態(tài)超時,而是待上游修剪狀態(tài)超時,而是主動向上游發(fā)送移植主動向上游發(fā)送移植報文報文,以使修剪狀態(tài)變?yōu)檗D(zhuǎn)發(fā)狀態(tài)。,以使修剪狀態(tài)變?yōu)檗D(zhuǎn)發(fā)狀態(tài)。 DVMRP是由數(shù)據(jù)觸發(fā)驅(qū)動建立多播路由表是由數(shù)

50、據(jù)觸發(fā)驅(qū)動建立多播路由表 路由樹的建立過程可以概括為路由樹的建立過程可以概括為“廣播與修剪廣播與修剪” 轉(zhuǎn)發(fā)特點可以概括為轉(zhuǎn)發(fā)特點可以概括為“被動接受,主動退出被動接受,主動退出”。DVMRP嫁接機制使用嫁接確認報文嫁接機制使用嫁接確認報文 為了增加可靠性,上游路由器接收到嫁接報文為了增加可靠性,上游路由器接收到嫁接報文后,需要發(fā)送嫁接確認報文,確認嫁接己經(jīng)完后,需要發(fā)送嫁接確認報文,確認嫁接己經(jīng)完成。成。 可以防止由于擁塞等原因而引起的嫁接報文可以防止由于擁塞等原因而引起的嫁接報文丟失。丟失。 如果嫁接報文丟失或者嫁接確認報文丟失,如果嫁接報文丟失或者嫁接確認報文丟失,則需要重傳嫁接報文。則

51、需要重傳嫁接報文。 嫁接報文被一跳一跳地向上游傳送,直到到達嫁接報文被一跳一跳地向上游傳送,直到到達該多播源的多播轉(zhuǎn)發(fā)樹。同時,嫁接確認報文該多播源的多播轉(zhuǎn)發(fā)樹。同時,嫁接確認報文也一跳一跳向下傳送。也一跳一跳向下傳送。9.7 MOSPF多播多播開開放最短路放最短路徑優(yōu)先協(xié)議徑優(yōu)先協(xié)議(Multicast Open Shortest Path First Routing)(Multicast Open Shortest Path First Routing)1、OSPF的最短路徑生成樹的最短路徑生成樹 在使用在使用OSPF協(xié)議的網(wǎng)絡(luò)中,每個路由器監(jiān)測協(xié)議的網(wǎng)絡(luò)中,每個路由器監(jiān)測直接相連的鏈路狀

52、態(tài),當狀態(tài)改變時,向所有直接相連的鏈路狀態(tài),當狀態(tài)改變時,向所有其它路由器發(fā)送一個更新信息。其它路由器發(fā)送一個更新信息。 每個路由器都可以基于一個共同的鏈路狀態(tài)數(shù)每個路由器都可以基于一個共同的鏈路狀態(tài)數(shù)據(jù)庫,了解整個網(wǎng)絡(luò)的拓撲圖。據(jù)庫,了解整個網(wǎng)絡(luò)的拓撲圖。 然后使用然后使用Dijkstra算法計算出以該路由器為根、算法計算出以該路由器為根、到達所有其它路由器的最短路徑樹。到達所有其它路由器的最短路徑樹。2、對、對OSPF的擴展的擴展 在在MOSPF中,路由器通過中,路由器通過IGMP周期性地收周期性地收集多播組成員的信息。集多播組成員的信息。 組成員信息和鏈路狀態(tài)信息組成員信息和鏈路狀態(tài)信息

53、一起被周期性地一起被周期性地傳送到這個路由區(qū)域中的其它路由器。傳送到這個路由區(qū)域中的其它路由器。 這樣,每個路由器都知道各個多播組的所有這樣,每個路由器都知道各個多播組的所有成員的位置。成員的位置。 根據(jù)從鄰接路由器接收到的消息,路由器將根據(jù)從鄰接路由器接收到的消息,路由器將修改自己的鏈路狀態(tài)信息。修改自己的鏈路狀態(tài)信息。路由器不預(yù)先計算特定源的多播樹路由器不預(yù)先計算特定源的多播樹 使用使用Dijkstra算法計算從源到所有組成員的最算法計算從源到所有組成員的最短路徑生成樹。短路徑生成樹。 計算很費時,所以路由器并不預(yù)先計算特定源計算很費時,所以路由器并不預(yù)先計算特定源的多播樹。的多播樹。 在

54、接收到在接收到IP多播分組后,路由器才對該報文多播分組后,路由器才對該報文的源點計算到其組成員的生成樹。這樣可以節(jié)的源點計算到其組成員的生成樹。這樣可以節(jié)省時間。省時間。MOSPF把把AS劃分成路由區(qū)域劃分成路由區(qū)域 與與OSPF類似,類似,MOSPF把整個把整個AS劃分成多個劃分成多個路由區(qū)域,這些不同的路由區(qū)域與一個主干路路由區(qū)域,這些不同的路由區(qū)域與一個主干路由區(qū)域相互連接。由區(qū)域相互連接。 根據(jù)路由器功能的不同,根據(jù)路由器功能的不同,MOSPF路由器可以路由器可以分為域內(nèi)路由器、域間路由器、主干路由器和分為域內(nèi)路由器、域間路由器、主干路由器和AS邊界路由器。邊界路由器。MOSPF的擴展

55、性不好的擴展性不好 當組成員發(fā)生變化時,當組成員發(fā)生變化時,MOSPF將向區(qū)域內(nèi)的將向區(qū)域內(nèi)的所有路由器發(fā)布鏈路狀態(tài)通告所有路由器發(fā)布鏈路狀態(tài)通告LSA更新,導致更新,導致所有多播樹中路由器更新自己的路由狀態(tài)。所有多播樹中路由器更新自己的路由狀態(tài)。 如果組成員變化頻繁,如果組成員變化頻繁,MOSPF將會發(fā)送大量將會發(fā)送大量的的LSA更新,并且觸發(fā)大量的路由計算。所以更新,并且觸發(fā)大量的路由計算。所以MOSPF的擴展性并不好。的擴展性并不好。 MOSPF沒有得到廣泛應(yīng)用。沒有得到廣泛應(yīng)用。MOSPF不支持隧不支持隧道機制,也不支持增量部署。道機制,也不支持增量部署。9.8 CBT核心基核心基干樹

56、干樹9.8.1 9.8.1 樹的形成樹的形成9.8.2 9.8.2 發(fā)送多播分組發(fā)送多播分組 CBT是共享樹,即多播中的所有源節(jié)點共享這是共享樹,即多播中的所有源節(jié)點共享這棵樹,使用一個核心作為樹根??脴?,使用一個核心作為樹根。 自治系統(tǒng)劃分為多個區(qū),每個區(qū)選擇一個核心自治系統(tǒng)劃分為多個區(qū),每個區(qū)選擇一個核心-匯集路由器。匯集路由器。9.8.1 樹的形成樹的形成 當匯集路由器選好后,就將它的單播地址通知給當匯集路由器選好后,就將它的單播地址通知給每個路由器。每個路由器發(fā)送單播每個路由器。每個路由器發(fā)送單播“加入報文加入報文”(類似于移植報文)表示它愿意加入該組。(類似于移植報文)表示它愿意加入

57、該組。 在在“加入報文加入報文”發(fā)送到匯集路由器的路徑中,所發(fā)送到匯集路由器的路徑中,所有中間路由器有中間路由器從報文中提取必要的信息從報文中提取必要的信息(例如:(例如:發(fā)送站的單播地址、該報文到達的接口),然后發(fā)送站的單播地址、該報文到達的接口),然后將報文轉(zhuǎn)發(fā)給下一個路由器。將報文轉(zhuǎn)發(fā)給下一個路由器。 當匯集路由器收到一個多播組的每個成員發(fā)來的當匯集路由器收到一個多播組的每個成員發(fā)來的所有加入報文后,樹就形成了。所有加入報文后,樹就形成了。 每個路由器都知道它的上游路由器(通往樹根的每個路由器都知道它的上游路由器(通往樹根的路由器)和下游路由器(通往樹葉的路由器)。路由器)和下游路由器(

58、通往樹葉的路由器)。具有匯集路由器的組具有匯集路由器的組共享共享樹樹 若某個路由器想退出該組,就給它的上游路由器發(fā)若某個路由器想退出該組,就給它的上游路由器發(fā)送送“退出退出”報文報文。上游路由器就從樹中刪除到該路。上游路由器就從樹中刪除到該路由器的鏈路,并把該報文轉(zhuǎn)發(fā)給它的上游路由器。由器的鏈路,并把該報文轉(zhuǎn)發(fā)給它的上游路由器。匯集路由器匯集路由器成員成員成員成員成員成員成員成員成員成員 CBT構(gòu)造過程構(gòu)造過程 R2R4R7R1S核心路由器核心路由器MR5R3R6R8MMMjoinJoin-ack組成員組成員組成員組成員組成員組成員欲加入多播組欲加入多播組IGMP成員關(guān)成員關(guān)系報告報文系報告報

59、文CBT多播樹是雙向的多播樹是雙向的 在在CBT中,接口沒有父子關(guān)系,接口只有兩個中,接口沒有父子關(guān)系,接口只有兩個狀態(tài):要么在樹中,要么不在樹中。狀態(tài):要么在樹中,要么不在樹中。 非多播組成員的源節(jié)點向著核心路由器的方向非多播組成員的源節(jié)點向著核心路由器的方向發(fā)送分組,直到到達某個已經(jīng)在樹中的節(jié)點。發(fā)送分組,直到到達某個已經(jīng)在樹中的節(jié)點。 從這個節(jié)點開始,分組被轉(zhuǎn)發(fā)到在多播組中的從這個節(jié)點開始,分組被轉(zhuǎn)發(fā)到在多播組中的所有接口,除了收到分組的那個接口。所有接口,除了收到分組的那個接口。 并不是所有分組都通過核心路由器轉(zhuǎn)發(fā),從而并不是所有分組都通過核心路由器轉(zhuǎn)發(fā),從而減輕核心路由器進行分組轉(zhuǎn)發(fā)

60、的負擔。減輕核心路由器進行分組轉(zhuǎn)發(fā)的負擔。CBT不采用逆向路徑檢查機制不采用逆向路徑檢查機制 CBT通過保證通過保證join報文和報文和join-ack報文經(jīng)過完報文經(jīng)過完全相同(方向相反)的路徑進行傳遞,來保證全相同(方向相反)的路徑進行傳遞,來保證不出現(xiàn)循環(huán)。不出現(xiàn)循環(huán)。 如果如果join報文和報文和join-ack報文的路徑不一致,報文的路徑不一致,CBT就認為出現(xiàn)了路由循環(huán),并重新啟動加入就認為出現(xiàn)了路由循環(huán),并重新啟動加入過程。過程。共享樹共享樹成員成員成員成員成員成員成員成員成員成員圖例圖例單播單播多播多播核心路由器核心路由器源端源端9.8.2 發(fā)送多播分組發(fā)送多播分組 形成了多播

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論