組播

組播

組播(Multicast)是一種通訊模式,在傳送者和每一接收者之間實現點對多點網路連線。如果一台傳送者同時給多個的接收者傳輸相同的數據,也只需複製一份的相同數據包。組播提高了數據傳送效率,減少了骨幹網路出現擁塞的可能性。組播路由器定時的傳送詢問信息到組播地址224.0.0.1.在這條信息中,組地址域設定為0.0.0.0.這意味著這種詢問是面向一個主機所在所有組播組,而不是一個組播組。組播協定分為主機-路由器之間的組成員關係協定和路由器-路由器之間的組播路由協定。

基本信息

組播-釋義

多播(原文:multicast,台灣常譯作多點傳輸、多點廣播或群播,中國大陸常譯作組播)是指把信息同時傳遞給一組目的地址。它使用策略是最高效的,因為在訊息在每條網路鏈路上只需傳遞一次,而且只有在鏈路分叉的時,訊息才會被複製。與多播相比,常規的點到單點的傳遞被稱作單播。當以單播的形式把訊息傳遞給多個接收方時,必須向每個接收者都傳送一份數據副本。由此產生的多餘副本將導致傳送方效率低下,且缺乏可擴展性。不過,許多流行的協定——例如XMPP——用限制接收者數量的方法彌補了這一不足。

相關技術

IP組播

組播組播

公共網際網路中的一些團體經常會用到IP組播(Mbone就是一個例子),此外IP組播還被用於Internet2等私有IP網路中的一些特殊套用。鏈路本地組播是指將IP組播包發往處於同一物理的或虛擬的數據鏈路層的若干主機組。由於這種組播不需要複雜的路由,因此其套用要廣泛得多。在IPv6中,它被用於地址解析,而在零配置網路中,它取代了低效的廣播協定,完成服務發現、名字解析和地址衝突解析的功能。

IP組播會議的第一次大規模演示是在1992年3月的第23屆IETF大會上,當時它被用於向全世界的研究人員和感興趣的觀察員們廣播一些會議。之後,IETF的一些會議就被有選擇地繼續在MBONE和一些私有組播網路上多播。

組播安全性是一個重要的問題。標準的、實用的通信安全解決方案一般採用的是對稱加密。但是將其套用於IP組播流量可能會使任何一個接收方都擁有冒充傳送方的能力。這顯然是令人無法接受的。IETF的MSEC工作組正在開發用以解決這一問題的安全協定,這些協定大多都是在IPsec協定集的體系框架內開發的。

IPsec不能被用於組播方案,這是因為IPsec安全關聯是被綁定到兩個而非多個主機的。IETF提出了一個新的協定——TESLA,就組播安全性而言,這個協定是靈活且令人信服的。

IP組播三種的傳遞方式

密集組播

稀疏組播

源特定組播

現在的組播算法往往具備結合前兩種模式的能力。

IP組播技術體系結構

組播組播

組播協定分為主機-路由器之間的組成員關係協定和路由器-路由器之間的組播路由協定。組成員關係協定包括IGMP(互連網組管理協定)。組播路由協定分為域內組播路由協定及域間組播路由協定。域內組播路由協定包括PIM-SM、PIM-DM、DVMRP等協定,域間組播路由協定包括MBGP、MSDP等協定。同時為了有效抑制組播數據在鏈路層的擴散,引入了IGMP Snooping、CGMP等二層組播協定。對組播的技術歷史作出了巨大的貢獻!

IGMP建立並且維護路由器直聯網段的組成員關係信息。域內組播路由協定根據IGMP維護的這些組播組成員關係信息,運用一定的組播路由算法構造組播分發樹進行組播數據包轉發。域間組播路由協定在各自治域間發布具有組播能力的路由信息以及組播源信息,以使組播數據在域間進行轉發。

組播IP位址

組播IP位址用於標識一個IP組播組。IANA(internet assigned number authority)把D類地址空間分配給IP組播,其範圍是從224.0.0.0到239.255.255.255。如下圖所示(二進制表示),IP組播地址前四位均為1110八位組⑴ 八位組⑵ 八位組⑶ 八位組⑷1110

