MOSPF Multicast Open Shortest Path First 多播開(kāi)放式最短路徑優(yōu)先
MOSPF:組播擴(kuò)展 OSPF
。∕OSPF:Multicast OSPF)
組播擴(kuò)展 OSPF(MOSPF)在原 OSPF 第二版本的基礎(chǔ)上作了增強(qiáng)使之支持 IP 組播路由。這種改進(jìn)具有向后兼容性,當(dāng)轉(zhuǎn)發(fā)一般的(單播) IP 數(shù)據(jù)通信量時(shí),具有組播能力的路由器可以和無(wú)組播能力 OSPF 路由器互操作。
MOSPF 是通過(guò)在 OSPF 鏈接狀態(tài)通告中包含組播信息而工作的。一個(gè) MOSPF 路由器學(xué)到哪個(gè)局域網(wǎng) (LAN)上的哪個(gè)組播組在活動(dòng)。MOSPF 為每對(duì)源/組建立一個(gè)分配樹(shù)并且為發(fā)送到組的活動(dòng)源確定一個(gè)樹(shù)。樹(shù)的狀態(tài)被緩存,并且當(dāng)鏈接狀態(tài)發(fā)生變化或高速緩存器超時(shí)的情況,必須重新確定樹(shù)。
MOSPF 提供了通過(guò)因特網(wǎng)路由器在兩個(gè) IP 網(wǎng)絡(luò)之間轉(zhuǎn)發(fā)組播數(shù)據(jù)包的能力。MOSPF 轉(zhuǎn)發(fā)一個(gè)組播數(shù)據(jù)包是建立在該數(shù)據(jù)包的源和目的地址兩方面的基礎(chǔ)上。OSPF 鏈路狀態(tài)數(shù)據(jù)庫(kù)提供了一套關(guān)于自治系統(tǒng)(AS)拓樸的完整描述。通過(guò)加入新的鏈路狀態(tài)通告類型,即組成員(LSA),在該數(shù)據(jù)庫(kù)中可以查到所有組播組成員的位置。如此,再通過(guò)建立以數(shù)據(jù)包源為根的最短路徑樹(shù),可以計(jì)算出組播數(shù)據(jù)包的路徑。樹(shù)上所有不包含組播的分支都被剪除。當(dāng)接收到第一個(gè)數(shù)據(jù)包時(shí),也就初步形成了剪除過(guò)的最短路徑樹(shù)。最短路徑的計(jì)算結(jié)果被緩存起來(lái)以供具有相同源和終端的后續(xù)數(shù)據(jù)包使用。
MOSPF 被用于單個(gè)自治系統(tǒng)內(nèi)部。當(dāng)需要在整個(gè)因特網(wǎng)上支持 IP 組播時(shí),MOSPF 就得與用于自治系統(tǒng)間的組播路由協(xié)議如 DVMRP 共同使用。
運(yùn)行 MOSPF 的路由器只能工作于使用 MOSPF 的 internet 網(wǎng)絡(luò)中,但可以與非組播 OSPF 路由器混合使用。當(dāng)轉(zhuǎn)發(fā)一般的(單播) IP 數(shù)據(jù)庫(kù)通信量時(shí),兩種類型的路由器可以交互操作。在 MOSPF 中,與基本的 OSPF 協(xié)議中一樣,數(shù)據(jù)包(組播或單播)被原樣發(fā)送 ,當(dāng)它們經(jīng)過(guò)自治系統(tǒng)時(shí),不再進(jìn)行封裝或解裝。
協(xié)議結(jié)構(gòu)
MOSPF 數(shù)據(jù)包格式與 OSPF 第二版相同,但在 OSPF Hello 數(shù)據(jù)包、Database Des cription 數(shù)據(jù)包以及所有鏈路狀態(tài)廣告中另加了 Option 字段。該新選項(xiàng)指出了路由器或網(wǎng)絡(luò)的組播容量。但所有非組播路由器忽略該新選項(xiàng)。
1 2 3 4 5 6 7 8 bit
* * * * * MC E T
T-bit ― 描述路由器的 TOS 容量。
E-bit ― 由于外部鏈路廣告沒(méi)有被擴(kuò)散到 OSPF 子區(qū)域,E-bit 確保所有 Stub 區(qū)域的會(huì)員在區(qū)域配置上達(dá)成一致。
MC-bit ― 描述 OSPF 路由選擇域的不同部分的組播容量。
為支持 MOSPF,其中一個(gè) OSPF 鏈路狀態(tài)廣告已經(jīng)被修改,同時(shí)新增加了一個(gè) OSPF 鏈路狀態(tài)廣告。路由器 LSA 的格式已被修改,包括一個(gè)表示路由器是否是一個(gè) Wild-Card 組播接收端的新標(biāo)志。
路由器 LSA 中的 Rtype 字段:
1 2 3 4 5 6 7 8 bit
* * * * W V E B
bit B ― B 即指邊界。將路由器設(shè)置為一個(gè)區(qū)域邊界路由器。這些路由器在 OSPF 區(qū)域內(nèi)轉(zhuǎn)發(fā)單播數(shù)據(jù)流量。
bit E ― E 即指外部。將路由器設(shè)置為一個(gè) AS 邊界路由器。這些路由器在自治系統(tǒng)間轉(zhuǎn)發(fā)單播數(shù)據(jù)流量。
bit V ― V 即指虛擬。將路由器設(shè)置為活動(dòng)虛擬鏈路的終端,而將區(qū)域當(dāng)作 Transit 區(qū)域使用。
bit W ― 將路由器設(shè)置為 Wild-Card 組播接收端。這些路由器接收所有組播數(shù)據(jù)報(bào),而不管目的地是什么。在某些時(shí)候,區(qū)域內(nèi)組播轉(zhuǎn)發(fā)者和 AS 內(nèi)組播轉(zhuǎn)發(fā)者就是 Wild-Card 組播接收端。
一種新的稱為組成員(LSA)的鏈路狀態(tài)廣告已經(jīng)被添加到鏈路狀態(tài)數(shù)據(jù)庫(kù)的組播組成員中。非組播路由器對(duì)該廣告既不擴(kuò)散也不處理。