IGMP Proxy

IGMP Proxy

如图左图所示,在一些简单的树形网络拓扑中,与用户网段相连的设备RouterB上并不需要运行复杂的组播路由协议(如PIM),而透传主机IGMP报文又会导致RouterA管理太多用户。当网络中存在大量成员主机或大量成员主机频繁加入/离开组播组时,会产生大量的IGMP报告/离开报文,从而给接入设备RouterA带来较大的处理压力。

如右图所示,通过在RouterB上配置IGMP Proxy功能,可以解决以上问题,实现组播报文正常转发同时减轻RouterA的处理压力。

IGMP Proxy,也称为IGMP代理,通常被部署在接入设备(RouterA)和成员主机之间的三层设备上。一方面,IGMP Proxy设备可以收集下游成员主机的IGMP报告/离开报文,将报告/离开报文汇聚后代理下游成员主机统一上送给接入设备;另一方面,IGMP Proxy设备也可以代理IGMP查询器向下游成员主机发送查询报文,维护组成员关系,基于组成员关系进行组播转发。在接入设备RouterA看来,RouterB就是一台主机;在下游成员主机看来,RouterB就是IGMP查询器。

IGMP Proxy中定义了以下两种类型的接口:

  • 上游接口:指IGMP代理设备上配置IGMP Proxy功能的接口,该接口执行IGMP代理设备的主机行为,因此也称为主机接口(Host Interface)。

  • 下游接口:指IGMP代理设备上配置IGMP功能的接口,该接口执行IGMP代理设备的路由器行为,因此也称为路由器接口(Router Interface)。

图1 IGMP Proxy组网示意图

IGMP Proxy工作机制

IGMP代理设备实现的功能主要分为两种:主机行为和路由器行为。

主机行为

主机行为是指IGMP代理设备的上游接口收到查询报文时根据当前组播转发表的状态对查询报文做出响应,或者当组播转发表发生变化时上游接口主动向接入设备发送报告/离开报文。主机行为的工作机制如下:

  • IGMP代理设备上游接口收到查询报文时,会根据当前组播转发表的状态对查询报文做出响应。
  • IGMP代理设备收到某组播组的报告报文后,会在组播转发表中查找该组播组:
    • 如果没有找到相应的组播组,IGMP代理设备会向接入设备发送针对该组播组的报告报文,并在组播转发表中添加该组播组;
    • 如果找到相应的组播组,IGMP代理设备就不需要向接入设备发送报告报文。
  • IGMP代理设备收到某组播组G的离开报文后,会向接收到该离开报文的接口发送一个特定组查询报文,检查该接口下是否还存在组播组G的其他成员:
    • 如果没有其他成员,在组播转发表中将该接口删除,然后判断组播组G是否还有其他接口。如果没有,IGMP代理设备再会向接入设备发送针对该组播组的离开报文;如果有,IGMP代理设备不向接入设备发送针对该组播组的离开报文;
    • 如果有其他成员,IGMP代理设备会继续向该接口转发组播数据。

路由器行为

路由器行为是指IGMP代理设备的下游接口通过成员主机加入/离开组播组的信息生成组播转发表项、接收接入设备下发的组播数据并根据组播转发表项的出接口信息向特定的接口转发组播数据。路由器行为的工作机制与IGMP的工作机制一致,

IGMP Proxy备份机制

为了提高链路的可靠性,IGMP代理设备的上游接口配置完IGMP Proxy功能后,可以再在IGMP代理设备上配置一个IGMP Proxy备份接口,作为上游接口的备份,如所示。这样,当上游接口所在链路发生故障时,备份链路会自动接管IGMP代理业务,使业务能够自动恢复。

图2 IGMP Proxy组网示意图
 

IGMP Proxy本身并没有检测机制,如果组播链路发生了故障,无法保证及时进行主、备链路的切换,可能造成较长时间的组播业务中断。通过IGMP Proxy与NQA联动可以解决此问题。IGMP Proxy与NQA测试例联动是利用NQA测试例检测端到端的链路状态,并根据NQA测试例的检测结果,进行主、备链路的切换,从而避免通信长时间中断。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/708521.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

