《計(jì)算機(jī)網(wǎng)絡(luò) 》課件第8章_第1頁(yè)
《計(jì)算機(jī)網(wǎng)絡(luò) 》課件第8章_第2頁(yè)
《計(jì)算機(jī)網(wǎng)絡(luò) 》課件第8章_第3頁(yè)
《計(jì)算機(jī)網(wǎng)絡(luò) 》課件第8章_第4頁(yè)
《計(jì)算機(jī)網(wǎng)絡(luò) 》課件第8章_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第8章組播技術(shù)8.1引言

8.2IP組播技術(shù)

8.3應(yīng)用層組播技術(shù)

8.1引

在計(jì)算機(jī)網(wǎng)絡(luò)中,主要采用一對(duì)一的通信模式,在發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)之間建立單獨(dú)的連接,發(fā)送節(jié)點(diǎn)發(fā)送的報(bào)文只能由指定的接收節(jié)點(diǎn)接收,這種通信模式稱為單播(Unicast)。圖8.1(a)為單播通信模型。然而,很多的網(wǎng)絡(luò)應(yīng)用(如視頻會(huì)議等)需要采用一對(duì)多通信模式,一個(gè)節(jié)點(diǎn)發(fā)送的報(bào)文要由多個(gè)節(jié)點(diǎn)同時(shí)接收。如果采用單播技術(shù)來(lái)實(shí)現(xiàn)這種通信模式,則需要分別與多個(gè)接收節(jié)點(diǎn)建立連接,分成多次將同一報(bào)文發(fā)送給這些接收節(jié)點(diǎn)。當(dāng)接收節(jié)點(diǎn)增多時(shí),容易產(chǎn)生網(wǎng)絡(luò)瓶頸,造成網(wǎng)絡(luò)擁塞和傳輸延遲等問(wèn)題。

為了解決這個(gè)問(wèn)題,人們提出了組播或多播(Multicast)技術(shù),將參加組播的用戶組成組播組,對(duì)于發(fā)給組成員的報(bào)文,發(fā)送節(jié)點(diǎn)(組播源)只需發(fā)送一次,由網(wǎng)絡(luò)交換節(jié)點(diǎn)將報(bào)文轉(zhuǎn)發(fā)給其他組成員,從而避免了在網(wǎng)絡(luò)上產(chǎn)生重復(fù)數(shù)據(jù)報(bào)文,節(jié)省了網(wǎng)絡(luò)帶寬。圖8.1(b)為組播通信模型。目前,組播技術(shù)在網(wǎng)絡(luò)音頻/視頻廣播、視頻點(diǎn)播(VOD)、網(wǎng)絡(luò)視頻會(huì)議、多媒體遠(yuǎn)程教育、信息推送(如股票行情等)、網(wǎng)絡(luò)游戲等方面得到了廣泛應(yīng)用。

圖8.1網(wǎng)絡(luò)通信模型(a)單播;(b)組播

8.2IP組

術(shù)

8.2.1IP組播的基本概念

1.IP組播地址和組播組

IP組播通信依賴于IP組播地址。在IPv4中,IP組播地址是D類IP地址,地址范圍為224.0.0.0~239.255.255.255,并被劃分為局部鏈接組播地址、預(yù)留組播地址和管理權(quán)限組播地址等三種。

(1)局部鏈接組播地址:地址范圍為224.0.0.0~224.0.0.255,這是為路由協(xié)議和其他用途保留的地址,路由器并不轉(zhuǎn)發(fā)屬于此范圍的報(bào)文。

(2)預(yù)留組播地址:地址范圍為224.0.1.0~238.255.255.255,可用于全局網(wǎng)絡(luò)(如Internet)。

(3)管理權(quán)限組播地址:地址范圍為239.0.0.0~239.255.255.255,供組織內(nèi)部使用,類似于私有IP地址,不能用于Internet,可限制組播范圍。使用同一個(gè)IP組播地址接收組播報(bào)文的所有主機(jī)構(gòu)成了一個(gè)組播組。一個(gè)組播組的成員是動(dòng)態(tài)變化的,一臺(tái)主機(jī)可以隨時(shí)加入或離開(kāi)組播組。組播組成員的數(shù)目和所在的地理位置也不受限制,一臺(tái)主機(jī)也可以屬于幾個(gè)組播組。此外,不屬于某一個(gè)組播組的主機(jī)也可以向該組播組發(fā)送報(bào)文。

2.組播分布樹(shù)

(1)有源樹(shù)以組播源作為有源樹(shù)的根,有源樹(shù)的分支構(gòu)成通過(guò)網(wǎng)絡(luò)到達(dá)接收主機(jī)的分布樹(shù)。因?yàn)橛性礃?shù)將以最短的路徑穿越網(wǎng)絡(luò),因此也稱為最短路徑樹(shù)(SPT)。

(2)共享樹(shù)以多個(gè)可選擇的組播路由中的一個(gè)作為共享樹(shù)的公共根,這個(gè)根稱為匯合點(diǎn)或集中點(diǎn)(RendezvousPoint,RP)。共享樹(shù)又可分為單向共享樹(shù)和雙向共享樹(shù)。單向共享樹(shù)是指組播數(shù)據(jù)流必須從根經(jīng)過(guò)共享樹(shù)發(fā)送到接收節(jié)點(diǎn);雙向共享樹(shù)是指組播數(shù)據(jù)流可以不經(jīng)過(guò)共享樹(shù)。

