51CTO下载-IGMPv3六种report报文之间的交互详解_第1页
51CTO下载-IGMPv3六种report报文之间的交互详解_第2页
51CTO下载-IGMPv3六种report报文之间的交互详解_第3页
51CTO下载-IGMPv3六种report报文之间的交互详解_第4页
51CTO下载-IGMPv3六种report报文之间的交互详解_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IGMPv3六种Report报文之间的交互关系许小明2012-1-10一.参数说明和拓扑RFC3376中定义的.EXCLUDE和INCLUDE的定义Conceptually,whenagrouprecordisreceived,therouterfilter-modeforthatgroupisupdatedtocovera11therequestedsourcesusingtheleastamountofstate.Asa『ule,onceagrouprecordwithafi1ter-modeofEXCL匚止isreceived,therouterfilter-modeforthatgroupwil1beEXCLUDE,Whet:arouterfi11er-modeforagroup1sEXCLUDE,ihesourcerecordlistcontainstwotypesofsources.Thefirsttypeistheset^hichrepresentsconf1ictsinthedesiredreceptionstate;thissetmustbeforwardedbysomerouteronthenetwork.Thesecondtypeisthesetofsourceswhichnostshaverequestedronotbeforwarded.AppendixAdescribesthereasonsforkeepingthissecondsetwheninEXCLUDEmode.Whenarourerfilter-modeforagroupisINCLUDE,thesourcerecordlist15thelistofsourcesdesiredforthegroup.Thisisthetota]desiredserofsourcesforthatgroup.Eachsourceinthesourcerecordlistmustbeforwardedbysomerouteronthenetwork..变量A和B代表的含义Thefollowingnotationisusedtodescribetheupdatingofsourcetimers.ThenotaTion(%B)wi11beusedtorepresentthetotalnumberofsourcesforaparticu1argroup,whereA=setofsourcerecordswhosesourcetimers>0(SourcesthatateastonehosThasrequestedtobeforwarded)B=setofsourcerecordswhosesourcetimers=0(SourcesthatIGMPwillsuggesttotheroutingprotoco1nottoforward).Query的含义WithinthevActionsvsectionoftheroutersttitetables,weusethenotation1A=JJ:whichmeansthatthesetAofsourcerecordsshouldhavetheirsourcetimerssettoVEilueJ.:DeleteTmeansthatthesetAofsourcerecordsshouldbedeleted.1GroupTimer二J'meansthatrheGroupTimerforthegroupshouldbesettovalueJ.Weusethefo]lowingnotationfordescribingthequerieswhicharesent.'rVeusethenotation'Q(G)'todescribeaGroup-SpecificQuerytoG.Weusethenotation'Q(G,A)'todescribeaGroup-and-SourceSpecificQuerytoGwithsource-listA.[fsource-1istAisnullasaresultoftheaction(e.g.,R*B)thennoqueryissentasaresultoftheoperation.Query ActionQ(€]A)SourceTimerforsourceEinAareloweredto1A3QTQ(6) GroupTimerisloweredtoLYQT.GMI的定义]nthefollowingtables,abbreviationsareusedforseveral]variab]es(al]ofwhicharedescribedindetailinsection8).ThevariableGH1isanabbreviationfortheGroupMembershipInterval,whichisthetimeinwhichgroupmembershipswi]]timeout.Thevariab]eLMQT2.本案例中定义的简写5代表地址为192.168.1.5;6代表地址为192.168.1.6;7代表地址为192.168.1.7,3.本试验中的拓扑图DUT IXIA二,RFC3376定义的一些参数三种查询包的类型查询消息有三种类型的变体:1、“普通查询”由多播路由器发出,用于获知邻接接口(即查询所传输的网络中所相连的接口)的完整的多播接收状态。在一个普通查询中,组地址字段和源数量(N)字段都为0。2、“指定组查询”由一台多播路由器发出,用于获知邻接接口中跟某一个IP地址相关的多播接收状态。在指定组查询中,“组地址”字段含有需要查询的那个组地址,源数量(N)字段为0。3、“指定组和源查询”由一台多播路由器发出,用于获知邻接接口是否需要接收来自指定的这些源的,发往指定组的多播数据报。在一个指定组和源的查询中,组地址字段含有要查询的多播地址,源地址[i]字段含有相关的源地址。组记录类型在一个报告消息中,有一定数量的不同类型的组记录:-“当前状态记录”由一个系统发出,用于响应在一个接口上收到的查询。它报告了接口跟某一个多播IP地址相关的当前的接收状态。当前状态记录的记录类型可以是下面两个值中的一个:值名字和含义MODE_IS_INCLUDE-标明接口相关于某一指定多播地址的过滤模式为INCLUDE。该组记录中的源地址[i]字段含有该接口的相关于该多播地址的源列表(如果非空的话)。MODE_IS_EXCLUDE-标明接口相关于某一指定多播地址的过滤模式为EXCLUDE。该组记录中的源地址[i]字段含有该接口的相关于该多播地址的源列表(如果非空的话)。-“过滤模式改变记录”是当本地的IPMulticastListen调用造成本地的接口层相关于某一特定多播IP地址的过滤模式的改变的时候(即从INCLUDE变到EXCLUDE,或者从EXCLUDE变到INCLUDE),由系统发出。这个记录包含在一个报告中,而该报告是从发生改变的那个接口上发出来的。过滤模式改变记录的记录类型是以下两个值中的一个:值名字和含义CHANGE_TO_INCLUDE_MODE,标明接口相关于某一指定的多播地址的过滤模式改变到INCLUDE。该组记录中的源地址[i]字段含有该指定多播地址相关的新的源列表(如果非空的话)。CHANGE_TO_EXCLUDE_MODE,标明接口相关于某一指定的多播地址的过滤模式改变到EXCLUDE。该组记录中的源地址[i]字段含有该指定多播地址相关的新的源列表(如果非空的话)。-“源列表改变记录”是当本地的IPMulticastListen调用造成本地的接口层相关于某一特定多播IP地址的源列表发生改变,并且该改变不跟过滤模式的改变产生冲突时,由系统发出。该记录包含在一个报告中,而该报告是从发生改变的那个接口上发出来的。源列表改变记录的记录类型是以下两个值中的一个:值名字和含义ALLOW_NEW_SOURCE,标明组记录中的源地址[i]字段含有系统希望接收的发往某一多播地址的,新的源的列表。如果这是对一个INCLUDE列表的改变,那么这些地址会被添加到列表中,如果这是对一个EXCLUDE列表的改变,那么这些地址会被从列表中删除。BLOCK_OLD_SOURCE,标明组记录中的源地址[i]字段含有系统不希望再接收的发往某一多播地址的源的列表。如果这是对一个INCLUDE列表的改变,那么这些地址会被从列表中删除,如果这是对一个EXCLUDE列表的改变,那么这些地址会被添加到列表中。如果源列表的改变是同时添加新的源和阻止旧的源,这两种组记录会同时发往一个多播地址,一个是ALLOW_NEW_SOURCE,另一个是BLOCK_OLD_SOURCE。我们把过滤模式改变记录和源列表改变记录都统一称作状态改变记录。不能识别的记录类型值必须被丢弃。组记录表示方法5_阳冈-类型INCLUDE,源地址X。5_£*冈-类型EXCLUDE,源地址X。丁。_困仅)-类型CHANGE_TO_INCLUDE_MODE,源地址X。T。_£*仅)-类型CHANGE_TO_EXCLUDE_MODE,源地址X。ALLOW(x)-类型ALLOW_NEW_SOURCE,源地址X。BLOCK(x)-类型BLOCK_OLD_SOURCE,源地址X。这里x是:一个大写的字母(如。”代表一组源地址,或者:一个表达式(如A+B),这里。+3”表示A和B的合集,“A*B”表示A和B的交集,“A-B”表示从集合A中拿掉所有集合B的元素。三,利用KINNICK验证结果1.RouterStateReportRec'dNewRouterState ActionsINCLUDE(A)IS_IN(B)INCLUDE(A+B) (B)=GWI如果原来的路由状态为INCLUDE(A),新收到一个类型1的report报文为IS_IN(B),则新的路由状态改变为INCLUDE(A+B),并且设置源B的源计数器为GMI,从IXIA的2□发送一个IS_IN(5,6)的report报文,1ss#showipigmpsnoopinggroupssnoopingGroupinformation10uter-VLANID:1GroupAddress:224.0.1.1inner-VLANID:OFilterNode:includeIncludesources192.16S.1.5,192.16S.1.655MReceiverports:PortNumber:Gi0/2includesources:192.160.1.5,192.16S.1.6Excludesources;NoneTota"l_NurnofGroupAddresses[1]路由过滤模式:路由过滤模式为INCLUDE,他包含的源列表为5,6,这说明只有源5和6发来的多播是有host需要的,这些源来的多播不会flooding,对于其他的源发来的多播224.0.1.1会flooding到所有接口而不是丢弃(对于广播,多播,单播,未知单播的处理要看交换机本身的处理行为不一定都是flooding)。;端口转发列表:接口2的Includesource为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,会形成下面的转发表:iss#showIpIgmpsnoopingforward!ng-darabasevlansourceAddressGroupAddressPorns1 192.168.1.5 224.0.1.1GiO/21 192.16S.1.6 224.0.1.1G10/2源7是不会加入的。Iss#show1p1gmpsnooplnggroupsSnoopinqGroupinformationIourer-VLANid:1GroupAddress:224.0.1.1inner-vlanid:0F-literModa:INCLUDEincludesources192.1^8,1,5,192.16S,1.152.168.1.7esmReceiverPorts:PomNumber:Gl0/2Inc-ludesources:192.163.1.5,192.L&8.L.6Excludesources:NonePortNumber:Gi0/3includesources:192.1e8,1,6,192.15S,1.7Excludesources:NoneTotalNumofGroupAddresses[1]路由过滤模式:可以看到过滤模式没变,还是INCLUDE,源列表为(A+B={5,6,7}),则针对这些源发来的多播数据包224.0.1.1一定有host需要的,其他源发送的多播包224.0.1.1,都是没有host需要的,都会被当作普通的多播flooding到所有的端口。端口转发状态:接口2的Includesource为5和6,表明接口2只接收源5和6发来的多播.1.1,Excludesource为None,则其他的源发来的多播不会转发到接口2。接口3的Includesource为6和7,表明接口3只接收源6和7发来的多播.1.1,Excludesource为None,则其他的源发来的多播不会转发到接口3。Action:设置源B={6,7}的源计数器为GMI多播转发表:分别从IXIA接口4发送源为5,6,7,8的多播224.0.1.1,会形成如下转发表■iss#shownpigmpsnoopingforv/arding-databasev-lansourceAddressGroupAddres5 Port5TOC\o"1-5"\h\z1 152.1G8.1.5 224.0.1.1 Ci0/21 192.163.1.6 224.0.1.1 G10/2, G10/31 192.16S.1.7 224.0.1.1 GlO/3源8不会加入到此表中深度解释一下这个设备显示的信息表示的含义:iss#showipigmpsnoopinggroupsSnoopingGroupinformationOuter-VLANID:1GroupAddress:224.0.1.1Inner-VLANID:0#这里显示的是那个vlan中的那个多播组FilterMode:INCLUDE#路由器的过滤模式,两种情况:INCLUDE和EXCLUDE.Includesources192.168.1.6,192.168.1.7#在该过滤模式下的一个源列表,(有两种情况,INCLUDE下的源表示这些源发来的多播一定有host需要的,EXCLUDE下的源表示这些源发来的多播一定是没有host需要的,)SSMReceiverPorts:PortNumber:Gi0/2Includesources:192.168.1.5,192.168.1.6Excludesources:NonePortNumber:Gi0/3Includesources:192.168.1.7Excludesources:None这是端口转发表,和上面的路由过滤模式的源是不一样的,在当前路由过滤模式下,究竟需要把该多播转发到那些端口,有这个端口状态信息来控制。不能把上下两种状态信息混淆,这是两个不同的状态类型,一个维护的是路由过滤模式TotalNumofGroupAddresses[1]多播组的总个数RouterStateReportRec*dNewRouterState ActionsINCLUDE(A)IS」、(B)ZNCLIDE(A+B)INCLUDE(A)JS_EXWEXCLUDE(A+BfB-A)(B-A)-ODelete(A-B>GroupTimer-GMI如果初始的路由状态为INCLUDE(A),新收到一个类型2的IS_EX(B)的report报文,则此时路由状态就会改变为EXCLUDE,此时的值为EXCLUDE(A*B,B-A),并且设置源(B-A)的源计数器的值为0,删除源(A-B),并且更新该多播组的组计数器为GMI.1ss#showipigmpsnoopinggroupsSnoopinqGroupi「千口「11131:i0门IOuter-VLANID:1GroupAddress:224.0.1.1inner-VLANID:OFilterMode:INCLUDEincludesources192.16S.1.5,192.16S,1.6semReceiverPorts:PortNumber:Gi0/2includesources;192.168.1.57192.168.1.6Excludesources:NoneTota"l_NurnofGroupAddresses[1]路由过滤模式:路由过滤模式为INCLUDE,他包含的源列表为5,6,这说明只有源5和6发来的多播是有host需要的,这些源来的多播不会flooding,对于其他的源发来的多播224.0.1.1会flooding到所有接口而不是丢弃(对于广播,多播,单播,未知单播的处理要看交换机本身的处理行为不一定都是flooding)。;端口转发列表:接口2的Includesource为5和6,则针对源列表5和6发来的多播224.0.1.1,会转,此时从IXIA接口4发送源为5和6的多播224.0.1.1,接口2能收到多播转发表:从IXIA接口4分别发送源为5,6,7的多播224.0.1.1,会形成下面的转发表:155#show1pigmpsnoopingforward!ng-databasevlansourceAddre55GroupAddressPorts1 192.168.1.5 224.0.1.1GiO/21 192.168.1.6 224.0.1.1G10/2源7是不会加入的。再从IXIA接口3发送一个IS_EX(6,7)的report报文Iss#showIpIgmpsnoopinggroupssnoopingGroup-informat-ionIourer-VLANid;1GroupAddress;224.0.1.1inner-VLANid;0F-literMode:EXCLUDEExcludesources192.16S.1.75SMReceiverPorts:PortNumber:G10/2include5ource5:192.15S.1.5,192.1^8.1,Excludesources:NonePortNumber:GlO/3include5ource5:None匚父亡1udesources:192.16S.1.6,192.168.1.7TotalNumofGroupAddresses[1]路由过滤模式在此种情况下,当新收到一个IS_EX(6,7)的report报文时,路由过滤模式就会改变为EXCLUDE,源为(A*B={6};B-A={7}),则可以看到对于EXCULDESOURCES底下的源7是没有任何host需要的,当从IXIA接口4发送一个源为7的多播224.0.1.1时,就会按照普通的多播对待flooding到所有接口,对于其他的源都是有host需要的,至于要转发到那些端口,根据底下的端口列表就可知道,端口转发列表:接口2的Includesource为5和6,则针对源列表5和6发来的多播224.0.1.1,会转到接口2,此时从IXIA接口4发送源为5和6的多播224.0.1.1,接口2能收到,并加入到转发表的条目中;其他的源发来的多播224.0.1.1接口2是收不到的。接口3的Excludesource为6和7,表明接口3除了不接收源6和7发来的多播224.0.1.1外,其他的源发来的多播224.0.1.1接口3都会收到。多播转发表:从IXIA接口4分别发送源为5,6,78,9的多播224.0.1.1,会形成下面的转发表:forward!ng-databaseAddressPorts1ss#showipigmpsnoopingforward!ng-databaseAddressPortsv-lansourceAddressGroup192.1e8.1.5192.163.1.6192.1e0.1.0192.1e8.1.5192.163.1.6192.1e0.1.0192.1e8.1.9224.0.1.1224.0.1.1224.0.1.1224.0.1.1Gi0/2?GiO/3G10/2G10/3Gi0/3源7是不会加入到该多播转发表中的。RauterStateReportRauterStateReportl^ec-dNewRouterStateActionsINCLUDE(A)IS_IN(B)INCLUDE(A-B)I、CLIDE(A)[S_EXI、CLIDE(A)[S_EX(H)EXCLUDE(.UB,B-A)Delete(A-B)Groupriiner=CM2EXCLUDE(X,Y)1S__N㈤EXJJE(b(A)4Ml如果原来的路由过滤模式为EXCLUDE(X,Y),新收到一个IS_IN(A)的report报文时,新的路由过滤模式为EXCULDE(X+A,Y-A),并且设置源A的源计数器为GMI。ise#showipigmpenooplnggroupssnoopingGroupinformafionouter-VLANID:LGroupAddress:224.0.1.1inner-VLANID:0FilterMode:EXCLUDEExcludesourcesL92.L6S._L.6,L92,L6S.1.5SSMReceiverPorts:PortNumber:GiO/1includesources:None□xcludesources:192.16S.1.6,192.16S.1.5TotalNumofGroupAddresses[1]再从IXIA接口2发送一个类型1的IS_IN(6,7)的report报文1show1p1gmp'snoopinggroupssnoopingGroupinformationouter-VLANID:1GroupAddress:224.0.1.1inner-VLANID:0FiIterMode:excludeExcludesourcesL9Z.163.1.555MReceiverPorts:PortNumber1:GiO/1includesources:NoneExcludesources:192.168.1.6,192.168.1.5PortNumber:Gl0/2includesources:192.168.1.6,192.168.1.7Excludesources:NoneTotalNumofGroupAddresses[1]路由过滤模式在此种情况下,路由过滤模式为EXCLUDE,源为(Y-A)={5,6}-{6,7}={5};(X+A);{Y的补集}+{6,7})=({6}+Y的补集)是一定有host需要的,当从IXIA接口3发送源为5的多播224.0.1.1时,按照普通的多播对待flooding到所有接口,其他的源发来的多播224.0.1.1,是有host需要的。至于要转发到那些端口,根据底下的端口列表就可知道,端口转发列表:接口1的Excludesource为5和6,则针对源列表5和6发来的多播224.0.1.1,不会转到接口1,此时从IXIA接口3发送源为5和6的多播224.0.1.1,接口1不能收到。接口2的Includesource为6和7,表明接口2只接收源6和7发来的多播224.0.1.1,其他的源发来的多播224.0.1.1接口2都不会收到。Acton:设置源A={6,7}的源计数器为GMI.多播转发表:从IXIA接口4分别发送源为5,6,7,8,9的多播224.0.1.1,都会加入到绑定表中,会形成下面的转发表:

