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

06-IP組播配置指導

目錄

13-MLD配置

本章節下載 13-MLD配置  (567.12 KB)

13-MLD配置


1 MLD

1.1  MLD簡介

MLD(Multicast Listener Discovery Protocol,組播偵聽者發現協議)用於在三層設備和其直連網段中的用戶主機之間建立和維護IPv6組播組成員關係。

1.1.1  MLD的版本

到目前為止,MLD有兩個版本:

·            MLDv1(由RFC 2710定義),源自IGMPv2

·            MLDv2(由RFC 3810定義),源自IGMPv3

所有版本的MLD都支持ASM(Any-Source Multicast,任意信源組播)模型;MLDv2可以直接應用於SSM(Source-Specific Multicast,指定信源組播)模型,而MLDv1則需要在MLD SSM Mapping技術的支持下才能應用於SSM模型。有關ASM和SSM模型的介紹,請參見“IP組播配置指導”中的“組播概述”。

1.1.2  MLDv1工作機製

MLDv1主要基於查詢和響應機製完成對IPv6組播組成員的管理。

1. 查詢器選舉機製

當一個網段內有多台運行MLD的路由器時,由於它們都能從主機那裏收到MLD成員關係報告報文(Multicast Listener Report Message),因此隻需其中一台路由器發送MLD查詢報文(Query Message)即可,該路由器就稱為MLD查詢器(Querier)。這就需要有一個查詢器的選舉機製來確定由哪台路由器作為MLD查詢器,其選舉過程如下:

(1)       所有MLD路由器在初始時都認為自己是查詢器,並向本地網段內的所有主機和路由器發送MLD普遍組查詢(General Query)報文(目的地址為FF02::1);

(2)       本地網段中的其它MLD路由器在收到該報文後,將報文的源IPv6地址與自己的鏈路本地接口地址作比較。通過比較,IPv6地址最小的路由器將成為查詢器,其它路由器成為非查詢器(Non-Querier);

(3)       所有非查詢器上都會啟動一個定時器(即其它查詢器存在時間定時器Other Querier Present Timer)。在定時器超時前,如果收到了來自查詢器的MLD查詢報文,則重置該定時器;否則,就認為原查詢器失效,並發起新的查詢器選舉過程。

2. 加入IPv6組播組機製

圖1-1 MLD查詢響應示意圖

 

 

圖1-1所示,假設Host B與Host C想要收到發往IPv6組播組G1的IPv6組播數據,而Host A想要收到發往IPv6組播組G2的IPv6組播數據,那麼主機加入IPv6組播組以及MLD查詢器(Router B)維護IPv6組播組成員關係的基本過程如下:

(1)       主機會主動向其要加入的IPv6組播組發送MLD成員關係報告報文以聲明加入,而不必等待MLD查詢器發來的MLD查詢報文;

(2)       MLD查詢器(Router B)周期性地以組播方式向本地網段內的所有主機和路由器發送普遍組查詢報文(目的地址為FF02::1);

(3)       在收到該查詢報文後,關注G1的Host B與Host C其中之一(這取決於誰的延遲定時器先超時)——譬如Host B會首先以組播方式向G1發送MLD成員關係報告報文,以宣告其屬於G1。由於本地網段中的所有主機都能收到Host B發往G1的報告報文,因此當Host C收到該報告報文後,將不再發送同樣針對G1的報告報文,因為MLD路由器(Router A和Router B)已知道本地網段中有對G1感興趣的主機了。這個機製稱為主機上的MLD成員關係報告抑製機製,該機製有助於減少本地網段的信息流量;

(4)       與此同時,由於Host A關注的是G2,所以它仍將以組播方式向G2發送報告報文,以宣告其屬於G2;

(5)       經過以上的查詢和響應過程,MLD路由器了解到本地網段中有G1和G2的成員,於是由IPv6組播路由協議(如IPv6 PIM)生成(*,G1)和(*,G2)組播轉發項作為IPv6組播數據的轉發依據,其中的“*”代表任意IPv6組播源;

(6)       當由IPv6組播源發往G1或G2的IPv6組播數據經過組播路由到達MLD路由器時,由於MLD路由器上存在(*,G1)和(*,G2)組播轉發項,於是將該IPv6組播數據轉發到本地網段,接收者主機便能收到該IPv6組播數據了。

3. 離開IPv6組播組機製

當一個主機離開某IPv6組播組時:

(1)       該主機向本地網段內的所有IPv6組播路由器(目的地址為FF02::2)發送離開組(Done)報文;

(2)       當查詢器收到該報文後,向該主機所聲明要離開的那個IPv6組播組發送特定組查詢(Multicast-Address-Specific Query)報文(目的地址字段和組地址字段均填充為所要查詢的IPv6組播組地址);

(3)       如果該網段內還有該IPv6組播組的其它成員,則這些成員在收到特定組查詢報文後,會在該報文中所設定的最大響應時間(Maximum Response Delay)內發送成員關係報告報文;

(4)       如果在最大響應時間內收到了該IPv6組播組其它成員發送的成員關係報告報文,查詢器就會繼續維護該IPv6組播組的成員關係;否則,查詢器將認為該網段內已無該IPv6組播組的成員,於是不再維護這個IPv6組播組的成員關係。

1.1.3  MLDv2的改進

MLDv2在兼容和繼承MLDv1的基礎上,進一步增強了主機的控製能力,並增強了MLD狀態。

