• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

08-IP組播配置指導

目錄

14-IPv6組播路由與轉發配置

本章節下載 14-IPv6組播路由與轉發配置  (237.15 KB)

14-IPv6組播路由與轉發配置


1 IPv6組播路由與轉發

說明

·     本文所涉及的路由器和路由器圖標,代表了一般意義下的路由器或運行IPv6組播路由協議的三層交換機。

·     設備支持兩種運行模式:獨立運行模式和IRF模式,缺省情況下為獨立運行模式。有關IRF模式的介紹,請參見“IRF配置指導   ”中的“IRF”。

 

1.1  IPv6組播路由與轉發簡介

在IPv6組播實現中,組播路由和轉發分為三種表:

·     每個IPv6組播路由協議都有一個協議自身的路由表,如IPv6 PIM路由表(IPv6 PIM Routing-Table);

·     各IPv6組播路由協議的組播路由信息經過綜合形成一個總的IPv6組播路由表(IPv6 Multicast Routing-Table);

·     IPv6組播轉發表(IPv6 Multicast Forwarding-Table)直接用於控製IPv6組播數據包的轉發,是真正指導IPv6組播數據轉發的轉發表。

IPv6組播路由表由一組(S,G)表項組成,其中(S,G)表示由源S向IPv6組播組G發送IPv6組播數據的路由信息。如果路由器支持多種IPv6組播路由協議,則其IPv6組播路由表中將包括由多種協議生成的組播路由。路由器根據組播路由和轉發策略,從IPv6組播路由表中選出最優的組播路由,並下發到IPv6組播轉發表中。

1.1.1  RPF檢查機製

IPv6組播路由協議依賴於現有的IPv6單播路由信息或IPv6 MBGP路由來創建IPv6組播路由表項。IPv6組播路由協議在創建IPv6組播路由表項時,運用了RPF(Reverse Path Forwarding,逆向路徑轉發)檢查機製,以確保IPv6組播數據能夠沿正確的路徑傳輸,同時還能避免由於各種原因而造成的環路。

1. RPF檢查過程

執行RPF檢查的依據是IPv6單播路由或IPv6 MBGP路由:

·     IPv6單播路由表中彙集了到達各個目的網段的最短路徑;

·     IPv6 MBGP路由表直接提供IPv6組播路由信息。

在執行RPF檢查時,路由器同時查找IPv6單播路由表和IPv6 MBGP路由表,具體過程如下:

首先,分別從IPv6單播路由表和IPv6 MBGP路由表中各選出一條最優路由:

·     以“報文源”的IPv6地址為目的地址查找IPv6單播路由表,自動選取一條最優IPv6單播路由。對應表項中的出接口為RPF接口,下一跳為RPF鄰居。路由器認為來自RPF鄰居且由該RPF接口收到的IPv6組播報文所經曆的路徑是從源S到本地的最短路徑。

·     以“報文源”的IPv6地址為目的地址查找IPv6 MBGP路由表,自動選取一條最優IPv6 MBGP路由。對應表項中的出接口為RPF接口,下一跳為RPF鄰居。

然後,從這兩條最優路由中選擇一條作為RPF路由:

·     如果配置了按照最長匹配選擇路由,則從這兩條路由中選出最長匹配的那條路由;如果這兩條路由的前綴長度一樣,則選擇其中優先級最高的那條路由;如果它們的優先級也相同,則按照IPv6 MBGP路由、IPv6單播路由的順序進行選擇。

·     如果沒有配置按照最長匹配選擇路由,則從這兩條路由中選出優先級最高的那條路由;如果它們的優先級相同,則按照IPv6 MBGP路由、IPv6單播路由的順序進行選擇。

說明

根據IPv6組播報文傳輸的具體情況不同,“報文源”所代表的具體含義也不同:

·     如果當前報文沿從組播源到接收者或RP(Rendezvous Point,彙集點)的SPT(Shortest Path Tree,最短路徑樹)進行傳輸,則以組播源為“報文源”進行RPF檢查;

