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

06-IP組播配置指導

目錄

02-IGMP Snooping配置

本章節下載 02-IGMP Snooping配置  (989.38 KB)

02-IGMP Snooping配置

  錄

1 IGMP Snooping

1.1 IGMP Snooping簡介

1.1.1 IGMP Snooping原理

1.1.2 IGMP Snooping端口分類

1.1.3 IGMP Snooping工作機製

1.1.4 IGMP Snooping Proxy

1.1.5 IGMP Snooping支持M-LAG

1.1.6 協議規範

1.2 IGMP Snooping配置限製和指導

1.3 基於VLAN的IGMP Snooping配置任務簡介

1.4 基於VSI的IGMP Snooping配置任務簡介

1.5 開啟設備的IGMP Snooping特性

1.6 使能IGMP Snooping

1.6.1 使能全局IGMP Snooping

1.6.2 使能VLAN的IGMP Snooping

1.6.3 使能VSI的IGMP Snooping

1.7 配置IGMP Snooping基本功能

1.7.1 配置IGMP Snooping版本

1.7.2 配置IGMP Snooping轉發表項的全局最大數量

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

1.7.4 配置VXLAN組網中的靜態組播MAC地址表項

1.7.5 配置IGMP特定組查詢報文的發送間隔

1.8 配置IGMP Snooping端口功能

1.8.1 配置動態端口老化定時器

1.8.2 配置靜態成員端口

1.8.3 配置靜態路由器端口

1.8.4 配置模擬主機加入

1.8.5 配置端口快速離開功能

1.8.6 禁止端口成為動態路由器端口

1.8.7 配置組播數據不向VLAN內的路由器端口轉發

1.8.8 開啟端口識別IGMP報文內層VLAN功能

1.9 配置二層組播數據轉發模式

1.10 配置IGMP Snooping查詢器

1.10.1 開啟IGMP Snooping查詢器

1.10.2 開啟IGMP Snooping查詢器選舉功能

1.10.3 配置IGMP普遍組查詢和響應

1.10.4 配置設備在鏈路拓撲發生變化時立刻發送IGMP普遍組查詢報文

1.10.5 配置設備在端口鏈路狀態發生變化時立刻發送IGMP普遍組查詢報文

1.11 配置IGMP Snooping Proxy

1.12 調整IGMP報文

1.12.1 配置IGMP報文的源IP地址

1.12.2 配置IGMP報文的802.1p優先級

1.13 配置IGMP Snooping策略

1.13.1 配置組播組過濾器

1.13.2 配置組播數據報文源端口過濾

1.13.3 配置丟棄未知組播數據報文

1.13.4 配置IGMP成員關係報告報文抑製

1.13.5 配置端口加入的組播組最大數量

1.13.6 配置組播組替換功能

1.13.7 配置IGMP Snooping主機跟蹤功能

1.13.8 配置組播用戶控製策略

1.14 配置設備發送的IGMP協議報文的DSCP優先級

1.15 配置IGMP Snooping支持M-LAG

1.16 開啟IGMP Snooping告警功能

1.17 配置IGMP Snooping日誌功能

1.17.1 開啟IGMP Snooping日誌功能

1.17.2 開啟IGMP Snooping日誌限速功能

1.18 IGMP Snooping顯示和維護

1.19 IGMP Snooping典型配置舉例

1.19.1 基於VLAN的組策略及模擬主機加入配置舉例

1.19.2 基於VLAN的靜態端口配置舉例

1.19.3 基於VLAN的IGMP Snooping查詢器配置舉例

1.19.4 基於VLAN的IGMP Snooping Proxy配置舉例

1.19.5 基於EVPN站點多歸屬的IGMP Snooping Proxy配置舉例

1.19.6 基於VLAN的組播用戶控製策略配置舉例

1.19.7 基於VXLAN的IGMP Snooping配置舉例

1.20 IGMP Snooping常見故障處理

1.20.1 二層設備不能實現二層組播

1.20.2 配置的組播組策略不生效

 


1 IGMP Snooping

1.1  IGMP Snooping簡介

IGMP Snooping(Internet Group Management Protocol Snooping,互聯網組管理協議窺探)運行在二層設備上,通過偵聽三層設備與主機之間的IGMP報文來生成二層組播轉發表,從而管理和控製組播數據報文的轉發,實現組播數據報文在二層的按需分發。

1.1.1  IGMP Snooping原理

運行IGMP Snooping的二層設備通過對收到的IGMP報文進行分析,為端口和MAC組播地址建立起映射關係,並根據這樣的映射關係轉發組播數據。

圖1-1所示,當二層設備沒有運行IGMP Snooping時,組播數據在二層網絡(包括VLAN和VSI)中被廣播;當二層設備運行了IGMP Snooping後,已知組播組的組播數據不會在二層網絡中被廣播,而被組播給指定的接收者。

圖1-1 二層設備運行IGMP Snooping前後的對比

 

IGMP Snooping通過二層組播將信息隻轉發給有需要的接收者,可以帶來以下好處:

·     減少了二層網絡中的廣播報文,節約了網絡帶寬;

·     增強了組播信息的安全性;

·     為實現對每台主機的單獨計費帶來了方便。

1.1.2  IGMP Snooping端口分類

圖1-2所示,Device A連接組播源,在Switch A和Switch B上分別運行IGMP Snooping,Host A和Host C為接收者主機(即組播組成員)。根據在網絡中所處位置的不同,IGMP Snooping端口可以分為路由器端口和成員端口兩類,以下分別介紹。

圖1-2 IGMP Snooping端口示意圖

 

1. 路由器端口

在運行了IGMP Snooping的二層設備上,朝向上遊三層組播設備的端口稱為路由器端口。如圖1-2中Switch A的Port A1端口和Switch B的Port B1端口。

根據來源不同,路由器端口可分為:

·     動態路由器端口:所有收到IGMP普遍組查詢報文(源地址非0.0.0.0)或PIM Hello報文的端口,都被維護為動態路由器端口。這些端口被記錄在動態路由器端口列表中,每個端口都有一個老化定時器。在老化定時器超時前,動態路由器端口如果收到了IGMP普遍組查詢報文(源地址非0.0.0.0)或PIM Hello報文,該定時器將被重置;否則,該端口將被從動態路由器端口列表中刪除。

·     靜態路由器端口:通過命令行手工配置的路由器端口稱為靜態路由器端口,這些端口被記錄在靜態路由器端口列表中。靜態路由器端口隻能通過命令行手工刪除,不會被老化。

說明

·     本文中提到的路由器端口都是指二層設備上朝向三層組播設備的端口,而不是指路由器上的端口。

·     如果沒有特別指明,本文中提到的路由器端口包括動態路由器端口和靜態路由器端口。

 

2. 成員端口

在運行了IGMP Snooping的二層設備上,朝向下遊組播組成員的端口稱為成員端口。如圖1-2中Switch A的Port A2和 Port A3端口,以及Switch B的Port B2端口。

根據來源不同,成員端口也可分為:

·     動態成員端口:所有收到IGMP成員關係報告報文的端口,都被維護為動態成員端口。這些端口被記錄在動態IGMP Snooping轉發表中,每個端口都有一個老化定時器。在老化定時器超時前,動態成員端口如果收到了IGMP成員關係報告報文,該定時器將被重置;否則,該端口將被從動態IGMP Snooping轉發表中刪除。

·     靜態成員端口:通過命令行手工配置的成員端口稱為靜態成員端口,這些端口被記錄在靜態IGMP Snooping轉發表中。靜態成員端口隻能通過命令行手工刪除,不會被老化。

說明

如果沒有特別指明,本文中提到的成員端口包括動態成員端口和靜態成員端口。

 

1.1.3  IGMP Snooping工作機製

運行了IGMP Snooping的二層設備對不同IGMP動作的具體處理方式如下:

說明

本節中所描述的增刪端口動作均隻針對動態端口,靜態端口隻能通過相應的配置進行增刪,具體步驟請參見“1.8.2  配置靜態成員端口”和“1.8.3  配置靜態路由器端口

 

1. 普遍組查詢

IGMP查詢器定期向本地網段內的所有主機與設備(224.0.0.1)發送IGMP普遍組查詢報文,以查詢該網段有哪些組播組的成員。

在收到IGMP普遍組查詢報文時,二層設備將其通過VLAN/VSI內除接收端口以外的其它所有端口轉發出去,並對該報文的接收端口做如下處理:

·     如果在動態路由器端口列表中已包含該動態路由器端口,則重置其老化定時器。

·     如果在動態路由器端口列表中尚未包含該動態路由器端口,則將其添加到動態路由器端口列表中,並啟動其老化定時器。

2. 報告成員關係

以下情況,主機會向IGMP查詢器發送IGMP成員關係報告報文:

·     當組播組的成員主機收到IGMP查詢報文後,會回複IGMP成員關係報告報文。

·     如果主機要加入某個組播組,它會主動向IGMP查詢器發送IGMP成員關係報告報文以聲明加入該組播組。

在收到IGMP成員關係報告報文時,二層設備將其通過VLAN/VSI內的所有路由器端口轉發出去,從該報文中解析出主機要加入的組播組地址,並對該報文的接收端口做如下處理:

·     如果不存在該組播組所對應的轉發表項,則創建轉發表項,將該端口作為動態成員端口添加到出端口列表中,並啟動其老化定時器;

·     如果已存在該組播組所對應的轉發表項,但其出端口列表中不包含該端口,則將該端口作為動態成員端口添加到出端口列表中,並啟動其老化定時器;

·     如果已存在該組播組所對應的轉發表項,且其出端口列表中已包含該動態成員端口,則重置其老化定時器。

說明

二層設備不會將IGMP成員關係報告報文通過非路由器端口轉發出去,因為根據主機上的IGMP成員關係報告抑製機製,如果非路由器端口下還有該組播組的成員主機,則這些主機在收到該報告報文後便抑製了自身的報告,從而使二層設備無法獲知這些端口下還有該組播組的成員主機。有關主機上的IGMP成員關係報告抑製機製的詳細介紹,請參見“IP組播配置指導”中的“IGMP”。

 

3. 離開組播組

運行IGMPv1的主機離開組播組時不會發送IGMP離開組報文,因此二層設備無法立即獲知主機離開的信息。但是,由於主機離開組播組後不會再發送IGMP成員關係報告報文,因此當其對應的動態成員端口的老化定時器超時後,二層設備就會將該端口從相應轉發表項的出端口列表中刪除。

運行IGMPv2或IGMPv3的主機離開組播組時,會通過發送IGMP離開組報文,以通知三層組播設備自己離開了某個組播組。當二層設備從某動態成員端口上收到IGMP離開組報文時,首先判斷要離開的組播組所對應的轉發表項是否存在,以及該組播組所對應轉發表項的出端口列表中是否包含該接收端口:

·     如果不存在該組播組對應的轉發表項,或者該組播組對應轉發表項的出端口列表中不包含該端口,二層設備不會向任何端口轉發該報文,而將其直接丟棄;

·     如果存在該組播組對應的轉發表項,且該組播組對應轉發表項的出端口列表中除該端口還有別的成員端口存在,二層設備不會向任何端口轉發該報文,而將其直接丟棄。同時,由於並不知道該接收端口下是否還有該組播組的其它成員,所以二層設備不會立刻把該端口從該組播組所對應轉發表項的出端口列表中刪除,而是向該端口發送IGMP特定組查詢報文,並根據IGMP特定組查詢報文調整該端口的老化定時器(老化時間為2×IGMP特定組查詢報文的發送間隔);

·     如果存在該組播組對應的轉發表項,且該組播組對應轉發表項的出端口列表中隻有該端口,二層設備會將該報文通過VLAN/VSI內的所有路由器端口轉發出去。同時,由於並不知道該接收端口下是否還有該組播組的其它成員,所以二層設備不會立刻把該端口從該組播組所對應轉發表項的出端口列表中刪除,而是向該端口發送IGMP特定組查詢報文,並根據IGMP特定組查詢報文調整該端口的老化定時器(老化時間為2×IGMP特定組查詢報文的發送間隔)。

當IGMP查詢器收到IGMP離開組報文後,從中解析出主機要離開的組播組的地址,並通過接收端口向該組播組發送IGMP特定組查詢報文。二層設備在收到IGMP特定組查詢報文後,將其通過VLAN/VSI內的所有路由器端口和該組播組的所有成員端口轉發出去。對於IGMP離開組報文的接收端口(假定為動態成員端口),二層設備在其老化時間內:

·     如果從該端口收到了主機響應該特定組查詢的IGMP成員關係報告報文,則表示該端口下還有該組播組的成員,於是重置其老化定時器;

·     如果沒有從該端口收到主機響應特定組查詢的IGMP成員關係報告報文,則表示該端口下已沒有該組播組的成員。當該端口的老化定時器超時後,將其從該組播組所對應轉發表項的出端口列表中刪除。

1.1.4  IGMP Snooping Proxy

為了減少上遊設備收到的IGMP報告報文和離開報文的數量,可以通過在邊緣設備上配置IGMP Snooping Proxy(IGMP Snooping代理)功能,使其能夠代理下遊主機向上遊設備發送報告報文和離開報文。配置了IGMP Snooping Proxy功能的設備稱為IGMP Snooping代理設備,在其上遊設備看來,它就相當於一台主機。但主機上的IGMP成員關係報告抑製機製在IGMP Snooping代理設備上並不會生效。有關主機上的IGMP成員關係報告抑製機製的詳細介紹,請參見“IP組播配置指導”中的“IGMP”。

圖1-3 IGMP Snooping Proxy組網圖

 

圖1-3所示,作為IGMP Snooping代理設備的Switch A,對其上遊的IGMP查詢器Device A來說相當於一台主機,代理下遊主機向Device A發送報告報文和離開報文。

IGMP Snooping代理設備對IGMP報文的處理方式如表1-1所示。

表1-1 IGMP Snooping代理設備對IGMP報文的處理方式

IGMP報文

處理方式

普遍組查詢報文

收到普遍組查詢報文後,向本VLAN/VSI內除接收端口以外的所有端口轉發;同時根據本地維護的組成員關係生成報告報文,並向所有路由器端口發送

特定組/特定源組查詢報文

收到針對某組播組的特定組/特定源組查詢報文時,向本VLAN/VSI內除接收端口以外的所有路由器端口轉發;若該組對應的轉發表項中還有成員端口,則向本VLAN/VSI內所有路由器端口回複該組的報告報文

報告報文

從某端口收到某組播組的報告報文時,若已存在該組對應的轉發表項,且其出端口列表中已包含該動態成員端口,則重置其老化定時器;若已存在該組對應的轉發表項,但其出端口列表中不包含該端口,則將該端口作為動態成員端口添加到出端口列表中,並啟動其老化定時器;若尚不存在該組對應的轉發表項,則創建轉發表項,將該端口作為動態成員端口添加到出端口列表中,並啟動其老化定時器,然後向所有路由器端口發送該組的報告報文

離開報文

從某端口收到某組播組的離開報文後,向該端口發送針對該組的特定組查詢報文。隻有當刪除某組播組對應轉發表項中的最後一個成員端口時,才會向所有路由器端口發送該組的離開報文

 