3.反向路徑轉(zhuǎn)發(fā)

反向路徑轉(zhuǎn)發(fā)(Reverse-PathForward,RPF)是組播路由協(xié)議中轉(zhuǎn)發(fā)組播報(bào)文的基礎(chǔ)。當(dāng)組播報(bào)文通過(guò)有源樹(shù)時(shí),組播路由器檢查到達(dá)的組播報(bào)文的組播源地址,以確定該組播報(bào)文所經(jīng)過(guò)的網(wǎng)絡(luò)接口是否在有源的分支上,如果在,則RPF檢查成功,轉(zhuǎn)發(fā)該組播報(bào)文;如果RPF檢查失敗,則丟棄該組播報(bào)文。

4.Internet組播主干網(wǎng)(MBONE)

Internet組播主干網(wǎng)(MBONE)是由一系列相互連接的支持IP組播的路由器和子網(wǎng)主機(jī)組成的,可以看做是一個(gè)架構(gòu)在Internet上的虛擬網(wǎng)。在MBONE中,組播源發(fā)出的組播報(bào)文可直接在支持IP組播的路由器組之間傳輸,而在組播路由器組和非組播路由器組之間需要通過(guò)點(diǎn)對(duì)點(diǎn)隧道技術(shù)進(jìn)行傳輸。

5.IP組播隧道傳輸機(jī)制如果組播源端和遠(yuǎn)端之間的中間網(wǎng)絡(luò)不支持組播功能,則可利用隧道傳輸技術(shù)來(lái)穿越中間網(wǎng)絡(luò)。所謂組播隧道傳輸,是指將組播報(bào)文封裝成一個(gè)IP報(bào)頭,在不支持組播的中間網(wǎng)絡(luò)(如Internet)中進(jìn)行傳輸。典型的組播隧道傳輸就是MBONE。組播源端在隧道的入口處進(jìn)行組播報(bào)文封裝,在隧道的出口處則進(jìn)行解封,然后再利用本地支持組播的路由器實(shí)現(xiàn)組播。

8.2.2IP組播組管理協(xié)議

IP組播是一個(gè)開(kāi)放模型,一個(gè)特定組播組可通過(guò)一個(gè)D類IP地址來(lái)標(biāo)識(shí),組關(guān)系是動(dòng)態(tài)變化的,為保證數(shù)據(jù)傳輸?shù)脑有?,必須?duì)組進(jìn)行管理。IP組播組管理機(jī)制包括兩部分:局域網(wǎng)(LAN)內(nèi)跟蹤組成員關(guān)系并準(zhǔn)確傳輸組播信息的局部機(jī)制和廣域環(huán)境下路由報(bào)文的全局機(jī)制。

IGMP(InternetGroupManagementProtocol)是LAN內(nèi)的組管理協(xié)議,用于向本地組播路由器報(bào)告組成員關(guān)系。IGMP處于IPv4的第三層,消息封裝在IP報(bào)文中進(jìn)行傳輸。IGMP協(xié)議的發(fā)展已經(jīng)歷了三個(gè)版本。

IGMPv.1包括主機(jī)成員關(guān)系查詢和報(bào)告兩種消息,組播路由器定期向LAN中的所有主機(jī)發(fā)送查詢消息,以獲取本地網(wǎng)絡(luò)中的組信息。為避免并發(fā)消息產(chǎn)生信息風(fēng)暴,主機(jī)在收到消息后將等待一個(gè)隨機(jī)延遲(小于查詢間隔),若在該延遲內(nèi)未收到來(lái)自相同組成員的報(bào)告,則向組播路由器及LAN中同組成員發(fā)送反饋報(bào)告。在IGMPv.1中,主機(jī)可主動(dòng)請(qǐng)求加入組播組,但未提供顯式的離組操作。因此,當(dāng)LAN內(nèi)的最后一個(gè)主機(jī)離開(kāi)組后,路由器仍繼續(xù)向該LAN轉(zhuǎn)發(fā)報(bào)文,直到組關(guān)系查詢超時(shí)為止。離開(kāi)延遲(LeaveLatency)浪費(fèi)了網(wǎng)絡(luò)帶寬。

IGMPv.2重新定義了消息格式,擴(kuò)充了消息類型,以降低離開(kāi)延遲。IGMPv.2將IGMPv.1中的Version和Type字段合并成8位長(zhǎng)的Type字段,用原unused字段定義查詢消息中的發(fā)送回復(fù),報(bào)告所允許的最大延遲。IGMPv.2的查詢消息分成普通查詢(GeneralQuery)和組特定查詢(GroupSpecificQuery),同時(shí)增加了離組消息。IGMPv.2要求每個(gè)組成員都必須維護(hù)組狀態(tài)信息,以便在作為最后一個(gè)組成員離開(kāi)組時(shí),向組播路由器發(fā)送離開(kāi)消息。為確保準(zhǔn)確性,組播路由器必須發(fā)送組特定查詢消息來(lái)探測(cè)組成員狀況,并在多次查詢無(wú)反饋后認(rèn)為組空缺。IGMPv.2雖減少了離開(kāi)延遲,但沒(méi)有從根本上消除這個(gè)問(wèn)題。