1ss#show1pIqmpsnooplngforv/arding-daTabase"larisourceAddressGroupAddressPort51 192.163.1.61 192.16S.1.71 192.163.1.61 192.16S.1.71 1^2.168.1.81源5不会加入到该列表中。224.0.1.1G10/2224.0.1.1G10/1,GlO/2224.0.1.1GiO/1224.0.1.1G10/14.RouterSi.ai.eReportRoc'dNowRoui.erStaleActionsINCLIDE(A)IS_I»⑻INCLUDECA+B)⑻=GML1MCLLDE(A)1S_EK⑻EXCLUDE(M艮B-A)(B-A)=0Delete(A-b)GroupTitiier=GMIEXCLUDE0cli0IS_IN(A)EXCLUDE(X+A,Y-A)(A)=GMIEXCUSE(工Y)l:S_EX(A)EXCLUDE(A-Yd鼻A)(A-X-Y)=GMIDelet.e(X-A)Delete(Y-A)GroupTirner=GMI如果开始的路由过滤模式为EXCLUDE(X,Y),当收到一个新的IS_EX(A)的report报文时,则新的路由状态为EXCLUDE(A-Y,Y*A),并且设置源(A-X-Y)的源计数器为GMI,同时删除(X-A)和(Y-A)两个源,更新组计数器为GMI。首先从IXIA接口1发送一个类型2的IS_EX(5,6)的report报文shovipigmpsnoopiriggroupssnoopingGroup1nformationIouter-vlanid:1GroupAddress:224.0.1.1inner-VLANid:0FilterMode:excludeExcludesources1^2.168.1.6,1^2.168.1.555MReceiverParts:PortNumber:Gi0/1includesources:MonsExcludesources;192.168.1.6,152.168.1.5TotalNumofGroupAddresses「I]再从IXIA接口2发送一个类型2的IS_EX(6,7)Iss#showIpIgmpsnoopinggroups」snoopingGroup-informationouter-vlanid:1GroupAddress:224.0.1.1inner-VLAMid:0FilterMode:excludeExcludesources192.16S.1.655MReceiverPorts:PortNumber:GiO/1Inc-ludesources:NoneExcludesources:192.16S.1.6,192.166.1.5parrNumber;g10/2includesources:NoneExcludesources:192.16S.1.6,192.168.1.7TotalNumofGroupAddresses[1]■ ■ ■ ■ ・■ I■ ■ ■路由过滤模式:可以看到路由过滤模式没变还是EXCLUDE,为EXCLUDE(A-Y,Y*A)=EXCLUDE({6,7}-{5,6},{6,7}*{5,6})=EXCLUDE(7,6),源6发送的多播是不被任何host需要的,则源6发出来的多播224.0.1.1是会flooding的,对于源7发来的多播224.0.1.1一定是底下的接口需要的,其他的源发送来的多播224.0.1.1会根据底下的转发列表来做相应的转发。端口转发列表:接口1的Excludesource为5和6,则针对源列表5和6发来的多播224.0.1.1,不会转到接口1,此时从IXIA接口3发送源为5和6的多播224.0.1.1,接口2不能收到,;其他的源发来的多播224.0.1.1接口2能收到。接口2的Excludesource为6和7,表明接口3除了不接收源6和7发来的多播224.0.1.1外,其他的源发来的多播224.0.1.1接口3都会收到。Action设置(A-X-Y)={6,7}-{}-{5,6}={7}的源计数器为GMI,并且删掉源X-A={5,6}-{6,7}={5},删掉Y-A={7}-{6,7}={},更新组计数器为GMI.多播转发表:从IXIA接口4分别发送源为5,6,7,8,9的多播224.0.1.1,都会加入到绑定表中,会形成下面的转发表:showip1gmp'snooplngforwarding-databaseV1anSourceAddressGroupAddres5Ports1L92.16S.1.5224.0.1.1GnO/21192.168.1.7224.0.1.1GlO/11192.16S.1.S224.0.1.1Gl0/17G10/21L92.16S.1.9224.0.1.1Gl0/1,G10/2源6不会加入到转发表中5.KouterStateReportRac'dNewKouterStateActionsINCLCDE(A)ALLOW(B)INCLUDEQ+B) (B)=GMI如果初始的路由过滤状态为INCLUDE(A),新收到一个类型5的ALLOW(B)的report报文,则新的路由过滤状态为INCLUDE(A+B),并且设置源B的源计数器为GMI.(要注意的是这里的ALLOW是对原来已存在的源的改变,他们的源ip必须一样,如果针对这个源ip地址的初始状态不存在,则这样的ALLOW报文无效,是不会被处理)首先从IXIA接口2发送一个类型1的IS_IN(5,6)的report报文,该报文的源ip地址为192.168.1.12i55#showipigmp'snogrsnoapingGroupinformarionouter-VLANID:1GroupAddress:224.0.1.1inner-VLANID:0FiIterMode:includeincludesources192.16S.1.5,192.168.1.655MReceiverPorts:PortNumber:Gl0/2Includesources:152.168.1.5,192.168.1.6Excludesources:NoneTotalNumofGroupAddresses[1]再从IXIA接口2发送一个类型5的ALLOW(6,7)的report报文,源ip地址也是192.168.1.12(如果此时发送一个源ip地址不是192.168.1.12的ALLOW报文,则这个ALLOW报文不会被处理,一定要注意,ALLOW的含义),1ss#showipigmp-snogrSnoopingGroup5「千口「巾己士5cmOuter-VLANID:1GroupAddress:224.0.1.1inner-VLANID:0FilterMode:includeinclude5ource5192.168.1.5,192.168.1.6,192.168.1.755MReceiverPorts:PortNumber:Gn0/2includesources:192.16S.1.5,1^2.168.1.6,192.168.1.7Excludesources:noneTota"l_NumofGroupAddresses[1]路由过滤状态:路由过滤状态并没有改变,还是INCLUDE,为INCLUDE(A+B)=INCLDE({5,6}+{6,7})=INCLUDE(5,6,7),这表明,源5,6,7发来的多播224.0.1.1一定是有host需要的,其他的源发来的多播224.0.1.1一定是没有host需要的,直接flooding出去。端口转发列表:接口2的IncludeSource为5,6,7,表明源5,6,7发来的多播会转发到接口2.其他的源发的多播224.0.1.1接口2收不到。Action设置源B的源计数器为GMI,多播转发表:从IXIA接口4分别发送源为5,6,7,8,9的多播224.0.1.1,都会加入到绑定表中,会形成下面的转发表:155^5howipigmp'snoopingforwardlng-daTabaseanSourceAddressGroupAddress Ports1 192.163.1.5 224.0.1.1 G10/21 152.168.1,6 224.0.1.1 Qi0/21 192.168.1.7 224.0.1.1 GiO/2源8,9没有加入到该列表中。6.KoutcrStateReportHere'dNcrRouterState ActionsINCLUDE⑶ ALL口将(B) INCLUDE(A-B) fB)=GVIINCLUDE⑴ BLOCK(B) 用CLIDE(A) SendQ(G.A*B)如果初始的路由过滤状态为INCLUDE(A),新收到一个类型6的BLOCK(B)report报文,则新的路由状态为INCLUDE(A),并且向组G发送一个源为(A*B)的Group-and-Source-SpecificQuery查询报文,查看这个源是否还需要该多播,如果在最大相应时间内没有得到回应,则删掉该源,在该时间范围内得到回应,继续保留。(注意BLOCK报文的含义,他也是在原来源的基础上改变的,一定要存在相同的源)首先从IXIA接口1发送一个类型^勺正一小仁西)的report报文,源ip地址为192.168.1.11155#showip1gmpsnoopnnggroupsIsnooplngGroup1nformafionOuter-VLANID:1GroupAddress:224.0.1.1inner-VLANID:0FilterMode:includeinclude5ource5192.16S.1.6,192.16S.1.5ssmReceiverPorts:portNumber:ci0/1includesources:192.15S.1.5,192.15S.1.5Excludesources:NoneTotalNumofGroupAddresses[1]再从IXIA接口1发送一个类型6的BLOCK(6,7)的report报文,源ip地址为192.168.1.11