1.1.5  IGMP Snooping支持M-LAG

IGMP Snooping利用M-LAG(Multichassis link aggregation,跨設備鏈路聚合)將兩台物理設備連接起來形成M-LAG係統,該M-LAG係統作為一台虛擬IGMP Snooping設備來使用。使用該虛擬設備連接組播源或組播接收者,可避免單點故障對組播網絡造成影響,提高組播網絡可靠性。有關M-LAG的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“M-LAG”。

根據組播源或組播接收者連接M-LAG係統的方式,IGMP Snooping支持M-LAG的組網方案分為三類:

·     組播源連接M-LAG係統

·     組播接收者連接M-LAG係統

·     單掛設備連接M-LAG係統

1. 組播源連接M-LAG係統

圖1-4所示,作為M-LAG成員設備的Switch A和Switch B通過peer-link鏈路互相連接,形成M-LAG係統,該M-LAG係統通過Switch C與組播源相連。

圖1-4 組播源連接M-LAG係統

 

組播源發送的組播數據流量,通過Switch C的聚合口進行負載分擔,發送到Switch A和Switch B的M-LAG接口上。Switch A和Switch B的M-LAG接口收到組播數據報文後,會通過peer-link鏈路將接收到的報文發送給對端,從而使兩台設備都能收到完整的組播流量。

二層網絡中存在的STP(Spanning Tree Protocol,生成樹協議),會選擇性地阻塞某些端口來消除二層環路,因此使得組播流量隻能通過Switch A或Switch B中的其中一台轉發給組播接收者。當Switch A或Switch B其中一台設備發生故障時,另一台設備可以快速接替故障設備進行組播流量的轉發,從而提高了組播網絡的可靠性。

2. 組播接收者連接M-LAG係統

圖1-5所示,作為M-LAG設備的Switch A和Switch B通過peer-link鏈路互相連接,形成M-LAG係統,該M-LAG係統通過Switch C與組播接收者相連。

圖1-5 組播接收者連接M-LAG係統

 

Switch A和Switch B通過M-LAG口接收到來自Switch C的IGMP組播組信息後,分別添加M-LAG接口後通過peer-link鏈路同步給對端設備,並在對端設備上生成成員端口為M-LAG接口的IGMP Snooping組播組表項,從而使Switch A和Switch B之間的IGMP Snooping組播組信息保持同步。

二層網絡中存在的STP,會選擇性地阻塞某些端口來消除二層環路,組播源發送到M-LAG係統的組播數據流量,隻能被Switch A或Switch B的其中一台收到。如圖1-5所示,Switch A收到組播數據流量後,會通過peer-link鏈路發送給Switch B。在正常情況下,Switch A會將組播流量通過M-LAG接口轉發給Switch C,而Switch B不會進行轉發。當Switch A發生故障時,組播數據流量將從Switch B的M-LAG接口轉發給Switch C。

3. 單掛設備連接M-LAG係統

如果一台外部設備僅接入M-LAG係統的其中一台M-LAG設備,則該設備稱為單掛設備。

如圖圖1-6所示,Receiver 2為單掛組播接收者。Switch A收到Receiver 2發出的IGMP成員關係報文後,會無條件通過peer-link鏈路向對端Switch B轉發,無需通過收到IGMP查詢報文來觸發。Switch B收到IGMP成員關係報文後,會生成以peer-link接口為成員端口的IGMP Snooping表項。當Switch B收到組播數據流量後,將通過該表項轉發給Receiver 2。

圖1-6 單掛設備連接M-LAG係統

 

1.1.6  協議規範

與IGMP Snooping相關的協議規範有:

·     RFC 4541:Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches

1.2  IGMP Snooping配置限製和指導

對於從Secondary VLAN中收到的主機加入請求,相關的IGMP Snooping轉發表項都將維護在Primary VLAN中,因此IGMP Snooping功能隻需在Primary VLAN中配置即可,在Secondary VLAN中即使配置了也不會生效。有關Primary VLAN和Secondary VLAN的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“Private VLAN”。

二層聚合接口與其各成員端口上的IGMP Snooping配置互不影響,且成員端口上的IGMP Snooping配置隻有當該端口退出聚合組後才會生效,二層聚合接口上的IGMP Snooping配置也不會參與聚合計算。

對於既可在VLAN視圖下配置,又可在IGMP-Snooping視圖下對多個VLAN進行配置的功能,兩個視圖下配置的優先級相同,最新配置生效。

對於既可在VLAN視圖下配置,又可在IGMP-Snooping視圖下對所有VLAN配置的功能,VLAN視圖下的配置的優先級較高。

對於既可在VSI視圖下配置,又可在IGMP-Snooping視圖下配置的功能,IGMP-Snooping視圖下的配置對所有VSI生效,VSI視圖下配置隻對當前VSI生效,且VSI視圖下的配置優先級較高。

對於既可在接口視圖下配置,又可在IGMP-Snooping視圖下配置的功能,IGMP-Snooping視圖下的配置對指定VLAN內的所有端口生效,接口視圖下配置隻對當前接口生效,且接口視圖下的配置優先級較高。

組播組規格依賴硬件規格中ARP/ND表項容量,當下發超ARP/ND表項容量的組播組時,可能會出現Hash衝突,建議通過配置hardware-resource switch-mode命令增大ARP/ND表項容量。有關ARP/ND表項的詳細介紹,請參見“基礎配置指導”中的“設備管理。

1.3  基於VLAN的IGMP Snooping配置任務簡介

基於VLAN的IGMP Snooping配置任務如下:

(1)     開啟設備的IGMP Snooping特性

(2)     使能IGMP Snooping

請至少選擇以下一項任務進行配置:

¡     使能全局IGMP Snooping

¡     使能VLAN的IGMP Snooping

(3)     (可選)配置IGMP Snooping基本功能

¡     配置IGMP Snooping版本

¡     配置IGMP Snooping轉發表項的全局最大數量

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

¡     配置IGMP特定組查詢報文的發送間隔

(4)     (可選)配置IGMP Snooping端口功能

¡     配置動態端口老化定時器

¡     配置靜態成員端口

¡     配置靜態路由器端口

¡     配置模擬主機加入

¡     配置端口快速離開功能

¡     禁止端口成為動態路由器端口

¡     配置組播數據不向VLAN內的路由器端口轉發

¡     開啟端口識別IGMP報文內層VLAN功能

(5)     (可選)配置二層組播數據轉發模式

(6)     (可選)配置IGMP Snooping查詢器

¡     開啟IGMP Snooping查詢器

¡     開啟IGMP Snooping查詢器選舉功能

¡     配置IGMP普遍組查詢和響應

¡     配置設備在鏈路拓撲發生變化時立刻發送IGMP普遍組查詢報文

¡     配置設備在端口鏈路狀態發生變化時立刻發送IGMP普遍組查詢報文

(7)     (可選)配置IGMP Snooping Proxy

(8)     (可選)調整IGMP報文

¡     配置IGMP報文的源IP地址

¡     配置IGMP報文的802.1p優先級

(9)     (可選)配置IGMP Snooping策略

¡     配置組播組過濾器

¡     配置組播數據報文源端口過濾

¡     配置丟棄未知組播數據報文

¡     配置IGMP成員關係報告報文抑製

¡     配置端口加入的組播組最大數量

¡     配置組播組替換功能

¡     配置IGMP Snooping主機跟蹤功能

¡     配置組播用戶控製策略

(10)     (可選)配置設備發送的IGMP協議報文的DSCP優先級

(11)     (可選)配置IGMP Snooping支持M-LAG

(12)     (可選)開啟IGMP Snooping告警功能

(13)     (可選)配置IGMP Snooping日誌功能

¡     開啟IGMP Snooping日誌功能

¡     開啟IGMP Snooping日誌限速功能

1.4  基於VSI的IGMP Snooping配置任務簡介

基於VSI的IGMP Snooping配置任務如下:

(1)     開啟設備的IGMP Snooping特性

(2)     使能IGMP Snooping

請至少選擇以下一項任務進行配置:

¡     使能全局IGMP Snooping

¡     使能VSI的IGMP Snooping

(3)     (可選)配置IGMP Snooping基本功能

¡     配置IGMP Snooping版本

¡     配置IGMP Snooping轉發表項的全局最大數量

¡     配置VXLAN組網中的靜態組播MAC地址表項

¡     配置IGMP特定組查詢報文的發送間隔

(4)     (可選)配置動態端口老化定時器

(5)     (可選)配置二層組播數據轉發模式

(6)     (可選)配置IGMP Snooping查詢器

¡     開啟IGMP Snooping查詢器

¡     開啟IGMP Snooping查詢器選舉功能

¡     配置IGMP普遍組查詢和響應

¡     配置設備在鏈路拓撲發生變化時立刻發送IGMP普遍組查詢報文

(7)     (可選)配置IGMP Snooping Proxy

(8)     (可選)調整IGMP報文

¡     配置IGMP報文的源IP地址

¡     配置IGMP報文的802.1p優先級

(9)     (可選)配置IGMP Snooping策略

¡     配置丟棄未知組播數據報文

¡     配置IGMP成員關係報告報文抑製

¡     配置組播用戶控製策略

(10)     (可選)配置設備發送的IGMP協議報文的DSCP優先級

(11)     (可選)配置IGMP Snooping支持M-LAG

(12)     (可選)開啟IGMP Snooping告警功能

(13)     (可選)配置IGMP Snooping日誌功能

¡     開啟IGMP Snooping日誌功能

¡     開啟IGMP Snooping日誌限速功能

1.5  開啟設備的IGMP Snooping特性

1. 功能簡介

隻有在開啟了設備的IGMP Snooping特性後,才能進行其它的IGMP Snooping相關配置。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟設備的IGMP Snooping特性,並進入IGMP-Snooping視圖。

igmp-snooping

缺省情況下,設備的IGMP Snooping特性處於關閉狀態。

1.6  使能IGMP Snooping

1.6.1  使能全局IGMP Snooping

1. 功能簡介

使能全局IGMP Snooping後,設備上所有VLAN/VSI的IGMP Snooping都將使能。如果某個VLAN/VSI內不需要使用IGMP Snooping,可以在該VLAN/VSI內關閉IGMP snooping。

2. 配置限製和指導

使能全局IGMP Snooping後,若還需在某指定VLAN/VSI內配置其他IGMP Snooping功能,則必須在這些VLAN/VSI下使能IGMP Snooping,否則配置的其他IGMP Snooping功能不生效。

使能或關閉VLAN/VSI內的IGMP Snooping的優先級高於使能全局IGMP Snooping。例如:使能全局IGMP Snooping後,再在某VLAN視圖下通過igmp-snooping disable命令關閉當前VLAN的IGMP Snooping,則該VLAN內的IGMP Snooping處於關閉狀態。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     使能全局IGMP Snooping。

global-enable

缺省情況下,全局IGMP Snooping處於關閉狀態。

(4)     (可選)關閉某VLAN/VSI的IGMP Snooping。

a.     退回係統視圖。

quit

b.     分別執行以下命令進入VLAN視圖或VSI視圖。

vlan vlan-id

vsi vsi-name

c.     關閉該VLAN/VSI的IGMP Snooping。

igmp-snooping disable

缺省情況下,VLAN/VSI內IGMP Snooping的狀態與全局IGMP Snooping的狀態保持一致。

1.6.2  使能VLAN的IGMP Snooping

1. 配置限製和指導

用戶既可在IGMP-Snooping視圖下對單個或多個VLAN進行配置,也可在VLAN視圖下隻對當前VLAN進行配置,二者的配置優先級相同。

在VLAN內使能了IGMP Snooping之後,IGMP Snooping隻在屬於該VLAN的端口上生效。

2. 使能單個或多個VLAN的IGMP Snooping

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     使能單個或多個VLAN的IGMP Snooping。

enable vlan vlan-list

缺省情況下,VLAN內IGMP Snooping的狀態與全局IGMP Snooping的狀態保持一致。

3. 使能單個VLAN的IGMP Snooping

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     使能該VLAN的IGMP Snooping。

igmp-snooping enable

缺省情況下,VLAN內IGMP Snooping的狀態與全局IGMP Snooping的狀態保持一致。

1.6.3  使能VSI的IGMP Snooping

1. 配置限製和指導

對於基於VSI的IGMP Snooping,目前僅支持在VSI視圖下對當前VSI使能IGMP Snooping。

在VSI內使能了IGMP Snooping之後,IGMP Snooping隻在屬於該VSI的端口上生效。

EVPN支持M-LAG組網中,開啟VSI的IGMP Snooping功能時必須同時開啟VSI的IGMP Snooping Proxy功能。EVPN支持M-LAG的詳細介紹,請參見“EVPN配置指導”中的“EVPN VXLAN”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     使能當前VSI的IGMP Snooping。

igmp-snooping enable

缺省情況下,VSI內IGMP Snooping的狀態與全局IGMP Snooping的狀態保持一致。

1.7  配置IGMP Snooping基本功能

1.7.1  配置IGMP Snooping版本

1. 功能簡介

配置IGMP Snooping的版本,實際上就是配置IGMP Snooping可以處理的IGMP報文的版本:

·     當IGMP Snooping的版本為2時,IGMP Snooping能夠對IGMPv1和IGMPv2的報文以及IGMPv3的查詢報文進行處理,對IGMPv3的成員關係報文則不進行處理,而是在VLAN/VSI內將其廣播;

·     當IGMP Snooping的版本為3時,IGMP Snooping能夠對IGMPv1、IGMPv2和IGMPv3的報文進行處理。

2. 配置限製和指導

當IGMP Snooping的版本由版本3切換到版本2時,係統將清除所有通過動態加入的IGMP Snooping轉發表項;對於在版本3下通過手工配置而靜態加入的IGMP Snooping轉發表項,則分為以下兩種情況進行不同的處理:

·     如果配置的僅僅是靜態加入組播組,而沒有指定組播源,則這些轉發表項將不會被清除;

·     如果配置的是指定了組播源的靜態加入組播源組,則這些轉發表項將會被清除,並且當再次切換回版本3時,這些轉發表項將被重新恢複。有關靜態加入的詳細配置,請參見“1.8.2  配置靜態成員端口

3. 配置多個VLAN內的IGMP Snooping版本

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     配置多個VLAN內的IGMP Snooping的版本。

version version-number vlan vlan-list

缺省情況下,VLAN內IGMP Snooping的版本為2。

4. 配置單個VLAN內的IGMP Snooping版本

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     配置單個VLAN內的IGMP Snooping版本。

igmp-snooping version version-number

缺省情況下,VLAN內IGMP Snooping的版本為2。

5. 在VSI內配置IGMP Snooping版本

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     在VSI內配置IGMP Snooping的版本。

igmp-snooping version version-number

缺省情況下, VSI內IGMP Snooping的版本為2。

1.7.2  配置IGMP Snooping轉發表項的全局最大數量

1. 功能簡介