·     如果當前報文沿從RP到接收者的RPT(Rendezvous Point Tree,共享樹或彙集樹)進行傳輸,或者沿從組播源到RP的組播源側RPT進行傳輸,則都以RP為“報文源”進行RPF檢查;

·     如果當前報文為BSR(BootStrap Router,自舉路由器)報文,沿從BSR到各路由器的路徑進行傳輸,則以BSR為“報文源”進行RPF檢查。

有關SPT、RPT、組播源側RPT、RP和BSR的詳細介紹,請參見“IP組播配置指導”中的“IPv6 PIM”。

 

2. RPF檢查在IPv6組播轉發中的應用

對每一個收到的IPv6組播數據報文都進行RPF檢查會給路由器帶來較大負擔,而利用IPv6組播轉發表可以解決這個問題。在建立IPv6組播路由和轉發表時,會把IPv6組播數據報文(S,G)的RPF接口記錄為(S,G)表項的入接口。當路由器收到IPv6組播數據報文(S,G)後,查找IPv6組播轉發表:

如果IPv6組播轉發表中不存在(S,G)表項,則對該報文執行RPF檢查,將其RPF接口作為入接口,結合相關路由信息創建相應的表項,並下發到IPv6組播轉發表中:

·     若該報文實際到達的接口正是其RPF接口,則RPF檢查通過,向所有的出接口轉發該報文;

·     若該報文實際到達的接口不是其RPF接口,則RPF檢查失敗,丟棄該報文。

如果IPv6組播轉發表中已存在(S,G)表項,且該報文實際到達的接口與入接口相匹配,則向所有的出接口轉發該報文。

如果IPv6組播轉發表中已存在(S,G)表項,但該報文實際到達的接口與入接口不匹配,則對此報文執行RPF檢查:

·     若其RPF接口與入接口一致,則說明(S,G)表項正確,丟棄這個來自錯誤路徑的報文;

·     若其RPF接口與入接口不符,則說明(S,G)表項已過時,於是把入接口更新為RPF接口。如果該報文實際到達的接口正是其RPF接口,則向所有的出接口轉發該報文,否則將其丟棄。

注意

設備可以配置對RPF檢查失敗的報文進行特殊處理,而不是簡單地將其丟棄。相關配置請參見“1.4.6  配置RPF檢查失敗的處理方式”。

 

圖1-1所示,假設網絡中IPv6單播路由暢通,未配置IPv6 MBGP。IPv6組播報文(S,G)沿從組播源(Source)到接收者(Receiver)的SPT進行傳輸。假定Device C上的IPv6組播轉發表中已存在(S,G)表項,其記錄的入接口為Vlan-int100。

圖1-1 RPF檢查過程

 

·     如果該IPv6組播報文從接口Vlan-int100到達Device C,與(S,G)表項的入接口相匹配,則向所有的出接口轉發該報文。

·     如果該IPv6組播報文從接口Vlan-int101到達Device C,與(S,G)表項的入接口不匹配,則對其執行RPF檢查:通過查找IPv6單播路由表發現到達Source的出接口(即RPF接口)是Vlan-int100,與(S,G)表項的入接口一致。這說明(S,G)表項是正確的,該報文來自錯誤的路徑,RPF檢查失敗,於是丟棄該報文。

1.2  IPv6組播路由與轉發配置任務簡介

表1-1 IPv6組播路由與轉發配置任務簡介

配置任務

說明

詳細配置

使能IPv6組播路由

必選

1.3 

配置IPv6組播路由與轉發

配置IPv6組播路由策略

可選

1.4.2 

配置IPv6組播轉發範圍

可選

1.4.3 

配置IPv6組播轉發表容量

可選

1.4.4 

配置IPv6靜態組播MAC地址表項

可選

1.4.5 

配置RPF檢查失敗的處理方式