IGMPv.3增加了源過(guò)濾(Per-sourceFiltering)功能,使得系統(tǒng)能接收指定源發(fā)送的數(shù)據(jù)報(bào)文和排除特定的源地址,同時(shí)可限制報(bào)文發(fā)送到特定組。IGMPv.3為支持源過(guò)濾操作提供了一個(gè)系統(tǒng)級(jí)編程接口(API)——IPMulticastListen(socket,interface,multicast-address,filter-mode,source-list),其中:●interface可以是物理的或邏輯的,對(duì)每個(gè)接口必須執(zhí)行該調(diào)用;●

multicast-address是接收方的組播地址;

●filter-mode是關(guān)于INCLUDE和EXCLUDE的集合運(yùn)算,通過(guò)在同一個(gè)接口或socket上多次調(diào)用該API,可定義是否接收從指定源單播地址發(fā)送的數(shù)據(jù);●source-list定義了源地址,可以是0個(gè)或多個(gè)單播地址。

IGMP協(xié)議解決了LAN環(huán)境中的組管理和關(guān)系維護(hù)問(wèn)題,而Internet中的組管理和報(bào)文轉(zhuǎn)發(fā)需要通過(guò)組播路由技術(shù)來(lái)完成。

8.2.3IP組播路由協(xié)議組播路由就是在組播組成員之間構(gòu)造一個(gè)組播分布樹(shù)。這個(gè)分布樹(shù)連接了該組播組中的所有主機(jī),在一個(gè)特定的“發(fā)送源—目的組”對(duì)上的IP組播流量都是通過(guò)這個(gè)分布樹(shù)從發(fā)送源傳輸?shù)浇邮照叩摹2煌腎P組播路由協(xié)議使用不同的技術(shù)來(lái)構(gòu)造這些組播分布樹(shù),一旦這個(gè)樹(shù)構(gòu)造完成,所有的組播流量都將通過(guò)它來(lái)傳播。

根據(jù)網(wǎng)絡(luò)中組播組成員的分布,IP組播路由協(xié)議可以分為兩種基本類型。第一種組播路由協(xié)議稱為密集模式組播路由協(xié)議,它假設(shè)組播組成員密集地分布在網(wǎng)絡(luò)中,也就是說(shuō),網(wǎng)絡(luò)中大多數(shù)子網(wǎng)都至少包含一個(gè)組播組成員,而且網(wǎng)絡(luò)帶寬足夠大,這種組播路由協(xié)議依賴于廣播技術(shù)將數(shù)據(jù)“推”向網(wǎng)絡(luò)中所有的路由器。密集模式組播路由協(xié)議主要有DVMRP(DistanceVectorMulticastRoutingProtocol)、MOSPF(MulticastOpenShortestPathFirst)和PIM-DM(Protocol-IndependentMulticast-DenseMode)等。

1.DVMRP

DVMRP是由單播協(xié)議—距離矢量路由協(xié)議(DVRP)擴(kuò)展而成的。DVMRP是密集模式組播路由協(xié)議,也是第一個(gè)支持組播功能的路由協(xié)議,被廣泛應(yīng)用于組播主干網(wǎng)(MBONE)上。

DVMRP為每個(gè)發(fā)送源和目的主機(jī)組構(gòu)建不同的分布樹(shù)。每個(gè)分布樹(shù)都是一個(gè)以組播發(fā)送源作為根,以組播接收目的主機(jī)作為葉子的最小分布樹(shù)。這個(gè)分布樹(shù)為發(fā)送源和組中每個(gè)接收者之間提供了一個(gè)最短路徑,DVMRP的最短路徑是以“跳步數(shù)”為單位來(lái)量度的。當(dāng)一個(gè)發(fā)送源要向組播組中發(fā)送報(bào)文時(shí),路由器將根據(jù)這個(gè)請(qǐng)求來(lái)建立一個(gè)分布樹(shù),并且使用“廣播和修剪”算法來(lái)維持這個(gè)分布樹(shù)。

分布樹(shù)的構(gòu)建過(guò)程如下:當(dāng)一個(gè)路由器接收到一個(gè)組播報(bào)文后,首先檢查它的單播路由表來(lái)查找組播組發(fā)送源的最短路徑的接口。如果這個(gè)接口就是該組播報(bào)文到達(dá)的接口,那么路由器就將這個(gè)組播組信息記錄到它的內(nèi)部路由表(指明該組數(shù)據(jù)報(bào)文應(yīng)該發(fā)送的接口)中,并且將這個(gè)組播報(bào)文向其他鄰近路由器轉(zhuǎn)發(fā)。如果這個(gè)組播報(bào)文的到達(dá)接口不是該路由器到發(fā)送源的最短路徑的接口,那么將丟棄這個(gè)報(bào)文。這種機(jī)制稱為反向路徑廣播(Reverse-PathBroadcasting)機(jī)制,它能保證所構(gòu)建的分布樹(shù)中不會(huì)出現(xiàn)環(huán)路,并且從發(fā)送源到所有接收者都是最短路徑。