1. 主機控製能力的增強

MLDv2增加了針對IPv6組播源的過濾模式(INCLUDE/EXCLUDE),使主機在加入某IPv6組播組G的同時,能夠明確要求接收或拒絕來自某特定IPv6組播源S的IPv6組播信息。當主機加入IPv6組播組時:

·            若要求隻接收來自指定IPv6組播源如S1、S2、……發來的IPv6組播信息,則其報告報文中可以標記為INCLUDE Sources(S1,S2,……);

·            若拒絕接收來自指定IPv6組播源如S1、S2、……發來的IPv6組播信息,則其報告報文中可以標記為EXCLUDE Sources(S1,S2,……)。

圖1-2所示,網絡中存在Source 1(S1)和Source 2(S2)兩個IPv6組播源,均向IPv6組播組G發送IPv6組播報文。Host B僅對從Source 1發往G的信息感興趣,而對來自Source 2的信息沒有興趣。

圖1-2 指定源組的IPv6組播流路經

 

如果主機與路由器之間運行的是MLDv1,Host B加入IPv6組播組G時無法對IPv6組播源進行選擇,因此無論Host B是否需要,來自Source 1和Source 2的IPv6組播信息都將傳遞給Host B。

當主機與路由器之間運行了MLDv2之後,Host B就可以要求隻接收來自Source 1、發往G的IPv6組播信息(S1,G),或要求拒絕來自Source 2、發往G的IPv6組播信息(S2,G),這樣就隻有來自Source 1的IPv6組播信息才能傳遞給Host B了。

2. MLD狀態的增強

運行MLDv2的組播路由器按每條直連鏈路上的組播地址(per multicast address per attached link)來保持IPv6組播組的狀態。IPv6組播組的狀態包括:

·            過濾模式:保持對INCLUDE或EXCLUDE的狀態跟蹤。

·            源列表:保持對新增或刪除IPv6組播源的跟蹤。

·            定時器:表示IPv6組播地址超時後切換到INCLUDE模式的過濾定時器、關於源記錄的源定時器等。

1.1.4  MLD SSM Mapping

MLD SSM Mapping通過在路由器上配置SSM靜態映射規則,從而為運行MLDv1的接收者主機提供對SSM模型的支持。

SSM模型要求在接收者主機所在的網段,路由器能夠了解主機加入IPv6組播組時所指定的IPv6組播源。如果接收者主機上運行的是MLDv2,則可以在MLDv2的報告報文中直接指定IPv6組播源的地址;如果某些接收者主機隻能運行MLDv1,則在MLDv1的報告報文中無法指定IPv6組播源的地址。這種情況下需要通過在路由器上配置MLD SSM Mapping規則,將MLDv1報告報文中所包含的(*,G)信息映射為(G,INCLUDE,(S1,S2...))信息。

圖1-3 MLD SSM Mapping組網圖

 

 

在如圖1-3所示的IPv6 SSM網絡中,Host A、Host B和Host C上分別運行MLDv1和MLDv2。在不允許將Host A和Host B升級為MLDv2的情況下,若要為Host A和Host B也提供SSM組播服務,則需在Router A上配置MLD SSM Mapping規則。

配置完成後,當Router A收到來自主機的MLDv1報告報文時,首先檢查該報文中所攜帶的IPv6組播組地址G,然後根據檢查結果的不同分別進行處理:

(1)       如果G不在IPv6 SSM組地址範圍內,則提供ASM組播服務。

(2)       如果G在IPv6 SSM組地址範圍內:

·            若Router A上沒有G對應的MLD SSM Mapping規則,則無法提供SSM組播服務,丟棄該報文;

·            若Router A上有G對應的MLD SSM Mapping規則,則依據規則將報告報文中所包含的(*,G)信息映射為(G,INCLUDE,(S1,S2...))信息,可以提供SSM組播服務。

說明

MLD SSM Mapping不對MLDv2的報告報文進行處理。

有關IPv6 SSM組地址範圍的介紹,請參見“IP組播配置指導”中的“IPv6 PIM”。

 

1.1.5  MLD代理

在如圖1-4所示的一些簡單網絡拓撲中,諸如Router B之類的邊緣設備上並不需要運行IPv6 PIM等複雜的IPv6組播路由協議,可以通過在這些設備上配置MLD代理功能,使其在上遊的MLD查詢器和下遊的接收者主機之間充當代理者:

·            對於MLD查詢器來說,MLD代理設備的行為就像一台主機。

·            對於主機來說,MLD代理設備的行為就像一台MLD查詢器。

圖1-4 MLD代理組網圖

 

 

為了便於理解,MLD代理中定義了兩種類型的接口:

·            主機接口:麵向組播分發樹樹根方向的接口,執行MLD協議的主機行為。由於此接口上需開啟MLD代理功能,因此也稱為代理接口。

·            路由器接口:麵向組播分發樹樹葉方向的接口,執行MLD協議的路由器行為。在此接口上需使能並配置MLD。

MLD代理設備上維護著一個組成員關係數據庫,記錄所有路由器接口維護的組成員關係。主機接口和路由器接口正是依據這個數據庫來執行相應的行為:

·            主機接口收到查詢報文後根據當前的組成員關係來響應報告報文,或者當組成員關係改變時發送報告報文或離開報文。

