MLD協議測試——網絡測試儀實操

一、簡介

1.MLD簡介

MLD
· Multicast Listener Discovery Protocol
· 組播偵聽者發現協議

功能
· 在終端主機和與其直接相鄰的組播路由器之間建立/維護組播組成員關係

標準
· RFC2710: MLD, 1999.10
· RFC3810: MLDv2, 2004.06

其定義是:組播偵聽者發現協議MLD(Multicast Listener Discovery)是負責IPv6組播成員管理的協議,用來在IPv6成員主機和與其直接相鄰的組播路由器之間建立和維護組播組成員關係。MLD通過在成員主機和組播路由器之間交互MLD報文實現組成員管理功能,MLD報文封裝在IPv6報文中。

在功能上:出現於IPv4時代的組播技術,有效解決了單點發送、多點接收的問題,實現了網絡中點到多點的高效數據傳送,能夠大量節約網絡帶寬、降低網絡負載。在IPv6網絡中,組播技術的應用得到了進一步的豐富和加強。MLD可以理解爲IGMP的IPv6版本,兩者的協議行爲完全相同,區別僅僅在於報文格式。

因此,MLD定義了一個IPv6網段內組播路由器與成員主機之間如何建立和維護組成員關係

2.IGMP與MLD

MLDv1的工作機制與IGMPv2相同,基於查詢和響應機制完成對IPv6組播組成員的管理。MLDv2在MLDv1的基礎上,增加的主要功能是成員主機可以指定接收或不接收某些組播源的報文。MLD兩個版本在演進過程中對協議報文的處理是向前兼容的,即運行MLDv2的組播路由器可以識別MLDv1的協議報文

在這裏插入圖片描述

這裏,我們以MLDv1進行舉例:

3.MLDv1工作原理

MLDv1主要基於查詢和響應機制完成對IPv6組播組成員的管理
· 查詢器選舉機制
· 加入IPv6組播組機制
· 離開IPv6組播組機制

MLDv1包含四種報文
· 普遍組查詢報文(General Query):查詢器向共享網絡上所有主機和路由器發送的查詢報文,用於瞭解哪些組播組存在成員;
· 特定組查詢報文(Multicast Address Specific Query):查詢器向共享網段內指定組播組發送的查詢報文,用於查詢該組播組是否存在成員;
· 成員報告報文(Multicast Listener Report):主機向查詢器發送的報告報文,用於申請加入某個組播組或者應答查詢報文;
· 成員離開報文(Multicast Listener Done):主機離開組播組時主動向查詢器發送的報文,用於宣告自己離開了某個組播組。

4.MLDv1:查詢器選舉機制

網段內有多個IPv6組播組路由器時,需要確定一臺路由器作爲查詢器發送查詢報文
· 所有Router都網絡中發送MLD普遍查詢報文;
· 收到其他router的普遍查詢報文後,自行與自己的IPv6地址比較,地址最小的成爲查詢器;
· 所有非查詢器上會啓動一個定時器(Other Querier Present Timer)。在定時器超時前收到來自查詢器的MLD查詢報文,則重置該定時器;否則,認爲查詢器失效,併發起新的查詢器選舉。
在這裏插入圖片描述

5.MLDv1:普遍組查詢和響應機制

通過普遍組查詢和響應,MLD查詢器可以瞭解到該網段內那些組播組存在成員
· MLD查詢器發送目的地址爲FF02::1的普遍查詢報文,收到該查詢報文的組成員啓動定時器;
· 第一個定時器查實的組成員發送針對該組的報告報文;
· 其餘組成員收到此報告報文後,停止定時器,不再發送針對該組的報告報文,此功能被抑制;
· MLD查詢器收到組成員報告報文後,知道本網段內存在組播組G1的成員,並由IPv6組播路由協議生成(*,G1)組播轉發表項,一旦有組播組G1的數據到達路由器,就向該網段轉發。
在這裏插入圖片描述

6.MLDv1:加入IPv6組播組機制

網段內有新成員需要加入組播組時,會主動向MLD查詢器發送報告報文,不必等待普遍查詢報文的到來
· 右圖三個主機分別向G1、G2發送報告報文,MLD查詢器接收到成員報告報文後,瞭解到網段中有G1 和G2的成員,IPv6路由組播協議生成(,G1)和(,G2)組播轉發表項
· MLD查詢器週期性地以組播方式向本網段的所有主機和路由器發送普遍查詢報文,主機分別響應G1和G2的查詢,HostC被HostB的組成員關係報告報文抑制,不發送成員關係報告報文
在這裏插入圖片描述