2.MOSPF

MOSPF協(xié)議是由開(kāi)放最短路徑優(yōu)先(OSPF)協(xié)議擴(kuò)展而成的。OSPF是一種單播路由協(xié)議,通過(guò)選擇最小開(kāi)銷路徑來(lái)轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)文。這里的路徑開(kāi)銷除了包括路徑中的跳步數(shù)外,還有其他的網(wǎng)絡(luò)性能參數(shù),如負(fù)載狀況、應(yīng)用程序的服務(wù)質(zhì)量(QoS)要求等。

MOSPF也是密集模式組播路由協(xié)議,它以O(shè)SPF協(xié)議為基礎(chǔ)。在一個(gè)OSPF/MOSPF網(wǎng)絡(luò)中,每個(gè)路由器都要維持一個(gè)最新的全網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖,并通過(guò)“鏈路狀態(tài)”信息來(lái)構(gòu)建組播分布樹(shù)。

每個(gè)MOSPF路由器都通過(guò)IGMP協(xié)議周期性收集組播組成員關(guān)系信息,這些信息和鏈路狀態(tài)信息將發(fā)送給其路由域中的其他所有路由器。路由器將根據(jù)從鄰近路由器接收到的這些信息更新其內(nèi)部連接狀態(tài)信息。由于每個(gè)路由器都清楚整個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),因而就能夠獨(dú)立地計(jì)算出一個(gè)最小開(kāi)銷分布樹(shù),將組播發(fā)送源和組播組成員分別作為樹(shù)的根和葉子,利用這個(gè)分布樹(shù)將組播數(shù)據(jù)流從發(fā)送源發(fā)送到組播組成員。

3.PIM-DM

協(xié)議獨(dú)立組播(PIM)協(xié)議是一種標(biāo)準(zhǔn)的組播路由協(xié)議,能夠在Internet上提供可擴(kuò)展的域間組播路由,而不依賴于任何單播協(xié)議。PIM有兩種運(yùn)行模式:一種是密集分布組播組模式,另一種是稀疏分布組播組模式。前者稱為PIM-DM,后者稱為PIM-SM。

PIM-DM與DVMRP有些類似,都使用反向路徑組播機(jī)制來(lái)構(gòu)建分布樹(shù)。它們之間的主要不同是PIM完全不依賴于網(wǎng)絡(luò)中的單播路由協(xié)議,而DVMRP依賴于DVRP單播路由協(xié)議,并且PIM-DM比DVMRP簡(jiǎn)單。

與所有的密集模式組播路由協(xié)議相同,PIM-DM協(xié)議也是由數(shù)據(jù)驅(qū)動(dòng)的。由于PIM-DM不依賴于任何單播路由協(xié)議,路由器從某個(gè)接口接收到的組播報(bào)文被發(fā)送到所有下行接口,直到從樹(shù)中的分枝被修剪掉。DVMRP在構(gòu)建分布樹(shù)階段,使用單播協(xié)議所提供的拓?fù)湫畔⒂羞x擇性地向下行接口發(fā)送報(bào)文。PIM-DM更加傾向于簡(jiǎn)單性和獨(dú)立性,甚至不惜增加報(bào)文復(fù)制所引起的額外開(kāi)銷。

4.CBT在組播組在網(wǎng)絡(luò)中集中分布或者網(wǎng)絡(luò)提供足夠大帶寬的情況下,密集模式組播路由協(xié)議是比較有效的。當(dāng)組播組成員在廣泛區(qū)域內(nèi)稀疏分布時(shí),就需要采用稀疏模式組播路由協(xié)議將組播流量控制在連接組播組成員的鏈路路徑上,而不會(huì)轉(zhuǎn)發(fā)到不相關(guān)的鏈路路徑上,這樣既保證了數(shù)據(jù)傳輸?shù)陌踩帜苡行У乜刂凭W(wǎng)絡(luò)流量和路由器負(fù)載。

CBT是一種稀疏模式組播路由協(xié)議,與密集模式不同的是,它不是為每個(gè)“發(fā)送源—目的組”對(duì)構(gòu)建最短路徑樹(shù),而是只構(gòu)建一個(gè)樹(shù)給組中所有成員共享,這個(gè)樹(shù)也稱為共享樹(shù)。整個(gè)組播組的組播通信量都利用這個(gè)共享樹(shù)進(jìn)行收發(fā),而不論發(fā)送源有多少或者處于什么位置。使用這種共享樹(shù)能夠大大減少路由器中的組播狀態(tài)信息。

CBT共享樹(shù)采用一個(gè)核心路由器來(lái)構(gòu)建這個(gè)樹(shù)。當(dāng)一個(gè)路由器需要加入時(shí),便發(fā)送加入請(qǐng)求報(bào)文給核心路由器,核心路由器接收到加入請(qǐng)求后,返回一個(gè)確認(rèn)報(bào)文,這樣就構(gòu)成了共享樹(shù)的一個(gè)分支。