·            路由器接口參與下遊查詢器的選舉,發送查詢報文,並根據主機發來的報告報文維護組成員關係。

1.1.6  多實例的MLD

MLD依據接口來維護組成員關係,各實例的MLD根據接口所屬的實例來處理協議報文的收發。當路由器收到MLD報文時,需要區分該報文所屬的實例,並在該實例範圍內對其進行處理。當某實例內的MLD需要和其它IPv6組播協議交互信息時,隻會通知本實例內的其它IPv6組播協議。

1.1.7  協議規範

與MLD相關的協議規範有:

·            RFC 2710:Multicast Listener Discovery (MLD) for IPv6

·            RFC 3810:Multicast Listener Discovery Version 2 (MLDv2) for IPv6

1.2  MLD配置任務簡介

表1-1 MLD配置任務簡介

配置任務

說明

詳細配置

配置MLD基本功能

使能MLD

必選

1.3.2 

配置MLD版本

可選

1.3.3 

配置靜態加入

可選

1.3.4 

配置IPv6組播組過濾器

可選

1.3.5 

調整MLD性能

配置MLD查詢和響應

可選

1.4.2 

配置IPv6組播組成員快速離開

可選

1.4.3 

配置MLD SSM Mapping

可選

1.5.2 

配置MLD代理

開啟MLD代理功能

可選

1.6.2 

配置非查詢器轉發功能

可選

1.6.3 

配置MLD代理的負載分擔功能

可選

1.6.4 

開啟MLD NSR功能

可選

1.7 

 

1.3  配置MLD基本功能

1.3.1  配置準備

在配置MLD基本功能之前,需完成以下任務:

·            配置任一IPv6單播路由協議,實現網絡層互通

·            配置IPv6 PIM協議

在配置MLD基本功能之前,需準備以下數據:

·            MLD的版本

·            以靜態方式加入的IPv6組播組和IPv6組播源的地址

·            IPv6組播組過濾的ACL規則

1.3.2  使能MLD

在需要建立和維護IPv6組播組成員關係的接口上使能MLD。

表1-2 使能MLD

操作

命令

說明

進入係統視圖

system-view

-

使能IPv6組播路由,並進入IPv6 MRIB視圖

ipv6 multicast routing [ vpn-instance vpn-instance-name ]

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

本命令的詳細介紹請參見“IP組播命令參考”中的“IPv6組播路由與轉發”

退回係統視圖

quit

-

進入接口視圖

interface interface-type interface-number

-

使能MLD

mld enable

缺省情況下,沒有使能MLD

 

1.3.3  配置MLD版本

由於不同版本MLD協議的報文結構與種類不同,因此需要為同一網段上的所有路由器配置相同版本的MLD,否則MLD將不能正常運行。

表1-3 配置MLD版本

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖

interface interface-type interface-number

-

配置MLD的版本

mld version version-number

缺省情況下,MLD的版本為MLDv1

 

1.3.4  配置靜態加入

在配置了靜態加入IPv6組播組或組播源組後,接口將作為該IPv6組播組的虛擬組成員存在,從而可以接收發往該組的IPv6組播數據,以測試IPv6組播數據的轉發。

在配置了靜態加入後,接口並不會對MLD查詢器發出的查詢報文進行響應;當配置靜態加入或取消靜態加入的配置時,接口也不會主動發送MLD成員關係報告報文或MLD離開組報文。也就是說,該接口並沒有真正成為該IPv6組播組的成員。

提示

在運行IPv6 PIM-SM的設備上配置靜態加入時,如果待配接口上同時使能了MLD和IPv6 PIM-SM,則該接口必須為IPv6 PIM-SM的DR,否則該接口將不能加入IPv6組播組或組播源組;如果待配接口上使能了MLD但未使能IPv6 PIM-SM,則該接口必須為MLD查詢器,否則該接口也不能加入IPv6組播組或組播源組。有關IPv6 PIM-SM和DR的介紹,請參見“IP組播配置指導”中的“IPv6 PIM”。

 

表1-4 配置靜態加入

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖

interface interface-type interface-number

-

配置靜態加入IPv6組播組或組播源組

mld static-group ipv6-group-address [ source ipv6-source-address ]

缺省情況下,接口沒有以靜態方式加入任何IPv6組播組或組播源組

 

1.3.5  配置IPv6組播組過濾器

如果不希望接口所在網段上的主機加入某些IPv6組播組,可在該接口上配置IPv6 ACL規則作為過濾器,接口將按照該規則對收到的MLD成員關係報告報文進行過濾,隻為該規則所允許的IPv6組播組維護組成員關係。

表1-5 配置IPv6組播組過濾器

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖

interface interface-type interface-number

-

配置IPv6組播組過濾器

mld group-policy ipv6-acl-number [ version-number ]

缺省情況下,接口上不存在IPv6組播組過濾器,即該接口下的主機可以加入任意IPv6組播組

 

說明

由於IPv6組播組過濾器隻能過濾MLD報文,因此無法對接口靜態加入IPv6組播組或組播源組進行限製。

 

1.4  調整MLD性能

1.4.1  配置準備

在調整MLD性能之前,需完成以下任務:

·            配置任一IPv6單播路由協議,實現網絡層互通

·            配置MLD基本功能

1.4.2  配置MLD查詢和響應

