名詞解釋
MOSPF:組播擴展 OSPF
(MOSPF:Multicast OSPF)
組播擴展 OSPF(MOSPF)在原 OSPF第二版本的基礎上作了增強使之支持 IP 組播路由。這種改進具有向後兼容性,當轉發一般的(單播) IP 數據通信量時,具有組播能力的路由器可以和無組播能力 OSPF 路由器互操作。
MOSPF 是通過在 OSPF 連結狀態通告中包含組播信息而工作的。一個 MOSPF 路由器學到哪個區域網路 (LAN)上的哪個組播組在活動。MOSPF 為每對源/組建立一個分配樹並且為傳送到組的活動源確定一個樹。樹的狀態被快取,並且當連結狀態發生變化或高速快取器逾時的情況,必須重新確定樹。
MOSPF 提供了通過網際網路路由器在兩個 IP 網路之間轉發組播數據包的能力。MOSPF 轉發一個組播數據包是建立在該數據包的源和目的地址兩方面的基礎上。OSPF 鏈路狀態資料庫提供了一套關於自治系統(AS)拓樸的完整描述。通過加入新的鏈路狀態通告類型,即組成員(LSA),在該資料庫中可以查到所有組播組成員的位置。如此,再通過建立以數據包源為根的最短路徑樹,可以計算出組播數據包的路徑。樹上所有不包含組播的分支都被剪除。當接收到第一個數據包時,也就初步形成了剪除過的最短路徑樹。最短路徑的計算結果被快取起來以供具有相同源和終端的後續數據包使用。
MOSPF 被用於單個自治系統內部。當需要在整個網際網路上支持 IP 組播時,MOSPF 就得與用於自治系統間的組播路由協定如 DVMRP 共同使用。
運行 MOSPF 的路由器只能工作於使用 MOSPF 的 internet 網路中,但可以與非組播 OSPF 路由器混合使用。當轉發一般的(單播) IP 資料庫通信量時,兩種類型的路由器可以互動操作。在 MOSPF 中,與基本的 OSPF 協定中一樣,數據包(組播或單播)被原樣傳送 ,當它們經過自治系統時,不再進行封裝或解裝。
協定結構
MOSPF 數據包格式與 OSPF 第二版相同,但在 OSPF Hello 數據包、Database Description 數據包以及所有鏈路狀態廣告中另加了 Option 欄位。該新選項指出了路由器或網路的組播容量。但所有非組播路由器忽略該新選項。
1 2 3 4 5 6 7 8 bit
* * * * * MC E T
T-bit ― 描述路由器的 TOS 容量。
E-bit ― 由於外部鏈路廣告沒有被擴散到 OSPF 子區域,E-bit 確保所有 Stub 區域的會員在區域配置上達成一致。
MC-bit ― 描述 OSPF 路由選擇域的不同部分的組播容量。
為支持 MOSPF,其中一個 OSPF 鏈路狀態廣告已經被修改,同時新增加了一個 OSPF 鏈路狀態廣告。路由器 LSA 的格式已被修改,包括一個表示路由器是否是一個 Wild-Card 組播接收端的新標誌。
路由器 LSA 中的 Rtype 欄位:
1 2 3 4 5 6 7 8 bit
* * * * W V E B
bit B ― B 即指邊界。將路由器設定為一個區域邊界路由器。這些路由器在 OSPF 區域內轉發單播數據流量。
bit E ― E 即指外部。將路由器設定為一個 AS 邊界路由器。這些路由器在自治系統間轉發單播數據流量。
bit V ― V 即指虛擬。將路由器設定為活動虛擬鏈路的終端,而將區域當作 Transit 區域使用。
bit W ― 將路由器設定為 Wild-Card 組播接收端。這些路由器接收所有組播數據報,而不管目的地是什麼。在某些時候,區域內組播轉發者和 AS 內組播轉發者就是 Wild-Card 組播接收端。
一種新的稱為組成員(LSA)的鏈路狀態廣告已經被添加到鏈路狀態資料庫的組播組成員中。非組播路由器對該廣告既不擴散也不處理。