為了提高效率,并不是每個(gè)加入請(qǐng)求報(bào)文都要傳送給核心路由器。如果一個(gè)加入請(qǐng)求報(bào)文在到達(dá)核心路由器之前先到達(dá)共享樹(shù)上的某個(gè)路由器,則該路由器便可響應(yīng)這個(gè)請(qǐng)求,返回確認(rèn)報(bào)文,將請(qǐng)求加入的路由器連接到共享樹(shù),而不再繼續(xù)向前轉(zhuǎn)發(fā)加入請(qǐng)求報(bào)文。

CBT將組播流量集中在最少數(shù)量的鏈路上,而不是集中在一個(gè)基于發(fā)送源的共享樹(shù)上,有利于實(shí)現(xiàn)核心路由器的流量負(fù)載平衡。

5.PIM-SM

PIM-SM也將組播限制在需要收發(fā)的路由器上。PIM-SM圍繞一個(gè)處于匯合點(diǎn)(RP)的路由器來(lái)構(gòu)建組播分布樹(shù)。這個(gè)RP的作用與CBT核心路由器基本相同,接收者在RP能查找到新的發(fā)送源。但是PIM-SM比CBT更靈活,CBT的樹(shù)通常是組播組共享樹(shù),PIM-SM中的獨(dú)立接收者可以選擇是構(gòu)建組共享樹(shù)還是最短路徑樹(shù)。

PIM-SM最初先為組播組構(gòu)建一個(gè)組共享樹(shù),這個(gè)樹(shù)由連接到RP的發(fā)送者和接收者共同構(gòu)建,就像CBT協(xié)議圍繞著核心路由器來(lái)構(gòu)建共享樹(shù)一樣。當(dāng)這個(gè)共享樹(shù)建立后,一個(gè)接收者(實(shí)際上是鄰近這個(gè)接收者的路由器)可以選擇通過(guò)最短路徑樹(shù)來(lái)改變到發(fā)送源的連接。這個(gè)過(guò)程是通過(guò)向發(fā)送源發(fā)送一個(gè)PIM加入請(qǐng)求報(bào)文完成的。一旦從發(fā)送源到接收者的最短路徑建立起來(lái),即可通過(guò)RP修剪掉外部分支。

6.域間路由協(xié)議現(xiàn)有組播路由協(xié)議很難跨越非組播路由器提供域間(Inter-Domain)路由功能,雖然PIM-SM協(xié)議利用單播路由協(xié)議構(gòu)建組播樹(shù)并且加入消息也能到達(dá)非組播路由器,但在域間使用PIM-SM還存在以下問(wèn)題:不同域的實(shí)體之間一般不存在信任關(guān)系,因此很難交換路由信息。針對(duì)這個(gè)問(wèn)題的一個(gè)過(guò)渡解決方案是結(jié)合使用MBGP(Multi-protocolextensionsforBGP)、MSDP(MulticastSourceDiscoveryProtocol)協(xié)議和PIM-SM。

MBGP協(xié)議允許為不同協(xié)議維護(hù)多個(gè)路由表,使得路由器能分別為單播路由器和組播路由器構(gòu)造路由表。通過(guò)MBGP和PIM-SM可繞過(guò)單播路由器發(fā)送加入消息。

MSDP協(xié)議解決了ISP間的獨(dú)立性問(wèn)題,為每個(gè)域建立組共享樹(shù),不同域間的RP通過(guò)MSDP實(shí)現(xiàn)互連。該方案由于要求域中的每個(gè)RP都要維持所有發(fā)送源信息,因此伸縮性較差。

BGMP(BorderGatewayMulticastProtocol)的目標(biāo)是提供一個(gè)解決域間組播的長(zhǎng)期方案,草案的基本思想是使用一個(gè)根節(jié)點(diǎn)在域間建立雙向共享樹(shù),并允許接收域根據(jù)需要建立特定源域間分支,BGMP的基本設(shè)想是域間的依賴性可以通過(guò)嚴(yán)格的地址分配方案來(lái)消除。

8.2.4IPv6組播技術(shù)

IPv6保留了組播通信,而取消了廣播通信,并且為了更好地使用和管理組播應(yīng)用,

IPv6對(duì)組播作了進(jìn)一步的增強(qiáng),主要表現(xiàn)在組播地址和MLD協(xié)議方面。

1.組播地址在6.3.3節(jié)中詳細(xì)介紹了IPv6的組播地址格式。從組播地址格式可以看出,IPv6的組播功能要優(yōu)于IPv4的,主要表現(xiàn)為:

(1)地址空間大。IPv4定義的組播地址空間只相當(dāng)于16個(gè)A類地址,這對(duì)于全球的組播應(yīng)用來(lái)說(shuō)是遠(yuǎn)遠(yuǎn)不夠的。而IPv6定義的組播地址空間最大可達(dá)到2120個(gè)。

(2)范圍字段的應(yīng)用。組播地址不同于單播地址,它不專屬于某一個(gè)主機(jī)或應(yīng)用,除了少數(shù)為協(xié)議實(shí)現(xiàn)而預(yù)留的地址外,其他地址都是根據(jù)需求動(dòng)態(tài)地分布給組播用戶的。這樣可能會(huì)出現(xiàn)一個(gè)組播地址同時(shí)被多個(gè)組播應(yīng)用所使用的情況,這就需要保證它們之間的傳播范圍不能重疊。IPv4雖然使用了TTL(報(bào)文存活期)來(lái)控制組播報(bào)文傳送的范圍,但是TTL不夠精確,還可能存在不同應(yīng)用間報(bào)文范圍重疊的情況。IPv6在地址格式中規(guī)定了范圍字段,這樣就可以很方便地劃分組播域,根據(jù)組播域來(lái)控制組播應(yīng)用的傳播范圍。