用戶可以調整IGMP Snooping轉發表項(包括動態表項和靜態表項)的全局最大數量,當設備上維護的表項數量達到或超過最大數量後,係統不再創建新的表項,也不會主動刪除多餘表項,直至有表項被老化或被手工刪除,所以當設備上維護的表項數量達到或超過最大數量後,為避免此後無法再創建新的表項,建議用戶手工刪除多餘表項。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     配置IGMP Snooping轉發表項的全局最大數量。

entry-limit limit

缺省情況下,IGMP Snooping轉發表項的全局最大數量為4294967295。

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

1. 功能簡介

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

2. 配置限製和指導

可手工配置的組播MAC地址表項必須是尚未使用的組播MAC地址(即最高字節的最低比特位為1的MAC地址)

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

(1)     進入係統視圖。

system-view

(2)     配置靜態組播MAC地址表項。

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

缺省情況下,不存在靜態組播MAC地址表項。

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

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     配置靜態組播MAC地址表項。

mac-address multicast mac-address vlan vlan-id

缺省情況下,不存在靜態組播MAC地址表項。

1.7.4  配置VXLAN組網中的靜態組播MAC地址表項

1. 功能簡介

使用本功能,可以為VXLAN網絡配置本地和遠端靜態組播MAC地址表項。有關VXLAN的詳細介紹,請參見“VXLAN配置指導”中的“VXLAN”。

2. 配置限製和指導

mac-address multicast vsi命令與igmp-snooping enable命令互斥,不能同時配置。

建議不要將ENDP或EVPN動態創建的隧道接口指定為遠端MAC地址對應的隧道接口。否則,當EVPN重新創建隧道時,隧道接口的編號可能發生變化(如配置恢複時),從而導致遠端組播MAC地址表項的配置無法恢複。有關ENDP的詳細介紹,請參見“VXLAN配置指導”中的“ENDP”;有關EVPN詳細的介紹,請參見“EVPN配置指導”中的“EVPN”。

對於EVPN網絡,相同的組播MAC地址目前不支持在多個Leaf或VTEP同時配置;對於EVPN多歸屬應用和EVPN支持M-LAG應用,多歸屬成員設備/M-LAG設備不支持將組播MAC地址同步到其他成員設備/M-LAG設備。

mac-address multicast vsi命令指定的interface interface-type interface-number service-instance instance-id參數不能是peer-link接口。如需將peer-link接口指定為靜態組播MAC地址表項的出接口,則需要指定peer-link參數。指定了peer-link參數後,peer-link接口上的以太網服務實例將會作為靜態組播MAC地址表項的一個出接口。需要注意的是,此時設備上必須要配置l2vpn m-lag peer-link ac-match-rule vxlan-mapping命令,否則peer-link參數不生效。有關l2vpn m-lag peer-link ac-match-rule vxlan-mapping命令的詳細介紹,請參見“EVPN命令參考”中的“EVPN”。

如果設備上未配置peer-link接口,則不允許在配置mac-address multicast vsi命令時指定peer-link參數。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置本地靜態組播MAC地址表項。

mac-address multicast mac-address interface { peer-link | { interface-type interface-number service-instance instance-id }&<1-4> } * vsi vsi-name

缺省情況下,不存在本地靜態組播MAC地址表項。

本命令中指定的以太網服務實例必須與指定的VSI關聯,否則配置將失敗。

(3)     配置遠端靜態組播MAC地址表項。

mac-address multicast mac-address { interface { tunnel tunnel-number1 [ to tunnel tunnel-number2 ] }&<1-4> } vsi vsi-name

缺省情況下,不存在本地靜態組播MAC地址表項。

本命令中指定的隧道接口必須與所屬VSI對應的VXLAN關聯,否則配置將失敗。

1.7.5  配置IGMP特定組查詢報文的發送間隔

1. 功能簡介

合理配置IGMP特定組查詢的最大響應時間,既可以使主機對IGMP查詢報文做出快速響應,又可以減少由於定時器同時超時,造成大量主機同時發送報告報文而引起的網絡擁塞。

二層設備所發送的IGMP特定組查詢報文,其報文的最大響應時間字段由所配置的IGMP特定組查詢報文的發送間隔來填充,主機在收到IGMP特定組查詢報文後,會為其所加入的該組播組啟動一個定時器,定時器的值在0到最大響應時間(該時間值由主機從所收到的IGMP特定組查詢報文的最大響應時間字段獲得)中隨機選定,當定時器的值減為0時,主機就會向該定時器對應的組播組發送IGMP成員關係報告報文。

2. 全局配置IGMP特定組查詢報文的發送間隔

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局配置IGMP特定組查詢報文的發送間隔。

last-member-query-interval interval

缺省情況下,IGMP特定組查詢報文的發送間隔為1秒。

3. 在VLAN內配置IGMP特定組查詢報文的發送間隔

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     在VLAN內配置IGMP特定組查詢報文的發送間隔。

igmp-snooping last-member-query-interval interval

缺省情況下,IGMP特定組查詢報文的發送間隔為1秒。

4. 在VSI內配置IGMP特定組查詢報文的發送間隔

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     在VSI內配置IGMP特定組查詢報文的發送間隔。

igmp-snooping last-member-query-interval interval

缺省情況下,IGMP特定組查詢報文的發送間隔為1秒。

1.8  配置IGMP Snooping端口功能

1.8.1  配置動態端口老化定時器

1. 功能簡介

對於動態路由器端口,如果在其老化時間內沒有收到IGMP普遍組查詢報文或者PIM Hello報文,二層設備將把該端口從動態路由器端口列表中刪除。

對於動態成員端口,如果在其老化時間內沒有收到該組播組的IGMP成員關係報告報文,二層設備將把該端口從該組播組所對應轉發表項的出端口列表中刪除。

2. 配置限製和指導

請根據網絡環境合理設置動態端口的老化時間,比如網絡中組播組成員變動比較頻繁,可以把動態成員端口老化時間設置小一些,避免一些無效表項老化時間過長。

如果動態路由器端口收到的是PIMv2 Hello報文,那麼該端口的老化時間將由PIMv2 Hello報文所攜帶的參數決定,而不受本節配置的影響。

如果二層設備向動態成員端口主動發送IGMP特定組查詢報文,則該端口的老化時間將根據該IGMP特定組查詢報文進行調整,調整的老化時間為2×IGMP特定組查詢報文的發送間隔。二層設備IGMP特定組查詢報文發送間隔的配置,請參見“1.7.5  配置IGMP特定組查詢報文的發送間隔”。

3. 全局配置動態端口老化定時器

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局配置動態路由器端口老化時間。

router-aging-time seconds

缺省情況下,動態路由器端口的老化時間為260秒。

(4)     全局配置動態成員端口老化時間。

host-aging-time seconds

缺省情況下,動態成員端口的老化時間為260秒。

4. 在VLAN內配置動態端口老化定時器

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     在VLAN內配置動態路由器端口老化時間。

igmp-snooping router-aging-time seconds

缺省情況下,動態路由器端口的老化時間為260秒。

(4)     在VLAN內配置動態成員端口老化時間。

igmp-snooping host-aging-time seconds

缺省情況下,動態成員端口的老化時間為260秒。

5. 在VSI內配置動態端口老化定時器

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     在VSI內配置動態路由器端口老化時間。

igmp-snooping router-aging-time seconds

缺省情況下,動態路由器端口的老化時間為260秒。

(4)     在VSI內配置動態成員端口老化時間。

igmp-snooping host-aging-time seconds

缺省情況下,動態成員端口的老化時間為260秒。

1.8.2  配置靜態成員端口

1. 功能簡介

如果某端口所連接的主機需要固定接收發往某組播組或組播源組的組播數據,可以配置該端口靜態加入該組播組或組播源組,成為靜態成員端口。靜態成員端口不會對IGMP查詢器發出的查詢報文進行響應;當配置靜態成員端口或取消靜態成員端口的配置時,端口也不會主動發送IGMP成員關係報告報文或IGMP離開組報文。

2. 配置限製和指導

EVPN支持M-LAG組網中,在M-LAG成員設備上執行undo igmp-snooping static-groupreset igmp-snooping group命令僅對當前成員設備上的配置和表項生效,遠端M-LAG成員設備上的配置和表項不會同步刪除。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     配置靜態成員端口。

igmp-snooping static-group group-address [ source-ip source-address ] { vlan vlan-id | service-instance instance-id }

缺省情況下,端口不是靜態成員端口。

1.8.3  配置靜態路由器端口

1. 功能簡介

可以通過將二層設備上的端口配置為靜態路由器端口,從而使二層設備上收到的所有組播數據可以通過該端口被轉發出去。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     配置靜態路由器端口。

igmp-snooping static-router-port vlan vlan-id

缺省情況下,端口不是靜態路由器端口。

1.8.4  配置模擬主機加入

1. 功能簡介

在二層設備的端口上配置了模擬主機加入後,該模擬主機就可以模仿真實的組播組成員主機,對IGMP查詢器發出的查詢報文進行響應,包括:

·     啟動模擬主機時,該端口會主動發送一個IGMP成員關係報告報文。

·     在模擬主機的運行過程中,當收到IGMP查詢報文時,該端口會響應一個IGMP成員關係報告報文。

·     停止模擬主機時,該端口會發送一個IGMP離開組報文。

在二層設備的端口上配置了模擬主機加入後,模擬主機所采用的IGMP版本與IGMP Snooping的版本一致,並且該端口將作為動態成員端口參與動態成員端口的老化過程。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     配置模擬主機加入。

igmp-snooping host-join group-address [ source-ip source-address ] vlan vlan-id

缺省情況下,未配置模擬主機加入組。

1.8.5  配置端口快速離開功能

1. 功能簡介

端口快速離開是指當端口收到主機發來的離開指定組播組的IGMP離開組報文時,直接將該端口從相應轉發表項的出端口列表中刪除。此後,二層設備不會向該端口發送或轉發針對該組播組的IGMP特定組查詢報文。

2. 配置限製和指導

對於一個VLAN,隻有當一個端口下隻有一個接收者時,才建議配置本功能;否則,當一個端口下有多個接收者時,其中一個接收者的離開會觸發該端口的快速離開,從而導致屬於同一組播組的其它接收者無法收到組播數據。

同時開啟了二層和三層組播功能的網絡中,當端口上的組播組成員需要快速離開時,隻需通過本功能開啟二層組播的端口快速離開功能,不建議同時開啟三層組播的組播組成員快速離開功能(通過igmp fast-leave命令),否則可能會導致同VLAN內的其他端口上組播業務中斷。有關igmp fast-leave命令的詳細介紹,請參見“IP組播命令參考”中的“IGMP”。

3. 全局配置端口快速離開功能

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局開啟端口快速離開功能。

fast-leave [ vlan vlan-list ]

缺省情況下,端口快速離開功能處於關閉狀態。

4. 在端口上配置端口快速離開功能

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     在端口上開啟端口快速離開功能。

igmp-snooping fast-leave [ vlan vlan-list ]

缺省情況下,端口快速離開功能處於關閉狀態。

1.8.6  禁止端口成為動態路由器端口

1. 功能簡介

在組播用戶接入網絡中,用戶主機在某些情況下(比如測試)也會發出IGMP普遍組查詢報文或PIM Hello報文:

·     如果二層設備收到了某用戶主機發來的IGMP普遍組查詢報文或PIM Hello報文,那麼接收報文的端口就將成為動態路由器端口,從而使VLAN內的所有組播報文都會向該端口轉發,導致該主機收到大量無用的組播報文。

·     同時,用戶主機發送IGMP普遍組查詢報文或PIM Hello報文,也會影響該接入網絡中三層設備上的組播路由協議狀態(如影響IGMP查詢器或DR的選舉),嚴重時可能導致網絡中斷。

當禁止一個端口成為動態路由器端口後,即使該端口收到了IGMP普遍組查詢報文或PIM Hello報文,該端口也不會成為動態路由器端口,從而能夠有效解決上述問題,提高網絡的安全性和對組播用戶的控製能力。

2. 配置限製和指導

禁止端口成為動態路由器端口的配置與靜態路由器端口的配置互不影響。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     禁止端口成為動態路由器端口。

igmp-snooping router-port-deny [ vlan vlan-list ]

缺省情況下,端口可以成為動態路由器端口。

1.8.7  配置組播數據不向VLAN內的路由器端口轉發

1. 功能簡介

缺省情況下,二層組播設備從上遊收到組播數據後,會向VLAN內的所有路由器端口進行轉發。在某些情況下,比如二層組播設備上所有的接口都被配置為靜態路由器端口,組播數據會向設備上所有的路由器端口轉發,造成帶寬的浪費。此時,如果不需要組播數據向某些VLAN中的路由器端口轉發,可以通過在這些VLAN下配置本功能來實現。

2. 配置準備

在配置本功能前,必須先在VLAN內開啟IGMP Snooping功能。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     配置組播數據不向VLAN內的路由器端口轉發。

igmp-snooping router-port-discard

缺省情況下,組播數據向VLAN內的路由器端口轉發。

1.8.8  開啟端口識別IGMP報文內層VLAN功能

1. 功能簡介

通常情況下,設備根據端口收到的IGMP報文最外層VLAN ID來創建和維護轉發表項。配置本功能後,設備根據端口收到的雙VLAN tag IGMP報文按其內層VLAN ID來創建和維護轉發表項。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     開啟端口對接收的雙VLAN tag的IGMP報文按內層VLAN ID來創建和維護轉發表項。

igmp-snooping cvid-forward

缺省情況下,端口對接收的IGMP報文按外層VLAN ID來創建和維護轉發表項。

1.9  配置二層組播數據轉發模式

1. 功能簡介

通過配置二層組播數據轉發模式,設備可以選擇根據組播轉發表項中的IP地址或者組播MAC地址來轉發組播數據。

根據IP地址進行轉發即根據組播數據的組播源IP地址和組播組IP地址進行二層組播數據的轉發,可以通過display l2-multicast ip forwarding命令來查看二層組播的IP轉發表信息。

可以通過display l2-multicast mac forwarding命令來查看二層組播的MAC轉發表信息。

2. 配置限製和指導

由於IP地址映射到組播MAC地址時,可能出現多個IP地址映射到同一個組播MAC地址上,容易造成未加入組播組的用戶也收到組播數據。因此建議在具備三層組播功能的設備上選擇IP模式來進行二層組播數據的轉發。

當組播網絡中有運行IGMPv3的設備時,建議配置為按照IP地址來轉發二層組播數據。

在VSI內配置二層組播數據轉發模式為IP轉發模式時,需先完成如下配置:

·     創建VSI虛接口,並在VSI視圖通過gateway vsi-interface命令將VSI虛接口指定為該VSI的網關接口。

·     在該VSI內創建VXLAN。

同一個設備上所有VSI必須配置相同的二層組播數據轉發模式。

3. 在VLAN內配置二層組播數據轉發模式

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     配置二層組播數據轉發模式。

igmp-snooping forwarding-mode { ip | mac }

缺省情況下,設備根據二層組播數據報文所攜帶的IP地址來對其進行轉發。

4. 在VSI內配置二層組播數據轉發模式

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     配置二層組播數據轉發模式。

igmp-snooping forwarding-mode { ip | mac }