XXXX XXXXXXXX XXXXXXXX XXXXXXXX組播組可以是永久的也可以是臨時的。組播組地址中,有一部分由官方分配的,稱為永久組播組。永久組播組保持不變的是它的ip地址,組中的成員構成可以發生變化。永久組播組中成員的數量都可以是任意的,甚至可以為零。那些沒有保留下來供永久組播組使用的ip組播地址,可以被臨時組播組利用。

224.0.0.0~224.0.0.255為預留的組播地址(永久組地址),地址224.0.0.0保留不做分配,其它地址供路由協定使用。

224.0.1.0~238.255.255.255為用戶可用的組播地址(臨時組地址),全網範圍內有效。

239.0.0.0~239.255.255.255為本地管理組播地址,僅在特定的本地範圍內有效。常用的預留組播地址列表如下:

224.0.0.0 基準地址(保留)

224.0.0.1 所有主機的地址

224.0.0.2 所有組播路由器的地址

224.0.0.3 不分配

224.0.0.4 dvmrp(Distance Vector Multicast Routing Protocol,距離矢量組播路由協定)路由器

224.0.0.5 ospf(Open Shortest Path First,開放最短路徑優先)路由器

224.0.0.6 ospf dr(Designated Router,指定路由器)

224.0.0.7 st (Shared Tree,共享樹)路由器

224.0.0.8 st 主機

224.0.0.9 rip-2 路由器

224.0.0.10 Eigrp(Enhanced Interior Gateway Routing Protocol,增強網關內部路由線路協定)路由器 224.0.0.11 活動代理

224.0.0.12 dhcp 伺服器/中繼代理

224.0.0.13 所有pim (Protocol Independent Multicast,協定無關組播)路由器

224.0.0.14 rsvp (Resource Reservation Protocol,資源預留協定)封裝

224.0.0.15 所有cbt 路由器

224.0.0.16 指定sbm(Subnetwork Bandwidth Management,子網頻寬管理)

224.0.0.17 所有sbms

224.0.0.18 vrrp(Virtual Router Redundancy Protocol,虛擬路由器冗餘協定)

組播組播

239.255.255.255 SSDP協定使用

組播MAC地址

組播MAC地址的高24bit為0x01005e,第25bit為0,即高25bit為固定值。MAC地址的低23bit為組播IP位址的低23bit。由於 IP 組播地址的前4bit 是1110,代表組播標識,而後28bit 中只有23bit 被映射到MAC 地址,這樣IP 地址中就有5bit 信息丟失,導致的結果是出現了32 個IP 組播地址映射到同一MAC 地址上。

組播在網路中的套用

組播組播

在組播方式中,信息的傳送者稱為“組播源”,信息接收者稱為該信息的“組播組”,支持組播信息傳輸的所有路由器稱為“組播路由器”。加入同一組播組的接收者成員可以廣泛分布在網路中的任何地方,即“組播組”沒有地域限制。需要注意的是,組播源不一定屬於組播組,它向組播組傳送數據,自己不一定是接收者。多個組播源可以同時向一個組播組傳送報文。

假設只有 Host B、Host D 和Host E 需要信息,採用組播方式時,可以讓這些主機加入同一個組播組(Multicast group),組播源向該組播組只需傳送一份信息,並由網路中各路由器根據該組播組中各成員的分布情況對該信息進行複製和轉發,最後該信息會準確地傳送給Host B、Host D 和Host E。

組成員關係協定(IGMP)

IGMP協定運行於主機和與主機直接相連的組播路由器之間,主機通過此協定告訴本地路由器希望加入並接受某個特定組播組的信息,同時路由器通過此協定周期性地查詢區域網路內某個已知組的成員是否處於活動狀態(即該網段是否仍有屬於某個組播組的成員),實現所連網路組成員關係的收集與維護。

IGMP有三個版本,IGMPv1由RFC1112定義,目前通用的是IGMPv2,由RFC2236定義。IGMPv3目前仍然是一個草案。IGMPv1中定義了基本的組成員查詢和報告過程,IGMPv2在此基礎上添加了組成員快速離開的機制,IGMPv3中增加的主要功能是成員可以指定接收或指定不接收某些組播源的報文。這裡著重介紹IGMPv2協定的功能。