每個(gè)組播域有自己的組播地址空間,該地址空間的組播報(bào)文只在本組播域中轉(zhuǎn)發(fā),域的邊界路由器不向域外轉(zhuǎn)發(fā)該地址空間的組播報(bào)文。這樣可以劃分范圍從小到大、依次包含的多層次組播域,即多個(gè)處于相同層次的范圍較小的組播域組成一個(gè)更高層次、范圍較大的組播域。不同層次的組播域的組播地址空間不相互重疊,相同層次的組播域可以有相同的組播地址空間,其優(yōu)點(diǎn)在于用戶可以根據(jù)自己的要求選擇使用適當(dāng)組播域的組播地址,使組播報(bào)文在期望范圍內(nèi)轉(zhuǎn)發(fā),以保證組播應(yīng)用的有序運(yùn)行。

2.MLD協(xié)議

MLD協(xié)議是從IGMPv2協(xié)議中派生出來(lái)的,專門用于IPv6組播組管理,其主要功能為:路由器利用MLD協(xié)議發(fā)現(xiàn)直接相連的鏈路上是否有組播組成員,以及相鄰的路由器有哪些組播地址正在監(jiān)聽(tīng)。IPv6路由器上運(yùn)行的組播路由協(xié)議根據(jù)這些信息將組播報(bào)文正確地發(fā)送給接收者。

8.3應(yīng)用層組播技術(shù)

8.3.1應(yīng)用層組播的基本概念應(yīng)用層組播的基本思想是將組成員組織成一個(gè)覆蓋網(wǎng)絡(luò),通過(guò)組成員之間的協(xié)作實(shí)現(xiàn)高效、可靠的數(shù)據(jù)傳輸服務(wù)。應(yīng)用層組播將組播功能由路由器實(shí)現(xiàn)遷移至端主機(jī)應(yīng)用層實(shí)現(xiàn),即組成員主機(jī)在接收?qǐng)?bào)文的同時(shí),還將報(bào)文復(fù)制并傳遞給其他組成員主機(jī),實(shí)現(xiàn)了應(yīng)用層的數(shù)據(jù)組播(而報(bào)文在網(wǎng)絡(luò)層實(shí)際是用單播機(jī)制傳送的)。圖8.2給出了應(yīng)用層組播模型,其中,圖8.2(a)是一個(gè)實(shí)際網(wǎng)絡(luò)的物理拓?fù)?;圖8.2(b)是由組成員主機(jī)組成的覆蓋網(wǎng)絡(luò)以及利用覆蓋網(wǎng)絡(luò)進(jìn)行應(yīng)用層組播;圖8.2(c)是應(yīng)用層組播在實(shí)際網(wǎng)絡(luò)的網(wǎng)絡(luò)層所產(chǎn)生的流量。

圖8.2應(yīng)用層組播模型(a)物理拓?fù)洌?b)覆蓋網(wǎng)絡(luò)組播;(c)網(wǎng)絡(luò)層流量

應(yīng)用層組播與IP組播的主要差別有:

(1)報(bào)文轉(zhuǎn)發(fā)位置。應(yīng)用層組播數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)是覆蓋網(wǎng)絡(luò)中的終端主機(jī),而IP組播的報(bào)文轉(zhuǎn)發(fā)必須由核心路由器來(lái)處理。

(2)網(wǎng)絡(luò)拓?fù)涞膭?chuàng)建方法。應(yīng)用層組播的覆蓋網(wǎng)絡(luò)是由節(jié)點(diǎn)間直連而成的一個(gè)邏輯網(wǎng)絡(luò),完全隱藏了底層的物理網(wǎng)絡(luò)拓?fù)洹_@種覆蓋網(wǎng)絡(luò)拓?fù)涫峭耆煽氐?,且可以利用一些特定的技術(shù)對(duì)網(wǎng)絡(luò)拓?fù)溥M(jìn)行優(yōu)化。而在IP組播中,路由器是預(yù)先部署的,因此網(wǎng)絡(luò)拓?fù)潆y以控制和改變。

(3)組成員關(guān)系維護(hù)。IP組播的組成員關(guān)系信息分布于組播路由器,而應(yīng)用層組播的成員關(guān)系由系統(tǒng)中的匯合點(diǎn)(RP)集中控制或完全分散于各個(gè)節(jié)點(diǎn)。

8.3.2應(yīng)用層組播協(xié)議與IP組播協(xié)議不同,應(yīng)用層組播協(xié)議不僅要提供有效的數(shù)據(jù)組播分發(fā)樹(shù),還要針對(duì)節(jié)點(diǎn)的動(dòng)態(tài)特性提供可靠的組管理算法,有效避免覆蓋網(wǎng)絡(luò)的割裂。通常,應(yīng)用層組播協(xié)議將組播組成員組織成兩種拓?fù)浣Y(jié)構(gòu):控制拓?fù)?ControlTopology)和數(shù)據(jù)拓?fù)?DataTopology)。