缺省情況下,設備根據二層組播數據報文所攜帶的MAC 地址來對其進行轉發。

1.10  配置IGMP Snooping查詢器

1.10.1  開啟IGMP Snooping查詢器

1. 功能簡介

在運行了IGMP的組播網絡中,會有一台三層組播設備充當IGMP查詢器,負責發送IGMP查詢報文,使三層組播設備能夠在網絡層建立並維護組播轉發表項,從而在網絡層正常轉發組播數據。

但是,在一個沒有三層組播設備的網絡中,由於二層設備並不支持IGMP,因此無法實現IGMP查詢器的相關功能。為了解決這個問題,可以在二層設備上開啟IGMP Snooping查詢器,使二層設備能夠在數據鏈路層建立並維護組播轉發表項,從而在數據鏈路層正常轉發組播數據。

2. 配置限製和指導

請避免在運行了IGMP的網絡中配置IGMP Snooping查詢器,因為盡管IGMP Snooping查詢器並不參與IGMP查詢器的選舉,但在運行了IGMP的網絡中,配置IGMP Snooping查詢器不但沒有實際的意義,反而可能會由於其發送的IGMP普遍組查詢報文的源IP地址較小而影響IGMP查詢器的選舉。有關IGMP查詢器的詳細介紹,請參見“IP組播配置指導”中的“IGMP”。

在VSI/VXLAN組網中,由於VSI內IGMP Snooping查詢器發送查詢報文不攜帶VLAN Tag,所以不建議在攜帶VLAN Tag的Ethernet接入模式下配置IGMP Snooping查詢器,有關Ethernet接入模式的詳細介紹,請參見“VXLAN配置指導”中的“接入模式”。

3. 在VLAN內開啟IGMP Snooping查詢器

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     開啟IGMP Snooping查詢器。

igmp-snooping querier

缺省情況下,IGMP Snooping查詢器處於關閉狀態。

4. 在VSI內開啟IGMP Snooping查詢器

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     開啟IGMP Snooping查詢器。

igmp-snooping querier

缺省情況下,IGMP Snooping查詢器處於關閉狀態。

1.10.2  開啟IGMP Snooping查詢器選舉功能

1. 功能簡介

為了避免某VLAN/VSI因單一IGMP Snooping查詢器發生故障引起組播業務中斷,建議在VLAN/VSI內配置多個IGMP Snooping查詢器,各設備上開啟IGMP Snooping查詢器選舉功能。當選舉出的IGMP Snooping查詢器發生故障無法正常工作後,VLAN/VSI內各設備會重新選舉出新的IGMP Snooping查詢器以保證組播業務正常轉發。IGMP snooping查詢器選舉機製和IGMP查詢器選舉機製一樣。有關IGMP查詢器的選舉機製,請參見“IP組播配置指導”中的“IGMP”。

2. 配置準備

在VLAN/VSI內開啟IGMP Snooping查詢器選舉功能之前,需要先開啟IGMP Snooping查詢器。有關開啟IGMP Snooping查詢器的詳細介紹,請參見“1.10.1  開啟IGMP Snooping查詢器

由於IGMP Snooping查詢器收到源IP地址為0.0.0.0的查詢報文和源IP地址與本機查詢器IP地址相同的查詢報文不進行選舉,因此,用戶需要通過igmp-snooping general-query source-ip命令將IGMP查詢報文的源IP地址配置為一個非全零以及未被其他設備和主機使用的IP地址以避免上述問題。

通過igmp-snooping version命令保證參與IGMP Snooping查詢器選舉的各設備IGMP Snooping版本相同。

3. 在VLAN內開啟IGMP Snooping查詢器選舉功能

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     開啟IGMP Snooping查詢器選舉功能。

igmp-snooping querier-election

缺省情況下,VLAN內IGMP Snooping查詢器選舉功能處於關閉狀態。

4. 在VSI內開啟IGMP Snooping查詢器選舉功能

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     開啟IGMP Snooping查詢器選舉功能。

igmp-snooping querier-election

缺省情況下,VSI內IGMP Snooping查詢器選舉功能處於關閉狀態。

1.10.3  配置IGMP普遍組查詢和響應

1. 功能簡介

可以根據網絡的實際情況來修改IGMP普遍組查詢報文的發送間隔。

合理配置IGMP普遍組查詢的最大響應時間,既可以使主機對IGMP查詢報文做出快速響應,又可以減少由於定時器同時超時,造成大量主機同時發送報告報文而引起的網絡擁塞。

對於IGMP普遍組查詢報文,其報文最大響應時間字段由所配置的IGMP普遍組查詢的最大響應時間來填充,在主機收到IGMP普遍組查詢報文後,會為其所加入的每個組播組都啟動一個定時器,定時器的值在0到最大響應時間(該時間值由主機從所收到的IGMP普遍組查詢報文的最大響應時間字段獲得)中隨機選定,當定時器的值減為0時,主機就會向該定時器對應的組播組發送IGMP成員關係報告報文。

2. 配置限製和指導

為避免誤刪組播組成員,請確保IGMP普遍組查詢報文的發送間隔大於IGMP普遍組查詢的最大響應時間,否則配置雖能生效但係統會給出提示。

3. 全局配置IGMP普遍組查詢和響應

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局配置IGMP普遍組查詢的最大響應時間。

max-response-time seconds

缺省情況下,IGMP普遍組查詢的最大響應時間為10秒。

4. 在VLAN內配置IGMP普遍組查詢和響應

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     在VLAN內配置IGMP普遍組查詢報文的發送間隔。

igmp-snooping query-interval interval

缺省情況下,IGMP普遍組查詢報文的發送間隔為125秒。

(4)     在VLAN內配置IGMP普遍組查詢的最大響應時間。

igmp-snooping max-response-time seconds

缺省情況下,IGMP普遍組查詢的最大響應時間為10秒。

5. 在VSI內配置IGMP普遍組查詢和響應

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     在VSI內配置IGMP普遍組查詢報文的發送間隔。

igmp-snooping query-interval interval

缺省情況下,IGMP普遍組查詢報文的發送間隔為125秒。

(4)     在VSI內配置IGMP普遍組查詢的最大響應時間。

igmp-snooping max-response-time seconds

缺省情況下,IGMP普遍組查詢的最大響應時間為10秒。

1.10.4  配置設備在鏈路拓撲發生變化時立刻發送IGMP普遍組查詢報文

1. 功能簡介

當鏈路拓撲發生變化時,STP等協議會重新計算路徑,將流量切換到新的路徑。但是,在這種情況下,設備通常不會立即發送IGMP普遍組查詢報文,導致組播數據不能及時切換到變更後的路徑上。通過執行本配置,可以使得設備在鏈路變化時主動發送IGMP普遍組查詢報文,更新網絡中成員端口信息,將組播數據流迅速切換到新的轉發路徑上。

執行本配置後,設備會向涉及鏈路拓撲變化的VLAN/VSI中的每一個端口立刻發送一次IGMP普遍組查詢報文。

2. 配置限製和指導

請在處於易發生鏈路拓撲變化的查詢器上配置此功能。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     配置設備在鏈路拓撲發生變化時立刻發送IGMP普遍組查詢報文。

send-query enable

缺省情況下,設備不會因為鏈路拓撲發生變化而立刻發送IGMP普遍組查詢報文。

1.10.5  配置設備在端口鏈路狀態發生變化時立刻發送IGMP普遍組查詢報文

1. 功能簡介

圖1-7所示,為了提高可靠性,組播接收者側的設備通過以太網冗餘接口接入二層組播設備。以太網冗餘接口中包含兩個成員接口Interface A和Interface B。假設Interface A處於激活狀態,那麼組播數據將通過Interface A所在鏈路,經過Device A轉到給下遊的接收者。當Interface A的鏈路發生故障時,由於Device C不會立即發送IGMP普遍組查詢報文,無法及時將Interface B學習到組播轉發表項的成員端口中,導致組播數據無法不能及時切換到Interface B所在的鏈路上進行傳輸。有關以太網冗餘接口的詳細說明,請參見“可靠性配置指導”中的“冗餘備份”。

執行本配置後,當設備感知到VLAN內的端口鏈路狀態發生變化時,會立刻發送IGMP普遍組查詢報文,更新網絡中成員端口信息,將組播數據流迅速切換到新的轉發鏈路上。

圖1-7 端口鏈路狀態發生變化時立刻發送IGMP普遍組查詢報文示意圖

 

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     配置設備在端口鏈路狀態發生變化時立刻發送IGMP普遍組查詢報文。

igmp-snooping triggered-query enable { port-down | port-up } *

缺省情況下,設備不會因為端口鏈路狀態發生變化而立刻發送IGMP普遍組查詢報文。

1.11  配置IGMP Snooping Proxy

1. 功能簡介

通過在邊緣設備配置IGMP Snooping Proxy功能,以減少上遊設備收到報告報文和離開報文的數量。配置了IGMP Snooping Proxy功能的設備稱為IGMP Snooping代理設備,在其上遊設備看來,它相當於一台主機,配合開啟IGMP Snooping查詢器功能,對下遊來說就相當於路由器。為了避免過多的報文數量對網絡的影響,建議在網絡邊緣設備上開啟IGMP Snooping Proxy功能。

2. 配置限製和指導

在VLAN/VSI內開啟IGMP Snooping Proxy功能,需要在全局開啟IGMP Snooping以及在VLAN/VSI內使能IGMP Snooping。注意在組播VLAN 的子VLAN下,IGMP Snooping Proxy功能不會生效。

本功能需要和IGMP Snooping查詢器功能同時使用。有關開啟IGMP Snooping查詢器的詳細介紹,請參見“1.10.1  開啟IGMP Snooping查詢器”。

3. 在VLAN內配置IGMP Snooping Proxy

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     在VLAN內開啟IGMP Snooping Proxy功能。

igmp-snooping proxy enable

缺省情況下,VLAN內的IGMP Snooping Proxy功能處於關閉狀態。

4. 在VSI內配置IGMP Snooping Proxy

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     在VSI內開啟IGMP Snooping Proxy功能。

igmp-snooping proxy enable

缺省情況下,VSI內的IGMP Snooping Proxy功能處於關閉狀態。

1.12  調整IGMP報文

1.12.1  配置IGMP報文的源IP地址

1. 功能簡介

由於IGMP Snooping查詢器有可能發出源IP地址為0.0.0.0的查詢報文,而收到此類查詢報文的端口將不會被維護為動態路由器端口,從而影響動態IGMP Snooping轉發表項的建立,最終導致組播數據無法正常轉發。因此,用戶可在IGMP Snooping查詢器上通過本配置將IGMP查詢報文的源IP地址配置為一個有效的IP地址以避免上述問題。IGMP查詢報文源IP地址的改變可能會影響網段內IGMP查詢器的選舉。

用戶也可以改變模擬主機或IGMP Snooping代理發送的IGMP成員關係報告報文或IGMP離開組報文的源IP地址。

2. 在VLAN內配置IGMP報文的源IP地址

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     配置IGMP普遍組查詢報文的源IP地址。

igmp-snooping general-query source-ip ip-address

缺省情況下,IGMP普遍組查詢報文的源IP地址為當前VLAN接口的IP地址;若當前VLAN接口沒有IP地址,則采用0.0.0.0。

(4)     配置IGMP特定組查詢報文的源IP地址。

igmp-snooping special-query source-ip ip-address

缺省情況下,以收到過IGMP普遍組查詢報文的源IP地址作為IGMP特定組查詢報文的源IP地址;否則,采用VLAN綁定的VLAN接口的IP地址;若該VLAN接口沒有IP地址,則采用0.0.0.0。

(5)     配置IGMP成員關係報告報文的源IP地址。

igmp-snooping report source-ip ip-address

缺省情況下,IGMP成員關係報告報文的源IP地址為當前VLAN接口的IP地址;若當前VLAN接口沒有IP地址,則采用0.0.0.0。

(6)     配置IGMP離開組報文的源IP地址。

igmp-snooping leave source-ip ip-address

缺省情況下,IGMP離開組報文的源IP地址為當前VLAN接口的IP地址;若當前VLAN接口沒有IP地址,則采用0.0.0.0。

3. 在VSI內配置IGMP報文的源IP地址

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     配置IGMP普遍組查詢報文的源IP地址。

igmp-snooping general-query source-ip ip-address

缺省情況下,IGMP普遍組查詢報文的源IP地址為VSI綁定的VSI接口的IP地址;若綁定的VSI接口沒有IP地址,則采用0.0.0.0。

(4)     配置IGMP特定組查詢報文的源IP地址。

igmp-snooping special-query source-ip ip-address

缺省情況下,以收到過IGMP普遍組查詢報文的源IP地址作為IGMP特定組查詢報文的源IP地址;否則,采用VSI綁定的VSI接口的IP地址;若該VSI接口沒有IP地址,則采用0.0.0.0。

(5)     配置IGMP成員關係報告報文的源IP地址。

igmp-snooping report source-ip ip-address

缺省情況下,IGMP成員關係報告報文的源IP地址為VSI綁定的VSI接口的IP地址;若綁定的VSI接口沒有IP地址,則采用0.0.0.0。

(6)     配置IGMP離開組報文的源IP地址。

igmp-snooping leave source-ip ip-address

缺省情況下,IGMP離開組報文的源IP地址為VSI綁定的VSI接口的IP地址;若綁定的VSI接口沒有IP地址,則采用0.0.0.0。

1.12.2  配置IGMP報文的802.1p優先級

1. 功能簡介

當二層設備的出端口發生擁塞時,二層設備通過識別報文的802.1p優先級,優先發送優先級較高的報文。用戶可以通過本配置改變IGMP報文(包括本設備生成的以及途經本設備的)的802.1p優先級。

2. 配置限製和指導

對於基於VSI的配置,用戶隻能在IGMP-Snooping視圖下對所有VSI進行全局配置。

3. 全局配置IGMP報文的802.1p優先級

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局配置IGMP報文的802.1p優先級。

dot1p-priority priority

缺省情況下,未配置IGMP報文的802.1p優先級。

4. 在VLAN內配置IGMP報文的802.1p優先級

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     在VLAN內配置IGMP報文的802.1p優先級。

igmp-snooping dot1p-priority priority

缺省情況下,未配置IGMP報文的802.1p優先級。

1.13  配置IGMP Snooping策略

1.13.1  配置組播組過濾器

1. 功能簡介

在使能了IGMP Snooping的二層設備上,通過配置組播組過濾器,可以限製用戶對組播節目的點播。本配置隻對動態組播組有效,對靜態組播組無效。

在實際應用中,配置本功能後,當用戶點播某個組播節目時,主機會發起一個IGMP成員關係報告報文,該報文將在二層設備上接受組播組過濾器的檢查。隻有通過了檢查,二層設備才會將該主機所屬的端口加入到出端口列表中,用戶才能收到所點播節目的組播流量。

2. 全局配置組播組過濾器

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局配置組播組過濾器。

group-policy ipv4-acl-number [ vlan vlan-list ]

缺省情況下,未配置組播組過濾器,即主機可以加入任意合法的組播組。