iss#showipIgmp-snoopinggroupssnoopingGroupInformaTionIQuter-VLANID:1GroupAddress:224.0.1.1inner-VLANID:0FilterMode:INCLUDEincludesourcesL92.16S.1.5ssmReceiver1Ports:PortNumber:Gl0/1includesources;192.168.1.5Exclud@sources:NoneTotalNumofGroupAddresses[1]■ I ■■ ・■ ■■ ■ ■路由转发状态:过滤模式还是INCLUDE,源为5.说明只有源5发来的多播224.0.1.1是由host需要的,其他的源发来的多播是没有任何host需要的。端口转发表:接口1的Includesource为5,说明源5发来的多播224.0.1.1可以转发到接口1,其他的源发来的多播224.0.1.1不会转发到接口1Action:发送一个Q(G,A*B)的查询包多播转发表:从IXIA接口4分别发送源为5,6,7,8,9的多播224.0.1.1,都会加入到绑定表中,会形成下面的转发表:showIpIgmp-snooplngforwarding-databasevlansourceAddressGroupAddressPort571 192.16S.1.5 224.0.1.1G10/17RouterStateReportRectdNerRouterStateActionsINCLUDE(A)ALLOW(B)INCLUDI:(A+B)I.XCLUDE(A)BLOCK(B)INCHDE(A)SendQ(G,A密源.6,7,8,9不会加入到该转发表中INCLUDE(A)TO_EK(B)EXCLUDE(A*B,B-A) (B-A)=0Doloto(A-B)SendQ(G,A*B>GroupIimer=GMI如果初始路由过滤状态为INCLUDE(A),收到一个类型4的TO_EX(B)的report报文,则新的路由状态为EXCLUDE(A*B,B-A),并且设置源(B-A)的源计数器为0,删掉源(A-B),并且发送一个特定源查询的Q(G,A*B)的Group-and-Source-SpecificQuery包,与此同时设置组计数器为GMI,首先从IXIA接口2发送一个类型1的IX_IN(5,6)的report报文,showipigmpsnoopinggrsnoopingGroupinformationOuter-VLANID:LGroupAddress:224.0.1.1Inner-VLANID:0FilterMode:includeincludeL92.L6S.L.5,192.168.1.6mmmReceiverPorts:PortNumber:Gi0/2includesources:192.16S,1.5,L92,L6S.L.6Excludesources:NoneTotalNumofGroupAddresses[1]再IXIA接口3发送一个类型4的INEX(6,7)的report报文,i占弓#showipigmpsnoopinggroupssnoopingGroupinformationIouter-VLANID:1GroupAddress:224.0.1.1inner-VLANID:OFilterMode:excludeExcludasources192.168.1.755MReceiverPorts:PortNumber:Gi0/2includesources:192.16S,1.5,L92,L5S.L.6□xcludesources:NonePortNumber:GlO/Sincludesources:None□xcludesources:192.168.1.6,L92.L6S.L.7TotalNumofGroupAddresses[1]路由过滤状态:当收到一个类型4的report时,路由过滤状态改变为EXCLUDE,为EXCLUDE(A*B,B-A);EXCLUDE({5,6}*{6,7},{6,7}-{5,6})=EXCLUDE(6,7)所以对源7来的多播224.0.1.1是没有任何host需要的,会flooding,对于其他的源发来的多播是有host需要的,至于转发到那些端口,还要看下面的端口转发列表的情况,端口转发表:接口2的Includesource为5和6,则针对源列表5和6发来的多播224.0.1.1,会转到接口2,此时从IXIA接口4发送源为5和6的多播224.0.1.1,接口2能收到,并加入到转发表的条目中;其他的源发来的多播224.0.1.1接口2是收不到的。接口3的Excludesource为6和7,表明接口3除了不接收源6和7发来的多播224.0.1.1外,其他的源发来的多播224.0.1.1接口3都会收到。