可選

1.4.6 

 

1.3  使能IPv6組播路由

在配置各項三層IPv6組播功能之前,必須首先使能IPv6組播路由。

表1-2 使能IPv6組播路由

操作

命令

說明

進入係統視圖

system-view

-

使能IPv6組播路由

multicast ipv6 routing-enable

必選

缺省情況下,IPv6組播路由處於關閉狀態

 

1.4  配置IPv6組播路由與轉發

1.4.1  配置準備

在配置IPv6組播路由與轉發之前,需完成以下任務:

·     使能IPv6轉發功能並配置任一IPv6單播路由協議,實現域內網絡層互通

·     配置IPv6 PIM-DM(或IPv6 PIM-SM)

在配置IPv6組播路由與轉發之前,需準備以下數據:

·     單條IPv6組播轉發表項的最大下行節點數目

·     IPv6組播轉發表的最大表項數

1.4.2  配置IPv6組播路由策略

可以配置組播路由器按照最長匹配原則來選擇RPF路由,有關RPF路由選擇的詳細介紹,請參見“1.1.1  1. RPF檢查過程”一節。此外,通過配置根據組播源或組播源組進行IPv6組播流量的負載分擔,還可以優化存在多條IPv6組播數據流時的網絡流量。

表1-3 配置IPv6組播路由策略

操作

命令

說明

進入係統視圖

system-view

-

配置按照最長匹配選擇RPF路由

multicast ipv6 longest-match

可選

缺省情況下,選擇優先級最高的路由作為RPF路由

配置對IPv6組播流量進行負載分擔

multicast ipv6 load-splitting {source | source-group }

可選

缺省情況下,不對IPv6組播流量進行負載分擔

 

1.4.3  配置IPv6組播轉發範圍

IPv6組播信息在網絡中的轉發並不是漫無邊際的,每個IPv6組播組對應的IPv6組播信息都必須在確定的範圍內傳遞。目前定義IPv6組播轉發範圍的方式為:

確定充當IPv6組播轉發邊界的接口,以形成一個封閉的IPv6組播轉發區域;

可以在所有支持IPv6組播轉發的接口上配置針對某個IPv6組播組或Scope值的轉發邊界。IPv6組播轉發邊界為指定範圍或Scope值的IPv6組播組劃定了邊界條件,如果IPv6組播報文的目的地址與邊界條件匹配,就停止轉發。當在一個接口上配置了IPv6組播轉發邊界後,將不能從該接口轉發IPv6組播報文(包括本機發出的IPv6組播報文),也不能從該接口接收IPv6組播報文。

表1-4 配置IPv6組播轉發範圍

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖

interface interface-type interface-number

-

配置IPv6組播轉發邊界

multicast ipv6 boundary { ipv6-group-address prefix-length | scope { scope-id | admin-local | global | organization-local | site-local } }

必選

缺省情況下,沒有配置IPv6組播轉發邊界

 

1.4.4  配置IPv6組播轉發表容量

路由器為每個收到的IPv6組播數據報文都維護相應的轉發表項。但是,Pv6組播轉發表項過多可能會耗盡路由器內存,從而導致路由器性能下降。用戶可以根據實際組網情況和業務性能要求對IPv6組播轉發表中的表項數量進行限製。如果IPv6組播轉發表最大表項數的配置值小於當前值,則超出數目的表項並不會立刻被刪除,而必須由IPv6組播路由協議來刪除,同時也無法添加新的IPv6組播轉發表項。

路由器為每個下行節點複製一份IPv6組播數據報文並發送出去,每個下行節點就形成IPv6組播分發樹的一條分支。用戶可以根據實際組網情況和業務性能要求對IPv6組播轉發表中單條表項的下行節點數目(即出接口數目)進行限製,以緩解路由器的複製壓力。如果單條IPv6組播轉發表項的最大下行節點數目的配置值小於當前值,則超出數目的下行節點並不會被立刻刪除,而必須由IPv6組播路由協議來刪除,同時新增的下行節點將無法添加到該表項中。

