组播三案之(一)IGMP去哪了?

描述


如图1 描述的是一个大中型的组播网络,红框中组成员A和B需要调看整个网络中的组播视频流,红框中的组成员A/B、RP-A(Rendezvous Point)在同一个VLAN 150中。

问题描述

原来的情况

VLAN 150中只有组成员A/B,S12712上vlanif 150 开启PIM和IGMP(没有开启igmp snooping),组成员A/B可接收来自RP-B/C/D…等的组播流。

加入新RP

1) 在S12712 VLAN 150中加入新的RP-A,RP-A开启PIM和IGMP后,组成员A/B无法调看来自RP-A的组播流,一段时间后,来自RP-B的视频流也停了。
2) 组成员C/D可以调看来自RP-A的组播视频流。

处理解决

经过display与抓包分析,发现RP-A是广播VLAN150中的DR,且RP-A与组成员的IGMP的报文无法穿越S12712,导致IGMP无法正常工作;如图2 在RP-A与S12712之间加一个二层交换机,使IGMP报文可以在红框所示的二层网络中广播,此时组成员A/B可以正常调看全网的组播视频流

分析

原来的情况

在VLAN 150未加入RP-A时,组成员A/B调看来自RP-B的组播流:
1)组成员A/B发送igmp membership report 报文声明加入组播组 239.10.0.9(举例),S12712 vlanif 150接收到igmp report报文后,S12712获知VLAN 150中有239.10.0.9的组成员;
2)S12712知道自己是VLAN 150的PIM DR。S12712根据RP-set获知 239.10.0.9 的RP是RP-B,由此S12712发送给邻居PIM join 消息,最终建立到RP-B的RPF组播树;
3)组播流沿组播树转发到S12712,S12712将组播流发送到VLAN 150中,组成员A/B接收到组播视频流;
4)这之后,每60s S12712向VLAN 150发送一次igmp membership query 报文查询组成员是否还存在,组成员接收到查询报文后,会再发送一次igmp report 报文,通知S12712 VLAN 150中还存在有组239.10.0.9 的成员。

加入新RP后

新的RP-A加入到VLAN 150,同样开启PIM和IGMP后,对于属于RP-A的组播组239.10.50.9(举例),组成员A/B无法调看,组成员C/D则可以调看,说明S12712与RP-A的PIM neighbour 正常。
根据现场的情况,我做了几项检查:
1)组成员A上抓包,可以看到组成员A发送的igmp report 报文,但没有收到组播流,也没有IGMP查询报文;
2)在USG6550上(RP-A)display igmp group 没有任何输出;
3)使组成员C调看239.10.50.9,RP-A将组播流发送到了VLAN 150。此时组成员A已经加入到239.10.50.9,组成员A上可以播放流视频。
另外我还发现原本组成员A/B可以播放RP-B的组播视频,但是RP-A加入数分钟后,RP-B的视频也停止,在S12712上display igmp group 也没有任何输出。
综合上述现象,我猜测:如图1,S12712 将组成员A/B发送的igmp report 和 RP-A发送的igmp query 拦截掉了(RP-A的IP地址比vlanif 150的地址要小,因此RP-A是IGMP查询者,在S12712上也可以dis igmp interface看到RP-A是查询者),因此:
1)组成员A/B无法将igmp report 发送给RP-A,RP-A就不能感知到其直连接口下有需要接收组播流的组成员;
2)RP-A发送的igmp query 也无法周期性的(60s)发送给组成员A/B,S12712 长时间没有再收到组成员A/B的igmp report ,定时器超时后,S12712就不再向VLAN 150中转发RP-B的组播流。

更改网络拓扑

根据上述的猜想,我在RP-A和S12712之间加入一个二层交换机,组成员A/B都接在这台二层交换机上,如图2,此时组成员A/B终于可以同时调看的RP-A和RP-B的组播视频:
1)组成员A/B发送的igmp report 经二层交换机广播泛洪,RP-A和S12712全都能收到;
2)RP-A发送的igmp query 经二层交换机广播泛洪,组成员A/B和S12712全都能收到,组成员按时响应igmp report ,组播视频流得以持续。

猜想

根据上述的现场分析看,我**猜想**S12712 的默认处理IGMP二层帧的流程可能如下图3,当然很可能不准确,有高人,还请指点迷津

备注:交换机型号是华为 S12712 ,软件版本V200R007

