Posted on 2006-04-03 09:11
Tauruser 閱讀(563)
評(píng)論(3) 編輯 收藏 引用
最近學(xué)校網(wǎng)絡(luò)中心的網(wǎng)絡(luò)電視服務(wù)正在準(zhǔn)備升級(jí),將采用組播的形式?組播是什么?會(huì)不會(huì)對(duì)我這個(gè)學(xué)期的創(chuàng)新計(jì)劃有影響?之前只是聽?zhēng)熜謧冋f(shuō)用,在校園網(wǎng)內(nèi)采用組播形式的網(wǎng)絡(luò)電視效果,和對(duì)網(wǎng)絡(luò)的負(fù)載比基于P2P的網(wǎng)絡(luò)電視更好。Gogle了一下組播。在http://www.chinavideoonline.com/lmtchangshi/lmtchangshi_011.htm發(fā)現(xiàn)了組播比較詳細(xì)的介紹。轉(zhuǎn)載如下:
流媒體技術(shù)基礎(chǔ)-組播
作者/來(lái)源:未知
7.2.2 組播概述
組播中,支持IGMP接收者主機(jī)給路由器發(fā)送一個(gè)成員活動(dòng)報(bào)告,如加入或離開組,路由器使用這個(gè)信息有選擇的傳送數(shù)據(jù)到有關(guān)主機(jī)所在網(wǎng)絡(luò)。源發(fā)送一個(gè)單獨(dú)的報(bào)文到一個(gè)組地址,如路徑在一個(gè)路由器上分支,也只給加入組的分支產(chǎn)生一個(gè)報(bào)文。源主機(jī)不需要發(fā)送報(bào)文的多個(gè)拷貝。這樣就減少了用于多目標(biāo)數(shù)據(jù)傳送所消耗的帶寬和資源。
組播傳輸可在數(shù)據(jù)鏈路層(第二層)和網(wǎng)絡(luò)層(第三層)實(shí)現(xiàn),支持的媒體類型包括以太網(wǎng)、FDDI和ATM。大多數(shù)路由器提供商支持IP組播,不支持IP組播的網(wǎng)絡(luò)通過(guò)組播隧道技術(shù)傳輸組播信息包。
組播用戶根據(jù)提供服務(wù)級(jí)別,組成一個(gè)分層結(jié)構(gòu),如圖3.10所示。內(nèi)容提供商傳遞新聞、電視及娛樂(lè)節(jié)目,應(yīng)用軟件開發(fā)商創(chuàng)建實(shí)時(shí)數(shù)據(jù)分配應(yīng)用系統(tǒng),用于高效、高質(zhì)量的發(fā)布實(shí)時(shí)信息,平臺(tái)及網(wǎng)絡(luò)開發(fā)商開發(fā)、維護(hù)和支持組播硬件與協(xié)議要求,網(wǎng)絡(luò)運(yùn)營(yíng)商提供公共網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)。
圖3.10 用戶類型分層結(jié)構(gòu)
7.2.3 IP組播編址與轉(zhuǎn)換
IPV4組播編址與轉(zhuǎn)換
一個(gè)IP地址由32個(gè)二進(jìn)制單位構(gòu)成,通常劃分8位一組,再將每個(gè)組換算為十進(jìn)制,以小數(shù)點(diǎn)分為四組。IP地址包含網(wǎng)絡(luò)部分和主機(jī)部分。主機(jī)指網(wǎng)絡(luò)通訊的一個(gè)終點(diǎn)位置;而網(wǎng)絡(luò)部分表示一個(gè)或多個(gè)主機(jī)的集合。根據(jù)用于網(wǎng)絡(luò)和主機(jī)的位數(shù),將IP網(wǎng)分為五類,簡(jiǎn)單的命名為A類、B類、C類、D類和E類。其中D類地址范圍在224.0.0.0~239.255.255.255之間,格式如圖3.11所示,用于組播。組地址有兩種類型,永久的和臨時(shí)的。224.0.0.0被保留,不分配給任何組;從224.0.0.1到224.0.0.255范圍的組播地址分配給路由選擇協(xié)議和其它低級(jí)布局與維護(hù)協(xié)議,其中有名的是224.0.0.1和224.0.0.2,前者用來(lái)編址直接連接在網(wǎng)絡(luò)上的所有IP多路廣播主機(jī),后者是給一個(gè)子網(wǎng)上所有路由器的地址;中間范圍從224.0.1.0到238.255.255.255被組播用來(lái)在組、內(nèi)部網(wǎng)和Internet中終端應(yīng)用程序中使用;從239.0.0.0到239.255.255.255指定給本地組播應(yīng)用程序。
0 1 2 3 ... 31