Action设置源(B-A)={6,7}-{5,6}={7}的源计数器值为0,删除(A-B)二{5}这个源,因为这个源已经被包含在了列表中了,同事发送一个针对特定源的Q(G,A*B)的Group-and-Source-SpecificQuery包,并且设置组计数器为GMI。多播转发表:从IXIA接口4分别发送源为5,6,7,8,9的多播224.0.1.1,都会加入到绑定表中,会形成下面的转发表:forwarding-databaeeAddressPortslee#show1p1gmpsnooplngforwarding-databaeeAddressPortsV~lanSourceAddressGroup1 192.1G0.1.51 192.1^8.1.61 192.1G0.1.51 192.1^8.1.61 192.168.1.81 192.1e6.1.9224.0.1.1GiO/2224.0.1.1G10/3224.0.1.1G10/3源7不会加入到该转发表中8.Act!onsRouterStateReportRec'dNewRouterStateAct!onsINCLUDE(A)ALLOW(B)[NCLUDE(A+B)INCLUDE(A)BLOCK(B)INCLUDE(A)SendQ(G.A*B>INCLUDE(A)TO_EX(B)EXCLUDE0左,E-A)(B-A)=0DeleteQ-B)SendQ(GM*B)GroupTitner=(jMlINCLUDE(A) ⑻INCLUDE(A+B) ⑻-□□SendQ(G,A-B)如果初始的路由过滤模式为INCLUDE(A),新收到一个类型3的TO_IN(B)的report报文,则新的路由过滤状态为INCLUDE(A+B),并且设置源B的源计数器为GMI,发送一个特定源的查询包Q(G,A-B)的Group-and-Source-SpecificQuery报文。首先从IXIA接口2发送一个类型1的IS_IN(5,6)的report报文■i占占壮showipigmpsnoopinggrsnoopingGroupinformatnonIouter-VLANID:LGroupAddress:224.0.1.1innsr-VLAhlID:0FiIterMode:includeinclud@sources192.16S.1.5,192.16S.1.6S5MReceiverPorts:PortNumber:GlO/2includesources:192.168.1.5,192.168.1.6Excludesources:NoneTotalNumofGroupAddresses[1]再从IXIA接口3发送一个类型3的T0_IN(6,7)的report报文。n55#*hciwipigmp'snaopinggroupssnoopirgGroupinformationIouxer-vlanid:1GroupAddress;224.0.1.1inner-vlahid:0FilterMode:includeincludesources192.1^8.1.5,192.168.1.6,152.168.1.7ssmReceiverPorts:PortNumber:Gi0/2Inc-ludesources:192.1e8.1.5,192.16S.1.6Excludesources:NonePortNumber:Gi0/3inc-ludesources:192.1^8,1,6,192.1&S.1.7Exc-ludesources:noneTota-lNumofGroupAddresses[1]路由过滤模式:可以看到过滤模式没变,还是INCLUDE,源列表为(A+B={5,6,7}),则针对这些源发来的多播数据包224.0.1.1一定有host需要的,其他源发送的多播包224.0.1.1,都是没有host需要的,都会被当作普通的多播flooding到所有的端口。端口转发状态:接口2的Includesource为5和6,表明接口2只接收源5和6发来的多播224.0.1.1,Excludesource为None,则其他的源发来的多播不会转发到接口2。接口3的Includesource为6和7,表明接口3只接收源6和7发来的多播224.0.1.1,Excludesource为None,则其他的源发来的多播不会转发到接口3。Action:设置源B={6,7}的源计数器为GMI,同时发送一个查询Q(G,A-B)的Group-and-Source-SpecificQuery报文。多播转发表:从IXIA接口4分别发送源为5,6,7,8,9的多播224.0.1.1,都会加入到绑定表中,会形成下面的转发表:

