224.0.0.13 PIM routers
224.0.0.14 RSVP encapsulation 224.0.0.22 IGMPv3 membership
所謂的 Any Source Multicast 是指在節點加入群播群組時是以 Join(*,G)的訊息形態 來表達加入特定的群播群組,因為不知道 Source 的資訊,所以是以 * (代表 Any Source)來表示,直到 SSM[3](Source Specific Multicast)被提出後才以 Join(S,G)的 訊息形態來加入群播群組,同時也開啟了高傳輸效率和較低頻寬使用的 Multicasting 應用。而 Broadcasting 是利用 224.0.0.1 的位置,也就是向所有的節點進行廣播式的 傳送,這樣的方式雖然簡單,但完全沒有效率可言。
2.2 Tree-based 群播協定
常見的傳送路徑的管理方式有 Tree-Based 和 Mesh-Bases 兩種,它們各有適用的 環境和優缺點。有研究指出[4],在資料傳輸速率、群播群組的可靠性和高移動性以及 較高的網路負載(Traffic Loading)的情況下來考量,Mesh-Based 的協定有較好的表 現,因為 Mesh-Based 的群播協定在 Status Detecting 上反應較好,可同時保有兩種以 上的路徑資訊,在 Node Fault 時,可以較快恢復運作,然而在維護節點間的路徑及群 組成員的資訊時易造成 Broadcast Flooding,且能源使用效率(Energy Efficiency)也 會較低。而 Tree-Based 的協定則是在 Routing Overhead 上有較低的耗費,相對於 Mess-Based 的多路徑維護,Tree-Based 依靠一個 Group Leader (Core 或是 Rendezvous point)來建立群播樹並維護單一的 Routing 資訊,因此穩健性 (Robustness) 比較差。
有一些研究是混合運用如 Narada[5],它將加入的群播成員組織成 Mesh Network,
並且以 Tree 的形態來管理 Data Forwarding。常見的 Tree-Based 協定如以下簡述,首 先是 PIM-SM[6],在某些條件下(資料傳送速率達到設定的 Threshold 時)可以採用不同 的樹狀結構來因應環境變化,可由原來的 RPT(Rendezvous Point Tree)轉換成 SPT
‧
(Shortest Path Tree)。再者是 PIM(Protocol Independent Multicast),顧名思義,
PIM 不依賴某一特定群播路由協議,它可利用各種單播路由協議建立的單播路由表完成 RPF 檢查功能,而不是維護一個分離的群播路由表來實現群播轉發。由於 PIM 無需收發 群播路由更新,所以與其他群播(Multicasting)協議相比,PIM 頻寬和路由器的負載都 降低許多。
Tree-Based 可分成稀疏模式(Sparse Mode)和密集模式(Dense Mode)兩種形式,在 稀疏模式下採用公用樹結構,可讓多個群播群組共用樹結構的資訊來轉發 Data
(Rendezvous Point)路由器。群播轉發分為兩種,即以組 G 的彙聚點(RP)為根的共用樹 (RPT)和以群播源為根的最短路徑樹(SPT)。PIM-SM 允許在傳輸速率達到一定門檻值時接 收者的路由器可從 RPT 切換到 SPT 來接收群播資料。以下就其如何建立和裁剪共用樹做 說明。
共用樹的根節點稱為 RP。若接收端準備加入一個群播組會將組員關係消息發送到上 游的指定路由器 DR(Designated Router, 可避免群播封包在多個路由間訪問時重複流 動形成 Triangle Routing Problem),這意味著該接收端可接收該組的群播資料。為此,
中間路由器必須通知 RP,申請加入 RPT。此一過程是透過沿著 RP 方向往上游 PIM- SM 鄰居發送 Join(*,G)消息來完成。PIM-SM 路由器接收到來自下游路由器的 Join(*,G) 消息時,會檢查群播路由表,如果關於 G 組的 (*,G)狀態已存在,則表明“Join"消 息已到達了共用樹,且接收 Join(*,G)消息的介面已加入 Forwarding Lists 列表中;如 果狀態不存在,則將創建一個 (*,G)項,並把接收 Join(*,G)消息的介面加入 Forwarding
‧
Forwarding Lists 把此接收者資訊刪除。之前提到 PIM-SM 是採稀疏模式,它維護公用樹的成本比獨立的轉發樹為低,可是 某個核心路由器為根,允許群播資訊在兩個方向流動。這一點與 PIM-SM 不同(PIM-SM 中共用樹是單向的,在 RP 與群播源之間使用 SPT 將群播資料轉發到 RP),所以 CBT 不能
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
向進一步轉發該命令,路由器需要為每組保留一份狀態資訊,當群播資料到達一個在 CBT 樹上的群播路由器時,路由器群播數據會被一直轉發到樹的根。以保證資料能發送到組 的所有成員。
CBT 將群播擴張限制在接收者範圍內,即使第一個資料封包也無需在全網擴散,但 CBT 導致樹根周圍的流量集中,網路性能下降。
2.2.3 DVMRP 群播協定
DVMRP[8]是由單播路由協定 RIP[9]擴展而來,兩者都使用距離向量演算法得到網路 的拓撲(Topology)資訊,不同之處在於 RIP 根據路由表前向轉發資料,而 DVMRP 則是基 於 RPF。為了使新加入的群播成員能及時收到群播資料,DVMPR 採用定時發送資料包給 所有 LAN 的方法,然而這種方法導致大量路由控制資料包的擴散,這部分的網路使用成 本限制了網路規模的擴大。另一方面,DVMRP 使用跳數(Hop Count)作為計量尺度,其上 限為 32 跳,這對網路規模也是一個限制。目前提出的分層 DVMRP (Hierarchical DVMRP),即對群播網路劃分區域,在區域內的群播可以按照任何協議進行,而對於跨區 域的群播則由邊界路由器在 DVMRP 協議下進行,這樣可大大減少路由負荷及網路的使用 成本。
2.2.4 PIM-DM 群播協定
PIM-DM[10]與 DVMRP 很相似,都屬於密集模式協定,都採用了“擴散/剪枝"機制。
同時,假定頻寬不受限制,每個路由器都想接收組播資料包。主要不同之處在於 DVMRP 使用內建的群播路由協定,而 PIM-DM 採用 RPF(Reverse Path Forwarding)動態建立 SPT。
該模式適用於高速網路及群播源和接收者比較靠近的網路環境中,以及當發送者少 而接收者多的時候,其群播資料流量比較大且比較穩定。
‧
MOSPF[11]是一種基於鏈路狀態(Link State)的路由協定,是對單播 OSPF 協定的擴 展, 因此與 OSPF 類似,MOSPF 分別定義了三種等級的路由:
一、MOSPF 區域內群播路由:用於瞭解各網段中的群播成員,以建構(S,G)的 SPT 。 二、MOSPF 區域間群播路由:用於匯整區域內成員關係,並在自治系統(AS,
Autonomous System)主幹網(區域 0)上發佈組成員關係記錄通告,實現區域間群播封 包的轉發。
三、MOSPF AS 間群播路由:用於跨 AS 的群播包轉發。
區域內 MOSPF 利用了鏈路狀態資料庫,對單播 OSPF 資料格式進行擴充,定義了新 的鏈路狀態通告(Link State Advertisement:LSA),使得 MOSPF 路由器瞭解那些群播 組在那些網路上。路由器使用 Dijkstra 演算法建構(S,G)的 SPT。MOSPF 與 DVMRP 相比,路由方面的開銷較小,鏈路利用率高,然而 Dijkstra 演算法計算量很大,為了
AMRoute(Ad Hoc Multicast Routing Protocol)[12]假設無線網路已經具備一個底
‧
AMRIS(Ad Hoc Multicast Routing Protocol Utilizing Increasing ID-Numbers)[13]
是使用分享樹(Shared-Tree)的方式,同時提供給多個資料傳送端和資料接收端,並使 用 Beacon 來判斷是否斷線。AMRIS 基本概念是,每一個樹節點都有一個 MSM-ID
(Multicast Session Member-Identifier),用來表示每個節點在分享樹中邏輯的高度,
使用 MSM-ID 的好處是可以避免形成傳送上的迴圈(Loop)。
ARMIS 有方法簡單和 Control Message Overhead 低的優點,而缺點是送出 Beacon 確認斷線的方式,比較會浪費頻寬共且會造成碰撞的機會增加。
2.2.8 MAODV 群播協定
MAODV(Multicast Ad hoc On-Demand Distance Vector)[14]是無線 Ad Hoc 網路的 群播協定,擁有和 AODV[15]共用控制封包的優點,MAODV 雖然有 Control Overhead 低 和單一路徑較有效率的優點,但是在移動速度快的情況下,PDR(Packet Delivery Ratio) 會快速下降,這是因為 MAODV 的修復機制缺乏效率所導致的結果,而 MAODV 由鏈路斷裂 的下游節點重新加入的修復機制,也增加了多餘的 Control Overhead 和封包碰撞的機 會。