MLD查詢器的健壯係數是為了彌補可能發生的網絡丟包而設置的報文重傳次數,重傳次數越多,MLD查詢器就越“健壯”,但是組播組超時所需的時間也就越長。

當MLDv1/v2查詢器啟動時,會以“MLD查詢器啟動查詢間隔”為時間間隔發送“MLD查詢器啟動查詢次數”次MLD普遍組查詢報文,以快速判斷當前網絡中是否有IPv6組播組成員。

當MLDv1/v2查詢器啟動後,會周期性地發送MLD普遍組查詢報文,以判斷網絡中是否有IPv6組播組成員,這個發送間隔就是“MLD普遍組查詢報文的發送間隔”,可以根據網絡的實際情況來調整此間隔。

當MLDv1查詢器收到MLD離開組報文後,會以“MLD最後組成員查詢間隔”為時間間隔發送“MLD最後組成員查詢次數”次MLD特定組查詢報文;當MLDv2查詢器收到改變IPv6組播組與IPv6組播源列表關係的MLD報告報文後,也會以同樣的間隔和次數發送MLD特定源組查詢報文。

在收到MLD查詢報文(包括普遍組查詢、特定組查詢和特定源組查詢)後,主機會為其所加入的每個IPv6組播組都啟動一個延遲定時器,其值在0到最大響應時間(該時間值從MLD查詢報文的最大響應時間字段獲得)中隨機選定,當定時器的值減為0時,主機就會向該定時器對應的IPv6組播組發送MLD成員關係報告報文。合理配置MLD查詢報文的最大響應時間,既可以使主機對MLD查詢報文做出快速響應,又可以減少由於定時器同時超時,造成大量主機同時發送報告報文而引起的網絡擁塞:

·            對於MLD普遍組查詢報文來說,通過配置MLD普遍組查詢報文的最大響應時間來填充其最大響應時間字段;

·            對於MLD特定組查詢報文和MLD特定源組查詢報文來說,所配置的MLD最後組成員查詢間隔將被填充到其最大響應時間字段。也就是說,MLD特定組查詢和MLD特定源組查詢的最大響應時間在數值上等於MLD最後組成員查詢間隔。

當同一網段上有多台MLD路由器時,由查詢器負責發送MLD查詢報文。如果非查詢器在“MLD其它查詢器存在時間”超時前未收到來自查詢器的MLD查詢報文,就會認為原查詢器失效,從而觸發新的查詢器選舉過程;否則,非查詢器將重置“MLD其它查詢器存在時間定時器”。

用戶既可在MLD視圖下對所有接口進行全局配置,也可在接口視圖下隻對當前接口進行配置,後者的配置優先級較高。

提示

應確保MLD其它查詢器的存在時間大於MLD普遍組查詢報文的發送間隔,且同一網段所有MLD路由器上MLD其它查詢器的存在時間應該相同,否則都有可能導致網絡內的MLD查詢器反複變化。

應確保MLD普遍組查詢報文的發送間隔大於MLD普遍組查詢報文的最大響應時間,否則有可能造成對IPv6組播組成員的誤刪。

 

1. 全局配置MLD查詢和響應

表1-6 全局配置MLD查詢和響應

操作

命令

說明

進入係統視圖

system-view

-

進入MLD視圖

mld [ vpn-instance vpn-instance-name ]

-

配置MLD查詢器的健壯係數

robust-count count

缺省情況下,MLD查詢器的健壯係數為2

配置MLD查詢器的啟動查詢間隔

startup-query-interval interval

缺省情況下,MLD查詢器的啟動查詢間隔為MLD普遍組查詢報文發送間隔的1/4

配置MLD查詢器的啟動查詢次數

startup-query-count count

缺省情況下,MLD查詢器的啟動查詢次數等於MLD查詢器的健壯係數

配置MLD普遍組查詢報文的發送間隔

query-interval interval

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

配置MLD最後組成員查詢間隔

last-listener-query-interval interval

缺省情況下,MLD最後組成員查詢間隔為1秒

配置MLD最後組成員查詢次數

last-listener-query-count count

缺省情況下,MLD最後組成員查詢次數等於MLD查詢器的健壯係數

配置MLD普遍組查詢報文的最大響應時間

max-response-time time

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

配置MLD其它查詢器的存在時間

other-querier-present-timeout time

缺省情況下,MLD其它查詢器的存在時間=MLD普遍組查詢報文的發送間隔×MLD查詢器的健壯係數+MLD普遍組查詢的最大響應時間÷2

 

2. 在接口上配置MLD查詢和響應

表1-7 在接口上配置MLD查詢和響應

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖

interface interface-type interface-number

-

配置MLD查詢器的健壯係數

mld robust-count count

缺省情況下,MLD查詢器的健壯係數為2

配置MLD查詢器的啟動查詢間隔

mld startup-query-interval interval

缺省情況下,MLD查詢器的啟動查詢間隔為MLD普遍組查詢報文發送間隔的1/4

配置MLD查詢器的啟動查詢次數

mld startup-query-count count

缺省情況下,MLD查詢器的啟動查詢次數等於MLD查詢器的健壯係數

配置MLD普遍組查詢報文的發送間隔

mld query-interval interval

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

配置MLD最後組成員查詢間隔

mld last-listener-query-interval interval

缺省情況下,MLD最後組成員查詢間隔為1秒

配置MLD最後組成員查詢次數

mld last-listener-query-count count