组播三案之(一)IGMP去哪了?相关推荐

  1. 组播基本概念、IGMP、IGMP监听学习笔记

    前言 一直对组播这个概念迷迷糊糊,特别是交换机处理组播的方式,非常想搞懂但是懒癌发作.这几天终于耐心地看了下有关组播的资料,大致了解了一下同一广播域内组播的相关知识.组播占了计算机网络的一大部分,特别 ...

  2. 华为数通笔记-组播协议介绍之IGMP

    组播网络需要基于多种组播协议才能建立转发路径: 工作在成员端网络的主要是IGMP(Internet Group Management Protocol,因特网组管理协议)协议 用于告知组播网络,组成员 ...

  3. 计算机网络之网络层:10、IP组播、IGMP协议、组播路由选择协议

    网络层:10.IP组播.IGMP协议.组播路由选择协议 思维导图: TCP/IP协议: IP数据报的三种传输方式: IP组播地址: 硬件组播: 因特网范围内组播: IGMP协议: IGMP协议的俩个工 ...

  4. 组播学习之——IGMP协议简介

    CSDN文章转载地址 组播学习之--IGMP协议简介 IGMP 是Internet Group Management Protocol(互联网组管理协议)的简称.它是TCP/IP 协议族中负责IP 组 ...

  5. IP组播协议——IGMP协议之IGMPv1

    目录 前言 一.协议体系 二.IGMP协议介绍 三.IGMPv1报文格式 四.IGMPv1 IGMPv1组成员加入 IGMPv1响应抑制机制 IGMPv1组成员离开 总结 前言 上一篇文章介绍了IP组 ...

  6. 组播路由:IGMP、PIM介绍-详细

    组播地址范围:224.0.0.0 到 224.0.0.255 为路由协议预留永久组播组地址:         224.0.0.0~224.0.0.255  (不分配) ASM使用的临时组播组地址:   ...

  7. IGMP协议——IP组播之组管理协议

        网络层的组播用于向某些特定的主机群发消息,而不必给每一个主机都单独发送消息.与单播路由相比,相同点是路由算法在网络层仍发挥着重要作用,但是不同点是处理组播包的路由器必须建立和维护组播连接的状态 ...

  8. IP组播之组管理协议IGMP

    网络层的组播用于向某些特定的主机群发消息,而不必给每一个主机都单独发送消息.与单播路由相比,相同点是路由算法在网络层仍发挥着重要作用,但是不同点是处理组播包的路由器必须建立和维护组播连接的状态信息. ...

  9. IGMP Snooping和组播VLAN技术原理

    IGMP Snooping: 诞生原因: 由于IGMP报文是封装在IP报文内,属于三层协议报文,而二层设备不处理报文的三层信息,所以这个过程它并不知道,而且通过对数据链路层数据帧的源MAC地址的学习也 ...

最新文章

  1. JAVA实现长连接(含心跳检测)Demo
  2. 计算机视觉进展二十年 (1995~2015)
  3. Java的知识点31——线程同步
  4. Database:Database数据库的简介、类型及其区别(关系数据库VS非关系型数据库)、案例应用之详细攻略
  5. IDA执行python脚本文件,python编辑器的操作
  6. python | 三种可变参数简述
  7. 一道非常棘手的 Java 面试题:i++ 是线程安全的吗
  8. mysql max case连用_mysql 嵌套 case when 的问题
  9. go mysql recover_Go基础系列:defer、panic和recover
  10. Linux系统下查看网卡相关数据
  11. STM32WB55开发板(一)单板设计-硬件介绍
  12. 如何用xmlspy将xml文档生成xsd文件
  13. linux进入终端tty3,Linux中终端界面与图形界面之间的切换关系
  14. 你想要的单片机自学指南都在这里(大一必看)
  15. 本科生计算机论文中文核心,本科生可以发表核心期刊论文吗
  16. html中div的覆盖,CSS中如何使div覆盖另一个div的实例
  17. 猫咖小程序开发有何优势?具备什么功能版块?
  18. 1253:抓住那头牛
  19. 利用Xshell修改Linux默认SSH端口号等详细配置
  20. 2011年计算机三级,2011年计算机三级网络技术辅导:网络技术上机分析

热门文章

  1. 自学网络安全?一般人我还是劝你算了吧
  2. python autoit打开软件_Python+AutoIt实现界面工具开发
  3. linux在没网的情况下安装libreoffice
  4. 关于WPS分节符的删除
  5. [admin]-01
  6. COOX基础培训之SCADA(三)
  7. 比较详细的采访 Vue 作者尤雨溪
  8. [MSF]server/capture/http_javascript_keylogger键盘记录
  9. 【全网最全】《统计学习方法》习题答案
  10. 30了,程序员中的老司机们,30后的路该开向哪里?