PIM獨立組播協定
PIM(Protocol Independent Multicast)是一種組播路由協定。
PIM不依賴於某一特定的單播路由協定,它可以利用任意單播路由協定建立的單播路由表完成RPF檢查功能,從而建立組播路由。由於PIM無需收發組播路由更新,所以與其它組播路由協定相比,PIM開銷降低了許多。
PIM定義了兩種模式:稠密模式(Dense Mode)、稀疏模式(Sparse Mode)。PIM-DM(Protocol Independent Multicast-Dense Mode),即PIM的稠密模式,適用於網路規模比較小、組播成員相對集中的情況。PIM-DM在RFC 3973文檔中定義。
PIM-DM設備之間通過Hello訊息來發現鄰居。一旦PIM-DM設備啟動,它就周期性地在每個配置了PIM-DM的接口上傳送Hello訊息。Hello訊息有一個保持時間(Hello Hold Time)欄位,這個時間參數定義了鄰居等待下一個Hello訊息的最長時間。如果鄰居在這個時間內沒有收到另一個Hello訊息,就會將這個設備從鄰居關係表中刪除。
協定簡介
PIM-SM:稀疏模式獨立組播協定
(PIM-SM:Protocol Independent Multicast-Sparse Mode)
使用以下7種PIMv2訊息
Hello;
Bootstrap(引導);
Candidate-RP-Advertisement(候選RP通告);
Join/Prune(加入/剪出);
Assert(聲明);
Register(註冊);
Register-Stop(註冊終止);
其中Bootstrap(引導),Candidate-RP-Advertisement(候選RP通告),Register(註冊),Register-Stop(註冊終止)是PIM-SM特有訊息。其餘3條在PIM-DM也有。
PIM-SM 是一種能有效地將IP報文路由到跨越大範圍網路(WAN 和域間)組播組的協定,而 PIM-DM 主要用於區域網路。PIM-SM 協定不依賴於任何特定的單播路由協定,主要被設計來支持稀疏組。它使用了傳統的基於接收初始化成員關係的 IP 組播模型,支持共享和最短路徑樹,此外它還使用了軟狀態機制,以適應不斷變化的網路環境。它可以使用由任意路由協定輸入到組播路由信息庫(RIB)中的路由信息,這些路由協定包括單播協定如路由信息協定(RIP)和開放最短路徑優先(OSPF),還包括能產生路由表的組播協定如距離矢量組播路由協定 (DVMRP) 。
協定結構
PIM version Type Reserved (Address length) Checksum:
1)PIM Version ― 當前PIM版本號為2。
2)Type ― 特定 PIM 信息類型。
3)Address Length ― 地址大小(二進制形式)。
4)Reserved ― 該欄位值設為0,在接收端忽略。
5)Checksum ― 16位欄位是整個 PIM 信息的補充總和。
系統支持
PIM-SM 主要支持以下方面 :
1.維護 IP 組播服務模式(基於接收端啟動的組播組成員關係)。
在該模式中,源端只需要將數據包放到第一跳乙太網上,而不需要任何信令。接收端將給路由器發信令,以便加入到接收該數據的組播組中。
2.保持主機模型不變。
PIM-SM 是一個路由器到路由器的協定,這意味著主機不需要升級,只是需要在網路中配置支持 PIM-SM 的路由器。
3.支持共享和源分配樹。
對於共享樹,PIM-SM 使用名為 Rendezvous Point (RP)的中心路由器,作為共享樹的根。所有源主機都將它們的組播通信傳送給 RP,RP 將依次通過通用數將這些包轉發給組的所有成員。源樹將源端和接受端直接相連,每個源端都有一棵單獨的樹。從單播路由表來看,每棵源樹都是最短路徑樹。PIM-SM 可以使用其中一種類型的樹,或者同時使用兩者。
4.維護任何特定單播路由協定的獨立性。
5.使用軟狀態機制,以適應不斷變化的網路環境和組播組。
軟狀態意思是,除非被刷新,否則路由器的狀態配置是短期的,並在一段時間後失效。
當前 PIM-SM 有兩種版本。我們主要關注第二版本,其套用較為廣泛。