本帖最后由 teletest 于 2020-5-26 14:37 编辑
一、前言: 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对比 接下来,我们以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
路由器配置命令(思科路由器为例) ! 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才行
准备工作: 添加机框
准备工作: 预约端口
IGMPv3协议测试验证 IGMPv3 主机配置 选择IGMP向导
选择端口 ·选择Port2模拟主机
选择封装 默认配置
配置接口 默认配置
配置链路层 ·可以默认 ·也可以修改MAC地址
配置网络层 ·IPv4地址: 模拟的host地址 ·IPv4网关: 路由器接口地址
配置IGMP ·版本: IGMPv3 ·过滤模式: include ·起始地址: 30.1.1.2 ·“想要接收 源为30.1.1.2, 组为232.1.1.1的组播流量
预览IGMP 预览IGMP
查看IGMP配置: 自动生成 查看配置 ·在Port2下自动生成IGMP 配置
查看IGMP配置: 组播组
学习ARP
IGMPv3组播流配置 添加IPv4接口 ·模拟组播服务器 ·进行两次操作, 添加2个接口
编辑IPv4接口
学习ARP
添加组播流 ·使用绑定流量来配置会更简单 ·绑定流量会自动的完成组播IP到组播MAC转换
选择端口 两个端口都需要选择
选择端点 多对多模式 选择端点 ·源: 组播源接口 ·目的: 组播组
常规配置 ·帧长度 ·净荷等
帧内容 自动填充 ·不需要手工填写 帧内容: 第一条流预览 ·目的MAC: 232.1.1.1对应的组播MAC ·源MAC: 组播源接口的MAC ·源IP: 组播源接口的IP ·目的IP: 组播组的地址
接收端口 默认配置
查看组播流量 自动创建2条组播流量 ·模拟两个不同的组播源 ·修改流名称(可选)
IGMPv3结果查看 修改流发送模式 ·负载类型: 基于流 ·负载单位: 百分比
修改负载大小 负载大小 ·源1发送的修改为20%, 即200M ·源2发送的修改为30%, 即300M
发送组播流 发送2条组播流 查看统计 ·Port1有发送统计 ·Port2没有接收统计
加入组播组 加入组播组 ·选中 IGMP host ·启用IGMP协议 ·主机状态: Member 查看统计 ·Port1有发送统计 ·Port2 有接收统计, 接收到组播流了
查看统计: 组播数据报文统计
查看统计: 协议报文统计
抓包: 组播数据报文
IGMPv3原理验证 加入组播组: IGMPv3 Report
捕获控制报文 ·修改为Control Plane ·默认只捕获 数据报文
加入组播组: 查看Router表项 IGMP Group表项 ·主机通过G1/0/2接口加入组播组232.1.1.1 ·Expires: 超时时间, stopped ·Flags: SSM ·Group mode: Include
组播组查询: IGMPv3 普通组查询 IGMPv3查询器 ·由LAN上IP地址最小的路由器担任 ·周期性(1分钟)发送普通组查询报文
注意点 ·必须要有查询器 ·否则3分钟左右, 流量就会停止转发
组播组查询: IGMPv3 特定源组查询 IGMPv3查询器发送 ·查询器收到主机发送的leave(Report, TO-IN)以后, 会发送特定组查询报文
注意点 ·查询器只有在收到主机发送的leavel报文时, 才会发送特定组查询 ·其它的时候, 路由器周期性发送普通组查询
离开组: RENIX配置 停止IGMP协议 ·主机 发送IGMPv3 Report(TO-IN)报文 ·主机离开以后, 不会再响应查询器发送的查询报文
IGMPv3 离开组 ·查询器(路由器)收到Report(TO-IN)以后, 会发送2个特定源组查询报文, 询问网络上是否有主机仍然需要接收这个组的特定报文 离开组: 查看路由器
离开组: 查看路由器 离开组 ·路由器在发送2个特定组查询以后, 如果没有收到回复, 就会立刻(3秒内)删除表项, 停止转发数据
以上就是IGMPv3协议测试的全部内容。
|