1.網(wǎng)優(yōu)先協(xié)議在這種協(xié)議中,首先將組成員組織成一個(gè)連通的網(wǎng)狀拓?fù)?,即控制拓?fù)洌我鈨蓚€(gè)節(jié)點(diǎn)之間存在多條通路;然后通過(guò)路由算法在網(wǎng)狀拓?fù)渖辖⒁粋€(gè)指定源的組播分發(fā)樹(shù)(Source-SpecificTree)。該方法的特點(diǎn)是網(wǎng)狀拓?fù)滹@式生成,而組播樹(shù)的建立依賴于具體的路由算法和網(wǎng)狀拓?fù)?,因此網(wǎng)狀拓?fù)滟|(zhì)量將直接影響組播樹(shù)的性能?;诰W(wǎng)優(yōu)先算法的組播協(xié)議有Narada、Scattercast等。

1)控制拓?fù)洚?dāng)一個(gè)新成員加入時(shí),該成員將從某一個(gè)匯合點(diǎn)(RP)上獲得所有已加入的組成員列表,RP保存有所有已加入成員的信息,然后隨機(jī)選擇部分成員作為自己的鄰接點(diǎn)。當(dāng)至少有一個(gè)成員成為這個(gè)新成員的鄰接點(diǎn)時(shí),該新成員便加入到這個(gè)組播組。加入成功后,該新成員開(kāi)始和它的所有鄰接點(diǎn)交換狀態(tài)信息。在Narada中,每個(gè)成員都會(huì)保留所有組其他成員的信息,當(dāng)組成員發(fā)生改變時(shí),改變信息將會(huì)通過(guò)控制拓?fù)鋫鬏斀o所有成員,從而提高了整個(gè)系統(tǒng)的健壯性。每個(gè)成員也會(huì)周期性地產(chǎn)生一個(gè)狀態(tài)更新消息來(lái)發(fā)布自己所保留的所有成員狀態(tài)信息,因此也增加了網(wǎng)絡(luò)負(fù)載。

2)數(shù)據(jù)拓?fù)?/p>

Narada的數(shù)據(jù)拓?fù)鋵?shí)際上是控制拓?fù)涞纳蓸?shù),它使用了距離矢量路由選擇(DVR)協(xié)議來(lái)使每個(gè)成員得到整個(gè)網(wǎng)絡(luò)的路由信息:成員間定時(shí)地交換路由信息,其中包括到每個(gè)其他成員的路由開(kāi)銷和相應(yīng)的路由,并且只和相鄰成員交換這種信息。Narada的數(shù)據(jù)拓?fù)涫遣捎妙愃朴贒VMRP的反向路徑轉(zhuǎn)發(fā)算法在每個(gè)接收者和源點(diǎn)間通過(guò)計(jì)算得到的。

3)控制拓?fù)涞膬?yōu)化由于數(shù)據(jù)傳輸路徑直接是從網(wǎng)狀拓?fù)涞玫降?,因此網(wǎng)狀拓?fù)渲械倪B接質(zhì)量會(huì)直接影響最后得到的數(shù)據(jù)傳輸路徑。又由于成員的加入和離開(kāi)、網(wǎng)絡(luò)環(huán)境的變化等都會(huì)影響到拓?fù)涞馁|(zhì)量,因此Narada將周期性地對(duì)控制拓?fù)溥M(jìn)行優(yōu)化:每個(gè)成員會(huì)定期與隨機(jī)選出的多個(gè)成員進(jìn)行傳輸延遲測(cè)量,根據(jù)這些測(cè)量結(jié)果,利用最佳化算法來(lái)保持疊加網(wǎng)絡(luò)成員間路徑的最佳化。

2.樹(shù)優(yōu)先協(xié)議與網(wǎng)優(yōu)先協(xié)議不同的是,樹(shù)優(yōu)先協(xié)議首先根據(jù)各節(jié)點(diǎn)的局部信息建立一個(gè)共享樹(shù),之后各個(gè)組成員從覆蓋樹(shù)中尋找非鄰接節(jié)點(diǎn),并建立和維護(hù)到這些節(jié)點(diǎn)的控制鏈路。這些額外的控制鏈路和共享樹(shù)中的連接鏈路共同構(gòu)成控制拓?fù)洹5湫偷臉?shù)優(yōu)先協(xié)議有Yoid、ALMI、HMTP等。下面以Yoid協(xié)議為例進(jìn)行介紹。