缺省情況下,MLD最後組成員查詢次數等於MLD查詢器的健壯係數

配置MLD普遍組查詢報文的最大響應時間

mld max-response-time time

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

配置MLD其它查詢器的存在時間

mld other-querier-present-timeout time

缺省情況下,MLD其它查詢器的存在時間=MLD普遍組查詢報文的發送間隔×MLD查詢器的健壯係數+MLD普遍組查詢的最大響應時間÷2

 

1.4.3  配置IPv6組播組成員快速離開

在某些應用(如ADSL撥號上網)中,MLD查詢器的一個端口唯一對應著一台接收者主機,當主機在多個IPv6組播組間頻繁切換(如進行電視選台)時,為了快速響應主機的離開組報文,可以在MLD查詢器上開啟IPv6組播組成員快速離開功能。

在開啟了IPv6組播組成員快速離開功能之後,當MLD查詢器收到來自主機的離開組報文時,不再發送MLD特定組查詢報文或MLD特定源組查詢報文,而是直接向上遊發送離開通告,這樣一方麵減小了響應延遲,另一方麵也節省了網絡帶寬。

表1-8 配置IPv6組播組成員快速離開

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖

interface interface-type interface-number

-

開啟IPv6組播組成員快速離開功能

mld fast-leave [ group-policy ipv6-acl-number ]

缺省情況下,IPv6組播組成員快速離開功能處於關閉狀態

 

1.5  配置MLD SSM Mapping

在IPv6 SSM網絡中,由於各種可能的限製,某些接收者主機隻能運行MLDv1。為了向這些僅支持MLDv1的接收者主機提供SSM服務,可以在路由器上配置MLD SSM Mapping規則。

提示

為防止本網段內運行MLDv2的主機無法加入組播組,請在該網段麵向主機的接口上運行MLDv2。

 

1.5.1  配置準備

在配置MLD SSM Mapping規則之前,需完成以下任務:

·            配置任一IPv6單播路由協議,實現域內網絡層互通

·            配置MLD基本功能

1.5.2  配置過程

表1-9 配置MLD SSM Mapping

操作

命令

說明

進入係統視圖

system-view

-

進入MLD視圖

mld [ vpn-instance vpn-instance-name ]

-

配置MLD SSM Mapping規則

ssm-mapping ipv6-source-address ipv6-acl-number

缺省情況下,不存在 MLD SSM Mapping規則

 

1.6  配置MLD代理

在MLD代理設備上,請先根據網絡拓撲確定其路由器接口和主機接口,然後在路由器接口上使能並配置MLD,在主機接口上開啟MLD代理功能。

1.6.1  配置準備

在配置MLD代理之前,需完成以下任務:

·            配置任一IPv6單播路由協議,實現域內網絡層互通

1.6.2  配置MLD代理功能

確定了主機接口之後,請在該接口上開啟MLD代理功能。

提示

一個接口上如果同時開啟MLD代理功能和MLD協議,MLD協議將不會生效。在已開啟MLD代理功能的接口上配置其它MLD命令時,隻有mld version命令會生效。

如果在一台設備上同時開啟MLD代理功能和IPv6組播路由協議(如IPv6 PIM),IPv6組播路由協議將不會生效。

 

表1-10 配置MLD代理功能

操作

命令

說明

進入係統視圖

system-view

-

使能IPv6組播路由,並進入IPv6 MRIB視圖

ipv6 multicast routing [ vpn-instance vpn-instance-name ]

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

本命令的詳細介紹請參見“IP組播命令參考”中的“IPv6組播路由與轉發”

退回係統視圖

quit

-

進入接口視圖

interface interface-type interface-number

-

開啟MLD代理功能

mld proxy enable

缺省情況下,MLD代理功能處於關閉狀態

 

1.6.3  配置非查詢器轉發功能

IPv6組播數據通常隻被查詢器轉發,非查詢器不具備組播轉發能力,這樣可避免IPv6組播數據被重複轉發。但如果MLD代理設備的路由器接口未能當選查詢器,應在該接口上開啟非查詢器轉發功能,否則下遊主機將無法收到IPv6組播數據。

提示

在共享網段內存在多台MLD代理設備的情況下,如果其中一台MLD代理設備的路由器接口已當選為查詢器,不應再在其它MLD代理設備的路由器接口上開啟非查詢器轉發功能,否則該網段將收到多份重複的IPv6組播數據。

 

表1-11 配置非查詢器轉發功能

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖

interface interface-type interface-number

-

開啟非查詢器轉發功能

mld proxy forwarding

缺省情況下,非查詢器轉發功能處於關閉狀態

 

1.6.4  配置MLD代理的負載分擔功能

當在MLD代理設備的多個接口上開啟了MLD代理功能時:

·            如果關閉了MLD代理的負載分擔功能,則隻有IPv6地址最大的接口會轉發IPv6組播流量。

·            如果開啟了MLD代理的負載分擔功能,則可通過這些接口對IPv6組播流量按組進行負載分擔。

表1-12 配置MLD代理的負載分擔功能

操作

命令

說明

進入係統視圖

system-view

-

進入MLD視圖

mld [ vpn-instance vpn-instance-name ]

-

開啟MLD代理的負載分擔功能

proxy multipath

缺省情況下,MLD代理的負載分擔功能處於關閉狀態

 

1.7  開啟MLD NSR功能