is£^showIpIgmp'snoopingforward!ng-danabasevlan5ourceAddressGroupAddressPorts111192.16S.1.5192.16S.1.6192.158.1.7.1.1G10/2.1.1G10/2,GiO/3,1.1G10/3源8,9不会加入到该转发表中RomerSi日工e is£^showIpIgmp'snoopingforward!ng-danabasevlan5ourceAddressGroupAddressPorts111192.16S.1.5192.16S.1.6192.158.1.7.1.1G10/2.1.1G10/2,GiO/3,1.1G10/3源8,9不会加入到该转发表中RomerSi日工e ReponRec?dNewR.ouierActionsINCLUDE⑷ALW⑻INCLUDE(A+B)INCLUDE(工INCLUDE⑷BLOCK⑻ INCLUDE(A)TO_EX(B) EXCLUDE(MB,RT)INCLUDE⑷TO_IX(B)INCLUDE(AtB)®)=GMISendQ(G,A*BJ出T)=0Delate(A-B)SendQ«l.A+B)GroupTiiriei'=Gi{I⑻二G值SendQ(G,A-B)EKCL.UDEY)At.LOW(A)EXCLUDE谭+A,FA)如果初始的路由过滤模式为EXCLUDE(X,Y),当收到一个新的类型5的ALLOW(A)的report报文时,新的过滤模式为EXCLUDE(X+A,Y-A),并且设置源A的源计数器为GMI.首先从IXIA接口1发送一个类型2的IS_EX(5,6)的report报文,源ip地址为192.168.1.11155#showipigmp5noopinggroupssnoopingGroup1nforrnaTionOuter-VLANID:1GroupAddress:224.0.1.1Inner-VLANID:0FilterMode:excludeExcludesources192.168.1.6,192.168.1.5ssmReceiverPorts:PortNumber:Gl0/1Includesources;NoneExc-ludesources:192.16S.1.6,192.16S.1.5TotalNumofGroupAddresses[1]■■■再从IXIA接口1发送一个类型5的ALLOW(6,7)的report报文,源ip地址为192.168.1.11Issi^showIpIgmpsnoopinggroupssnooplngGroup1nformatlonIOuter-VLANID:1GroupAddress:224.0.1.1Inner-VLANID:0FilterMode:excludeExcludesources192.168.1.5semReceiverPorts:PortNumber:G10/1includesources:NoneExcludesources:192.16S.1.5TotalNumofGroupAddresses[1]■ ■ ■■■■■■■路由过滤模式:可以看到路由过滤模式为EXCLUDE,为EXCLUDE(X+A,Y-A);EXCLUDE({}+{6,7},{5,6}-{6,7})=EXCLUDE({6,7},{5}),这说明源5发来的多播224.0.1.1是没有host需要的,这个多播就会flooding,对于源6,7发来的多播是由host需要的,而是会转发到相应的接口,到底转发到那些接口还要看下面的接口转发列表,端口转发表:接口1的Excludesource的源为5,则说明除了源5发来的多播224.0.1.1接口1不会收到之外,其他的源发来的多播224.0.1.1接口1都会收到。Action设置源A={6,7}的源计数器为GMI.多播转发表:从IXIA接口4分别发送源为5,6,7,8,9的多播224.0.1.1,都会加入到绑定表中,会形成下面的转发表:showipigmpsnoopnngforward!ng-databasevlansourceAddressGroupAddressPortsTOC\o"1-5"\h\z192.168.1.6 224.0.1.1 GiO/1192.168.1.7 224.0.1.1 GiO/1192.16S.1.S 224.0.1.1 G10/1192.168.1.9 224.0.1.1 G10/1源5不会加入到该转发列表中。10.ActionsRouterStateReportRec'dNewRouterStateActionsINCLUDEALL0U:(B)INCLUDES+E)⑻=GMIIN'CLIDEBLOCKINCLUDESendQ(G,A+B)IN'CLIDETOEX(B)EXCLUDE(加B,B-A)缶-A)=0Delete(A-B)SendQ(G,INCLUDEALL0U:(B)INCLUDES+E)⑻=GMIIN'CLIDEBLOCKINCLUDESendQ(G,A+B)IN'CLIDETOEX(B)EXCLUDE(加B,B-A)缶-A)=0Delete(A-B)SendQ(G,A*B)GroupTimer=GMIIN'CLIDETDl:NINCLINEg+E)⑻=GMISendQ(G,A-B)EXCLUDEIXY)ALLOUEXCLUDE饼A,Y-A)(A-X-Y)(A-X-Y)=GroupTimerSe-idQ(O-Y)EXCLIDE(X,Y)B:.OCK(A)EXCLUDE(X+(A-Y)3Y)如果初始的路由过滤状态为EXCLUDE(X,Y),当收到一个类型6的BLOCK(A)的report报文时,新的路由过滤模式为EXCLUDE(X+(A-Y),Y),并且设置源(A-X-Y)的源计数器为该组的计数器,同样发送一个Q(G,A-Y)的Group-and-Source-SpecificQuery报文首先从IXIA接口1发送一个类型2的ISEX(5,6)的report报文,源ip地址为192.168.1.11iss^showipigmpsnoopnnggroupssnoopingGroup1nformarlonIouter-VLANID:1GroupAddress:224.0.1.1inner-VLANID:0FiIterMode:excludeExcludesources192.163.1.6,192.163.1.5S5MReceiverPorts:PortNumber:Gi0/1includesources:NoneExcludesources:192.168.1.6,192.168.1.5TotalNumofGroupAddresses[1]再从IXIA接口2发送一个类型6的BLOCK(6,7)的report报文,源ip地址为192.168.1.11.showipIgrnp'snoopinggroupssnoopingGroupinformafionIouter-VLANID:1GroupAddress:224.0.1.1inner-VLANID:0FiIterMode:EXCLUDEExcludesourcesL92.L6S,L.6,192.163.1.5,192.16S.L.7SSMReceiverPorts:PortNumber:Gl0/1Indudesources:NoneExcludesources:192.16S.1.6,192.1e8.1.5,192.1&8.1.7TotalNumofGroupAddresses[1]路由状态:路由过滤模式为EXCLUDE,源为5,6,7,这说明源5,6.7发来的多播224.0.1.1是没有任何host需要的,其他的源发来的多播是由host需要的。端口转发表:接口1的Excludesource为5,6,7,则源5,6,7发来的多播224.0.1.1不会转发到接口1,其他的源发来的多播接口1是会收到的Action设置源(A-X-Y)={6,7}-{}-{5,6}={7}的源计数器为该组的组计数器的值并且发送一个针对特定源的Q(G,A-Y)的Group-and-Source-SpecificQuery查询包。多播转发表:从IXIA接口4分别发送源为5,6,7,8,9的多播224.0.1.1,都会加入到绑定表中,会形成下面的转发表:155^showip1gmp3noop1ngforward!ng-databaseV~\anSourceAddressGroupAddressPorts1 192.16S.1.S 224.0.1.1 G10/11 192.16S.1.9 224.0.1.1 G10/1源5,6,7不会加入到该表中。11.

