IP組播技術簡介
發表于:2007-07-02來源:作者:點擊數:
標簽:
IP組播是IP的擴展。IP組播在局域網或廣域網上將IP數據包從一個發送者傳送到一組接收者而不是一個接收者,并且依靠 網絡 將數據包只傳送給需要接收它的網絡。 1.1 IP數據包傳輸類型 IPv4定義了3種IP數據包的傳輸:單播(unicast)、廣播(broadcast)和組播(m
IP組播是IP的擴展。IP組播在局域網或廣域網上將IP數據包從一個發送者傳送到一組接收者而不是一個接收者,并且依靠
網絡將數據包只傳送給需要接收它的網絡。
1.1
IP數據包傳輸類型
IPv4定義了3種IP數據包的傳輸:單播(unicast)、廣播(broadcast)和組播(multicast).單播用于發送數據包到單個目的地,這種傳輸是最常見的IP傳輸,單播實際上是點對點的;廣播是指發送數據包到同一廣播域或子網內的所有設備。組播指的是在Inte
.net網上對一組IP站點進行數據傳送,這一組IP站點是動態形成的,每一個IP站點都可以動態地加入或者退出這個組.
運行TCP/IP協議集的有組播能力的節點可以接收組播消息。Internet標準委員會IETF在1992年建立了一個Internet上IP組播的主干,并命名為Mbone,用來進行IP組播的實驗.
單播與組播的IP數據包的傳輸如圖1.1和圖1.2所示。
比較一下這兩種數據的傳輸方式可以發現,當一臺主機向多個用戶發送信息時,單播對于每一個用戶都要發送一份數據的拷貝,而組播總共只需發送一份數據的拷貝。這樣,組播的使用就大大的節省了帶寬,減輕了網絡的負載,從而更加有效的利用了網絡的帶寬資源.
1.2 組播的地址
IP組播和單播的目的地址不同,IP組播的目的地址是組地址——D類地址.D類地址是從224.0.0.0到239.255.255.255之間的IP地址,其中224.0.0.0到224.0.0.255是被保留的地址,224.0.0.1表示子網中所有的組播組,
224.0.0.2表示子網中的所有路由器,224.0.0.5表示OSPF(Open
Shortest
Path
First)路由器,224.0.0.6表示OSPF指定路由器,224.0.0.12表示DHCP(Dynamic
Host
Configuration
Protocol)
服務器.
D類地址是動態分配和恢復的瞬態地址.每一個組播組對應于動態分配的一個D類地址;當組播組結束組播時,相對應的D類地址將被回收,用于以后的組播.在D類地址的分配中,IETF建議遵循以下的原則:
全球范圍:224.0.1.0~238.255.255.255;
有限范圍:239.0.0.0~239.255.255.255;
本地站點范圍:239.253.0.0~239.253.0.16;
本地機構范圍:239.192.0.0~239.192.0.14.
1.3 IGMP協議及其應用
IGMP是組播中的一個非常重要的協議,它運行在IP站點和它所在的子網多點路由器之間,用來控制組播組成員的加入和退出.
1.3.1
IGMP協議
IGMP協議即因特網組管理協議,它位于IP層(圖3.
1.1),用來幫助路由器識別組播組中的主機成員。
IGMP使用預留的組播組地址224.0.0.1與本地路由器通信。被稱為所有主機組的組播組在局域網中尋址所有的主機。正是通過這一渠道,IP組播路由器知道是否有主機加入到這一特定局域網的一個組播組。路由器在局域網中向這一地址發送IGMP詢問,主機通過告訴它們想要連到哪個組來響應。IGMPv1有兩種類型的消息:匯報(Report)和詢問(Query)。匯報消息由主機發往路由器,詢問消息由路由器發往主機。(圖3.1.2)
1.3.2
IGMP協議的應用
組播組的加入
每個具有組播能力的主機都保留有一個具有組播組成員身份的進程表。當一個進程想加入一個新的組播組,它就向主機發送請求信息。主機就把進程的名字和接收請求的組播組的名字加入這個進程表。需要注意的是,主機只有在確認這是要求獲得該組播組成員身份的第一個請求時才向組播路由器發送一條IGMP信息。換句話說,一個主機對于一個特定組播組身份的請求信息只發送一次。這是一種由接收方來初始化的加入方法,在組播組的數據越來越多的時候,這種方法可以使新加入的組播組成員盡快找到離它很近的組播組的分支,從而加入組播組.
組播組成員身份的監視
組播路由器負責監視一個組播組中的所有成員,看他們是否想繼續它們在組播組中的成員身份。組播路由器定時的發送詢問信息到組播地址224.0.0.1.在這條信息中,組地址域設定為0.0.0.0.這意味著這種詢問是面向一個主機所在所有組播組,而不是一個組播組。組播路由器希望從每一個組播組都獲得一個應答
組播組成員身份的繼續
具有組播能力的主機保留有一個想繼續組播組成員身份的進程表。當一個主機接收到一個由組播路由器發出的詢問信息,它就檢查一下它所保留的進程表。對于每一個組播組,如果至少有一個進程想繼續組播組成員身份,主機就必須向組播路由器發送一條報告信息。需要注意的是這種為了響應詢問消息而發送的報告信息是為了確認對組播組成員身份的繼續而不是為了作為新的成員加入組播組。而且為了使不同的組播組中的成員身份得以繼續,對于不同的組播組就必須分別發送報告信息。
組播組成員的退出
在IGMPv1中,當每一個主機離開某一個組播組時,它不通知任何組播路由器就自然地離開,組播路由器定時(如120秒)向IP子網中的所有組播組詢問,如果某一個組播組在IP子網中已經沒有任何成員,則組播路由器在確認這一事件后,不再將該組播組的數據在子網中進行傳送,同時通過路由信息的交換,將相應的組播路由器從特定的組播組分配樹中刪除.這種不通知任何人而悄悄離開的方法,使得組播路由器知道IP子網中已經沒有任何成員的事件延時了一段時間,所以在IGMPv2中,當每一個主機要離開某一個組播組時,需要通知子網組播路由器,組播路由器立即向IP子網中的所有組播組詢問,從而減少了系統處理停止組播的延時.離開組播組時主機要發送信息這一點是IGMP
Version
2和IGMP
Version
1的主要區別。
1.4 組播的路由
具有組播能力的網絡由支持本地組播的局域網通過具有組播能力的路由器連接而成。IP組播路由的關鍵是為每一個組播組建立組播的分配樹,當組播的分配樹建立好時,每個組播路由器只要將該組的數據沿著分配樹進行傳播就可以了。
根據網絡上組播組成員的分布情況,組播路由協議可分為兩大類。
第一類是建立在組播組成員在網絡上的分布比較密集并且帶寬比較充足的基礎上的。此種模式稱為密集模式。密集模式組播路由協議包括距離向量組播路由協議(Distance
Vector
Multicast
Routing
Protocol,
DVMRP),組播開放最短路徑優先協議(Multicast
Open
Shortest
Path
First,
MOSPF),密集模式獨立組播協議(Protocol-independent
Multicast-Dense
Mode,
PIM-DM)。
第二類組播路由協議是建立在組播組成員的分布比較稀疏并且帶寬并不是很充足的基礎上的,比如說由Internet上不同區域的主機相連的組播網絡或通過ISDN線連起來的主機網絡。這種稀疏模式并不意味著組播組中的成員很少,它只是表明組播組中成員的分布比較稀疏。稀疏組播路由協議包括基準樹協議(Core
Based
Trees,
CBT),稀疏模式獨立組播協議(Protocol-independent
Multicast-Sparse
Mode,
PIM-SM)。
1.5組播骨干網
組播的規范是在1989年出版的,但是它的使用受到了限制。Internet上的路由器目前并不是都具有組播的能力。在這樣一種情況下,研究者們為了在現有情況下
開發和
測試組播協議的應用,建立了組播骨干網(Multicast
Backbone,Mbone)。Mbone支持組播分組的路由選擇而不打擾其它的因特網業務流。
Mbone是一種跨越幾個大陸的,由志愿者合作完成的實驗性的網絡。它是一個相互連接的子網和路由器的集合,這些子網和路由器支持IP組播業務流的傳送。作為因特網上的虛擬網絡,Mbone通過隧道(Tunneling)來旁路因特網上無組播能力的路由器。
隧道把組播數據包封裝在IP包(即單播數據包)中來通過哪些不支持組播路由的網絡。如圖5所示,MR3和MR4是支持IGMP協議的有組播能力的路由器,他們把組播數據包封裝在單播數據包中來發送,同時它們還從收到的單播數據包中取出組播數據包。R1和R2是沒有組播能力的路由器,它們像傳送其它普通單播數據包那樣來傳送封裝有組播數據包的單播數據包。
1.6交互式的IP組播
IP組播的最大的用處就是用來做Internet上的音頻和
視頻的傳輸,比如向成百上千的使用者發送音頻和視頻數據流??墒莻鹘y的IP組播的有一個最大的缺點就是這些所有的使用者都是被動的接受者。換句話說,IP
組播并沒有讓這些使用者進行交互式主動參與的內置機制。利用H.323國際標準中對會議成員的管理技術,SAP(Session
Announcement
Protocol),SDP(Session
Description
Protocol),RTCP(Real-time
Transport
Control
Protocol)等協議,就可以使傳統的IP組播技術具有交互功能。如圖6所示
交互式IP組播技術應用范圍很廣,特別是Internet上多媒體的傳輸業務。比如視頻會議,遠程教育,Internet上的視頻點播(VoD)等。
,
原文轉自:http://www.kjueaiud.com