第二章 文獻探討
第三節、 IP Multicast 技術說明
一、IPv4 Multicast 介紹
IPv4 網路上封包(packet) 傳遞方式大致分為 Unicast、Multicast 及 Broadcast 等形 式。Unicast 封包主要用於網路節點互相交換資料,此類封包資料只對於此兩個節
點有實質作用,網路上的其他節點可以不必理會此類封包。Broadcast 封包主要是要 將封包傳送給連結在網路上的所有網路節點,無論該節點是否需要,無論該節點是 否需要,所有連結在該網路上的節點均要接收並處理 Broadcast 封包。
Multicast 是將封包傳送至網路上的多個節點,透過路由器上的 Multicast 處理功 能,可以將一份相同的資料,送給多個接收者,而使用 Unicast 方式則需要複製多 筆相同的資料,其運作方式之差異如圖 9 所示。
圖 9:Unicast、Multicast 封包傳遞差異
一個 Multicast 群組的建立,包含資訊的來源端(傳送者)、接收端(參與者)及資 料封包傳送位址。而傳送位址包含群組位址、傳送位址及接收位址。首先,來源端 會先向特定管理設備登記此一會議,然後分配 Multicast 群組資訊,內含特定群組位 址,完成之後,便可開始傳送會議有關資訊到此一 Multicast 群組位址。與 Unicast 相較起來,Multicast 有降低不必要的重複流量、增進頻寬的使用效率及減少伺服器 的負載等優點。正因為 IPv4 Multicast 有這樣的優勢,因此目前許多影音應用皆可 支援 Multicast , 例如多點視訊、MOD(Multimedia on Demand),網路電視平台等。
Multicast 的技術日益成熟,也越來越受到重視。
二、IPv6 Multicast 介紹
IPv6 Multicast 和 IPv4 Multicast 最顯而易見的差異在於 Multicast 位址的定義。
IPv6 的 Multicast 位址的定義為前 8 位元皆為 1,即 FF00::/8。接下來 8 位元分為兩 個部份,分別為前 4 位元 Flags 及後 4 位元 Scope,如圖 10 所示。
圖 10:IPv6 Multicast 位址格式
IPv6 Multicast 運作的方式類似 IPv4 Multicast 運作方式,但其優點在於 IP 位址 與多點群播位址增加且增加了避免 IPv4 Multicast PIM Dense-Mode flooding 的機制。
Router 端目前發展主要以 PIM(Protocol Independent Multicast)為主;Host 端則以 MLD(Multicast Listener Discovery)為主。IPv6 Multicast 相關的協定大致上可分成三部 分來處理:
1. Host 對 Router:
MLD 是存在於區域網路內的一種 IPv6Multicast 路由協定,其主要的功能在於 協助 Router 找出位於其區域網路中之參與多點群播的主機(Host),其功能運作方式 與 IPv4 中的 IGMP 相同。
MLDv1 相當於 IGMPv2 , MLDv2[12] 相當於 IGMPv3,MLDv2 完全往後相 容於 MLDv1。未來接收端設備必須支援 MLD 之功能,目各家作業系統幾乎皆已支 援 IPv6 及 MLD 協定,因此 Host 這部份支援 IPv6 Multicast 協定已不是太大問題。
2. Intra-Domain Router 間:
在 IPv6 Intra-Domain Multicast 交換協定為 PIM 路由協定,其主要是用於 Multicast Router 與其他 Multicast Router 進行 Multicast 訊息交換。在 IPv4Multicast 中有區分為 Dense-Mode(PIM-DM) 與 Sparse-Mode(PIM-SM),但由於 IPv6 Multicast 去除 router flooding 的交換方法,所以在 IPv6 Multicast PIM 路由協定中只有 Sparse-Mode。
Sparse-Mode 會先透過相關機制,詢問哪裡有接收者,先將派送樹建立起來,再將 Multicast 訊務送下去,避免設備需要定期做 flooding 的動作,減少設備資源的浪費。
目前 IPv6 PIM Sparse-Mode 最新版本為 RFC 4601[13],有些廠商使用新的 PIM Sparse-Mode 版本在 IPv6 Multicast 協定上, 而使用舊的 PIM Sparse-Mode (RFC2362) 在 IPv4 Multicast 上。
3. Inter-Domain Router 間:
IPv6 Inter-Domain Multicast 沒有如 IPv4 Multicast 的 MSDP(Multicast Source Discovery Protocol)協定可以用來交換群播網路間的 RP 訊息,所以只能在一個 Global Static RP(Rendezvous Point) 位址來統籌跨網域的 Multicast 網路中的群撥群組或是 使用內崁式 RP(embedded-RP)位址表示方法,將 RP 位址內藏在群播位址中,經由 IPv6 的路由找到 RP 的所在地,如此不需要固定 RP 位址,經由群組位址解釋出 RP 位址,
再經由 IPv6 路由找到 RP 所在路由設備,即可發現群播組的資訊。