HCNP Routing&Switching之組播技術PIM-SM 稀疏模式

  前文我們了解了組播路由協議PIM以及PIM-DM密集模式相關話題,回顧請參考//www.cnblogs.com/qiuhom-1874/p/16084310.html;今天我們來聊一聊PIM的另外一種模式SM稀疏模式相關話題;

  PIM-SM概述

  PIM-SM(PIM Sparse Mode,協議無關組播-稀疏模式)是組播PIM的另外一種模式稀疏模式,該模式和密集模式相反,使用「拉(pull)」的方式來傳輸數據;適用於範圍較廣的大中型網路中,組成員分布相對分散的環境中;

  PIM-SM工作流程

  1、鄰居發現和DR選舉

  提示:PIM-SM鄰居發現過程和PIM-DM相同,都是通過發送hello包相互建立起鄰居;不同的是DM只會在靠近用戶側路由器選一個DR來充當IGMPv1的查詢器,v2v3版本不依賴PIM來選舉查詢器;簡單講就是DM里只會在靠近用戶側側的路由器上選舉一個DR,其作用就僅僅是充當IGMPv1的查詢器;而SM模式里DR不但要在靠近接收者側的路由器上選舉DR,在靠近組播源的路由器上也會選擇DR,其作用就是作為共享網段中唯一轉發組播數據的轉發者;

  DR選舉規則

  1、先比較優先順序,優先順序高者成為DR;

  2、如果優先順序一樣,則比較ip地址,ip地址大者成為DR;

  提示:接收者側的DR主要負責向RP發送加入報文,組播源側的DR主要負責向RP發送組成報文;RP就是共享點從源到RP一路建立源樹,RP到接收者一路建立共享樹;

  提示:連接接收者的路由器向組播組對應的RP發送加入報文,該報文被逐跳送達RP,所經過的路徑就形成了RPT的分支;組播源如果要想組播組發送組播數據,首先由於組播源側DR負責向RP進行註冊,把註冊報文通過單播的方式發送給RP,該報文到達RP後觸發構建SPT。之後組播源把組播數據沿著SPT發向RP,但組播數據達到RP後,被複制並沿著RPT發送給接收者;

  2、用戶加入過程

  提示:SM和DM不一樣有擴散-剪支-嫁接的過程;SM默認會認為整個網段里沒有用戶存在,所以它不會一上來就擴散;而是通過接收者DR向RP發起加入消息,該消息沿著每一台路由器都創建(*,G)表項,形成以RP為根的RPT;也就是說SM模式中只有出現接收者,才會構建組播路由,才會向對應網段轉發組播數據;如果有用戶離開,則也是用戶側發送剪支消息;加入-剪支是隨用戶側的變化而變化;

  提示:不管是靠近用戶側還是組播源側的路由器,都是在共享網段中選舉DR,不同共享網段的用戶是不同的DR;

  3、組播源註冊過程

  提示:首先是由DR通過組播報文中封裝單播註冊消息發送給RP,RP收到組播源的註冊消息後,會發送加入消息,從而組播源到RP的路由器建立起SPT;隨後在由RP向用戶側DR轉發組播數據(通過RPT),最終組播數據送達至用戶;

  註冊停止過程

  提示:當RP發送加入消息後,對應SPT形成後,RP會向組播源側DR發送註冊停止消息,意思就是告訴組播源你的註冊我這邊已經收到了,你那邊不用一直發送註冊消息;你可以停了,類似一個確認消息吧;

  通過上述過程,我們不難看出從源到RP,然後再從RP到用戶側,這樣一條轉發路徑不一定是最優的,並且如果有多個組播源,此時RP的流量是非常高的,負載也比較重;所以為了避免次優路徑和RP的負載,就有了下面的RPT向SPT切換到過程;、

  4、RPT向SPT切換過程

  提示:這個切換我們可以手動配置是否要切換,這個根據個人的環境來配置,默認情況下華為的模擬器是當接收者收到第一個組播報文後,接受者側DR發送加入消息,當組播源側DR收到用戶側DR發送的加入消息後,會隨加入消息的路徑建立起源樹,從而實現RPT向SPT的切換;

  提示:由用戶側DR或上游路由器向RP發送Prune消息,RP向組播源DR發送Prune消息進行多餘路徑剪支;

  提示:通過Prune剪支消息去把對應的源樹剪掉,從而完成源樹切換,最終形成源到接收者之間新的源樹;

  通過上述RPT向SPT的切換,我們可以看到PIM-SM能夠以比PIM-DM根經濟的方式建立SPT(其原因是SM不用全網擴散,全網擴散會消耗沿路路由器的記憶體資源、網路頻寬等);

  PIM-SM中的「Assert」斷言機制和PIM-DM中的斷言機制一樣,沒有區別;