組播路由詳解之稀疏模式
本文詳細的講述了組播路由稀疏模式的實現,主要從RP的發現,共享樹的建立過程以及源注冊,共享樹到源樹的轉換等方面進行的詳細的介紹。
一、RP發現
RP發現機制:配置若干路由器成為備選RP,備選RP發送包含自身參與競選的接口(一般用還回口來做),到224.0.0.39,被配置為RP映射器的路由器會監聽該地址,并對所有參選的路由器進行比較選出RP,通告到地址224.0.0.40,所有開啟組播DENSE-MODE的路由器將監聽這個地址,獲知RP
二、共享樹的建立,共享樹的建立過程
1、主機發送IGMP membership report加入組,葉路由器在本地路由表中添加(*,G)項,并添加鏈接主機的接口到出接口列表,
2.向RPF接口發出PIM JOIN消息(RPF通過單播路由表指向RP的接口)
3.如果是多路訪問網絡,則此工作由DR來完成,通過DR向上建立共享樹。由此消息一直向上傳遞,直到DR。共享樹建立完畢,注意稀疏模式是一種按需的模式,沒有主機加入的鏈路上不會產生相關共享樹。
4.置于轉發狀態的接口,如果三分鐘沒有收到來自下游鄰居或主機的加組消息,則該接口計時器到0時,將刪除該接口,如果一個(*,G)條目下的接口為空,那么將啟動(*,G)條目的超時計時器,三分鐘后如果仍無鄰居,則刪除(*,G)條目
5.共享樹剪枝,共享樹剪枝是由葉路由器或下游鄰居的剪枝消息引起的,這和密集模式大致一樣
6.為了適應路由表可能的更新,節點每5S做一次RPF校驗。
三、源注冊
1.***跳路由器,在收到源發出的數據流后在本地創建(S,G),其中出接口為空,RPF接口為0.0.0.0
2.***跳路由器用單播把組播數據封裝在注冊消息里發送給RP
3.RP收到后,知道了源的存活,如果此時已存在(*,G)共享樹,就把該注冊消息解封,把原數據向共享樹路由下去。并開始向源樹注冊SPT,其注冊過程為向著RPF(方向以源為準)方向逐條發送JOIN消息,一直到***跳路由器,一路創建(S,G)轉發條目,創建成功后***跳路由器開始將原始數據順著源樹組播路由到RP。
4.RP發送保留消息單播給***跳路由器,***跳路由器停止發包含一份組播數據的單播注冊消息。
5。源樹(S,G)條目的接口啟用超時計時器,三分鐘內沒收到鄰居的JOIN消息就刪除轉出接口,如果轉出接口為空,則(S,G)條目啟用超時計時器,超時計時器三分鐘到期后仍無JOIN消息,則刪除(S,G)條目,凡(S,G)條目皆是如此處理。
四。共享樹到源樹的切換(SWITCHOVER)
1.在葉路由器收到***個由共享樹的數據包時,開啟共享樹到源樹的轉換(默認情況下),非默認情況下將在達到組播數據速率閥值時啟動
2.葉路由器如果RP計算的RPF接口和源計算出的RPF接口是同一個接口,將只朝著源的RPF方向發出(S,G)JOIN消息,開始構建源樹(最短路徑樹)。如果RP計算的RPF接口和源計算出的RPF接口不是同一個接口,那么將同時發出帶RP位的(S,G)剪枝消息,該消息由于帶了RP位,將沿著共享樹向上傳遞,上游一直到RP都會創建一個(S,G)條目,該條目將從(*,G)復制出接口,并以RP為RPF接口的計算準則,將收到該消息的接口從轉出接口列表中剪除,以RP計算RPF接口,生成一個(S,G)條目。這樣保證未達到閥值的路由器仍能從共享樹正確的接收到消息。
3.一個很重要的原則是,當路由表里有(*,G)和(S,G)時,將以(S,G)為準轉發數據。同時該過程觸發的是兩條路線,一條順著最短路徑注冊源樹,另一條從源樹和共享樹的分叉口開始向共享樹進行帶RP位的(S,G)剪枝消息,使共享樹的相關枝葉上都生成了仍將RPF指向RP的(S,G)轉發條目,然而RP上的(S,G)條目是在源注冊后就生成的,他只剪除相應出接口,直至剪完。
4.最終相關達到閥值得路由器將從源樹(SPT)接收到組播數據。
【編輯推薦】