IGMPv2通過查詢器選舉機制為所連網段選舉唯一的查詢器。查詢器周期性的傳送普遍組查詢訊息進行成員關係查詢;主機傳送報告訊息來應答查詢。當要加入組播組時,主機不必等待查詢訊息,主動傳送報告訊息。當要離開組播組時,主機傳送離開組訊息;收到離開組訊息後,查詢器傳送特定組查詢訊息來確定是否所有組成員都已離開。

通過上述IGMP機制,在組播路由器里建立起一張表,其中包含路由器的各個連線埠以及在連線埠所對應的子網上都有哪些組的成員。當路由器接收到某個組G的數據報文後,只向那些有G的成員的連線埠上轉發數據報文。至於數據報文在路由器之間如何轉發則由路由協定決定,IGMP協定並不負責。

網路二層組播相關協定

網路二層組播相關協定包括IGMP Snooping,IGMP Proxy和CGMP協定。

IGMP Snooping的實現機理是:交換機通過偵聽主機發向路由器的IGMP成員報告訊息的方式,形成組成員和交換機接口的對應關係;交換機根據該對應關係將收到組播數據包只轉給具有組成員的接口。

IGMP Proxy與IGMP Snooping實現功能相同但機理相異:IGMP snooping只是通過偵聽IGMP的訊息來獲取有關信息,而IGMP Proxy則攔截了終端用戶的IGMP請求並進行相關處理後,再將它轉發給上層路由器。

CGMP(Cisco Group Management Protocol)是Cisco基於客戶機/伺服器模型開發的私有協定,在CGMP的支持下,組播路由器能夠根據接收到的IGMP數據包通知交換機哪些主機何時加入和脫離組播組,交換機利用由這些信息所構建的轉發表來確定將組播數據包向哪些接口轉發。GMRP是主機到乙太網交換機的標準協定,它使組播用戶可以在第二層交換機上對組播成員進行註冊。

組播路由協定PIM-SM

眾多的組播路由協定中,目前套用最多的協定是 PIM-SM稀疏模式協定無關組播。

在PIM-SM域中,運行PIM-SM協定的路由器周期性的傳送Hello訊息,用以發現鄰接的PIM路由器,並且負責在多路訪問網路中進行指定路由器(DR)的選舉。這裡,DR負責為其直連組成員朝著組播分發樹根節點的方向傳送"加入/剪枝"訊息,或是將直連組播源的數據發向組播分發樹。

編址

A類 0.0.0.0 - 127.255.255.255

B類 128.0.0.0 - 191.255.255.255

C類 192.0.0.0 - 223.255.255.255

D類 224.0.0.0 - 239.255.255.255

A,B,C類ip包轉發基於目的ip地址。D類(組播地址)包轉發基於源地址。

組播地址的分類

保留——224.0.0.0 - 224.0.0.255

用戶組播地址——224.0.1.0 - 238.255.255.255

本地管理組——239.0.0.0 - 239.255.255.255 (用於私人組播領域,類似私有IP位址)

RPF:

a multicast packet received on an interface will be accepted if received on the interface that would be used to send a unicast ip packet back to the source;this is called reverse path forwarding(RPF).

逆向路徑轉發:

設備在接口上收到組播報文後,如果去往組播源的單播路由也是從該接口學到的,則轉發組播數據,否則丟棄。

有沒有乙太網專用的MAC組播地址?

以下列出一些乙太網專用的組播地址:

Ethernet multicast address Type Field Usage

01-00-0C-CC-CC-CC 0x0802 CDP (Cisco Discovery Protocol),VTP (VLAN Trunking)

01-00-0C-CC-CC-CD 0x0802 Cisco Shared Spanning Tree Protocol Address

01-80-C2-00-00-00 0x0802 Spanning Tree Protocol (for bridges) IEEE 802.1D

組播組成員身份的監視

