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对比

接下来,我们以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地址
· Pv4网关: 路由器接口地址

配置IGMP
· 版本: IGMPv3
· 过滤模式: include
· 起始地址: 30.1.1.2
· “想要接收 源为30.1.1.2, 组为232.1.1.1的组播流量

· 预览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协议测试的全部内容。
IGMP协议测试-网络测试仪实操的更多相关文章
- ISISv4协议测试——网络测试仪实操
文章关键词 ISIS协议:路由协议:协议测试: 一.文章简介: isis是一种与ospf很相似的网络协议(属于动态路由协议),它被应用在巨大规模网络,如运营商以及银行等.同样的它也是基于链路状态算法, ...
- RFC3918协议测试——网络测试仪实操
一.简介1.RFC3918简介历史· 在1999年3月成为正式标准 功能· 评测网络互连设备或网络系统的性能· 网络设备: 交换机,路由器- 内容· 定义了一整套测试方法,为不同厂家的设备/系统提供了 ...
- MLD协议测试——网络测试仪实操
一.简介 1. MLD简介 MLD · Multicast Listener Discovery Protocol · 组播侦听者发现协议 功能 · 在终端主机和与其直接相邻的组播路由器之间建立/维护 ...
- PPPoE协议测试——网络测试仪实操
前言: 与传统的接入方式相比,PPPoE具有较高的性能价格比,它在包括小区组网建设等一系列应用中被广泛采用,目前流行的宽带接入方式 ADSL 就使用了PPPoE协议. 随着低成本的宽带技术变得日益流行 ...
- RFC2889广播时延测试——网络测试仪实操
一.简介 RFC 2889为LAN交换设备的基准测试提供了方法学,它将RFC 2544中为网络互联设备基准测试所定义的方法学扩展到了交换设备,提供了交换机转发性能(Forwarding Perform ...
- RFC3918组播组容量测试——网络测试仪实操
一.简介 1.RFC3918简介 历史 · 在1999年3月成为正式标准 功能 · 评测网络互连设备或网络系统的性能 · 网络设备: 交换机,路由器- 内容 · 定义了一整套测试方法,为不同厂家的设备 ...
- RFC3918组转发矩阵测试——网络测试仪实操
一.简介 1.RFC3918简介 历史 · 在1999年3月成为正式标准 功能 · 评测网络互连设备或网络系统的性能 · 网络设备: 交换机,路由器- 内容 · 定义了一整套测试方法,为不同厂家的设备 ...
- RFC3918聚合组播吞吐量测试——网络测试仪实操
一.简介 1.RFC3918简介 历史 · 在1999年3月成为正式标准 功能 · 评测网络互连设备或网络系统的性能 · 网络设备: 交换机,路由器- 内容 · 定义了一整套测试方法,为不同厂家的设备 ...
- RFC3918组播转发时延测试——网络测试仪实操
一.简介 1.RFC3918简介 历史 · 在1999年3月成为正式标准 功能 · 评测网络互连设备或网络系统的性能 · 网络设备: 交换机,路由器- 内容 · 定义了一整套测试方法,为不同厂家的设备 ...
随机推荐
- GIS :元宇宙未来发展的有力技术支撑
摘要:元宇宙是描述未来互联网迭代发展的一个概念,是一个将现实世界和虚拟世界相互融合的一个可感知的持久.共享的3D虚拟空间组成的世界. 本文分享自华为云社区<[云驻共创]元宇宙漫游指南-新一代GI ...
- 【reverse】逆向5 标志寄存器
[reverse]逆向5 标志寄存器 1.引言 通过一个creak.exe文件的爆破,引出现阶段需要学习的知识 2.标志寄存器 标志寄存器有上图这么多个 记住这几个寄存器的位置和名称 下面是6个状态标 ...
- golang中结构体当做函数参数或函数返回值都会被拷贝
1. 结构体做函数的参数或返回值时,都会被重新拷贝一份如果不想拷贝,可以传递结构体指针 package main import "fmt" type Person struct { ...
- 集合框架-List集合的常见方法
1 package cn.itcast.p4.list.demo; 2 3 import java.util.List; 4 import java.util.ArrayList; 5 6 publi ...
- 微信小程序入门教程之三:脚本编程
这个系列教程的前两篇,介绍了小程序的项目结构和页面样式. 今天,接着往下讲,教大家为小程序加入 JavaScript 脚本,做出动态效果,以及如何跟用户互动.学会了脚本,就能做出复杂的页面了. 本篇的 ...
- vue中清除路由缓存
beforeRouteLeave (to, from, next) { if (to.name === 'pageA') { /* pageA是需要跳转的路由 */ // console.log('返 ...
- 感恩陪伴 HelloGitHub 定制的红包封面
距离放假越来越近了,我们更文的频率也越来越低了. 先别打!听我解释... 我真没偷懒,我是去研究今年的「微信红包封面」玩法了. 这不去年,我们制作的 HelloGitHub 专属红包封面,很多粉丝都说 ...
- 强化学习实战 | 自定义Gym环境之扫雷
开始之前 先考虑几个问题: Q1:如何展开无雷区? Q2:如何计算格子的提示数? Q3:如何表示扫雷游戏的状态? A1:可以使用递归函数,或是堆栈. A2:一般的做法是,需要打开某格子时,再去统计周围 ...
- 学习Java第4天
今天所作的工作: 1.类 2.类的构造方法 3.静态变量 4.类的主方法 5.对象 今天没有完成昨天的工作安排,因为发现进入类之后的编程思想发生的变化,相对与c++的逻辑既有较大的相似性又有不同的性质 ...
- 使用Canny+hough实现钱币检测
目录 Canny边缘提取算法实现 霍夫变换实现 参考 这个是北京邮电大学<计算机视觉>的一门作业: Canny边缘提取算法实现 首先定义一个Canny类 其init函数是: class C ...