3. 在端口上配置組播組過濾器

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     在端口上配置組播組過濾器。

igmp-snooping group-policy ipv4-acl-number [ vlan vlan-list ]

缺省情況下,未配置組播組過濾器,即主機可以加入任意合法的組播組。

1.13.2  配置組播數據報文源端口過濾

1. 功能簡介

通過配置組播數據報文源端口過濾功能,可以允許或禁止端口作為組播源端口:

·     開啟該功能後,端口不能連接組播源,因為該端口將過濾掉所有的組播數據報文(但允許組播協議報文通過),因此隻能連接組播數據接收者。

·     關閉該功能後,端口既能連接組播源,也能連接組播數據接收者。

2. 配置限製和指導

全局和在端口上配置組播數據報文源端口過濾功能的優先級相同,最新配置生效。

3. 全局配置組播數據報文源端口過濾

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     開啟指定端口的組播數據報文源端口過濾功能。

source-deny port interface-list

缺省情況下,組播數據報文源端口過濾功能處於關閉狀態。

4. 在端口上配置組播數據報文源端口過濾

(1)     進入係統視圖。

system-view

(2)     進入二層以太網接口視圖。

interface interface-type interface-number

(3)     開啟當前端口的組播數據報文源端口過濾功能。

igmp-snooping source-deny

缺省情況下,組播數據報文源端口過濾功能處於關閉狀態。

1.13.3  配置丟棄未知組播數據報文

1. 功能簡介

未知組播數據報文是指在IGMP Snooping轉發表中不存在對應轉發表項的那些組播數據報文:

·     當開啟了丟棄未知組播數據報文功能時,二層設備隻向其路由器端口轉發未知組播數據報文,不在VLAN內廣播;如果二層設備沒有路由器端口,未知組播數據報文會被丟棄,不再轉發。

·     當關閉了丟棄未知組播數據報文功能時,二層設備將在未知組播數據報文所屬的VLAN/VSI內廣播該報文。

2. 配置限製和指導

在開啟了丟棄未知IPv4組播數據報文功能之後,未知IPv6組播數據報文也將被丟棄。

在VLAN/VSI視圖下開啟了丟棄未知組播數據報文的功能之後,仍會向該VLAN/VSI內的其它路由器端口轉發未知組播數據報文。

3. 在VLAN內配置丟棄未知組播數據報文

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     在VLAN內開啟丟棄未知組播數據報文功能。

igmp-snooping drop-unknown

缺省情況下,丟棄未知組播數據報文功能處於關閉狀態,即對未知組播數據報文進行廣播。

4. 在VSI內配置丟棄未知組播數據報文

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     在VSI內開啟丟棄未知組播數據報文功能。

igmp-snooping drop-unknown

缺省情況下,丟棄未知組播數據報文功能處於關閉狀態,即對未知組播數據報文進行廣播。

1.13.4  配置IGMP成員關係報告報文抑製

1. 功能簡介

當二層設備收到來自某組播組成員的IGMP成員關係報告報文時,會將該報文轉發給與其直連的三層設備。這樣,當二層設備上存在屬於某組播組的多個成員時,與其直連的三層設備會收到這些成員發送的相同IGMP成員關係報告報文。

當開啟了IGMP成員關係報告報文抑製功能後,在一個查詢間隔內二層設備隻會把收到的某組播組內的第一個IGMP成員關係報告報文轉發給三層設備,而不繼續向三層設備轉發來自同一組播組的其它IGMP成員關係報告報文,這樣可以減少網絡中的報文數量。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     開啟IGMP成員關係報告報文抑製功能。

report-aggregation

缺省情況下,IGMP成員關係報告報文抑製功能處於開啟狀態。

1.13.5  配置端口加入的組播組最大數量

1. 功能簡介

通過配置端口加入的組播組最大數量,可以限製用戶點播組播節目的數量,從而控製了端口上的數據流量。本配置隻對動態組播組有效,對靜態組播組無效。

在配置端口加入的組播組最大數量時,如果當前端口上的組播組數量已超過配置值,係統將把該端口相關的所有轉發表項從IGMP Snooping轉發表中刪除,該端口下的主機都需要重新加入組播組,直至該端口上的組播組數量達到限製值,係統將自動丟棄新的IGMP成員關係報告報文。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     配置端口加入的組播組最大數量。

igmp-snooping group-limit limit [ vlan vlan-list ]

缺省情況下,未對端口加入的組播組最大數量進行限製。

1.13.6  配置組播組替換功能

1. 功能簡介

當端口上的組播組數目達到配置端口加入的組播組最大數量時,會自動丟棄新的IGMP成員關係報告報文。組播組替換功能開啟後,當端口收到新的IGMP成員關係報告報文時,會自動離開IP地址最小的組播組並加入新的組播組。本功能主要應用於頻道切換,以實現從一個組播組切換到另一個組播組。

2. 配置限製和指導

本配置隻對動態組播組有效,對靜態組播組無效。

當設備上維護的IGMP Snooping轉發表項達到配置的IGMP Snooping轉發表項的全局最大數量並且端口新加入的組播組不在設備維護的組播組列表中時,組播組替換功能不能生效。

3. 全局配置組播組替換功能

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局開啟組播組替換功能。

overflow-replace [ vlan vlan-list ]

缺省情況下,組播組替換功能處於關閉狀態。

4. 在端口上配置組播組替換功能

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     在端口上開啟組播組替換功能。

igmp-snooping overflow-replace [ vlan vlan-list ]

缺省情況下,組播組替換功能處於關閉狀態。

1.13.7  配置IGMP Snooping主機跟蹤功能

1. 功能簡介

通過開啟IGMP Snooping主機跟蹤功能,可以使二層設備能夠記錄正在接收組播數據的成員主機信息(包括主機的IP地址、加入組播組的運行時長和超時剩餘時間等),以便於網絡管理員對這些主機進行監控和管理。

2. 配置限製和指導

用戶在IGMP-Snooping視圖下的全局配置不會對VSI生效。

3. 全局配置IGMP Snooping主機跟蹤功能

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局開啟IGMP Snooping主機跟蹤功能。

host-tracking

缺省情況下,IGMP Snooping主機跟蹤功能處於關閉狀態。

4. 在VLAN內配置IGMP Snooping主機跟蹤功能

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     在VLAN內開啟IGMP Snooping主機跟蹤功能。

igmp-snooping host-tracking

缺省情況下,IGMP Snooping主機跟蹤功能處於關閉狀態。

1.13.8  配置組播用戶控製策略

1. 功能簡介

通過配置組播用戶控製策略,設備可以對組播用戶發送的IGMP成員關係報文和IGMP離開報文進行過濾,從而使設備隻對策略所許可的組播組維護組播成員關係。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入User-Profile視圖。

user-profile profile-name

本命令的詳細介紹請參見“安全配置指導”中的“User Profile”。

(3)     配置組播用戶控製策略。

igmp-snooping access-policy ipv4-acl-number

缺省情況下,未配置組播用戶控製策略,即組播用戶可以加入/離開任意合法的組播組。

1.14  配置設備發送的IGMP協議報文的DSCP優先級

1. 功能簡介

DSCP優先級用來體現報文自身的優先等級,決定報文傳輸的優先程度。通過本配置可以指定設備發送的IGMP協議報文的DSCP優先級。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IGMP Snooping視圖。

igmp-snooping

(3)     配置設備發送的IGMP協議報文的DSCP優先級。

dscp dscp-value

缺省情況下,設備發送的IGMP協議報文的DSCP優先級為48。

1.15  配置IGMP Snooping支持M-LAG

1. 功能簡介

IGMP Snooping利用M-LAG功能將兩台物理設備連接起來形成M-LAG係統,使用該M-LAG係統連接組播源或組播接收者,可避免單點故障對組播網絡造成影響,提高組播網絡可靠性。

2. 配置限製和指導

對於基於VSI的IGMP Snooping,隻支持EVPN VXLAN組網下的M-LAG,且需要同時使能IGMP Snooping代理功能。

3. 配置步驟

(1)     配置M-LAG。

M-LAG的配置方法請參見“二層技術-以太網交換配置指導”中的“M-LAG”。

(2)     使能IGMP Snooping。

使能IGMP Snooping的方法請參見“1.6  使能IGMP Snooping”。

1.16  開啟IGMP Snooping告警功能

1. 功能簡介

開啟了IGMP Snooping告警功能之後,該模塊會生成告警信息,用於報告該模塊的重要事件。生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟IGMP Snooping告警功能。

snmp-agent trap enable igmp-snooping [ entry-refresh-failed ]

缺省情況下,IGMP Snooping告警功能處於開啟狀態。

 

1.17  配置IGMP Snooping日誌功能

1.17.1  開啟IGMP Snooping日誌功能

1. 功能簡介

IGMP Snooping日誌信息可以方便管理員定位問題和解決問題,生成的日誌信息會交給信息中心模塊處理,信息中心模塊的配置將決定日誌信息的發送規則和發送方向。關於信息中心的詳細描述請參見“網絡管理和監控配置指導”中的“信息中心”。

2. 配置限製和指導

若設備輸出大量IGMP Snooping日誌信息導致設備性能降低,請按需關閉本功能或通過igmp-snooping log suppress命令開啟IGMP Snooping日誌限速功能。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IGMP Snooping視圖。

igmp-snooping

(3)     開啟IGMP Snooping的日誌功能。

igmp-snooping log enable [ group ]

缺省情況下,IGMP Snooping日誌功能處於開啟狀態。

1.17.2  開啟IGMP Snooping日誌限速功能

1. 功能簡介

當設備輸出大量IGMP Snooping日誌信息時,會降低設備性能。此時,可以通過本命令開啟IGMP Snooping日誌限速功能。開啟本功能後,IGMP Snooping模塊輸出到信息中心的日誌速度將會被限製,從而減輕設備的負擔。

2. 配置限製和指導

開啟本功能前,請確保已通過igmp-snooping log enable命令開啟了IGMP Snooping日誌功能。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IGMP Snooping視圖。

igmp-snooping

(3)     開啟IGMP Snooping日誌限速功能。

igmp-snooping log suppress [ group ]

缺省情況下,IGMP Snooping日誌限速功能處於開啟狀態。

1.18  IGMP Snooping顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IGMP Snooping的運行情況,通過查看顯示信息驗證配置的效果。

在用戶視圖下執行reset命令可以清除IGMP Snooping的信息。

表1-2 IGMP Snooping顯示和維護

操作

命令

顯示IGMP Snooping的狀態信息

display igmp-snooping [ global | vlan vlan-id | vsi vsi-name ]

顯示動態IGMP Snooping組播組的信息

display igmp-snooping group [ group-address | source-address ] * [ vlan vlan-id | vsi vsi-name ] [ interface interface-type interface-number | [ verbose ] [ slot slot-number  ] ]

顯示IGMP Snooping主機跟蹤信息

display igmp-snooping host-tracking vlan vlan-id group group-address [ source source-address ] [ slot slot-number ]

顯示動態路由器端口的信息

display igmp-snooping router-port [ vlan vlan-id | vsi vsi-name ] [ verbose ] [ slot slot-number ]

顯示靜態IGMP Snooping組播組的信息

display igmp-snooping static-group [ group-address | source-address ] * [ vlan vlan-id | vsi vsi-name ] [ verbose ] [ slot slot-number ]

顯示靜態路由器端口的信息

display igmp-snooping static-router-port [ vlan vlan-id ] [ verbose ] [ slot slot-number ]

顯示IGMP Snooping監聽到的IGMP報文和PIM hello報文的統計信息

display igmp-snooping statistics

顯示IPv4二層組播快速轉發表信息

display l2-multicast fast-forwarding cache [ vlan vlan-id ] [ source-address | group-address ] * [ slot slot-number ]

顯示二層組播的IP組播組信息

display l2-multicast ip [ group group-address | source source-address ] * [ vlan vlan-id | vsi vsi-name ] [ slot slot-number ]

顯示二層組播的IP轉發表信息

display l2-multicast ip forwarding [ group group-address | source source-address ] * [ vlan vlan-id | vsi vsi-name ] [ slot slot-number ]

顯示二層組播的MAC組播組信息

display l2-multicast mac [ mac-address ] [ vlan vlan-id | vsi vsi-name ] [ slot slot-number ]

顯示二層組播的MAC轉發表信息

display l2-multicast mac forwarding [ mac-address ] [ vlan vlan-id | vsi vsi-name ] [ slot slot-number ]

顯示靜態組播MAC地址表信息

display mac-address [ mac-address [ vlan vlan-id ] | [ multicast ] [ vlan vlan-id ] [ count ] ]

顯示二層組播通過EVPN學習到的組播組信息

display igmp-snooping evpn-group [ group-address | source-address ] * [vsi vsi-name ] [ slot slot-number   ]

清除動態IGMP Snooping組播組的信息

reset igmp-snooping group { group-address [ source-address ] | all } [ vlan vlan-id | vsi vsi-name ]

清除動態路由器端口的信息

reset igmp-snooping router-port { all | vlan vlan-id | vsi vsi-name }

清除IGMP Snooping監聽到的IGMP報文和PIM hello報文的統計信息

reset igmp-snooping statistics

清除IPv4二層組播快速轉發表中的轉發項

reset l2-multicast fast-forwarding cache [ vlan vlan-id ] { { source-address | group-address } * | all } [ slot slot-number ]

 

1.19  IGMP Snooping典型配置舉例

1.19.1  基於VLAN的組策略及模擬主機加入配置舉例

1. 組網需求

·     如圖1-8所示,Router A通過Twenty-FiveGigE1/0/2接口連接組播源(Source),通過Twenty-FiveGigE1/0/1接口連接Switch A;Router A上運行IGMPv2,Switch A上運行版本2的IGMP Snooping,並由Router A充當IGMP查詢器。

·     通過配置,使Host A和Host B能且隻能接收發往組播組224.1.1.1的組播數據,並且當Host A和Host B發生意外而臨時中斷接收組播數據時,發往組播組224.1.1.1組播數據也能不間斷地通過Switch A的接口Twenty-FiveGigE1/0/3和Twenty-FiveGigE1/0/4轉發出去;同時,使Switch A將收到的未知組播數據直接丟棄,避免在其所屬的VLAN 100內廣播。

2. 組網圖

圖1-8 基於VLAN的組策略及模擬主機加入配置組網圖

3. 配置準備

請按照組網圖配置各接口的IP地址和子網掩碼。

4. 配置步驟

(1)     配置Router A

# 使能IP組播路由,在接口Twenty-FiveGigE1/0/2上使能PIM-DM,並在接口Twenty-FiveGigE1/0/1上使能IGMP。

<RouterA> system-view

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface twenty-fivegige 1/0/1

[RouterA-Twenty-FiveGigE1/0/1] igmp enable

[RouterA-Twenty-FiveGigE1/0/1] quit

[RouterA] interface twenty-fivegige 1/0/2

[RouterA-Twenty-FiveGigE1/0/2] pim dm

[RouterA-Twenty-FiveGigE1/0/2] quit

(2)     配置Switch A

# 開啟設備的IGMP Snooping特性。

<SwitchA> system-view

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] quit

