15-IPv6 PIM配置
本章節下載: 15-IPv6 PIM配置 (1.34 MB)
2.3.8 配置C-BSR等待接收來自BSR的自舉報文的超時時間
2.4.8 配置C-BSR等待接收來自BSR的自舉報文的超時時間
2.6.5 配置拒絕無Generation ID的Hello報文
2.6.8 配置IPv6 PIM加入/剪枝報文中加入信息過濾規則
2.6.9 配置設備發送的IPv6 PIM協議報文的DSCP優先級
2.9.4 IPv6 PIM-SM中無法建立RPT或無法進行源注冊
IPv6 PIM(IPv6 Protocol Independent Multicast,IPv6協議無關組播)協議利用IPv6單播靜態路由或者任意IPv6單播路由協議所生成的IPv6單播路由表為IPv6組播提供路由。IPv6組播路由與所采用的IPv6單播路由協議無關,隻要能夠通過IPv6單播路由協議產生相應的IPv6組播路由表項即可。IPv6 PIM借助RPF(Reverse Path Forwarding,逆向路徑轉發)機製創建IPv6組播路由表項,實現對IPv6組播報文的轉發。有關RPF的詳細介紹,請參見“IP組播配置指導”中的“IPv6組播路由與轉發”。
根據實現機製的不同,IPv6 PIM分為以下幾種模式:
· IPv6 PIM-DM(IPv6 Protocol Independent Multicast-Dense Mode,IPv6協議無關組播—密集模式)
· IPv6 PIM-SM(IPv6 Protocol Independent Multicast-Sparse Mode,IPv6協議無關組播—稀疏模式)
· IPv6 BIDIR-PIM(IPv6 Bidirectional Protocol Independent Multicast,IPv6雙向協議無關組播,簡稱IPv6雙向PIM)
· IPv6 PIM-SSM(IPv6 Protocol Independent Multicast Source-Specific Multicast,IPv6協議無關組播-指定源組播)
為了描述方便,本文中把由支持IPv6 PIM協議的組播設備所組成的網絡簡稱為“IPv6 PIM域”。
IPv6 PIM-DM屬於密集模式的IPv6組播路由協議,使用“推(Push)模式”傳送IPv6組播數據,通常適用於IPv6組播組成員相對比較密集的小型網絡。IPv6 PIM-DM假設網絡中的所有分支都有IPv6組播接收者,於是先將IPv6組播數據擴散至整個網絡,然後將沒有接收者的分支剪枝掉,隻保留有接收者的分支。當被剪枝的分支上出現了接收者時,再使用嫁接機製將該分支恢複。
一般說來,密集模式下數據包的轉發路徑是以IPv6組播源為“根”、IPv6組播組成員為“葉子”的一棵轉發樹,由於該樹使用的是從IPv6組播源到接收者的最短路徑,因此也稱為SPT(Shortest Path Tree,最短路徑樹)。
IPv6 PIM-DM工作機製包括鄰居發現、構建SPT、嫁接、斷言。
在IPv6 PIM域中,設備上每個運行了IPv6 PIM協議的接口通過定期向本網段的所有IPv6 PIM設備組播IPv6 PIM Hello報文(以下簡稱Hello報文),以發現IPv6 PIM鄰居,維護各設備之間的IPv6 PIM鄰居關係,從而構建和維護SPT。
構建SPT的過程也就是“擴散—剪枝”的過程:
(1) 在IPv6 PIM-DM域中,IPv6組播源S向IPv6組播組G發送IPv6組播報文時,首先對IPv6組播報文進行擴散:設備對該報文的RPF檢查通過後,便創建一個(S,G)表項,並將該報文向網絡中的所有下遊節點轉發。經過擴散,IPv6 PIM-DM域內的每個設備上都會創建(S,G)表項。
(2) 然後對那些下遊沒有接收者的節點進行剪枝:由沒有接收者的下遊節點向上遊節點發剪枝報文(Prune Message),以通知上遊節點將相應的接口從其組播轉發表項(S,G)所對應的出接口列表中刪除,並不再轉發該IPv6組播組的報文至該節點。
(S,G)表項包括IPv6組播源的地址S、IPv6組播組的地址G、出接口列表和入接口等。
剪枝過程最先由“葉子”設備發起,如圖1-1所示,由沒有接收者(Receiver)的接口主動發起剪枝,並一直持續到IPv6 PIM-DM域中隻剩下必要的分支,這些分支共同構成了SPT。
圖1-1 IPv6 PIM-DM中構建SPT示意圖
“擴散—剪枝”的過程是周期性發生的。各個被剪枝的節點提供超時機製,當剪枝超時後便重新開始這一過程。
當被剪枝的節點上出現了IPv6組播組的成員時,為了減少該節點恢複成轉發狀態所需的時間,IPv6 PIM-DM使用嫁接機製主動恢複其對IPv6組播數據的轉發,過程如下:
(1) 需要恢複接收IPv6組播數據的節點向其上遊節點發送嫁接報文(Graft Message)以申請重新加入到SPT中;
(2) 當上遊節點收到該報文後恢複該下遊節點的轉發狀態,並向其回應一個嫁接應答報文(Graft-Ack Message)以進行確認;
(3) 如果發送嫁接報文的下遊節點沒有收到來自其上遊節點的嫁接應答報文,將重新發送嫁接報文直到被確認為止。
在一個網段內如果存在多台組播設備,則相同的IPv6組播報文可能會被重複發送到該網段。為了避免出現這種情況,就需要通過斷言(Assert)機製來選定唯一的IPv6組播數據轉發者。
圖1-2 Assert機製示意圖
如圖1-2所示,當Device A和Device B從上遊節點收到(S,G)的IPv6組播報文後,都會向本地網段轉發該報文,於是處於下遊的節點Device C就會收到兩份相同的IPv6組播報文,Device A和Device B也會從各自的下遊接口收到對方轉發來的該IPv6組播報文。此時,Device A和Device B會通過其下遊接口向本網段的所有IPv6 PIM設備以組播方式發送斷言報文(Assert Message),該報文中攜帶有以下信息:IPv6組播源地址S、IPv6組播地址G、到IPv6組播源的IPv6單播路由/IPv6 MBGP路由/IPv6組播靜態路由的優先級和度量值。通過一定的規則對這些參數進行比較後,Device A和Device B中的獲勝者將成為(S,G)IPv6組播報文在本網段的轉發者,比較規則如下:
(1) 到IPv6組播源的優先級較高者獲勝;
(2) 如果到IPv6組播源的優先級相等,那麼到IPv6組播源的度量值較小者獲勝;
(3) 如果到IPv6組播源的度量值也相等,則下遊接口IPv6鏈路本地地址較大者獲勝。
IPv6 PIM-DM使用以“擴散—剪枝”方式構建的SPT來傳送IPv6組播數據。盡管SPT的路徑最短,但是其建立的過程效率較低,並不適合大中型網絡。而IPv6 PIM-SM則屬於稀疏模式的IPv6組播路由協議,使用“拉(Pull)模式”傳送IPv6組播數據,通常適用於IPv6組播組成員分布相對分散、範圍較廣的大中型網絡。
與IPv6 PIM-DM相反,IPv6 PIM-SM假設網絡中沒有IPv6組播接收者,於是接收者需要主動發起加入。IPv6 PIM-SM網絡的核心是RP(Rendezvous Point,彙集點),IPv6 PIM-SM實現IPv6組播轉發的關鍵就是建立以IPv6組播源為“根”、RP為“葉子”的SPT,以及以RP為“根”、接收者為“葉子”的RPT。
IPv6 PIM-SM工作機製包括鄰居發現、DR選舉、RP發現、嵌入式RP、Anycast-RP、構建RPT、組播源注冊、SPT切換、斷言。
IPv6 PIM-SM使用與IPv6 PIM-DM類似的鄰居發現機製,具體請參見“1.2.1 鄰居發現”一節。
無論是與IPv6組播源相連的網絡,還是與接收者相連的網絡,都需要選舉DR(Designated Router,指定路由器)。接收者側的DR負責向RP發送加入報文(Join Message);IPv6組播源側的DR負責向RP發送注冊報文(Register Message)。
在充當接收者側DR的設備上必須使能MLD,否則連接在該DR上的接收者將不能通過該DR加入IPv6組播組。有關MLD的詳細介紹,請參見“IP組播配置指導”中的“MLD”。
圖1-3 DR選舉示意圖
如圖1-3所示,DR的選舉過程如下:
(1) 共享網絡上的各設備相互之間發送Hello報文(攜帶有競選DR優先級的參數),擁有最高優先級的設備將成為DR;
(2) 如果優先級相同,或者網絡中至少有一台設備不支持在Hello報文中攜帶競選DR優先級的參數,則根據各設備的IPv6鏈路本地地址大小來競選DR,IPv6鏈路本地地址最大的設備將成為DR。
如果DR出現故障,將導致其IPv6 PIM鄰居可達狀態定時器超時,其餘設備將觸發新的DR選舉過程。
RP是IPv6 PIM-SM域中的核心設備。每個IPv6組播組在任意時刻,隻能由唯一的一個RP為其轉發數據,而不能由多個RP轉發數據。
RP可以靜態配置、動態選舉或從嵌入式RP中獲取。嵌入式RP優先級高於靜態RP和動態RP。如果同時配置了靜態RP和動態RP,二者的選取原則為:
· 如果配置了靜態RP優先,則表示優先選擇靜態RP,隻有當靜態RP失效時,動態RP才能生效;
· 如果未配置靜態RP優先,則表示優先選擇動態RP,隻有當未配置動態RP或動態RP失效時,靜態RP才能生效。
手工配置靜態RP,既可避免因單一節點故障而引起的通信中斷,也可避免C-RP與BSR之間頻繁的信息交互而占用帶寬。
動態選舉RP涉及到的角色:
· C-RP(Candidate-RP,候選RP):為了緩解RP的負擔並優化RPT的拓撲結構,設備通過自舉機製從C-RP中動態選出RP,使不同的RP服務於不同的IPv6組播組。
· BSR(Bootstrap Router,自舉路由器):IPv6 PIM-SM域的管理核心,負責在IPv6 PIM-SM域中收集並發布RP信息。BSR是通過C-BSR選舉出來的。一個IPv6 PIM-SM域內隻能有一個BSR,但可以配置多個C-BSR。
· C-BSR(Candidate-BSR,候選BSR):任意一台設備都可以被配置為C-BSR,從中選舉出BSR。一旦BSR發生故障,其餘C-BSR能夠通過自動選舉產生新的BSR,從而確保業務免受中斷。
圖1-4 RP與BSR信息交互示意圖
如圖1-4所示,動態選舉RP的過程為:
(1) 每個C-BSR向其它設備發送自舉報文,某C-BSR收到其它C-BSR發來的自舉報文時,首先比較自己與後者的優先級,優先級較高者獲勝;在優先級相同的情況下,再比較自己與後者的BSR地址,擁有較大IPv6地址者獲勝。如果後者獲勝,則用後者的BSR地址替換自己的BSR地址,並不再認為自己是BSR;否則,保留自己的BSR地址,並繼續認為自己是BSR。
(2) C-RP周期性地向BSR發送宣告報文(Advertisement Message),該報文中攜帶有C-RP的地址和優先級以及其服務的IPv6組範圍。且在其宣告報文中封裝一個保持時間,BSR在收到該報文後,從中獲得該時間值並啟動C-RP超時定時器,如果超時後BSR仍沒有收到來自C-RP後續的宣告報文,則認為目前網絡中的C-RP失效或不可達。
(3) BSR從宣告報文中學習和收集RP-Set信息,將這些信息彙總為RP-Set(RP集,即組播組與RP的映射關係數據庫),並將該信息與自己的IPv6地址一起封裝在自舉報文(Bootstrap Message,BSM)中發布到整個PIM-SM域。
(4) 網絡內的其它設備根據RP-Set信息計算出特定IPv6組播組範圍所對應的RP。
網絡中的各設備將依據RP-Set提供的信息,使用相同的規則從眾多C-RP中為特定IPv6組播組選擇其對應的RP,具體規則如下:
a. 首先比較C-RP所服務的IPv6組範圍,所服務的IPv6組範圍較小者獲勝。
b. 若服務的IPv6組範圍相同,再比較C-RP的優先級,優先級較高者獲勝。
c. 若優先級也相同,再使用哈希(Hash)函數計算哈希值,哈希值較大者獲勝。
d. 若哈希值也相同,則C-RP的IPv6地址較大者獲勝。
· 一個RP可以同時服務於多個IPv6組播組,但一個IPv6組播組隻能唯一對應一個RP。
· 一台設備可以同時充當C-RP和C-BSR。
通過嵌入式RP(Embedded RP)機製可以從IPv6組播地址中解析出內嵌的RP地址,從而實現IPv6組播組到RP的映射,以取代靜態配置的RP或由BSR機製動態計算出來的RP,DR不再需要預先知道RP的信息,隻需對組播報文進行分析即可知道RP的地址。
圖1-5 內嵌RP地址的IPv6組播地址示意圖
如圖1-5所示,嵌入式RP使用特定的組地址格式,其中各字段的含義與要求如下:
(1) 前8位固定為0xFF
(2) Flags字段的R、P和T位均置1,表示內嵌RP地址的組播地址。
(3) Reserved:4比特。保留字段,必須為0。
(4) RIID:4比特。表示RP地址的接口ID。
(5) Plen:8比特。表示RP地址前綴的有效長度(單位為比特)。長度不能大於64,且不能為0。
(6) Network prefix:64比特。表示RP地址前綴,有效長度由Plen字段指定。
(7) Group ID:縮短為32比特,含義不變。
嵌入式RP的工作原理如下:
· 接收者側:
a. 接收者主機發送MLD報告報文聲明加入某IPv6組播組;
b. 接收者側DR提取內嵌在IPv6組播地址中的RP地址,並向該RP發送加入報文(Join Message)。
· IPv6組播源側:
a. IPv6組播源要向某IPv6組播組發送IPv6組播數據;
b. IPv6組播源側DR提取內嵌在IPv6組播地址中的RP地址,並向該RP發送注冊報文。
IPv6 PIM-SM要求每個IPv6組播組隻能有一個激活的RP,因此當某RP失效時,可能導致其對應IPv6組播組的流量中斷。Anycast-RP機製通過為同一IPv6組播組設置具有相同地址的多個RP,IPv6組播源和接收者各自就近選擇RP進行注冊或加入,這些RP之間則進行IPv6組播源信息的同步,從而實現了RP間的冗餘備份。Anycast-RP具有以下優點:
· RP路徑最優:IPv6組播源向距離最近的RP進行注冊,建立路徑最優的SPT;接收者向距離最近的RP發起加入,建立路徑最優的RPT。
· RP冗餘備份:當某RP失效後,原先在該RP上注冊或加入的IPv6組播源或接收者會自動選擇就近的RP進行注冊或加入,從而實現了RP間的冗餘備份。
由服務於同一IPv6組播組的多個RP組成的集合稱為Anycast-RP集,這些RP則稱為Anycast-RP成員,各成員的地址稱為Anycast-RP成員地址,而Anycast-RP集對外統一發布的地址則稱為Anycast-RP地址。如圖1-6所示,一個Anycast-RP集中包含RP 1、RP 2和RP 3三個成員,Anycast-RP地址為RPA。
Anycast-RP的工作過程如下:
(1) RP 1收到一個目的地址為RPA的注冊報文,發現其源地址不是其它成員(RP 2或RP 3)的地址,於是認為此報文由DR發來。然後RP 1將該報文的源地址改為自己的地址後發送給所有其它成員(RP 2和RP 3)。如果一台設備既是DR也是RP,則相當於收到自己發送的注冊報文,也要向所有其它成員轉發。
(2) RP 2和RP 3收到RP 1發來的注冊報文後,發現其源地址是Anycast-RP集的成員地址,於是不再向外轉發。
由此可見,RP接收注冊報文的原有處理沒有任何改變,唯一的變化就是滿足條件的RP要向同一Anycast-RP集內的其它成員轉發注冊報文,以實現IPv6組播源信息的共享。
圖1-7 IPv6 PIM-SM中構建RPT示意圖
如圖1-7所示,RPT的構建過程如下:
(1) 當接收者加入一個IPv6組播組G時,先通過MLD報文通知與其直連的DR;
(2) DR掌握了IPv6組播組G的接收者的信息後,向該組所對應的RP方向逐跳發送加入報文;
(3) 從DR到RP所經過的設備就形成了RPT的分支,這些設備都在其轉發表中生成了(*,G)表項,這裏的“*”表示來自任意IPv6組播源。RPT以RP為根,以DR為葉子。
當發往IPv6組播組G的IPv6組播數據流經RP時,數據就會沿著已建立好的RPT到達DR,進而到達接收者。
當某接收者對IPv6組播組G的信息不再感興趣時,與其直連的DR會逆著RPT向該組的RP方向逐跳發送剪枝報文;上遊節點收到該報文後在其出接口列表中刪除與下遊節點相連的接口,並檢查自己是否擁有該IPv6組播組的接收者,如果沒有則繼續向其上遊轉發該剪枝報文。
當接收者不再通過RP接收發往某IPv6組播組的數據(即RP不再服務於該IPv6組播組),或RP開始接收IPv6組播源沿著SPT發來的IPv6組播數據時,RP將向組播源側DR發送注冊停止報文,DR收到該報文後將停止發送封裝有IPv6組播數據的注冊報文並啟動注冊停止定時器(Register-Stop Timer)。在注冊停止定時器超時之前,DR會向RP發送一個空注冊報文(Null-Register Message,即不封裝IPv6組播數據的注冊報文):如果DR在注冊探測時間(Register_Probe_Time)內收到了來自RP的注冊停止報文,DR將刷新其注冊停止定時器;否則,DR將重新開始發送封裝有IPv6組播數據的注冊報文。
IPv6組播源注冊的目的是向RP通知IPv6組播源的存在。
圖1-8 IPv6組播源注冊示意圖
如圖1-8所示,IPv6組播源向RP注冊的過程如下:
(1) 當IPv6組播源S向IPv6組播組G發送了一個IPv6組播報文時,與IPv6組播源直連的DR在收到該報文後,就將其封裝成注冊報文,並通過單播方式發送給相應的RP;
(2) 當RP收到該報文後,一方麵解封裝注冊報文並將封裝在其中的IPv6組播報文沿著RPT轉發給接收者,另一方麵向IPv6組播源方向逐跳發送(S,G)加入報文。這樣,從RP到IPv6組播源所經過的設備就形成了SPT的分支,這些設備都在其轉發表中生成了(S,G)表項。
(3) IPv6組播源發出的IPv6組播數據沿著已建立好的SPT到達RP,然後由RP把IPv6組播數據沿著RPT向接收者進行轉發。當RP收到沿著SPT轉發來的IPv6組播數據後,通過單播方式向與IPv6組播源直連的DR發送注冊停止報文(Register-Stop Message)。
在IPv6 PIM-SM域中,一個IPv6組播組唯一對應一個RP和一棵RPT。在SPT切換前,所有發往該組的IPv6組播報文都必須先由IPv6組播源側DR封裝在注冊報文中發往RP,由RP解封裝後再沿RPT分發給接收者側的DR,RP是所有IPv6組播數據必經的中轉站。這個過程存在以下三個問題:
· IPv6組播源側的DR和RP必須對IPv6組播數據進行繁瑣的封裝/解封裝處理。
· IPv6組播數據的轉發路徑不一定是從IPv6組播源到接收者的最短路徑。
· 當IPv6組播流量變大時,RP負擔增大,容易引發故障。
為了解決上述問題,當設備收到IPv6 組播數據包時,IPv6 PIM-SM允許由RP或接收者側的DR發起SPT切換:
(1) RP發起的SPT切換
RP周期性地檢測設備是否收到IPv6組播數據,一旦發現收到IPv6組播數據包,立即向IPv6組播源方向發送(S,G)加入報文,建立RP到IPv6組播源的SPT分支,後續的IPv6組播報文都直接沿該分支到達RP。
由RP發起的SPT切換的詳細過程,請參見“1.3.6 IPv6組播源注冊”一節。
(2) 接收者側DR發起的SPT切換
接收者側DR周期性地檢測設備是否收到IPv6組播數據包,一旦發現收到IPv6組播數據包,立即發起SPT切換,過程如下:
a. 首先,接收者側DR向IPv6組播源方向逐跳發送(S,G)加入報文,沿途經過的所有設備在其轉發表中都生成了(S,G)表項,從而建立了SPT分支;
b. 隨後,當IPv6組播數據沿SPT到達RPT與SPT分叉的設備時,該設備開始丟棄沿RPT到達的IPv6組播數據,同時向RP逐跳發送含RP位的剪枝報文,RP收到該報文後繼續向IPv6組播源方向發送剪枝報文(假設此時隻有這一個接收者),從而完成了SPT切換;
c. 最終,IPv6組播數據將沿SPT從IPv6組播源到達到接收者。
通過SPT切換,IPv6 PIM-SM能夠以比IPv6 PIM-DM更經濟的方式建立SPT。
IPv6 PIM-SM使用與IPv6 PIM-DM類似的斷言機製,具體請參見“1.2.4 斷言”一節。
在某些組網應用(譬如多方電視電話會議)中,在一個IPv6組播組同時對應多個接收者和多個IPv6組播源的情況下,如果使用傳統的IPv6 PIM-DM或IPv6 PIM-SM按SPT轉發IPv6組播數據,需在每台設備上針對每個IPv6組播源都創建(S,G)表項,這將占用大量的係統資源。為了解決這個問題,提出了IPv6雙向PIM的概念。IPv6雙向PIM由IPv6 PIM-SM發展而來,它通過建立以RP為中心、分別連接IPv6組播源和接收者的雙向RPT,使IPv6組播數據沿著雙向RPT從IPv6組播源經由RP轉發到接收者。這樣,在每台設備上隻需維護(*,G)表項即可,從而節約了係統資源。
IPv6雙向PIM主要適用於IPv6組播源和接收者都比較密集的網絡,工作機製包括鄰居發現、RP發現、DF選舉、構建雙向RPT。
IPv6雙向PIM使用與IPv6 PIM-SM完全相同的鄰居發現機製,具體請參見“1.3.1 鄰居發現”一節。
IPv6雙向PIM支持靜態配置RP和動態選舉RP,選擇方法與IPv6 PIM-SM相同,具體請參見“1.3.3 RP發現”一節。
DF(Designated Forwarder,指定轉發者)是IPv6雙向PIM中的重要角色,IPv6組播數據由IPv6組播源向RP轉發的動力來自於DF,也就是說隻有DF才有能力將IPv6組播數據向RP方向轉發。因此,每個RP在每個網段都需要有其對應的DF,以負責將該網段的IPv6組播數據向該RP轉發;此外,在有多台IPv6組播設備的網段,DF的唯一性也可以避免相同的IPv6組播報文被重複發往RP。
在RPL上不需要選舉DF。
圖1-9 DF選舉示意圖
如圖1-9所示,Device B和Device C都可以從Device A收到由IPv6組播源向IPv6組播組G發送的IPv6組播報文,如果它們都向下遊節點轉發該報文,RP最終將收到兩份相同的IPv6組播報文。因此,Device B和Device C一旦獲得RP的信息,就會為該RP發起DF的選舉:Device B和Device C將分別向本網段的所有IPv6 PIM設備以組播方式發送DF選舉報文(DF Election Message),該報文攜帶有以下信息:RP的地址、到RP的IPv6單播路由/IPv6 MBGP路由/IPv6組播靜態路由的優先級和度量值。通過一定規則對這些參數進行比較後,Device B和Device C中的獲勝者將成為DF,具體的比較規則如下:
(1) 到RP的優先級較高者獲勝;
(2) 如果到RP的優先級相等,那麼到RP的度量值較小者獲勝;
(3) 如果到RP的度量值也相等,則接口的IPv6鏈路本地地址較大者獲勝。
雙向RPT由兩部分構成:一部分是以RP為根、以直連接收者的設備為葉子的RPT,簡稱接收者側RPT;而另一部分則是以RP為根、以直連IPv6組播源的設備為葉子的RPT,簡稱組播源側RPT。這兩部分RPT的構建過程不同,下麵分別加以介紹。
圖1-10 接收者側RPT構建示意圖
接收者側RPT的構建過程與IPv6 PIM-SM中RPT的構建過程類似,如圖1-10所示,其構建過程如下:
(1) 當接收者加入一個IPv6組播組G時,先通過MLD報文通知與其直連的設備;
(2) 該設備掌握了IPv6組播組G的接收者的信息後,向該組所對應的RP方向逐跳發送加入報文;
(3) 從直連接收者的設備到RP所經過的設備就形成了接收者側RPT的分支,這些設備都在其轉發表中生成了(*,G)表項。
當某接收者對IPv6組播組G的信息不再感興趣時,與其直連的設備會逆著接收者側RPT向該組的RP方向逐跳發送剪枝報文;上遊節點收到該報文後在其出接口列表中刪除與下遊節點相連的接口,並檢查自己是否擁有該IPv6組播組的接收者,如果沒有則繼續向其上遊轉發該剪枝報文。
圖1-11 組播源側RPT構建示意圖
組播源側RPT的構建過程則相對簡單,如圖1-11所示,其構建過程如下:
(1) IPv6組播源發向IPv6組播組G的IPv6組播數據在途徑的每個網段,都被該網段的DF無條件地向RP轉發;
(2) 從直連組播源的設備到RP所經過的設備就形成了IPv6組播源側RPT的分支,這些設備都在其轉發表中生成了(*,G)表項。
當雙向RPT構建完成之後,由IPv6組播源發出的IPv6組播數據將依次沿著IPv6組播源側RPT和接收者側RPT,經由RP轉發至接收者。
當接收者和IPv6組播源位於RP同一側時,組播源側RPT與接收者側RPT有可能在到達RP之前就已彙合。在這種情況下,由該IPv6組播源發往該接收者的IPv6組播數據將在此彙合點直接被轉發給該接收者,而不必經由RP。
一般情況下,在一個IPv6 PIM-SM/IPv6雙向PIM域內隻能有一個BSR,並由該BSR負責在整個IPv6 PIM-SM/IPv6雙向PIM域內宣告RP-Set信息,所有IPv6組播組的信息都在此BSR管理的網絡範圍內進行轉發,我們稱之為IPv6非管理域機製。
考慮到管理的精細化,可以將整個IPv6 PIM-SM/IPv6雙向PIM域劃分為一個IPv6 Global域(IPv6 Global-scope Zone)和多個IPv6管理域(IPv6 Admin-scope Zone),一方麵可以有效分擔單一BSR的管理壓力,另一方麵可以使用私有組地址為特定區域提供專門的服務。相應地,我們稱之為IPv6管理域機製。
IPv6管理域與特定Scope值的IPv6組播組相對應,針對不同的Scope值劃分相應的IPv6管理域。IPv6管理域的邊界由ZBR(Zone Border Router,區域邊界路由器)構成,每個IPv6管理域各維護一個BSR,為特定Scope值的IPv6組播組服務,屬於此範圍的IPv6組播協議報文(如斷言報文、BSR自舉報文等)無法通過IPv6管理域邊界。不同IPv6管理域所服務的IPv6組播組範圍可以重疊,該範圍內的IPv6組播組隻在本IPv6管理域內有效,相當於私有組地址。而IPv6 Global域則可視為一種特殊的IPv6管理域,其維護的BSR為Scope值為14的IPv6組播組提供服務。
每個IPv6管理域以及IPv6 Global域都有獨立的C-RP和BSR設備,這些設備僅在其所屬的域有效,也就是說BSR機製與RP選舉在各IPv6管理域之間是隔離的;每個IPv6管理域都有自己的邊界,各IPv6管理域所服務IPv6組播組範圍內的IPv6組播信息不能進、出該邊界。為了更清晰地理解IPv6管理域和IPv6 Global域之間的關係,可以從以下兩個角度進行考慮:
· 地域空間角度
IPv6管理域是針對特定Scope值的邏輯管理區域,屬於此範圍的IPv6組播報文隻能在本IPv6管理域的域內或域外傳播,無法跨過IPv6管理域的邊界。
圖1-12 地域空間上IPv6管理域與IPv6 Global域的關係
如圖1-12所示,對於同一Scope值的IPv6組播組而言,各IPv6管理域在地域上必須相互獨立、相互隔離。而IPv6 Global域則包含了IPv6 PIM-SM/IPv6雙向PIM域內的所有設備,不屬於任何IPv6管理域服務範圍的IPv6組播報文,可以在整個IPv6 PIM-SM/IPv6雙向PIM域範圍內傳播。
· Scope值角度
如圖1-13所示,IPv6組播通過其地址結構中的Scope字段來表明該IPv6組播組屬於哪個域。
圖1-13 IPv6組播地址結構
Scope值較大的域包含Scope值較小的域,Scope值為E所對應的域(即IPv6 Global域)最大。Scope字段可能的取值及其含義如表1-1所示。
表1-1 Scope字段的取值及其含義
取值 |
含義 |
所屬域 |
0、F |
保留(Reserved) |
- |
1 |
接口本地範圍(Interface-Local Scope) |
- |
2 |
鏈路本地範圍(Link-Local Scope) |
- |
3 |
子網本地範圍(Subnet-Local Scope) |
IPv6管理域 |
4 |
管理本地範圍(Admin-Local Scope) |
IPv6管理域 |
5 |
站點本地範圍(Site-Local Scope) |
IPv6管理域 |
6、7、9~D |
未分配(Unassigned) |
IPv6管理域 |
8 |
機構本地範圍(Organization-Local Scope) |
IPv6管理域 |
E |
全球範圍(Global Scope) |
IPv6 Global域 |
目前,ASM(Any-Source Multicast,任意信源組播)模型包括IPv6 PIM-DM和IPv6 PIM-SM兩種模式,SSM(Source-Specific Multicast,指定信源組播)模型能夠借助IPv6 PIM-SM的部分技術來實現,也稱為IPv6 PIM-SSM。
SSM模型為指定源組播提供了解決方案,通過MLDv2來維護主機與設備之間的關係。在實際應用中,通常采用MLDv2以及IPv6 PIM-SM的一部分技術來實現SSM模型。由於接收者預先已知道IPv6組播源的具體位置,因此在SSM模型中無需RP,無需構建RPT,也無需IPv6組播源注冊過程來發現其它IPv6 PIM域內的IPv6組播源。
IPv6 PIM-SSM的工作機製包括鄰居發現、DR選舉、構建SPT。
IPv6 PIM-SSM使用與IPv6 PIM-SM完全相同的鄰居發現機製,具體請參見“1.2.1 鄰居發現”一節。
IPv6 PIM-SSM使用與IPv6 PIM-SM完全相同的DR選舉機製,具體請參見 “1.3.2 DR選舉”一節。
構建為IPv6 PIM-SM服務的RPT,還是構建為IPv6 PIM-SSM服務的SPT,關鍵在於接收者準備加入的IPv6組播組是否屬於IPv6 SSM組地址範圍(IANA保留的IPv6 SSM組地址範圍為FF3x::/32,其中x表示任意合法的scope)。
圖1-14 IPv6 PIM-SSM中構建SPT示意圖
如圖1-14所示,Host B和Host C為IPv6組播信息的接收者(Receiver),由其借助MLDv2的報告報文向DR報告自己對來自IPv6組播源S、發往IPv6組播組G的信息感興趣。收到該報告報文的DR先判斷該報文中的IPv6組地址是否在IPv6 SSM組地址範圍內:
· 如果在IPv6 SSM組地址範圍內,則構建IPv6 PIM-SSM,並向IPv6組播源S逐跳發送通道(Channel)的訂閱報文(Subscribe Message)。沿途所有設備上都創建(S,G)表項,從而在網絡內構建了一棵以IPv6組播源S為根、以接收者為葉子的SPT,該SPT就是IPv6 PIM-SSM中的傳輸通道;
· 如果不在IPv6 SSM組地址範圍內,則仍舊按照IPv6 PIM-SM的流程進行後續處理,此時接收者側DR需要向RP發送(*,G)加入報文,同時IPv6組播源側DR需要進行IPv6組播源的注冊。
在IPv6 PIM-SSM中,借助“通道”的概念表示IPv6組播組,借助“訂閱報文”的概念表示加入報文。
在一個IPv6 PIM網絡中,不允許IPv6 PIM-DM與其它類型的IPv6 PIM協議(IPv6 PIM-SM、IPv6雙向PIM和IPv6 PIM-SSM)同時運行,但允許同時運行IPv6 PIM-SM、IPv6雙向PIM和IPv6 PIM-SSM。
當網絡中同時運行IPv6 PIM-SM、IPv6雙向PIM和IPv6 PIM-SSM時,針對具體的組加入行為運行哪種類型的IPv6 PIM協議,其判斷過程如圖1-15所示。
圖1-15 各IPv6 PIM協議運行關係示意圖
有關MLD SSM Mapping的詳細介紹,請參見“IP組播配置指導”中的“MLD”。
在多實例應用中,IPv6組播設備需要針對不同的實例分別維護IPv6 PIM鄰居表、IPv6組播路由表、BSR信息和RP-Set信息,並保持各實例間上述信息的相互獨立。
當IPv6組播設備收到IPv6組播數據報文時,需要區分出該數據報文所屬的實例,並根據該實例對應的IPv6組播路由表將其轉發,或創建與該實例的IPv6 PIM相關的IPv6組播路由表項。
IPv6 PIM利用M-LAG(Multichassis link aggregation,跨設備鏈路聚合)功能將兩台物理設備連接起來虛擬成一台設備,使用該虛擬設備連接組播源或組播接收者,可避免單點故障對組播網絡造成影響,提高組播網絡可靠性。有關M-LAG的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“M-LAG”。
IPv6三層組播支持M-LAG,有如下兩種組網方案:
如圖1-16所示,作為M-LAG設備的Switch A和Switch B通過peer-link鏈路連接,Switch C與組播源相連。
其中,peer-link鏈路與M-LAG接口屬於同一個VLAN。組播源發送的組播數據流量,通過Switch C的聚合口進行負載分擔,發送到Switch A和Switch B的M-LAG接口上。
Switch A和Switch B的M-LAG接口分別收到組播數據報文後,會通過peer-link鏈路將各自接收到的報文發送給對端,從而使兩台設備上都能收到完整的組播流量。根據三層網絡中IPv6 PIM的配置不同,流量轉發到下遊有以下三種方式:所有流量均通過Switch A發送、所有流量均通過Switch B發送和Switch A和Switch B進行負載分擔。圖1-16中以所有流量均通過Switch A發送為例。
如圖1-17所示,作為M-LAG設備的Switch A和Switch B通過peer-link鏈路連接,Switch C與組播接收者相連。
Switch A和Switch B上與Switch C相連的接口,均配置MLD和IPv6 PIM消極模式。Switch A和Switch B任意一台設備收到MLD成員關係報告報文,均會通過peer-link鏈路同步到對端的設備上,從而Switch A和Switch B設備間MLD組播組信息的同步。
Switch A和Switch B上配置的IPv6 PIM消極模式,保證兩台設備都能收到組播源發送的所有的組播數據流量。組播數據流量向M-LAG接口轉發時,Switch A和Switch B形成負載分擔,共同進行組播數據流量轉發。
與IPv6 PIM相關的協議規範有:
· RFC 3973:Protocol Independent Multicast-Dense Mode (PIM-DM): Protocol Specification (Revised)
· RFC 4601:Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification (Revised)
· RFC 4610:Anycast-RP Using Protocol Independent Multicast (PIM)
· RFC 3956:Embedding the Rendezvous Point (RP) Address in an IPv6 Multicast Address
· RFC 5015:Bidirectional Protocol Independent Multicast (BIDIR-PIM)
· RFC 5059:Bootstrap Router (BSR) Mechanism for Protocol Independent Multicast (PIM)
· RFC 4607:Source-Specific Multicast for IP
· draft-ietf-ssm-overview-05:An Overview of Source-Specific Multicast (SSM)
同一台設備相同實例的所有接口上啟用的IPv6 PIM模式必須相同。
當IPv6 PIM網絡中同時運行IPv6 PIM-SM和IPv6雙向PIM時,請勿使一個RP同時為IPv6 PIM-SM和IPv6 雙向PIM工作,否則可能引起IPv6 PIM路由表出錯。
IPv6 PIM-DM配置任務如下:
(1) 使能IPv6 PIM-DM
(2) (可選)配置狀態刷新能力
(3) (可選)配置IPv6 PIM-DM嫁接報文的重傳時間
(4) (可選)配置IPv6 PIM公共特性
在配置IPv6 PIM-DM之前,需要完成如下操作:
· 配置任一IPv6單播路由協議,實現域內網絡層互通。
· 使能IPv6組播路由。
在接口上使能了IPv6 PIM-DM後,設備之間才能夠建立IPv6 PIM鄰居,從而對來自IPv6 PIM鄰居的協議報文進行處理。
在部署IPv6 PIM-DM域時,建議在其所有非邊界接口上均使能IPv6 PIM-DM。
(1) 進入係統視圖。
system-view
(2) 使能IPv6組播路由,並進入IPv6 MRIB視圖。
ipv6 multicast routing [ vpn-instance vpn-instance-name ]
缺省情況下,IPv6組播路由處於關閉狀態。
本命令的詳細介紹請參見“IP組播命令參考”中的“IPv6組播路由與轉發”。
(3) 退回係統視圖。
quit
(4) 進入接口視圖。
interface interface-type interface-number
(5) 使能IPv6 PIM-DM。
ipv6 pim dm
缺省情況下,IPv6 PIM-DM處於關閉狀態。
配置狀態刷新能力可以使得設備之間更高效的獲得彼此的(S,G)狀態,分為以下四個可供配置的選項,對各選項的介紹如下:
· 狀態刷新能力:為了避免各設備上被剪枝的接口因為超時而恢複轉發,與IPv6組播源直連的設備會周期性地發送(S,G)狀態刷新報文,可以在與IPv6組播源直連的設備上通過配置來改變這個時間間隔。該報文沿著IPv6 PIM-DM域最初的擴散路徑逐跳進行轉發,從而刷新沿途所有設備上的剪枝定時器的狀態。隻有當一個共享網段內的所有IPv6 PIM設備上都開啟了狀態刷新能力時,該共享網段才具備狀態刷新能力。
· 狀態刷新報文的時間間隔:與組播源直連的設備會按照配置的時間間隔來周期性地發送(S,G)狀態刷新報文。
· 接收新狀態刷新報文的等待時間:設備可能在短時間內收到多個狀態刷新報文,而其中有些報文可能是重複的。為了避免接收這些重複的報文,可以配置接收新狀態刷新報文的等待時間:設備將丟棄在該時間內收到的狀態刷新報文;當該時間超時後,設備將正常接收新的狀態刷新報文,並更新自己的IPv6 PIM-DM狀態,同時重置該等待時間。
· 狀態刷新報文的TTL值:路設備在收到狀態刷新報文時,會將該報文的Hop Limit值減1後轉發給其下遊,直至該報文的Hop Limit值減為0,當網絡規模很小時,狀態刷新報文將在網絡中循環傳遞。因此,為了有效控製刷新報文的傳遞範圍,需要根據網絡規模大小在與IPv6組播源直連的設備上配置合適的Hop Limit值。
請在IPv6 PIM-DM域內的所有設備上進行如下配置。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟狀態刷新能力。
ipv6 pim state-refresh-capable
缺省情況下,狀態刷新能力處於開啟狀態。
(4) 退回係統視圖。
quit
(5) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(6) 配置發送狀態刷新報文的時間間隔。
state-refresh-interval interval
缺省情況下,發送狀態刷新報文的時間間隔為60秒。
(7) 配置接收新狀態刷新報文的等待時間。
state-refresh-rate-limit time
缺省情況下,接收新狀態刷新報文的等待時間為30秒。
(8) 配置狀態刷新報文的Hop Limit值。
state-refresh-hoplimit hoplimit-value
缺省情況下,狀態刷新報文的Hop Limit值為255。
嫁接報文是IPv6 PIM-DM中唯一使用確認機製的報文。在IPv6 PIM-DM域中,下遊設備發出嫁接報文後,如果在指定時間內沒有收到來自其上遊設備的嫁接應答報文,則會重發嫁接報文,直到被確認。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置嫁接報文的重傳時間。
ipv6 pim timer graft-retry interval
缺省情況下,嫁接報文的重傳時間為3秒。
IPv6 PIM-SM配置任務如下:
(1) 使能IPv6 PIM-SM
(2) 配置靜態RP
當網絡內僅有一個動態RP時,建議手工配置靜態RP。
(3) 配置動態RP
¡ 配置C-RP
¡ 配置C-BSR
¡ (可選)配置C-BSR發送自舉報文的時間間隔
¡ (可選)配置C-BSR等待接收來自BSR的自舉報文的超時時間
¡ (可選)配置BSR服務邊界
¡ (可選)關閉自舉報文語義分片功能
¡ (可選)關閉自舉報文往報文入接口方向轉發功能
當網絡內IPv6 PIM設備數量較多時建議配置動態RP。
(4) 配置嵌入式RP
當網絡內的設備處在不同的IPv6 PIM-SM域,為了實現跨域的正常通信,建議網絡內的各個設備配置嵌入式RP。
(5) (可選)配置Anycast-RP
(6) (可選)配置IPv6組播源注冊
(7) (可選)配置SPT切換
(8) (可選)配置DR選舉的延遲時間
(9) (可選)配置IPv6 PIM公共特性
在配置IPv6 PIM-SM之前,需要完成如下操作:
· 配置任一IPv6單播路由協議,實現域內網絡層互通。
· 使能IPv6組播路由。
在接口上使能了IPv6 PIM-SM後,設備之間才能夠建立IPv6 PIM鄰居,從而對來自IPv6 PIM鄰居的協議報文進行處理。
在部署IPv6 PIM-SM域時,建議在其所有非邊界接口上均使能IPv6 PIM-SM。
(1) 進入係統視圖。
system-view
(2) 使能IPv6組播路由,並進入IPv6 MRIB視圖。
ipv6 multicast routing [ vpn-instance vpn-instance-name ]
缺省情況下,IPv6組播路由處於關閉狀態。
本命令的詳細介紹請參見“IP組播命令參考”中的“IPv6組播路由與轉發”。
(3) 退回係統視圖。
quit
(4) 進入接口視圖。
interface interface-type interface-number
(5) 使能IPv6 PIM-SM。
ipv6 pim sm
缺省情況下,IPv6 PIM-SM處於關閉狀態。
當網絡內僅有一個動態RP時,建議手工配置靜態RP,既可避免因單一節點故障而引起的通信中斷,也可避免C-RP與BSR之間頻繁的信息交互而占用帶寬。
· 同一個網絡可以依據ACL規則配置多個靜態RP。
· 作為靜態RP的接口不必使能IPv6 PIM。
· 同一個IPv6組播組如果配置了多個靜態RP,那麼地址最大的靜態RP為實際靜態RP。
· IPv6 PIM-SM域內的所有設備上都必須進行完全相同的靜態RP配置。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置服務於IPv6 PIM-SM的靜態RP。
static-rp ipv6-rp-address [ ipv6-acl-number | preferred ] *
當網絡中同時存在動態RP和靜態RP時,如果未指定preferred參數,則表示優先選擇動態RP,隻有當未配置動態RP或動態RP失效時,靜態RP才能生效;如果指定了preferred參數,則表示優先選擇靜態RP,隻有當靜態RP失效時,動態RP才能生效。
為了防止C-RP欺騙,需要在BSR上配置合法的C-RP地址範圍及其服務的組播組範圍。
· 一台設備可以同時充當C-RP和C-BSR,建議在骨幹網路由器上配置C-RP。
· 由於每個C-RP都可能成為RP,因此必須在IPv6 PIM-SM域內的所有C-RP上都進行相同的配置。
· 在實際組網中,可能存在不同設備的RP映射采用不同的哈希算法,為了確保本網絡內各設備上RP映射信息一致,請在所有設備上配置相同的RP映射哈希算法。
· 在配置C-RP時,應在C-RP與IPv6 PIM-SM域中的其它設備之間保留較大的通信帶寬。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置C-RP。
c-rp ipv6-address [ advertisement-interval adv-interval | { group-policy ipv6-acl-number | scope scope-id } | holdtime hold-time | priority priority ] *
(4) (可選)配置合法的C-RP地址範圍及其服務的IPv6組播組範圍。
crp-policy ipv6-acl-number
缺省情況下,C-RP地址範圍及其服務的IPv6組播組範圍不受限製。
(5) (可選)更改RP映射的哈希算法。
bsr-rp-mapping rfc2362
缺省情況下, RP映射采用RFC 4601中規定的哈希算法。
如果配置了C-RP來動態選舉RP,則必須配置C-BSR。通過在IPv6 PIM-SM域內的所有設備上配置合法BSR的地址範圍,可以對收到的自舉報文按照地址範圍進行過濾,從而防止某些惡意主機非法偽裝成BSR,以避免合法的BSR被惡意取代。
· 一台設備可以同時充當C-RP和C-BSR,C-BSR應配置在骨幹網的路由器上。
· 必須在IPv6 PIM-SM域內的所有路由器上進行相同的配置。
· 由於BSR與IPv6 PIM-SM域中的其它設備需要交換大量信息,因此應在C-BSR與IPv6 PIM-SM域中的其它設備之間保留較大的通信帶寬。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置C-BSR。
c-bsr ipv6-address [ scope scope-id ] [ hash-length hash-length | priority priority ] *
(4) (可選)配置合法的BSR地址範圍。
bsr-policy ipv6-acl-number
缺省情況下,BSR的地址範圍不受限製。
C-BSR一旦通過自舉機製競選為BSR後,其他C-BSR會在等待接收來自BSR的自舉報文的超時時間(holdtime,可通過c-bsr holdtime命令進行配置)內,停止向其所服務的區域內的其他設備發送自舉報文,BSR選舉過程暫停。之後,將由BSR會周期性地(發送的周期通過本命令配置)向其所服務的區域內的其他設備發送攜帶自己的IP地址、RP-Set信息和RP實際老化時間的自舉報文,其他設備根據RP-Set信息計算出特定組播組範圍所對應的RP。當自舉超時時間超時後,所有的C-BSR之間會互相發送自舉報文,觸發新一輪的BSR選舉過程。
如果同時配置了interval和holdtime,請保證interval小於holdtime,否則將導致頻繁觸發BSR選舉過程。
如果隻配置了其中之一,那麼另一個取值可由以下公式計算得出:interval=(holdtime-10)÷2。
隻配置了holdtime時,若根據公式計算得出的interval小於interval取值範圍的最小值(1秒),則interval的取值為1秒。
隻配置了interval時,若根據公式計算得出的holdtime大於holdtime取值範圍的最大值(2147483647秒),則holdtime取值為2147483647秒。
屬於同一個IPv6 PIM域的所有C-BSR必須配置相同的interval和holdtime。如果配置值不同,則可能導致BSR選舉不穩定,從而引發組播流量轉發故障。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置C-BSR發送自舉報文的時間間隔。
c-bsr interval interval
缺省情況下,C-BSR發送自舉報文的時間間隔為60秒。
C-BSR一旦通過自舉機製競選為BSR後,其他C-BSR會在等待接收來自BSR的自舉報文的超時時間內,停止向其所服務的區域內的其他設備發送自舉報文,BSR選舉過程暫停。當自舉超時時間超時後,所有的C-BSR之間會互相發送自舉報文,觸發新一輪的BSR選舉過程。
如果同時配置了interval和holdtime,請保證interval小於holdtime,否則將導致頻繁觸發BSR選舉過程。
如果隻配置了其中之一,那麼另一個取值可由以下公式計算得出:interval=(holdtime-10)÷2。
隻配置了holdtime時,若根據公式計算得出的interval小於interval取值範圍的最小值(1秒),則interval的取值為1秒。
隻配置了interval時,若根據公式計算得出的holdtime大於holdtime取值範圍的最大值(2147483647秒),則holdtime取值為2147483647秒。
屬於同一個IPv6 PIM域的所有C-BSR必須配置相同的interval和holdtime。如果配置值不同,則可能導致BSR選舉不穩定,從而引發組播流量轉發故障。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置C-BSR等待接收來自BSR的自舉報文的超時時間。
c-bsr holdtime hold-time
缺省情況下,C-BSR等待接收來自BSR的自舉報文超時時間為130秒。
BSR的服務邊界,即IPv6 PIM-SM域的邊界。BSR是針對特定的服務範圍而言的,眾多的BSR服務邊界接口將網絡劃分成不同的IPv6 PIM-SM域,自舉報文無法通過IPv6 PIM-SM域的邊界,BSR服務邊界之外的設備也不能參與本IPv6 PIM-SM域內的組播轉發。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置BSR的服務邊界。
ipv6 pim bsr-boundary
當自舉報文的大小可能超過接口的MTU(Maximum Transmission Unit,最大傳輸單元)值時,可能會導致整個自舉報文都被丟棄。自舉報文語義分片功能可以解決上述問題:當自舉報文大於接口MTU時,會被分解為多個自舉報文分片(Bootstrap Message Fragment,BSMF)。非BSR收到自舉報文分片後,若發現某組範圍對應的RP信息都在這一個分片中,便立即更新該組範圍對應的RP-Set;若發現某組範圍映射的RP信息被分在了多個分片中,則待收齊了這些分片後再更新該組範圍對應的RP-Set。這樣,由於不同分片所含組範圍對應的RP信息不同,因此個別分片的丟失隻影響該分片所含組範圍對應的RP信息,而不會導致整個自舉報文都被丟棄。
自舉報文語義分片功能是缺省開啟的,但由於不支持該功能的設備會將自舉報文分片當作完整的自舉報文處理,從而導致其學到的RP-Set信息不完整,因此當IPv6 PIM-SM域中存在此類設備時,請在已配置為C-BSR的設備上關閉本功能。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 關閉自舉報文語義分片功能。
undo bsm-fragment enable
缺省情況下,自舉報文語義分片功能處於開啟狀態。
BSR將自舉報文(Bootstrap Message,BSM)發布到整個IPv6 PIM-SM域。在大多數IPv6 PIM-SM域中,設備並不需要將自舉報文向入接口轉發出去,可以在設備上關閉本功能。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 關閉自舉報文往報文入接口方向轉發功能。
undo bsm-reflection enable
缺省情況下,自舉報文往報文入接口方向轉發功能處於開啟狀態。
隻有組地址為FF7x::/12或FFFx::/12,且符合RFC 3956格式要求的IPv6組播組支持嵌入式RP功能。
請在IPv6 PIM-SM域內的所有設備上進行該配置。
IPv6雙向PIM不支持嵌入式RP。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 開啟嵌入式RP功能。
embedded-rp [ ipv6-acl-number ]
缺省情況下,嵌入式RP功能處於關閉狀態。
· 處於同一個Anycast-RP集中的成員設備上,都必須存在相同的IPv6地址(LoopBack接口地址),並將該IPv6地址同時配置為Anycast-RP和C-RP。
· Anycast-RP地址不能再用作BSR的地址,否則其發出的自舉報文將被其它成員設備丟棄。
· 一個Anycast-RP集中的成員設備不建議超過16台,否則將影響網絡性能。
· 建議使用LoopBack接口的地址作為Anycast-RP成員地址。如果一台成員設備有多個接口的地址被添加到Anycast-RP集中,則采用IPv6地址最小的那個作為其成員地址,其餘作為備份。
· Anycast-RP集中必須包括Anycast-RP地址所在的設備。
在配置Anycast-RP前,需要先在IPv6 PIM-SM域中完成靜態RP或C-RP的配置,然後將靜態RP或動態選舉出的RP當作Anycast-RP地址進行Anycast-RP的配置。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置Anycast-RP。
anycast-rp ipv6-anycast-rp-address ipv6-member-address
在Anycast-RP集的每台成員設備上通過重複執行anycast-rp命令,將包括自己在內的所有成員的地址都添加到Anycast-RP集中。
· 注冊報文的過濾策略:在IPv6 PIM-SM域內,IPv6組播源側DR向RP發送注冊報文,而這些注冊報文擁有不同的IPv6組播源或IPv6組播地址。為了讓RP服務於特定的IPv6組播組,可以對注冊報文進行過濾。如果注冊報文中的(S,G)表項被過濾策略中的ACL規則拒絕,或者該ACL中沒有定義針對該表項的規則,RP將丟棄該注冊報文,並向DR發送注冊停止報文。
· 根據注冊報文的全部內容來計算校驗和:出於注冊報文在傳遞過程中信息完整性的考慮,可以配置根據注冊報文的全部內容計算校驗和。但當其它設備不支持根據注冊報文的全部內容計算校驗和時,則需要配置僅根據注冊報文頭計算校驗和。
· 注冊抑製時間:注冊停止定時器的超時時間是一個隨機值,由其它兩個時間值決定:注冊抑製時間(Register_Suppression_Time)和注冊探測時間(固定為5秒)。其具體取值範圍如下:(0.5×注冊抑製時間,1.5×注冊抑製時間)-注冊探測時間。
請在所有已配置為C-RP的設備上配置注冊報文的過濾策略和注冊報文的校驗方式;請在所有可能成為IPv6組播源側DR的設備上配置注冊抑製時間。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置注冊報文的過濾策略。
register-policy { ipv6-acl-number | name ipv6-acl-name }
缺省情況下,不存在注冊報文的過濾策略。
(4) 配置根據注冊報文的全部內容來計算校驗和。
register-whole-checksum
缺省情況下,僅根據注冊報文頭來計算校驗和。
(5) 配置注冊抑製時間。
register-suppression-timeout interval
缺省情況下,注冊抑製時間為60秒。
由於某些設備無法將IPv6組播報文封裝在注冊報文中發給RP,因此在可能成為RP的設備上不建議配置永不發起SPT切換,以免導致IPv6組播報文轉發失敗。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置發起SPT切換的條件。
spt-switch-threshold { immediacy | infinity } [ group-policy ipv6-acl-number ]
缺省情況下,設備收到第一個IPv6組播數據包後便立即向SPT切換。
在與接收者相連的共享網段上,通常同時連接著多台IPv6 PIM設備。多台IPv6 PIM設備會通過DR選舉機製選舉出一台負責轉發組播報文的IPv6 PIM設備(即DR)。在某些場景下,比如原先故障的DR恢複正常後,發送IPv6 PIM Hello報文參與DR選舉,會立即被選為DR,導致當前DR變成非DR。此時,恢複正常並當選為DR的那台設備尚未生成完整的組播轉發表項,會導致短時間內有組播流量的丟失,造成組播數據斷流。
配置本功能後,原先故障的DR設備在恢複正常後,不會立即發送IPv6 PIM Hello報文參與DR選舉,而是需要等待delay-time,設備才開始參與DR選舉。此時,在延遲時間超時前,IPv6組播數據仍然由當前DR進行轉發,減少了IPv6組播流量的斷流。
建議在DR設備用戶側接口(開啟了MLD功能的接口)上配置本命令,非DR設備不需要配置。若DR設備和非DR設備都配置,則設備均故障重啟後,DR選舉的延遲時間超時之前會出現斷流。
建議配置的DR選舉的延遲時間大於IPv6 PIM Hello報文的發送間隔,否則會導致DR設備故障恢複後出現短暫的多包。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置DR選舉的延遲時間。
ipv6 pim timer dr-elect-delay delay-time
缺省情況下,DR選舉不延時。
IPv6 雙向SM配置任務如下:
(1) 使能IPv6雙向PIM
(2) 配置靜態RP
當網絡內僅有一個動態RP時,建議手工配置靜態RP。
(3) 配置動態RP
¡ 配置C-RP
¡ 配置C-BSR
¡ (可選)配置C-BSR發送自舉報文的時間間隔
¡ (可選)配置C-BSR等待接收來自BSR的自舉報文的超時時間
¡ (可選)配置BSR服務邊界
¡ (可選)關閉自舉報文語義分片功能
¡ (可選)關閉自舉報文往報文入接口方向轉發功能
¡ (可選)配置IPv6雙向PIM RP的最大數目
當網絡內IPv6 PIM設備數量較多時建議配置動態RP。
配置靜態RP和配置動態RP可以任選其一,也可以都配置。
(4) (可選)配置IPv6 PIM公共特性
在配置IPv6雙向PIM之前,需要完成如下操作:
· 配置任一IPv6單播路由協議,實現域內網絡層互通。
· 使能PIM-SM。
在部署IPv6雙向PIM域時,建議在其所有非邊界接口上均使能IPv6 PIM-SM。
(1) 進入係統視圖。
system-view
(2) 使能IPv6組播路由,並進入MRIB視圖。
ipv6 multicast routing [ vpn-instance vpn-instance-name ]
缺省情況下,IPv6組播路由處於關閉狀態。
本命令的詳細介紹請參見“IP組播命令參考”中的“IPv6組播路由與轉發”。
(3) 退回係統視圖。
quit
(4) 進入接口視圖。
interface interface-type interface-number
(5) 使能IPv6 PIM-SM。
ipv6 pim sm
缺省情況下,IPv6 PIM-SM處於關閉狀態。
(6) 退回係統視圖。
quit
(7) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(8) 使能IPv6雙向PIM。
bidir-pim enable
缺省情況下,IPv6雙向PIM處於關閉狀態。
當網絡內僅有一個動態RP時,建議手工配置靜態RP,既可避免因單一節點故障而引起的通信中斷,也可避免C-RP與BSR之間頻繁的信息交互而占用帶寬。
· IPv6雙向PIM域內的所有設備上都必須進行完全相同的靜態RP配置,否則映射的RP可能不一致。
· 同一個網絡可以依據ACL規則配置多個靜態RP。
· 作為靜態RP的接口不必使能IPv6 PIM。
· 同一個IPv6組播組如果配置了多個靜態RP,那麼地址最大的靜態RP為實際靜態RP。
· IPv6雙向PIM允許將靜態RP的IPv6地址指定為一個實際不存在的IPv6地址。譬如,一條鏈路兩端接口的IPv6地址分別為1001::1/64和1001::2/64,可以將靜態RP的IPv6地址指定為同網段但實際不存在的一個地址,如1001::100/64,該鏈路就成為了RPL。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置服務於IPv6雙向PIM的靜態RP。
static-rp ipv6-rp-address bidir [ ipv6-acl-number | preferred ] *
當網絡中同時存在動態RP和靜態RP時,如果未指定preferred參數,則表示優先選擇動態RP,隻有當未配置動態RP或動態RP失效時,靜態RP才能生效;如果指定了preferred參數,則表示優先選擇靜態RP,隻有當靜態RP失效時,動態RP才能生效。
為了防止C-RP欺騙,需要在BSR上配置合法的C-RP地址範圍及其服務的組播組範圍。
· 一台設備可以同時充當C-RP和C-BSR,建議在骨幹網路由器上配置C-RP。
· 由於每個C-RP都可能成為RP,因此必須在IPv6雙向PIM域內的所有C-RP上都進行相同的配置。
· 在實際組網中,可能存在不同設備的RP映射采用不同的哈希算法,為了確保本網絡內各設備上RP映射信息一致,請在所有設備上配置相同的RP映射哈希算法。
· 在配置C-RP時,應在C-RP與IPv6雙向PIM域中的其它設備之間保留較大的通信帶寬。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置服務於IPv6雙向PIM的C-RP。
c-rp ipv6-address [ advertisement-interval adv-interval | { group-policy ipv6-acl-number | scope scope-id } | holdtime hold-time | priority priority ] * bidir
(4) (可選)更改RP映射的哈希算法。
bsr-rp-mapping rfc2362
缺省情況下,RP映射采用RFC 4601中規定的哈希算法。
通過在設備上配置合法BSR的地址範圍,可以對收到的自舉報文按照地址範圍進行過濾,從而防止某些惡意主機非法偽裝成BSR,以避免合法的BSR被惡意取代。
· 一台設備可以同時充當C-RP和C-BSR,C-BSR應配置在骨幹網的路由器上。
· 必須在IPv6雙向PIM-SM域內的所有路由器上進行相同的配置。
· 由於BSR與IPv6雙向PIM域中的其它設備需要交換大量信息,因此應在C-BSR與雙向PIM-SM域中的其它設備之間保留較大的通信帶寬。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置C-BSR。
c-bsr ipv6-address [ scope scope-id ] [ hash-length hash-length | priority priority ] *
(4) (可選)配置合法的BSR地址範圍。
bsr-policy ipv6-acl-number
缺省情況下,BSR的地址範圍不受限製。
C-BSR一旦通過自舉機製競選為BSR後,其他C-BSR會在等待接收來自BSR的自舉報文的超時時間(holdtime,可通過c-bsr holdtime命令進行配置)內,停止向其所服務的區域內的其他設備發送自舉報文,BSR選舉過程暫停。之後,將由BSR會周期性地(發送的周期通過本命令配置)向其所服務的區域內的其他設備發送攜帶自己的IP地址、RP-Set信息和RP實際老化時間的自舉報文,其他設備根據RP-Set信息計算出特定組播組範圍所對應的RP。當自舉超時時間超時後,所有的C-BSR之間會互相發送自舉報文,觸發新一輪的BSR選舉過程。
在存在主備RP的IPv6雙向PIM組網中,當主RP所在的組播流量轉發鏈路發生故障時,備RP必須要等待主RP老化後才能代替主RP轉發組播流量,導致組播流量中斷轉發時間較長。由於RP老化時間必須大於自舉報文的發送時間間隔,因此,若要縮小RP老化時間,需要先通過本功能調小自舉報文的發送時間間隔。
如果同時配置了interval和holdtime,請保證interval小於holdtime,否則將導致頻繁觸發BSR選舉過程。
如果隻配置了其中之一,那麼另一個取值可由以下公式計算得出:interval=(holdtime-10)÷2。
隻配置了holdtime時,若根據公式計算得出的interval小於interval取值範圍的最小值(1秒),則interval的取值為1秒。
隻配置了interval時,若根據公式計算得出的holdtime大於holdtime取值範圍的最大值(2147483647秒),則holdtime取值為2147483647秒。
屬於同一個IPv6 PIM域的所有C-BSR必須配置相同的interval和holdtime。如果配置值不同,則可能導致BSR選舉不穩定,從而引發組播流量轉發故障。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置C-BSR發送自舉報文的時間間隔。
c-bsr interval interval
缺省情況下,C-BSR發送自舉報文的時間間隔為60秒。
C-BSR一旦通過自舉機製競選為BSR後,其他C-BSR會在等待接收來自BSR的自舉報文的超時時間內,停止向其所服務的區域內的其他設備發送自舉報文,BSR選舉過程暫停。當自舉超時時間超時後,所有的C-BSR之間會互相發送自舉報文,觸發新一輪的BSR選舉過程。
如果同時配置了interval和holdtime,請保證interval小於holdtime,否則將導致頻繁觸發BSR選舉過程。
如果隻配置了其中之一,那麼另一個取值可由以下公式計算得出:interval=(holdtime-10)÷2。
隻配置了holdtime時,若根據公式計算得出的interval小於interval取值範圍的最小值(1秒),則interval的取值為1秒。
隻配置了interval時,若根據公式計算得出的holdtime大於holdtime取值範圍的最大值(2147483647秒),則holdtime取值為2147483647秒。
屬於同一個IPv6 PIM域的所有C-BSR必須配置相同的interval和holdtime。如果配置值不同,則可能導致BSR選舉不穩定,從而引發組播流量轉發故障。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置C-BSR等待接收來自BSR的自舉報文的超時時間。
c-bsr holdtime hold-time
缺省情況下,C-BSR等待接收來自BSR的自舉報文超時時間為130秒。
BSR的服務邊界,即IPv6雙向PIM域的邊界。BSR是針對特定的服務範圍而言的,眾多的BSR服務邊界接口將網絡劃分成不同的IPv6雙向PIM域,自舉報文無法通過IPv6雙向PIM域的邊界,BSR服務邊界之外的設備也不能參與本IPv6雙向PIM域內的組播轉發。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置BSR的服務邊界。
ipv6 pim bsr-boundary
當自舉報文的大小可能超過接口的MTU值時,可能會導致整個自舉報文都被丟棄。自舉報文語義分片功能可以解決上述問題:當自舉報文大於接口MTU時,會被分解為多個自舉報文分片。非BSR收到自舉報文分片後,若發現某組範圍對應的RP信息都在這一個分片中,便立即更新該組範圍對應的RP-Set;若發現某組範圍映射的RP信息被分在了多個分片中,則待收齊了這些分片後再更新該組範圍對應的RP-Set。這樣,由於不同分片所含組範圍對應的RP信息不同,因此個別分片的丟失隻影響該分片所含組範圍對應的RP信息,而不會導致整個自舉報文都被丟棄。
自舉報文語義分片功能是缺省開啟的,但由於不支持該功能的設備會將自舉報文分片當作完整的自舉報文處理,從而導致其學到的RP-Set信息不完整,因此當IPv6雙向PIM域中存在此類設備時,請在已配置為C-BSR的設備上關閉本功能。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 關閉自舉報文語義分片功能。
undo bsm-fragment enable
缺省情況下,自舉報文語義分片功能處於開啟狀態。
BSR將自舉報文(Bootstrap Message,BSM)發布到整個IPv6雙向PIM域。在大多數IPv6雙向PIM域中,設備並不需要將自舉報文向入接口轉發出去,可以在設備上關閉本功能。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 關閉自舉報文往報文入接口方向轉發功能。
undo bsm-reflection enable
缺省情況下,自舉報文往報文入接口方向轉發功能處於開啟狀態。
由於IPv6雙向PIM為每個RP都要在所有IPv6 PIM接口上進行DF選舉,因此實際組網中不建議配置多個IPv6雙向PIM RP。通過本配置可以限製IPv6雙向PIM RP的數目,超出限製值的RP不會生效,僅能進行DF選舉而無法指導轉發。
在配置IPv6雙向PIM RP的最大數目時,如果現有IPv6雙向PIM RP的數目已超過配置值,係統不會自動刪除超出限製值的RP,用戶可根據需要進行手工刪除。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置IPv6雙向PIM RP的最大數目。
bidir-rp-limit limit
缺省情況下,IPv6雙向PIM RP的最大數目為6。
IPv6 PIM-SSM配置任務如下:
(1) 使能IPv6 PIM-SM
(2) (可選)配置IPv6 SSM組播組範圍
(3) (可選)配置IPv6 PIM公共特性
在配置IPv6 PIM-SSM之前,需要完成如下操作:
· 配置任一IPv6單播路由協議,實現域內網絡層互通。
· 使能IPv6 PIM-SM。
· IPv6 PIM-SSM模型需要MLDv2的支持,因此應確保連接有接收者的IPv6 PIM設備上使能了MLDv2。
在部署IPv6 PIM-SSM域時,建議在其所有非邊界接口上均使能IPv6 PIM-SM。
(1) 進入係統視圖。
system-view
(2) 使能IPv6組播路由,並進入IPv6 MRIB視圖。
ipv6 multicast routing [ vpn-instance vpn-instance-name ]
缺省情況下,IPv6組播路由處於關閉狀態。
本命令的詳細介紹請參見“IP組播命令參考”中的“IPv6組播路由與轉發”。
(3) 退回係統視圖。
quit
(4) 進入接口視圖。
interface interface-type interface-number
(5) 使能IPv6 PIM-SM。
ipv6 pim sm
缺省情況下,IPv6 PIM-SM處於關閉狀態。
在把來自IPv6組播源的信息傳遞給接收者的過程中,是采用IPv6 PIM-SSM模型還是IPv6 PIM-SM模型,這取決於接收者訂閱通道(S,G)中的IPv6組播組是否在IPv6 SSM組播組範圍之內,所有使能了IPv6 PIM-SM的接口將會認為屬於該範圍內的IPv6組播組采用了IPv6 PIM-SSM模型。
配置SSM組播組範圍時,需要注意:
· 應確保IPv6 PIM-SSM域內所有設備上配置的IPv6 SSM組播組地址範圍都一致,否則IPv6組播信息將無法通過SSM模型進行傳輸。
· 如果某IPv6組播組屬於IPv6 SSM組播組範圍,但該組成員使用MLDv1發送加入報文,則設備不會觸發(*,G)加入報文。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置IPv6 SSM組播組的範圍。
ssm-policy { ipv6-acl-number | name ipv6-acl-name }
缺省情況下,IPv6 SSM組播組的範圍為FF3x::/32,其中x表示任意合法的scope。
本節中的所有配置均為可選,請根據實際情況選擇配置。
無論在IPv6 PIM-DM還是IPv6 PIM-SM域內,各設備都可以對流經自己的IPv6組播數據進行檢查,通過比較是否符合過濾規則來決定是否繼續轉發IPv6組播數據。也就是說IPv6 PIM域內的設備能夠成為IPv6組播數據的過濾器。過濾器的存在一方麵有助於實現信息流量控製,另一方麵可以在安全性方麵限定下遊接收者能夠獲得的信息。過濾器不僅過濾獨立的IPv6組播數據,還過濾封裝在注冊報文中的IPv6組播數據。
通常,過濾器的位置距離IPv6組播源越近,過濾影響越明顯。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置IPv6組播數據過濾器。
source-policy { ipv6-acl-number | name ipv6-acl-name }
缺省情況下,不存在IPv6組播數據過濾器,不對組播數據進行過濾。
隨著IPv6 PIM協議的推廣和應用,對其安全性的要求也越來越高。建立正確的IPv6 PIM鄰居是IPv6 PIM協議安全應用的前提。如果在接口上指定了合法Hello報文的源地址範圍,便能夠保證IPv6 PIM鄰居的正確建立,從而有效防止各種IPv6 PIM協議報文攻擊,提高設備對IPv6 PIM協議報文處理的安全性。
當Hello報文過濾器的配置生效後,對於之前已建立的IPv6 PIM鄰居,若由於其Hello報文被過濾而導致無法收到後續的Hello報文,將會在老化超時後被自動刪除。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置合法Hello報文的源地址範圍。
ipv6 pim neighbor-policy ipv6-acl-number
缺省情況下,Hello報文的源地址範圍不受限製。
無論在IPv6 PIM-DM域還是在IPv6 PIM-SM域內,各設備之間發送的Hello報文都包含很多可供配置的選項,對各選項的介紹如下:
· 競選DR的優先級(DR_Priority,僅用於IPv6 PIM-SM):表示競選DR的優先級,優先級高的設備被選舉為DR。可以在與IPv6組播源或接收者直連的共享網段中的所有設備上都配置此參數。
· 保持IPv6 PIM鄰居可達狀態的時間(Holdtime):表示保持IPv6 PIM鄰居可達狀態的時間,若超時後仍沒有收到Hello報文,則認為IPv6 PIM鄰居失效或不可達。
· IPv6 PIM報文在共享網段中的傳輸延遲(LAN_Prune_Delay):該選項用於調節共享網段上的剪枝延遲,由三部分組成:LAN-delay、Override-interval和T字段。LAN-delay表示IPv6 PIM報文在共享網段中的傳輸延遲,Override-interval表示允許下遊設備否決剪枝動作的時間,當共享網段中各IPv6 PIM設備的LAN-delay或Override-interval不同時,取其中最大的值。T字段表示是否開啟鄰居跟蹤功能。
· 剪枝否決時間:如果設備從其上遊接口收到了剪枝報文但還需要繼續接收組播數據,則必須在Override-interval時間內向上遊設備發送加入報文以否決這個剪枝動作,這個過程就稱為剪枝否決。上遊設備在收到下遊設備發來的剪枝報文後並不立即執行剪枝動作,而是將當前的轉發狀態保持LAN-delay+Override-interval時間,在該時間內如果收到下遊的剪枝否決,則取消剪枝動作。
· 跟蹤下遊鄰居的功能:通過在上遊鄰居上開啟跟蹤下遊鄰居的功能,可以記錄已發送了加入報文且加入狀態尚未超時的下遊鄰居的信息,允許接收所有加入報文。開啟該功能時,應在共享網段的所有IPv6 PIM設備上都開啟,否則上遊鄰居無法跟蹤每個下遊鄰居的加入報文。
對於既可在IPv6 PIM視圖又可在接口視圖下進行的配置來說,前者對所有接口都生效,而後者隻對當前接口生效,但後者的配置優先級較高。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置競選DR的優先級。
hello-option dr-priority priority
缺省情況下,競選DR的優先級為1。
(4) 配置保持IPv6 PIM鄰居可達狀態的時間。
hello-option holdtime time
缺省情況下,保持IPv6 PIM鄰居可達狀態的時間為105秒。
(5) 配置IPv6 PIM報文在共享網段中的傳輸延遲。
hello-option lan-delay delay
缺省情況下,IPv6 PIM報文在共享網段中的傳輸延遲為500毫秒。
(6) 配置剪枝否決時間。
hello-option override-interval interval
缺省情況下,剪枝否決時間為2500毫秒。
(7) 開啟鄰居跟蹤功能。
hello-option neighbor-tracking
缺省情況下,鄰居跟蹤功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置競選DR的優先級。
ipv6 pim hello-option dr-priority priority
缺省情況下,競選DR的優先級為1。
(4) 配置保持IPv6 PIM鄰居可達狀態的時間。
ipv6 pim hello-option holdtime time
缺省情況下,保持IPv6 PIM鄰居可達狀態的時間為105秒。
(5) 配置IPv6 PIM報文在共享網段中的傳輸延遲時間。
ipv6 pim hello-option lan-delay delay
缺省情況下,IPv6 PIM報文在共享網段中的傳輸延遲為500毫秒。
(6) 配置剪枝否決時間。
ipv6 pim hello-option override-interval interval
缺省情況下,剪枝否決時間為2500毫秒。
(7) 開啟鄰居跟蹤功能。
ipv6 pim hello-option neighbor-tracking
缺省情況下,鄰居跟蹤功能處於關閉狀態,即不禁止加入報文抑製能力。
(8) 配置拒絕無Generation ID的Hello報文。
ipv6 pim require-genid
缺省情況下,接受無Generation ID的Hello報文。
在接口上使能IPv6 PIM後,設備會生成一個隨機數作為Hello報文中的Generation ID。一台IPv6 PIM設備的Generation ID一般不會改變,除非其狀態更新才會生成新的Generation ID。這樣,當IPv6 PIM設備發現來自上遊鄰居的Hello報文中的Generation ID發生改變時,便認為上遊鄰居的狀態發生了改變,從而觸發發送加入報文以進行狀態刷新。通過在接口上配置拒絕無Generation ID的Hello報文,可以實時了解上遊鄰居的狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置拒絕無Generation ID的Hello報文。
ipv6 pim require-genid
缺省情況下,接受無Generation ID的Hello報文。
Hello報文的時間間隔與最大延遲時間:IPv6 PIM設備通過周期性地發送Hello報文,以發現IPv6 PIM鄰居,並維護各設備之間的IPv6 PIM鄰居關係。為了避免多個IPv6 PIM設備同時發送Hello報文而導致衝突,當IPv6 PIM設備在收到新鄰居發來的Hello報文時,將延遲一段時間後再發送Hello報文,該時間值為小於“觸發Hello報文的最大延遲時間”的一個隨機值。
加入/剪枝狀態的時間間隔與保持時間:IPv6 PIM設備通過周期性地向其上遊設備發送加入/剪枝報文以更新狀態,在該報文中攜帶有保持時間,上遊設備為被剪枝的下遊接口設置加入/剪枝狀態保持定時器。
IPv6 組播源生存時間:當設備沒有收到來自IPv6組播源S的後續IPv6組播數據時,不會立即刪除(S,G)表項,而是將其維持一段時間後再刪除,這段時間就稱為IPv6組播源的生存時間。
IPv6 PIM接口向上遊鄰居發送加入/剪枝報文的時間間隔必須小於加入/剪枝狀態的保持時間,以免上遊鄰居老化超時。
對於既可在IPv6 PIM視圖又可在接口視圖下進行的配置來說,前者對所有接口都生效,而後者隻對當前接口生效,但後者的配置優先級較高。
如果對網絡沒有特殊要求,各定時器的值建議采用缺省值。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置發送Hello報文的時間間隔。
timer hello interval
缺省情況下,發送Hello報文的時間間隔為30秒。
(4) 配置發送加入/剪枝報文的時間間隔。
timer join-prune interval
缺省情況下,發送加入/剪枝報文的時間間隔為60秒。
本命令不會立即生效,新配置的發送間隔將在當前發送間隔完成後生效。
(5) 配置加入/剪枝狀態的保持時間。
holdtime join-prune time
缺省情況下,加入/剪枝狀態的保持時間為210秒。
(6) 配置IPv6組播源生存時間。
source-lifetime time
缺省情況下,IPv6組播源的生存時間為210秒。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置發送Hello報文的時間間隔。
ipv6 pim timer hello interval
缺省情況下,發送Hello報文的時間間隔為30秒。
(4) 配置觸發Hello報文的最大延遲時間。
ipv6 pim triggered-hello-delay delay
缺省情況下,觸發Hello報文的最大延遲時間為5秒。
(5) 配置發送加入/剪枝報文的時間間隔。
ipv6 pim timer join-prune interval
缺省情況下,發送加入/剪枝報文的時間間隔為60秒。
本命令不會立即生效,新配置的發送間隔將在當前發送間隔完成後生效。
(6) 配置加入/剪枝狀態的保持時間。
ipv6 pim holdtime join-prune time
缺省情況下,加入/剪枝狀態的保持時間為210秒。
如果加入/剪枝報文的尺寸較大,則丟失一個報文將導致較多信息的遺失;如果加入/剪枝報文的尺寸較小,則單個報文的丟失所產生的影響也將降低。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置加入/剪枝報文的最大長度。
jp-pkt-size size
缺省情況下,加入/剪枝報文的最大長度為1200字節。
為了防止設備受到非法IPv6 PIM加入/剪枝報文攻擊,通過本功能可以配置過濾規則,限製IPv6 PIM加入/剪枝報文中(S,G)加入信息的合法源地址範圍和組地址範圍,丟棄不合法的(S,G)加入信息,不建立對應的(S,G)表項。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置IPv6 PIM加入/剪枝報文中加入信息的過濾規則。
ipv6 pim join-policy { ipv6-acl-number | [ asm ipv6-acl-number | ssm ipv6-acl-number ] * }
缺省情況下,不過濾IPv6 PIM加入/剪枝報文中的加入信息。
DSCP優先級用來體現報文自身的優先等級,決定報文傳輸的優先程度。通過本配置可以指定設備發送的IPv6 PIM協議報文的DSCP優先級。
(1) 進入係統視圖。
system-view
(2) 進入IPv6 PIM視圖。
ipv6 pim [ vpn-instance vpn-instance-name ]
(3) 配置設備發送的IPv6 PIM協議報文的DSCP優先級。
dscp dscp-value
缺省情況下,設備發送的IPv6 PIM協議報文的DSCP優先級為48。
IPv6 PIM借助Hello報文在共享網段中選舉出DR。當DR出現故障時,隻有待其老化後才會觸發新的DR選舉過程,這個過程通常比較長。為了實現DR的快速切換,可以在共享網段的IPv6 PIM鄰居之間引入BFD(Bidirectional Forwarding Detection,雙向轉發檢測)機製進行鏈路狀態的快速檢測。通過在共享網段內的所有IPv6 PIM設備上都開啟IPv6 PIM與BFD聯動功能,可以使這些IPv6 PIM鄰居快速感知DR故障並重新選舉DR。有關BFD的詳細介紹,請參見“可靠性配置指導”中的“BFD”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟IPv6 PIM與BFD聯動功能。
ipv6 pim bfd enable
缺省情況下,IPv6 PIM與BFD聯動功能處於關閉狀態。
為了避免惡意主機模擬IPv6 PIM Hello報文攻擊設備,可以在直連用戶的接口上配置IPv6 PIM消極模式,用來禁止在該接口上接收和轉發任何IPv6 PIM協議報文(不包括單播發送的注冊、注冊停止和C-RP宣告報文)。同時由於認為在該網段內隻有本設備一台IPv6 PIM設備,開啟了IPv6 PIM消極模式的接口會自動成為該網段的DR和DF。
當網段中有多台IPv6 PIM設備時請勿使用本功能,這是由於開啟了IPv6 PIM消極模式的接口將自動成為DR和DF,從而導致該網段中出現多個DR和DF。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟IPv6 PIM接口消極模式。
ipv6 pim passive
缺省情況下,接口上的IPv6 PIM消極模式處於關閉狀態。
IPv6 PIM NSR(Nonstop Routing,不間斷路由)通過將IPv6 PIM協議的必要協議狀態和數據(如IPv6 PIM鄰居信息和路由信息)從主進程備份到備進程,使得IPv6 PIM協議的主進程中斷時,備份進程能夠無縫地接管主進程的工作,從而確保鄰接設備感知不到IPv6 PIM協議中斷,保持路由信息,並保證組播轉發不會中斷。
(1) 進入係統視圖。
system-view
(2) 開啟IPv6 PIM NSR功能。
ipv6 pim non-stop-routing
缺省情況下,IPv6 PIM協議的NSR功能處於關閉狀態。
IPv6 PIM利用M-LAG功能將兩台物理設備連接起來虛擬成一台設備,使用該虛擬設備連接組播源或組播接收者,可避免單點故障對組播網絡造成影響,提高組播網絡可靠性。
需要同時使能二層組播和三層組播功能,三層組播支持M-LAG功能才能生效。
M-LAG設備之間不能使用peer-link鏈路建立IPv6 PIM鄰居,需要通過一條三層鏈路建立IPv6 PIM鄰居,以免部分情況下鏈路故障導致流量中斷。
對於IPv6 PIM組網,組播接收者側需要配置IPv6 PIM消極模式。
對於MLD Proxy組網,組播接收者側需要通過mld proxy forwarding命令開啟非查詢器轉發功能。
在IPv6 PIM-SSM模式下,當組播接收者僅接入M-LAG係統的其中一台M-LAG成員設備時,隻能通過VLAN接口連接到M-LAG設備。
組播VPN不支持M-LAG,有關組播VPN的詳細介紹,請參見“組播配置指導”中的“組播VPN”。
(1) 配置M-LAG
M-LAG的配置方法請參見“二層技術-以太網交換配置指導”中的“M-LAG”。
(2) 配置MLD Snooping
MLD Snooping的配置方法請參見“IP組播配置指導”中的“MLD Snooping”。
(3) 配置MLD
MLD的配置方法請參見“IP組播配置指導”中的“MLD”。
(4) 配置IPv6 PIM
IPv6 PIM的配置方法請參見“2 配置IPv6 PIM”。
(5) 配置IPv6 PIM消極模式
IPv6 PIM消極模式的配置方法請參見“2.6.11 配置IPv6 PIM接口消極模式”。
(6) (可選)配置VLAN接口為分布式DR接口。
ipv6 pim distributed-dr
缺省情況下,VLAN接口不是分布式DR接口。
在三層組播支持多級M-LAG級聯組網中,需要在組成M-LAG係統的所有成員設備的VLAN接口上執行本命令,將VLAN接口配置為分布式接口,從而強製指定自己為DR,以便將組播流量轉發至本地站點。
開啟了IPv6 PIM的告警功能之後,IPv6 PIM會生成告警信息,以向網管軟件報告本模塊的重要事件。該信息將發送至SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。
(1) 進入係統視圖。
system-view
(2) 開啟IPv6 PIM的告警功能。
snmp-agent trap enable pim6 [ candidate-bsr-win-election | elected-bsr-lost-election | neighbor-loss ] *
缺省情況下,IPv6 PIM的告警功能處於開啟狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IPv6 PIM的運行情況,通過查看顯示信息驗證配置的效果。
有關display interface register-tunnel命令的詳細介紹,請參見 “IP組播命令參考”中的“PIM”。
表2-1 IPv6 PIM顯示和維護
操作 |
命令 |
顯示Register-Tunnel接口的相關信息 |
display interface [ register-tunnel [ interface-number ] ] [ brief [ description | down ] ] |
顯示IPv6 PIM-SM域中的BSR信息 |
display ipv6 pim [ vpn-instance vpn-instance-name ] bsr-info |
顯示IPv6 PIM所使用的路由信息 |
display ipv6 pim [ vpn-instance vpn-instance-name ] claimed-route [ ipv6-source-address ] |
顯示IPv6 PIM-SM域中的C-RP信息 |
display ipv6 pim [ vpn-instance vpn-instance-name ] c-rp [ local ] |
顯示IPv6雙向PIM的DF信息 |
display ipv6 pim [ vpn-instance vpn-instance-name ] df-info [ ipv6-rp-address ] |
顯示接口上的IPv6 PIM信息 |
display ipv6 pim [ vpn-instance vpn-instance-name ] interface [ interface-type interface-number ] [ verbose ] |
顯示IPv6 PIM鄰居信息 |
display ipv6 pim [ vpn-instance vpn-instance-name ] neighbor [ ipv6-neighbor-address | interface interface-type interface-number | verbose ] * |
顯示IPv6 PIM路由表的內容 |
display ipv6 pim [ vpn-instance vpn-instance-name ] routing-table [ ipv6-group-address [ prefix-length ] | ipv6-source-address [ prefix-length ] | flags flag-value | fsm | incoming-interface interface-type interface-number | mode mode-type | outgoing-interface { exclude | include | match } interface-type interface-number ] * |
顯示IPv6 PIM-SM域中的RP的信息 |
display ipv6 pim [ vpn-instance vpn-instance-name ] rp-info [ ipv6-group-address ] |
顯示IPv6 PIM協議報文的統計信息 |
display ipv6 pim statistics |
· 網絡中運行OSPFv3協議,接收者通過組播方式接收視頻點播信息,不同組織的接收者群體組成末梢網絡,每個末梢網絡中都存在至少一個接收者,整個IPv6 PIM域采用DM方式。
· Host A和Host C為兩個末梢網絡中的IPv6組播信息接收者;Switch D通過Vlan-interface300接口與IPv6組播源(Source)所在的網絡連接;Switch A通過Vlan-interface100接口連接末梢網絡N1,通過Vlan-interface103接口連接Switch D;Switch B和Switch C通過各自的Vlan-interface200接口連接末梢網絡N2,分別通過Vlan-interface101和Vlan-interface102接口連接Switch D。
· Switch A與末梢網絡N1之間運行MLDv1;Switch B和Switch C與末梢網絡N2之間也運行MLDv1。
圖2-1 IPv6 PIM-DM典型配置組網圖
設備 |
接口 |
IPv6地址 |
設備 |
接口 |
IPv6地址 |
Switch A |
Vlan-int100 |
1001::1/64 |
Switch D |
Vlan-int300 |
4001::1/64 |
|
Vlan-int103 |
1002::1/64 |
|
Vlan-int103 |
1002::2/64 |
Switch B |
Vlan-int200 |
2001::1/64 |
|
Vlan-int101 |
2002::2/64 |
|
Vlan-int101 |
2002::1/64 |
|
Vlan-int102 |
3001::2/64 |
Switch C |
Vlan-int200 |
2001::2/64 |
|
|
|
|
Vlan-int102 |
3001::1/64 |
|
|
|
按照組網圖配置各接口的IPv6地址和前綴長度,並在IPv6 PIM-DM域內的各交換機上配置OSPFv3協議。
(1) 使能IPv6組播路由,並使能IPv6 PIM-DM和MLD
# 在Switch A上使能IPv6組播路由,在接口Vlan-interface103上使能IPv6 PIM-DM,並在其連接末梢網絡的接口Vlan-interface100上使能MLD。
<SwitchA> system-view
[SwitchA] ipv6 multicast routing
[SwitchA-mrib6] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] mld enable
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 103
[SwitchA-Vlan-interface103] ipv6 pim dm
[SwitchA-Vlan-interface103] quit
Switch B和Switch C的配置與Switch A相似,配置過程略。
# 在Switch D上使能IPv6組播路由,並在各接口上使能IPv6 PIM-DM。
<SwitchD> system-view
[SwitchD] ipv6 multicast routing
[SwitchD-mrib6] quit
[SwitchD] interface vlan-interface 300
[SwitchD-Vlan-interface300] ipv6 pim dm
[SwitchD-Vlan-interface300] quit
[SwitchD] interface vlan-interface 103
[SwitchD-Vlan-interface103] ipv6 pim dm
[SwitchD-Vlan-interface103] quit
[SwitchD] interface vlan-interface 101
[SwitchD-Vlan-interface101] ipv6 pim dm
[SwitchD-Vlan-interface101] quit
[SwitchD] interface vlan-interface 102
[SwitchD-Vlan-interface102] ipv6 pim dm
[SwitchD-Vlan-interface102] quit
# 顯示Switch D上IPv6 PIM的配置信息。
[SwitchD] display ipv6 pim interface
Interface NbrCnt HelloInt DR-Pri DR-Address
Vlan300 0 30 1 FE80::A01:201:1
(local)
Vlan103 0 30 1 FE80::A01:201:2
(local)
Vlan101 1 30 1 FE80::A01:201:3
(local)
Vlan102 1 30 1 FE80::A01:201:4
(local)
# 顯示Switch D上IPv6 PIM的鄰居關係信息。
[SwitchD] display ipv6 pim neighbor
Total Number of Neighbors = 3
Neighbor Interface Uptime Expires Dr-Priority Mode
FE80::A01:101:1 Vlan103 00:04:00 00:01:29 1
FE80::B01:102:2 Vlan101 00:04:16 00:01:29 3
FE80::C01:103:3 Vlan102 00:03:54 00:01:17 5
假如Host A需要接收IPv6組播組G(FF0E::101)的信息,當IPv6組播源S(4001::100/64)向IPv6組播組G發送IPv6組播數據時,通過擴散生成SPT,SPT路徑中各交換機(Switch A和Switch D)上都存在(S,G)表項,Host A向Switch A發送MLD報告以加入IPv6組播組G,在Switch A上生成(*,G)表項。
# 顯示Switch A上的IPv6 PIM路由表信息。
[SwitchA] display ipv6 pim routing-table
Total 1 (*, G) entry; 1 (S, G) entry
(*, FF0E::101)
Protocol: pim-dm, Flag: WC
UpTime: 00:01:24
Upstream interface: NULL
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstream interfaces: 1
1: Vlan-interface100
Protocol: mld, UpTime: 00:01:20, Expires: -
(4001::100, FF0E::101)
Protocol: pim-dm, Flag: ACT
UpTime: 00:01:20
Upstream interface: Vlan-interface103
Upstream neighbor: 1002::2
RPF prime neighbor: 1002::2
Downstream interface(s) information:
Total number of downstream interfaces: 1
1: Vlan-interface100
Protocol: pim-dm, UpTime: 00:01:20, Expires: -
# 顯示Switch D上的IPv6 PIM路由表信息。
[SwitchD] display ipv6 pim routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(4001::100, FF0E::101)
Protocol: pim-dm, Flag: LOC ACT
UpTime: 00:02:19
Upstream interface: Vlan-interface300
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstream interfaces: 2
1: Vlan-interface103
Protocol: pim-dm, UpTime: 00:02:19, Expires: -
2: Vlan-interface102
Protocol: pim-dm, UpTime: 00:02:19, Expires: -
· 網絡中運行OSPFv3協議,接收者通過組播方式接收視頻點播信息,不同組織的接收者群體組成末梢網絡,每個末梢網絡中都存在至少一個接收者,整個IPv6 PIM域采用SM非管理域方式。
· Host A和Host C為兩個末梢網絡中的IPv6組播信息接收者;Switch D通過Vlan-interface300接口與IPv6組播源(Source)所在網絡連接;Switch A通過Vlan-interface100接口連接末梢網絡N1,通過Vlan-interface101接口和Vlan-interface102接口分別連接Switch D和Switch E;Switch B和Switch C通過各自的Vlan-interface200接口連接末梢網絡N2,分別通過Vlan-interface103和Vlan-interface104接口連接Switch E。
· 將Switch E的Vlan-interface102配置為C-BSR和C-RP,其中C-RP所服務的IPv6組播組範圍為FF0E::101/64;在所有交換機上將Switch D的Vlan-interface101接口配置為靜態RP,以對動態RP進行備份。
· Switch A與末梢網絡N1之間運行MLDv1;Switch B和Switch C與末梢網絡N2之間也運行MLDv1。
圖2-2 IPv6 PIM-SM非管理域典型配置組網圖
設備 |
接口 |
IPv6地址 |
設備 |
接口 |
IPv6地址 |
Switch A |
Vlan-int100 |
1001::1/64 |
Switch D |
Vlan-int300 |
4001::1/64 |
|
Vlan-int101 |
1002::1/64 |
|
Vlan-int101 |
1002::2/64 |
|
Vlan-int102 |
1003::1/64 |
|
Vlan-int105 |
4002::1/64 |
Switch B |
Vlan-int200 |
2001::1/64 |
Switch E |
Vlan-int104 |
3001::2/64 |
|
Vlan-int103 |
2002::1/64 |
|
Vlan-int103 |
2002::2/64 |
Switch C |
Vlan-int200 |
2001::2/64 |
|
Vlan-int102 |
1003::2/64 |
|
Vlan-int104 |
3001::1/64 |
|
Vlan-int105 |
4002::2/64 |
按照組網圖配置各接口的IPv6地址和前綴長度,並在IPv6 PIM-SM域內的各交換機上配置OSPFv3協議。
(1) 使能IPv6組播路由,並使能IPv6 PIM-SM和MLD
# 在Switch A上使能IPv6組播路由,在其連接末梢網絡的接口Vlan-interface100上使能MLD,並在其它接口上使能IPv6 PIM-SM。
<SwitchA> system-view
[SwitchA] ipv6 multicast routing
[SwitchA-mrib6] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] mld enable
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] ipv6 pim sm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface vlan-interface 102
[SwitchA-Vlan-interface102] ipv6 pim sm
[SwitchA-Vlan-interface102] quit
Switch B和Switch C的配置與Switch A相似,Switch D和Switch E除了不需要在相應接口上使能MLD外,其它的配置也與Switch A相似,配置過程略。
(2) 配置C-BSR、C-RP和靜態RP
# 在Switch E上配置RP通告的服務範圍,以及C-BSR和C-RP的位置,並指定靜態RP。
<SwitchE> system-view
[SwitchE] acl ipv6 basic 2005
[SwitchE-acl-ipv6-basic-2005] rule permit source ff0e::101 64
[SwitchE-acl-ipv6-basic-2005] quit
[SwitchE] ipv6 pim
[SwitchE-pim6] c-bsr 1003::2
[SwitchE-pim6] c-rp 1003::2 group-policy 2005
[SwitchE-pim6] static-rp 1002::2
[SwitchE-pim6] quit
# 在Switch A上配置靜態RP。
[SwitchA] ipv6 pim
[SwitchA-pim6] static-rp 1002::2
[SwitchA-pim6] quit
Switch B、Switch C和Switch D的配置與Switch A相似,配置過程略。
# 顯示Switch A的接口上的IPv6 PIM信息。
[SwitchA] display ipv6 pim interface
Interface NbrCnt HelloInt DR-Pri DR-Address
Vlan101 1 30 1 FE80::A01:201:2
Vlan102 1 30 1 FE80::A01:201:3
# 顯示Switch A上IPv6 PIM-SM域中的BSR信息。
[SwitchA] display ipv6 pim bsr-info
Scope: non-scoped
State: Accept Preferred
Bootstrap timer: 00:01:44
Elected BSR address: 1003::2
Priority: 64
Hash mask length: 126
Uptime: 00:11:18
# 顯示Switch E上IPv6 PIM-SM域中的BSR信息。
[SwitchE] display ipv6 pim bsr-info
Scope: non-scoped
State: Elected
Bootstrap timer: 00:01:44
Elected BSR address: 1003::2
Priority: 64
Hash mask length: 126
Uptime: 00:11:18
Candidate BSR address: 1003::2
Priority: 64
Hash mask length: 126
# 顯示Switch A上IPv6 PIM-SM域中的RP信息。
[SwitchA] display ipv6 pim rp-info
BSR RP information:
Scope: non-scoped
Group/MaskLen: FF0E::101/64
RP address Priority HoldTime Uptime Expires
1003::2 192 180 00:05:19 00:02:11
Static RP information:
RP address ACL Mode Preferred
1002::2 ---- pim-sm No
· 網絡中運行OSPFv3協議,接收者通過組播方式接收視頻點播信息,整個IPv6 PIM域采用SM管理域方式,劃分為IPv6管理域1(Scope值為4)、IPv6管理域2(Scope值為4)和IPv6 Global域(Scope值為14),Switch B、Switch C和Switch D為各IPv6管理域的ZBR。
· Source 1和Source 2分別向IPv6組播組FF14::101發送內容不同的IPv6組播信息,Host A和Host B則分別隻接收來自Source 1和Source 2的IPv6組播信息;Source 3向IPv6組播組FF1E::202發送IPv6組播信息,Host C為其接收者。
· Switch B的Vlan-interface101接口為IPv6管理域1的C-BSR和C-RP,服務於Scope值為4的IPv6組播組;Switch D的Vlan-interface105接口為IPv6管理域2的C-BSR和C-RP,服務於Scope值為4的IPv6組播組;Switch F的Vlan-interface109接口為IPv6 Global域的C-BSR和C-RP,服務於Scope值為14的IPv6組播組。
· Switch A、Switch E和Switch I分別與各自所連接的接收者之間運行MLDv1。
圖2-3 IPv6 PIM-SM管理域配置組網圖
設備 |
接口 |
IPv6地址 |
設備 |
接口 |
IPv6地址 |
Switch A |
Vlan-int100 |
1001::1/64 |
Switch D |
Vlan-int105 |
3003::2/64 |
|
Vlan-int101 |
1002::1/64 |
|
Vlan-int108 |
6001::1/64 |
Switch B |
Vlan-int200 |
2001::1/64 |
|
Vlan-int107 |
6002::1/64 |
|
Vlan-int101 |
1002::2/64 |
Switch E |
Vlan-int400 |
7001::1/64 |
|
Vlan-int103 |
2002::1/64 |
|
Vlan-int104 |
3002::2/64 |
|
Vlan-int102 |
2003::1/64 |
|
Vlan-int108 |
6001::2/64 |
Switch C |
Vlan-int300 |
3001::1/64 |
Switch F |
Vlan-int109 |
8001::1/64 |
|
Vlan-int104 |
3002::1/64 |
|
Vlan-int107 |
6002::2/64 |
|
Vlan-int105 |
3003::1/64 |
|
Vlan-int102 |
2003::2/64 |
|
Vlan-int103 |
2002::2/64 |
Switch G |
Vlan-int500 |
9001::1/64 |
|
Vlan-int106 |
3004::1/64 |
|
Vlan-int109 |
8001::2/64 |
Switch H |
Vlan-int110 |
4001::1/64 |
Source 1 |
- |
2001::100/64 |
|
Vlan-int106 |
3004::2/64 |
Source 2 |
- |
3001::100/64 |
Switch I |
Vlan-int600 |
5001::1/64 |
Source 3 |
- |
9001::100/64 |
|
Vlan-int110 |
4001::2/64 |
|
|
|
按照組網圖配置各接口的IPv6地址和前綴長度,並在IPv6 PIM-SM域內的各交換機上配置OSPFv3協議。
(1) 使能IPv6組播路由和IPv6管理域機製,並使能IPv6 PIM-SM和MLD
# 在Switch A上使能IPv6組播路由,在接口Vlan-interface101上使能IPv6 PIM-SM,並在其連接有接收者的接口Vlan-interface100上使能MLD。
<SwitchA> system-view
[SwitchA] ipv6 multicast routing
[SwitchA-mrib6] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] mld enable
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] ipv6 pim sm
[SwitchA-Vlan-interface101] quit
Switch E和Switch I的配置與Switch A相似,配置過程略。
# 在Switch B上使能IPv6組播路由,並在各接口上使能IPv6 PIM-SM。
<SwitchB> system-view
[SwitchB] ipv6 multicast routing
[SwitchB-mrib6] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] ipv6 pim sm
[SwitchB-Vlan-interface200] quit
[SwitchB] interface vlan-interface 101
[SwitchB-Vlan-interface101] ipv6 pim sm
[SwitchB-Vlan-interface101] quit
[SwitchB] interface vlan-interface 102
[SwitchB-Vlan-interface102] ipv6 pim sm
[SwitchB-Vlan-interface102] quit
[SwitchB] interface vlan-interface 103
[SwitchB-Vlan-interface103] ipv6 pim sm
[SwitchB-Vlan-interface103] quit
Switch C、Switch D、Switch F、Switch G和Switch H的配置與Switch B相似,配置過程略。
(2) 配置IPv6管理域邊界
# 在Switch B上將接口Vlan-interface102和Vlan-interface103配置為IPv6管理域1的邊界。
[SwitchB] interface vlan-interface 102
[SwitchB-Vlan-interface102] ipv6 multicast boundary scope 4
[SwitchB-Vlan-interface102] quit
[SwitchB] interface vlan-interface 103
[SwitchB-Vlan-interface103] ipv6 multicast boundary scope 4
[SwitchB-Vlan-interface103] quit
# 在Switch C上將接口Vlan-interface103和Vlan-interface106配置為IPv6管理域2的邊界。
<SwitchC> system-view
[SwitchC] interface vlan-interface 103
[SwitchC-Vlan-interface103] ipv6 multicast boundary scope 4
[SwitchC-Vlan-interface103] quit
[SwitchC] interface vlan-interface 106
[SwitchC-Vlan-interface106] ipv6 multicast boundary scope 4
[SwitchC-Vlan-interface106] quit
# 在Switch D上將接口Vlan-interface107配置為IPv6管理域2的邊界。
<SwitchD> system-view
[SwitchD] interface vlan-interface 107
[SwitchD-Vlan-interface107] ipv6 multicast boundary scope 4
[SwitchD-Vlan-interface107] quit
(3) 配置C-BSR和C-RP
# 在Switch B上將接口Vlan-interface101配置為IPv6管理域1的C-BSR和C-RP。
[SwitchB] ipv6 pim
[SwitchB-pim6] c-bsr 1002::2 scope 4
[SwitchB-pim6] c-rp 1002::2 scope 4
[SwitchB-pim6] quit
# 在Switch D上將接口Vlan-interface105配置為IPv6管理域2的C-BSR和C-RP。
[SwitchD] ipv6 pim
[SwitchD-pim6] c-bsr 3003::2 scope 4
[SwitchD-pim6] c-rp 3003::2 scope 4
[SwitchD-pim6] quit
# 在Switch F上將接口Vlan-interface109配置為IPv6 Global域的C-BSR和C-RP。
<SwitchF> system-view
[SwitchF] ipv6 pim
[SwitchF-pim6] c-bsr 8001::1
[SwitchF-pim6] c-rp 8001::1
[SwitchF-pim6] quit
# 顯示Switch B上IPv6 PIM-SM域中的BSR信息。
[SwitchB] display ipv6 pim bsr-info
Scope: non-scoped
State: Accept Preferred
Bootstrap timer: 00:01:25
Elected BSR address: 8001::1
Priority: 64
Hash mask length: 126
Uptime: 00:01:45
Scope: 4
State: Elected
Bootstrap timer: 00:00:06
Elected BSR address: 1002::2
Priority: 64
Hash mask length: 126
Uptime: 00:04:54
Candidate BSR address: 1002::2
Priority: 64
Hash mask length: 126
# 顯示Switch D上IPv6 PIM-SM域中的BSR信息。
[SwitchD] display ipv6 pim bsr-info
Scope: non-scoped
State: Accept Preferred
Bootstrap timer: 00:01:25
Elected BSR address: 8001::1
Priority: 64
Hash mask length: 126
Uptime: 00:01:45
Scope: 4
State: Elected
Bootstrap timer: 00:01:25
Elected BSR address: 3003::2
Priority: 64
Hash mask length: 126
Uptime: 00:01:45
Candidate BSR address: 3003::2
Priority: 64
Hash mask length: 126
# 顯示Switch F上IPv6 PIM-SM域中的BSR信息。
[SwitchF] display ipv6 pim bsr-info
Scope: non-scoped
State: Elected
Bootstrap timer: 00:00:49
Elected BSR address: 8001::1
Priority: 64
Hash mask length: 126
Uptime: 00:01:11
Candidate BSR address: 8001::1
Priority: 64
Hash mask length: 126
# 顯示Switch B上所有IPv6組播組對應的RP信息。
[SwitchB] display ipv6 pim rp-info
BSR RP information:
Scope: non-scoped
Group/MaskLen: FF00::/8
RP address Priority HoldTime Uptime Expires
8001::1 192 180 00:01:14 00:02:46
Scope: 4
Group/MaskLen: FF04::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FF14::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FF24::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FF34::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FF44::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FF54::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FF64::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FF74::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FF84::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FF94::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FFA4::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FFB4::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FFC4::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FFD4::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FFE4::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FFF4::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
Group/MaskLen: FF04::/16
RP address Priority HoldTime Uptime Expires
1002::2 (local) 192 180 00:02:03 00:02:56
# 顯示Switch F上所有IPv6組播組對應的RP信息。
[SwitchF] display ipv6 pim rp-info
BSR RP information:
Scope: non-scoped
Group/MaskLen: FF00::/8
RP address Priority HoldTime Uptime Expires
8001::1 (local) 192 180 00:10:28 00:02:31
· 網絡中運行OSPFv3協議,整個IPv6 PIM域采用BIDIR方式,Source 1和Source 2都向IPv6 組播組FF14::101發送IPv6組播信息,Host A和Host B為IPv6組播信息的接收者。
· 將Switch C的Vlan-interface102接口配置為C-BSR,Loopback0接口配置為服務於IPv6雙向PIM的C-RP。
· Switch B和Switch D分別與各自所連接的接收者之間運行MLDv1。
圖2-4 IPv6雙向PIM典型配置組網圖
設備 |
接口 |
IPv6地址 |
設備 |
接口 |
IPv6地址 |
Switch A |
Vlan-int100 |
1001::1/64 |
Switch D |
Vlan-int300 |
4001::1/64 |
|
Vlan-int101 |
1002::1/64 |
|
Vlan-int400 |
5001::1/64 |
Switch B |
Vlan-int200 |
2001::1/64 |
|
Vlan-int103 |
3001::2/64 |
|
Vlan-int101 |
1002::2/64 |
Source 1 |
- |
1001::2/64 |
|
Vlan-int102 |
2002::1/64 |
Source 2 |
- |
5001::2/64 |
Switch C |
Vlan-int102 |
2002::2/64 |
Receiver 1 |
- |
2001::2/64 |
|
Vlan-int103 |
3001::1/64 |
Receiver 2 |
- |
4001::2/64 |
|
Loop0 |
6001::1/128 |
|
|
|
按照組網圖配置各接口的IPv6地址和前綴長度,並在IPv6雙向PIM域內的各交換機上配置OSPFv3協議。
(1) 使能IPv6組播路由,並使能IPv6 PIM-SM、IPv6雙向PIM和MLD
# 在Switch A上使能IPv6組播路由,在各接口上使能IPv6 PIM-SM,並使能IPv6雙向PIM。
<SwitchA> system-view
[SwitchA] ipv6 multicast routing
[SwitchA-mrib6] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] ipv6 pim sm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] ipv6 pim sm
[SwitchA-Vlan-interface101] quit
[SwitchA] ipv6 pim
[SwitchA-pim6] bidir-pim enable
[SwitchA-pim6] quit
# 在Switch B上使能IPv6組播路由,在其連接有接收者的接口Vlan-interface200上使能MLD,在其它接口上使能IPv6 PIM-SM,並使能IPv6雙向PIM。
<SwitchB> system-view
[SwitchB] ipv6 multicast routing
[SwitchB-mrib6] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] mld enable
[SwitchB-Vlan-interface200] quit
[SwitchB] interface vlan-interface 101
[SwitchB-Vlan-interface101] ipv6 pim sm
[SwitchB-Vlan-interface101] quit
[SwitchB] interface vlan-interface 102
[SwitchB-Vlan-interface102] ipv6 pim sm
[SwitchB-Vlan-interface102] quit
[SwitchB] ipv6 pim
[SwitchB-pim6] bidir-pim enable
[SwitchB-pim6] quit
# 在Switch C上使能IPv6組播路由,在各接口上使能IPv6 PIM-SM,並使能IPv6雙向PIM。
<SwitchC> system-view
[SwitchC] ipv6 multicast routing
[SwitchC-mrib6] quit
[SwitchC] interface vlan-interface 102
[SwitchC-Vlan-interface102] ipv6 pim sm
[SwitchC-Vlan-interface102] quit
[SwitchC] interface vlan-interface 103
[SwitchC-Vlan-interface103] ipv6 pim sm
[SwitchC-Vlan-interface103] quit
[SwitchC] interface loopback 0
[SwitchC-LoopBack0] ipv6 pim sm
[SwitchC-LoopBack0] quit
[SwitchC] ipv6 pim
[SwitchC-pim6] bidir-pim enable
# 在Switch D上使能IPv6組播路由,在其連接有接收者的接口Vlan-interface300上使能MLD,在其它接口上使能IPv6 PIM-SM,並使能IPv6雙向PIM。
<SwitchD> system-view
[SwitchD] ipv6 multicast routing
[SwitchD-mrib6] quit
[SwitchD] interface vlan-interface 300
[SwitchD-Vlan-interface300] mld enable
[SwitchD-Vlan-interface300] quit
[SwitchD] interface vlan-interface 400
[SwitchD-Vlan-interface400] ipv6 pim sm
[SwitchD-Vlan-interface400] quit
[SwitchD] interface vlan-interface 103
[SwitchD-Vlan-interface103] ipv6 pim sm
[SwitchD-Vlan-interface103] quit
[SwitchD] ipv6 pim
[SwitchD-pim6] bidir-pim enable
[SwitchD-pim6] quit
(2) 配置C-BSR和C-RP
# 在Switch C上將接口Vlan-interface102配置為C-BSR,並將接口Loopback0配置為服務於IPv6雙向PIM的C-RP。
[SwitchC-pim6] c-bsr 2002::2
[SwitchC-pim6] c-rp 6001::1 bidir
[SwitchC-pim6] quit
# 顯示Switch A上IPv6雙向PIM的DF信息。
[SwitchA] display ipv6 pim df-info
RP address: 6001::1
Interface: Vlan-interface100
State : Win DF preference: 100
DF metric : 2 DF uptime : 01:08:50
DF address: FE80::200:5EFF:FE71:2800 (local)
Interface: Vlan-interface101
State : Lose DF preference: 100
DF metric : 1 DF uptime : 01:07:49
DF address: FE80::20F:E2FF:FE38:4E01
# 顯示Switch B上IPv6雙向PIM的DF信息。
[SwitchB] display ipv6 pim df-info
RP address: 6001::1
Interface:Vlan-interface200
State : Win DF preference: 100
DF metric : 1 DF uptime : 01:24:09
DF address: FE80::200:5EFF:FE71:2801 (local)
Interface: Vlan-interface101
State : Win DF preference: 100
DF metric : 1 DF uptime : 01:24:09
DF address: FE80::20F:E2FF:FE38:4E01 (local)
Interface: Vlan-interface102
State : Lose DF preference: 0
DF metric : 0 DF uptime : 01:23:12
DF address: FE80::20F:E2FF:FE15:5601
# 顯示Switch C上IPv6雙向PIM的DF信息。
[SwitchC] display ipv6 pim df-info
RP address: 6001::1
Interface: Loop0
State : - DF preference: -
DF metric : - DF uptime : -
DF address: -
Interface: Vlan-interface102
State : Win DF preference: 0
DF metric : 0 DF uptime : 01:06:07
DF address: FE80::20F:E2FF:FE15:5601 (local)
Interface: Vlan-interface103
State : Win DF preference: 0
DF metric : 0 DF uptime : 01:06:07
DF address: FE80::20F:E2FF:FE15:5602 (local)
# 顯示Switch D上IPv6雙向PIM的DF信息。
[SwitchD] display ipv6 pim df-info
RP address: 6001::1
Interface: Vlan-interface300
State : Win DF preference: 100
DF metric : 1 DF uptime : 01:19:53
DF address: FE80::200:5EFF:FE71:2803 (local)
Interface: Vlan-interface400
State : Win DF preference: 100
DF metric : 1 DF uptime : 00:39:34
DF address: FE80::200:5EFF:FE71:2802 (local)
Interface: Vlan-interface103
State : Lose DF preference: 0
DF metric : 0 DF uptime : 01:21:40
DF address: FE80::20F:E2FF:FE15:5602
# 顯示Switch A上IPv6組播轉發的DF信息。
[SwitchA] display ipv6 multicast forwarding df-info
Total 1 RP, 1 matched
00001. RP address: 6001::1
Flags: 0x0
Uptime: 00:08:32
RPF interface: Vlan-interface101
List of 1 DF interfaces:
1: Vlan-interface100
# 顯示Switch B上IPv6組播轉發的DF信息。
[SwitchB] display ipv6 multicast forwarding df-info
Total 1 RP, 1 matched
00001. RP address: 6001::1
Flags: 0x0
Uptime: 00:06:24
RPF interface: Vlan-interface102
List of 2 DF interfaces:
1: Vlan-interface101
2: Vlan-interface200
# 顯示Switch C上IPv6組播轉發的DF信息。
[SwitchC] display ipv6 multicast forwarding df-info
Total 1 RP, 1 matched
00001. RP address: 6001::1
Flags: 0x0
Uptime: 00:07:21
RPF interface: LoopBack0
List of 2 DF interfaces:
1: Vlan-interface102
2: Vlan-interface103
# 顯示Switch D上IPv6組播轉發的DF信息。
[SwitchD] display ipv6 multicast forwarding df-info
Total 1 RP, 1 matched
00001. RP address: 6001::1
Flags: 0x0
Uptime: 00:05:12
RPF interface: Vlan-interface103
List of 2 DF interfaces:
1: Vlan-interface300
2: Vlan-interface400
· 網絡中運行OSPFv3協議,接收者通過組播方式接收視頻點播信息,不同組織的接收者群體組成末梢網絡,每個末梢網絡中都存在至少一個接收者,整個IPv6 PIM域采用SSM方式。
· Host A和Host C為兩個末梢網絡中的IPv6組播信息接收者;Switch D通過Vlan-interface300接口與IPv6組播源(Source)所在網絡連接;Switch A通過Vlan-interface100接口連接末梢網絡N1,通過Vlan-interface101接口和Vlan-interface102接口分別連接Switch D和Switch E;Switch B和Switch C通過各自的Vlan-interface200接口連接末梢網絡N2,分別通過Vlan-interface103和Vlan-interface104接口連接Switch E。
· IPv6 SSM組播組的範圍是FF3E::/64。
· Switch A與末梢網絡N1之間運行MLDv2;Switch B和Switch C與末梢網絡N2之間也運行MLDv2。
圖2-5 IPv6 PIM-SSM典型配置組網圖
設備 |
接口 |
IPv6地址 |
設備 |
接口 |
IPv6地址 |
Switch A |
Vlan-int100 |
1001::1/64 |
Switch D |
Vlan-int300 |
4001::1/64 |
|
Vlan-int101 |
1002::1/64 |
|
Vlan-int101 |
1002::2/64 |
|
Vlan-int102 |
1003::1/64 |
|
Vlan-int105 |
4002::1/64 |
Switch B |
Vlan-int200 |
2001::1/64 |
Switch E |
Vlan-int104 |
3001::2/64 |
|
Vlan-int103 |
2002::1/64 |
|
Vlan-int103 |
2002::2/64 |
Switch C |
Vlan-int200 |
2001::2/64 |
|
Vlan-int102 |
1003::2/64 |
|
Vlan-int104 |
3001::1/64 |
|
Vlan-int105 |
4002::2/64 |
按照組網圖配置各接口的IPv6地址和前綴長度,並在IPv6 PIM-SSM域內的各交換機上配置OSPFv3協議。
(1) 使能IPv6組播路由,並使能IPv6 PIM-SM和MLD
# 在Switch A上使能IPv6組播路由,在其連接末梢網絡的接口Vlan-interface100上使能MLD,且配置其版本為2;並在其它接口上使能IPv6 PIM-SM。
<SwitchA> system-view
[SwitchA] ipv6 multicast routing
[SwitchA-mrib6] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] mld enable
[SwitchA-Vlan-interface100] mld version 2
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] ipv6 pim sm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface vlan-interface 102
[SwitchA-Vlan-interface102] ipv6 pim sm
[SwitchA-Vlan-interface102] quit
Switch B和Switch C的配置與Switch A相似,Switch D和Switch E除了不需要在相應接口上使能MLD外,其它的配置也與Switch A相似,配置過程略。
(2) 配置IPv6 SSM組播組的地址範圍
# 在Switch A上配置IPv6 SSM組播組的地址範圍為FF3E::/64。
[SwitchA] acl ipv6 basic 2000
[SwitchA-acl-ipv6-basic-2000] rule permit source ff3e:: 64
[SwitchA-acl-ipv6-basic-2000] quit
[SwitchA] ipv6 pim
[SwitchA-pim6] ssm-policy 2000
[SwitchA-pim6] quit
Switch B、Switch C、Switch D和Switch E的配置與Switch A相似,配置過程略。
# 顯示Switch A上IPv6 PIM的配置信息。
[SwitchA] display ipv6 pim interface
Interface NbrCnt HelloInt DR-Pri DR-Address
Vlan101 1 30 1 FE80::A01:201:2
Vlan102 1 30 1 FE80::A01:201:3
假如Host A需要接收指定IPv6組播源S(4001::100/64)發往IPv6組播組G(FF3E::101)的信息,Switch A會向IPv6組播源方向構造SPT,SPT路徑中的交換機(Switch A和Switch D)上生成(S,G)表項,而SPT路徑之外的交換機(Switch E)上沒有IPv6組播路由項。
# 顯示Switch A上的IPv6 PIM路由表信息。
[SwitchA] display ipv6 pim routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(4001::100, FF3E::101)
Protocol: pim-ssm, Flag: ACT
UpTime: 00:00:11
Upstream interface: Vlan-interface101
Upstream neighbor: 1002::2
RPF prime neighbor: 1002::2
Downstream interface(s) information:
Total number of downstream interfaces: 1
1: Vlan-interface100
Protocol: mld, UpTime: 00:00:11, Expires: 00:03:25
# 顯示Switch D上的IPv6 PIM路由表信息。
[SwitchD] display ipv6 pim routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(4001::100, FF3E::101)
Protocol: pim-ssm, Flag: LOC
UpTime: 00:08:02
Upstream interface: Vlan-interface300
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstream interfaces: 1
1: Vlan-interface105
Protocol: pim-ssm, UpTime: 00:08:02, Expires: 00:03:25
· 網絡中運行OSPF協議,接收者通過組播方式接收視頻點播信息,不同組織的接收者群體組成末梢網絡,每個末梢網絡中都存在至少一個接收者,整個PIM域采用SM非管理域方式。
· Host A為組播接收者;Switch C通過Vlan-interface10接口與組播源(Source)所在的網絡連接;Switch A和Switch B形成M-LAG係統,其中Switch A通過Vlan-interface20接口連接Switch C,Switch B通過Vlan-interface30接口連接Switch C;Switch A和Switch B與下遊交換機Switch D形成M-LAG係統;Switch D與組播接收者相連。
· Switch A和Switch B的M-LAG接口上,允許VLAN 100通過,並在各自的Vlan-interface 100接口上配置MLDv1協議。
· Switch A和Switch B上使能IPv6組播路由和MLD Snooping功能。
· Switch A和Switch B的Vlan-interface 100接口上配置為分布式DR接口,保證Switch A和Switch B均為DR,都能向RP方向發送加入報文。
· Switch A和Switch B上,通過一條獨立的三層鏈路建立IPv6 PIM鄰居,並作為M-LAG的keepalive鏈路使用。
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
SwitchA |
Vlan-int20 |
2000::2/80 |
SwitchC |
Vlan-int10 |
1000::3/80 |
|
Vlan-int100 |
1000::1/80 |
|
Vlan-int20 |
2000::3/80 |
|
WGE1/0/4 |
2002::1/80 |
|
Vlan-int30 |
3000::3/80 |
|
Loop0 |
1111::1111 |
|
|
|
SwitchB |
Vlan-int30 |
3000::2/80 |
|
|
|
|
Vlan-int100 |
1000::2/80 |
|
|
|
|
WGE1/0/4 |
2002::2/80 |
|
|
|
|
Loop0 |
2222::2222 |
|
|
|
(1) 配置IPv6地址和單播路由協議
請按照上圖配置各接口的IPv6地址和子網掩碼,並在IPv6 PIM-SM域內的各交換機上配置OSPFv3協議,具體配置略。
(2) 配置M-LAG
# 配置M-LAG係統。
<SwitchA> system-view
[SwitchA] m-lag system-mac 1-1-1
[SwitchA] m-lag system-number 1
[SwitchA] m-lag system-priority 123
# 配置Keepalive報文的目的IP地址和源IP地址。
[SwitchA] m-lag keepalive ipv6 destination 2002::2 source 2002::1
# 配置Keepalive鏈路接口為保留接口。
[SwitchA] m-lag mad exclude interface twenty-fivegige 1/0/4
# 創建二層聚合接口1,並配置該接口為動態聚合模式。
[SwitchA] interface bridge-aggregation 1
[SwitchA-Bridge-Aggregation1] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation1] quit
# 將接口Twenty-FiveGigE1/0/1加入到聚合組1中。
[SwitchA] interface twenty-fivegige 1/0/1
[SwitchA-Twenty-FiveGigE1/0/1] port link-aggregation group 1
[SwitchA-Twenty-FiveGigE1/0/1] quit
# 創建二層聚合接口2,並配置該接口為動態聚合模式。
[SwitchA] interface bridge-aggregation 2
[SwitchA-Bridge-Aggregation2] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation2] quit
# 將接口Twenty-FiveGigE1/0/2加入到聚合組2中。
[SwitchA] interface twenty-fivegige 1/0/2
[SwitchA-Twenty-FiveGigE1/0/2] port link-aggregation group 2
[SwitchA-Twenty-FiveGigE1/0/2] quit
# 配置二層聚合接口1為Trunk端口,並允許VLAN 100的報文通過,並配置該接口為peer-link接口。
[SwitchA] interface bridge-aggregation 1
[SwitchA-Bridge-Aggregation1] port link-type trunk
[SwitchA-Bridge-Aggregation1] port trunk permit vlan 100
[SwitchA-Bridge-Aggregation1] port m-lag peer-link 1
[SwitchA-Bridge-Aggregation1] quit
# 配置二層聚合接口2為Trunk端口,並允許VLAN 100的報文通過,並配置該接口為M-LAG接口。
[SwitchA] interface bridge-aggregation 2
[SwitchA-Bridge-Aggregation2] port link-type trunk
[SwitchA-Bridge-Aggregation2] port trunk permit vlan 100
[SwitchA-Bridge-Aggregation2] port m-lag group 1
[SwitchA-Bridge-Aggregation2] quit
Switch B的配置與Switch A相似,配置過程略。
(3) 配置VRRP
# 在Switch A的Vlan-interface 100接口上配置VRRP。
<SwitchA> system-view
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] vrrp ipv6 vrid 1 virtual-ip fe80::1000 link-local
[SwitchA-Vlan-interface100] vrrp ipv6 vrid 1 virtual-ip 1000::10
[SwitchA-Vlan-interface100] vrrp ipv6 vrid 1 priority 100
[SwitchA-Vlan-interface100] quit
SwitchB的配置與SwitchA相似,配置過程略。
(4) 配置OSPFv3接口的開銷值
# 在Switch A上配置Vlan-interface 100接口的OSPFv3開銷值為60000。
<SwitchA> system-view
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] ospfv3 cost 60000
Switch B的配置與Switch A相似,配置過程略。
(5) 使能IPv6組播路由,並使能IPv6 PIM-SM和MLD
# 在Switch C上使能IPv6組播路由,並在各個接口上使能IPv6 PIM-SM。
<SwitchC> system-view
[SwitchC] ipv6 multicast routing
[SwitchC-mrib6] quit
[SwitchC] interface vlan-interface 10
[SwitchC-Vlan-interface10] ipv6 pim sm
[SwitchC-Vlan-interface10] quit
[SwitchC] interface vlan-interface 20
[SwitchC-Vlan-interface20] ipv6 pim sm
[SwitchC-Vlan-interface20] quit
[SwitchC] interface vlan-interface 30
[SwitchC-Vlan-interface30] ipv6 pim sm
[SwitchC-Vlan-interface30] quit
# 在Switch A上使能IPv6組播路由和MLD Snooping功能,在VLAN 100中開啟IPv6 PIM Snooping和MLD Snoping代理功能,在其連接末梢網絡的接口Vlan-interface100上使能MLD和PIM,以及配置為分布式DR接口,並在其它接口上使能IPv6 PIM-SM。
<SwitchA> system-view
[SwitchA] ipv6 multicast routing
[SwitchA-mrib6] quit
[SwitchA] mld-snooping
[SwitchA-mld-snooping] quit
[SwitchA] vlan 100
[SwitchA-vlan100] mld-snooping enable
[SwitchA-vlan100] mld-snooping proxy enable
[SwitchA-vlan100] ipv6 pim-snooping enable
[SwitchA-vlan100] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] mld enable
[SwitchA-Vlan-interface100] ipv6 pim sm
[SwitchA-Vlan-interface100] ipv6 pim distributed-dr
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 20
[SwitchA-Vlan-interface20] ipv6 pim sm
[SwitchA-Vlan-interface20] quit
[SwitchA] interface twenty-fivegige 1/0/4
[SwitchA-Twenty-FiveGigE1/0/4] ipv6 pim sm
[SwitchA] interface loopback 0
[SwitchA-LoopBack0] ipv6 pim sm
[SwitchA-LoopBack0] quit
Switch B的配置與Switch A相似,配置過程略。
(6) 配置C-BSR和C-RP
# 在Switch A上配置LoopBack0接口地址為C-RP和C-BSR。
<SwitchA> system-view
[SwitchA] ipv6 pim
[SwitchA-pim6] c-rp 1111::1111
[SwitchA-pim6] c-bsr 1111::1111
[SwitchA-pim6] quit
# 在Switch B上配置LoopBack0接口地址為C-RP和C-BSR。
<SwitchB> system-view
[SwitchB] ipv6 pim
[SwitchB-pim6] c-rp 2222::2222
[SwitchB-pim6] c-bsr 2222::2222
[SwitchB-pim6] quit
# 顯示Switch A上的MLD組播組信息。
<SwitchA> display mld group
MLD groups in total: 1
Vlan-interface100(fe80::100):
MLD groups reported in total: 1
Group address: FF1E::1
Last reporter: FE80::1
Uptime: 00:02:04
Expires: Off
# 顯示Switch B上的MLD組播組信息。
<SwitchA> display mld group
MLD groups in total: 1
Vlan-interface100(fe80::1003):
MLD groups reported in total: 1
Group address: FF1E::1
Last reporter: FE80::1
Uptime: 00:02:01
Expires: Off
# 顯示Switch A上的IPv6 PIM路由表項。
<SwitchA> display ipv6 pim routing-table
Total 1 (*, G) entries; 1 (S, G) entries
(*, FF1E::1)
RP: 2222::2222
Protocol: pim-sm, Flag: WC
UpTime: 00:04:01
Upstream interface: Vlan-interface20
Upstream neighbor: 2000::3
RPF prime neighbor: 2000::3
Downstream interface information:
Total number of downstream interfaces: 1
1: Vlan-interface100
Protocol: mld, UpTime: 00:05:24, Expires: -
(1000::2, FF1E::1)
RP: 2222::2222
Protocol: pim-sm, Flag: SPT ACT 2MVPN
UpTime: 00:00:33
Upstream interface: Vlan-interface20
Upstream neighbor: 2000::3
RPF prime neighbor: 2000::3
Downstream interface information:
Total number of downstream interfaces: 1
1: Vlan-interface100
Protocol: pim-sm, UpTime: 00:00:33, Expires: -
# 顯示Switch B上的PIM路由表項。
<SwitchB> display ipv6 pim routing-table
Total 1 (*, G) entries; 1 (S, G) entries
(*, FF1E::1)
RP: 2222::2222 (local)
Protocol: pim-sm, Flag: WC
UpTime: 00:04:01
Upstream interface: Register-Tunnel0
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface information:
Total number of downstream interfaces: 1
1: Vlan-interface100
Protocol: mld, UpTime: 00:04:01, Expires: -
(1000::2, FF1E::1)
RP: 2222::2222 (local)
Protocol: pim-sm, Flag: SPT ACT 2MVPN
UpTime: 00:00:33
Upstream interface: Vlan-interface30
Upstream neighbor: FE80::505F:B2FF:FEBA:506
RPF prime neighbor: FE80::505F:B2FF:FEBA:506
Downstream interface information:
Total number of downstream interfaces: 1
1: Vlan-interface30
Protocol: pim-sm, UpTime: 00:05:31, Expires: 00:02:53
2: Vlan-interface100
Protocol: pim-sm, UpTime: 00:00:33, Expires: -
# 顯示Switch A上的組播轉發表項。
<SwitchA> display ipv6 multicast forwarding-table
Total 1 entries, 1 matched
00001. (1000::2, FF1E::1)
Flags: 0x0
Uptime: 00:08:27, Timeout in: 00:03:27
Incoming interface: Vlan-interface20
List of 1 outgoing interfaces:
1: Vlan-interface100
Matched 23531 packets(194368 bytes), Wrong If 0 packets
Forwarded 21194 packets(171592 bytes)
# 顯示Switch B上的組播轉發表項。
<SwitchB> display ipv6 multicast forwarding-table
Total 1 entries, 1 matched
00001. (1000::2, FF1E::1)
Flags: 0x0
Uptime: 00:08:27, Timeout in: 00:03:27
Incoming interface: Vlan-interface30
List of 1 outgoing interfaces:
1: Vlan-interface100
Matched 23531 packets(194368 bytes), Wrong If 0 packets
Forwarded 21194 packets(171592 bytes)
· 網絡中運行OSPF協議,接收者通過組播方式接收視頻點播信息,不同組織的接收者群體組成末梢網絡,每個末梢網絡中都存在至少一個接收者,整個PIM域采用SM非管理域方式。
· Host A為組播接收者,Source為組播源。
· Switch A和Switch B組成M-LAG係統;Switch C和Switch D通過組成M-LAG係統。
· Switch A和Switch B連接Switch F的M-LAG接口允許VLAN 100通過,並在各自的Vlan-interface100接口上配置MLD協議。
· Switch A和Switch B與Switch C和Switch D互連的M-LAG接口允許VLAN 200通過,並在各自的Vlan-interface200接口上配置IPv6 PIM協議。
· Switch C和Switch D連接Switch E的M-LAG接口允許VLAN 300通過,並在各自的Vlan-interface300接口上配置IPv6 PIM協議。
· Switch A、Switch B、Switch C和Switch D上均使能IP組播路由和MLD Snooping功能。
· Switch A、Switch B的Vlan-interface100和Vlan-interface200接口配置為DR接口,保證Switch A和Switch B均為DR,均可以向RP發送加入報文。
· Switch C、Switch D的Vlan-interface200和Vlan-interface300接口配置為DR接口,保證Switch C和Switch D均為DR,均可以向RP發送加入報文。
· 連接組播源的Switch E、連接組播接收者的Switch F為二層交換機,僅需將接口配置為Trunk端口,並分別允許VLAN 300和VLAN 100通過,無需執行組播相關配置。
圖2-6 三層組播支持多級M-LAG級聯配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Switch A |
Vlan-int100 |
100::1/80 |
Switch C |
Vlan-int200 |
200::3/80 |
|
Vlan-int200 |
200::1/80 |
|
Vlan-int300 |
30::3/80 |
|
WGE1/0/2 |
45::1/80 |
|
WGE1/0/2 |
12::3/80 |
|
Loop0 |
1::1 |
|
Loop0 |
3::3 |
Switch B |
Vlan-int100 |
100::2/80 |
Switch D |
Vlan-int200 |
200::4/80 |
|
Vlan-int200 |
200::2/80 |
|
Vlan-int300 |
30::4/80 |
|
WGE1/0/2 |
45::2/80 |
|
WGE1/0/2 |
12::4/80 |
|
Loop0 |
2::2 |
|
Loop0 |
4::4 |
Switch E |
Vlan-int300 |
30::5/80 |
|
|
|
|
Loop0 |
5::5 |
|
|
|
(1) 配置IP地址和單播路由協議
請按照圖2-6配置各接口的IP地址和子網掩碼,並在PIM-SM域內的各交換機上配置OSPF協議,具體配置略。
(2) 配置M-LAG
# 配置M-LAG係統。
<SwitchA> system-view
[SwitchA] m-lag system-mac 1-1-1
[SwitchA] m-lag system-number 1
[SwitchA] m-lag system-priority 123
# 配置Keepalive報文的目的IP地址和源IP地址。
[SwitchA] m-lag keepalive ipv6 destination 45::2 source 45::1
# 配置Keepalive鏈路接口為保留接口。
[SwitchA] m-lag mad exclude interface twenty-fivegige 1/0/2
# 創建二層聚合接口1,並配置該接口為動態聚合模式。
[SwitchA] interface bridge-aggregation 1
[SwitchA-Bridge-Aggregation1] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation1] quit
# 將接口Twenty-FiveGigE1/0/3加入到聚合組1中。
[SwitchA] interface twenty-fivegige 1/0/3
[SwitchA-Twenty-FiveGigE1/0/3] port link-aggregation group 1
[SwitchA-Twenty-FiveGigE1/0/3] quit
# 創建二層聚合接口2,並配置該接口為動態聚合模式。
[SwitchA] interface bridge-aggregation 2
[SwitchA-Bridge-Aggregation2] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation2] quit
# 將接口Twenty-FiveGigE1/0/1加入到聚合組2中。
[SwitchA] interface twenty-fivegige 1/0/1
[SwitchA-Twenty-FiveGigE1/0/1] port link-aggregation group 2
[SwitchA-Twenty-FiveGigE1/0/1] quit
# 創建二層聚合接口3,並配置該接口為動態聚合模式。
[SwitchA] interface bridge-aggregation 3
[SwitchA-Bridge-Aggregation2] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation2] quit
# 將接口Twenty-FiveGigE1/0/4加入到聚合組3中。
[SwitchA] interface twenty-fivegige 1/0/4
[SwitchA-Twenty-FiveGigE1/0/4] port link-aggregation group 3
[SwitchA-Twenty-FiveGigE1/0/4] quit
# 將接口Twenty-FiveGigE1/0/5加入到聚合組3中。
[SwitchA] interface twenty-fivegige 1/0/5
[SwitchA-Twenty-FiveGigE1/0/5] port link-aggregation group 3
[SwitchA-Twenty-FiveGigE1/0/5] quit
# 配置二層聚合接口1為Trunk端口,允許所有的報文通過,並配置該接口為peer-link接口。
[SwitchA] interface bridge-aggregation 1
[SwitchA-Bridge-Aggregation1] port link-type trunk
[SwitchA-Bridge-Aggregation1] port trunk permit vlan all
[SwitchA-Bridge-Aggregation1] port m-lag peer-link 1
[SwitchA-Bridge-Aggregation1] quit
# 配置二層聚合接口2為Trunk端口,允許VLAN 100的報文通過,並配置該接口為M-LAG接口。
[SwitchA] interface bridge-aggregation 2
[SwitchA-Bridge-Aggregation2] port link-type trunk
[SwitchA-Bridge-Aggregation2] port trunk permit vlan 100
[SwitchA-Bridge-Aggregation2] port m-lag group 1
[SwitchA-Bridge-Aggregation2] quit
# 配置二層聚合接口3為Trunk端口,允許VLAN 200的報文通過,並配置該接口為M-LAG接口。
[SwitchA] interface bridge-aggregation 3
[SwitchA-Bridge-Aggregation2] port link-type trunk
[SwitchA-Bridge-Aggregation2] port trunk permit vlan 200
[SwitchA-Bridge-Aggregation2] port m-lag group 2
[SwitchA-Bridge-Aggregation2] quit
Switch B、Switch C和Switch D的配置與Switch A相似,配置過程略。
(3) 使能IP組播路由,並使能PIM-SM和IGMP
# 在Switch A上使能IP組播路由和IGMP Snooping功能,在其連接末梢網絡的接口Vlan-interface100上使能IGMP和PIM,並在其它接口上使能PIM-SM。將Vlan-interface100和Vlan-interface200接口配置為分布式DR接口。
<SwitchA> system-view
[SwitchA] ipv6 multicast routing
[SwitchA-mrib] quit
[SwitchA] mld-snooping
[SwitchA-igmp-snooping] quit
[SwitchA] vlan 100
[SwitchA-vlan100] mld-snooping enable
[SwitchA-vlan100] mld-snooping proxy enable
[SwitchA-vlan100] ipv6 pim-snooping enable
[SwitchA-vlan100] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] mld enable
[SwitchA-Vlan-interface100] ipv6 pim sm
[SwitchA-Vlan-interface100] ipv6 pim distributed-dr
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 200
[SwitchA-Vlan-interface200] ipv6 pim sm
[SwitchA-Vlan-interface200] ipv6 pim distributed-dr
[SwitchA-Vlan-interface200] quit
[SwitchA] interface twenty-fivegige 1/0/2
[SwitchA-Twenty-FiveGigE1/0/2] ipv6 pim sm
[SwitchA] interface loopback 0
[SwitchA-LoopBack0] ipv6 pim sm
[SwitchA-LoopBack0] quit
Switch B、Switch C和Switch D的配置與Switch A相似,配置過程略。
(4) 配置C-BSR和C-RP
# 在Switch A上配置LoopBack0接口地址為C-RP和C-BSR。
[SwitchA] ipv6 pim
[SwitchA-pim] c-rp 1::1
[SwitchA-pim] c-bsr 1::1
[SwitchA-pim] quit
(5) 在Switch E上配置Trunk端口,使得組播流量或IGMP加入報文在VLAN內廣播
# 創建二層聚合接口17,並配置該接口為動態聚合模式。
<SwitchE> system-view
[SwitchE] interface bridge-aggregation 17
[SwitchE-Bridge-Aggregation17] link-aggregation mode dynamic
[SwitchE-Bridge-Aggregation17] quit
# 將接口Twenty-FiveGigE1/0/1和Twenty-FiveGigE1/0/2加入到聚合組17中。
[SwitchE] interface twenty-fivegige 1/0/1
[SwitchE-Twenty-FiveGigE1/0/1] port link-aggregation group 17
[SwitchE-Twenty-FiveGigE1/0/1] quit
[SwitchE] interface twenty-fivegige 1/0/2
[SwitchE-Twenty-FiveGigE1/0/2] port link-aggregation group 17
[SwitchE-Twenty-FiveGigE1/0/2] quit
# 配置二層聚合接口17為Trunk端口,允許VLAN 300的報文通過。
[SwitchE] interface bridge-aggregation 17
[SwitchE-Bridge-Aggregation17] port link-type trunk
[SwitchE-Bridge-Aggregation17] port trunk permit vlan 300
[SwitchE-Bridge-Aggregation17] quit
# 將接口Twenty-FiveGigE1/0/3配置為Trunk端口,允許VLAN 300的報文通過。
[SwitchE] interface twenty-fivegige 1/0/3
[SwitchE-Twenty-FiveGigE1/0/3] port link-type trunk
[SwitchE-Twenty-FiveGigE1/0/3] port trunk permit vlan 300
[SwitchE-Twenty-FiveGigE1/0/3] quit
Switch F的配置與Switch E相似,配置過程略。
# 顯示Switch A上的IPv6 PIM路由表項。
<SwitchA> display ipv6 pim routing-table
(*, FF1E::1)
RP: 2222::2222
Protocol: pim-sm, Flag: WC
Upstream interface: Vlan-interface20
Upstream neighbor: 2000::3
RPF prime neighbor: 2000::3
Downstream interface information:
Total number of downstream interfaces: 1
1: Vlan-interface100
Protocol: mld, UpTime: 00:05:24, Expires: -
(1000::2, FF1E::1)
RP: 2222::2222
Protocol: pim-sm, Flag: SPT ACT 2MVPN
UpTime: 00:00:33
Upstream interface: Vlan-interface20
Upstream neighbor: 2000::3
RPF prime neighbor: 2000::3
Downstream interface information:
Total number of downstream interfaces: 1
1: Vlan-interface100
Protocol: pim-sm, UpTime: 00:00:33, Expires: -
# 顯示Switch B上的IPv6 PIM路由表項。
<SwitchB> display ipv6 pim routing-table
Total 1 (*, G) entries; 1 (S, G) entries
(*, FF1E::1)
RP: 2:2
Protocol: pim-sm, Flag: WC
UpTime: 00:00:18
Upstream interface: Vlan-interface200
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface information:
Total number of downstream interfaces: 1
1: Vlan-interface100
Protocol: mld, UpTime: 00:00:18, Expires: -
(30::2, FF1E::1)
RP: 2::2
Protocol: pim-sm, Flag: SPT ACT 2MVPN
UpTime: 00:00:18
Upstream interface: Vlan-interface200
Upstream neighbor: FE80::505F:B2FF:FEBA:5
RPF prime neighbor: FE80::505F:B2FF:FEBA:5
Downstream interface information:
Total number of downstream interfaces: 1
1: Vlan-interface30
Protocol: pim-sm, UpTime: 00:05:31, Expires: 00:02:53
2: Vlan-interface100
Protocol: pim-sm, UpTime: 00:00:33, Expires: -
# 顯示Switch A上的組播轉發表項。
<SwitchA> display ipv6 multicast forwarding-table
Total 1 entries, 1 matched
00001. (30::2, FF1E::1)
Flags: 0x0
Uptime: 00:00:55, Timeout in: 00:03:18
Incoming interface: Vlan-interface200
List of 1 outgoing interfaces:
1: Vlan-interface100
Matched 1293 packets(36204 bytes), Wrong If 0 packets
Forwarded 1291 packets(36148 bytes)
# 顯示Switch B上的組播轉發表項。
<SwitchB> display ipv6 multicast forwarding-table
Total 1 entries, 1 matched
00001. (30::2, FF1E::1)
Flags: 0x0
Uptime: 00:00:53, Timeout in: 00:03:27
Incoming interface: Vlan-interface200
List of 1 outgoing interfaces:
1: Vlan-interface100
Matched 1272 packets(35616 bytes), Wrong If 0 packets
Forwarded 1269 packets(35532 bytes)
網絡中各設備(包括直連IPv6組播源或接收者的設備)上都沒有IPv6組播轉發項,也就是說無法正確建立組播分發樹,客戶端無法接收IPv6組播數據。
· 當全網運行IPv6 PIM-DM時,IPv6組播數據由直連組播源的第一跳設備擴散到直連客戶端的最後一跳設備。無論IPv6組播數據擴散到哪一台設備,隻有該設備存在到達組播源的路由,才會創建(S,G)表項。反之,如果沒有到達組播源的路由或者到達組播源的RPF接口沒有使能IPv6 PIM-DM,該設備就無法創建(S,G)表項。
· 當全網運行IPv6 PIM-SM時,設備在準備加入SPT時,隻有存在到達組播源的路由,才會創建(S,G)表項。反之,如果沒有到達組播源的路由或者到達組播源的RPF接口沒有使能IPv6 PIM-SM,該設備就無法創建(S,G)表項。
· 對於某個RPF檢查對象,在現存的IPv6單播路由表中查找到達該對象的最優路由,該路由的出接口作為RPF接口,下一跳作為RPF鄰居。RPF接口完全依賴於現存的IPv6單播路由,並且與IPv6 PIM本身無關。RPF接口上必須使能IPv6 PIM,而且RPF鄰居也必須是IPv6 PIM鄰居。如果RPF接口或RPF鄰居所在設備上沒有使能IPv6 PIM,必然使組播分發樹無法正確建立,導致IPv6組播數據轉發異常。
· Hello報文並不攜帶IPv6 PIM的模式信息,所以運行IPv6 PIM的設備無法掌握自己的IPv6 PIM鄰居運行的是何種模式的IPv6 PIM。如果RPF接口和RPF鄰居所在設備的對應接口沒有使能相同模式的IPv6 PIM,必然使組播分發樹無法正確建立,導致IPv6組播數據轉發異常。
· 全網必須運行相同模式的IPv6 PIM。否則,組播分發樹必然無法正確建立,導致IPv6組播數據轉發異常。
(1) 檢查IPv6單播路由。使用命令display ipv6 routing-table命令檢查是否有到達IPv6組播源或RP的IPv6單播路由。
(2) 檢查接口上是否使能了IPv6 PIM,尤其是RPF接口上是否使能了IPv6 PIM。通過命令display ipv6 pim interface命令查看接口上的IPv6 PIM信息。若接口上未使能IPv6 PIM,請使用ipv6 pim dm或ipv6 pim sm命令使能IPv6 PIM-DM或IPv6 PIM-SM。
(3) 檢查RPF鄰居是否是IPv6 PIM鄰居。通過display ipv6 pim neighbor命令查看IPv6 PIM鄰居的信息。
(4) 檢查直連IPv6組播源或接收者的設備接口上是否使能了IPv6 PIM和MLD。
(5) 檢查IPv6 PIM模式是否一致。通過命令display ipv6 pim interface verbose檢查RPF接口和RPF鄰居所在設備的對應接口上是否使能了相同模式的IPv6 PIM。
(6) 檢查全網各設備上的IPv6 PIM模式是否一致。通過命令display current-configuration查看接口上的IPv6 PIM模式信息,確保全網所有設備配置有相同模式的IPv6 PIM。如果都配置為IPv6 PIM-SM,則還需檢查BSR以及C-RP的配置是否正確。
IPv6組播數據可以到達中間設備,但無法到達最後一跳設備。中間設備某接口上收到IPv6組播數據,但IPv6 PIM路由表中沒有創建相應的(S,G)表項。
· 命令ipv6 multicast boundary用於在接口上設置IPv6組播轉發邊界,如果IPv6組播數據無法通過該邊界,IPv6 PIM將無法創建路由項。
· 此外,source-policy命令用於過濾接收到的IPv6組播數據報文。如果IPv6組播數據報文無法通過該命令中的ACL規則,IPv6 PIM也無法創建路由項。
(1) 檢查IPv6組播轉發邊界的配置。通過命令display current-configuration查看IPv6組播轉發邊界上的設置,使用ipv6 multicast boundary命令更改IPv6組播轉發邊界的設置,使IPv6組播數據能夠通過該邊界。
(2) 檢查IPv6組播過濾器配置。通過命令display current-configuration查看IPv6組播過濾器的配置,更改source-policy命令的ACL規則,使IPv6組播數據的源/組地址通過ACL過濾。
RPT無法正確建立,或者RP無法加入到達IPv6組播源的SPT。
· RP是IPv6 PIM-SM網絡的核心,為特定的IPv6組播組服務,網絡中可以同時存在多個RP。必須保證所有設備上的RP信息完全一致,並且相同的IPv6組播組映射到相同的RP,否則將導致IPv6組播數據轉發異常。
· 如果使用了靜態RP,必須在全網所有設備上配置完全相同的靜態RP,否則將導致IPv6組播數據轉發異常。
(1) 檢查是否有到達RP的IPv6單播路由。通過命令display ipv6 routing-table查看各設備上是否有到達RP的IPv6單播路由。
(2) 檢查動態RP的信息。通過命令display ipv6 pim rp-info查看各設備上的RP信息是否一致。
(3) 檢查靜態RP的配置。通過命令display ipv6 pim rp-info查看全網所有設備上的靜態RP配置是否完全相同。
C-RP無法向BSR單播通告報文,BSR沒有發布包含C-RP的自舉報文,BSR上沒有到達各C-RP的IPv6單播路由,RPT無法正確建立,或者DR無法向RP進行源注冊。
· C-RP周期性地向BSR單播宣告報文,如果C-RP沒有到達BSR的IPv6單播路由就無法發送宣告報文,BSR就收不到C-RP宣告報文,也就不會發布包含該C-RP的自舉報文。
· 另外,如果BSR沒有到達C-RP的IPv6單播路由,就會丟棄C-RP發來的宣告報文,也不會發布包含該C-RP的自舉報文。
· RP是IPv6 PIM-SM網絡的核心。必須保證全網所有設備的RP信息完全一致,並且特定的組G映射到相同的RP,以及存在到達RP的IPv6單播路由。
(1) 檢查是否有到各C-RP、BSR的IPv6單播路由。通過命令display ipv6 routing-table查看各設備上是否有到達C-RP和BSR的路由,以及C-RP和BSR之間的路由是否可達。確保各C-RP上存在到達BSR的路由,BSR上存在到達各C-RP的路由,全網所有設備上存在到達C-RP的路由。
(2) 檢查RP和BSR信息。IPv6 PIM-SM協議需要有RP和BSR的支持,首先使用命令display ipv6 pim bsr-info查看各設備上是否有BSR的信息,使用display ipv6 pim rp-info命令查看各設備上的RP信息是否正確。
(3) 檢查IPv6 PIM鄰居關係。通過命令display ipv6 pim neighbor查看各設備之間是否正確建立了鄰居關係。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!