1)數(shù)據(jù)拓?fù)渌谢跀?shù)據(jù)拓?fù)鋬?yōu)先方法的組播協(xié)議都會(huì)創(chuàng)建一個(gè)共享的數(shù)據(jù)傳輸拓?fù)錁?shù),每個(gè)成員的任務(wù)就是找到適合于自己的父節(jié)點(diǎn)。Yoid協(xié)議直接建立數(shù)據(jù)傳輸樹(shù),為了使組播達(dá)到更好的性能,它將對(duì)樹(shù)的結(jié)構(gòu)給出直接的限制,如每個(gè)成員節(jié)點(diǎn)的度、鄰接點(diǎn)的選擇等。當(dāng)有新成員需要加入時(shí),它會(huì)查詢RP得到的已加入成員的信息,然后新成員通過(guò)這些信息找到合適的父節(jié)點(diǎn)。如果一個(gè)節(jié)點(diǎn)要成為這個(gè)新成員的合適的父節(jié)點(diǎn),則必須滿足兩個(gè)條件:一是作為新成員的父節(jié)點(diǎn),在數(shù)據(jù)拓?fù)渖喜荒艹霈F(xiàn)循環(huán);二是新成員所連接的子節(jié)點(diǎn)數(shù)量不能過(guò)多。如果新成員找到了多個(gè)合適的父節(jié)點(diǎn),那么它將根據(jù)實(shí)際的量度來(lái)找出最合適的一個(gè)父節(jié)點(diǎn)。由于每個(gè)成員都會(huì)選擇一定數(shù)量的子節(jié)點(diǎn),因此有可能加長(zhǎng)樹(shù)的深度,出現(xiàn)較長(zhǎng)的數(shù)據(jù)傳輸路徑。

2)控制拓?fù)錇榱朔乐褂捎谀硞€(gè)非葉節(jié)點(diǎn)的意外斷開(kāi)而使得整個(gè)數(shù)據(jù)傳輸樹(shù)被分割,Yoid協(xié)議中的每個(gè)成員會(huì)在數(shù)據(jù)傳輸拓?fù)渖想S機(jī)選取一些非父節(jié)點(diǎn)來(lái)填加到各自的連接中,這樣便組成了控制拓?fù)洹?/p>

3.隱式協(xié)議隱式協(xié)議在定義控制拓?fù)浜蛿?shù)據(jù)拓?fù)鋾r(shí)沒(méi)有嚴(yán)格的先后次序。隱式協(xié)議創(chuàng)建具備某些特殊屬性的控制拓?fù)?,這些特殊屬性隱含地定義了數(shù)據(jù)傳遞的規(guī)則,從而隱含地確定了組播路徑。可以看出,隱含協(xié)議同時(shí)定義了網(wǎng)格和樹(shù),因而不需要通過(guò)組成員之間的交互來(lái)從控制拓?fù)渲挟a(chǎn)生數(shù)據(jù)拓?fù)?,或者將?shù)據(jù)拓?fù)鋽U(kuò)充為控制拓?fù)洹5湫偷碾[式協(xié)議有NICE、Scribe和CAN-multicast等。

隱式協(xié)議將把所有的成員節(jié)點(diǎn)組織到一個(gè)層次拓?fù)浣Y(jié)構(gòu)中,參見(jiàn)圖8.3。所有的成員節(jié)點(diǎn)都以簇的形式組織到第0層(L0)中。每個(gè)簇包含一組互相距離最近的節(jié)點(diǎn),距離的量度可以是帶寬、延時(shí)等。每一個(gè)簇都會(huì)有一個(gè)中心,這個(gè)中心到簇內(nèi)其他節(jié)點(diǎn)的距離最近,使新加入的成員能夠通過(guò)盡可能少的查詢找到適合自己的簇。每個(gè)簇選出中心后,使這些中心組成第1層(L1)。在圖8.3中,L0層的簇是{A,B,C,D}、{E,F(xiàn),H,G}、{J,L,M,K},其中C、F、M分別為這3個(gè)簇的中心,由它們組成了L1層。L1層只包括一個(gè)簇{C,F(xiàn),M},其中F又是這個(gè)簇的中心,于是出現(xiàn)了第2層(L2)。以此類推,最高層只有一個(gè)成員。

圖8.3隱式協(xié)議的層次拓?fù)浣Y(jié)構(gòu)

綜上所述,隱式協(xié)議的基本特性如下:

(1)一個(gè)成員在每一層只能屬于一個(gè)簇。

(2)如果某個(gè)成員出現(xiàn)在第Li層,那么它也一定出現(xiàn)在Li-1,…,L0層,并且是這些層所在簇的中心點(diǎn)。

(3)如果某成員沒(méi)有出現(xiàn)在第Li層,那么它也不會(huì)出現(xiàn)在第Lj層,其中j>i。

(4)每個(gè)簇的大小都限制在(k,3k-1),k為常數(shù)。其中心就是簇的中心點(diǎn)。

(5)整個(gè)層次結(jié)構(gòu)最多有l(wèi)ogN層,且最高層只有一個(gè)成員。

1)控制拓?fù)淇梢允褂脤哟瓮負(fù)鋱D來(lái)定義控制拓?fù)浜蛿?shù)據(jù)拓?fù)?。在控制拓?fù)渲?,每個(gè)簇中的每個(gè)成員都保留有所屬簇中其他成員的狀態(tài)信息,并且相互周期地交換這些狀態(tài)信息,以確保所有成員都能快速地對(duì)成員變化做出反應(yīng),并能夠快速地修復(fù)被損壞的拓?fù)浣Y(jié)構(gòu)。當(dāng)一個(gè)新成員加入到這個(gè)組中時(shí),它會(huì)被分配到L0中離它最近的簇中。首先,新成員詢問(wèn)RP,RP返回最高層的

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論