Router>tateReportKec1d RouterStateActionsINCLUDE(A)ALLOW⑻INCLUDE<A+B)(B)=GMIINCLUDE(A)BLOCK⑻INCLINE(A)SendQ(GtA*B)INCLUDE⑷T0_EX⑻EXCLUDE(A*BtB-A)(BT)二。Delere"R)SendQ(GtA*B)GroupTim巳丁二Gill1NCI.LTET0_IN⑻IVCLLDE(A+B)⑻二Gil1SendQ(GtA-B)EXCLUDE盛,Y)ALLOW(A)EXCLLDE(X+AfY-A)(A)=GM]EXCLUDEY)BLOCK⑷EXCLUDEa+(A-Y),Y)(A-X-¥)=GroLipTimerSendQ(GtA-Y)区Y)T0_EX(A)EXCLUDE(A-Y,Y*A)(A-X-Y)=GroupTimerDel?te(国-A)De1?te(\-A)Sen:QCG.A-Y)GroupTinier=GM1如果初始路由过滤状态为EXCLUDE(X,Y),当收到一个类型4的TO_EX(A)的report报文,则新的路由状态为EXCLUDE(A-Y,Y*A),并且设置源(A-X-Y)的源计数器为该组的组计数器,删掉源(X-A)和源(Y-A),并且发送一个针对特定源的Q(G,A-Y)的Group-and-Source-SpecificQuery查询包,更新组计数器为GMI,首先从IXIA接口1发送一个类型2的IS_EX(5,6)的report报文。■iv占#showipigmpsnoopinggroupssnooplngGroupinformationIoutsr-VLAhlID:1GroupAddress:224.0.1.1innsr-VLAhlID:0FillerMode;excludeexc-Iudesources192.1e0.1.6,192.16S.1.555MReceiverPorts:PortNumber:Gi0/1includesources:NoneExc-!udesources:192.16S.1.6,192.1&3.L.5TotalNumofGroupAddresses[L]再从IXIA接口2发送一个类型4的TO_EX(6,7)的report报文1s5#showIpIgmp'5noop1nggroupssnoopingGroup-informationourer-vlanid;1GroupAddress;Z24-.0.1.1inner-VLANid;0FilterMode:excludeExcludesources192.16S.1.G5SMReceiverPorts:PortNumber:Gl0/1includesources:NoneExcludesources;192.163.1.6,192.163.1.5PortNumber:Gl0/2includesources:NoneExcludesources:192.16S.1.6,192.168.1.7TotalNumofGroupAddresses[L]路由过滤状态:路由过滤模式为EXCLUDE,源为EXCLUDE(A-Y,Y*A)=EXCLDE({6,7}-{5,6},{5,6}*{6,7})=EXCLUDE(7,6),则源7发来的多播224.0.1.1一定有host需要的(是底下端口转发表中的所有端口都需要的),源7发来的多播224.0.1.1一定是没有host需要的。端口转发表:接口1的Excludesource为5和6,则说明源5和6发来的多播224.0.1.1不会转发到接口1,其他的源发来的多播224.0.1.1可以转发到接口1接口2,的Excludesource为6,7,则除了源6,7发来的多播224.0.1.1接口2收不到之外,其他的源(不包括源6)发来的多播224.0.1.1,接口2都能收到。Action设置源(A-X-Y)={6,7}-{}-{5,6}={7}的源计数器为该组的计时器,删掉源(X-A)={}-{6,7}=。和源(Y-A)={5,6}-{6,7}={5};Q(G,A-Y)向组224.0.1.1发送一个源为(A-Y)={6,7}-{5,6}={7}的query查询包,还会设置组计数器为GMI.多播转发表从IXIA接口4分别发送源为5,6,7,8,9的多播224.0.1.1,都会加入到绑定表中,会形成下面的转发表:

