IP 多播
一、IP 多播的基本概念
1.1.簡介
不使用多播時需要發送 90 次單播:
使用多播時只需要發送 1 次多播:
1.2.IP 多播的一些特點
- 多播使用組地址:D 類IP地址支持多播。多播地址只能用於目的地址,而不能用於源地址。
- 永久組地址:由因特網號碼指派管理局 IANA 負責指派。
- 多播的組成員是動態的。
- 可以使用硬件進行多播
二、在局域網上進行硬件多播
-
因特網號碼指派管理局 IANA 擁有的以太網地址塊的高 24 位為 00-00-5E。
-
因此 TCP/IP 協議使用的以太網多播地址塊的范圍是:
從 00-00-5E-00-00-00
到 00-00-5E-FF-FF-FF
-
D 類 IP 地址可供分配的有 28 位,在這 28 位中的前 5 位不能用來構成以太網硬件地址。
2.1.D 類 IP 地址與以太網多播地址的映射關系
三、網際組管理協議 IGMP 和多播路由選擇協議
3.1.IP多播需要兩種協議
- 為了使路由器知道多播組成員的信息,需要利用網際組管理協議 IGMP (Internet Group Management Protocol)。
- 連接在局域網上的多播路由器還必須和因特網上的其他多播路由器協同工作,以便把多播數據報用最小代價傳送給所有的組成員。這就需要使用多播路由選擇協議。
**IGMP 使多播路由器知道多播組成員信息 **
**IGMP 的本地使用范圍 **
- IGMP 並非在因特網范圍內對所有多播組成員進行管理的協議。
- IGMP 不知道 IP 多播組包含的成員數,也不知道這些成員都分布在哪些網絡上。
- IGMP 協議是讓連接在本地局域網上的多播路由器知道本局域網上是否有主機(嚴格講,是主機上的某個進程)參加或退出了某個多播組。
多播路由選擇協議比單播路由選擇協議復雜得多
- 多播轉發必須動態地適應多播組成員的變化(這時網絡拓撲並未發生變化)。請注意,單播路由選擇通常是在網絡拓撲發生變化時才需要更新路由。
- 多播路由器在轉發多播數據報時,不能僅僅根據多播數據報中的目的地址,而是還要考慮這個多播數據報從什么地方來和要到什么地方去。
- 多播數據報可以由沒有加入多播組的主機發出,也可以通過沒有組成員接入的網絡。
3.2.網際組管理協議 IGMP
IGMP 是整個網際協議 IP 的一個組成部分。
- 和 ICMP 相似,IGMP 使用 IP 數據報傳遞其報文(即 IGMP 報文加上 IP 首部構成 IP 數據報),但它也向 IP 提供服務。
- 因此,我們不把 IGMP 看成是一個單獨的協議,而是屬於整個網際協議 IP 的一個組成部分。
**IGMP 可分為兩個階段 **
-
第一階段:當某個主機加入新的多播組時,該主機應向多播組的多播地址發送IGMP 報文,聲明自己要成為該組的成員。本地的多播路由器收到 IGMP 報文后,將組成員關系轉發給因特網上的其他多播路由器。
-
第二階段:因為組成員關系是動態的,因此本地多播路由器要周期性地探詢本地局域網上的主機,以便知道這些主機是否還繼續是組的成員。
只要對某個組有一個主機響應,那么多播路由器就認為這個組是活躍的。但一個組在經過幾次的探詢后仍然沒有一個主機響應,則不再將該組的成員關系轉發給其他的多播路由器。
**IGMP 采用的一些具體措施 **
- 在主機和多播路由器之間的所有通信都是使用 IP 多播。
- 多播路由器在探詢組成員關系時,只需要對所有的組發送一個請求信息的詢問報文,而不需要對每一個組發送一個詢問報文。默認的詢問速率是每 125 秒發送一次。
- 當同一個網絡上連接有幾個多播路由器時,它們能夠迅速和有效地選擇其中的一個來探詢主機的成員關系。
- 在 IGMP 的詢問報文中有一個數值 N,它指明一個最長響應時間(默認值為 10秒)。當收到詢問時,主機在 0 到 N 之間隨機選擇發送響應所需經過的時延。對應於最小時延的響應最先發送。
- 同一個組內的每一個主機都要監聽響應,只要有本組的其他主機先發送了響應,自己就可以不再發送響應了。
IGMP應用舉例
如圖,三個城市的用戶通過路由器連接。當城市A的老板要給城市B和C的員工開會時,包含城市A老板聲音和圖像的一個多播數據包通過路由器中轉發往指定的多播地址。如有需要,多播數據包會在路由器D處復制成多份分別發往城市B和C的路由器。
連接城市C的路由器C需要掃描城市C的網段,看看有沒有計算機屬於該多播地址。只要該網段有一台計算機屬於該多播地址(只要有一個員工參加會議),那么路由器C都會向上一級路由器D請求一份多播數據包。若沒有,那么路由器C就會告訴路由器D不用發送多播數據包過來了。
3.3.多播路由選擇協議
- 多播路由選擇協議尚未標准化。
- 一個多播組中的成員是動態變化的,隨時會有主機加入或離開這個多播組。
- 多播路由選擇實際上就是要找出以源主機為根結點的多播轉發樹。
- 在多播轉發樹上的路由器不會收到重復的多播數據報。
- 對不同的多播組對應於不同的多播轉發樹。同一個多播組,對不同的源點也會有不同的多播轉發樹。
轉發多播數據報使用的方法
- 洪泛與剪除:
這種方法適合於較小的多播組,而所有的組成員接入的局域網也是相鄰接的。
- 隧道技術;
- 基於核心的發現技術:
這種方法對於多播組的大小在較大范圍內變化時都適合。
**幾種多播路由選擇協議 **
- 距離向量多播路由選擇協議 DVMRP;
- 基於核心的轉發樹 CBT;
- 開放最短通路優先的多播擴展 MOSPF;
- 協議無關多播-稀疏方式 PIM-SM;
- 協議無關多播-密集方式 PIM-DM;