組播路由器負責監視一個組播組中的所有成員,看他們是否想繼續它們在組播組中的成員身份。組播路由器定時的傳送詢問信息到組播地址224.0.0.1.在這條信息中,組地址域設定為0.0.0.0.這意味著這種詢問是面向一個主機所在所有組播組,而不是一個組播組。組播路由器希望從每一個組播組都獲得一個應答

組播組成員身份的繼續

具有組播能力的主機保留有一個想繼續組播組成員身份的進程表。當一個主機接收到一個由組播路由器發出的詢問信息,它就檢查一下它所保留的進程表。對於每一個組播組,如果至少有一個進程想繼續組播組成員身份,主機就必須向組播路由器傳送一條報告信息。需要注意的是這種為了回響詢問訊息而傳送的報告信息是為了確認對組播組成員身份的繼續而不是為了作為新的成員加入組播組。而且為了使不同的組播組中的成員身份得以繼續,對於不同的組播組就必須分別傳送報告信息。

組播組成員的退出

在IGMPv1中,當每一個主機離開某一個組播組時,它不通知任何組播路由器就自然地離開,組播路由器定時(如120秒)向IP子網中的所有組播組詢問,如果某一個組播組在IP子網中已經沒有任何成員,則組播路由器在確認這一事件後,不再將該組播組的數據在子網中進行傳送,同時通過路由信息的交換,將相應的組播路由器從特定的組播組分配樹中刪除.這種不通知任何人而悄悄離開的方法,使得組播路由器知道IP子網中已經沒有任何成員的事件延時了一段時間,所以在IGMPv2中,當每一個主機要離開某一個組播組時,需要通知子網組播路由器,組播路由器立即向IP子網中的所有組播組詢問,從而減少了系統處理停止組播的延時.離開組播組時主機要傳送信息這一點是IGMP Version 2和IGMP Version 1的主要區別。

組播的路由

具有組播能力的網路由支持本地組播的區域網路通過具有組播能力的路由器連線而成。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)。

組播骨幹網

組播的規範是在1989年出版的,但是它的使用受到了限制。Internet上的路由器目前並不是都具有組播的能力。在這樣一種情況下,研究者們為了在現有情況下開發和測試組播協定的套用,建立了組播骨幹網(Multicast Backbone,Mbone)。Mbone支持組播分組的路由選擇而不打擾其它的網際網路業務流。

Mbone是一種跨越幾個大陸的,由志願者合作完成的實驗性的網路。它是一個相互連線的子網和路由器的集合,這些子網和路由器支持IP組播業務流的傳送。作為網際網路上的虛擬網路,Mbone通過隧道(Tunneling)來旁路網際網路上無組播能力的路由器。

隧道把組播數據包封裝在IP包(即單播數據包)中來通過哪些不支持組播路由的網路。如圖5所示,MR3和MR4是支持IGMP協定的有組播能力的路由器,他們把組播數據包封裝在單播數據包中來傳送,同時它們還從收到的單播數據包中取出組播數據包。R1和R2是沒有組播能力的路由器,它們像傳送其它普通單播數據包那樣來傳送封裝有組播數據包的單播數據包。

互動式的IP組播

IP組播的最大的用處就是用來做Internet上的音頻和視頻的傳輸,比如向成百上千的使用者傳送音頻和視頻數據流。可是傳統的IP組播的有一個最大的缺點就是這些所有的使用者都是被動的接受者。換句話說,IP 組播並沒有讓這些使用者進行互動式主動參與的內置機制。利用H.323國際標準中對會議成員的管理技術,SAP(Session Announcement Protocol),SDP(Session Description Protocol),RTCP(Real-time Transport Control Protocol)等協定,就可以使傳統的IP組播技術具有互動功能。互動式IP組播技術套用範圍很廣,特別是Internet上多媒體的傳輸業務。比如視頻會議,遠程教育,Internet上的視頻點播(VoD)等。

套用

組播套用大致可以分為三類: 點對多點套用,多點對多點套用和多點對點套用。

點對多點的套用

點對多點套用是指一個傳送者,多個接收者的套用形式,這是最常見的組播套用形式。

典型的套用包括:

