IGMP協議測試實操(信而泰原創文章)

一、前言:

IGMP協議用于IPv4系統向任何鄰居組播路由器報告其組播成員資格。IP組播路由器自己本身也可以是一到多個組播組的成員。這時,組播路由器要實現協議的組播路由器部分。

IGMP存在三個不同版本,Version 1在RFC-1112中聲明,是第一個廣泛使用的IGMP版本;Version 2在RFC-2236中聲明,添加了“低離開延遲”和特定組查詢功能;Version 3在RFC-3376中聲明,添加了“源過濾”機制。允許系統選擇想要接收的特定組播源或者排除不想接收的特定組播源。

IGMPv3同路由器的交互過程同IGMPv2相同。但是在IGMP v1\v2中,主機只依據組地址來決定加入某個組并從任何一個源接收發給該組地址的組播流。下面我們通過一個表格來直觀的對比一下:


二、IGMPv1/v2/v3對比

img1

接下來,我們以IGMPv3為例,并利用BigTao-V系列網絡測試儀進行協議測試實操


三、IGMP協議測試驗證(以V3為例)

IGMPv3 典型場景

目的

·驗證IGMPv3的加入/離開/查詢機制

測試儀配置

·測試儀Port1模擬2個組播源, 發送組播數據, 組播源IP分別是30.1.1.2, 30.1.1.3

·測試儀Port2模擬IGMPv3主機, 加入組播組(232.1.1.1)

路由器配置

·在2個接口上分別IP地址

·在2個接口上需要啟用PIM

img2

路由器配置命令思科路由器為例

!

ip multicast-routing

!

interface GigabitEthernet1/0/1

 ip address 30.1.1.1 255.255.255.0

 ip pim sparse-mode

!

interface GigabitEthernet1/0/2

 ip address 192.168.1.1 255.255.255.0

 ip pim sparse-mode

 ip igmp version 3

!

ip pim rp-address 30.1.1.1

!

ip pim ssm default

!


配置步驟

·全局啟用組播路由

·在2個接口上啟用PIM

·配置RP地址(靜態)


G1/0/2配置IGMPv3版本

·接口啟用PIM以后, IGMP自動啟用

·路由器默認版本為IGMPv2


啟動SSM

·默認是PIM SM模式, 一定要為SSM才行


準備工作: 添加機框

img3

準備工作: 預約端口

img4

IGMPv3協議測試驗證

IGMPv3 主機配置

選擇IGMP向導

img5


選擇端口

·選擇Port2模擬主機

img6


選擇封裝

默認配置

img7


配置接口

默認配置

img8

配置鏈路層

·可以默認

·也可以修改MAC地址

img9


配置網絡層

·IPv4地址: 模擬的host地址

·IPv4網關: 路由器接口地址

img10



配置IGMP

·版本: IGMPv3

·過濾模式: include

·起始地址: 30.1.1.2

·“想要接收 源為30.1.1.2, 組為232.1.1.1的組播流量

img11


預覽IGMP

預覽IGMP

img12

查看IGMP配置: 自動生成

查看配置

·在Port2下自動生成IGMP 配置

img13



查看IGMP配置: 組播組

img14


學習ARP

img15


IGMPv3組播流配置

添加IPv4接口

·模擬組播服務器

·進行兩次操作, 添加2個接口

img16


編輯IPv4接口

img17



學習ARP

img18


添加組播流

·使用綁定流量來配置會更簡單

·綁定流量會自動的完成組播IP到組播MAC轉換

img19



選擇端口

兩個端口都需要選擇

img20

選擇端點

多對多模式

選擇端點

·源: 組播源接口

·目的: 組播組

img21


常規配置

·幀長度

·凈荷等

img22



幀內容

自動填充

·不需要手工填寫

幀內容: 第一條流預覽

·目的MAC: 232.1.1.1對應的組播MAC

·源MAC: 組播源接口的MAC

·源IP: 組播源接口的IP

·目的IP: 組播組的地址

img23



接收端口

默認配置

img24


查看組播流量

自動創建2條組播流量

·模擬兩個不同的組播源

·修改流名稱(可選)

img25



IGMPv3結果查看

修改流發送模式

·負載類型: 基于流

·負載單位: 百分比

img26


修改負載大小

負載大小

·源1發送的修改為20%, 即200M

·源2發送的修改為30%, 即300M

img27


發送組播流

發送2條組播流

查看統計

·Port1有發送統計

·Port2沒有接收統計

img28



加入組播組

加入組播組

·選中 IGMP host

·啟用IGMP協議

·主機狀態: Member

查看統計

·Port1有發送統計

·Port2 有接收統計, 接收到組播流了

img29



查看統計: 組播數據報文統計

img30


查看統計: 協議報文統計

img31


抓包: 組播數據報文

img32



IGMPv3原理驗證

加入組播組: IGMPv3 Report

img33



捕獲控制報文

·修改為Control Plane

·默認只捕獲 數據報文

img34


加入組播組: 查看Router表項

IGMP Group表項

·主機通過G1/0/2接口加入組播組232.1.1.1

·Expires: 超時時間, stopped

·Flags: SSM

·Group mode: Include

img35


組播組查詢: IGMPv3 普通組查詢

IGMPv3查詢器

·由LAN上IP地址最小的路由器擔任

·周期性(1分鐘)發送普通組查詢報文


注意點

·必須要有查詢器

·否則3分鐘左右, 流量就會停止轉發

img36



組播組查詢: IGMPv3 特定源組查詢

IGMPv3查詢器發送

·查詢器收到主機發送的leave(Report, TO-IN)以后, 會發送特定組查詢報文


注意點

·查詢器只有在收到主機發送的leavel報文時, 才會發送特定組查詢

·其它的時候, 路由器周期性發送普通組查詢

img37



離開組: RENIX配置

停止IGMP協議

·主機 發送IGMPv3 Report(TO-IN)報文

·主機離開以后, 不會再響應查詢器發送的查詢報文


IGMPv3 離開組

·查詢器(路由器)收到Report(TO-IN)以后, 會發送2個特定源組查詢報文, 詢問網絡上是否有主機仍然需要接收這個組的特定報文

離開組: 查看路由器

img38


離開組: 查看路由器

離開組

·路由器在發送2個特定組查詢以后, 如果沒有收到回復, 就會立刻(3秒內)刪除表項, 停止轉發數據

img39


以上就是IGMPv3協議測試的全部內容。