引言

三层的IGMP协议广泛用于IPv4网络组播。在二层网络中,IGMP协议使用资源效率低下,例如:即使少数几个接收者(receivers)连接到交换机的几个端口,交换机仍然需要将组播流量泛洪到所有端口。

为了修复这种问题,人们提出了IGMP Snooping协议,但当接收者(receivers)被放置在不同VLAN的时候,IGMP Snooping却无能为力(IGMP Snooping通常只在单个VLAN中配置与生效)。组播局域网注册(MVR)功能解决接收者处于不同VLAN时的泛洪问题,它使用一个专用的、手工配置的VLAN--组播VLAN,在二层网络中去转发组播流量,它同时能与IGMP Snooping 协同使用。

MVR像IGMP Snooping协议一样,允许二层交换机去监听IGMP 控制协议,这两种协议彼此独立运作,可同时配置在交换机上。如果同时开启两种特性,MVR将只监听静态配置到其MVR功能上面的组的john和report信息,而其它的组的仍然由IGMP Snooping进行管理。

下图展示了MVR的配置应用

配置MVR功能时,有两种类型的MVR端口:源端口和接收端口

源端口: 源端口是指组播VLAN中的组播流经过的端口。

接收端口:是一台监听组播主机连接到的交换机的端口。它可以被放置在除组播vlan外任何的VLAN或无VLAN(无VLAN通常指VLAN1,不打标记的流量)。这暗示着:开启MVR功能的交换机执行VLAN标签替换工作,将组播接收端口的VLAN标签替换为源端口VLAN标签。

组播VLAN是指需要手动配置在具体网络中的、MVR专用的VLAN,对于所有的源端口,它需要被明确配置,它常用于在网络中传输组播流,同时避免组播流在不同VLAN中的重复。

MVR有两种配置模式:兼容模式和动态模式

兼容模式(compatible mode):兼容模式下,MVR交换机的CPU正常转发路由器的查询报文以及处理客户端的join报文,形成动态学习的组播转发表,但是cpu不会将join报文转发到路由器端口,从而上层路由器不会收到下面的join报文,导致路由器的数据无法正常转发到交换机上,这种模式下需要手动去配置路由器的组播转发表转发数据到交换机。

动态模式(dynamic mode):动态模式与兼容模式的唯一区别就在于动态模式下cpu可以将join报文转发到路由器端口,从而上层路由器也可以动态学习到组播转发表,不需要手动去配置路由器的组播转发表转发数据到交换机。

RTK web smart switch for MVR功能测试

拓扑图

上图中,rtk switch为MVR交换机

vlan2为MVR vlan

prot1为源端口(上接路由器或者组播源)vlan为tag 2,port2和port3为接收端口(下接客户端)vlan分别为pvid 3和pvid 4。

路由器上配置

[H3C]igmp-snooping

[H3C-igmp-snooping]drop-unknown

[H3C-igmp-snooping]quit

[H3C]vlan 2

[H3C-vlan2]igmp-snooping enable

[H3C-vlan2]igmp-snooping querier

[H3C-vlan2]igmp-snooping general-query source-ip 70.1.1.2

[H3C-vlan2]igmp-snooping special-query source-ip 70.1.1.2

[H3C-vlan2]igmp-snooping version 2

[H3C-vlan2]quit

[H3C]interface GigabitEthernet 1/0/23

[H3C-GigabitEthernet1/0/23]igmp-snooping host-join 239.0.0.1 vlan 2

MVR rtk switch上配置

Switch# configure

Switch(config)# vlan 2-4

Switch(config-vlan)# *Jan 01 2000 08:02:01: %VLAN-5: VLAN 2 is added, default name is VLAN0002

*Jan 01 2000 08:02:01: %VLAN-5: VLAN 3 is added, default name is VLAN0003

*Jan 01 2000 08:02:01: %VLAN-5: VLAN 4 is added, default name is VLAN0004

Switch(config-vlan)# exit

Switch(config)# interface GigabitEthernet 1

Switch(config-if)# switchport mode trunk

Switch(config-if)# switchport trunk allowed vlan add 2

Switch(config-if)# exit

Switch(config)# interface GigabitEthernet 2

Switch(config-if)# switchport access vlan 3

Switch(config-if)# exit

Switch(config)# interface GigabitEthernet 3

Switch(config-if)# switchport access vlan 4

Switch(config)# mvr

The operation will delete groups of VLAN ID is MVR VLAN include static groups. Continue? [yes/no]:y

Switch(config)# mvr vlan 2

The operation will delete the old and new MVR VLAN groups include static MVR groups.Continue? [yes/no]:y

Switch(config)# mvr group 239.0.0.1

The operation will delete the MVR VLAN groups include static MVR groups.Continue? [yes/no]:y

Switch(config)# mvr mode dynamic

Switch(config)# interface GigabitEthernet 1

Switch(config-if)# mvr type source

Switch(config-if)# exit

Switch(config)# interface GigabitEthernet 2

Switch(config-if)# mvr type receiver

Switch(config-if)# exit

Switch(config)# interface GigabitEthernet 3

Switch(config-if)# mvr type receiver

Switch(config-if)# exit