# 創建VLAN 100,把端口Twenty-FiveGigE1/0/1到Twenty-FiveGigE1/0/4添加到該VLAN中;在該VLAN內使能IGMP Snooping,並開啟丟棄未知組播數據報文功能。

[SwitchA] vlan 100

[SwitchA-vlan100] port twenty-fivegige 1/0/1 to twenty-fivegige 1/0/4

[SwitchA-vlan100] igmp-snooping enable

[SwitchA-vlan100] igmp-snooping drop-unknown

[SwitchA-vlan100] quit

# 配置組播組過濾器,以限定VLAN 100內的主機隻能加入組播組224.1.1.1。

[SwitchA] acl basic 2001

[SwitchA-acl-ipv4-basic-2001] rule permit source 224.1.1.1 0

[SwitchA-acl-ipv4-basic-2001] quit

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] group-policy 2001 vlan 100

[SwitchA-igmp-snooping] quit

# 在Twenty-FiveGigE1/0/3和Twenty-FiveGigE1/0/4上分別配置模擬主機加入組播組224.1.1.1。

[SwitchA] interface twenty-fivegige 1/0/3

[SwitchA-Twenty-FiveGigE1/0/3] igmp-snooping host-join 224.1.1.1 vlan 100

[SwitchA-Twenty-FiveGigE1/0/3] quit

[SwitchA] interface twenty-fivegige 1/0/4

[SwitchA-Twenty-FiveGigE1/0/4] igmp-snooping host-join 224.1.1.1 vlan 100

[SwitchA-Twenty-FiveGigE1/0/4] quit

5. 驗證配置

假設組播源分別向組播組224.1.1.1和224.2.2.2發送的組播數據,Host A和Host B也都申請加入這兩個組播組。

# 顯示Switch A上VLAN 100內動態IGMP Snooping組播組的信息。

[SwitchA] display igmp-snooping group vlan 100

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host ports (2 in total):

      WGE1/0/3                             (00:03:23)

      WGE1/0/4                             (00:04:10)

由此可見,Host A和Host B所在的端口Twenty-FiveGigE1/0/4和Twenty-FiveGigE1/0/3均已加入組播組224.1.1.1,但都未加入組播組224.2.2.2,這表明組播組過濾器已生效。

1.19.2  基於VLAN的靜態端口配置舉例

1. 組網需求

·     如圖1-9所示,Router A通過Twenty-FiveGigE1/0/2接口連接組播源(Source),通過Twenty-FiveGigE1/0/1接口連接Switch A;Router A上運行IGMPv2,Switch A、Switch B和Switch C上都運行版本2的IGMP Snooping,並由Router A充當IGMP查詢器。

·     Host A和Host C均為組播組224.1.1.1的固定接收者(Receiver),通過將Switch C上的端口Twenty-FiveGigE1/0/3和Twenty-FiveGigE1/0/5配置為組播組224.1.1.1的靜態成員端口,可以增強組播數據在傳輸過程中的可靠性。

·     假設由於受STP等鏈路層協議的影響,為了避免出現環路,Switch A—Switch C的轉發路徑在正常情況下是阻斷的,組播數據隻能通過Switch A—Switch B—Switch C的路徑傳遞給連接在Switch C上的接收者;要求通過將Switch A的端口Twenty-FiveGigE1/0/3配置為靜態路由器端口,以保證當Switch A—Switch B—Switch C的路徑出現阻斷時,組播數據可以幾乎不間斷地通過Switch A—Switch C的新路徑傳遞給接收者。

說明

如果沒有配置靜態路由器端口,那麼當Switch A—Switch B—Switch C的路徑出現阻斷時,至少需要等待一個IGMP查詢和響應周期完成後,組播數據才能通過Switch A—Switch C的新路徑傳遞給接收者,組播數據的傳輸在這個過程中將中斷。

有關STP(Spanning Tree Protocol,生成樹協議)的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“生成樹”。

 

2. 組網圖

圖1-9 基於VLAN的靜態端口配置組網圖

3. 配置準備

按照組網圖配置各接口的IP地址和子網掩碼。

4. 配置步驟

(1)     配置Router A

# 使能IP組播路由,在接口Twenty-FiveGigE1/0/2上使能PIM-DM,並在接口Twenty-FiveGigE1/0/1上使能IGMP。

<RouterA> system-view

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface twenty-fivegige 1/0/1

[RouterA-Twenty-FiveGigE1/0/1] igmp enable

[RouterA-Twenty-FiveGigE1/0/1] quit

[RouterA] interface twenty-fivegige 1/0/2

[RouterA-Twenty-FiveGigE1/0/2] pim dm

[RouterA-Twenty-FiveGigE1/0/2] quit

(2)     配置Switch A

# 開啟設備的IGMP Snooping特性。

<SwitchA> system-view

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] quit

# 創建VLAN 100,把端口Twenty-FiveGigE1/0/1到Twenty-FiveGigE1/0/3添加到該VLAN中,並在該VLAN內使能IGMP Snooping。

[SwitchA] vlan 100

[SwitchA-vlan100] port twenty-fivegige 1/0/1 to twenty-fivegige 1/0/3

[SwitchA-vlan100] igmp-snooping enable

[SwitchA-vlan100] quit

# 把Twenty-FiveGigE1/0/3配置為靜態路由器端口。

[SwitchA] interface twenty-fivegige 1/0/3

[SwitchA-Twenty-FiveGigE1/0/3] igmp-snooping static-router-port vlan 100

[SwitchA-Twenty-FiveGigE1/0/3] quit

(3)     配置Switch B

# 開啟設備的IGMP Snooping特性。

<SwitchB> system-view

[SwitchB] igmp-snooping

[SwitchB-igmp-snooping] quit

# 創建VLAN 100,把端口Twenty-FiveGigE1/0/1和Twenty-FiveGigE1/0/2添加到該VLAN中,並在該VLAN內使能IGMP Snooping。

[SwitchB] vlan 100

[SwitchB-vlan100] port twenty-fivegige 1/0/1 twenty-fivegige 1/0/2

[SwitchB-vlan100] igmp-snooping enable

[SwitchB-vlan100] quit

(4)     配置Switch C

# 開啟設備的IGMP Snooping特性。

<SwitchC> system-view

[SwitchC] igmp-snooping

[SwitchC-igmp-snooping] quit

# 創建VLAN 100,把端口Twenty-FiveGigE1/0/1到Twenty-FiveGigE1/0/5添加到該VLAN中,並在該VLAN內使能IGMP Snooping。

[SwitchC] vlan 100

[SwitchC-vlan100] port twenty-fivegige 1/0/1 to twenty-fivegige 1/0/5

[SwitchC-vlan100] igmp-snooping enable

[SwitchC-vlan100] quit

# 分別在端口Twenty-FiveGigE1/0/3和Twenty-FiveGigE1/0/5上配置靜態加入組播組224.1.1.1。

[SwitchC] interface twenty-fivegige 1/0/3

[SwitchC-Twenty-FiveGigE1/0/3] igmp-snooping static-group 224.1.1.1 vlan 100

[SwitchC-Twenty-FiveGigE1/0/3] quit

[SwitchC] interface twenty-fivegige 1/0/5

[SwitchC-Twenty-FiveGigE1/0/5] igmp-snooping static-group 224.1.1.1 vlan 100

[SwitchC-Twenty-FiveGigE1/0/5] quit

5. 驗證配置

# 顯示Switch A上VLAN 100內靜態路由器端口的信息。

[SwitchA] display igmp-snooping static-router-port vlan 100

VLAN 100:

  Router ports (1 in total):

    WGE1/0/3

由此可見,Switch A上的端口Twenty-FiveGigE1/0/3已經成為了靜態路由器端口。

# 顯示Switch C上VLAN 100內靜態IGMP Snooping組播組的信息。

[SwitchC] display igmp-snooping static-group vlan 100

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host ports (2 in total):

      WGE1/0/3

      WGE1/0/5

由此可見,Switch C上的端口Twenty-FiveGigE1/0/3和Twenty-FiveGigE1/0/5已經成為了組播組224.1.1.1的靜態成員端口。

1.19.3  基於VLAN的IGMP Snooping查詢器配置舉例

1. 組網需求

·     如圖1-10所示,在一個沒有三層設備的純二層網絡環境中,組播源Source 1和Source 2分別向組播組224.1.1.1和225.1.1.1發送組播數據,Host A和Host C是組播組224.1.1.1的接收者(Receiver),Host B和Host D則是組播組225.1.1.1的接收者;所有接收者均使用IGMPv2,所有交換機上都運行版本2的IGMP Snooping,並選擇距組播源較近的Switch A來充當IGMP Snooping查詢器。

·     為防止交換機在沒有二層組播轉發表項時將組播數據在VLAN內廣播,在所有交換機上都開啟丟棄未知組播數據報文功能;同時,由於交換機不會將收到源IP地址為0.0.0.0的IGMP查詢報文的端口設置為動態路由器端口,從而會影響二層組播轉發表項的建立並導致組播數據無法正常轉發,因此需要將IGMP查詢報文的源IP地址配置為非0.0.0.0以避免此問題。

2. 組網圖

圖1-10 基於VLAN的IGMP Snooping查詢器配置組網圖

3. 配置步驟

(1)     配置Switch A

# 開啟設備的IGMP Snooping特性。

<SwitchA> system-view

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] quit

# 創建VLAN 100,把端口Twenty-FiveGigE1/0/1到Twenty-FiveGigE1/0/3添加到該VLAN中;在該VLAN內使能IGMP Snooping,並開啟丟棄未知組播數據報文功能。

[SwitchA] vlan 100

[SwitchA-vlan100] port twenty-fivegige 1/0/1 to twenty-fivegige 1/0/3

[SwitchA-vlan100] igmp-snooping enable

[SwitchA-vlan100] igmp-snooping drop-unknown

# 在VLAN 100內開啟IGMP Snooping查詢器。

[SwitchA-vlan100] igmp-snooping querier

[SwitchA-vlan100] quit

# 在VLAN 100內將IGMP普遍組查詢和特定組查詢報文的源IP地址均配置為192.168.1.1。

[SwitchA-vlan100] igmp-snooping general-query source-ip 192.168.1.1

[SwitchA-vlan100] igmp-snooping special-query source-ip 192.168.1.1

[SwitchA-vlan100] quit

(2)     配置Switch B

# 開啟設備的IGMP Snooping特性。

<SwitchB> system-view

[SwitchB] igmp-snooping

[SwitchB-igmp-snooping] quit

# 創建VLAN 100,把端口Twenty-FiveGigE1/0/1到Twenty-FiveGigE1/0/4添加到該VLAN中;在該VLAN內使能IGMP Snooping,並開啟丟棄未知組播數據報文功能。

[SwitchB] vlan 100

[SwitchB-vlan100] port twenty-fivegige 1/0/1 to twenty-fivegige 1/0/4

[SwitchB-vlan100] igmp-snooping enable

[SwitchB-vlan100] igmp-snooping drop-unknown

[SwitchB-vlan100] quit

(3)     配置Switch C

# 開啟設備的IGMP Snooping特性。

<SwitchC> system-view

[SwitchC] igmp-snooping

[SwitchC-igmp-snooping] quit

# 創建VLAN 100,把端口Twenty-FiveGigE1/0/1到Twenty-FiveGigE1/0/3添加到該VLAN中;在該VLAN內使能IGMP Snooping,並開啟丟棄未知組播數據報文功能。

[SwitchC] vlan 100

[SwitchC-vlan100] port twenty-fivegige 1/0/1 to twenty-fivegige 1/0/3

[SwitchC-vlan100] igmp-snooping enable

[SwitchC-vlan100] igmp-snooping drop-unknown

[SwitchC-vlan100] quit

(4)     配置Switch D

# 開啟設備的IGMP Snooping特性。

<SwitchD> system-view

[SwitchD] igmp-snooping

[SwitchD-igmp-snooping] quit

# 創建VLAN 100,把端口Twenty-FiveGigE1/0/1到Twenty-FiveGigE1/0/2添加到該VLAN中;在該VLAN內使能IGMP Snooping,並開啟丟棄未知組播數據報文功能。

[SwitchD] vlan 100

[SwitchD-vlan100] port twenty-fivegige 1/0/1 to twenty-fivegige 1/0/2

[SwitchD-vlan100] igmp-snooping enable

[SwitchD-vlan100] igmp-snooping drop-unknown

[SwitchD-vlan100] quit

4. 驗證配置

當IGMP Snooping查詢器開始工作之後,除查詢器以外的所有交換機都能收到IGMP普遍組查詢報文。

# 顯示Switch B上收到的IGMP報文的統計信息。

[SwitchB] display igmp-snooping statistics

Received IGMP messages:

  IGMP general queries: 19

    M-LAG: 19

  IGMPv2 specific queries: 10

    M-LAG: 0

  IGMPv3 specific queries: 0

    M-LAG: 0

  IGMPv3 specific sg queries: 0

    M-LAG: 0

  IGMPv1 reports: 0

    M-LAG: 0

  IGMPv2 reports: 19

    M-LAG: 19

  IGMPv3 reports: 0

    M-LAG: 0

  IGMPv3 reports with right and wrong records: 0

    M-LAG: 0

  IGMP leaves: 5

    M-LAG: 5

  Error IGMP messages: 1

    M-LAG: 1

Sent IGMP messages:

  IGMPv2 specific queries: 0

  IGMPv3 specific queries: 0

  IGMPv3 specific sg queries: 0

Received PIMv2 hello : 0

1.19.4  基於VLAN的IGMP Snooping Proxy配置舉例

1. 組網需求

·     如圖1-11所示,Router A通過Twenty-FiveGigE1/0/2接口連接組播源(Source),通過Twenty-FiveGigE1/0/1接口連接Switch A;Router A上運行IGMPv2,Switch A上運行版本2的IGMP Snooping,並由Router A充當IGMP查詢器。

·     通過配置,使Switch A能夠代理下遊主機向Router A發送的IGMP報告報文和離開報文,以及響應Router A發來的IGMP查詢報文並向下遊主機轉發。

2. 組網圖

圖1-11 基於VLAN的IGMP Snooping Proxy配置組網圖

3. 配置準備

請按照組網圖配置各接口的IP地址和子網掩碼。

4. 配置步驟

(1)     配置Router A

# 使能IP組播路由,在接口Twenty-FiveGigE1/0/2上使能PIM-DM,並在接口Twenty-FiveGigE1/0/1上使能IGMP。

<RouterA> system-view

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface twenty-fivegige 1/0/1

[RouterA-Twenty-FiveGigE1/0/1] igmp enable

[RouterA-Twenty-FiveGigE1/0/1] pim dm

[RouterA-Twenty-FiveGigE1/0/1] quit

[RouterA] interface twenty-fivegige 1/0/2

[RouterA-Twenty-FiveGigE1/0/2] pim dm

[RouterA-Twenty-FiveGigE1/0/2] quit

(2)     配置Switch A

# 開啟設備的IGMP Snooping特性。

<SwitchA> system-view

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] quit