NSR(Nonstop Routing,不間斷路由)通過將MLD的運行接口以及組播組等信息備份到備進程,從而避免了主備倒換對轉發業務的影響。

NSR特性不需要周邊設備的配合,設備自身可以將運行接口和組播組等信息進行恢複。

表1-13 開啟MLD NSR功能

操作

命令

說明

進入係統視圖

system-view

-

開啟MLD NSR功能

mld non-stop-routing

缺省情況下,MLD NSR功能處於關閉狀態

 

1.8  MLD顯示和維護

注意

執行reset mld group命令可能導致接收者中斷IPv6組播信息的接收。

 

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

在用戶視圖下執行reset命令可以清除MLD的統計信息。

表1-14 MLD顯示和維護

操作

命令

顯示MLD組播組的信息

display mld [ vpn-instance vpn-instance-name ] group [ ipv6-group-address | interface interface-type interface-number ] [ static | verbose ]

顯示接口上MLD配置和運行信息

display mld [ vpn-instance vpn-instance-name ] interface [ interface-type interface-number ] [ proxy ] [ verbose ]

顯示MLD代理記錄的IPv6組播組信息

display mld [ vpn-instance vpn-instance-name ] proxy group [ ipv6-group-address | interface interface-type interface-number ] [ verbose ]

顯示MLD代理路由表的信息

display mld [ vpn-instance vpn-instance-name ] proxy routing-table [ ipv6-source-address [ prefix-length ] | ipv6-group-address [ prefix-length ] ] * [ verbose ]

顯示MLD SSM Mapping規則

display mld [ vpn-instance vpn-instance-name ] ssm-mapping ipv6-group-address

清除MLD組的動態加入記錄

reset mld [ vpn-instance vpn-instance-name ] group { all | interface interface-type interface-number { all | ipv6-group-address [ prefix-length ] [ ipv6-source-address [ prefix-length ] ] } }

 

1.9  MLD典型配置舉例

1.9.1  MLD基本功能配置舉例

1. 組網需求

·            網絡中運行OSPFv3和IPv6 PIM-DM,接收者通過組播方式接收視頻點播信息,不同組織的接收者組成末梢網絡N1和N2,Host A與Host C分別為N1和N2中的組播信息接收者。

·            Switch A通過Vlan-interface100連接N1,通過Vlan-interface101連接IPv6 PIM網絡中的其它設備。

·            Switch B與Switch C分別通過各自的Vlan-interface200連接N2,並分別通過Vlan-interface201和Vlan-interface202連接IPv6 PIM網絡中的其它設備。

·            Switch A與N1之間運行MLDv1,Switch A為MLD查詢器;Switch B、Switch C與N2之間也分別運行MLDv1,且由於Switch B的接口IPv6地址較小,因此由其充當MLD查詢器。

·            通過配置,使N1中的主機隻能加入IPv6組播組FF1E::101,而對N2中的主機則無任何限製。

2. 組網圖

圖1-5 MLD基本功能配置組網圖

 

3. 配置步驟

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

請按照圖1-5配置各接口的IPv6地址和前綴長度,並在IPv6 PIM-DM域內的各交換機上配置OSPFv3協議,具體配置過程略。

(2)       使能IPv6組播路由,並使能IPv6 PIM-DM和MLD

# 在Switch A上使能IPv6組播路由,在接口Vlan-interface101上使能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 101

[SwitchA-Vlan-interface101] ipv6 pim dm

[SwitchA-Vlan-interface101] quit

# 在Switch B上使能IPv6組播路由,在接口Vlan-interface201上使能IPv6 PIM-DM,並在接口Vlan-interface200上使能MLD。

<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 201

[SwitchB-Vlan-interface201] ipv6 pim dm

[SwitchB-Vlan-interface201] quit

# 在Switch C上使能IPv6組播路由,在接口Vlan-interface202上使能IPv6 PIM-DM,並在接口Vlan-interface200上使能MLD。

<SwitchC> system-view

[SwitchC] ipv6 multicast routing

[SwitchC-mrib6] quit

[SwitchC] interface vlan-interface 200

[SwitchC-Vlan-interface200] mld enable

[SwitchC-Vlan-interface200] quit

[SwitchC] interface vlan-interface 202

[SwitchC-Vlan-interface202] ipv6 pim dm

[SwitchC-Vlan-interface202] quit

(3)       配置IPv6組播組過濾器

# 在Switch A上限定接口Vlan-interface100下的主機隻能加入IPv6組播組FF1E::101。

[SwitchA] acl ipv6 basic 2001

[SwitchA-acl-ipv6-basic-2001] rule permit source ff1e::101 128

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

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] mld group-policy 2001

[SwitchA-Vlan-interface100] quit

4. 驗證配置

# 在Switch B上顯示接口Vlan-interface200上MLD配置和運行的信息。

[SwitchB] display mld interface vlan-interface 200

 Vlan-interface200(FE80::200:5EFF:FE66:5100):

   MLD is enabled.

   MLD version: 1

   Query interval for MLD: 125s

   Other querier present time for MLD: 255s

   Maximum query response time for MLD: 10s

   Querier for MLD: FE80::200:5EFF:FE66:5100 (This router)

  MLD groups reported in total: 1

1.9.2  MLD SSM Mapping配置舉例

1. 組網需求

