08-MSDP配置
本章節下載: 08-MSDP配置 (617.11 KB)
目 錄
· 本文所涉及的路由器和路由器圖標,代表了運行MSDP協議的路由交換機。
· 本文中所提到的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(Multicast Source Discovery Protocol,組播源發現協議)是為了解決多個PIM-SM(Protocol Independent Multicast Sparse Mode,協議無關組播—稀疏模式)域之間的互連而開發的一種域間組播解決方案,用來發現其它PIM-SM域內的組播源信息。
在基本的PIM-SM模式下,組播源隻向本PIM-SM域內的RP注冊,且各域的組播源信息是相互隔離的,因此RP僅知道本域內的組播源信息,隻能在本域內建立組播分發樹,將本域內組播源發出的組播數據分發給本地用戶。如果能夠有一種機製,將其它域內的組播源信息傳遞給本域內的RP,則本域內的RP就可以向其它域內的組播源發起加入過程並建立組播分發樹,從而實現組播數據的跨域傳輸。
基於這一設想,MSDP通過在網絡中選取適當的路由器建立MSDP對等體關係,以連通各PIM-SM域的RP。通過在各MSDP對等體之間交互SA(Source Active,信源有效)消息來共享組播源信息。
· MSDP的適用前提:域內組播路由協議必須是PIM-SM。
· MSDP僅對ASM(Any-Source Multicast,任意信源組播)模型有意義。
通過在網絡中配置一對或多對MSDP對等體,形成彼此相連的一張“MSDP連通圖”,以連通各個PIM-SM域的RP。通過這些MSDP對等體之間的接力,可以把某RP發出的SA消息傳遞給其它所有的RP。
圖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對等體
如Router A和Router 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域間組播的工作過程如下:
當PIM-SM 1域內的組播源向組播組G發送第一個組播數據包時,DR 1將該組播數據封裝在注冊消息(Register Message)中,並發給RP 1。RP 1因此獲知了該組播源的相關信息。
RP 1作為源端RP,創建SA消息,並周期性地向其它MSDP對等體發送。SA消息中包含組播源的地址S、組播組的地址G以及創建該SA消息的源端RP(即RP 1)的地址。
MSDP對等體對收到的SA消息進行RPF(Reverse Path Forwarding,逆向路徑轉發)檢查,以及各種轉發策略的過濾,從而隻接受和轉發來自正確路徑並通過過濾的SA消息,以避免SA消息傳遞環路;另外,可以在MSDP對等體之間配置MSDP全連接組(Mesh Group),以避免SA消息在MSDP對等體之間的泛濫。
SA消息在MSDP對等體之間轉發,最終該組播源的相關信息將傳遍所有建立了MSDP對等體關係的PIM-SM域(即PIM-SM 2和PIM-SM 3)。
PIM-SM 2中的RP 2在收到該SA消息後,檢查本域內是否有組播組G的接收者(Receiver)存在:
· 如果有接收者,RP 2與接收者之間維護組播組G的RPT。RP 2創建(S,G)表項,向源端的DR 1逐跳發送(S,G)加入消息(Join Message),從而跨越各PIM-SM域直接加入以該組播源為根的SPT。組播數據沿SPT到達RP 2後,再沿RPT向接收者轉發。當接收者端的DR 2收到來自組播源的組播數據後,可以自行決定是否發起從RPT向SPT的切換;
· 如果沒有接收者,RP 2不會創建(S,G)表項,也不加入以該組播源為根的SPT。
· MSDP全連接組:要求所有組成員之間兩兩建立MSDP對等體關係,且所有組成員均使用相同的組名稱。
· 在使用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消息:
當RP 2收到RP 1發來的SA消息時:由於SA消息中所攜帶的源端RP的地址與MSDP對等體的地址相同,說明發出SA消息的MSDP對等體就是創建該SA消息的RP,於是RP 2接受該SA消息並向其它對等體(RP 3)轉發。
當RP 3收到RP 2發來的SA消息時:由於SA消息來自同一個AS的MSDP對等體(RP 2),且該對等體是到源端RP最佳路徑上的下一跳,於是RP 3接受該SA消息並向其它對等體(RP 4和RP 5)轉發。
當RP 4和RP 5分別收到RP 3發來的SA消息時:由於SA消息來自同一個全連接組的MSDP對等體(RP 3),於是RP 4和RP 5均接受該SA消息並不再向本組其它成員轉發,而隻向本組之外的其它MSDP對等體(RP 6)轉發。
當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消息。
當RP 7收到RP 6發來的SA消息時:由於SA消息來自其靜態RPF對等體(RP 6),於是RP 7接受該SA消息並向其它對等體(RP 8)轉發。
當RP 8收到RP 7發來的SA消息時:屬於不同AS的MSDP對等體之間存在BGP或MBGP路由。由於SA消息來自不同AS的MSDP對等體(RP 7),且該對等體是到源端RP的BGP或MBGP路由的下一跳,於是RP 8接受該SA消息並向其它對等體(RP 9)轉發。
當RP 9收到RP 8發來的SA消息時:由於隻有一個MSDP對等體(RP 8),於是RP 9接受該SA消息。
對於由其它路徑到來的SA消息,MSDP對等體將不接受也不轉發。
Anycast RP(任播RP)是指在同一個PIM-SM域內設置兩個或多個具有相同地址的RP,並在這些RP之間建立MSDP對等體關係,以實現域內各RP之間的負載分擔和冗餘備份。
如圖1-4所示,在一個PIM-SM域內,組播源(Source)向組播組G發送組播數據,接收者(Receiver)是組播組G的成員。分別在Router A和Router B上配置相同的IP地址(稱為Anycast RP地址,通常使用私有地址),同時將這些接口配置為C-RP,並在Router A和Router B之間建立MSDP對等體關係。
通常在設備的邏輯接口(如Loopback接口)上配置Anycast RP地址。
圖1-4 MSDP實現域內Anycast RP示意圖
Anycast RP的工作過程如下:
組播源選擇距離最近的RP進行注冊。如:Source向RP 1注冊,注冊消息中封裝有Source發出的組播數據。當該注冊消息到達RP 1後,進行解封裝。
接收者向距離最近的RP發送加入消息,加入以該RP為根的RPT。如:Receiver加入以RP 2為根的RPT。
RP之間通過發送SA消息,共享注冊的組播源信息。如:RP 1創建一個SA消息,發送給RP 2,該SA消息中封裝有Source發出的組播數據。當該SA消息到達RP 2後,進行解封裝。
接收者沿RPT收到組播數據後,直接加入以該組播源為根的SPT。如:RP 2沿RPT將組播數據向下轉發。當Receiver收到來自Source的組播數據後,直接加入以Source為根的SPT。
Anycast RP的意義如下:
· RP路徑最優:組播源向距離最近的RP進行注冊,建立路徑最優的SPT;接收者向距離最近的RP發起加入,建立路徑最優的RPT。
· RP間的負載分擔:每個RP上隻需維護PIM-SM域內的部分源/組信息、轉發部分的組播數據,從而實現了RP間的負載分擔。
· RP間的冗餘備份:當某RP失效後,原先在該RP上注冊或加入的組播源或接收者會自動選擇就近的RP進行注冊或加入操作,從而實現了RP間的冗餘備份。
· 必須為Anycast RP地址配置32位的子網掩碼(即255.255.255.255),也即將其配置為一個主機地址。
· MSDP對等體的地址不能與Anycast RP地址相同。
屬於同一實例的組播路由器各接口之間可以建立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)
表1-1 MSDP配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
配置MSDP基本功能 |
使能MSDP |
必選 |
|
創建MSDP對等體連接 |
必選 |
||
配置靜態RPF對等體 |
可選 |
||
配置MSDP對等體連接 |
配置MSDP對等體描述信息 |
可選 |
|
配置MSDP全連接組 |
可選 |
||
配置MSDP對等體連接控製 |
可選 |
||
配置SA消息 |
配置SA消息內容 |
可選 |
|
配置SA請求消息 |
可選 |
||
配置SA消息過濾規則 |
可選 |
||
配置SA消息緩存 |
可選 |
本節的所有配置都是在PIM-SM域內的RP上進行的,這些RP將成為MSDP對等體的一端。
在配置MSDP基本功能之前,需完成以下任務:
· 配置任一單播路由協議,實現域內網絡層互通
· 配置PIM-SM,實現域內組播
在配置MSDP基本功能之前,需準備以下數據:
· MSDP對等體的IP地址
· 表示RP地址過濾策略的地址前綴列表
在配置MSDP各功能之前,必須先使能MSDP。
表1-2 使能公網實例中的MSDP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能IP組播路由 |
multicast routing-enable |
必選 缺省情況下,IP組播路由處於關閉狀態 |
使能MSDP,並進入公網實例MSDP視圖 |
msdp |
必選 缺省情況下,MSDP處於關閉狀態 |
係統工作在標準模式下時,如果需要配置多實例的MSDP,則必須配置保留VLAN。關於係統工作模式的介紹請參見“基礎配置指導”中的“設備管理”。關於保留VLAN的詳細配置和命令,請參見“MPLS配置指導”和“MPLS命令參考”中的“MPLS L3VPN”。
表1-3 使能VPN實例中的MSDP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建VPN實例,並進入VPN實例視圖 |
ip vpn-instance vpn-instance-name |
- |
配置VPN實例的RD |
route-distinguisher route-distinguisher |
必選 缺省情況下,VPN實例沒有RD |
使能IP組播路由 |
multicast routing-enable |
必選 缺省情況下,IP組播路由處於關閉狀態 |
退回係統視圖 |
quit |
- |
使能MSDP,並進入VPN實例MSDP視圖 |
msdp vpn-instance vpn-instance-name |
必選 缺省情況下,MSDP處於關閉狀態 |
· 有關ip vpn-instance和route-distinguisher命令的詳細介紹,請參見“MPLS命令參考”中的“MPLS L3VPN”。
· 有關multicast routing-enable命令的詳細介紹,請參見“IP組播命令參考”中的“組播路由與轉發”。
MSDP對等體使用地址對來標識,即本端MSDP對等體地址和遠端MSDP對等體地址。需要在互為對等體的兩端都創建MSDP對等體連接。
表1-4 創建MSDP對等體連接
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例MSDP視圖 |
msdp [ vpn-instance vpn-instance-name ] |
- |
創建MSDP對等體連接 |
peer peer-address connect-interface interface-type interface-number |
必選 缺省情況下,沒有創建MSDP對等體連接 |
如果某接口同時作為MSDP對等體和BGP/MBGP對等體中的一端,則建議為MSDP對等體配置與BGP或MBGP對等體相同的IP地址。
通過配置靜態RPF對等體可以免除對收到的SA消息進行RPF檢查。
表1-5 配置靜態RPF對等體
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例MSDP視圖 |
msdp [ vpn-instance vpn-instance-name ] |
- |
配置靜態RPF對等體 |
static-rpf-peer peer-address [ rp-policy ip-prefix-name ] |
必選 缺省情況下,沒有配置靜態RPF對等體 |
如果在一台設備上隻配置了一個MSDP對等體,則該MSDP對等體將被當作靜態RPF對等體。
在配置MSDP對等體連接之前,需完成以下任務:
· 配置任一單播路由協議,實現域內網絡層互通
· 配置MSDP基本功能
在配置MSDP對等體連接之前,需準備以下數據:
· MSDP對等體的描述信息
· MSDP全連接組的名稱
· 建立MSDP對等體連接的重試周期
· MSDP對等體建立TCP連接時進行MD5認證的密碼
管理員可以通過MSDP對等體的描述信息方便地區分不同的MSDP對等體,從而更好地管理MSDP對等體。
表1-6 配置MSDP對等體描述信息
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例MSDP視圖 |
msdp [ vpn-instance vpn-instance-name ] |
- |
配置MSDP對等體的描述信息 |
peer peer-address description text |
必選 缺省情況下,MSDP對等體沒有描述信息 |
一個自治係統內可能包含多個MSDP對等體,為了避免這些MSDP對等體之間泛濫SA消息,可以使用MSDP全連接組來優化數據流量。
構成全連接組的MSDP對等體,一方麵將來自組外並通過了RPF檢查的SA消息轉發給組內的其它成員;另一方麵,對來自組內成員的SA消息不經RPF檢查就接受,也不在組內進行重複轉發。這種操作既避免了SA消息的泛濫,同時還由於不需要在MSDP對等體之間運行BGP或MBGP,所以也就簡化了對等體RPF檢查機製。
通過為多個MSDP對等體配置相同的全連接組名稱,可以建立MSDP全連接組。
表1-7 配置MSDP全連接組
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例MSDP視圖 |
msdp [ vpn-instance vpn-instance-name ] |
- |
把MSDP對等體加入全連接組 |
peer peer-address mesh-group name |
必選 缺省情況下,MSDP對等體不屬於任何全連接組 |
· 在配置MSDP全連接組之前,應使各設備之間保持兩兩互連。
· 如果在同一MSDP對等體上多次配置加入全連接組,最後一個配置有效。
MSDP對等體之間使用TCP進行連接(端口號為639),用戶可以手工關閉或重建MSDP對等體連接,靈活控製MSDP對等體之間的會話。當關閉了MSDP對等體連接後,MSDP對等體之間不再傳遞SA消息,TCP連接關閉,並不再重試建立連接,但配置信息會被保留。
當新創建了MSDP對等體、或重新啟動了被關閉的MSDP對等體連接、或發生故障的MSDP對等體嚐試恢複工作時,需要在MSDP對等體之間建立TCP連接。用戶可以靈活地調整建立MSDP對等體連接的重試周期。
為了提高MSDP的安全性,可以配置MSDP對等體在建立TCP連接時進行MD5認證。該認證並不能對MSDP報文進行認證,它隻是為TCP連接設置MD5認證密碼,並由TCP完成認證。如果認證失敗,則無法建立TCP連接。
表1-8 配置MSDP對等體連接控製
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例MSDP視圖 |
msdp [ vpn-instance vpn-instance-name ] |
- |
手工關閉MSDP對等體連接 |
shutdown peer-address |
可選 缺省情況下,MSDP對等體處於連接狀態 |
配置建立MSDP對等體連接的重試周期 |
timer retry interval |
可選 缺省情況下,建立MSDP對等體連接的重試周期為30秒 |
配置MSDP對等體建立TCP連接時進行MD5認證 |
peer peer-address password { cipher cipher-password | simple simple-password } |
可選 缺省情況下,MSDP對等體建立TCP連接時不進行MD5認證 |
參與MD5認證的兩端MSDP對等體必須配置相同的認證方式和密碼,否則將由於不能通過認證而無法建立TCP連接。
在配置SA消息傳遞之前,需完成以下任務:
· 配置任一單播路由協議,實現域內網絡層互通
· 配置MSDP基本功能
在配置SA消息傳遞之前,需準備以下數據:
· 表示SA請求消息過濾規則的ACL規則
· 表示SA消息創建規則的ACL規則
· 表示接收或轉發SA消息的過濾規則的ACL規則
· 封裝在SA消息中組播數據報文的TTL(Time to Live,生存時間)閾值
· 可緩存從指定MSDP對等體學到的(S,G)表項的最大數量
某些組播源發送組播數據的時間間隔較長,超出了(S,G)表項的超時時間。在這種情況下,源端DR隻能將組播數據逐個封裝在注冊消息中,發送給源端RP。源端RP使用SA消息將(S,G)信息傳輸給遠端RP。然後,遠端RP向源端DR發起加入過程,並創建SPT。由於(S,G)表項已超時,遠端用戶將永遠無法收到該組播源發出的組播數據。
當在源端RP上使能了在SA消息中封裝組播數據報文的功能後,源端RP會將組播數據報文封裝在SA消息中發送出去。遠端RP收到該SA消息後解封裝,並將組播數據報文沿RPT傳輸給本域內的用戶。
MSDP對等體之間傳遞SA消息,當設備對收到的SA消息進行RPF檢查時,如果發現對端RP的地址與本地RP的地址相同,就會丟棄該SA消息。但在Anycast RP應用中,要求在同一個PIM-SM域內的兩台或多台設備上配置IP地址相同的RP,並在這些設備之間建立MSDP對等體關係,因此必須為SA消息指定一個與實際RP的地址不同的邏輯RP地址(即邏輯接口上的RP地址),以通過RPF檢查。
表1-9 配置SA消息內容
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例MSDP視圖 |
msdp [ vpn-instance vpn-instance-name ] |
- |
使能在SA消息中封裝組播數據報文 |
encap-data-enable |
可選 缺省情況下,在SA消息中隻包含(S,G)表項,不封裝組播數據報文 |
配置接口地址為SA消息的RP地址 |
originating-rp interface-type interface-number |
可選 缺省情況下,SA消息的RP地址為PIM的RP地址 |
缺省情況下,當一個新接收者加入時,設備不會主動向其MSDP對等體發送SA請求消息,而是等待其MSDP對等體在下一個周期發來的SA消息,這將延遲接收者獲取組播源信息的時間。為了盡快讓新接收者了解到當前活躍的組播源信息,需要主動向MSDP對等體發送SA請求消息。
表1-10 配置SA請求消息
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例MSDP視圖 |
msdp [ vpn-instance vpn-instance-name ] |
- |
使能發送SA請求消息 |
peer peer-address request-sa-enable |
可選 缺省情況下,設備收到新的組加入消息時,不向其MSDP對等體發送SA請求消息,而是等待下一周期SA消息的到來 |
配置SA請求消息的過濾規則 |
peer peer-address sa-request-policy [ acl acl-number ] |
可選 缺省情況下,不對SA請求消息進行過濾 |
在使能發送SA請求消息功能之前,必須首先關閉SA消息緩存機製,否則設備不會向外發送SA請求消息。
通過配置SA消息的創建規則,設備可以在創建SA消息時,對其通告的(S,G)表項進行過濾,從而實現在創建SA消息時對組播源消息傳播的控製。
通過配置接收或轉發SA消息的過濾規則,設備可以在接收或轉發SA消息時,對其通告的(S,G)轉發項進行過濾,從而實現在接收和轉發SA消息時,對組播源消息傳播的控製。
通過配置封裝在SA消息中組播數據報文的TTL閾值,可以對組播數據報文在SA消息中的封裝以及傳輸範圍進行限製:
· 設備在創建封裝有組播數據報文的SA消息之前,先檢查該組播數據報文IP頭的TTL值:如果小於閾值,則不創建該SA消息;如果大於或等於閾值,則將組播數據報文封裝在SA消息中並轉發出去。
· 設備在收到封裝有組播數據報文的SA消息之後,先將該組播數據報文IP頭的TTL值減1,再檢查此時的TTL值:如果小於閾值,則不再向其指定的MSDP對等體轉發;如果大於或等於閾值,則重新將組播數據報文封裝在SA消息中並轉發出去。
表1-11 配置SA消息過濾規則
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例MSDP視圖 |
msdp [ vpn-instance vpn-instance-name ] |
- |
配置SA消息的創建規則 |
import-source [ acl acl-number ] |
必選 缺省情況下,在創建SA消息時,對其通告的(S,G)表項不作限製 |
配置接收或轉發SA消息的過濾規則 |
peer peer-address sa-policy { import | export } [ acl acl-number ] |
必選 缺省情況下,不對接收或轉發的SA消息進行過濾 |
配置封裝在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-12 配置SA消息緩存
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例MSDP視圖 |
msdp [ vpn-instance vpn-instance-name ] |
- |
使能SA消息緩存機製 |
cache-sa-enable |
可選 在缺省情況下,SA消息緩存機製處於使能狀態,即在設備收到SA消息後緩存其中包含的(S,G)表項 |
配置可緩存從指定MSDP對等體學到的(S,G)表項的最大數量 |
peer peer-address sa-cache-maximum sa-limit |
可選 缺省情況下,可緩存從任一MSDP對等體學到的(S,G)表項的最大數量為8192 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後MSDP的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除MSDP的統計信息。
表1-13 MSDP顯示和維護
操作 |
命令 |
查看MSDP對等體的簡要信息 |
display msdp [ all-instance | vpn-instance vpn-instance-name ] brief [ state { connect | down | listen | shutdown | up } ] [ | { begin | exclude | include } regular-expression ] |
查看MSDP對等體的詳細狀態信息 |
display msdp [ all-instance | vpn-instance vpn-instance-name ] peer-status [ peer-address ] [ | { begin | exclude | include } regular-expression ] |
查看SA緩存中的(S,G)表項信息 |
display msdp [ all-instance | vpn-instance vpn-instance-name ] sa-cache [ group-address | source-address | as-number ] * [ | { begin | exclude | include } regular-expression ] |
查看SA緩存中(S,G)表項的數量 |
display msdp [ all-instance | vpn-instance vpn-instance-name ] sa-count [ as-number ] [ | { begin | exclude | include } regular-expression ] |
重置與MSDP對等體的TCP連接 |
reset msdp [ all-instance | vpn-instance vpn-instance-name ] peer [ peer-address ] |
清除SA緩存中的(S,G)表項 |
reset msdp [ all-instance | vpn-instance vpn-instance-name ] sa-cache [ group-address ] |
清除MSDP對等體的統計信息 |
reset msdp [ all-instance | vpn-instance vpn-instance-name ] statistics [ peer-address ] |
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP狀態。
· 網絡中存在兩個自治係統: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地址和單播路由協議
請按照圖1-5配置各接口的IP地址和子網掩碼,具體配置過程略。
配置AS內的各交換機之間采用OSPF協議進行互連,確保各AS內部在網絡層互通,並且各交換機之間能夠借助單播路由協議實現動態路由更新,具體配置過程略。
使能IP組播路由,使能PIM-SM和IGMP,並配置BSR的服務邊界
# 在Switch A上使能IP組播路由,在各接口上使能PIM-SM,並在主機側接口Vlan-interface200上使能IGMP。
<SwitchA> system-view
[SwitchA] multicast routing-enable
[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] pim sm
[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相似,配置過程略。
配置C-BSR和C-RP的位置
# 在Switch B上將Loopback0接口配置為C-BSR和C-RP。
[SwitchB] pim
[SwitchB-pim] c-bsr loopback 0
[SwitchB-pim] c-rp loopback 0
[SwitchB-pim] quit
Switch C和Switch E上的配置與Switch B相似,配置過程略。
配置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] import-route ospf 1
[SwitchB-bgp] 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] import-route ospf 1
[SwitchC-bgp] 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
配置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
檢驗配置效果
通過使用display bgp peer命令可以查看交換機之間BGP對等體的關係。例如:
# 查看Switch B上BGP對等體關係的信息。
[SwitchB] display bgp peer
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:13:09 Established
# 查看Switch C上BGP對等體關係的信息。
[SwitchC] display bgp peer
BGP local router ID : 2.2.2.2
Local AS number : 200
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:12:04 Established
通過使用display bgp routing-table命令可以查看交換機上的BGP路由表。例如:
# 查看Switch C上BGP路由表的信息。
[SwitchC] display bgp routing-table
Total Number of Routes: 5
BGP Local router ID is 2.2.2.2
Status codes: * - valid, ^ - VPNv4 best, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
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域內的接收者能收到該組播信息。通過使用display msdp brief命令可以查看交換機之間MSDP對等體建立情況。例如:
# 查看Switch B上MSDP對等體建立情況的簡要信息。
[SwitchB] display msdp brief
MSDP Peer Brief Information of VPN-Instance: public net
Configured Up Listen Connect Shutdown Down
1 1 0 0 0 0
Peer's Address State Up/Down time AS SA Count Reset Count
192.168.1.2 Up 00:12:27 200 13 0
# 查看Switch C上MSDP對等體建立情況的簡要信息。
[SwitchC] display msdp brief
MSDP Peer Brief Information of VPN-Instance: public net
Configured Up Listen Connect Shutdown Down
2 2 0 0 0 0
Peer's Address State Up/Down time AS SA Count Reset Count
192.168.3.2 Up 00:15:32 200 8 0
192.168.1.1 Up 00:06:39 100 13 0
# 查看Switch E上MSDP對等體建立情況的簡要信息。
[SwitchE] display msdp brief
MSDP Peer Brief Information of VPN-Instance: public net
Configured Up Listen Connect Shutdown Down
1 1 0 0 0 0
Peer's Address State Up/Down time AS SA Count Reset Count
192.168.3.1 Up 01:07:08 200 8 0
# 查看Switch B上MSDP對等體的詳細信息。
[SwitchB] display msdp peer-status
MSDP Peer Information of VPN-Instance: public net
MSDP Peer 192.168.1.2, AS 200
Description:
Information about connection status:
State: Up
Up/down time: 00:15:47
Resets: 0
Connection interface: Vlan-interface101 (192.168.1.1)
Number of sent/received messages: 16/16
Number of discarded output messages: 0
Elapsed time since last connection or counters clear: 00:17:51
Information about (Source, Group)-based SA filtering policy:
Import policy: none
Export policy: none
Information about SA-Requests:
Policy to accept SA-Request messages: 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: none
Input queue size: 0, Output queue size: 0
Counters for MSDP message:
Count of RPF check failure: 0
Incoming/outgoing SA messages: 0/0
Incoming/outgoing SA requests: 0/0
Incoming/outgoing SA responses: 0/0
Incoming/outgoing data packets: 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地址和單播路由協議
請按照圖1-6配置各接口的IP地址和掩碼,具體配置過程略。
配置AS內的各交換機之間采用OSPF協議進行互連,確保AS內部在網絡層互通,並且各交換機之間能夠借助單播路由協議實現動態路由更新,具體配置過程略。
使能IP組播路由,使能PIM-SM和IGMP,並配置BSR的服務邊界
# 在Switch C上使能IP組播路由,在各接口上使能PIM-SM,並在主機側接口Vlan-interface200上使能IGMP。
<SwitchC> system-view
[SwitchC] multicast routing-enable
[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] pim sm
[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相似,配置過程略。
配置C-BSR和C-RP的位置
# 在Switch A上將Loopback0接口配置為C-BSR和C-RP。
[SwitchA] pim
[SwitchA-pim] c-bsr loopback 0
[SwitchA-pim] c-rp loopback 0
[SwitchA-pim] quit
Switch D和Switch G上的配置與Switch A相似,配置過程略。
配置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] import-route ospf 1
[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] import-route ospf 1
[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] import-route ospf 1
[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] import-route ospf 1
[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
配置MSDP對等體及靜態RPF對等體
# 配置Switch D和Switch G作為Switch A的MSDP對等體及靜態RPF對等體。
[SwitchA] ip ip-prefix 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 ip-prefix 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 ip-prefix 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
檢驗配置效果
通過使用display bgp peer命令可以查看交換機之間BGP對等體建立情況。Switch A上無任何信息輸出,說明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域內的接收者能收到該組播信息,通過使用display msdp brief命令可以查看交換機之間MSDP對等體的建立情況。例如:
# 查看Switch A上MSDP對等體的簡要信息。
[SwitchA] display msdp brief
MSDP Peer Brief Information of VPN-Instance: public net
Configured Up Listen Connect Shutdown Down
2 2 0 0 0 0
Peer's Address State Up/Down time AS SA Count Reset Count
10.110.3.2 Up 01:07:08 ? 8 0
10.110.6.2 Up 00:16:39 ? 13 0
# 查看Switch D上MSDP對等體的簡要信息。
[SwitchD] display msdp brief
MSDP Peer Brief Information of VPN-Instance: public net
Configured Up Listen Connect Shutdown Down
1 1 0 0 0 0
Peer's Address State Up/Down time AS SA Count Reset Count
10.110.1.1 Up 01:07:09 ? 8 0
# 查看Switch G上MSDP對等體的簡要信息。
[SwitchG] display msdp brief
MSDP Peer Brief Information of VPN-Instance: public net
Configured Up Listen Connect Shutdown Down
1 1 0 0 0 0
Peer's Address State Up/Down time AS SA Count Reset Count
10.110.2.1 Up 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地址和單播路由協議
請按照圖1-7配置各接口的IP地址和子網掩碼,具體配置過程略。
配置PIM-SM域內的各交換機之間采用OSPF協議進行互連,確保PIM-SM域內部在網絡層互通,並且各交換機之間能夠借助單播路由協議實現動態路由更新,具體配置過程略。
使能IP組播路由,並使能PIM-SM和IGMP
# 在Switch B上使能IP組播路由,在各接口上使能PIM-SM,並在主機側接口Vlan-interface100上使能IGMP。
<SwitchB> system-view
[SwitchB] multicast routing-enable
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] igmp enable
[SwitchB-Vlan-interface100] pim sm
[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相似,配置過程略。
配置C-BSR和C-RP的位置
# 在Switch B上將Loopback10配置為C-BSR,將Loopback20配置為C-RP。
[SwitchB] pim
[SwitchB-pim] c-bsr loopback 10
[SwitchB-pim] c-rp loopback 20
[SwitchB-pim] quit
Switch D上的配置與Switch B相似,配置過程略。
配置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
檢驗配置效果
通過使用display msdp brief命令可以查看交換機之間MSDP對等體建立情況。
# 查看Switch B上MSDP對等體的簡要信息。
[SwitchB] display msdp brief
MSDP Peer Brief Information of VPN-Instance: public net
Configured Up Listen Connect Shutdown Down
1 1 0 0 0 0
Peer's Address State Up/Down time AS SA Count Reset Count
2.2.2.2 Up 00:10:17 ? 0 0
# 查看Switch D上MSDP對等體的簡要信息。
[SwitchD] display msdp brief
MSDP Peer Brief Information of VPN-Instance: public net
Configured Up Listen Connect Shutdown Down
1 1 0 0 0 0
Peer's Address State Up/Down time AS SA Count Reset Count
1.1.1.1 Up 00:10:18 ? 0 0
通過使用display pim routing-table命令可以查看交換機上的PIM路由。
當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
VPN-Instance: public net
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
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 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 downstreams: 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
VPN-Instance: public net
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
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 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 downstreams: 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地址和單播路由協議
請按照圖1-8配置各接口的IP地址和掩碼,具體配置過程略。
配置各交換機之間采用OSPF協議進行互連,確保PIM-SM域內部以及各PIM-SM域之間在網絡層互通,並且各交換機之間能夠借助單播路由協議實現動態路由更新,具體配置過程略。
使能IP組播路由,使能PIM-SM和IGMP,並配置BSR的服務邊界
# 在Switch A上使能IP組播路由,在各接口上使能PIM-SM,並在主機側接口Vlan-interface100上使能IGMP。
<SwitchA> system-view
[SwitchA] multicast routing-enable
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] igmp enable
[SwitchA-Vlan-interface100] pim sm
[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相似,配置過程略。
配置C-BSR和C-RP的位置
# 在Switch A上將Loopback0接口配置為C-BSR和C-RP。
[SwitchA] pim
[SwitchA-pim] c-bsr loopback 0
[SwitchA-pim] c-rp loopback 0
[SwitchA-pim] quit
Switch C和Switch D上的配置與Switch A相似,配置過程略。
配置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
配置SA消息過濾規則
# 在Switch C上配置不向Switch D轉發有關(Source 1,225.1.1.0/30)的SA消息。
[SwitchC] acl number 3001
[SwitchC-acl-adv-3001] rule deny ip source 10.110.3.100 0 destination 225.1.1.0 0.0.0.3
[SwitchC-acl-adv-3001] rule permit ip source any destination any
[SwitchC-acl-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 number 2001
[SwitchD-acl-basic-2001] rule deny source 10.110.6.100 0
[SwitchD-acl-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
MSDP Source-Active Cache Information of VPN-Instance: public net
MSDP Total Source-Active Cache - 8 entries
MSDP 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
MSDP Source-Active Cache Information of VPN-Instance: public net
MSDP Total Source-Active Cache - 4 entries
MSDP 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對等體,但其狀態一直顯示為down。
· 所配置的本地接口地址與MSDP對等體地址之間,建立起基於TCP連接的MSDP對等體關係;
· 如果本地接口地址與對端設備上所配置的MSDP對等體地址不一致,TCP連接就不會建立起來;
· 如果兩個MSDP對等體之間沒有路由,TCP連接也不會建立起來。
檢查各設備之間的路由是否通達。通過命令display ip routing-table查看各設備之間單播路由是否正確。
檢查將成為MSDP對等體的兩個設備間是否存在到達對方的單播路由。
檢查MSDP對等體之間的接口地址是否匹配。通過命令display current-configuration查看本地接口地址是否與對端MSDP對等體地址一致,應確保一致。
MSDP沒有將(S,G)轉發項通過SA消息發送出去。
· 命令import-source用於控製將本域的(S,G)表項通過SA消息發送給MSDP對等體。如果沒有指定參數acl-number則表示默認過濾掉所有的(S,G)表項,即不通告本域的所有(S,G)表項;
· 未配置import-source命令時,係統將發送本域的所有(S,G)信息。如果MSDP沒有將本域的(S,G)表項通過SA消息發送出去,應檢查import-source命令的配置是否正確。
檢查各設備之間的路由是否通達。通過命令display ip routing-table查看各設備之間單播路由是否正確。
檢查將成為MSDP對等體的兩個設備間是否存在到達對方的單播路由。
檢查命令import-source及其參數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地址與本地配置的RP地址相同,將拒絕接收SA消息。
檢查各設備之間的路由是否通達。通過命令display ip routing-table查看各設備之間單播路由是否正確。
檢查將成為MSDP對等體的兩個設備間是否存在到達對方的單播路由。
檢查originating-rp命令的配置情況。在Anycast RP的應用環境中,一定要配置originating-rp命令,而且originating-rp命令所指定的接口地址要與建立MSDP對等體連接的本地接口地址相同。
檢查所配置的C-BSR地址是否與Anycast RP的地址不同,應確保兩個地址不同。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!