Switch(config)# do show mvr interface

Port  |  Type  | Immediate Leave

--------+---------+-----------------

gi1    |  Source|    Disabled

gi2    | Receiver|    Disabled

gi3    | Receiver|    Disabled

--More--

web页面上配置

igmp snooping与MVR together work test

交换机测试组播软件,组播-MVR功能测试相关推荐

  1. 交换机组播协议-二层组播/三层组播总结

    一.组播介绍: 组播技术解决的是以最小的网络开销实现单点发送,多点接收的问题.就实现点对多点数据传输问题,比广播/单播传输更高效,更能节省网络带宽,降低网络负载. 当ip网络中某Rx主机需要接收信息时 ...

  2. IP组播----组播基础 组播服务模型、组播地址

    一.简介 IPv4传输方式有三种:单播.组播.广播 单播:信息源为每个需要信息的主机都发送一份独立的报文 组播:信息源将保温发送到一个特定的组播IP地址,只有加入了这个组的主机才能接收 广播:信息源将 ...

  3. windows7 python 指定源组播 10049_Python3组播通信编程实现教程(发送者+接收者)

    一.说明 1.1 标准组播解释 通信分为单播.多播(即组播).广播三种方式 单播指发送者发送之后,IP数据包被路由器发往目的IP指定的唯一一台设备的通信形式,比如你现在与web服务器通信就是单播形式 ...

  4. 单播 广播 组播_组播概念3

    一.IGMP Message 1.组成员一旦开启IGMP,会自动发送Membership Report消息到叶路由器 2.IGMPv2版本,组成员退出组会发送leave消息,IGMPv1不会 3.也就 ...

  5. 同一个ip能否两次加入组播_组播IGMPv1/v2/v3精华知识汇总

    闲言少叙,直奔主题,开说之前先做点铺垫,回顾一下网络的基础知识. D类地址划分回顾 组播是IPv4地址分类中的D类,我们回顾一下IPv4的地址划分 A类:首bit=0,0-127网段,网络掩码8,其中 ...

  6. IP组播之组播路由算法

    上一篇文章说的是组管理协议IGMP,它是用来给组播路由器确定自己局域网下面有哪些主机加入了哪些组播的.那么这篇文章就说说IP组播另一个重要协议,组播路由协议.组播路由协议用于在路由器之间共享组信息,为 ...

  7. JAVA 网络编程(5) SOCKET UDP 单播和组播,以及组播其他机器收不到报文的解决方法

    UDP既可以单播也可以组播 一,单播 单播的过程为 发送方: InetAddress destAddr = InetAddress.getByName("192.168.4.199" ...

  8. 用c语言ipv6组播,ipv6组播有哪些协议

    MLDv1 Multicast Listener Discoveryfor IPv6(简称MLD)为IPv6组播监听发现协议.MLD是一个非对称的协议,IPv6组播成员(主机或路由器)和IPv6组播路 ...

  9. 组播地址,什么是组播地址,组播地址列表

    组播地址简述:组播相对于单播和广播而言, 具有效率高, CPU 负载轻, 冗余流量少的特点.组播地址也与单播和广播不同,组播地址是 D 类地址,前缀是" 1110", 地址范围是 ...

最新文章

  1. 【炫酷秀】仅用4行代码再现《黑客帝国》数字雨,可立即在终端实现!
  2. 公司喜欢什么样的程序员?三个特点吸引HR!
  3. 活水亭观书有感其一_如何将iPad置于“信息亭”模式,将其限制为单个应用程序...
  4. 前端学习(905):js执行机制
  5. DockPanel 类
  6. Xshell配合Screen之ssh会话永不断开
  7. EF架构~看看下面这代码,你还敢用它的延时加载吗?
  8. smarty缓存控制
  9. MATLAB/simulink_S函数
  10. 漫谈云计算网络(二): 云计算网络的应用场景
  11. Centos6.4升级glibc_2.14
  12. js判断文件后缀名方法
  13. 汶川大地震引起最近全国人民心理一定程度的恐慌问题
  14. 嵌入式行业技术思维导图
  15. MySQL8.0零基础入门
  16. MySQL pt工具应用
  17. 线性代数:第五章 相似矩阵及二次型(2)二次型及其标准型 配平方法 合同变换法 正定二次型
  18. python软件电脑配置要求-Python实现的读取电脑硬件信息功能示例
  19. BUUCTF-web极客大挑战
  20. 这些年我是如何在知乎安稳引流不被封号的

热门文章

  1. 修改云服务器上文件夹只读属性,求助:为什么我电脑里的文件夹会自动变为只读属性?...
  2. linux安装命令自动运行y,centos7linux 安装jdk ,Tomcat加配置加自动启动。等命令
  3. 数据挖掘:数据预处理相关概念
  4. opencv 滑动条的创建和使用
  5. 物联网博客推荐:网昱多媒体
  6. laravel框架学习(三)
  7. Gulp解决发布线上文件(CSS和JS)缓存问题
  8. ubuntu安装deb,rpm安装包方法
  9. UVA12022 Ordering T-shirts【数学+打表】
  10. CCF201809-2 买菜(100分)【序列处理+差分】