·            運行OSPFv3協議的IPv6 PIM-SM網絡中同時采用ASM和SSM方式提供IPv6組播服務,將Switch D的接口Vlan-interface104配置為C-BSR和C-RP,IPv6 SSM組播組的範圍為FF3E::/64。

·            Switch D的接口Vlan-interface400上運行MLDv2,接收者主機上運行MLDv1,且不能升級至MLDv2,因此該主機在加入IPv6組播組時無法指定IPv6組播源。

·            Source 1、Source 2和Source 3都向IPv6 SSM組範圍內的組播組發送IPv6組播數據,要求通過在Switch D上配置MLD SSM Mapping規則,使接收者主機隻能接收來自Source 1和Source 3的IPv6組播數據。

2. 組網圖

圖1-6 MLD SSM Mapping配置組網圖

 

設備

接口

IPv6地址

設備

接口

IPv6地址

Source 1

-

1001::1/64

Source 3

-

3001::1/64

Source 2

-

2001::1/64

Receiver

-

4001::1/64

Switch A

Vlan-int100

1001::2/64

Switch C

Vlan-int300

3001::2/64

 

Vlan-int101

1002::1/64

 

Vlan-int103

3002::1/64

 

Vlan-int104

1003::1/64

 

Vlan-int102

2002::2/64

Switch B

Vlan-int200

2001::2/64

Switch D

Vlan-int400

4001::2/64

 

Vlan-int101

1002::2/64

 

Vlan-int103

3002::2/64

 

Vlan-int102

2002::1/64

 

Vlan-int104

1003::2/64

 

3. 配置步驟

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

請按照圖1-6配置各接口的IPv6地址和前綴長度,並在IPv6 PIM-SM域內的各交換機上配置OSPFv3協議,具體配置過程略。

(2)       使能IPv6組播路由,並使能IPv6 PIM-SM和MLD

# 在Switch D上使能IPv6組播路由,在主機側接口Vlan-interface400上使能MLD,配置MLD版本為2;並在其它接口上使能IPv6 PIM-SM。

<SwitchD> system-view

[SwitchD] ipv6 multicast routing

[SwitchD-mrib6] quit

[SwitchD] interface vlan-interface 400

[SwitchD-Vlan-interface400] mld enable

[SwitchD-Vlan-interface400] mld version 2

[SwitchD-Vlan-interface400] quit

[SwitchD] interface vlan-interface 103

[SwitchD-Vlan-interface103] ipv6 pim sm

[SwitchD-Vlan-interface103] quit

[SwitchD] interface vlan-interface 104

[SwitchD-Vlan-interface104] ipv6 pim sm

[SwitchD-Vlan-interface104] quit

# 在Switch A上使能IPv6組播路由,並在各接口上使能IPv6 PIM-SM。

<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] interface vlan-interface 104

[SwitchA-Vlan-interface104] ipv6 pim sm

[SwitchA-Vlan-interface104] quit

Switch B和Switch C的配置與Switch A相似,配置過程略。

(3)       配置C-BSR和C-RP

# 在Switch D上配置C-BSR和C-RP的位置。

[SwitchD] ipv6 pim

[SwitchD-pim6] c-bsr 1003::2

[SwitchD-pim6] c-rp 1003::2

[SwitchD-pim6] quit

(4)       配置IPv6 SSM組播組的地址範圍

# 在Switch D上配置IPv6 SSM組播組的地址範圍為FF3E::/64。

[SwitchD] acl ipv6 basic 2000

[SwitchD-acl-ipv6-basic-2000] rule permit source ff3e:: 64

[SwitchD-acl-ipv6-basic-2000] quit

[SwitchD] ipv6 pim

[SwitchD-pim6] ssm-policy 2000

[SwitchD-pim6] quit

Switch A、Switch B和Switch C的配置與Switch D相似,配置過程略。

(5)       配置MLD SSM Mapping規則

# 在Switch D上配置MLD SSM Mapping規則。

[SwitchD] mld

[SwitchD-mld] ssm-mapping 1001::1 2000

[SwitchD-mld] ssm-mapping 3001::1 2000

[SwitchD-mld] quit

4. 驗證配置

# 顯示Switch D上IPv6組播組FF3E::101對應的MLD SSM Mapping規則。

[SwitchD] display mld ssm-mapping ff3e::101

 Group: FF3E::101

 Source list:

        1001::1

        3001::1

# 顯示Switch D上公網實例中依據MLD SSM Mapping規則創建的MLD組播組信息。

[SwitchD] display mld group

MLD groups in total: 1

 Vlan-interface400(FE80::101):

  MLD groups reported in total: 1

   Group address: FF3E::101

    Last reporter: FE80::1

    Uptime: 00:02:04

    Expires: Off

# 顯示Switch D上公網實例IPv6 PIM路由表的內容。

[SwitchD] display ipv6 pim routing-table

 Total 0 (*, G) entry; 2 (S, G) entry

 

 (1001::1, FF3E::101)

     RP: 1003::2

     Protocol: pim-ssm, Flag:

     UpTime: 00:13:25

     Upstream interface: Vlan-interface104

         Upstream neighbor: 1003::1

         RPF prime neighbor: 1003::1

     Downstream interface(s) information:

     Total number of downstreams: 1

         1: Vlan-interface400

             Protocol: mld, UpTime: 00:13:25, Expires: -

 

 (3001::1, FF3E::101)

     RP: 1003::2

     Protocol: pim-ssm, Flag:

     UpTime: 00:13:25

     Upstream interface: Vlan-interface103

         Upstream neighbor: 3002::1

         RPF prime neighbor: 3002::1

     Downstream interface(s) information:

     Total number of downstreams: 1

         1: Vlan-interface400

             Protocol: mld, UpTime: 00:13:25, Expires: -