表1-5 配置IPv6組播轉發表容量

操作

命令

說明

進入係統視圖

system-view

-

配置IPv6組播轉發表的最大表項數

multicast ipv6 forwarding-table route-limit limit

可選

缺省情況下,IPv6組播轉發表的最大表項數為係統所允許的最大值,該值和係統工作模式相關,設備工作在不同的係統模式下時,係統所允許的最大值會不同,詳細說明請參見“基礎配置指導/設備管理”中的“配置係統工作模式”

配置單條IPv6組播轉發表項的最大下行節點數目

multicast ipv6 forwarding-table downstream-limit limit

可選

缺省情況下,單條IPv6組播轉發表項的最大下行節點數目為128

 

1.4.5  配置IPv6靜態組播MAC地址表項

在二層組播中,除了可通過二層IPv6組播協議(如MLD Snooping)動態建立IPv6組播MAC地址表項外,還可以通過手工方式配置IPv6組播MAC地址表項,將端口與IPv6組播MAC地址進行靜態綁定,以便靈活控製IPv6組播信息送達的目的端口。

1. 係統視圖下配置IPv6靜態組播MAC地址表項

表1-6 係統視圖下配置IPv6靜態組播MAC地址表項

操作

命令

說明

進入係統視圖

system-view

-

配置靜態組播MAC地址表項

mac-address multicast mac-address interface interface-list vlan vlan-id

必選

缺省情況下,沒有配置靜態組播MAC地址表項

 

2. 接口視圖下配置IPv6靜態組播MAC地址表項

表1-7 接口視圖下配置IPv6靜態組播MAC地址表項

操作

命令

說明

進入係統視圖

system-view

-

進入相應視圖

進入以太網或二層聚合接口視圖

interface interface-type interface-number

二者必選其一

進入以太網接口或二層聚合接口視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組的所有接口生效

進入端口組視圖

port-group manual port-group-name

配置靜態組播MAC地址表項

mac-address multicast mac-address vlan vlan-id

必選

缺省情況下,沒有配置靜態組播MAC地址表項

 

說明

·     有關mac-address multicast命令的詳細介紹,請參見“IP組播命令參考”中的“組播路由與轉發”。

·     係統視圖下的配置對指定接口有效,而接口視圖下的配置隻對當前接口(或當前端口組內的所有接口)有效。

·     可手工配置的IPv6組播MAC地址表項為除3333-xxxx-xxxx以外的任意合法的IPv6組播MAC地址(IPv6組播MAC地址就是最高字節的最低比特位為1的MAC地址),其中x代表0~F的任意一個十六進製數。

 

1.4.6  配置RPF檢查失敗的處理方式

對於RPF檢查失敗的IPv6組播數據報文,針對不同情況需要進行不同的處理,而不僅僅是簡單地將其丟棄。

1. 配置VLAN內的轉發

在某些特定組網環境下,會出現RPF檢查失敗的VLAN接口對應的VLAN內存在接收者的情況,為了讓這些接收者也能收到RPF檢查失敗的IPv6組播數據報文,就需要將這些報文在該VLAN內進行組播或廣播。

配置了在VLAN內轉發RPF檢查失敗的IPv6組播數據報文後,當VLAN內收到了RPF檢查失敗的IPv6組播數據報文時,如果有相應的轉發表項,則在該VLAN內進行組播;否則,在該VLAN內進行廣播。

當需要將RPF檢查失敗的IPv6組播數據報文在VLAN內進行組播時,還須在該VLAN內使能IPv6按需組播功能。

表1-8 配置VLAN內的轉發

操作

命令

說明

進入係統視圖

system-view

-

配置在VLAN內轉發RPF檢查失敗的IPv6組播數據報文

multicast ipv6 rpf-fail-pkt bridging

必選