■iy#showip-igmp'sroopingforwlrding-databa5evlansourceAddressGroupAddressPorts192.16S.1.5192.16S.1.7192.158.1.8192.16S.1.5192.16S.1.7192.158.1.8192.16S.1.9224.0.224.0.224.0.224.0.G10/2G10/1G10/1,Gi0/2G10/1,G-10/2源6不会加入到该转发表中12.⑻二G邮SendQ(G*X-A)⑻二G邮SendQ(G*X-A)SendQ(G)如果初始路由过滤状态为EXCLUDE(X,Y),当收到一个类型3的TO_IN(A)的report报文,则新的路由状态变为EXCLUDE(X+A,Y-A),并且会设置源A的源计数器为GMI,同时发送一个Q(G,X-A)的Group-and-Source-SpecificQuery报文,也会发送一个Q(G)的Group-SpecificQuery报文。第一种类型:从不同的接口发送两种report首先从IXIA接口1发送一个类型2的IS_EX(5,6)的report报文1shoxvipIgmp5noopinggroupssriooplngGroupinformafionIouTer-VLANID:1GroupAddress:224.0.1.1inner-VLANID:0F-literMode:EXCLUDEExcludesources192.1SS,1.5,192.16S,1.5ssmReceiverPorts:PortNumber:Gi0/1includesources;NoneExc-ludesources:1^2.ie0.1.e,192.16S.1.5Tota"!Numof

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论