在IPv4中,它歷史上被叫做D類地址,一種類型的IP位址,它的範圍從224.0.0.0到239.255.255.255,或,等同的,在224.0.0.0/4。在IPv6,多播地址都有前綴ff00::/8。但是注意,224.0.0.0被保留,不能賦給任何多播組。
多播是第一個位元組的最低位為1的所有地址,例如01-12-0f-00-00-02。
廣播地址是全1的32位地址,也屬於多播地址。但是廣播又是
多播中的特例,就像是正方形屬於長方形,但是正方形有長方形沒有的特點。
多播地址
。Internet管 理 機 構 把 舊 的 + 類 地 址 空 間 分 配 為 ,(多播地址-) 該地址空間用四組八位的二進制數表示, 地址格式如下所示:1110××××.××××××××.××××××××.××××××××。第一組八位數的頭四位用1110表示, 這代表該地址是一個多播地址, 其餘28位比特標識具體的多播 地 址 。 因 此 , 多 播 地 址 的 范 圍 從 224.0.0.0到239.255.255.255。 其中, 後28比特的地址欄位中不再有結構層次, 也不標出組的來源, 不會象 A、B、C類地址那樣包含一個網路地址。多播地址的使用分配現在由互聯 網 地 址 指 派 機 構 (IANA) 控 制 。
其中,239.0.0.0~239.255.255.255的地址使用要求被限制在特定的多播域內, 不應該和其他地方的多播地址發生衝突, 因此這塊組播地址在 ,#$%&#%$上不同地方可以重複使用。
IP多播
多播是一種允許一個或者多個傳送者傳送單一數據包到多個接收者的網路技術。不論組成員數量的多少,數據源只傳送一次數據包,並且組播只向那些需要數據包的主機和網路傳送包(以多播地址定址)。在IP多播中,組成員的關係是動態的,多播接收主機可以在任何時候加入或退出多播組。此外,多播接收主機可以是任意多個多播組的成員。在共享的鏈路上,相同的信息只需要一個多播流,從而能夠很好地控制流量,減少了主機和網路的負擔,提高了網路套用服務的效率和能力。
多播技術是TCP/IP傳送方式的一種。TCP/IP有三種傳輸方式:單播、多播、廣播。傳統的IP通信是在一個源IP主機和一個目標IP主機之間(單播)或者一個源IP主機和網路中所有的IP主機之間(廣播)進行的。要將信息傳送給網路中的多個而非所有IP主機,採用傳統的IP通信技術只有兩種方法可以選擇:採用廣播方式或者由源IP主機分別向網路中的多個目標IP主機單播傳送IP包 。
廣播方式會將信息傳送給不需要的IP主機而浪費頻寬,而且可能的路由迴環會引起廣播風暴。單播方式由於IP包的重複傳送會浪費掉大量頻寬,同時也增加了伺服器的負載。可見,傳統的IP通信技術不能有效地解決單點傳送多點接收的問題。而IP多播卻很好地解決了這個問題。IP多播是指在IP網路中數據包以盡力傳送的形式傳送到所有網路節點的某個確定子集,這個子集稱為多播組。IP多播的基本思想是源護主機只傳送一份數據,然後經過路由器或交換機拷貝傳送數據到一個或多個接收者。即允許源IP主機向網上所有IP主機的一部分(子集)傳送IP分組,只有該子集內的主機(目標主機)可以接收該分組,而網路中其他IP主機不能收到該分組。這種邏輯上的子集就是多播組,用D類IP位址(224.0.0.0~239.255.255.255來標識。IP多播技術有效地解決了寬業務中的單點傳送多點接收,多點傳送多點接收的問題,實現了IP網路中點到多點高效數據傳輸,有效地節約了網路頻寬,降低了網路負載。
相關的多播協定
多播協定標準組織是網際網路工程任務小組(IETF)。多播協定從結構上主要分為三部分:主機和路由器之間建立及維護多播成員關係的協定——(789:798組管理協定(IGMP);路由器和交換機之間控制多播擴散的協定——CISCO組管理協定(CGMP)、IGMP=竊聽(snoopping);多播路由器之間構造多播分發樹的協定——多播路由協定。
1.IGMP
I
IGMP是最基本的主機成員關係協定,一般用於路由器與其直接相連的主機之間進行有關多播組成員狀態的通信,使用規則如下:
1)當第一個進程加入一個組時,主機就傳送一個IGMP報告。如果一個主機的多個進程加入同一組,只傳送一個IGMP報告。這個報告被傳送到進程加入組所在的同一接口上。
2)進程離開一個組時,主機不傳送IGMP報告,即便是組中的最後一個進程離開。主機知道在確定的組中已不再有組成員後,在隨後收到的IGMP查詢中就不再傳送報告報文。
3)多播路由器定時傳送IGMP查詢來了解是否還有任何主機包含有屬於多播組的進程。多播路由器必須向每個接口傳送一個IGMP查詢。因為路由器希望主機對它加入的每個多播組均發回一個報告,因此IGMP查詢報文中的組地址被設定為0。
4)主機通過傳送IGMP報告來回響一個IGMP查詢,對每個至少還包含一個進程的組均要發回IGMP報告。
在具有多層結構的本地網中,第三層IP多播數據包經地址映射轉換成第二層交換層的MAC多播地址,並被轉發到第二層交換機的所有連線埠)即在傳統的交換或橋接環境中多播被當成廣播一樣對待,所以只要是連在同一個第二層交換機上的客戶端,不管客戶端是否要求接收多播數據,都會收到多播傳來的信息流,這種現象稱為多播“泛洪”或多播擴散,將嚴重影響本地網的性能。
處理多播擴散一種方法是IGMPsnoopping,即本地網交換機竊聽主機與路由器之間的IGMP對話,根據所連主機有無加入多播組來添加、修改交換機多播內容可定址存儲器CAM表,以控制多播擴散。
另一種方式就是CGMP。CGMP.是CISCO.公司開發的用於解決多播擴散問題、處理交換機與路由器之間進行多播通信的協定,是CISCO交換機和路由器專用協定。CGMP.工作基於客戶6伺服器模式,其中路由器被看作是一個CGMP7伺服器,交換機則扮演客戶角色。當有明確的主機加入或離開多播組時,IP多播路由器查看所有"#$%.信息包,並通告交換機;交換機利用這個通告信息構造交換機的轉發CAM表,由此來去除不必要的多播流從交換機的連線埠轉發出去。
3.多播路由協定
實現IP多播路由一般方式是在多播組成員之間構造一棵多播樹。多播樹是根為源節點且覆蓋所有多播成員的一棵生成樹,不同的IP多播路由協定使用不同的技術來構造這些多播生成樹,一旦這個樹構造完成)所有的多播流量都將通過它來傳播。
組播路由協定可分為兩類:密集模式協定(如距離向量多播路由協定(DVMRP)、多播開放最短路徑優先(MOSPF)、協定無關組播(PIM)-DM和稀疏模式協定(如PIM-SM、有核樹組播路由協定(CBT)。
1)DVMRP
DVMRP基於RPF,使用距離向量算法得到網路的拓撲信息。為了使新加入的組播成員能及時收到組播數據,DVMRP採用定時傳送數據包給所有的區域網路,然而這種方法導致大量路由控制數據包的擴散,這部分開銷限制了網路規模的擴大。另一方面,DVMRP使用跳數作為計量尺度,其上限為32跳,這對網路規模也是一個限制。目前提出了分層DVMRP,即對組播網路劃分區域,在區域內的組播可以按照任何協定進行,而對於跨區域的組播則由邊界路由器在DVMRP協定下進行,這樣可大大減少路由開銷。
2)MOSPF
MOSPF是一種基於鏈路狀態的路由協定,定義了三種級別的路由MOSPF區域內組播路由:用於了解各網段中的組播成員,構造(源網路(S),組(G))對的SPT;MOSPF區域間組播路由:用於匯總區域內成員關係,並在自治系統(AS)主幹網(區域0)上發布組成員關係記錄通告,實現區域間組播包的轉發。MOSPFAS間組播路由:用於跨AS的組播包轉發。
MOSPF與DVMRP相比,路由開銷較小,鏈路利用率高,然而92DE/FGH算法計算量很大,為了減少路由器的計算量,MOSPF執行一種按需計算方案,即只有當路由器收到組播源的第一個組播數據包後,才對((S,G)SPT計算,否則利用轉發快取(cache)中的((S,G)SPT。MOSPF對網路拓撲的變化回響速度快,但拓撲變動使所有路由器的快取失效重新計算4%!,因而消耗大量路由器(%L資源。這就決定了MOSPF不適合高動態性網路(組成員關係變化大、鏈路不穩定),而適用於網路連線狀態比較穩定的環境。
3)PIM
PIM由域間組播路由(IDMR)工作組設計。顧名思義,PIM不依賴於某一特定單播路由協定,它可利用各種單播路由協定建立的單播路由表完成RPF檢查功能,而不是維護一個分離的組播路由表實現組播轉發。由於PIM無需收發組播路由更新,所以與其它組播協定相比,PIM開銷降低了許多。PIM的設計出發點是在"0FKG0KF範圍內同時支持SPT和共享樹,並使兩者之間靈活轉換,因而集中了它們的優點提高了組播效率。
4)CBT
CBT的基本目標是減少網路中路由器組播狀態,以提供組播的可擴展性。為此,CBT被設計成稀疏模式(與PIM-SM相似)。CBT使用雙向共享樹,雙向共享樹以某個核心路由器為根,允許組播信息在兩個方向流動。這一點與PIM-SM不同(PIM-SM中共享樹是單向的,在RP與組播源之間使用SPT將組播數據轉發到RP,所以CBT不能使用RP檢查,而使用IP包頭的目標組地址作檢查轉發快取。這就要求對CBT共享樹的維護非常小心,以確保不會產生組播路由循環。從路由器創建的組播狀態的數量來看,CBT比支持SPT的協定效率高,在具有大量組播源和組的網路中,CBT能把組播狀態最佳化到組的數量級。
CBT為每個組播組建立一個生成樹,所有組播源使用同一棵組播樹。CBT工作過程大體如下:首先選擇一個核,即網路中組播組的固定中心,來構造一棵CBT;主機向這個核傳送1234命令;所有中間路由器都接收到該命令,並把接收該命令的接口標記為屬於這個組的樹;如果接收到命令的路由器已是樹中一個成員,那么只要再標記一次該接口屬於該組;如果路由器第一次收到1234命令,那么它就向核的方向進一步轉發該命令,路由器就需要為每個組保留一份狀態信息;當組播數據到達一個在CBT樹上的組播路由器時,路由器組播數據到樹的核,以保證數據能夠傳送到組的所有成員。
CBT將組播擴張限制在接收者範圍內,即使第一個數據包也無需在全網擴散,但CBT導致核周圍的流量集中,網路性能下降。所以某些版本的CBT支持多個核心以平衡負載。儘管CBT很有代表性,但至今卻幾乎沒有已實現的CBT網路。
多播技術現狀
乏有效的用戶管理,具體表現在下面幾個方面:
·認證難:多播協定不提供用戶認證功能,用戶可隨意地加人或離開。
·計費難:多播協定不涉及計費,加上多播源無法得知用戶何時加人或離開,也無法統計某時間段到底有多少用戶在收看多播節目,因此無法進行準確的計費。
·管理難:多播源缺乏有效的管理手段去控制多播信息在網上傳遞的範圍和方向。
為了解決這些困難,迫切需要對多播功能進行最佳化和改進,以適應網路的運營現狀,多播業務管理(可控多播)技術應運而生。可控多播技術主要包含信源控制、用戶控制和安全控制三個方面。
1.信源控制
信源管理在多播流進入骨幹網路之前,多播業務控制設備區分合法和非法的媒體伺服器,轉發合法的多播信息流,阻斷非法的多播信息流。同時,對於信源發出的多播流量進人網路的速度(cAR)和優先權(MARK)進行控制,從而控制多播業務的開通、類型、頻寬和對非法信源的過濾。
2.用戶控制
用戶控制是二層設備首先根據web、802.lx和PPPOE等認證方式對用戶的多播許可權進行驗證。如果驗證通過,則二層設備接收用戶的GIMP加人/離開的信息,並建立相應的轉發表項,允許用戶接收多播流量。否則,丟棄用戶的IGMP報文,禁止用戶接收多播流量。
3.安全管理
在標準的多播中,接受者可以加人任意的多播組,也即多播樹的分支是不可控,信源不知道多播樹的範圍與方向,安全性較低。為了實現對一些較重要的信息的保護,需要控制其擴散範圍的,華為的靜態多播樹滿足此需求。實現靜態多播樹的配置,滿足高價值用戶的安全需求。靜態多播樹就是多播樹事先配置,控制多播樹的範圍與方向,不接受其他動態的多播成員的加人,這樣能使多播信源的報文在規定的範圍內擴散。
IP多播的展望
網路的寬頻化已經不僅僅是使人們能夠在寬闊的信息高速公路上順暢地進行交流,而是越來越多地希望寬頻網路能夠帶來更直觀、更豐富的多媒體信息。多播技術為多媒體業務的開展提供了基礎傳送技術,有效地支撐了多點通信業務,涵蓋了從地址方案、成員管理到路由和安全等各個層面,其中多播地址的分配方式、域間多播路由以及多播安全等仍是研究的熱點。從目前的情況看,組成員管理普遍採用GIMP、PIM一sM協定,是因為其良好的擴展性和從共享樹向源樹轉換的能力從而成為域內多播路由的首選協定,域間路由技術現階段普遍採用IPM一SMM/BGp刀班SDP協定組合的方案。目前,多播的域內技術已基本成熟,域間技術也在不斷完善。我們可以預見在下一代網際網路技術中,多播技術必將大放異彩。