缺省情況下,不在VLAN內轉發RPF檢查失敗的IPv6組播數據報文

進入VLAN視圖

vlan vlan-id

-

使能VLAN內的IPv6按需組播功能

multicast ipv6 forwarding on-demand

必選

缺省情況下,VLAN內的IPv6按需組播功能處於關閉狀態

 

注意

·     配置完在VLAN內轉發RPF檢查失敗的IPv6組播數據報文後,必須使用命令reset multicast ipv6 forwarding-table清除IPv6組播轉發表中的所有轉發項,否則該配置將不能生效。

·     如果配置IPv6按需組播功能的VLAN是IPv6組播VLAN,則配置完後必須使用命令reset mld-snooping group清除該VLAN內所有MLD Snooping組播組的信息,否則該配置將不能生效。有關reset mld-snooping group命令的詳細介紹,請參見“IP組播命令參考”中的“MLD Snooping”。

·     如果配置IPv6按需組播功能的VLAN不是IPv6組播VLAN,且對應的VLAN接口上配置了IPv6三層組播協議(MLD或IPv6 PIM),則配置完後必須使用命令reset mld group port-info清除該VLAN內所有MLD組播組的二層端口信息,並使用命令reset mld group清除對應VLAN接口上所有MLD組播組的信息,否則該配置將不能生效。有關reset mld group port-inforeset mld group命令的詳細介紹,請參見“IP組播命令參考”中的“MLD”。

·     如果配置IPv6按需組播功能的VLAN不是IPv6組播VLAN,且該VLAN內使能了MLD Snooping,則該配置將不能生效。

 

2. 配置上送CPU處理

在以下兩種情況下,需要將RPF檢查失敗的組播數據報文上送給CPU進行處理:

·     如果IPv6組播數據報文從IPv6組播轉發表項的出接口到達,則RPF檢查失敗,需要將該報文上送給CPU進行處理,以觸發Assert機製剪枝多餘的IPv6組播流量。

·     在RPT向SPT切換時,如果SPT與RPT在DR(Designated Router,指定路由器)上的入接口不同,若在SPT上的IPv6組播流量到達DR前就剪枝RPT,將導致IPv6組播流量的中斷;若待SPT上的IPv6組播流量到達DR後再剪枝RPT,就可以避免IPv6組播流量的中斷。為了使DR能感知到SPT上IPv6組播流量的到達,就需要將到達SPT入接口但RPF檢查失敗(剪枝RPT前的RPF接口是RPT的入接口)的IPv6組播數據報文上送給CPU進行處理。

有關Assert機製、DR以及RPT向SPT切換的詳細介紹,請參見“IP組播配置指導”中的“IPv6 PIM”。

表1-9 配置上送CPU處理

操作

命令

說明

進入係統視圖

system-view

-

配置把RPF檢查失敗的IPv6組播數據報文上送CPU處理

multicast ipv6 rpf-fail-pkt trap-to-cpu

必選

缺省情況下,不把RPF檢查失敗的IPv6組播數據報文上送CPU處理

 

注意

配置完後必須使用命令reset multicast ipv6 forwarding-table清除IPv6組播轉發表中的所有轉發項,否則本配置將不能生效。

 

1.5  IPv6組播路由與轉發顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IPv6組播路由與轉發的運行情況,通過查看顯示信息驗證配置的效果。

在用戶視圖下執行reset命令可以清除IPv6組播路由與轉發的統計信息。

表1-10 IPv6組播路由與轉發顯示和維護

操作

命令

查看IPv6組播邊界信息