跨境电商多平台账号运营管理,一文教你轻松搞定!

作为跨境电商多平台账号运营者,我相信大家和我有一样的困扰。因管理多个账号而感到头疼,不断地登录、注销、切换账号,浪费时间的同时又担心账号信息混乱和安全问题,甚至被封。 一、跨境电商店铺多账号运营要注意什么? …

Maven:一个下载jar依赖失败的问题解决方案

内部的一个jar包已经上传到了私服上,在私服管理端也能看到该jar包的完整信息,但是springboot项目引入该jar包发现死活下载不下来,报错如图: 从该错误信息中可以看到,找不到服务名是xxl-job这个的,我们要找的…

ios18新功能:设专属“咒语”动动嘴巴即可操作iphone

苹果 iOS / iPadOS 18 系统引入了“人声快捷指令”(Vocal Shortcuts)功能,即便iPhone、iPad 处于锁屏状态下,也能响应你的语音命令。 苹果官方对“人声快捷指令”的介绍如下:iPhone 和 iPad 用户可以通过人声快捷指令…

SpringAI学习及搭建AI原生应用

文章目录 一、SpringAI是什么二、准备工作1.GPT-API-free2.AiCore3.eylink 三、对话案例实现1.创建项目2.实现简单的对话 四、聊天客户端ChatClient1.角色预设2.流式响应3.call和stream的区别 五、聊天模型提示词提示词模板 六、图像模型(文生图)七、语音模型1.文字转语音(文生…

element 表格el-table的 :cell-style用法-表格固定行文字高亮

el-table的 :cell-style用法 实现表格固定行文字高亮效果 <el-tableref"table"borderstripe:data"list":height"height"highlight-current-row:cell-style"cellStyle"><el-table-columnprop"code"label"规则…

【python】docker-selenium 分布式selenium模拟浏览器 |可视化 或 后台运行selenium 部署与使用

一、分布式selenium 1、部署 docker-selenium Github官方地址如下&#xff1a; https://github.com/SeleniumHQ/docker-selenium?tabreadme-ov-file 执行安装指令&#xff1a; 1、这里可以将dashboard映射接口改为 14444&#xff08;记得开放安全组&#xff09; docker run …

Python学习笔记8:入门知识(八)

前言 本篇是元组的知识点学习以及知识点的补充 元组 概念 不可变的列表&#xff0c;叫做元组。 在之前列表的特性中&#xff0c;我们就说过列表是可变的&#xff0c;但是在实际使用过程中&#xff0c;我们有时候仍然需要一系列不可变的元素&#xff0c;这个时候就需要元组出…

金融科技助力绿色金融:可持续发展新动力

随着全球气候变化和环境问题的日益严重&#xff0c;绿色金融作为推动环境保护和经济可持续发展的重要手段&#xff0c;已经受到越来越多的关注。而金融科技&#xff0c;作为科技与金融深度融合的产物&#xff0c;正以其独特的优势为绿色金融的发展注入新动力。本文将探讨金融科…

达梦导入dmp遇到的各种问题

1、无效的对象 导入的文件和新建的模型名称不一致的时候&#xff0c;提示无效的对象 2、编码不一致 length_in_char 或者都是编码不一致的问题导致的 首先查看需要导出的数据的编码&#xff0c;以及导出的模式的权限 3、使用当前配置好的模式&#xff0c;导出导入 4、创建用…

初始化三板斧 - centos7

1、关闭防火墙、关闭SELinux ① 立即关闭防火墙 systemctl stop firewalld ② 设置开机关闭防火墙 systemctl disable firewalld ③ 立即关闭SELinxu setenforce 0 ④ 设置开机关闭SELinux 将SELINUXenforcing 修改替换为 SELINUXdisabled vim /etc/selinux/config se…

源代码防泄密经验分享之安全上网篇

场景描述&#xff1a; 随着信息技术的发展&#xff0c;越来越多的新技术产品进入到政府、军事、科研等涉密单位。这些新技术产品在给工作人员带来便利的同时&#xff0c;也给信息安全保密工作带来了许多新的不容忽视的安全隐患&#xff0c;应引起高度重视。常规的内外网隔离手…

U-Mail邮件系统全面支持信创国产化,打造自主可控的邮件系统

长期以来&#xff0c;中国IT产业的底层架构和标准多由国际巨头所主导&#xff0c;这不仅限制了本土技术的创新发展&#xff0c;同时也给国家安全带来了潜在的挑战。为了应对这一现状&#xff0c;我国正逐步构建起一套独立且安全的IT生态系统&#xff0c;旨在实现技术的自主可控…

源代码防泄密的方法有哪些?

在当今发展潮流中&#xff0c;网络信息安全隐患变得越来越突出&#xff0c;信息泄漏事件时有发生。我们都知道&#xff0c;电子文件非常容易复制&#xff0c;可以通过各种途径如邮件、光盘、U盘、网络存储等进行传播。企事业单位的机密文件、研发源代码、图纸等核心技术机密资料…

八爪鱼现金流-022-mybatis插件加密和国密SM4算法

背景&#xff1a; 用户的金额数据&#xff0c;不希望被别人看到。 业务场景分析&#xff1a; 用户在页面上添加金额数据 -----> 服务器内存&#xff08;加密、解密&#xff09; -----> 存储数据库 调研及结果&#xff1a; 使用mybatis的拦截器插件&#xff0c;进行数…

12306 火车票价格解析 (PHP 解析)

1. 从接口拿数据 日期 出发站 终点站 都填上 xxx/otn/leftTicketPrice/queryAllPublicPrice?leftTicketDTO.train_date2024-06-15&leftTicketDTO.from_stationBJP&leftTicketDTO.to_stationSJP&purpose_codesADULT 返回的数据是这样的 {"validateMess…

MyBatis 关于查询语句上配置的详细内容

1. MyBatis 关于查询语句上配置的详细内容 文章目录 1. MyBatis 关于查询语句上配置的详细内容2. 准备工作3. SQL查询结果&#xff0c;返回为POJO实体类型4. SQL查询结果&#xff0c;返回为List<POJO\> 集合类型5. SQL查询结果&#xff0c;返回为Map 集合6. SQL查询结果&…

【后端】Java学习笔记(二周目-1)

环境 安装JDK8并配置环境变量 jvm核心类库jre jre开发工具jdk Java基础运行流程&#xff0c;代码从上到下&#xff0c;从左往右&#xff0c;只运行一次 桌面—>新建文件夹—>新建记事本—>打开编写代码 public class Hello{public static void main(String[] arg…

笔记98:按列压缩矩阵 csc_matrix 的 “含义”

1. 如何按列压缩矩阵&#xff1a; 注&#xff1a;按列压缩&#xff08;Compressed Sparse Column -- CSC&#xff09;&#xff0c;是一种使用三个特征数组就可以表示整个矩阵的方法&#xff1b; 标准二次规划问题 &#xff1a;状态量&#xff1a;矩阵&#xff1a;向量&#xff…

Blender:渲染输出

渲染输出界面 渲染设置界面&#xff1a; 输出设置界面&#xff1a; 输出文件格式 【文档】 视频导出格式&#xff1a; AVI JPEG 使用JPEG压缩的AVI。有损&#xff0c;能得到更小的文件&#xff0c;但大小无法与编解码器的压缩算法得到的文件相比。JPEG 压缩也是数字摄像机使用…

使用asyncua模块如何在opcua框架的Server端添加方法及在Client端调用方法

1. 在opcua框架的Server端添加方法 参考文章&#xff1a; freeopcua调用方法输入参数| Python解析数组到输入列表 为OPC UA python服务器/客户端添加安全性&#xff08;异步&#xff09; OPCUA和asyncua — [3] 添加方法 OPC UA的Server端新增方法的关键代码如下&#xff1a;…