08-MSDP配置
本章節下載: 08-MSDP配置 (675.56 KB)
MSDP(Multicast Source Discovery Protocol,組播源發現協議)是為了解決多個PIM-SM(Protocol Independent Multicast-Sparse Mode,協議無關組播—稀疏模式)域之間的互連而開發的一種域間組播解決方案,用來發現其它PIM-SM域內的組播源信息。MSDP僅對ASM(Any-Source Multicast,任意信源組播)模型有意義。
本文中所提到的DR(Designated Router,指定路由器)、BSR(Bootstrap Router,自舉路由器)、C-BSR(Candidate-BSR,候選BSR)、RP(Rendezvous Point,彙集點)、C-RP(Candidate-RP,候選RP)、SPT(Shortest Path Tree,最短路徑樹)和RPT(Rendezvous Point Tree,共享樹)等概念的詳細介紹,請參見“IP組播配置指導”中的“PIM”。
MSDP通過在網絡中選取適當的設備建立MSDP對等體關係,以連通各PIM-SM域的RP。通過在各MSDP對等體之間交互SA(Source Active,信源有效)報文來共享組播源信息。
通過在網絡中配置一對或多對MSDP對等體,形成彼此相連的一張“MSDP連通圖”。
圖1-1 MSDP對等體的位置
如圖1-1所示,MSDP對等體可以創建在任意的PIM-SM設備上,在不同角色的PIM-SM設備上所創建的MSDP對等體的功能有所不同。
· 在RP上創建的MSDP對等體:
¡ 源端MSDP對等體:即離組播源(Source)最近的MSDP對等體(通常也就是源端RP,如RP 1)。源端RP創建SA報文並發送給遠端MSDP對等體,通告在本RP上注冊的組播源信息。源端MSDP對等體必須配置在RP上,否則將無法向外發布組播源信息。
¡ 接收者端MSDP對等體:即離接收者(Receiver)最近的MSDP對等體(如RP 3)。接收者端MSDP對等體在收到SA報文後,根據該報文中所包含的組播源信息,跨域加入以該組播源為根的SPT;當來自該組播源的組播數據到達後,再沿RPT向本地接收者轉發。
¡ 中間MSDP對等體:即擁有多個遠端MSDP對等體的MSDP對等體(如RP 2)。中間MSDP對等體把從一個遠端MSDP對等體收到的SA報文轉發給其它遠端MSDP對等體,其作用相當於傳輸組播源信息的中轉站。
· 在普通的PIM-SM設備(非RP)上創建的MSDP對等體:
如Device A和Device B,其作用僅限於將收到的SA報文轉發出去。
對於通過BSR機製動態選舉RP的PIM-SM網絡來說,RP是由C-RP選舉產生的。為了增強其網絡的健壯性,一個PIM-SM域內往往存在不止一個C-RP。由於無法預計RP選舉的結果,為了保證選舉獲勝的C-RP能始終位於“MSDP連通圖”上,需要在所有的C-RP之間建立MSDP對等體關係。而選舉落敗的C-RP在“MSDP連通圖”上所擔當的角色相當於普通的PIM-SM設備。
如圖1-2所示,PIM-SM 1域內存在激活的組播源(Source),RP 1通過組播源注冊過程了解到了該組播源的存在。如果PIM-SM 2和PIM-SM 3域也希望知道該組播源的具體位置,進而能夠從該組播源獲取組播數據,則需要在RP 1與RP 3、RP 2與RP 3之間分別建立MSDP對等體關係。
圖1-2 MSDP實現域間組播示意圖
借助MSDP對等體進行PIM-SM域間組播的工作過程如下:
(1) 當PIM-SM 1域內的組播源向組播組G發送第一個組播數據包時,DR 1將該組播數據封裝在注冊報文(Register Message)中,並發給RP 1。RP 1因此獲知了該組播源的相關信息。
(2) RP 1作為源端RP,創建SA報文,並周期性地向其它MSDP對等體發送。SA報文中包含組播源的地址S、組播組的地址G以及創建該SA報文的源端RP(即RP 1)的地址。
(3) MSDP對等體對收到的SA報文進行RPF(Reverse Path Forwarding,逆向路徑轉發)檢查,以及各種轉發策略的過濾,從而隻接受和轉發來自正確路徑並通過過濾的SA報文,以避免SA報文傳遞環路;另外,可以在MSDP對等體之間配置MSDP全連接組(Mesh Group),既所有組成員之間兩兩建立MSDP對等體關係,且所有組成員均使用相同的組名稱,以避免SA報文在MSDP對等體之間的泛濫。
(4) SA報文在MSDP對等體之間轉發,最終該組播源的相關信息將傳遍所有建立了MSDP對等體關係的PIM-SM域(即PIM-SM 2和PIM-SM 3)。
(5) PIM-SM 2中的RP 2在收到該SA報文後,檢查本域內是否有組播組G的接收者(Receiver)存在:
¡ 如果有接收者,RP 2與接收者之間維護組播組G的RPT。RP 2創建(S,G)表項,向組播源方向逐跳發送(S,G)加入報文(Join Message),從而跨越各PIM-SM域在沿途形成SPT。組播數據沿SPT到達RP 2後,再沿RPT向接收者轉發。當接收者側的DR 2收到來自組播源的組播數據後,可根據配置來決定是否發起SPT切換;
¡ 如果沒有接收者,RP 2不會創建(S,G)表項,也不會向組播源方向發送加入報文。
在使用MSDP進行域間組播時,RP在收到組播源的信息後就不再需要依賴其它PIM-SM域內的RP,此時接收者可以跨越各PIM-SM域內的RP,而直接加入基於組播源的SPT。
如圖1-3所示,網絡中有五個自治係統AS 1~AS 5,AS內部使用IGP互聯,AS之間使用BGP或MBGP互聯。每個AS中包含至少一個PIM-SM域,且每個PIM-SM域中包含至少一個RP。各RP之間建立起MSDP對等體關係,其中RP 3、RP 4和RP 5之間建立MSDP全連接組,並在RP 7上將RP 6配置為其靜態RPF對等體。
設備對於來自靜態RPF對等體的SA報文不進行RPF檢查,直接接受並向其它對等體轉發。
圖1-3 SA報文的RPF檢查規則
對照圖1-3,這些MSDP對等體將按照如下RPF檢查規則處理收到的SA報文:
(1) 當RP 2收到RP 1發來的SA報文時:由於SA報文中所攜帶的源端RP的地址與MSDP對等體的地址相同,說明發出SA報文的MSDP對等體就是創建該SA報文的RP,於是RP 2接受該SA報文並向其它對等體(RP 3)轉發。
(2) 當RP 3收到RP 2發來的SA報文時:由於SA報文來自同一個AS的MSDP對等體(RP 2),且該對等體是到源端RP最佳路徑上的下一跳,於是RP 3接受該SA報文並向其它對等體(RP 4和RP 5)轉發。
(3) 當RP 4和RP 5分別收到RP 3發來的SA報文時:由於SA報文來自同一個全連接組的MSDP對等體(RP 3),於是RP 4和RP 5均接受該SA報文並不再向本組其它成員轉發,而隻向本組之外的其它MSDP對等體(RP 6)轉發。
(4) 當RP 6收到RP 4和RP 5(假設RP 5的IP地址較大)發來的SA報文時:盡管同處AS 3的RP 4和RP 5都與RP 6建立了MSDP對等體關係,但RP 6隻接受IP地址較高的MSDP對等體(RP 5)發來的SA報文。
(5) 當RP 7收到RP 6發來的SA報文時:由於SA報文來自其靜態RPF對等體(RP 6),於是RP 7接受該SA報文並向其它對等體(RP 8)轉發。
(6) 當RP 8收到RP 7發來的SA報文時:屬於不同AS的MSDP對等體之間存在BGP或MBGP路由。由於SA報文來自不同AS的MSDP對等體(RP 7),且該對等體是到源端RP的BGP或MBGP路由的下一跳,於是RP 8接受該SA報文並向其它對等體(RP 9)轉發。
(7) 當RP 9收到RP 8發來的SA報文時:由於隻有一個MSDP對等體(RP 8),於是RP 9接受該SA報文。
對於由其它路徑到來的SA報文,MSDP對等體將不接受也不轉發。
PIM-SM要求每個組播組隻能有一個激活的RP,因此當某RP失效時,可能導致其對應組播組的流量中斷。Anycast-RP機製通過為同一組播組設置具有相同地址的多個RP,組播源和接收者各自就近選擇RP進行注冊或加入,這些RP之間則進行組播源信息的同步,從而實現了RP間的冗餘備份。
MSDP通過為同一組播組設置具有相同地址的多個RP,並在這些RP之間建立MSDP對等體關係來實現Anycast-RP。
如圖1-4所示。在一個PIM-SM域內,組播源(Source)向組播組G發送組播數據,接收者(Receiver)是組播組G的成員。分別在Device A和Device B上配置相同的IP地址(即Anycast-RP地址,通常使用私有地址),將這些接口配置為C-RP,並在Device A和Device B之間建立MSDP對等體關係。
圖1-4 基於MSDP實現Anycast-RP示意圖
基於MSDP實現Anycast-RP的工作過程如下:
(1) 當組播源測DR收到來自組播源的組播數據時,選擇距離最近的RP(本例中為RP 1)進行注冊。
(2) 當接收者側DR收到接收者的加入請求時,向距離最近的RP(本例中為RP 2)發送加入報文,從而形成以該RP為根的RPT。
(3) 各RP之間通過交互SA報文,共享組播源信息。當RP 2獲得組播源信息後,向組播源方向發送加入報文,從而在沿途形成SPT。
(4) 當組播數據沿SPT到達RP 2後,再沿RPT向接收者轉發;接收者側DR收到組播數據後,可根據配置來決定是否發起SPT切換。
屬於同一實例的組播設備各接口之間可以建立MSDP對等體。通過在MSDP對等體之間交互SA報文,可以實現跨域的VPN組播。
應用多實例的組播設備,為其所支持的每一個實例都獨立維護了一套MSDP機製,包括:SA緩存、對等體連接、定時器、發送緩存和PIM交互的緩衝區。同時,保證不同實例之間信息隔離。所以,隻有屬於同一實例的MSDP和PIM-SM信息才可以交互。
與MSDP相關的協議規範有:
· RFC 3618:Multicast Source Discovery Protocol (MSDP)
· RFC 3446:Anycast Rendevous Point (RP) mechanism using Protocol Independent Multicast (PIM) and Multicast Source Discovery Protocol (MSDP)
MSDP配置任務如下:
(1) 使能MSDP
(2) 創建MSDP對等體
(3) (可選)配置靜態RPF對等體
(4) (可選)配置MSDP全連接組
(5) (可選)配置MSDP對等體連接控製
(6) (可選)配置SA報文
¡ 配置SA請求報文
¡ 配置SA報文緩存
(7) (可選)配置基於MSDP實現Anycast-RP
(8) (可選)配置MSDP NSR功能
(9) (可選)配置設備發送的MSDP協議報文的DSCP優先級
在配置MSDP之前,需要完成如下操作:
· 配置任一單播路由協議,實現域內網絡層互通。
· 配置PIM-SM,實現域內組播。
(1) 進入係統視圖。
system-view
(2) 使能IP組播路由,並進入MRIB視圖。
multicast routing [ vpn-instance vpn-instance-name ]
缺省情況下,IP組播路由處於關閉狀態。
本命令的詳細介紹請參見“IP組播命令參考”中的“組播路由與轉發”。
(3) 退回係統視圖。
quit
(4) 使能MSDP,並進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
缺省情況下,MSDP處於關閉狀態。
MSDP對等體使用地址對來標識,即本端MSDP對等體地址和遠端MSDP對等體地址。需要在互為對等體的兩端都創建MSDP對等體。
管理員可以通過MSDP對等體的描述信息方便地區分不同的MSDP對等體,從而更好地管理MSDP對等體。
如果某接口同時作為MSDP對等體和BGP/MBGP對等體中的一端,則建議為MSDP對等體配置與BGP或MBGP對等體相同的IP地址。
(1) 進入係統視圖。
system-view
(2) 進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
(3) 創建MSDP對等體。
peer peer-address connect-interface interface-type interface-number
(4) (可選)配置MSDP對等體的描述信息。
peer peer-address description text
缺省情況下,MSDP對等體不存在描述信息。
通過配置靜態RPF對等體可以免除對收到的SA報文進行RPF檢查。
如果在一台設備上隻配置了一個MSDP對等體,則該MSDP對等體將被當作靜態RPF對等體。
(1) 進入係統視圖。
system-view
(2) 進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
(3) 配置靜態RPF對等體。
static-rpf-peer peer-address [ rp-policy ip-prefix-name ]
缺省情況下,不存在靜態RPF對等體。
一個自治係統內可能包含多個MSDP對等體,為了避免這些MSDP對等體之間泛濫SA報文,可以使用MSDP全連接組來優化數據流量。
構成全連接組的MSDP對等體,一方麵將來自組外並通過了RPF檢查的SA報文轉發給組內的其它成員;另一方麵,對來自組內成員的SA報文不經RPF檢查就接受,也不在組內進行重複轉發。這種操作既避免了SA報文的泛濫,同時還由於不需要在MSDP對等體之間運行BGP或MBGP,從而簡化了對等體RPF檢查機製。
通過為多個MSDP對等體配置相同的全連接組名稱,可以建立MSDP全連接組。
在配置MSDP全連接組之前,應使各設備之間保持兩兩互連。
如果在同一MSDP對等體上多次配置加入全連接組,最後一個配置有效。
(1) 進入係統視圖。
system-view
(2) 進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
(3) 把MSDP對等體加入全連接組。
peer peer-address mesh-group name
缺省情況下,MSDP對等體不屬於全連接組。
MSDP對等體之間使用TCP進行連接(端口號為639),用戶可以手工關閉或重建MSDP對等體連接,靈活控製MSDP對等體之間的會話。當關閉了MSDP對等體連接後,MSDP對等體之間不再傳遞SA報文,TCP連接關閉,並不再重試建立連接,但配置信息會被保留。
(1) 進入係統視圖。
system-view
(2) 進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
(3) 關閉MSDP對等體連接。
shutdown peer-address
缺省情況下,MSDP對等體的連接處於開啟狀態。
當MSDP對等體之間建立會話後,會定時互發Keepalive報文(其發送間隔被稱為保活時間),以免對端認為會話已中斷。如果一端在保持時間內未收到對端的Keepalive報文或其它報文,便斷開此會話。由於MSDP對等體之間沒有保活時間和保持時間的協商機製,因此必須為兩端配置相同的保活時間和保持時間,且保活時間必須小於保持時間。
(1) 進入係統視圖。
system-view
(2) 進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
(3) 配置MSDP對等體會話的保活時間和保持時間。
timer keepalive keepalive holdtime
缺省情況下,MSDP會話的保活時間為60秒,保持時間為75秒。
本命令會對已建立的MSDP會話立即生效。
當新創建了MSDP對等體、或重新啟動了被關閉的MSDP對等體連接、或發生故障的MSDP對等體嚐試恢複工作時,需要在MSDP對等體之間建立TCP連接。用戶可以靈活地調整建立MSDP對等體連接的重試周期。
(1) 進入係統視圖。
system-view
(2) 進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
(3) 配置建立MSDP對等體連接的重試周期。
timer retry interval
缺省情況下,建立MSDP對等體連接的重試周期為30秒。
為了提高MSDP的安全性,可以配置MSDP對等體在建立TCP連接時進行MD5認證。該認證並不能對MSDP報文進行認證,它隻是為TCP連接設置MD5認證密鑰,並由TCP完成認證。如果認證失敗,則無法建立TCP連接。
參與MD5認證的兩端MSDP對等體必須配置相同的認證方式和密鑰,否則將由於不能通過認證而無法建立TCP連接。
(1) 進入係統視圖。
system-view
(2) 進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
(3) 配置MSDP對等體建立TCP連接時進行MD5認證。
peer peer-address password { cipher | simple } password
缺省情況下,MSDP對等體建立TCP連接時不進行MD5認證。
某些組播源發送組播數據的時間間隔較長,超出了(S,G)表項的超時時間。在這種情況下,源端DR隻能將組播數據逐個封裝在注冊報文中,發送給源端RP。源端RP使用SA報文將(S,G)信息傳輸給遠端RP。然後,遠端RP向源端DR發起加入過程,並創建SPT。由於(S,G)表項已超時,遠端用戶將永遠無法收到該組播源發出的組播數據。
當在源端RP上使能了在SA報文中封裝組播數據報文的功能後,源端RP會將組播數據報文封裝在SA報文中發送出去。遠端RP收到該SA報文後解封裝,並將組播數據報文沿RPT傳輸給本域內的用戶。
(1) 進入係統視圖。
system-view
(2) 進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
(3) 使能在SA報文中封裝組播數據報文。
encap-data-enable
缺省情況下,在SA報文中隻包含(S,G)表項,不封裝組播數據報文。
SA報文缺省由實際RP創建。當MSDP對等體對收到的SA報文進行RPF檢查時,如果發現其攜帶的RP地址與本端RP的地址相同,就會丟棄該報文。但在Anycast-RP應用中,恰恰要求在不同設備上配置IP地址相同的RP,並在這些RP之間建立MSDP對等體關係,這將導致在這些MSDP對等體之間傳遞的SA報文無法通過對方的RPF檢查。
為了解決這個問題,就不能使用實際RP來創建SA報文,而必須使用一個虛擬的RP來創建SA報文,並將MSDP對等體建立在生成RP之間。這個虛擬的RP也被稱為“生成RP”。
(1) 進入係統視圖。
system-view
(2) 進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
(3) 將接口配置為創建SA報文的生成RP。
originating-rp interface-type interface-number
缺省情況下,創建SA報文的RP為實際RP。
缺省情況下,當一個新接收者加入時,設備不會主動向其MSDP對等體發送SA請求報文,而是等待其MSDP對等體在下一個周期發來的SA報文,這將延遲接收者獲取組播源信息的時間。為了盡快讓新接收者了解到當前活躍的組播源信息,需要主動向MSDP對等體發送SA請求報文。
通過配置SA請求報文的過濾規則可以有選擇的接收指定組播組發送的SA請求報文。
在使能發送SA請求報文功能之前,必須首先利用命令 undo cache-sa-enable關閉SA報文緩存機製,否則設備不會向外發送SA請求報文。
(1) 進入係統視圖。
system-view
(2) 進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
(3) 使能發送SA請求報文。
peer peer-address request-sa-enable
缺省情況下,設備收到新的組加入報文時,不向其MSDP對等體發送SA請求報文,而是等待下一周期SA報文的到來。
(4) 配置SA請求報文的過濾規則。
peer peer-address sa-request-policy [ acl ipv4-acl-number ]
缺省情況下,不對SA請求報文進行過濾。
可以從以下幾個方麵配置SA報文過濾規則:
· 配置SA報文的創建規則:通過配置SA報文的創建規則,設備可以在創建SA報文時,對其通告的(S,G)表項進行過濾,從而實現在創建SA報文時對組播源消息傳播的控製。
· 配置接收或轉發SA報文的過濾規則:通過配置接收或轉發SA報文的過濾規則,設備可以在接收或轉發SA報文時,對其通告的(S,G)轉發項進行過濾,從而實現在接收和轉發SA報文時,對組播源消息傳播的控製。
· 配置封裝在SA報文中組播數據報文的最小TTL值:通過配置封裝在SA報文中組播數據報文的TTL閾值,可以對組播數據報文在SA報文中的封裝以及傳輸範圍進行限製:
¡ 設備在創建封裝有組播數據報文的SA報文之前,先檢查該組播數據報文IP頭的TTL值:如果小於閾值,則不創建該SA報文;如果大於或等於閾值,則將組播數據報文封裝在SA報文中並轉發出去。
¡ 設備在收到封裝有組播數據報文的SA報文之後,先將該組播數據報文IP頭的TTL值減1,再檢查此時的TTL值:如果小於閾值,則不再向其指定的MSDP對等體轉發;如果大於或等於閾值,則重新將組播數據報文封裝在SA報文中並轉發出去。
(1) 進入係統視圖。
system-view
(2) 進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
(3) 配置SA報文的創建規則。
import-source [ acl ipv4-acl-number ]
缺省情況下,在創建SA報文時,對其通告的(S,G)表項不作限製。
(4) 配置接收或轉發SA報文的過濾規則。
peer peer-address sa-policy { export | import } [ acl ipv4-acl-number ]
缺省情況下,不對接收或轉發的SA報文進行過濾。
(5) 配置封裝在SA報文中組播數據報文的最小TTL值。
peer peer-address minimum-ttl ttl-value
缺省情況下,封裝在SA報文中組播數據報文的最小TTL值為0。
為了減少獲取組播信息的延遲時間,可以在設備上使能SA報文緩存機製,即在本地緩存SA報文中所包含的(S,G)表項。緩存的(S,G)表項越多,所占用的內存空間越大。
在使能了SA報文緩存機製後,當收到一個新的組加入報文(*,G)時,設備首先查找SA緩存:
· 如果緩存中沒有對應的(S,G),便等候其MSDP對等體在下一個周期發來的SA報文;
· 如果緩存中有對應的(S,G),則直接加入以S為根的SPT。
為了有效防止設備受到DoS(Denial of Service,拒絕服務)攻擊,可以在設備上配置可緩存(S,G)表項的最大數量。
(1) 進入係統視圖。
system-view
(2) 進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
(3) 使能SA報文緩存機製。
cache-sa-enable
缺省情況下,SA報文緩存機製處於使能狀態,即在設備收到SA報文後緩存其中包含的(S,G)表項。
(4) (可選)配置緩存指定MSDP對等體(S,G)表項的最大值。
peer peer-address sa-cache-maximum sa-limit
缺省情況下,可緩存從任一MSDP對等體學到的(S,G)表項的最大數量為4294967295。
(1) 在不同設備上配置IP地址相同的RP。
有關RP的詳細介紹,請參見“IP組播配置指導”中的“PIM”。
(2) 在這些設備之間建立MSDP對等體關係。
有關建立MSDP對等體關係,具體詳請參見“1.5 創建MSDP對等體”。
MSDP對等體的地址不能與Anycast-RP地址相同。
MSDP NSR(Nonstop Routing,不間斷路由)通過將MSDP協議的必要協議狀態和數據(如MSDP對等體信息和遠端源信息)從主進程備份到備進程。使得MSDP協議的主進程中斷時,備份進程能夠無縫地接管主進程的工作,從而確保鄰接設備感知不到MSDP協議中斷,保持路由信息,並保證組播轉發不會中斷。
(1) 進入係統視圖。
system-view
(2) 開啟MSDP NSR功能。
msdp non-stop-routing
缺省情況下,MSDP NSR功能處於關閉狀態。
DSCP優先級用來體現報文自身的優先等級,決定報文傳輸的優先程度。通過本配置可以指定設備發送的MSDP協議報文的DSCP優先級。
(1) 進入係統視圖。
system-view
(2) 進入MSDP視圖。
msdp [ vpn-instance vpn-instance-name ]
(3) 配置設備發送的MSDP協議報文的DSCP優先級。
dscp dscp-value
缺省情況下,設備發送的MSDP協議報文的DSCP優先級為48。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後MSDP的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除MSDP的統計信息。
表1-1 MSDP顯示和維護
操作 |
命令 |
顯示MSDP對等體的簡要信息 |
display msdp [ vpn-instance vpn-instance-name ] brief [ state { connect | disabled | established | listen | shutdown } ] |
顯示MSDP NSR狀態信息 |
display msdp non-stop-routing status |
顯示MSDP對等體的詳細狀態信息 |
display msdp [ vpn-instance vpn-instance-name ] peer-status [ peer-address ] |
顯示SA緩存中的(S,G)表項信息 |
display msdp [ vpn-instance vpn-instance-name ] sa-cache [ group-address | source-address | as-number ] * |
顯示SA緩存中(S,G)表項的數量 |
display msdp [ vpn-instance vpn-instance-name ] sa-count [ as-number ] |
重置與MSDP對等體的TCP連接,並清除MSDP對等體的所有統計信息 |
reset msdp [ vpn-instance vpn-instance-name ] peer [ peer-address ] |
清除SA緩存中的(S,G)表項 |
reset msdp [ vpn-instance vpn-instance-name ] sa-cache [ group-address ] |
在不重置MSDP對等體的情況下,清除MSDP對等體的統計信息 |
reset msdp [ vpn-instance vpn-instance-name ] statistics [ peer-address ] |
· 網絡中存在兩個自治係統:AS 100和AS 200,各AS內部采用OSPF協議、AS之間則采用BGP協議以保證單播路由的暢通;
· PIM-SM 1屬於AS 100,PIM-SM 2和PIM-SM 3屬於AS 200,每個PIM-SM域分別擁有至少一個組播源(Source)或接收者(Receiver);
· 將Switch B、Switch C和Switch E各自的LoopBack0接口分別配置為各自PIM-SM域的C-BSR和C-RP;
· 通過在各PIM-SM域的RP之間建立MSDP對等體,從而實現各PIM-SM域之間組播源信息的共享。
圖1-5 PIM-SM域間組播配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Switch A |
Vlan-int103 |
10.110.1.2/24 |
Switch D |
Vlan-int104 |
10.110.4.2/24 |
|
Vlan-int100 |
10.110.2.1/24 |
|
Vlan-int300 |
10.110.5.1/24 |
|
Vlan-int200 |
10.110.3.1/24 |
Switch E |
Vlan-int105 |
10.110.6.1/24 |
Switch B |
Vlan-int103 |
10.110.1.1/24 |
|
Vlan-int102 |
192.168.3.2/24 |
|
Vlan-int101 |
192.168.1.1/24 |
|
Loop0 |
3.3.3.3/32 |
|
Loop0 |
1.1.1.1/32 |
Switch F |
Vlan-int105 |
10.110.6.2/24 |
Switch C |
Vlan-int104 |
10.110.4.1/24 |
|
Vlan-int400 |
10.110.7.1/24 |
|
Vlan-int102 |
192.168.3.1/24 |
Source 1 |
- |
10.110.2.100/24 |
|
Vlan-int101 |
192.168.1.2/24 |
Source 2 |
- |
10.110.5.100/24 |
|
Loop0 |
2.2.2.2/32 |
|
|
|
按照組網圖配置各接口的IP地址和子網掩碼,並在AS內的各交換機上配置OSPF協議。
(1) 使能IP組播路由,使能PIM-SM和IGMP,並配置BSR的服務邊界
# 在Switch A上使能IP組播路由,在主機側接口Vlan-interface200上使能IGMP,並在其它接口上使能PIM-SM。
<SwitchA> system-view
[SwitchA] multicast routing
[SwitchA-mrib] quit
[SwitchA] interface vlan-interface 103
[SwitchA-Vlan-interface103] pim sm
[SwitchA-Vlan-interface103] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] pim sm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 200
[SwitchA-Vlan-interface200] igmp enable
[SwitchA-Vlan-interface200] quit
Switch B、Switch C、Switch D、Switch E和Switch F上的配置與Switch A相似,配置過程略。
# 在Switch B上配置BSR的服務邊界。
[SwitchB] interface vlan-interface 101
[SwitchB-Vlan-interface101] pim bsr-boundary
[SwitchB-Vlan-interface101] quit
Switch C和Switch E上的配置與Switch B相似,配置過程略。
(2) 配置C-BSR和C-RP的位置
# 在Switch B上將LoopBack0接口配置為C-BSR和C-RP。
[SwitchB] pim
[SwitchB-pim] c-bsr 1.1.1.1
[SwitchB-pim] c-rp 1.1.1.1
[SwitchB-pim] quit
Switch C和Switch E上的配置與Switch B相似,配置過程略。
(3) 配置BGP協議,將BGP與OSPF互相引入
# 在Switch B上配置EBGP對等體,並引入OSPF路由。
[SwitchB] bgp 100
[SwitchB-bgp] router-id 1.1.1.1
[SwitchB-bgp] peer 192.168.1.2 as-number 200
[SwitchB-bgp] address-family ipv4 unicast
[SwitchB-bgp-ipv4] import-route ospf 1
[SwitchB-bgp-ipv4] peer 192.168.1.2 enable
[SwitchB-bgp-ipv4] quit
# 在Switch C上配置EBGP對等體,並引入OSPF路由。
[SwitchC] bgp 200
[SwitchC-bgp] router-id 2.2.2.2
[SwitchC-bgp] peer 192.168.1.1 as-number 100
[SwitchC-bgp] address-family ipv4 unicast
[SwitchC-bgp-ipv4] import-route ospf 1
[SwitchC-bgp-ipv4] peer 192.168.1.1 enable
[SwitchC-bgp-ipv4] quit
# 在Switch B的OSPF中引入BGP。
[SwitchB] ospf 1
[SwitchB-ospf-1] import-route bgp
[SwitchB-ospf-1] quit
# 在Switch C的OSPF中引入BGP。
[SwitchC] ospf 1
[SwitchC-ospf-1] import-route bgp
[SwitchC-ospf-1] quit
(4) 配置MSDP對等體
# 在Switch B上配置MSDP對等體。
[SwitchB] msdp
[SwitchB-msdp] peer 192.168.1.2 connect-interface vlan-interface 101
[SwitchB-msdp] quit
# 在Switch C上配置MSDP對等體。
[SwitchC] msdp
[SwitchC-msdp] peer 192.168.1.1 connect-interface vlan-interface 101
[SwitchC-msdp] peer 192.168.3.2 connect-interface vlan-interface 102
[SwitchC-msdp] quit
# 在Switch E上配置MSDP對等體。
[SwitchE] msdp
[SwitchE-msdp] peer 192.168.3.1 connect-interface vlan-interface 102
[SwitchE-msdp] quit
# 顯示Switch B上BGP IPv4單播對等體或對等體組的信息。
[SwitchB] display bgp peer ipv4
BGP local router ID: 1.1.1.1
Local AS number: 100
Total number of peers: 1 Peers in established state: 1
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
192.168.1.2 200 24 21 0 6 00:20:07 Established
# 顯示Switch C上BGP IPv4單播對等體或對等體組的信息。
[SwitchC] display bgp peer ipv4
BGP local router ID: 2.2.2.2
Local AS number: 1
Total number of peers: 1 Peers in established state: 1
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
192.168.1.1 100 18 16 0 1 00:20:07 Established
# 顯示Switch C上BGP IPv4單播路由的信息。
[SwitchC] display bgp routing-table ipv4
Total number of routes: 5
BGP local router ID is 2.2.2.2
Status codes: * - valid, > - best, d - dampened, h - history,
s - suppressed, S - stale, i - internal, e - external
Origin: i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
* > 1.1.1.1/32 192.168.1.1 0 0 100?
* >i 2.2.2.2/32 0.0.0.0 0 0 ?
* > 192.168.1.0 0.0.0.0 0 0 ?
* > 192.168.1.1/32 0.0.0.0 0 0 ?
* > 192.168.1.2/32 0.0.0.0 0 0 ?
當PIM-SM 1和PIM-SM 2域內的組播源Source 1和Source 2發送組播信息時,PIM-SM 1和PIM-SM 3域內的接收者能收到該組播信息。
# 顯示Switch B上MSDP對等體的簡要信息。
[SwitchB] display msdp brief
Configured Established Listen Connect Shutdown Disabled
1 1 0 0 0 0
Peer address State Up/Down time AS SA count Reset count
192.168.1.2 Established 00:12:57 200 13 0
# 顯示Switch C上MSDP對等體的簡要信息。
[SwitchC] display msdp brief
Configured Established Listen Connect Shutdown Disabled
1 1 0 0 0 0
Peer address State Up/Down time AS SA count Reset count
192.168.3.2 Established 01:43:57 ? 8 0
192.168.1.1 Established 01:43:57 ? 13 0
# 顯示Switch E上MSDP對等體的簡要信息。
[SwitchE] display msdp brief
Configured Established Listen Connect Shutdown Disabled
1 1 0 0 0 0
Peer address State Up/Down time AS SA count Reset count
192.168.3.1 Established 01:07:57 200 8 0
# 顯示Switch B上MSDP對等體的詳細狀態信息。
[SwitchB] display msdp peer-status
Description:
Information about connection status:
State: Established
Up/down time: 00:15:47
Resets: 0
Connection interface: Vlan-interface101 (192.168.1.1)
Received/sent messages: 16/16
Discarded input messages: 0
Discarded output messages: 0
Elapsed time since last connection or counters clear: 00:17:40
Mesh group peer joined: momo
Last disconnect reason: Hold timer expired with truncated message
Truncated packet: 5 bytes in buffer, type: 1, length: 20, without packet time: 75s
Information about (Source, Group)-based SA filtering policy:
Import policy: None
Export policy: None
Information about SA-Requests:
Policy to accept SA-Requests: None
Sending SA-Requests status: Disable
Minimum TTL to forward SA with encapsulated data: 0
SAs learned from this peer: 0, SA cache maximum for the peer: 4294967295
Input queue size: 0, Output queue size: 0
Counters for MSDP messages:
RPF check failure: 0
Incoming/outgoing SA: 0/0
Incoming/outgoing SA-Request: 0/0
Incoming/outgoing SA-Response: 0/0
Incoming/outgoing Keepalive: 867/867
Incoming/outgoing Notification: 0/0
Incoming/outgoing Traceroutes in progress: 0/0
Incoming/outgoing Traceroute reply: 0/0
Incoming/outgoing Unknown: 0/0
Incoming/outgoing data packet: 0/0
· 網絡中存在兩個自治係統:AS 100和AS 200,各AS內部采用OSPF協議、AS之間則采用BGP協議以保證單播路由的暢通;
· PIM-SM 1屬於AS 100,PIM-SM 2和PIM-SM 3屬於AS 200,每個PIM-SM域分別擁有至少一個組播源(Source)或接收者(Receiver);
· 將Switch A、Switch D和Switch G各自的LoopBack0接口分別配置為各自PIM-SM域的C-BSR和C-RP;
· 根據RPF規則,設備接受來自其靜態RPF對等體且被過濾策略所允許的SA報文。通過在各PIM-SM域的RP之間建立MSDP對等體,並在各MSDP對等體之間建立靜態RPF對等體,從而在不改變單播拓撲的基礎上實現各PIM-SM域之間組播源信息的共享。
圖1-6 借助靜態RPF對等體的AS間組播配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Source 1 |
- |
192.168.1.100/24 |
Switch D |
Vlan-int105 |
10.110.5.1/24 |
Source 2 |
- |
192.168.3.100/24 |
|
Vlan-int103 |
10.110.3.2/24 |
Switch A |
Vlan-int101 |
10.110.1.1/24 |
|
Loop0 |
2.2.2.2/32 |
|
Vlan-int102 |
10.110.2.1/24 |
Switch E |
Vlan-int105 |
10.110.5.2/24 |
|
Loop0 |
1.1.1.1/32 |
|
Vlan-int300 |
192.168.3.1/24 |
Switch B |
Vlan-int101 |
10.110.1.2/24 |
Switch F |
Vlan-int106 |
10.110.6.1/24 |
|
Vlan-int100 |
192.168.1.1/24 |
|
Vlan-int104 |
10.110.4.2/24 |
|
Vlan-int103 |
10.110.3.1/24 |
Switch G |
Vlan-int106 |
10.110.6.2/24 |
Switch C |
Vlan-int102 |
10.110.2.2/24 |
|
Vlan-int400 |
192.168.4.1/24 |
|
Vlan-int200 |
192.168.2.1/24 |
|
Loop0 |
3.3.3.3/32 |
|
Vlan-int104 |
10.110.4.1/24 |
|
|
|
按照組網圖配置各接口的IP地址和掩碼,並在AS內的各交換機上配置OSPF協議。
(1) 使能IP組播路由,使能PIM-SM和IGMP,並配置BSR的服務邊界
# 在Switch C上使能IP組播路由,在主機側接口Vlan-interface200上使能IGMP,並在其它接口上使能PIM-SM。
<SwitchC> system-view
[SwitchC] multicast routing
[SwitchC-mrib] quit
[SwitchC] interface vlan-interface 102
[SwitchC-Vlan-interface102] pim sm
[SwitchC-Vlan-interface102] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] igmp enable
[SwitchC-Vlan-interface200] quit
[SwitchC] interface vlan-interface 104
[SwitchC-Vlan-interface104] pim sm
[SwitchC-Vlan-interface104] quit
Switch A、Switch B、Switch D、Switch E、Switch F和Switch G上的配置與Switch C相似,配置過程略。
# 在Switch B上配置BSR的服務邊界。
[SwitchB] interface vlan-interface 103
[SwitchB-Vlan-interface103] pim bsr-boundary
[SwitchB-Vlan-interface103] quit
Switch C、Switch D和Switch F上的配置與Switch B相似,配置過程略。
(2) 配置C-BSR和C-RP的位置
# 在Switch A上將LoopBack0接口配置為C-BSR和C-RP。
[SwitchA] pim
[SwitchA-pim] c-bsr 1.1.1.1
[SwitchA-pim] c-rp 1.1.1.1
[SwitchA-pim] quit
Switch D和Switch G上的配置與Switch A相似,配置過程略。
(3) 配置BGP協議,將BGP與OSPF互相引入
# 在Switch B上配置EBGP對等體,並引入OSPF路由。
[SwitchB] bgp 100
[SwitchB-bgp] router-id 1.1.1.2
[SwitchB-bgp] peer 10.110.3.2 as-number 200
[SwitchB-bgp] address-family ipv4 unicast
[SwitchB-bgp-ipv4] peer 10.110.3.2 enable
[SwitchB-bgp-ipv4] import-route ospf 1
[SwitchB-bgp-ipv4]quit
[SwitchB-bgp] quit
# 在Switch D上配置EBGP對等體,並引入OSPF路由。
[SwitchD] bgp 200
[SwitchD-bgp] router-id 2.2.2.2
[SwitchD-bgp] peer 10.110.3.1 as-number 100
[SwitchD-bgp] address-family ipv4 unicast
[SwitchD-bgp-ipv4] peer 10.110.3.1 enable
[SwitchD-bgp-ipv4] import-route ospf 1
[SwitchD-bgp-ipv4]quit
[SwitchD-bgp] quit
# 在Switch C上配置EBGP對等體,並引入OSPF路由。
[SwitchC] bgp 100
[SwitchC-bgp] router-id 1.1.1.3
[SwitchC-bgp] peer 10.110.4.2 as-number 200
[SwitchC-bgp] address-family ipv4 unicast
[SwitchC-bgp-ipv4] peer 10.110.4.2 enable
[SwitchC-bgp-ipv4] import-route ospf 1
[SwitchC-bgp-ipv4]quit
[SwitchC-bgp] quit
# 在Switch F上配置EBGP對等體,並引入OSPF路由。
[SwitchF] bgp 200
[SwitchF-bgp] router-id 3.3.3.1
[SwitchF-bgp] peer 10.110.4.1 as-number 100
[SwitchF-bgp] address-family ipv4 unicast
[SwitchF-bgp-ipv4] peer 10.110.4.1 enable
[SwitchF-bgp-ipv4] import-route ospf 1
[SwitchF-bgp-ipv4]quit
[SwitchF-bgp] quit
# 在Switch B的OSPF中引入BGP。
[SwitchB] ospf 1
[SwitchB-ospf-1] import-route bgp
[SwitchB-ospf-1] quit
# 在Switch D的OSPF中引入BGP。
[SwitchD] ospf 1
[SwitchD-ospf-1] import-route bgp
[SwitchD-ospf-1] quit
# 在Switch C的OSPF中引入BGP。
[SwitchC] ospf 1
[SwitchC-ospf-1] import-route bgp
[SwitchC-ospf-1] quit
# 在Switch F的OSPF中引入BGP。
[SwitchF] ospf 1
[SwitchF-ospf-1] import-route bgp
[SwitchF-ospf-1] quit
(4) 配置MSDP對等體及靜態RPF對等體
# 配置Switch D和Switch G作為Switch A的MSDP對等體及靜態RPF對等體。
[SwitchA] ip prefix-list list-dg permit 10.110.0.0 16 greater-equal 16 less-equal 32
[SwitchA] msdp
[SwitchA-msdp] peer 10.110.3.2 connect-interface vlan-interface 101
[SwitchA-msdp] peer 10.110.6.2 connect-interface vlan-interface 102
[SwitchA-msdp] static-rpf-peer 10.110.3.2 rp-policy list-dg
[SwitchA-msdp] static-rpf-peer 10.110.6.2 rp-policy list-dg
[SwitchA-msdp] quit
# 配置Switch A作為Switch D的MSDP對等體及靜態RPF對等體。
[SwitchD] ip prefix-list list-a permit 10.110.0.0 16 greater-equal 16 less-equal 32
[SwitchD] msdp
[SwitchD-msdp] peer 10.110.1.1 connect-interface vlan-interface 103
[SwitchD-msdp] static-rpf-peer 10.110.1.1 rp-policy list-a
[SwitchD-msdp] quit
# 配置Switch A作為Switch G的MSDP對等體及靜態RPF對等體。
[SwitchG] ip prefix-list list-a permit 10.110.0.0 16 greater-equal 16 less-equal 32
[SwitchG] msdp
[SwitchG-msdp] peer 10.110.2.1 connect-interface vlan-interface 106
[SwitchG-msdp] static-rpf-peer 10.110.2.1 rp-policy list-a
[SwitchG-msdp] quit
# 顯示Switch A上BGP對等體的信息。
[SwitchA] display bgp peer ipv4
沒有顯示信息輸出,說明Switch A與Switch D、Switch A與Switch G之間均未建立BGP對等體關係。
當PIM-SM 1和PIM-SM 2域內的組播源Source 1和Source 2發送組播信息時,PIM-SM 1和PIM-SM 3域內的接收者能收到該組播信息。
# 顯示Switch A上MSDP對等體的簡要信息。
[SwitchA] display msdp brief
Configured Established Listen Connect Shutdown Disabled
2 2 0 0 0 0
Peer address State Up/Down time AS SA count Reset count
10.110.3.2 Established 01:07:08 ? 8 0
10.110.6.2 Established 00:16:39 ? 13 0
# 顯示Switch D上MSDP對等體的簡要信息。
[SwitchD] display msdp brief
Configured Established Listen Connect Shutdown Disabled
1 1 0 0 0 0
Peer address State Up/Down time AS SA count Reset count
10.110.1.1 Established 01:07:09 ? 8 0
# 顯示Switch G上MSDP對等體的簡要信息。
[SwitchG] display msdp brief
Configured Established Listen Connect Shutdown Disabled
1 1 0 0 0 0
Peer address State Up/Down time AS SA count Reset count
10.110.2.1 Established 00:16:40 ? 13 0
· PIM-SM域內擁有多個組播源(Source)和接收者(Receiver),並在域內運行OSPF協議以提供單播路由;
· 通過配置Anycast-RP,使接收者側DR能夠向拓撲距離最近的RP發起加入,組播源側DR也向拓撲距離最近的RP發起注冊;
· 將Switch B和Switch D各自的LoopBack10接口配置為C-BSR、LoopBack20接口配置為C-RP;
· Switch B的Router ID為1.1.1.1,Switch D的Router ID為2.2.2.2,在Switch B和Switch D之間建立MSDP對等體關係。
圖1-7 Anycast-RP應用配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Source 1 |
- |
10.110.5.100/24 |
Switch C |
Vlan-int101 |
192.168.1.2/24 |
Source 2 |
- |
10.110.6.100/24 |
|
Vlan-int102 |
192.168.2.2/24 |
Switch A |
Vlan-int300 |
10.110.5.1/24 |
Switch D |
Vlan-int200 |
10.110.3.1/24 |
|
Vlan-int103 |
10.110.2.2/24 |
|
Vlan-int104 |
10.110.4.1/24 |
Switch B |
Vlan-int100 |
10.110.1.1/24 |
|
Vlan-int102 |
192.168.2.1/24 |
|
Vlan-int103 |
10.110.2.1/24 |
|
Loop0 |
2.2.2.2/32 |
|
Vlan-int101 |
192.168.1.1/24 |
|
Loop10 |
4.4.4.4/32 |
|
Loop0 |
1.1.1.1/32 |
|
Loop20 |
10.1.1.1/32 |
|
Loop10 |
3.3.3.3/32 |
Switch E |
Vlan-int400 |
10.110.6.1/24 |
|
Loop20 |
10.1.1.1/32 |
|
Vlan-int104 |
10.110.4.2/24 |
按照組網圖配置各接口的IP地址和子網掩碼,並在PIM-SM域內的各交換機上配置OSPF協議。
(1) 使能IP組播路由,並使能PIM-SM和IGMP
# 在Switch B上使能IP組播路由,在主機側接口Vlan-interface100上使能IGMP,並在其它接口上使能PIM-SM。
<SwitchB> system-view
[SwitchB] multicast routing
[SwitchB-mrib] quit
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] igmp enable
[SwitchB-Vlan-interface100] quit
[SwitchB] interface vlan-interface 103
[SwitchB-Vlan-interface103] pim sm
[SwitchB-Vlan-interface103] quit
[SwitchB] interface Vlan-interface 101
[SwitchB-Vlan-interface101] pim sm
[SwitchB-Vlan-interface101] quit
[SwitchB] interface loopback 0
[SwitchB-LoopBack0] pim sm
[SwitchB-LoopBack0] quit
[SwitchB] interface loopback 10
[SwitchB-LoopBack10] pim sm
[SwitchB-LoopBack10] quit
[SwitchB] interface loopback 20
[SwitchB-LoopBack20] pim sm
[SwitchB-LoopBack20] quit
Switch A、Switch C、Switch D和Switch E上的配置與Switch B相似,配置過程略。
(2) 配置C-BSR和C-RP的位置
# 在Switch B上將LoopBack10配置為C-BSR,將LoopBack20配置為C-RP。
[SwitchB] pim
[SwitchB-pim] c-bsr 3.3.3.3
[SwitchB-pim] c-rp 10.1.1.1
[SwitchB-pim] quit
Switch D上的配置與Switch B相似,配置過程略。
(3) 配置MSDP對等體
# 在Switch B的LoopBack0接口上配置MSDP對等體。
[SwitchB] msdp
[SwitchB-msdp] originating-rp loopback 0
[SwitchB-msdp] peer 2.2.2.2 connect-interface loopback 0
[SwitchB-msdp] quit
# 在Switch D的LoopBack0接口上配置MSDP對等體。
[SwitchD] msdp
[SwitchD-msdp] originating-rp loopback 0
[SwitchD-msdp] peer 1.1.1.1 connect-interface loopback 0
[SwitchD-msdp] quit
# 顯示Switch B上MSDP對等體的簡要信息。
[SwitchB] display msdp brief
Configured Established Listen Connect Shutdown Disabled
1 1 0 0 0 0
Peer address State Up/Down time AS SA count Reset count
2.2.2.2 Established 00:10:57 ? 0 0
# 顯示Switch D上MSDP對等體的簡要信息。
[SwitchD] display msdp brief
Configured Established Listen Connect Shutdown Disabled
1 1 0 0 0 0
Peer address State Up/Down time AS SA count Reset count
1.1.1.1 Established 00:10:57 ? 0 0
當Source 1(10.110.5.100/24)開始向組播組G(225.1.1.1)發送組播信息時,Host A加入組播組G。通過比較Switch B與Switch D上PIM路由表的內容,可知當前的有效RP為Switch B:Source 1向Switch B注冊,Host A向Switch B加入。
# 顯示Switch B上PIM路由表的內容。
[SwitchB] display pim routing-table
Total 1 (*, G) entry; 1 (S, G) entry
(*, 225.1.1.1)
RP: 10.1.1.1 (local)
Protocol: pim-sm, Flag: WC
UpTime: 00:15:04
Upstream interface: Register-Tunnel0
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstream interfaces: 1
1: Vlan-interface100
Protocol: igmp, UpTime: 00:15:04, Expires: -
(10.110.5.100, 225.1.1.1)
RP: 10.1.1.1 (local)
Protocol: pim-sm, Flag: SPT 2MSDP ACT
UpTime: 00:46:28
Upstream interface: Vlan-interface103
Upstream neighbor: 10.110.2.2
RPF prime neighbor: 10.110.2.2
Downstream interface(s) information:
Total number of downstream interfaces: 1
1: Vlan-interface100
Protocol: pim-sm, UpTime: - , Expires: -
# 顯示Switch D上PIM路由表的內容。
[SwitchD] display pim routing-table
Switch D上沒有信息輸出。
Host A離開組播組G,Source 1也停止向組播組G發送組播數據。當Source 2(10.110.6.100/24)開始向組播組G發送組播信息時,Host B加入組播組G。通過比較Switch B與Switch D上PIM路由的顯示信息,可知當前的有效RP為Switch D:Source 2向Switch D注冊,Host B向Switch D加入。
# 顯示Switch B上PIM路由表的內容。
[SwitchB] display pim routing-table
Switch B上沒有信息輸出。
# 顯示Switch D上PIM路由表的內容。
[SwitchD] display pim routing-table
Total 1 (*, G) entry; 1 (S, G) entry
(*, 225.1.1.1)
RP: 10.1.1.1 (local)
Protocol: pim-sm, Flag: WC
UpTime: 00:12:07
Upstream interface: Register-Tunnel0
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstream interfaces: 1
1: Vlan-interface200
Protocol: igmp, UpTime: 00:12:07, Expires: -
(10.110.6.100, 225.1.1.1)
RP: 10.1.1.1 (local)
Protocol: pim-sm, Flag: SPT 2MSDP ACT
UpTime: 00:40:22
Upstream interface: Vlan-interface104
Upstream neighbor: 10.110.4.2
RPF prime neighbor: 10.110.4.2
Downstream interface(s) information:
Total number of downstream interfaces: 1
1: Vlan-interface200
Protocol: pim-sm, UpTime: - , Expires: -
· 網絡中存在三個PIM-SM域,各域內部以及域之間均運行OSPF協議以提供單播路由;
· 將Switch A、Switch C和Switch D各自的LoopBack0接口分別配置為各自PIM-SM域的C-BSR和C-RP;
· 分別在Switch A與Switch C、Switch C與Switch D之間建立MSDP對等體關係;
· 組播源Source 1向組播組225.1.1.0/30和226.1.1.0/30發送組播數據,組播源Source 2向組播組227.1.1.0/30發送組播數據;
· 通過配置SA報文過濾規則,使接收者Host A和Host B隻能接收發往組播組225.1.1.0/30和226.1.1.0/30的組播數據,而Host C則隻能接收發往組播組226.1.1.0/30和227.1.1.0/30的組播數據。
圖1-8 SA報文過濾機製配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Source 1 |
- |
10.110.3.100/24 |
Switch C |
Vlan-int300 |
10.110.4.1/24 |
Source 2 |
- |
10.110.6.100/24 |
|
Vlan-int104 |
10.110.5.1/24 |
Switch A |
Vlan-int100 |
10.110.1.1/24 |
|
Vlan-int101 |
192.168.1.2/24 |
|
Vlan-int102 |
10.110.2.1/24 |
|
Vlan-int103 |
192.168.2.2/24 |
|
Vlan-int101 |
192.168.1.1/24 |
|
Loop0 |
2.2.2.2/32 |
|
Loop0 |
1.1.1.1/32 |
Switch D |
Vlan-int400 |
10.110.6.1/24 |
Switch B |
Vlan-int200 |
10.110.3.1/24 |
|
Vlan-int500 |
10.110.7.1/24 |
|
Vlan-int102 |
10.110.2.2/24 |
|
Vlan-int104 |
10.110.5.2/24 |
|
Vlan-int103 |
192.168.2.1/24 |
|
Loop0 |
3.3.3.3/32 |
按照組網圖配置各接口的IP地址和掩碼,並在各交換機上配置OSPF協議。
(1) 使能IP組播路由,使能PIM-SM和IGMP,並配置BSR的服務邊界
# 在Switch A上使能IP組播路由,在主機側接口Vlan-interface100上使能IGMP,並在其它接口上使能PIM-SM。
<SwitchA> system-view
[SwitchA] multicast routing
[SwitchA-mrib] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] igmp enable
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim sm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface vlan-interface 102
[SwitchA-Vlan-interface102] pim sm
[SwitchA-Vlan-interface102] quit
[SwitchA] interface loopback 0
[SwitchA-LoopBack0] pim sm
[SwitchA-LoopBack0] quit
Switch B、Switch C和Switch D上的配置與Switch A相似,配置過程略。
# 在Switch C上配置BSR的服務邊界。
[SwitchC] interface vlan-interface 101
[SwitchC-Vlan-interface101] pim bsr-boundary
[SwitchC-Vlan-interface101] quit
[SwitchC] interface vlan-interface 103
[SwitchC-Vlan-interface103] pim bsr-boundary
[SwitchC-Vlan-interface103] quit
[SwitchC] interface vlan-interface 104
[SwitchC-Vlan-interface104] pim bsr-boundary
[SwitchC-Vlan-interface104] quit
Switch A、Switch B和Switch D上的配置與Switch C相似,配置過程略。
(2) 配置C-BSR和C-RP的位置
# 在Switch A上將LoopBack0接口配置為C-BSR和C-RP。
[SwitchA] pim
[SwitchA-pim] c-bsr 1.1.1.1
[SwitchA-pim] c-rp 1.1.1.1
[SwitchA-pim] quit
Switch C和Switch D上的配置與Switch A相似,配置過程略。
(3) 配置MSDP對等體
# 在Switch A上配置MSDP對等體。
[SwitchA] msdp
[SwitchA-msdp] peer 192.168.1.2 connect-interface vlan-interface 101
[SwitchA-msdp] quit
# 在Switch C上配置MSDP對等體。
[SwitchC] msdp
[SwitchC-msdp] peer 192.168.1.1 connect-interface vlan-interface 101
[SwitchC-msdp] peer 10.110.5.2 connect-interface vlan-interface 104
[SwitchC-msdp] quit
# 在Switch D上配置MSDP對等體。
[SwitchD] msdp
[SwitchD-msdp] peer 10.110.5.1 connect-interface vlan-interface 104
[SwitchD-msdp] quit
(4) 配置SA報文過濾規則
# 在Switch C上配置不向Switch D轉發有關(Source 1,225.1.1.0/30)的SA報文。
[SwitchC] acl advanced 3001
[SwitchC-acl-ipv4-adv-3001] rule deny ip source 10.110.3.100 0 destination 225.1.1.0 0.0.0.3
[SwitchC-acl-ipv4-adv-3001] rule permit ip source any destination any
[SwitchC-acl-ipv4-adv-3001] quit
[SwitchC] msdp
[SwitchC-msdp] peer 10.110.5.2 sa-policy export acl 3001
[SwitchC-msdp] quit
# 在Switch D上配置不創建有關Source 2的SA報文。
[SwitchD] acl basic 2001
[SwitchD-acl-ipv4-basic-2001] rule deny source 10.110.6.100 0
[SwitchD-acl-ipv4-basic-2001] quit
[SwitchD] msdp
[SwitchD-msdp] import-source acl 2001
[SwitchD-msdp] quit
通過使用display msdp sa-cache命令可以查看交換機上SA緩存中的(S,G)表項信息。例如:
# 顯示Switch C上SA緩存中的(S,G)表項信息。
[SwitchC] display msdp sa-cache
Total Source-Active Cache - 8 entries
Matched 8 entries
Source Group Origin RP Pro AS Uptime Expires
10.110.3.100 225.1.1.0 1.1.1.1 ? ? 02:03:30 00:05:31
10.110.3.100 225.1.1.1 1.1.1.1 ? ? 02:03:30 00:05:31
10.110.3.100 225.1.1.2 1.1.1.1 ? ? 02:03:30 00:05:31
10.110.3.100 225.1.1.3 1.1.1.1 ? ? 02:03:30 00:05:31
10.110.3.100 226.1.1.0 1.1.1.1 ? ? 02:03:30 00:05:31
10.110.3.100 226.1.1.1 1.1.1.1 ? ? 02:03:30 00:05:31
10.110.3.100 226.1.1.2 1.1.1.1 ? ? 02:03:30 00:05:31
10.110.3.100 226.1.1.3 1.1.1.1 ? ? 02:03:30 00:05:31
# 顯示Switch D上SA緩存中的(S,G)表項信息。
[SwitchD] display msdp sa-cache
Total Source-Active Cache - 4 entries
Matched 4 entries
Source Group Origin RP Pro AS Uptime Expires
10.110.3.100 226.1.1.0 1.1.1.1 ? ? 00:32:53 00:05:07
10.110.3.100 226.1.1.1 1.1.1.1 ? ? 00:32:53 00:05:07
10.110.3.100 226.1.1.2 1.1.1.1 ? ? 00:32:53 00:05:07
10.110.3.100 226.1.1.3 1.1.1.1 ? ? 00:32:53 00:05:07
配置了MSDP對等體,但其狀態一直顯示為disabled。
· 所配置的本地接口地址與MSDP對等體地址之間,建立起基於TCP連接的MSDP對等體關係;
· 如果本地接口地址與對端設備上所配置的MSDP對等體地址不一致,TCP連接就不會建立起來;
· 如果兩個MSDP對等體之間沒有路由,TCP連接也不會建立起來。
(1) 檢查各設備之間的路由是否通達。通過命令display ip routing-table查看各設備之間單播路由是否正確。
(2) 檢查將成為MSDP對等體的兩個設備間是否存在到達對方的單播路由。
(3) 檢查MSDP對等體之間的接口地址是否匹配。通過命令display current-configuration查看本地接口地址是否與對端MSDP對等體地址一致,應確保一致。
MSDP沒有將(S,G)轉發項通過SA報文發送出去。
· 命令import-source用於控製將本域的(S,G)表項通過SA報文發送給MSDP對等體。如果沒有指定參數ipv4-acl-number則表示默認過濾掉所有的(S,G)表項,即不通告本域的所有(S,G)表項;
· 未配置import-source命令時,係統將發送本域的所有(S,G)信息。如果MSDP沒有將本域的(S,G)表項通過SA報文發送出去,應檢查import-source命令的配置是否正確。
(1) 檢查各設備之間的路由是否通達。通過命令display ip routing-table查看各設備之間單播路由是否正確。
(2) 檢查將成為MSDP對等體的兩個設備間是否存在到達對方的單播路由。
(3) 檢查命令import-source及其參數ipv4-acl-number的配置情況,確保ACL規則能夠過濾合適的(S,G)信息。
在Anycast-RP的應用中,各RP之間沒有互相交換其本地注冊的(S,G)信息。
· 在Anycast-RP應用中,通過將同一PIM-SM域內的RP配置為MSDP對等體,可以實現RP間的冗餘備份;
· MSDP對等體地址不能與Anycast-RP地址相同,且C-BSR和C-RP必須配置在不同的設備或接口上;
· 在使用originating-rp命令進行配置後,MSDP將利用該命令所指定的接口地址替換SA報文中的RP地址;
· 當MSDP對等體對收到的SA報文進行RPF檢查時,如果發現RP地址為本地地址,將拒絕接收SA報文。
(1) 檢查各設備之間的路由是否通達。通過命令display ip routing-table查看各設備之間單播路由是否正確。
(2) 檢查將成為MSDP對等體的兩個設備間是否存在到達對方的單播路由。
(3) 檢查originating-rp命令的配置情況。在Anycast-RP的應用環境中,一定要配置originating-rp命令,而且originating-rp命令所指定的接口地址要與建立MSDP對等體連接的本地接口地址相同。
(4) 檢查所配置的C-BSR地址是否與Anycast-RP的地址不同,應確保兩個地址不同。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!