display multicast ipv6 boundary { group [ ipv6-group-address [ prefix-length ] ] | scope [ scope-id ] } [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

查看IPv6組播轉發表信息(獨立運行模式)

display multicast ipv6 forwarding-table [ ipv6-source-address [ prefix-length ] | ipv6-group-address [ prefix-length ] | incoming-interface { interface-type interface-number | register } | outgoing-interface { exclude | include | match } { interface-type interface-number | register } | statistics | slot slot-number ] * [ port-info ] [ | { begin | exclude | include } regular-expression ]

查看IPv6組播轉發表信息

(IRF模式)

display multicast ipv6 forwarding-table [ ipv6-source-address [ prefix-length ] | ipv6-group-address [ prefix-length ] | incoming-interface { interface-type interface-number | register } | outgoing-interface { exclude | include | match } { interface-type interface-number | register } | statistics | chassis chassis-number slot slot-number ] * [ port-info ] [ | { begin | exclude | include } regular-expression ]

查看IPv6組播路由表信息

display multicast ipv6 routing-table [ ipv6-source-address [ prefix-length ] | ipv6-group-address [ prefix-length ] | incoming-interface { interface-type interface-number | register } | outgoing-interface { exclude | include | match } { interface-type interface-number | register } ] * [ | { begin | exclude | include } regular-expression ]

查看IPv6組播源的RPF信息

display multicast ipv6 rpf-info ipv6-source-address [ ipv6-group-address ] [ | { begin | exclude | include } regular-expression ]

查看IPv6靜態組播MAC地址表信息

display mac-address [ mac-address [ vlan vlan-id ] | [ multicast ] [ vlan vlan-id ] [ count ] ] [ | { begin | exclude | include } regular-expression ]

清除IPv6組播轉發表中的轉發項

reset multicast ipv6 forwarding-table { { ipv6-source-address [ prefix-length ] | ipv6-group-address [ prefix-length ] | incoming-interface { interface-type interface-number | register } } * | all }

清除IPv6組播路由表中的路由項

reset multicast ipv6 routing-table { { ipv6-source-address [ prefix-length ] | ipv6-group-address [ prefix-length ] | incoming-interface { interface-type interface-number | register } } * | all }

 

說明

·     有關display mac-address multicast命令的詳細介紹,請參見“IP組播命令參考”中的“組播路由與轉發”。

·     有關DF(Designated Forwarder,指定轉發者)的詳細介紹,請參見“IP組播配置指導”中的“IPv6 PIM”。

 

注意

·     執行reset命令將清除IPv6組播路由表或IPv6組播轉發表中的信息,可能導致IPv6組播信息無法正常傳輸;

·     清除IPv6組播路由表中的路由項後,IPv6組播轉發表中的相應表項也將隨之刪除;

·     清除IPv6組播轉發表中的轉發項後,IPv6組播路由表中的相應表項也將隨之刪除。

 

1.6  常見配置錯誤舉例

1.6.1  IPv6組播數據異常終止

1. 故障現象

·     當某主機發送了加入IPv6組播組G的報文後,離該主機最近的路由器上卻沒有IPv6組播組G的組成員信息。中間路由器能成功接收IPv6組播數據,但數據不能到達末梢網絡。

·     中間路由器的接口收到IPv6組播數據,但在IPv6 PIM路由表裏沒有相應的(S,G)表項。

2. 分析

·     命令multicast ipv6 boundary用來過濾接口上收到的IPv6組播報文。如果報文沒有通過這個命令的IPv6 ACL匹配規則,則IPv6 PIM不能創建路由表項。

·     此外,IPv6 PIM中的命令source-policy用來過濾接收的IPv6組播報文。如果報文沒有通過這個命令的IPv6 ACL匹配規則,則IPv6 PIM也不能創建路由表項。

3. 處理過程

使用命令display current-configuration查看組播轉發邊界上配置的IPv6 ACL過濾規則。更改multicast ipv6 boundary命令的IPv6 ACL規則,使IPv6組播數據的源地址和IPv6組播組地址通過IPv6 ACL過濾。

檢查組播過濾器配置。使用命令display current-configuration查看組播過濾器的配置,更改source-policy命令的IPv6 ACL規則,使IPv6組播數據的源地址和IPv6組播組地址通過IPv6 ACL過濾。

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們