IGMP协议测试-网络测试仪实操

2024-01-11 08:10

本文主要是介绍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
在这里插入图片描述

查看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协议测试-网络测试仪实操的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/593694

相关文章

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接