7.MLDv1:離開IPv6組播組機制

通過離開組機制,MLD查詢器可以及時瞭解到網段內哪些組播組已不存在成員,從而及時更新組成員關係,減少網絡中冗餘的組播流量
· Host B向網段內所有組播路由器發送針對組G1的離開報文;
· MLD查詢器收到離開報文,會發送針對組G1的特定組查詢報文,同時查詢器啓動組成員關係定時器(Timer-Membership);
· 網段內還存在組G1的其他成員Host C,Host C收到特定組查詢報文後會立即發送針對組G1的報告報文,查詢器收到報告報文後會繼續維護該組成員關係;
· 如果網段內不存在組G1的其他成員,查詢器將不會收到針對組G1的報告報文,在組成員關係定時器(Timer-Membership)超時後,查詢器將刪除記錄的(*,G1)組信息。
在這裏插入圖片描述

二、測試用例(以BigTao-V網絡測試儀爲例)

MLD測試用例
測試目的
· 驗證DUT基本的MLD功能
· 驗證組播流量轉發功能

測試步驟
· 按圖連接好拓撲
· 測試儀端口T1連接DUT的G 0/0/1接口
· DUT的G 0/0/1接口配置MLD
· 測試儀端口T2連接DUT的G 0/0/2接口,構建組播數據流量,T1能夠接收到組播數據流量
· DUT的G 0/0/2接口配置PIM IPv6 SM,轉發組播數據流量

預期結果
· 測試儀端口T1模擬的主機可以成功加入組播組
· DUT能夠查到組播成員
· 測試儀T1端口能夠收到T2發送的流量
· 停止MLD協議仿真,測試儀T1端口不能收到T2發送的流量
在這裏插入圖片描述

三、DUT配置
1.使用案例
#-
vlan batch 500 600
#-
multicast ipv6 routing-enable
#-
interface Vlanif500
ipv6 enable
ipv6 address 2010::2/64
mld enable
#-
interface Vlanif600
ipv6 enable
ipv6 address 2020::2/64
pim ipv6 sm
#-

#-
interface GigabitEthernet0/0/21
port link-type access
port default vlan 500
#-
interface GigabitEthernet0/0/22
port link-type access
port default vlan 600
#-

四、測試儀配置

1.準備工作: 添加機框
在這裏插入圖片描述

2.準備工作: 預約端口
在這裏插入圖片描述

3.添加Interface
在這裏插入圖片描述
在這裏插入圖片描述

4.修改Interface
· 使能“啓用網關MAC地址學習”
· 地址數量,代表模擬的主機個數
· IPv6地址,代表主機的起始IP
· IPv6網關地址,代表對接端口的IPv6地址
· IPv6 Link Local地址,鏈路本地地址
在這裏插入圖片描述
在這裏插入圖片描述

5.新建MLD協議
在這裏插入圖片描述

6.編輯MLD協議
· 選擇MLD協議版本,本例採用MLDv1版本
· 將Interface和MLD協議關聯
在這裏插入圖片描述

7.添加組播組
操作步驟
· 選中MLDv1
· 點擊 “編輯MLD組成員關係”
· 編輯組播起始地址和組播地址個數
在這裏插入圖片描述

8.配置驗證流量
操作步驟
· 添加T2到T1的流
· 源MAC填寫任意單播地址(也可以不修改);目MAC填寫對應組播組的MAC地址,比如ff1e::1對應的組播MAC地址是3333-0000-0001
· 源IPv6和DUT對端IPv6設置成同網段,本例中編輯爲2020::10;目的IPv6填寫T1所添·加的組播組的IP地址ff1e::1
在這裏插入圖片描述
在這裏插入圖片描述

9.啓動MLD
· 主機狀態變爲“Member”表示添加組播組成功
· 可在DUT上查看加入組播組狀態,發送報告報文的主機是FE80::200:10FF:FE00:1,加入的組播組是FF1E::1
在這裏插入圖片描述
在這裏插入圖片描述

10.發流驗證
訂閱“Port Stream Statistic”統計

發流驗證
· 選中流量
· 點擊s發送

沒有丟包,說明組播流量可以正常轉發,與預期結果一致
在這裏插入圖片描述

點擊“停止MLD協議”

流量不通,說明主機離開了組播組ff1e::1,與預期結果一致
在這裏插入圖片描述

11.查看幫助文檔
在“幫助”文檔中查看更詳細信息
在這裏插入圖片描述
以上就是MLD協議測試的全部內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章