1.9.3  MLD代理配置舉例

1. 組網需求

·            核心網絡中運行IPv6 PIM-DM,末梢網絡中的接收者Host A和Host C通過IPv6組播組FF1E::1點播視頻節目。

·            要求通過在Switch B上配置MLD代理,使其在不運行IPv6 PIM-DM的情況下實現組成員關係的維護和IPv6組播數據的正常轉發。

2. 組網圖

圖1-7 MLD代理配置組網圖

 

 

3. 配置步驟

(1)       配置IPv6地址

請按照圖1-7配置各接口的IPv6地址和前綴長度,具體配置過程略。

(2)       使能IPv6組播路由,並使能IPv6 PIM-DM、MLD和MLD代理

# 在Switch A上使能IPv6組播路由,在接口Vlan-interface101上使能IPv6 PIM-DM,並在接口Vlan-interface100上使能MLD。

<SwitchA> system-view

[SwitchA] ipv6 multicast routing

[SwitchA-mrib6] quit

[SwitchA] interface vlan-interface 101

[SwitchA-Vlan-interface101] ipv6 pim dm

[SwitchA-Vlan-interface101] quit

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] mld enable

[SwitchA-Vlan-interface100] quit

# 在Switch B上使能IPv6組播路由,在接口Vlan-interface100上使能MLD代理,並在接口Vlan-interface200上使能MLD。

<SwitchB> system-view

[SwitchB] ipv6 multicast routing

[SwitchB-mrib6] quit

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] mld proxy enable

[SwitchB-Vlan-interface100] quit

[SwitchB] interface vlan-interface 200

[SwitchB-Vlan-interface200] mld enable

[SwitchB-Vlan-interface200] quit

4. 驗證配置

# 在Switch B上顯示MLD代理記錄的所有IPv6組播組信息。

[SwitchB] display mld proxy group

MLD proxy group records in total: 1

 Vlan-interface100(FE80::16:1):

  MLD proxy group records in total: 1

   Group address: FF1E::1

    Member state: Delay

    Expires: 00:00:02

1.10  常見配置錯誤舉例

1.10.1  接收者側路由器上無組成員信息

1. 故障現象

當某主機發送了加入IPv6組播組G的報文後,離該主機最近的路由器上卻沒有IPv6組播組G的組成員信息。

2. 分析

·            組網、接口連線的正確與否以及接口的協議層是否up將直接影響IPv6組播組成員信息的生成;

·            在路由器上必須使能IPv6組播路由,在連接主機的接口上必須使能MLD;

·            如果路由器接口上運行的MLD版本比主機的低,那麼路由器將無法識別主機發來的較高版本的MLD報告報文;

·            如果在接口上使用命令mld group-policy對加入IPv6組播組G進行了限製後,該接口將不再接收未通過過濾的那些要求加入IPv6組播組G的報文。

3. 處理過程

(1)       檢查組網是否正確,接口間的連線是否正確,以及接口狀態是否正常,是否配置了正確的IPv6地址。通過命令display mld interface查看接口信息。若無接口信息輸出,說明接口狀態異常,原因通常是接口上配置了shutdown命令,或者接口連線不正確,或者接口上沒有配置正確的IPv6地址。

(2)       檢查是否使能了IPv6組播路由。通過命令display current-configuration查看是否配置了命令ipv6 multicast routing。若缺少該配置,則需要在係統視圖下執行命令ipv6 multicast routing使能IPv6組播路由,同時也需要在相應接口上使能MLD。

(3)       檢查接口上運行的MLD版本。通過命令display mld interface來檢查接口上運行的MLD版本是否低於主機所使用的版本。

(4)       檢查接口上是否配置了IPv6 ACL規則來限製主機加入IPv6組播組G。通過命令display current-configuration interface觀察是否配置了mld group-policy命令。如果配置的IPv6 ACL規則對加入IPv6組播組G進行了限製,則需要修改該IPv6 ACL規則,允許接受IPv6組播組G的報告報文。

1.10.2  同一網段各路由器上組成員關係不一致

1. 故障現象

在同一網段的不同MLD路由器上,各自維護的組成員關係不一致。

2. 分析

·            運行MLD的路由器為每個接口維護多個參數,各參數之間相互影響,非常複雜。如果同一網段路由器的MLD接口參數配置不一致,必然導致組成員關係的混亂。

·            另外,MLD目前有2個版本,版本不同的MLD路由器與主機之間雖然可以部分兼容,但是連接在同一網段的所有路由器必須運行相同版本的MLD。如果同一網段路由器的MLD版本不一致,也將導致MLD組成員關係的混亂。

3. 處理過程

(1)       檢查MLD配置。通過命令display current-configuration觀察接口上MLD的配置信息。

(2)       在同一網段的所有路由器上執行命令display mld interface來檢查MLD相關定時器的參數,確保配置一致。

(3)       通過命令display mld interface來檢查各路由器上運行的MLD版本是否一致。

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

BOB登陆
官網
聯係我們