IGMPv3六种报告报文详细解读

IGMPv3 六种Report 报文之间的交互关系
许小明 2012-1-10
一. 参数说明和拓扑
1.RFC 3376中定义的
1.EXCLUDE 和 INCLUDE 的定义
2.  变量A和B代表的含义
3.Query的含义
4.GMI 的定义
2.本案例中定义的
简写5代表地址为192.168.1.5;6代表地址为192.168.1.6;7代表地址为192.168.1.7,  3.本试验中的拓扑图
二,RFC3376定义的一些参数
1.三种查询包的类型
查询消息有三种类型的变体:
1、“普通查询”由多播路由器发出,用于获知邻接接口(即查询所传输的网络中所相连
的接口)的完整的多播接收状态。在一个普通查询中,组地址字段和源数量(N)字段都为0。
2、“指定组查询”由一台多播路由器发出,用于获知邻接接口中跟某一个IP地址相关
的多播接收状态。在指定组查询中,“组地址”字段含有需要查询的那个组地址,源数量(N)字段为0。
3、“指定组和源查询”由一台多播路由器发出,用于获知邻接接口是否需要接收来自
指定的这些源的,发往指定组的多播数据报。在一个指定组和源的查询中,组地址字段含有要查询的多播地址,源地址[i]字段含有相关的源地址。
2.组记录类型
在一个报告消息中,有一定数量的不同类型的组记录:
-“当前状态记录”由一个系统发出,用于响应在一个接口上收到的查询。它报告了接口跟某一个多播IP地址相关的当前的接收状态。当前状态记录的记录类型可以是下面两个值中的一个:
值名字和含义
1 MODE_IS_INCLUDE-标明接口相关于某一指定多播地址的过滤模式为INCLUDE。该组记录中的源地址[i]字段含有该接口的相关于该多播地址的源列表(如果非空的话)。
2 MODE_IS_EXCLUDE-标明接口相关于某一指定多播地址的过滤模式为EXCLUDE。该组记录中的源地址[i]字段含有该接口的相关于该多播地址的源列表(如果非空的话)。
-“过滤模式改变记录”是当本地的IPMulticastListen调用造成本地的接口层相关于某一特
定多播IP地址的过滤模式的改变的时候(即从INCLUDE变到EXCLUDE,或者从EXCLUDE变到INCLUDE),由系统发出。这个记录包含在一个报告中,而该报告是从发生改变的那个接口上发出来的。过滤模式改变记录的记录类型是以下两个值中的一个:
值名字和含义
3 CHANGE_TO_INCLUDE_MODE,标明接口相关于某一指定的多播地址的过滤模式改变到INCLUDE。该组记录中的源地址[i]字段含有该指定多播地址相关的新的源列表(如果非空的话)。
4 CHANGE_TO_EXCLUDE_MODE,标明接口相关于某一指定的多播地址的过滤模式改变到EXCLUDE。该组记录中的源地址[i]字段含有该指定多播地址相关的新的源列表(如果非空的话)。
-“源列表改变记录”是当本地的IPMulticastListen调用造成本地的接口层相关于某一特定多播IP地址的源列表发生改变,并且该改变不跟过滤模式的改变产生冲突时,由系统发出。该记录包含在一个报告中,而该报告是从发生改变的那个接口上发出来的。源列表改变记录的记录类型是以下两个值中的一个:
值名字和含义
5 ALLOW_NEW_SOURCE,标明组记录中的源地址[i]字段含有系统希望接收的发往某一多播地址的,新的源的列表。如果这是对一个INCLUDE列表的改变,那么这些地址会被添加到列表中,如果这是对一个EXCLUDE列表的改变,那么这些地址会被从列表中删除。
6 BLOCK_OLD_SOURCE,标明组记录中的源地址[i]字段含有系统不希望再接收的发往某一多播地址的源的列表。如果这是对一个INCLUDE列表的改变,那么这些地址会被从列表中删除,如果这是对一个EXCLUDE列表的改变,那么这些地址会被添加到列表中。
如果源列表的改变是同时添加新的源和阻止旧的源,这两种组记录会同时发往一个多播地址,一个是ALLOW_NEW_SOURCE,另一个是BLOCK_OLD_SOURCE。
我们把过滤模式改变记录和源列表改变记录都统一称作状态改变记录。
不能识别的记录类型值必须被丢弃。
3.组记录表示方法
IS_IN(x)-类型INCLUDE,源地址x。
IS_EX(x)-类型EXCLUDE,源地址x。
TO_IN(x)-类型CHANGE_TO_INCLUDE_MODE,源地址x。
TO_EX(x)-类型CHANGE_TO_EXCLUDE_MODE,源地址x。
ALLOW(x)-类型ALLOW_NEW_SOURCE,源地址x。
BLOCK(x)-类型BLOCK_OLD_SOURCE,源地址x。
这里x是:
一个大写的字母(如“A”)代表一组源地址,或者:
一个表达式(如A+B),这里“A+B”表示A和B的合集,“A*B”表示A和B的交集,“A-B”表示从集合A中拿掉所有集合B的元素。
三,利用KINNICK 验证结果
1.
如果原来的路由状态为INCLUDE(A),新收到一个类型1 的report报文为IS_IN(B),则新的路由状态改变为INCLUDE(A+B),并且设置源B的源计数器为GMI,
从IXIA的2口发送一个IS_IN(5,6)的report报文,
路由过滤模式:
路由过滤模式为INCLUDE,他包含的源列表为5,6,这说明只有源5和6发来的多播是有host需要的,这些源来的多播不会flooding,对于其他的源发来的多播224.0.1.1会flooding到所有接口而不是丢弃(对于广播,多播,单播,未知单播的处理要看交换机本身的处理行为不一定都是flooding)。;
端口转发列表:
接口2的Include source 为5和6,则针对源列表5和6发来的多播224.0.1.1,端口2会收到,此时从IXIA接口4发送源为5和6的多播224.0.1.1,接口2能收到,并加入到转发表的条目中;其他的源发来的多播接口2收不到。
多播转发表:
从IXIA接口4分别发送源为5,6,7的多播224.0.1.1,会形成下面的转发表:
转接口
源7是不会加入的。
再从IXIA接口3发送一个IS_IN(6,7)的report报文

本文发布于:2024-09-22 10:22:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/358972.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:记录   接口   改变   地址   列表   模式   指定
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议