# 創建VLAN 100,把端口Twenty-FiveGigE1/0/1到Twenty-FiveGigE1/0/4添加到該VLAN中;在該VLAN內使能IGMP Snooping,並使能IGMP Snooping Proxy。

[SwitchA] vlan 100

[SwitchA-vlan100] port twenty-fivegige 1/0/1 to twenty-fivegige 1/0/4

[SwitchA-vlan100] igmp-snooping enable

[SwitchA-vlan100] igmp-snooping proxy enable

[SwitchA-vlan100] quit

5. 驗證配置

當配置完成後,Host A和Host B分別發送組地址為224.1.1.1的IGMP加入報文,Switch A收到該報文後通過其路由器端口Twenty-FiveGigE1/0/1向Router A也發送該組的加入報文。通過使用display igmp-snooping groupdisplay igmp group命令可以分別查看IGMP Snooping組和IGMP組的信息,例如:

# 查看Switch A上IGMP Snooping組播組的信息。

[SwitchA] display igmp-snooping group

 Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host ports (2 in total):

      WGE1/0/3                                     (00:04:00)

      WGE1/0/4                                     (00:04:04)

# 查看Router A上IGMP組的信息。

[RouterA] display igmp group

IGMP groups in total: 1

 Twenty-FiveGigE1/0/1(10.1.1.1):

  IGMP groups reported in total: 1

   Group address   Last reporter   Uptime      Expires

   224.1.1.1       0.0.0.0         00:00:31    00:02:03

當Host A離開組播組224.1.1.1時,向Switch A發送該組的IGMP離開報文,但由於Host B仍未離開該組,因此Switch A並不會刪除該組,也不會向Router A發送該組的離開報文,隻是在該組對應轉發表項的成員端口列表中將端口Twenty-FiveGigE1/0/4刪除。通過使用display igmp-snooping group命令可以查看IGMP Snooping組的信息,例如:

# 查看Switch A上IGMP Snooping組播組的信息。

[SwitchA] display igmp-snooping group

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host ports (1 in total):

      WGE1/0/3                                     ( 00:01:23 )

1.19.5  基於EVPN站點多歸屬的IGMP Snooping Proxy配置舉例

1. 組網需求

圖1-12所示,Switch A、Switch B、Switch C為分布式EVPN網關設備;Switch D為RR,負責在交換機之間反射BGP路由。

虛擬機VM 1、VM 2和VM 3屬於VXLAN 10。Server 2通過聚合鏈路多歸屬於Switch A、Switch B, Server 3通過聚合鏈路多歸屬於Switch B、Switch C。Server 1為Switch A下的單歸屬設備。相同VXLAN之間可以二層組播互通。

2. 組網圖

圖1-12 基於EVPN站點多歸屬的IGMP Snooping Proxy配置組網圖

 

3. 配置步驟

(1)     配置IP地址和單播路由協議

# 在VM 1、VM 2和VM 3上指定網關地址為10.1.1.1。(具體配置過程略)

# 配置各接口的IP地址和子網掩碼;在IP核心網絡內配置OSPF協議,確保交換機之間路由可達。(具體配置過程略)

(2)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA ] l2vpn enable

# 關閉遠端MAC地址和遠端ARP自動學習功能。

[SwitchA] vxlan tunnel mac-learning disable

[SwitchA] vxlan tunnel arp-learning disable

# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] evpn encapsulation vxlan

[SwitchA-vsi-vpna-evpn-vxlan] route-distinguisher auto router-id

[SwitchA-vsi-vpna-evpn-vxlan] vpn-target auto

[SwitchA-vsi-vpna-evpn-vxlan] quit

# 創建VXLAN 10。

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 配置BGP發布EVPN路由。

[SwitchA] bgp 200

[SwitchA-bgp-default] peer 4.4.4.4 as-number 200

[SwitchA-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[SwitchA-bgp-default] address-family l2vpn evpn

[SwitchA-bgp-default-evpn] peer 4.4.4.4 enable

[SwitchA-bgp-default-evpn] quit

[SwitchA-bgp-default] quit

# 在接入服務器的接口Twenty-FiveGigE1/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchA] interface twenty-fivegige 1/0/1

[SwitchA-Twenty-FiveGigE1/0/1] service-instance 1000

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] xconnect vsi vpna

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] quit

# 在接入服務器的接口Twenty-FiveGigE1/0/2上配置ESI值。

[SwitchA] interface twenty-fivegige 1/0/2

[SwitchA-Twenty-FiveGigE1/0/1] esi 0.0.0.0.1

# 在該接口上創建以太網服務實例2000,用來匹配VLAN 2的數據幀。

[SwitchA-Twenty-FiveGigE1/0/1] service-instance 2000

[SwitchA-Twenty-FiveGigE1/0/1-srv2000] encapsulation s-vid 2

# 配置以太網服務實例2000與VSI實例vpna關聯。

[SwitchA-Twenty-FiveGigE1/0/1-srv2000] xconnect vsi vpna

[SwitchA-Twenty-FiveGigE1/0/1-srv2000] quit

# 配置L3VNI的RD和RT。

[SwitchA] ip vpn-instance l3vpna

[SwitchA-vpn-instance-l3vpna] route-distinguisher 1:1

[SwitchA-vpn-instance-l3vpna] address-family ipv4

[SwitchA-vpn-ipv4-l3vpna] vpn-target 2:2

[SwitchA-vpn-ipv4-l3vpna] quit

[SwitchA-vpn-instance-l3vpna] address-family evpn

[SwitchA-vpn-evpn-l3vpna] vpn-target 1:1

[SwitchA-vpn-evpn-l3vpna] quit

[SwitchA-vpn-instance-l3vpna] quit

# 配置VSI虛接口VSI-interface1。

[SwitchA] interface vsi-interface 1

[SwitchA-Vsi-interface1] ip binding vpn-instance l3vpna

[SwitchA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchA-Vsi-interface1] mac-address 1-1-1

[SwitchA-Vsi-interface1] distributed-gateway local

[SwitchA-Vsi-interface1] local-proxy-arp enable

[SwitchA-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface3,在該接口上配置VPN實例l3vpna對應的L3VNI為1000。

[SwitchA] interface vsi-interface 3

[SwitchA-Vsi-interface3] ip binding vpn-instance l3vpna

[SwitchA-Vsi-interface3] l3-vni 1000

[SwitchA-Vsi-interface3] quit

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] gateway vsi-interface 1

[SwitchA-vsi-vpna] quit

# 開啟設備的IGMP Snooping特性。

<SwitchA> system-view

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] quit

# 在VSI vpna內使能IGMP Snooping proxy,並開啟丟棄未知組播數據報文功能。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] igmp-snooping enable

[SwitchA-vsi-vpna] igmp-snooping proxy enable

[SwitchA-vsi-vpna] igmp-snooping drop-unknown

# 配置IGMP Snooping IP轉發模式、版本3和查詢器

[SwitchA-vsi-vpna] igmp-snooping forwarding-mode ip

[SwitchA-vsi-vpna] igmp-snooping version 3

[SwitchA-vsi-vpna] igmp-snooping querier

[SwitchA-vsi-vpna] quit

(3)     配置 SwitchB

# 開啟L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 關閉遠端MAC地址和遠端ARP自動學習功能。

[SwitchB] vxlan tunnel mac-learning disable

[SwitchB] vxlan tunnel arp-learning disable

# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] evpn encapsulation vxlan

[SwitchB-vsi-vpna-evpn-vxlan] route-distinguisher auto router-id

[SwitchB-vsi-vpna-evpn-vxlan] vpn-target auto

[SwitchB-vsi-vpna-evpn-vxlan] quit

# 創建VXLAN 10。

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 配置BGP發布EVPN路由。

[SwitchB] bgp 200

[SwitchB-bgp-default] peer 4.4.4.4 as-number 200

