組播RPF校驗規則

在組播網絡中,要轉發組播數據的時候首先需要做一個RPF校驗,校驗成功才能夠轉發該數據。什麼是RPF呢?(Reverse path forward逆向路徑轉發)下面我們先看兩個例子。


      就上圖來說,假如在s0口受到一個組播包,路由器會在單播路由表裏面查看去往源151.10.3.21的接口是不是s0口,結果通過單播路由表查看發現,到150.10.0.0/16的路由是通過s1到達的,所以,RPF校驗失敗,此時路由器會丟棄次數據包。


      此圖可以看出RPF校驗成功了,那麼數據包將會在組播路由表中的outgoing列表中的接口轉發出去。

      下面看RPF的工作原理:
      路由器在接收到由源S 向組播組G 發送的組播報文後,首先查找組播轉發表:
1、如果存在對應(S,G)表項,且該組播報文實際到達接口與Incoming interface 一致,則向所有的outgoing interfaces 執行轉發;

2、如果存在對應(S,G)表項,但是報文實際到達接口與Incoming interface 不一致,則對此報文執行RPF 檢查。如果檢查通過,則將Incoming interface 修改爲報文實際到達接口,然後向所有的outgoing interfaces 執行轉發。

3、如果不存在對應(S,G)表項,則對此報文執行RPF 檢查。如果檢查通過,則根據相關路由信息,創建對應路由表項,然後向所有的outgoing interfaces 執行轉發。

4、如果當前組播路徑沿襲從組播源S 到客戶端的SPT 或組播源S 到RP的源樹,則路由器以源S 的IP 地址爲目的地址查找單播路由表,對應表項中的出接口爲RPF接口。路由器認爲由該RPF 接口接收到的組播報文所經歷的路徑是從源S 到本地的最短路徑。

5、如果當前組播路徑沿襲從RP 到客戶端的RPT,則路由器以RP 的IP 地址爲目的地址查找單播路由表,對應表項中的出接口爲RPF 接口。路由器認爲由該RPF 接口接收到的組播報文所經歷的路徑是從RP 到本地的最短路徑。
      將RPF 接口與組播報文的實際到達接口相比較,判斷到達路徑的正確性,從而決定是否進行轉發。

6、如果兩接口相一致,那麼就認爲這個組播包是從正確路徑而來,RPF 檢查成功。

7、如果兩接口不一致,將該組播報文丟棄。作爲路徑判斷依據的單播路由信息可以來源於任何一種單播路由協議、組播靜態路由或者MBGP 路由協議。


======================================================

RPF:Reverse Path Forwarding
當路由器某一個接口接收到組播包,就會在其組/單播路由表中查找其本身去往樹根時是不是從接收組播流的接口出去!如果是則RPF校驗通過並轉發組播包,否則,則丟棄。

在RPF Check中,只能有一個輸入接口。選舉方法如下順序:
Lower Metric
Higher IP(本地去往樹根的上游設備的接口的最大IP)

*RPF作用主要用於“防環”

=======================================================
RPF(Reverse Path Forwarding)
RPF檢驗的目地是爲了防環和防止重複報文

RPF的規則,收到組播包的方向(接口)也必須是本路由器用來向組播包的源地址進行數據轉發的方向(接口),否則扔掉數據包.

校驗規則
1,組播靜態路由
2,DVMRP
3,MP-BGP
4,單播路由表

根據單播路由表RPF選接口的比較原則
1,longest match  ---普通選路原則
2,lower ad ---普通選路原則
3,lower metric---不等價負載均衡,EIGRP和BGP
4,higher ip---等價負載均衡,適用各個協議


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章