媒體廣播:如演講、演示、會議等按日程進行的事件。其傳統媒體分發手段通常採用電視和廣播。這一類套用通常需要一個或多個恆定速率的數據流,當採用多個數據流(如語音和視頻)時,往往它們之間需要同步,並且相互之間有不同的優先權。它們往往要求較高的頻寬、較小的延時抖動,但是對絕對延時的要求不是很高。

媒體推送:如新聞標題、天氣變化、運動比分等一些非商業關鍵性的動態變化的信息。它們要求的頻寬較低、對延時也沒有什麼要求。

信息快取: 如網站信息、執行代碼和其他基於檔案的分散式複製或快取更新。它們對頻寬的要求一般,對延時的要求也一般。

事件通知:如網路時間、組播會話日程、隨機數字、密鑰、配置更新、有效範圍的網路警報或其他有用信息。它們對頻寬的需求有所不同,但是一般都比較低,對延時的要求也一般。

狀態監視:如股票價格、感測設備、安全系統、生產信息或其他實時信息。這類頻寬要求根據採樣周期和精度有所不同,可能會有恆定速率頻寬或突髮帶寬要求,通常對頻寬和延時的要求一般。

多點對多點的套用

多點對多點套用是指多個傳送者和多個接收者的套用形式。通常,每個接收者可以接收多個傳送者傳送的數據,同時,每個傳送者可以把數據傳送給多個接收者。

典型套用包括:

多點會議: 通常音/視頻和白板套用構成多點會議套用。在多點會議中,不同的數據流擁有不同的優先權。傳統的多點會議採用專門的多點控制單元來協調和分配它們,採用組播可以直接由任何一個傳送者向所有接收者傳送,多點控制單元用來控制當前發言權。這類套用對頻寬和延時要求都比較高。

資源同步:如日程、目錄、信息等分布資料庫的同步。它們對頻寬和延時的要求一般。

並行處理: 如分散式並行處理。它對頻寬和延時的要求都比較高。

協同處理:如共享文檔的編輯。它對頻寬和延時的要求一般。

遠程學習: 這實際上是媒體廣播套用加上對上行數據流(允許學生向老師提問)的支持。它對頻寬和延時的要求一般。

討論組:類似於基於文本的多點會議,還可以提供一些模擬的表達。

分散式互動模擬(DIS):它對頻寬和時延的要求較高。

多人遊戲: 多人遊戲是一種帶討論組能力的簡單分散式互動模擬。它對頻寬和時延的要求都比較高。

Jam Session:這是一種音頻編碼共享套用。它對頻寬和時延的要求都比較高。

多點對點的套用

多點對點套用是指多個傳送者,一個接收者的套用形式。通常是雙向請求回響套用,任何一端(多點或點)都有可能發起請求。典型套用包括:

資源查找:如服務定位,它要求的頻寬較低,對時延的要求一般。

數據收集:它是點對多點套用中狀態監視套用的反向過程。它可能由多個感測設備把數據發回給一個數據收集主機。頻寬要求根據採樣周期和精度有所不同,可能會有恆定速率頻寬或突髮帶寬要求,通常這類套用對頻寬和延時的要求一般。

網路竟拍:拍賣者拍賣產品,而多個竟拍者把標價發回給拍賣者。

信息詢問: 詢問者傳送一個詢問,所有被詢問者返回應答。通常這對頻寬的要求較低,對延時不太敏感。

Juke Box:如支持準點播(Near-On-Demand)的音視頻倒放。通常接收者採用“帶外的”協定機制(如HTTP、RTSP、SMTP,也可以採用組播方式)傳送倒放請求給一個調度佇列。它對頻寬的要求較高,對延時的要求一般。

英譯

詞典解釋

名詞n.

1.【電腦】多重播送以下結果來自網際網路網路釋義

multicast

1.多路廣播,多播,組播

詞博英語社區(IT專業英語詞典-M)

multicast多路廣播,多播,組播

⒉多點傳送

【推薦】CISCO CCNA辭彙表- 電...

multicast多點傳送

Multicast

⒈多點廣播

Vocabulary 關於學習(英語)關...

Multicast多點廣播

相關詞條

相關搜尋

熱門詞條

聯絡我們