圖3.11 D類地址格式
所有網(wǎng)絡(luò)協(xié)議需要一種方法把第三層的IP網(wǎng)絡(luò)地址轉(zhuǎn)換到第二層的硬件/媒體地址。以以太網(wǎng)為例,數(shù)據(jù)鏈路層需要將D類IP地址映射為以太網(wǎng)MAC地址,方法是將IP組播地址中低23位取代以太網(wǎng)組播地址01:00:5E:00:00:00的低23位,在映射過(guò)程中,組IP地址中有9位不參與替換。作為D類地址,前4位肯定是1110,實(shí)際只有5位是真正不參與映射。由于5為總共有32種不同組合,所以映射并不具有唯一性。在主機(jī)上實(shí)現(xiàn)時(shí),不僅要在第二層對(duì)收到的以太網(wǎng)幀的以太網(wǎng)地址進(jìn)行檢查,也要在第三層檢查組播IP地址,來(lái)判斷數(shù)據(jù)包是否指定到一個(gè)主機(jī)當(dāng)前已加入的組。
IPV6 組播編址
IPV6地址空間為28位,其中1/256的地址空間分配給組播地址。IPV6地址地址格式如圖3.12所示。

一個(gè)FF(11111111)值標(biāo)識(shí)該地址是組播地址。標(biāo)識(shí)段高三位始終設(shè)置為0并保留。第四位T標(biāo)識(shí)設(shè)置為0時(shí)表示一個(gè)永久分配的組播地址。T標(biāo)識(shí)設(shè)置為1時(shí),表示非永久分配的組播地址,這種地址作為一個(gè)臨時(shí)的組播地址。范圍值限制了組播的范圍,表3.14列出了這個(gè)四位的組播范圍值。
表3.14 組播地址范圍值 值 目標(biāo) 值 目標(biāo) 0 保留 8 本地機(jī)構(gòu) 1 本地結(jié)點(diǎn) 9 未分配 2 本地鏈接 A 未分配 3 未分配 B 未分配 4 未分配 C 未分配 5 本地站點(diǎn) D 未分配 6 未分配 E 全球 7 未分配 F 保留
7.2.4 建立組播組
組播路由器收到指定給一個(gè)組播組的數(shù)據(jù)時(shí),它根據(jù)子網(wǎng)上是否存在組成員和轉(zhuǎn)發(fā)路由器將數(shù)據(jù)轉(zhuǎn)發(fā)給響應(yīng)接口。在主機(jī)和路由器之間使用\"互聯(lián)網(wǎng)組管理協(xié)議\"(IGMP),而在組播路由器之間使用\"距離向量組播路由協(xié)議\"(DVMRP)和\"協(xié)議無(wú)關(guān)組播協(xié)議\"(PIM)。
象ICMP一樣,IGMP是IP不可或缺的部分,它使用IP數(shù)據(jù)包傳輸數(shù)據(jù),其IP協(xié)議號(hào)為2。IGMP報(bào)文被發(fā)送時(shí),TTL為1,并且IP標(biāo)題中包含新的IP路由器警報(bào)可選類型。IGMP報(bào)文類型包括成員查詢報(bào)文、組成員報(bào)告報(bào)文和離開組成員報(bào)文。
IGMP被主機(jī)用來(lái)通知直連的路由器,申請(qǐng)加入或離開一個(gè)組播組;而路由器會(huì)發(fā)出主機(jī)成員資格查詢消息,以判斷是否有主機(jī)屬于某個(gè)組播組的成員,只要有一個(gè)主機(jī)響應(yīng)了此次查詢,路由器就繼續(xù)向此子網(wǎng)發(fā)送組播數(shù)據(jù)。
7.3 組播需解決的問(wèn)題
組播首先要解決廣播給誰(shuí)的問(wèn)題。要按不同應(yīng)用項(xiàng)目(如體育、文藝、娛樂(lè)、學(xué)習(xí)等)進(jìn)行分組,小組成員要向組播服務(wù)器(一般是路由器)進(jìn)行注冊(cè)登記,用戶主機(jī)發(fā)出請(qǐng)示,提出具體組播地址。為發(fā)送一份IP組播數(shù)據(jù)包,發(fā)送者要確定一個(gè)合適的信宿地址,這個(gè)地址代表一個(gè)主組。然后,組播數(shù)據(jù)通過(guò)普通的IP發(fā)送操作發(fā)送出去。
其次要解決的問(wèn)題是收哪個(gè)廣播,有時(shí)在同一網(wǎng)絡(luò)中有多個(gè)組播,每個(gè)廣播選擇國(guó)際規(guī)定的特定地址(組播的IP地址)。發(fā)送端相當(dāng)簡(jiǎn)單,但I(xiàn)P組播和接收端卻十分復(fù)雜。為了接收數(shù)據(jù)包,用戶工作站上的應(yīng)用要申請(qǐng)與特定組播關(guān)聯(lián)的組播主組會(huì)員資格。這種申請(qǐng)傳送到用戶的局域網(wǎng)路由器,如有必要,還要傳送到發(fā)送者和接收者的路由器。這一步完成,接收工作站的網(wǎng)絡(luò)接口卡開始\"偵聽\"與新組播組地址關(guān)聯(lián)的數(shù)據(jù)鏈路層地址。廣域網(wǎng)路由器把請(qǐng)求進(jìn)入的組播數(shù)據(jù)包送往局域網(wǎng)路由器,局域網(wǎng)路由器把主組地址變換成與它相關(guān)的數(shù)據(jù)鏈路層地址,并用這個(gè)地址建立報(bào)文。接收鏈路的網(wǎng)絡(luò)接口卡和網(wǎng)絡(luò)驅(qū)動(dòng)程序偵聽這個(gè)地址,把組播地址傳向TCP/IP協(xié)議堆棧,從而使數(shù)據(jù)適合用戶的應(yīng)用。
第三個(gè)問(wèn)題是用戶主機(jī)在撤銷時(shí)要通知組播服務(wù)器。因?yàn)榻邮战M播的用戶是被動(dòng)的,撤銷時(shí)可能不通知服務(wù)器,這時(shí)服務(wù)器要在一定時(shí)間后向用戶提出詢問(wèn),實(shí)施問(wèn)答程序,若無(wú)用戶應(yīng)答,服務(wù)器將主動(dòng)撤銷相應(yīng)的路徑帶寬。
第四是要解決如何廣播問(wèn)題。組播的程序如下:要解決組播路由以啟動(dòng)網(wǎng)絡(luò)。對(duì)于路由器網(wǎng),可利用傳統(tǒng)的路由協(xié)議,選擇路由。所選路由被路由器記憶下來(lái),將來(lái)通過(guò)組播傳送數(shù)據(jù)時(shí)可沿用此路由。對(duì)于多層網(wǎng)絡(luò),因?yàn)镮P不具有低層網(wǎng)絡(luò)的拓?fù)渲R(shí),建立路由的效率很低,多層網(wǎng)中路由也難以達(dá)到全網(wǎng)整體優(yōu)化。對(duì)于標(biāo)記交換網(wǎng)絡(luò),因?yàn)槁酚善髀酚杀韨魉偷臄?shù)據(jù)包標(biāo)頭字段以及ATM上的標(biāo)記信息庫(kù)已通過(guò)標(biāo)記聯(lián)編,將多層網(wǎng)絡(luò)的第2層與第3層捆綁在一起,IP可以識(shí)別、掌握全網(wǎng)拓?fù)洌衫脗鹘y(tǒng)的路由協(xié)議選擇路由。要建立組播組,明確接收者。要建立組播樹,由與IP路由協(xié)議無(wú)關(guān)的組播協(xié)議構(gòu)建組播樹。組播樹的上游為組播服務(wù)器(路由器),按樹形分叉為各葉片,葉片即為組播路徑,葉尖抵達(dá)組播分組目的地。最后是進(jìn)行數(shù)據(jù)復(fù)制,組播樹分叉處節(jié)點(diǎn)對(duì)轉(zhuǎn)發(fā)的組播包進(jìn)行拷貝、分流。最后一跳,組播包登上局域網(wǎng),以廣播方式傳送到子網(wǎng)內(nèi)各主機(jī)用戶。
7.4 組播路由技術(shù)
單播與組播有兩點(diǎn)不同:
組播時(shí),可能在不同的網(wǎng)絡(luò)上有若干個(gè)地址相同的接受端。
組播通信會(huì)在網(wǎng)絡(luò)中周而復(fù)始的循環(huán),直至這個(gè)包內(nèi)TTL字段為零,即所謂的\"反轉(zhuǎn)路徑轉(zhuǎn)發(fā)\",必須有一個(gè)合理的組播路由協(xié)議結(jié)構(gòu)來(lái)禁止出現(xiàn)這種情況;路由器收到一個(gè)組播包時(shí),就會(huì)查看這個(gè)組播包是否被一個(gè)接口接收,該接口位于組播包返回資源的最短路徑上。
為實(shí)現(xiàn)組播通信,就必須建立支持組播的路由協(xié)議,目前常用的組播路由協(xié)議有距離向量組播路由協(xié)議、協(xié)議無(wú)關(guān)密集模式組播協(xié)議與協(xié)議無(wú)關(guān)分散模式組播協(xié)議。
距離向量組播路由協(xié)議
DVMRP是一個(gè)適用于單個(gè)獨(dú)立系統(tǒng)的內(nèi)部網(wǎng)關(guān)協(xié)議,建立在\"路由信息協(xié)議\"(RIP)基礎(chǔ)上采用本身的動(dòng)態(tài)路由協(xié)議來(lái)進(jìn)行路由交換和路由表的構(gòu)建。一個(gè)DVMRP數(shù)據(jù)由兩部分組成:一個(gè)小的固定長(zhǎng)度的IGMP格式的頭和一個(gè)被標(biāo)記的數(shù)據(jù)流。DVMRP的基本操作包括四項(xiàng)處理:第一個(gè)是處理鄰居查找,用來(lái)查找直接接入一個(gè)普通網(wǎng)絡(luò)的具有DVMRP能力的其他已啟用的路由器。第二個(gè)是處理路由交換,與IGMP聯(lián)合,判斷是否需要在網(wǎng)絡(luò)上轉(zhuǎn)發(fā)組播包,或判斷是否禁止通信包到達(dá)一個(gè)網(wǎng)絡(luò)。最后兩個(gè)處理用于DVMRP動(dòng)態(tài)的在一個(gè)網(wǎng)絡(luò)列表中增加或刪除一個(gè)或多個(gè)網(wǎng)絡(luò)。
一個(gè)支持DVMRP的路由器可以 一個(gè)物理接口直接連接到子網(wǎng),或通過(guò)一個(gè)隧道接口連接到另外一個(gè)組播小島。隧道是用在被一些不支持組播的路由器隔開的兩個(gè)具有多路廣播能力的路由器之間實(shí)現(xiàn)數(shù)據(jù)發(fā)送的一種方法。
協(xié)議無(wú)關(guān)組播協(xié)議(PIM)
PIM協(xié)議的發(fā)展目的是在Internet 上提供足夠規(guī)模的域間組播路由。PIM有兩種兼容的操作模式:密集模式和發(fā)散模式。
密集模式(PIM-DM)
此模式與DVMRP相似,都屬于密集模式協(xié)議,采用了DVMRP一樣的方式,建立PIM-DM環(huán)境中建造起來(lái)的基于資源的組播樹。PIM-DM獨(dú)立于網(wǎng)絡(luò)選擇的IP路由協(xié)議,\"協(xié)議無(wú)關(guān)組播\"由此而得名。
協(xié)議工作原理如下:路由器收到發(fā)自資源的一個(gè)組播包,對(duì)資源IP地址進(jìn)行檢查,進(jìn)而得知在\"反轉(zhuǎn)路徑轉(zhuǎn)發(fā)\"接口是否已收到該組播包。然后,路由器將該組播包流傳到除已收到該包的接口外的各接口。
PIM-DM適用于以下集中情況:
發(fā)送者和接收者非常接近,且只有一小部分發(fā)送者和大量的接收者。
組播的流量大。
組播是持續(xù)的。
協(xié)議無(wú)關(guān)組播協(xié)議----分散模式(PIM-SM)
與PIM-DM相似,兩者都是建立在組播路由協(xié)議基礎(chǔ)上用于決定RPF接口的協(xié)議。PIM-SM協(xié)議假定在網(wǎng)絡(luò)中接收者的人數(shù)很稀疏或者組播組被廣域網(wǎng)分割開。
PIM-SM適用于以下集中情況:
在一個(gè)組里接收者很少。
發(fā)送者和接收者被廣域網(wǎng)分開。
組播流量斷斷續(xù)續(xù)。