[SwitchB-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[SwitchB-bgp-default] address-family l2vpn evpn

[SwitchB-bgp-default-evpn] peer 4.4.4.4 enable

[SwitchB-bgp-default-evpn] quit

[SwitchB-bgp-default] quit

# 在接入服務器的接口Twenty-FiveGigE1/0/1上配置ESI值。

[SwitchB] interface twenty-fivegige 1/0/1

[SwitchB-Twenty-FiveGigE1/0/1] esi 0.0.0.0.1

# 在該接口上創建以太網服務實例2000,用來匹配VLAN 2的數據幀。

[SwitchB-Twenty-FiveGigE1/0/1] service-instance 2000

[SwitchB-Twenty-FiveGigE1/0/1-srv2000] encapsulation s-vid 2

# 配置以太網服務實例2000與VSI實例vpna關聯。

[SwitchB-Twenty-FiveGigE1/0/1-srv2000] xconnect vsi vpna

[SwitchB-Twenty-FiveGigE1/0/1-srv2000] quit

# 在接入服務器的接口Twenty-FiveGigE1/0/1上配置ESI值。

[SwitchB] interface twenty-fivegige 1/0/1

[SwitchB-Twenty-FiveGigE1/0/1] esi 0.0.0.0.2

# 在該接口上創建以太網服務實例3000,用來匹配VLAN 2的數據幀。

[SwitchB-Twenty-FiveGigE1/0/1] service-instance 3000

[SwitchB-Twenty-FiveGigE1/0/1-srv3000] encapsulation s-vid 2

# 配置以太網服務實例3000與VSI實例vpna關聯。

[SwitchB-Twenty-FiveGigE1/0/1-srv3000] xconnect vsi vpna

[SwitchB-Twenty-FiveGigE1/0/1-srv3000] quit

# 配置L3VNI的RD和RT。

[SwitchB] ip vpn-instance l3vpna

[SwitchB-vpn-instance-l3vpna] route-distinguisher 2:2

[SwitchB-vpn-instance-l3vpna] address-family ipv4

[SwitchB-vpn-ipv4-l3vpna] vpn-target 2:2

[SwitchB-vpn-ipv4-l3vpna] quit

[SwitchB-vpn-instance-l3vpna] address-family evpn

[SwitchB-vpn-evpn-l3vpna] vpn-target 1:1

[SwitchB-vpn-evpn-l3vpna] quit

[SwitchB-vpn-instance-l3vpna] quit

# 配置VSI虛接口VSI-interface1。

[SwitchB] interface vsi-interface 1

[SwitchB-Vsi-interface1] ip binding vpn-instance l3vpna

[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchB-Vsi-interface1] mac-address 1-1-1

[SwitchB-Vsi-interface1] distributed-gateway local

[SwitchB-Vsi-interface1] local-proxy-arp enable

[SwitchB-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface3,在該接口上配置VPN實例l3vpna對應的L3VNI為1000。

[SwitchB] interface vsi-interface 3

[SwitchB-Vsi-interface3] ip binding vpn-instance l3vpna

[SwitchB-Vsi-interface3] l3-vni 1000

[SwitchB-Vsi-interface3] quit

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] gateway vsi-interface 1

# 開啟設備的IGMP Snooping特性。

<SwitchB> system-view

[SwitchB] igmp-snooping

[SwitchB-igmp-snooping] quit

# 在VSI vpna內使能IGMP Snooping proxy,並開啟丟棄未知組播數據報文功能。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] igmp-snooping enable

[SwitchB-vsi-vpna] igmp-snooping proxy enable

[SwitchB-vsi-vpna] igmp-snooping drop-unknown

# 配置IGMP Snooping IP轉發模式、版本3和查詢器。

[SwitchB-vsi-vpna] igmp-snooping forwarding-mode ip

[SwitchB-vsi-vpna] igmp-snooping version 3

[SwitchB-vsi-vpna] igmp-snooping querier

[SwitchB-vsi-vpna] quit

(4)     配置SwitchC

# 開啟L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 關閉遠端MAC地址和遠端ARP自動學習功能。

[SwitchC] vxlan tunnel mac-learning disable

[SwitchC] vxlan tunnel arp-learning disable

# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] evpn encapsulation vxlan

[SwitchC-vsi-vpna-evpn-vxlan] route-distinguisher auto router-id

[SwitchC-vsi-vpna-evpn-vxlan] vpn-target auto

[SwitchC-vsi-vpna-evpn-vxlan] quit

# 創建VXLAN 10。

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 配置BGP發布EVPN路由。

[SwitchC] bgp 200

[SwitchC-bgp-default] peer 4.4.4.4 as-number 200

[SwitchC-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[SwitchC-bgp-default] address-family l2vpn evpn

[SwitchC-bgp-default-evpn] peer 4.4.4.4 enable

[SwitchC-bgp-default-evpn] quit

[SwitchC-bgp-default] quit

# 在接入服務器的接口Twenty-FiveGigE1/0/1上配置ESI值。

[SwitchC] interface twenty-fivegige 1/0/1

[SwitchC-Twenty-FiveGigE1/0/1] esi 0.0.0.0.2

# 在該接口上創建以太網服務實例3000,用來匹配VLAN 2的數據幀。

[SwitchC-Twenty-FiveGigE1/0/1] service-instance 3000

[SwitchC-Twenty-FiveGigE1/0/1-srv3000] encapsulation s-vid 2

# 配置以太網服務實例3000與VSI實例vpna關聯。

[SwitchC-Twenty-FiveGigE1/0/1-srv3000] xconnect vsi vpna

[SwitchC-Twenty-FiveGigE1/0/1-srv3000] quit

# 配置L3VNI的RD和RT。

[SwitchC] ip vpn-instance l3vpna

[SwitchC-vpn-instance-l3vpna] route-distinguisher 3:3

[SwitchC-vpn-instance-l3vpna] address-family ipv4

[SwitchC-vpn-ipv4-l3vpna] vpn-target 2:2

[SwitchC-vpn-ipv4-l3vpna] quit

[SwitchC-vpn-instance-l3vpna] address-family evpn

[SwitchC-vpn-evpn-l3vpna] vpn-target 1:1

[SwitchC-vpn-evpn-l3vpna] quit

[SwitchC-vpn-instance-l3vpna] quit

# 配置VSI虛接口VSI-interface1。

[SwitchC] interface vsi-interface 1

[SwitchC-Vsi-interface1] ip binding vpn-instance l3vpna

[SwitchC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchC-Vsi-interface1] mac-address 1-1-1

[SwitchC-Vsi-interface1] distributed-gateway local

[SwitchC-Vsi-interface1] local-proxy-arp enable

[SwitchC-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface3,在該接口上配置VPN實例l3vpna對應的L3VNI為1000。

[SwitchC] interface vsi-interface 3

[SwitchC-Vsi-interface3] ip binding vpn-instance l3vpna

[SwitchC-Vsi-interface3] l3-vni 1000

[SwitchC-Vsi-interface3] quit

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] gateway vsi-interface 1

[SwitchC-vsi-vpna] quit

# 開啟設備的IGMP Snooping特性。

<SwitchC> system-view

[SwitchC] igmp-snooping

[SwitchC -igmp-snooping] quit

# 在VSI vpna內使能IGMP Snooping proxy,並開啟丟棄未知組播數據報文功能。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] igmp-snooping enable

[SwitchC-vsi-vpna] igmp-snooping proxy enable

[SwitchC-vsi-vpna] igmp-snooping drop-unknown

#配置IGMP Snooping IP轉發模式、版本3和查詢器。

[SwitchC-vsi-vpna] igmp-snooping forwarding-mode ip

[SwitchC-vsi-vpna] igmp-snooping version 3

[SwitchC-vsi-vpna] igmp-snooping querier

[SwitchC-vsi-vpna] quit

(5)     配置Switch D

# 配置SwitchD與其他路由器建立BGP連接。

<SwitchD> system-view

[SwitchD] bgp 200

[SwitchD-bgp-default] group evpn

[SwitchD-bgp-default] peer 1.1.1.1 group evpn

[SwitchD-bgp-default] peer 2.2.2.2 group evpn

[SwitchD-bgp-default] peer 3.3.3.3 group evpn

[SwitchD-bgp-default] peer evpn as-number 200

[SwitchD-bgp-default] peer evpn connect-interface loopback 0

# 配置BGP發布EVPN路由,並關閉BGP EVPN路由的VPN-Target過濾功能。

[SwitchD-bgp-default] address-family l2vpn evpn

[SwitchD-bgp-default-evpn] peer evpn enable

[SwitchD-bgp-default-evpn] undo policy vpn-target

# 配置Switch D為路由反射器。

[SwitchD-bgp-default-evpn] peer evpn reflect-client

[SwitchD-bgp-default-evpn] quit

[SwitchD-bgp-default] quit

4. 驗證配置

當配置完成後,從VM1發送組地址為225.0.0.1的IGMP加入報文,Switch B和Switch C會收到Switch A同步的路由信息。在Switch B和Switch C上通過使用display igmp-snooping evpn-groupdisplay evpn route smet命令可以分別查看EVPN表項和路由信息。例如:

# 查看Switch B上EVPN路由信息。

<SwitchB> display evpn route smet

VSI name: vpna

  Source address : 0.0.0.0

  Group address  : 225.0.0.1

  Local version  : -

  Peers :

    Nexthop          Tunnel name     Link ID    Remote version

1.1.1.1          Tunnel0         0x5000000  v3(E)

# 通過display igmp-snooping evpn-group查看EVPN表項。

<SwitchB> display igmp-snooping evpn-group

Total 1 entries.

 

VSI vpna: Total 1 entries.

  (0.0.0.0, 225.0.0.1)

    Host ports (1 in total):

      Tun1 (VXLAN ID 10)

多歸屬的主機向Switch A發送加入報文時,多歸屬的冗餘備份組Switch B會收到EVPN多歸屬的路由信息,可通過命令display evpn route igmp-js查看路由信息。通過display igmp-snooping evpn-group查看表項信息。

# 查看SwitchB上EVPN多歸屬的路由信息。

<SwitchB> dis evpn route igmp-js

VSI name: vpna

  Source address  : 0.0.0.0

  Group  address  : 225.0.0.1

  Local version   : -

  Remote version  : v3(E)

  ESI             : 0000.0000.0000.0000.0001

  Ethernet tag ID : 2

  AC              :

  Peers           : 2.2.2.2

1.19.6  基於VLAN的組播用戶控製策略配置舉例

1. 組網需求

·     如圖1-13所示,Switch通過Twenty-FiveGigE1/0/1連接組播源Source,通過Twenty-FiveGigE1/0/4連接RADIUS服務器;Switch上運行版本2的IGMP Snooping,連接在Switch上的主機使用802.1X進行認證。

·     通過在Switch上配置組播用戶控製策略,使接收者(Receiver)Host A隻能加入/離開組播組224.1.1.1。

2. 組網圖

圖1-13 基於VLAN的組播用戶控製策略配置組網圖

3. 配置Switch

# 開啟設備的IGMP Snooping特性。

<Switch> system-view

[Switch] igmp-snooping

[Switch-igmp-snooping] quit

# 創建VLAN 100,把端口Twenty-FiveGigE1/0/1到Twenty-FiveGigE1/0/3添加到該VLAN中,並在該VLAN內使能IGMP Snooping。

[Switch] vlan 100

[Switch-vlan100] port twenty-fivegige 1/0/1 to twenty-fivegige 1/0/3

[Switch-vlan100] igmp-snooping enable

[Switch-vlan100] quit

# 配置IGMP Snooping組播用戶控製策略。

[Switch] acl basic 2001

[Switch-acl-ipv4-basic-2001] rule permit source 224.1.1.1 0

[Switch-acl-ipv4-basic-2001] quit

[Switch] user-profile profile2

[Switch-user-profile-profile2] igmp-snooping access-policy 2001

[Switch-user-profile-profile2] quit

# 配置RADIUS客戶端。

[Switch] radius scheme scheme2

[Switch-radius-scheme2] primary authentication 3.1.1.1

[Switch-radius-scheme2] key authentication simple 321123

[Switch-radius-scheme2] primary accounting 3.1.1.1

[Switch-radius-scheme2] key accounting simple 321123

[Switch-radius-scheme2] user-name-format without-domain

[Switch-radius-scheme2] quit

# 創建ISP域,並配置業務類型和接入方式。

[Switch] domain domain2

[Switch-isp-domain2] authorization-attribute user-profile profile2

[Switch-isp-domain2] authentication lan-access radius-scheme scheme2

[Switch-isp-domain2] authorization lan-access radius-scheme scheme2

[Switch-isp-domain2] accounting lan-access radius-scheme scheme2

[Switch-isp-domain2] quit

[Switch] domain default enable domain2

# 開啟端口Twenty-FiveGigE1/0/2和Twenty-FiveGigE1/0/3以及全局的802.1X。

[Switch] interface twenty-fivegige 1/0/2

[Switch-Twenty-FiveGigE1/0/2] dot1x

[Switch-Twenty-FiveGigE1/0/2] quit

[Switch] interface twenty-fivegige 1/0/3

[Switch-Twenty-FiveGigE1/0/3] dot1x

[Switch-Twenty-FiveGigE1/0/3] quit

[Switch] dot1x

4. 配置RADIUS服務器

在RADIUS服務器上進行與Switch相對應的配置。

5. 驗證配置

# 顯示Switch上VLAN 100內動態IGMP Snooping組播組的信息。

[Switch] display igmp-snooping group vlan 100

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host ports (1 in total):

      WGE1/0/3                                     (00:03:05)

由此可見,Switch上的端口Twenty-FiveGigE1/0/3隻加入了組播組224.1.1.1。

1.19.7  基於VXLAN的IGMP Snooping配置舉例

1. 組網需求

在VXLAN網絡中,Switch A、Switch B、Switch C為與服務器連接的VTEP設備。虛擬機VM 1、VM 2和VM 3同屬於VXLAN 10。通過VXLAN實現不同站點間的二層互聯,且站點之間的泛洪流量采用單播路由方式(頭端複製方式)轉發。

要求基於現有VXLAN網絡,通過配置IGMP Snooping功能,實現網絡中二層組播轉發,以減輕VTEP設備對已知組播數據報文的複製負擔。

2. 組網圖

圖1-14 基於VXLAN的IGMP Snooping配置組網圖

設備

接口

IP地址

設備

接口

IP地址

Switch A

Vlan-int11

11.1.1.1/24

Switch C

Vlan-int13

13.1.1.3/24

 

Loop0

1.1.1.1/32

 

Loop0

3.3.3.3/32

Switch B

Vlan-int12

12.1.1.2/24

Switch D

Vlan-int11

11.1.1.4/24

 

Loop0

2.2.2.2/32

 

Vlan-int12

12.1.1.4/24

 

 

 

 

Vlan-int13

13.1.1.4/24

 

3. 配置準備

按照組網圖配置各接口的IP地址和子網掩碼,並在IP核心網絡內配置OSPF協議。

4. 配置步驟

(1)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 配置VXLAN隧道工作在二層轉發模式。

[SwitchA] undo vxlan ip-forwarding

# 創建VSI實例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 開啟設備的IGMP Snooping特性。

[SwitchA] igmp-snooping

[SwitchA -igmp-snooping] quit

# 在VSI vpna內使能IGMP Snooping,並開啟丟棄未知組播數據報文功能。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] igmp-snooping enable

[SwitchA-vsi-vpna] igmp-snooping drop-unknown

[SwitchA-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

# 在Switch A和Switch B之間建立VXLAN隧道:

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

# 在Switch A和Switch C之間建立VXLAN隧道。

[SwitchA] interface tunnel 2 mode vxlan

[SwitchA-Tunnel2] source 1.1.1.1

[SwitchA-Tunnel2] destination 3.3.3.3

[SwitchA-Tunnel2] quit

# 配置Tunnel1和Tunnel2與VXLAN 10關聯。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] tunnel 1

[SwitchA-vsi-vpna-vxlan-10] tunnel 2

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 在接入服務器的接口Twenty-FiveGigE1/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchA] interface twenty-fivegige 1/0/1

[SwitchA-Twenty-FiveGigE1/0/1] service-instance 1000

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] xconnect vsi vpna

[SwitchA-Twenty-FiveGigE1/0/1-srv1000] quit

[SwitchA-Twenty-FiveGigE1/0/1] quit

(2)     配置Switch B

# 開啟L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 配置VXLAN隧道工作在二層轉發模式。

[SwitchB] undo vxlan ip-forwarding

# 創建VSI實例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 開啟設備的IGMP Snooping特性。

[SwitchB] igmp-snooping

[SwitchB -igmp-snooping] quit

# 在VSI vpna內使能IGMP Snooping,並開啟丟棄未知組播數據報文功能。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] igmp-snooping enable

[SwitchB-vsi-vpna] igmp-snooping drop-unknown

[SwitchB-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchB-Loopback0] quit

# 在Switch A和Switch B之間建立VXLAN隧道。

[SwitchB] interface tunnel 2 mode vxlan

[SwitchB-Tunnel2] source 2.2.2.2

[SwitchB-Tunnel2] destination 1.1.1.1

[SwitchB-Tunnel2] quit

# 在Switch B和Switch C之間建立VXLAN隧道。

[SwitchB] interface tunnel 3 mode vxlan

[SwitchB-Tunnel3] source 2.2.2.2

[SwitchB-Tunnel3] destination 3.3.3.3

[SwitchB-Tunnel3] quit

# 配置Tunnel2和Tunnel3與VXLAN10關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] tunnel 2

[SwitchB-vsi-vpna-vxlan-10] tunnel 3

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 在接入服務器的接口Twenty-FiveGigE1/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchB] interface twenty-fivegige 1/0/1

[SwitchB-Twenty-FiveGigE1/0/1] service-instance 1000

[SwitchB-Twenty-FiveGigE1/0/1-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchB-Twenty-FiveGigE1/0/1-srv1000] xconnect vsi vpna

[SwitchB-Twenty-FiveGigE1/0/1-srv1000] quit

[SwitchB-Twenty-FiveGigE1/0/1] quit

(3)     配置Switch C

# 開啟L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 配置VXLAN隧道工作在二層轉發模式。

[SwitchC] undo vxlan ip-forwarding

# 創建VSI實例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 開啟設備的IGMP Snooping特性。

[SwitchB] igmp-snooping

[SwitchB -igmp-snooping] quit

# 在VSI vpna內使能IGMP Snooping,並開啟丟棄未知組播數據報文和二層組播查詢器功能。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] igmp-snooping enable

[SwitchC-vsi-vpna] igmp-snooping drop-unknown

[SwitchC-vsi-vpna] igmp-snooping general-query source-ip 3.3.3.3

[SwitchC-vsi-vpna] igmp-snooping querier

[SwitchC-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchC] interface loopback 0

[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255

[SwitchC-Loopback0] quit

# 在Switch A和Switch C之間建立VXLAN隧道。

[SwitchC] interface tunnel 1 mode vxlan

[SwitchC-Tunnel1] source 3.3.3.3

[SwitchC-Tunnel1] destination 1.1.1.1

[SwitchC-Tunnel1] quit

# 在Switch B和Switch C之間建立VXLAN隧道。

[SwitchC] interface tunnel 3 mode vxlan

[SwitchC-Tunnel3] source 3.3.3.3

[SwitchC-Tunnel3] destination 2.2.2.2

[SwitchC-Tunnel3] quit

# 配置Tunnel1和Tunnel3與VXLAN 10關聯。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] tunnel 1

[SwitchC-vsi-vpna-vxlan-10] tunnel 3

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 在接入服務器的接口Twenty-FiveGigE1/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchC] interface twenty-fivegige 1/0/1

[SwitchC-Twenty-FiveGigE1/0/1] service-instance 1000

[SwitchC-Twenty-FiveGigE1/0/1-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchC-Twenty-FiveGigE1/0/1-srv1000] xconnect vsi vpna

[SwitchC-Twenty-FiveGigE1/0/1-srv1000] quit

[SwitchC-Twenty-FiveGigE1/0/1] quit

5.  驗證配置

# 在Switch A上顯示VSI vpna內動態路由器端口信息。

[SwitchA] display igmp-snooping router-port vsi vpna

VSI vpna:

  Router ports (1 in total):

    Tun2 (VXLAN ID 10)                        (00:04:17)

# 在Switch B上顯示VSI vpna內動態路由器端口信息。

[SwitchB] display igmp-snooping router-port vsi vpna

VSI vpna:

  Router ports (1 in total):

    Tun3 (VXLAN ID 10)                        (00:04:07)

1.20  IGMP Snooping常見故障處理

1.20.1  二層設備不能實現二層組播

1. 故障現象

二層設備不能實現IGMP Snooping二層組播功能。

2. 故障分析

IGMP Snooping沒有使能。

3. 處理過程

(1)     使用display igmp-snooping命令查看IGMP Snooping的運行狀態。

(2)     如果是沒有使能IGMP Snooping,則需先在係統視圖下使用igmp-snooping命令開啟設備的IGMP Snooping特性,然後在VLAN視圖/VSI視圖下使用igmp-snooping enable命令使能VLAN/VSI內的IGMP Snooping。

(3)     如果隻是沒有在相應VLAN/VSI下使能IGMP Snooping,則隻需在VLAN視圖/VSI視圖下使用igmp-snooping enable命令使能VLAN/VSI內的IGMP Snooping。

1.20.2  配置的組播組策略不生效

1. 故障現象

配置了組播組策略,隻允許主機加入某些特定的組播組,但主機仍然可以收到發往其它組播組的組播數據。

2. 故障分析

·     ACL規則配置不正確;

·     組播組策略應用不正確;

·     沒有開啟丟棄未知組播數據報文的功能,使得屬於過濾策略之外的組播數據報文(即未知組播數據報文)被廣播。

3. 處理過程

(1)     使用display acl命令查看所配置的ACL規則,檢查其是否與所要實現的組播組過濾策略相符合。

(2)     在IGMP-Snooping視圖或相應的接口視圖下使用display this命令查看是否應用了正確的組播組策略。如果沒有,則使用group-policyigmp-snooping group-policy命令應用正確的組播組策略。

(3)     使用display igmp-snooping命令查看是否已開啟丟棄未知組播數據報文的功能。如果沒有開啟,則使用igmp-snooping drop-unknown命令開啟丟棄未知組播數據報文功能。

 

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

BOB登陆
官網
聯係我們