精华内容
下载资源
问答
  • 交换机组播协议-二层组播/三层组播总结

    万次阅读 多人点赞 2019-05-20 18:03:19
    当ip网络中某Rx主机需要接收信息时,若采用组播方式,组播源tx仅需要发送一份信息,借助组播路由协议建立组播分发树,被传递的信息在距离组播源尽可能远的网络节点才开始复制和分发。复制分发节点如下图所示: ...

    一、组播介绍:

           组播技术解决的是以最小的网络开销实现单点发送,多点接收的问题。就实现点对多点数据传输问题,比广播/单播传输更高效,更能节省网络带宽,降低网络负载。

           ip网络中某Rx主机需要接收信息时,若采用组播方式,组播源tx仅需要发送一份信息,借助组播路由协议建立组播分发树,被传递的信息在距离组播源尽可能远的网络节点才开始复制和分发。复制分发节点如下图所示:

    图一

    组播的优势简单归纳:(单点到多点数据传输问题)

           相比单播来说,组播的优势在于:由于被传递的信息在距信息源尽可能远的网络节点才开始被复制和分发,所以用户的增加不会导致信息源负载的加重以及网络资源消耗的显著增加。

           相比广播来说,组播的优势在于:由于被传递的信息只会发送给需要该信息的接收者,所以不会造成网络资源的浪费,并能提高信息传输的安全性;另外,广播只能在同一广播域中进行,而组播可以实现跨域的传输。

    二、组播协议:

           通常,我们把工作在网络层的IP组播成为“三层组播”,相应的组播协议称为“三层组播协议”,包括IGMP, PIM/ IPv6PIM ,MSDP等;

           我们把工作在数据链路层的IP组播成为“二层组播”,相应的组播协议称为“二层组播协议”,包括IGMP Snooping /MLD Snooping ,PIM Snooping等。

    1、三层组播协议:

     三层组播协议包括组播组管理协议和组播路由协议

    1)、组播组管理协议

    在主机和与其直接相连的三层组播设备之间通常采用组播组的管理协议 IGMPInternet GroupManagement Protocol,互联网组管理协议)或 MLDMulticast Listener Discovery Protocol,组播侦听者发现协议),该协议规定了主机与三层组播设备之间建立和维护组播组成员关系的机制。(加组离组报文监听,并管理组播组)

    IGMP自带有查询器功能,工作机制是同网段内组播路由器之间竞争选举,选举出的查询器会发送普通组查询报文。

    2)、组播路由协议

    组播路由协议运行在三层组播设备之间,用于建立和维护组播路由,并正确、高效的转发组播数据包。组播路由建立了从单点源端到多点接收端的数据传输路径,这个路径我们也称之为“组播分发树”---参考图一

    对应的协议,也是我们实验并应用的,即:PIM SM  (这里还有其他协议如PIM DMmsdp)

     

    2、二层组播协议:

    1)、常用协议

    常用如IGMP Snooping/MLD Snooping, PIM Snooping

    我们验证并在项目中使用的是IGMP Snooping,它是运行在二层设备上,通过侦听三层设备和主机之间的IGMP报文来生成二层组播转发表,从而管理和控制组播数据报文的转发,实现组播数据报文在二层的按需分发。

    IGMP通过监听加组/退组报文,来管理维护组播组与交换机端口/(或者说)设备mac地址间的映射关系,即二层的转发表项。该表项的维护有一个自动老化机制,在交换机主动查询主机是否在组,主机无应答的情景下,超过一定时间交换机会将该主机从转发表中移除。加组动作会导致老化定时器重新计数,即保证在老化时间内应答交换机的查询或主动加组,都可以保证组播转发表项的正常存在,进而组播正常转发。

    1)关键配置汇总:

    全局模式下的igmp snooping使能

    Vlan视图下:

                   使能igmp snooping

                   未知组播丢弃(有的型号只能在全局模式下配置该项)

    端口视图下:

                   端口快速离组

                   未知单播丢弃

    如果是两台及以上交换机级联,其中核心交换机上除了以上配置外,还需要配置使能查询器功能。

    另外,考虑到管理和业务分离,需要划分vlan,一个管理vlan,一个业务vlan

     

    三、交换机支持三层组播路由功能的配置总结

    1.原理及关键配置说明:

           基于我们自有的产品线net-bnet-h系列,要想通过交换机实现三层组播路由转发,与交换机而言需要两点:a.vlan的单播路由功能;b.vlan的组播路由功能,且ab的前提条件。

           基于上述条件,在配置交换机时的思路也应该是首先确保跨vlan的单播路由得通,进而在配置时,一般也是先配置三层的单播路由相关配置,在通的基础上再进行配置三层的组播相关配置。

    1.1单播路由功能:

           接口vlanif配置:

           不同的vlan,都要对相应的接口vlanif配置,需要在对应的vlanif下配置对应vlan接口的ip信息,此ip即为接入到该vlan下所有设备的网关信息。

           ospf配置:

           ospf是一种内部网关协议,会根据配置的子网信息,生成并维护一套路由表信息,进而实现跨子网的单播传输。

           这里的配置需要将每个接口vlanifip,作为一个子网信息配置到ospf下,并根据子网的掩码信息设定此网络域的大小。

           如:vlanif 1  ip192.168.1.1 255.255.255.0

                  vlanif 2  ip10.208.1.1 255.255.255.252

           要实现vlan 1(192.168.1.111)vlan 2(10.208.1.2)两个设备互通,除了需要对应vlan下的设备需要和对应vlanifip同一网段外,还需要配置交换机的ospf协议,如下:

           #

           ospf 100

     area 0.0.0.0

     network 192.168.1.0  0.0.0.255   (广播域的大小描述,此处的值为掩码的反码)

     network 10.208.1.0   0.0.0.3

    这样在vlan 1下的设备ip 192.168.1.x 就能够pingvlan 2下的设备ip10.208.1.y (y:[0:3])

    1.2组播路由功能:

           在单播路由能通的条件下,必须要使能交换机的组播路由功能(这里需要注意并不是所有交换机都支持组播路由功能,交换机选型时需要注意);

           必须在vlanif下是能pim sm(管理组播路由表)和是能igmp(管理组播组)功能;

           在不启用动态rp的条件下,必须要在所有使能了组播路由功能的交换机上,设定相同的静态rp

    1.3组播路由功能配置中必须继承的原来二层的配置

           仅有1.11.2的配置虽然能够建立组播组成功,但是在接收者所在的子网内会有广播现象。所有原来走二层的配置部分必须要保留,保留如下:

    1. 全局igmp-snooping使能
    2. 业务vlan下的igmp-snooping使能
    3. 业务vlan下的未知组播丢弃功能
    4. 华三交换机按照端口的快速离组功能,华为的业务vlanhost-based快速离组功能。

    1.4组播路由功能配置其他注意事项

           原来二层配置中有关于端口的未知单播抑制功能的配置,如果在路由功能的配置中如果增加了此配置,路由功能是不通的,原因在于ping一个其他子网的ip时,源所在的子网认为是一个目的未知的单播数据,此时抑制功能生效。

           原来二层配置中关于在核心上需要开启查询器相关的配置,在这里要去掉。

    1.5思考问题:

             在三层级联的情景中,在接入层交换机有多台,且是属于同一个vlan域,在不需要走路由器的条件下,我们是否需要在汇聚交换机上配置查询器的问题。

             因为pim本身是维护的路由器间的组播关系,涉及到多台接入交换机到汇聚层属于同一vlan域时,这时候是不需要pim的,且这种场景的在原来二层配置中是需要加查询器的,目前在生产的实验和net-b环境都没有测试到。

    答案:实验证明此处不需要配置查询器。

    2、配置实例:

    2.1实例网络拓扑

             NET-B的测试环境,三台华为s5720,其中一台华为s5720交换机做网络核心交换机;剩余两台华为s5720做汇聚交换机;最后h3c s5700做接入交换机;网络拓扑如下图,

    需要实现,如图所示,vlan101/vlan102/vlan103内部视频流走组播;vlan101/102/103可以实现跨vlan建组

    介绍三层组播路由功能配置:网络拓扑图如下

    核心1_1:

             VLAN划分:

                       vlan103:普通GE口1-28

                       vlan300:BAGG1

                       vlan301:BAGG2

             聚合划分:

                       BAGG1:XGE1-2

                       BAGG2:XGE3-4

    汇聚1_2:

             Vlan划分:

                       Vlan101:1-28口;BAGG2

                       Vlan300:BAGG1

             聚合划分:

                       BAGG1:XGE1-2

                       BAGG2:XGE3-4

    汇聚2_3:

             Vlan划分:

                       Vlan102:1-28口;BAGG2

                       Vlan301:BAGG1

             聚合划分:

                       BAGG1:XGE1-2

                       BAGG2:XGE3-4       

    接入1_4:

             Vlan101:1-28口;BAGG1

    接入2_5:

             Vlan102:1-28口;BAGG1

     

    2.2配置思路:

             拓扑中属于业务应用的vlan有vlan101,vlan102,vlan103,核心1_1和汇聚1-2通过vlan300互通,核心1-1和汇聚2-3通过vlan301互通,其中核心中包含三个不同vlan:vlan103/vlan300/vlan301,配置ospf使能,其通过对于主干域内配置的子网信息计算最短路径,实现单播路由转发功能。汇聚1_2中Vlan101/Vlan300同理配置ospf使能。汇聚2_3中的Vlan102/ vlan301同理配置ospf使能。

             核心1-1/汇聚1-2/汇聚2-3需要使能组播路由功能,并且在对应的vlan接口下配置vlanif的ip和掩码信息,使能pim sm,使能igmp。(可以对用到的所有的vlan接口统一配置。这里的网关需要网络规划人员提前规划,在配置子网信息的时候要注意,这里的值是掩码的反码)。

             使能pim,并在pim下  指定静态rp,这三台交换机上必须要指定相同的静态rp,其rp地址是核心交换机中的某个vlan接口的ip。(c-rp c-bsr的指定后会被优先使用,即会自举)

             核心1-1/汇聚1-2/汇聚2-3在配置完相关组播路由相关内容后,还需要在所有业务vlan下使能igmp-snooping,未知组播丢弃功能,快速退组功能

             接入1-4和接入2-5,按照二层组播配置,使能全局igmp-snooping,对应vlan下使能igmp-snooping,未知组播丢弃功能,快速退组功能。

             之前对交换机的配置中涉及到端口的未知单播抑制功能的配置,在走三层路由的环境配置中,需要去掉,否则在验证路由链路的时候ping不通。

    2.3配置过程说明:

    以核心1_1和汇聚1_2的配置为例说明配置和验证过程:

    单播路由配置过程

    1、配置单播路由

    核心1-1:

           设定交换机名称:

               登录并进入系统模式,配置系统名:

               Sysname hexin1_1

           划分vlan:

               系统视图下配置

               #

                        vlan batch 103 300 to 301 

               #

               分别给vlan 103 300 301 分配交换机端口 //三个vlan,vlan103给本地千兆,vlan300给万兆1-2用于和汇聚1_2级联使用;vlan301用于和汇聚2-3级联使用,便于我们制造三个独立的vlan 101/102/103参考网络拓扑图

           配置聚合:

               先创建两个聚合组

    interface Eth-Trunk1

    interface Eth-Trunk2

    将聚合组分配给端口

    #                                        

    interface XGigabitEthernet0/0/1

     eth-trunk 1

    #

    interface XGigabitEthernet0/0/2

     eth-trunk 1

    #

    interface XGigabitEthernet0/0/3

     eth-trunk 2

    #

    interface XGigabitEthernet0/0/4

     eth-trunk 2

        #

               配置聚合聚合组属性

    #

    interface Eth-Trunk1

     port link-type access

     port default vlan 300

     mode lacp

    #

    interface Eth-Trunk2

     port link-type access

     port default vlan 301

     mode lacp

               #

           分别配置vlan接口信息

    #

            interface Vlanif103

            ip address 10.208.3.1 255.255.255.0

             #

             interface Vlanif300

             ip address 10.20.1.2 255.255.255.0

             #

             interface Vlanif301

             ip address 10.20.2.1 255.255.255.0      

            #

    配置ospf:

    #

    ospf 100

     area 0.0.0.0

      network 10.20.1.0 0.0.0.255

      network 10.208.1.0 0.0.0.255

      network 10.208.3.0 0.0.0.255

               #

    汇聚1_2:

           设定交换机名称:

               登录并进入系统模式,配置系统名:

               Sysname huiju1_2

           划分vlan:

             #

             vlan batch 101 300 

             #

             把端口分配到对应vlan,其中vlan101包含本交换机的多有千兆口;vlan300用于上联通讯

             #

             interface range GigabitEthernet 0/0/1 to 0/0/28

            port default vlan 101

             #

           配置聚合:

    #

             interface Eth-Trunk1

             interface Eth-Trunk2   //分别创建这两个聚合组

    #

    聚合组分配

    #

    interface XGigabitEthernet0/0/1

     eth-trunk 1

    #                                        

    interface XGigabitEthernet0/0/2

     eth-trunk 1

    #

    interface XGigabitEthernet0/0/3

     eth-trunk 2

    #

    interface XGigabitEthernet0/0/4

     eth-trunk 2

    #

    聚合组属性配置

    #

    interface Eth-Trunk1

     port link-type access

     port default vlan 300                   

     mode lacp

    #

    interface Eth-Trunk2

     port link-type trunk

     port trunk allow-pass vlan 101 to 103

     mode lacp

    #

    配置vlan接口信息

    #

    interface Vlanif101

     ip address 10.208.1.1 255.255.255.0

     pim sm

     igmp enable

    #

    interface Vlanif300

     ip address 10.20.1.1 255.255.255.0

     pim sm

     igmp enable

    #

    配置ospf

    #

    ospf 100

     area 0.0.0.0

      network 10.20.1.0 0.0.0.255

      network 10.208.1.0 0.0.0.255

      network 10.208.3.0 0.0.0.255

    #

    2、验证单播路由

    登录到hexin1-1,然后任意模式下,去ping vlan 102的接口ip这时应该是能通的就表示没问题。

    组播路由配置

    配置

    <hexin1_1>

    组播路由功能:

    #

    multicast routing-enable

    #

    使能pim并添加静态rp:

    #//一定是所有使能组播路由功能的交换机上配置相同的静态rp

    pim

     static-rp 10.20.2.1 preferred

    #

    接口vlan下配置pim sm和igmp

    #

    interface Vlanif103

     ip address 10.208.3.1 255.255.255.0  //配置单播路由时已配置,不动它,下同

     pim sm

     igmp enable

    #

    interface Vlanif300

     ip address 10.20.1.2 255.255.255.0

     pim sm

     igmp enable

    #

    interface Vlanif301

     ip address 10.20.2.1 255.255.255.0      

     pim sm

     igmp enable

    #

    二层组播igmp-snooping相关配置

    #

    igmp-snooping enable

    #

    #

    vlan 103

     multicast drop-unknown

     igmp-snooping enable    

     igmp-snooping host-based prompt-leave

    vlan 300

     multicast drop-unknown

     igmp-snooping enable   

     igmp-snooping host-based prompt-leave

    vlan 301

     multicast drop-unknown

     igmp-snooping enable    

     igmp-snooping host-based prompt-leave

    #

    <huiju1_2>

    组播路由功能:

    #

    multicast routing-enable

    #

    使能pim并添加静态rp:

    #//一定是所有使能组播路由功能的交换机上配置相同的静态rp

    pim

     static-rp 10.20.2.1 preferred

    #

    接口vlan下配置pim sm和igmp

    #

    interface Vlanif101

     ip address 10.208.1.1 255.255.255.0

     pim sm

     igmp enable

    #

    interface Vlanif300

     ip address 10.20.1.1 255.255.255.0

     pim sm

     igmp enable

    #

    二层组播igmp-snooping相关配置

    #

    igmp-snooping enable

    #

    #

    vlan 101

     multicast drop-unknown

     igmp-snooping enable

     igmp-snooping host-based prompt-leave

    vlan 300

     multicast drop-unknown

     igmp-snooping enable

     igmp-snooping host-based prompt-leave

    #

    验证

    1、将我们的发送设备接入vlan101 修改ip 10.208.1.10

    2、将接收设备接入vlan103修改ip 10.208.3.10

    3、通过-b控制端去切换建组

    验证是否出图。如果不出图参考“异常问题以及定位手段”

     

    4、注意验证是一定要双向验证,即将发送设备接入到vlan103,改ip;接收设备接入到vlan101,改ip,建组验证。

    5、一定要注意,我们设备接入到对应vlan下交换机端口后(如vlan101),一定要确认设备的ip和vlan属于同一个子网,否则跨子网的组播/单播都不通

    2.4最终配置:

    <hexin1_1>关键配置如下

    #

    sysname hexin1_1

    #

    vlan batch 103 300 to 301

    #

    multicast routing-enable

    #

    igmp-snooping enable

    #

    vlan 103

     multicast drop-unknown

     igmp-snooping enable     /*先配置对应接口vlan信息下pim和igmp使能再配置此处*/

     igmp-snooping host-based prompt-leave

    vlan 300

     multicast drop-unknown

     igmp-snooping enable     /*先配置对应接口vlan信息下pim和igmp使能再配置此处*/

     igmp-snooping host-based prompt-leave

    vlan 301

     multicast drop-unknown

     igmp-snooping enable     /*先配置对应接口vlan信息下pim和igmp使能再配置此处*/

     igmp-snooping host-based prompt-leave

    #

    interface Vlanif1

     ip address 191.1.1.1 255.255.255.0

    #

    interface Vlanif103

     ip address 10.208.3.1 255.255.255.0

     pim sm

     igmp enable

    #

    interface Vlanif300

     ip address 10.20.1.2 255.255.255.0

     pim sm

     igmp enable

    #

    interface Vlanif301

     ip address 10.20.2.1 255.255.255.0      

     pim sm

     igmp enable

    #

    interface Eth-Trunk1

     port link-type access

     port default vlan 300

     mode lacp

    #

    interface Eth-Trunk2

     port link-type access

     port default vlan 301

     mode lacp

    #

    interface range GigabitEthernet 0/0/1 to 0/0/28

     port default vlan 103

    #                                        

    interface XGigabitEthernet0/0/1

     eth-trunk 1

    #

    interface XGigabitEthernet0/0/2

     eth-trunk 1

    #

    interface XGigabitEthernet0/0/3

     eth-trunk 2

    #

    interface XGigabitEthernet0/0/4

     eth-trunk 2

    #

    ospf 100

     area 0.0.0.0

      network 10.20.1.0 0.0.0.255

      network 10.20.2.0 0.0.0.255

      network 10.208.1.0 0.0.0.255

      network 10.208.2.0 0.0.0.255

      network 10.208.3.0 0.0.0.255

      network 191.1.1.0 0.0.0.255

    #

    pim

     static-rp 10.20.2.1 preferred

    #

    --------------------------------------------------------------------

    <huiju1_2>关键配置如下:

    #

    sysname huiju1_2

    #

    vlan batch 101 300

    #

    multicast routing-enable

    #

    igmp-snooping enable

    #

    vlan 101

     multicast drop-unknown

     igmp-snooping enable

     igmp-snooping host-based prompt-leave

    vlan 300

     multicast drop-unknown

     igmp-snooping enable

     igmp-snooping host-based prompt-leave

    #

    interface Vlanif1

     ip address 191.1.1.2 255.255.255.0

    #

    interface Vlanif101

     ip address 10.208.1.1 255.255.255.0

     pim sm

     igmp enable

    #

    interface Vlanif300

     ip address 10.20.1.1 255.255.255.0

     pim sm

     igmp enable

    #

    interface Eth-Trunk1

     port link-type access

     port default vlan 300                   

     mode lacp

    #

    interface Eth-Trunk2

     port link-type trunk

     port trunk allow-pass vlan 101 to 103

     mode lacp

    #

    interface range GigabitEthernet 0/0/1 to 0/0/28

     port default vlan 101

    #

    interface XGigabitEthernet0/0/1

     eth-trunk 1

    #                                         

    interface XGigabitEthernet0/0/2

     eth-trunk 1

    #

    interface XGigabitEthernet0/0/3

     eth-trunk 2

    #

    interface XGigabitEthernet0/0/4

     eth-trunk 2

    #

    ospf 100

     area 0.0.0.0

      network 10.20.1.0 0.0.0.255

      network 10.20.2.0 0.0.0.255

      network 10.208.1.0 0.0.0.255

      network 10.208.2.0 0.0.0.255

      network 10.208.3.0 0.0.0.255

      network 191.1.1.0 0.0.0.255

    #

    pim

     static-rp 10.20.2.1 preferred

    #

    --------------------------------------------------------------------

    <huiju2_3>关键配置如下:

    #

    sysname huiju2_3

    #

    vlan batch 102 301

    #

    multicast routing-enable

    #

    igmp-snooping enable

    #

    vlan 102

     multicast drop-unknown

     igmp-snooping enable

     igmp-snooping host-based prompt-leave

    vlan 301

     multicast drop-unknown

     igmp-snooping enable

     igmp-snooping host-based prompt-leave

    #

    interface Vlanif1

     ip address 191.1.1.3 255.255.255.0

    #

    interface Vlanif102

     ip address 10.208.2.1 255.255.255.0

     pim sm

     igmp enable

    #

    interface Vlanif301

     ip address 10.20.2.2 255.255.255.0

     pim sm

     igmp enable

    #

    interface Eth-Trunk1

     port link-type access

     port default vlan 301

     mode lacp

    #                                        

    interface Eth-Trunk2

     port link-type trunk

     port trunk allow-pass vlan 101 to 103

     mode lacp

    #

    interface range GigabitEthernet 0/0/1 to 0/0/28

     port default vlan 102

    #

    interface XGigabitEthernet0/0/1

     eth-trunk 1

    #

    interface XGigabitEthernet0/0/2

     eth-trunk 1

    #

    interface XGigabitEthernet0/0/3          

     eth-trunk 2

    #

    interface XGigabitEthernet0/0/4

     eth-trunk 2

    #

    ospf 100

     area 0.0.0.0

      network 10.20.1.0 0.0.0.255

      network 10.20.2.0 0.0.0.255

      network 10.208.1.0 0.0.0.255

      network 10.208.2.0 0.0.0.255

      network 10.208.3.0 0.0.0.255

      network 191.1.1.0 0.0.0.255

    #

    pim

     static-rp 10.20.2.1 preferred

    #

    --------------------------------------------------------------------

    <jieru1_4>关键配置如下:

    #

    vlan batch 101

    #

    igmp-snooping enable

    #

    vlan 101

     multicast drop-unknown

     igmp-snooping enable

     igmp-snooping host-based prompt-leave

    #

    interface Vlanif1

     ip address 191.1.1.4 255.255.255.0

    #

    interface Eth-Trunk1

     port link-type trunk

     port trunk allow-pass vlan 101 to 103

     mode lacp

    #

    interface range GigabitEthernet 0/0/1 to 0/0/28

     port default vlan 101

    #

    interface XGigabitEthernet0/0/1

     eth-trunk 1

    #

    interface XGigabitEthernet0/0/2

     eth-trunk 1

     

    --------------------------------------------------------------------

    <jieru2_5>关键配置如下:

    #

    vlan batch 102

    #

    igmp-snooping enable

    #

    vlan 102

     multicast drop-unknown

     igmp-snooping enable

     igmp-snooping host-based prompt-leave

    #

    interface Vlanif1

     ip address 191.1.1.5 255.255.255.0

    #

    interface Eth-Trunk1

     port link-type trunk

     port trunk allow-pass vlan 101 to 103

     mode lacp

    #

    interface range GigabitEthernet 0/0/1 to 0/0/28

     port default vlan 102

    #

    interface XGigabitEthernet0/0/1

     eth-trunk 1

    #

    interface XGigabitEthernet0/0/2

     eth-trunk 1

     

     

    3.常见异常问题以及定位手段总结(三层问题定位)

             2.1PIM-SM网络中RPT无法正常转发数据

             现象:接收者无法接受组播数据(-H显示绿屏,-B显示no vedio)

    本类故障的常见原因主要包括:

    • 组播设备到RP的单播路由不通
    • 各组播设备的RP地址不一致
    • 组播设备的下游接口没有收到(*,G)加入
    • 接口没有使能PIM-SM
    • RPRPF路由不正确(举例:单播路由环路)
    • 配置问题(举例:MTU或组播边界配置不当等)

    操作步骤

    a.检查PIM路由表中是否存在正确的(*,G)表项

    在设备上执行display pim routing-table group-address命令,查看PIM路由表中是否存在到所需组播组G的(*,G)表项。

      • 如果PIM路由表中的(*,G)表项存在且信息完全正确,则每隔15秒执行display multicast forwarding-table group-address命令,查看转发表中是否存在与(*,G)对应的(S,G)表项,并查看显示信息中的“Matched”计数是否保持增长。
        • 如果转发表中存在(S,G)表项且“Matched”计数保持增长,则表明上游设备到此设备的组播数据转发正常,但是由于某种原因导致无法向下游转发,可能是由于数据报文的TTL过小或转发问题。
        • 如果转发表中不存在(S,G)表项或“Matched”计数停止:
          • 如果当前设备不是RP,则表明当前设备没有收到组播数据,故障可能出在上游设备,请检查上游设备的PIM路由表中是否存在正确的(S,G)表项。
          • 如果当前设备已经是RP,则表明RPT已成功建立,但由于某种原因导致RP未收到组播源发出的组播数据。故障可能是由于源DR没有注册成功。
      • 如果PIM路由表中不存在正确的(*,G)表项,请执行步骤2

    b. 检查上游设备的下游接口是否收到Join信息

    在设备上执行display pim control-message counters interface interface-type interface-number message-type join-prune命令,查看下游接口收到的Join/Prune报文计数是否增加。

      • 如果设备的下游接口收到的Join/Prune报文计数没有增加,在其下游邻居上执行display pim control-message counters interface interface-type interface-number message-type join-prune命令,查看下游是否向上游发出了Join/Prune报文。
        • 如果计数增加,则表明下游已经发出了Join/Prune报文,则PIM邻居间通信有问题。
        • 如果计数没有增加,则下游设备有问题,请排查下游设备的故障。
      • 如果下游接口收到的Join/Prune报文计数增加,请执行步骤3

    c.检查接口是否使能PIM-SM

    以下接口未使能PIM-SM是常见的故障原因:

      • 到达RPRPF邻居接口
      • 到达RPRPF接口
      • 直连用户主机网段的接口(组成员端DR的下游接口)

    在设备上执行display pim interface verbose命令,查看接口的PIM信息。请重点检查上述接口是否使能PIM-SM

      • 如果在接口上使能PIM-SM时出现提示信息:“Error: Please enable multicast in the system view first.”,则首先在系统视图下使用multicast routing-enable命令使能组播功能。然后在接口上使能PIM-SM
      • 如果设备的所有接口均已使能PIM-SM,请执行步骤4

    d.检查RP信息是否正确

    在设备上执行display pim rp-info命令,查看设备是否已经学习到了为某组播组服务的RP信息,并且与其它所有设备为此组播组服务的RP信息一致。

      • 如果设备上没有RP信息或RP信息与其他设备不同:
        • 如果网络中使用静态RP,请执行static-rp命令在所有设备上将为某组播组服务的RP地址配置为一致。
      • 如果所有设备为某组播组服务的RP信息已保持一致,请执行步骤5

    e.检查是否存在到达RP的RPF路由

    在设备上执行display multicast rpf-info source-address命令,查看是否存在到达RPRPF路由。

      • 如果显示信息中不存在到RPRPF路由,检查单播路由配置。请在设备与RP上分别执行ping命令,检查是否能够ping通对方。
      • 如果显示信息中存在到RPRPF路由:
        • 如果显示信息表明RPF路由为组播静态路由,执行display current-configuration命令查看组播静态路由配置是否合理。
        • 如果显示信息表明RPF路由为单播路由,执行display ip routing-table命令查看单播路由是否与RPF路由一致。
      • 如果显示信息中存在到RPRPF路由,且路由配置合理,请执行步骤6

    f.检查转发组播数据的接口是否为组成员端DR

    在设备上执行display pim interface interface-type interface-number命令,查看转发组播数据的接口是否为组成员端DR

      • 如果显示信息中没有local标记,请根据显示信息中的DR地址在DR设备上执行步骤7
      • 如果显示信息中有local标记,请执行步骤7

    g.检查接口是否配置组播边界

    在设备上执行display current-configuration interface interface-type interface-number命令,查看接口是否配置了组播边界。

      • 如果某接口的配置信息中出现“multicast boundary”,表明该接口配置了组播边界。建议执行undo multicast boundary { group-address { mask | mask-length } | all }命令删除该配置或重新进行网络规划,确保RPF接口和RPF邻居接口没有配置组播边界。
      • 如果接口没有配置组播边界,请执行步骤8

    h.检查是否配置了source-policy

    在设备上执行display current-configuration configuration pim命令,查看PIM视图下的当前配置信息。

      • 如果配置信息中出现“source-policy acl-number”,则表明配置了源过滤规则。如果接收到的组播数据不在ACL允许的范围之内,则将被丢弃。建议执行undo source-policy命令删除该配置或重新配置ACL规则,确保用户需要的组播数据正常转发。

    四、交换机支持二层组播配置总结

    1.单台交换机场景

    使能全局igmp-snooping

    业务vlan下:

                        使能igmp-snooping

                        未知组播丢弃

                        如果是华为交换机,这里需要配置快速离组功能;(注意,华为是vlan下host-based 快速离组;华三在端口上配置快速离组)

    端口上配置:

                        未知单播抑制

                        (如果是华三设备,这里需要在端口配置快速离组)

                        交换机在启用stp的情况下,必须配置边缘端口,缩短交换机端口由down到up的主动阻塞时间。

    2.两台交换机场景

    聚合:(可以根据实际交互带宽决定是否配置)

               动态聚合

               Link-type设置为trunk模式

               聚合链路运行控制vlan/业务vlan数据通过

     

    使能全局igmp-snooping

    业务vlan下:

                        使能igmp-snooping

                        未知组播丢弃

                        如果是华为交换机,这里需要配置快速离组功能;(注意,华为是vlan下host-based 快速离组;华三在端口上配置快速离组)

    端口上配置:

                        未知单播抑制

                        (华三设备,在端口配置快速离组)

                        交换机在启用stp的情况下,必须配置边缘端口,缩短交换机端口由down到up的主动阻塞时间。

     

    以上是两台通用配置,

    差异性配置: 指定其中一台为主设备,在上面配置查询器,并指定通用ip,ip地址一定是局域网络中不冲突的ip地址,一般选用其接口vlanif的ip地址

     

    3.三台做两级级联

    级联方式:  A-B-C 链式连接,一般我们定中间交换机B为核心交换机,A/C为接入;

    关键配置如下:

    核心B交换机配置:

               使能全局igmp-snooping

               增加业务vlan:

                        使能igmp-snooping

                        未知组播丢弃

                        //快速离组功能(在h3c S650万兆交换机中存在此功能bug,所以在盒式交换机中做核心应用场景中,目前都是默认不配置此功能的)                        

               使能配置查询器,并指定通用查询器ip,ip地址一定是局域网络中不冲突的ip地址,一般选用其vlan接口的ip地址

               聚合:(需根据实际交互带宽决定是否配置)

                        动态聚合

                        Link-type设置为trunk模式

                        聚合链路运行控制vlan/业务vlan数据通过

    A/C交换机配置:     

               使能全局igmp-snooping

    业务vlan下:

                        使能igmp-snooping

                        未知组播丢弃

                        如果是华为交换机,这里需要配置快速离组功能;(注意,华为是vlan下host-based 快速离组;华三在端口上配置快速离组)

    端口上配置:

                        未知单播抑制

                        (华三设备,在端口配置快速离组)

                        交换机在启用stp的情况下,必须配置边缘端口,缩短交换机端口由down到up的主动阻塞时间。

     

    4.三级级联

    核心交换配置说明

    #

    igmp-snooping  //使能全局igmp

    #

    #//使能对应vlan下配置

    vlan 1010

     igmp-snooping enable

     igmp-snooping drop-unknown

     igmp-snooping querier

     igmp-snooping general-query source-ip 10.168.1.1     

     igmp-snooping special-query source-ip 10.168.1.1

    #

    汇聚层交换配置说明:

    #

    igmp-snooping                                //使能全局igmp

    #

    #//使能对应vlan下配置

    vlan 1010

     igmp-snooping enable

     igmp-snooping drop-unknown

     #

    接入层交换配置说明:

    #

    igmp-snooping //使能全局igmp

    #

    #//使能对应业务vlan下配置

    vlan 1010

     igmp-snooping enable

     igmp-snooping drop-unknown

    #

    interface GigabitEthernet1/0/1   to  1/0/24

    普通端口需要配置

    igmp-snooping fast-leave vlan 1010

     

    5.交换机相关问题的定位手段:(二层问题定位)

    5.1.查看光模块transceiver收发方向的光损耗:

    <H3C>display transceiver diagnosis interface Ten-GigabitEthernet 1/0/1
    Ten-GigabitEthernet1/0/1 transceiver diagnostic information:
      Current diagnostic parameters:
        Temp.(°C) Voltage(V)  Bias(mA)  RX power(dBm)  TX power(dBm) 
        31         3.31        5.25      -10.89         -1.97     
      Alarm thresholds:
        Temp.(°C) Voltage(V)  Bias(mA)  RX power(dBm)  TX power(dBm)
        High  73         3.80        9.90      1.00           0.00
        Low   -3         2.81        1.00      -13.10         -10.30
    说明:其中RX/TX power(dBm)为光损耗,其中理论门限值是:1.00到-13.10,现场我们看到正常的值大概在-2到-4之间。上述的中-10.89此值已经接近于告警值,有可能会存在误码。

    5.2、查看对应通道有无误码

    这里的通道可以是具体的网口,光口或者某个聚合口
    <H3C>display interface Bridge-Aggregation 1
    这是会显示输入输出方向的errors统计,这里也可以看到各类数据包统计,包转发速率。

    5.3、igmp-snooping监听到的IGMP报文统计

    主要有加组退组等信息统计
    display igmp-snooping statistics

    5.4、显示动态组播组的igmp snooping的转发表项:

    display igmp-snooping group vlan 1

    5.5、查看聚合组状态

    包括所有的聚合组,聚合模式,均衡模式,提示中的各个标志等
    <H3C>display link-aggregation verbose
    以上是现场定位常用指令

    5.6、其他:

    如图所示

    5.7 附件:

    h3c ip组播配置指导手册

    (双击可打开)

    附件是H3C的组播配置指导,包括2/3层配置;文中三层的问题定位写的是华为设备,华三设备可以参考此手册。

    五、基本术语介绍:

    DR Designated Router,指定路由器)作用是判断网络地址,选择ip路径

    BSR Bootstrap Router,自举路由器)是pim-sm域的自动管理核心,一个pim-sm域内只能有一个BSR,但是可以配置多个候选BSR,一旦一个故障,候选可以通过候选成员中自动选举一个产生新的BSR,保证业务不中断。BSR负责收集网络中由C-RP发来的

    C-BSR Candidate-BSR,候选BSR

    RP Rendezvous Point,汇集点)//我们使用的是static-rp 作用是处理加退组/维护组播路由转发表

    C-RP Candidate-RP,候选 RP

    PIM-DM:其建立组播转发过程效率较低,并不适合大中型网络。//我们不用,用的pim-sm

    PIM-SM: 属于稀疏模式的组播路由协议,通常适用于组播组成员分布相对分散、范围较广的大中型网络。(邻居发现机制)

    DR原理以及建组过程:

    无论是与组播源相连的网络,还是与接收者相连的网络,都需要选举DR(指定路由器)。接收者侧的DR负责向RP发送加入报文;组播源侧的DR负责向RP发送注册报文-转发表项(S,G)(在充当接收者侧的DR的设备上必须使能IGMP,否则连接在该DR上的接收者将无法通过该DR加入组播组。)

     

    展开全文
  • 组播协议详解

    千次阅读 2021-04-19 10:01:52
    组播基础(1)组播简介(2)组播的地址(3)组播的MAC地址(4)组播的MAC地址(5)反向转发路径—RPF2.IGMP(1)简介(2)原理3.IGMP版本(1)IGMPV1(2)IGMPV2 1.组播基础 (1)组播简介 组播技术是指单个发送者...

    1.组播基础

    (1)组播简介

    组播技术是指单个发送者对应多个接收者的一种网络通信。通过项多个接收方传送单信息流的方式,可以减少具有多个接收方同时收听或者查看相同资源情况下的网络通信流量。

    (2)组播的地址

    组播地址的范围:D类地址,前四个bit总是1110.(225.0.0.0-239.0.0.0)
    保留的组播地址:
    224.0.0.1 子网中的所有系统
    224.0.0.2 子网中所有的路由器
    224.0.0.4 DVMRp路由器
    224.0.0.5 所有OSPF路由器
    224.0.0.6 OSPF指定路由器
    224.0.0.9 Rip-2路由器
    224.0.0.10 Eigrp路由器
    224.0.0.13 PIm路由器
    224.0.0.0-224.0.0.255(永久组地址),地址224.0.0.0保留不做分配,其他地址供路由协议使用。
    224.0.1.0-224.0.1.255是公用组播地址,可以用于INternet;
    224.0.2.0-238.255.255.255 为用户可用的组播地址(临时组地址),全网范围有效。
    239.0.0.0-239.255.255.255 为本地管理组播地址,仅仅在特定的本地范围内有效

    (3)组播的MAC地址

    V4组播的MAC地址供48位
    协议规定,V4组播MAC地址的高24位为0X01005E,第25位为0,低23位为IPv4组播地址的低23位,IPV4组播地址与MAC地址的映射关系如下图所示。
    在这里插入图片描述

    (4)组播的MAC地址

    一般来说,在一个组播网络中,其基本网络结构中使用的协议可以分为两个部分。组播路由器与路由器之间部分运行 PIM。组播路由器与组播接收者行 IGMP 协议。其中 PIM 又细分为,PIM-DM(协议无关组播的密集式)。PIM-SM(协议无关组播稀疏模式)两种模式。IGMP 则又有 V1/V2/V3。
    PIM-DM适用于小型网络,它的特点是:假设网络中每个子网都存在至少一个对组播感兴趣的接收站点。因此,组播数据报被扩散到(“推”)到网络中的所有店。DM使用的源树(source tree),树的根是组播心愿,分支形成了通过网络达到接收站点的分布树,有缘书以最短的路径关窗网络,因此它也被称为SPT(最短路径树),中间的转发设备采用(S,G)的方法记录表,S表示多播原地址,G表示多播组地址。
    PIM-SM使用于大型网络,它的特点是:嘉定所有机器都不需要接收组播数据包,只有明确指定需要的才转发,接收站点为接受到特定组的数据流,必须向该组对应的汇聚(RP)发送加入消息(“拉”),加入消息所经过的路径就变成了共享树(shared tree)的分支。所有的多播源先将信息发送到RP,再有RP转发到各个接收点的SP相当于树根,到达R之后的多播信息转发时和源无关,故采用(,G)的方式记录转发表,表示通配符。

    (5)反向转发路径—RPF

    一台路由器收到了一个组播组信源发送的组播流量,当路由器收到了该组 播流量会提取其 3 层报头源 IP 地址,并且在其单播路由表内查找是否拥有去往信源所在网段的单播路由条目,如果没有,则该路由器对于该组播组信源没有RPF 接口,报文直接在接收接口被丢弃。如果该路由器路由表内拥有去往信源所在网段的单播路由,则查看该路由对应的出站接口和接收该报文的接口是否为同一个接口,如果是,则转发该报文,如果不是,则丢弃该报文。在负载均衡中,出接口 IP 地址越大,该接口越有可能成为 RPF 接口。
    在这里插入图片描述

    2.IGMP

    (1)简介

    IGMP 协议的目的是实现主机和路由器之间组成员关系的建立与维护。IGMP 协议运行于主机和与主机直接相连的组播路由器之间,主机与本地路由器之间使用 IGMP 来进行组播组成员信息的交互。

    (2)原理

    IGMPv1,由 RFC1112 定义,定义了基本的组成员查询和报告过程;
    IGMPv2,由 RFC2236 定义,在 IGMPv1 的基础上添加了组成员快速离开的机制。
    IGMPv3 ,由 RFC3376 定义,增加的主要功能是,成员可以指定接收或指定不接收某些组播源的报文。
    主要作用:一方面接收端通知本地的路由器希望加入或者接收某个组播组的信息,另一方面,发送端周期性通过此协议局域网内某个已知组的成员是否处于活动状态(组内是否存在接受者)。实现组播成员关系的收集与维护。
    PS:当网段内存在多个组播路由器时,IGMP要通过选举查询者的方式维护组播表项。
    查询者的作用:周期性的发送通用组查询信息进行成员关系查询。主机发送报告消息进行相应,主机发送报告消息的时间具有随机性。在V2版本中,主机检测到同一网段其他成员发送相同相应消息后会抑制自己的响应报文。若有新设备需要加组,需要主动发送报告消息,不需要等待查询者的查询消息。当要离开组播组的时候,主机放松离开组消息,收到离开消息后,查询者发送特定的组查询消息来确定是否所有组成员都已经离开,对于作为组成员的路由器而言,其行为和普通的主机一样,响应其他路由器查询。
    上述机制的作用是为了在组播路由器中建立一张表格,记录存在活动成员的组播组,并针对相应的组播组创建相应的定时器,记录该组播组的最后一个成员(无需记录所有成员),当收到特定组播组的数据报文后,只向那些有G的成员借口上转发数据,至于在路由器中如何转发则由组播路由协议决定,此功能与IGMP无关。

    3.IGMP版本

    (1)IGMPV1

    IGMP报文封装在IP报文中,IP的协议号为2,IGMP报文均使用TTL为1进行传递,IP头中包括了IP路由检测选项。
    在这里插入图片描述
    版本号 version: 1
    类型 type:为 1 时是成员关系查询报文,为 2 时是成员关系报告报文
    未用 unused:发送时设为 0,接收时忽略 校验和 checksum:对 8 字节的 IGMP 消息补码之和进行求 16 位补码运算
    组地址 group address:对成员关系查询报文为 0;对成员关系报告报文等于所报告的组的 IP 组 播地址。
    Type 字段: 成员关系查询(0x11):路由器周期发送(125s),查看是否有组播成员,组地址为 0
    成员关系报告(0x12),主机想加入某个组播组,组地址为某个组播地址。

    Hostname#show ip igmp interface
    Interface vlan2 (Index 50331693)
     IGMP Enabled, Active, Querier (30.0.0.1) 
     Configured for version 3 //(Default version 2)
     IP router alert option in IGMP V2 msgs: EXCLUDE
     Internet address is 30.0.0.1
     IGMP query interval is 125 seconds
     IGMP querier timeout is 255 seconds
     IGMP max query response time is 10 seconds
     Last member query response interval is 1 seconds
     Last member query count is 2 
     Group Membership interval is 260 seconds
     IGMP robustness variable is 2
    

     主动加入:主机第一次加入某组播组时,可以在未被查询的情况下,主动通告一个 IGMP 成员关系报告报文, 以及时加入组播组。
     查询响应过程:
    •路由器向 224.0.0.1(网内所有主机)发查询报文;
    •接收到该报文的主机将自己加入的组播地址填入报告报文,向该组播地址多播;
    •其他加入该组播组的主机收到该组播报文后,抑制自己报告报文的发送;
    •由此,IGMP 查询者路由器只记录本机某接口加入了哪些组播组,它无须记录具体哪些主机加入了组播组。
     相应抑制机制:主机收到查询报文后,并不立刻响应,而是延迟 0 到 10 秒的一个随机时间后才响应。这样,一方面可以避免响应风暴,另一方面又可以有机会收到别的主机通告的响应报文从而抑制本报文的发送。
     默默离开:IGMPv1 没有专门的离开组播组报文。路由器在查询间隔的 3 倍时间内仍未收到响应报文时,才将该组播组删除。

    在IGMPV1中,没有提供选举查询路由器的机制,而是把这个任务留给了组播路由协议,不同的协议会使用不停的选举机制,会造成在一个子网中出现多个查询路由器,这是IGMPV1的缺点之一,由于 IGMPv1 没有查询路由器选举机制,因此 PIM-DR 与 IGMP 查询路由器的身份重叠,也就是说 IGMPv1 的查询路由器选举机制需依赖于 PIM 的 DR 选举。

    IGMPV1的缺点:
    1>没有查询路由器的选举机制,导致PIM-DR与IGMP查询路由器的身份重叠,也就是说IGMPV1的查询路由器选举机制需依赖于PIM的DR选举
    2>缺乏显式的离开方式,路由器在查询间隔的三倍时间内认为收到相应报文,才将该组播组删除。

    (2)IGMPV2

    IGMPv2中,增加了离开组的报文格式,当主机想要离开组播组是,不需要等待路由器发出查询报文,他可以直接像路由器发送成员关系报告报文,缩短离开时间延迟,明确了查询路由器的选举机制,除此之外,IGMPV2的工作原理与IGMPV1基本一致。
    在这里插入图片描述
    PS:
    普通查询时间:125s 组成员超时:260s
    组成员超时时间 = 健壮性系数(2)*普通组查询时间+最大响应时间(10s)=260s;
    特定组查询时间:1s 默认查询次数:2
    查询器超时:255s 查询器超时时间 = 健壮性系数(默认 2) * 普通组查询时间 + 最大响应时间/2 =255s;
    IGMPV2的报文格式:
    在这里插入图片描述
    0x11(成员关系查询):IGMPv2 的查询分为两种类型:
    (1) 通用查询,组地址字段置为全 0,对所有的组进行组成员查询;
    (2) 特定组查询,针对特定组进行组成员查询,组地址字段置为特定组的地址。
    0x12:IGMPv2 成员关系报告(为了向后兼容 IGMPv1)。
    0x16:IGMPv2 成员关系报告。
    0x17:离开组报告

    • IGMPV2与V1的区别*:
      (1)增加了特定组查询,特定组查询的目的是为了让路由器知道一个特定组在子网内是否还有组 成员,以便判断是否还需要转发该组的数据报文;
      (2)IGMPv2 的成员关系报告的类型代码不一样。
      当路由器接收到成员关系报告,它就会把该组加入到组播组成员列表中,并且为其设一个值为组成员生存周期(GMI)的定时器。收到该组的报告会导致对应定时器的刷新。如果定时器超时,路由器则认为没有本地组成员,它也不再需要在邻接的网络上为该组转发组播报文了。
      IGMPv2的组成员加入与IGMPv1中相同,但是IGmpv2的离开过程与V1相比不同,主机离开组的时候,需要显式的发送离开报文给路由器(高调离开),基本过程:当网络中有想离开的主机的时候,他会发送一个离开报文给子网上的所有路由器,(224.0.0.2),查询路由器收到离开报文后,会立即发送一个特定组查询到子网上,如果子网上还有该组成员,则会发送一个相应报文,若无回应,则删除组播组,停止转发该组的数据。
       主动加入:当一个主机加入了一个组播组,则应该立即发送一个或多个版本 2 的成员关系报告给组播组
      在这里插入图片描述
       查询与响应的过程:与 IGMPv1 相同,都存在抑制机制。增加了最大响应时间来指定延时值来规定所有主机的查询响应延时的上限,此外最大响应时间在 IGMP 查询器上配置,只应用在成员关系查询信息。
       主机向 224.0.0.2 发送离开组消息(报文中含有要离开的组地址)。路由器向这个组发送特定组查询。 1 秒钟内没有收到该组的报告,发送第二个特定组查询。 二个查询信息后未收到主机响应,组 224.1.1.1 超时,离开组。
      查询器选举
      (1) 所有IGMPv2 路由器在初始都认为自己是查询器,并向本网段所有路由器(224.0.0.1)发送 IGMPv2常规查询报文。
      (2) 然后本网段所有 IGMPv2 路由器比较优先级,越大越优先;若优先级相同比较接口IP,越小越优先。
      (3) 非查询路由器启动一个计时器,收到查询器的常规查询报文就把计时器复位。如果计时器超时,就认为查询路由器发生故障,开始重新选择。

    (3)IGMPV3

    IGMPv3 的提出,主要是为了配合源特定组播的实现,即组播组成员可以指定接收或指定不接收某些组播源的报文。这样主机就可以有选择性接收来自某个特定组播源的数据包,而不是被动接收该组中所有组播源的数据包。IGMPv3 的这一特性,可以实现源特定组播 SSM 技术
     IGMPV3在V1V2的基础上提供了额外的源过滤组播功能(SFM),主机只根据组地址来决定加入某个组,并从任何一个源接收发给该组地址的报文。具有源过滤组播功能(SFM)的主机使用 IGMPv3 来表示主机所希望加入的组播组,同时还表示该主机所希望接收的组播源的地址。限制的方式主要是:包括列表(Inclusion List)或一个排除列表(Exclusion List)来表示对源地址的限制。

    1>IGMPV3的报文类型

    0x11:成员关系查询报文;
    (1) 普通查询:用于获知邻接接口(即查询所传输的网络中所相连的接口)的完整的多播接收状态。 组地址字段和源数量(N)字段都为 0。
    (2) 指定组查询:用于获知邻接接口中跟某一个 IP 地址相关的多播接收状态。组地址字段含有需 要查询的那个组地址,源数量(N)字段为 0。
    (3) 指定组和源查询:用于获知邻接接口是否需要接收来自指定的这些源发往指定组的多播数据报。 组地址字段含有要查询的多播地址,源地址[i]字段含有相关的源地址。
    0x22:版本 3 成员关系报告报文;
    0x12:版本 1 成员关系报告报文;
    0x16:版本 2 成员关系报告报文;
    0x17:版本 2 离开报文。

    2>查询报文格式:

    在这里插入图片描述
    Number of Sources 字段:实际上受限于数据链路层的 MTU,例如在以太网上,数据报最长为 1500 字节,除去 IP 报头的 24 字节和 IGMP 报头的 12 字节,剩余 1464 字节,所以最多包含 366(1464/4) 个源地址。

    3>Group Record 字段格式:

    在这里插入图片描述
    Group Record 消息的类型。
    (1) MODE_IS_INCLUDE:接收源地址列表包含的源发往该组的组播数据;
    (2) MODE_IS_EXCLUDE:不接收源地址列表包含的源发往该组的组播数据; (3) CHANGE_TO_INCLUDE_MODE:过滤模式由 EXCLUDE 转换到 INCLUDE,接收源地址列表包含 的新组播源发往该组播组的数据;
    (4) CHANGE_TO_EXCLUDE_MODE:过滤模式由 INCLUDE 转换到 EXCLUDE,拒绝源地址列表中新 组播源发往该组的组播数据;
    (5) ALLOW_NEW_SOURCES:表示在现有的基础上,需要接收源地址列表包含的源发往该组播组 的组播数据;
    (6) BLOCK_OLD_SOURCES:表示在现有的基础上,不再接收从源地址列表包含的源组播源发往 该组播组的组播数据。

    成员报告消息格式
    在这里插入图片描述

    • 查询响应过程
      路由器周期性的发送一般查询来获取本地网络的 IGMP 成员信息。主机收到一般查询之后,收集自己的组信息,包括感兴趣或不感兴趣的源列表,填入当前状态组记录中,向路由器回复 IGMP 版本 3 成员报告(发向所有 IGMPv3 路由器组 224.0.0.22)。
      当主机一方的组信息或者源信息发生改变的时候(可能是过滤模式改变,或者是源列表改变),主机会把这些改变信息填入到状态改变组记录中,然后主动向路由器发送 IGMP 版本 3 的成员报告。当路由器收到了成员报告后,会刷新本地的组和源的状态;当路由器一方维护的组的过滤模式要从 EXCLUDE 变成 INCLUDE 前,会发送指定组查询,反映在 IGMPv2 上就是对于本地不再感兴趣的组被删除之前,会发送指定组查询;对于本地不再感兴趣的源,则在删除源之前要发送指定源查询。一般,只在收到了状态改变的组记录后才会发送指定组或者指定源 查询。对于当前状态记录,不会发送指定组或者指定源查询。

     路由器上的 IGMP 状态信息
    路由器上的每个接口每个组都有一个组状态,组状态由组地址、过滤模式(INCLUDE / EXCLUDE)、源列表、组定时器组成。

    在这里插入图片描述
     IGMPV3的主要改进
    (1) 支持源特定组播 SSM;
    (2) 向后兼容 IGMPv1 和 IGMPv2;
    (3) 主机可以定义要接收的组播源地址;
    (4) 非查询路由器可以与查询路由器保持参数值同步;
    (5) 最大响应时间从 255s 增加到 53min,适合于较大的网络;
    (6) 辅助数据字段为将来的应用预留了空间;
    (7) 关系成员报告报文发送给目的地址 224.0.0.22,可以帮助二层交换机更有效地实现 IGMP 监听 (IGMPSnooping)功能;
    (8) 报告报文中可以包含多个组记录,可以有效地减少网络通信量;
    (9) 在 IGMPv3 中,取消了前面版本中的响应抑制功能

     IGMPv1/v2/v3 比较
    在这里插入图片描述
    普遍组查询报文中,既不携带组地址,也不携带源地址;
    特定组查询报文中,携带组地址,但不携带源地址;
    特定源组查询报文中,既携带组地址,还携带一个或多个源地址。

     快速离开
    在网络中的末梢网段只连接了一台主机,主机频繁的进行组播组的切换动作,为了减少离开延迟可以在设备上配置组播组快速离开。
    如果末梢网段中连接了多台主机,不建议配置快速离开。这样会导致一台主机离开组播组后, 其他主机也都被迫离开组播组。

    4.PIM-SM

    (1)PIM-SM基础

    1>基本概念
    PIM,协议无关组播,不依赖于某一特定单播路由协议,可利用各种单播路 由协议建立的单播路由表完成 RPF 检查功能,而不是维护一个分离的组播路由表 实现组播转发。由于 PIM 无需收发组播路由更新,所以与其它组播协议相比,PIM 开销降低了许多。PIM 的设计出发点是在 Internet 范围内同时支持 SPT 和 RPT, 并使两者之间灵活转换,因而集中了它们的优点提高了组播效率。PIM 定义了两种模式:密集模式(Dense-Mode)和稀疏模式(Sparse-Mode)。
    PIM-DM 属于密集模式协议,采用了“扩散/剪枝”机制。同时,假定带宽不受限制,每个路由器下的终端都想接收组播数据包,PIM-DM 将组播数据包“推” 到网络中所有的路由器上。这样,无需终端上进行任何操作,即可收到组播报文, 适用于网络规模较小,且终端大多需要组播报文的场景。
    PIM-SM 属于稀疏模式协议,与 PIM-DM 不同之处在于,其不会将组播报文主 动“推”向网络中的路由器,而是当某个路由器下的终端有接收某个特定组播组的报文需求时,采用“拉”的方式,将组播报文从源拉到目的地。这种方式相比 DM 而言更节约带宽,同时能实现精准推送。适用范围也较 DM 更广,可以应用在大型网络中。
    PIM-SM 协议处于 IP 协议的上层,通过原始 socket 和 IP 通信。PIM-SM 在 IP 报文中的协议号为 103,组播地址为 224.0.0.13。
    2>PIM的角色
    BSR:自举路由器,发送 bootstrap 消息,用于确认 RP 路由器并向全网通告。如果在组播网络中静态指定了 RP,网络中也可以不用设置 BSR 路由器。
    选举规则:优先级【默认为 0】和 IP 地址比较,值越大越优先。如果没 有比其优先的设备,则其成为当选 BSR,反之则进入候选 BSR 状态(C-BSR)。
    RP:汇聚点,即共享树 shared tree 的汇聚点,在组播共享树中,会以该汇聚点 为根进行转发,组播流量从源发出时,需要经过 RP,再转向相应的接收者。RP 可以分为动态和静态两种,静态即全网配置某台设备为 RP。动态模式下,在网络中配置候选 RP(C-RP)。
    选举规则:当 BSR 选定后,C-RP 通过单播向 BSR 发送 candidate-RP-advertisement 信息。包含优先级、地址、组播组信息【优先级默认 192,越小越优先】。
    DR: 指定路由器,用于接入组播源和接收者,发送注册、join 报文等。DR 的选 举:如果两边均有优先级参数【默认为 1】,则先比较优先级,再比较地址,如 不全有优先级,则只比较 IP 地址,越大越优先。在组播网络中每个网段都会选举 DR。
    当两台开启了 PIM-SM 协议的路由器接入到同一个 LAN 中时,均会向组播地 址224.0.0.13发送组播hello报文,hello报文中会携带如DR优先级、hold-time、 LAN Prune delay(剪枝延迟)、propagation delay(传送延迟)、override interval (J/P 覆盖时间)等,
    在这里插入图片描述hold time:邻居保持时间,即在hold time时间范围内没有收到hello 消息的话,则认为该邻居失效,
    DR:优先级主要用于 DR 的选举,默认为 1,数值 越大越优先,如 DR 优先级数值相同,或一方不含有 DR 优先级信息,则比较接口 IP 地址,IP 地址大优先。

    (2)PIM的工作机制

    1>PIM邻居建立完成,BSR,RP选举完成,所有的路由器都了解RP的组信息。
    2>组播组成员所在的DR向RP发起接入,然后组播源所在的DR也会去Rp注册,这样接受者可以通过这一路径收到组播源的组播报文。
    3>RPT-SPR切换,寻找最优转发路径
    4>剪枝切换的内容:
    在这里插入图片描述
    在上图所示的组网环境中,R2 被设置为 RP,但通过拓扑图示来看,显然 R1 直接到 R3 的路径要优于 R1—R2—R3 的路径。因此会进行 RPT—SPT 剪枝切换。 切换的动作由 R1 主动发起,其收到第一个组播报文后就会向 R3 发起显式(S, G)加入,加入成功以后,R3 进行剪枝,将组播报文通过 R3-R1 的路径直接发送 到接收者,不再通过 R3-R2-R1 这条路径。此时show ip pim mroute 或者debug ip pim event都可以观察到切换过程:
    在这里插入图片描述
    PS:若网络中存在负载路由,单播会存在负载均衡的情况,但是组播不会;组播会选择下一跳地址大的进行路由转发
    PIM-SSm在查看表项的时候,只会发现(S,G)表项,没有(*,G)表项,因为SSm不进行剪枝切换
    配置区别:ip pim ssm default/range:
    default 参数代表 默认的 232.0.0.0/8 组播组,也可以使用 range+ACL 的方式重新自定义组播地址

    5.IGMP snooping

    (1)基本概念:

    IGMP Snooping 是用来监听主机与路由器之间的 IGMP 报文,设备可以根据组 IGMP 报告报文、IGMP 离开报文而动态地创建、维护和删除组播地址表,从而使得设备接收到组播业务报文后依据各自的组播地 址表项进行转发,减少风暴,提高带宽利用率。

    (2)主要功能:

    侦听 IGMP 报文动态地创建、维护和删除组播地址表,按照组播地址表实现组播 业务报文在指定 成员端口转发;
    协助上游组播路由器正确维护 IGMP 成员关系表;在无三层组播设备环境下实现 IGMP 查询器的功能。

    (3)角色

    1>最大响应时间:IGMPv2 查询者发送的普通组查询报文中含有最大响应时间字段,组播接收者应 在最大响应时间间隔内发送成员报告报文。如果组播接收者没有在最大响应时间间隔内发送成员 报告报文,设备就认为该子网内没有该组播组的接受者,立即删除组播组信息
    在这里插入图片描述
    2>组播组成员端口老化时间:当一个端口加入到组播组中的时候会同时启动该端口的老化定时器。 如果在此定时器超时的时候还没有收到 IGMP 成员报告报文,则老化该组播成员端口。此定时器 默认为 260 秒,不能配置
    在这里插入图片描述
    3>路由器端口老化时间:路由器端口老化定时器设置的时间。如果在此定时器超时的时候还没有收 到 IGMP 查询报文(可以是通用查询报文,也可以是特定组查询报文),则老化此路由器端口。 此定时器默认为 255 秒,即 4 分 15 秒,倒计时方式;该参数可配置
    在这里插入图片描述
    4>组播成员端口(Member port):与组播组成员主机相连的端口。组播组成员指加入某个组播组的主机。可以是物理上相连,也可以是逻辑上相连。设备接收到组播业务报文,将根据组播地址表 向对应组播成员端口转发
    在这里插入图片描述 5>路由器端口(Router port):收到 IGMP 组查询报文或者组播路由协议报文的端口。可以是物理 上相连路由器,也可以是逻辑上相连路由器。当设备收到 IGMP 成员报告或离开报文时,会将报文通过路由器端口转发出去,这样上联路由器能正确维护 IGMP 成员关系表
    在这里插入图片描述

    (4)协议流程:

    1、收到 IGMP 通用查询报文时,如果是已有的路由器端口(即原来这个端口就和组播路由器相连), 则更新路由器端口老化定时器;如果是新路由器端口(即原来这个端口没有和组播路由器相连), 则设备把该端口学习为路由器端口,同时启动对该路由器端口的老化定时器。无论何种情况, 设备收到通用查询报文后,均需向对应 VLAN 中 flood;
    2、 收到 IGMP 特定组查询报文时,设备需学习新的路由器端口或更新路由器端口老化时间,然后 向被查询的组播组成员端口转发该特定组查询报文;
    3、 收到 IGMP 报告报文时,判断该报文要加入的 IP 组播组对应的 MAC 组播组是否已经存在。如 果对应的 MAC 组播组不存在,则新建 MAC 组播组,将接收报告报文的端口加入该 MAC 组播 组中,并启动该端口的老化定时器;如果该报文对应的 MAC 组播组已经存在,但是接收报告 报文的端口不在该 MAC 组播组中,则将接收报告报文的端口加入 MAC 组播组中并启动该端 口的老化定时器;如果该报文对应的 MAC 组播组已存在,并且接收报告报文的端口也已经存 在于该 MAC 组播组,则仅更新接收报告报文的端口上的老化定时器。无论何种情况,设备收 到 IGMP 报告报文后,都只向路由器端口转发,如果路由器端口不存在,则只学习/更新组播组 表项,不转发此报文;
    4、 收到对某 IP 组播组的 Leave 报文,如果开启了快速老化功能,则立即老化该组播成员端口;如果没有开启快速老化功能,则会启动端口的响应查询定时器,如果在该定时器超时的时候还没 有收到该组播组的报告报文,则将该端口从相应 MAC 组播组中删去。当成员端口被老化时, 如果 MAC 组播组没有组播成员端口了,设备应删除该组播组表项。无论何种情况,设备收到 Leave 报文后,都只向路由器端口转发。

    PS
    IGMP查询器:在网络中如果没有三层组播设备,将无法实现 IGMP 查询器的相关功能。为了解决这个问题,可以通过在二层组播设备上配置 IGMP snooping 查询器来实现 IGMP 查询器的功能。使二层组播设备能够建立并维护组播转发表项,从而正常转发组播业务报文。
    配置为查询器后,必须指定设备的一个地址为查询器地址,否则由于缺省源地址为 0.0.0.0 故无法发出 IGMP 组查询报文
    配置了 IP 地址的查询器会参加 VLAN 内 IGMP 查询者的选举,当选查询者负责维护 VLAN 内 IGMP 成员关系表

    (5)IGMP snooping TCN 事件

    当网络拓扑发生变化时,会产生 TCN 事件,生成树根端口会主动发送全局 IGMP 离开报文(组地址:0.0.0.0)来请求 IGMP查询者发送普通组查询报文,达到快速收敛目的;
    使能 IGMP snooping TCN 事件快速收敛后,非生成树根端口也能主动发送全局 IGMP 离开报文 (组地址:0.0.0.0),达到快速收敛目的。

    (6)IGMP Proxying

    当网络中有较多组播组的接收者,为了减少上游组播设备收到的 IGMP 成员报告和离开报文的 数量,有效减小系统开销,可以在设备上配置 IGMP Proxying
    IGMP Proxying 能够代理下游接收者向上游设备发送的 IGMP 成员报告报文和离开报文;也能 够响应上游组播设备发送的 IGMP 组查询报文,再向下游设备发送 IGMP 组查询报文。

    (7)组播vlan

    传统二层组播点播方式,当处于不同的 VLAN 的用户点播时,每个 VLAN 会在本 VLAN 内复 制一份组播流。这种组播点播方式浪费了大量的带宽
    为了解决这个问题,可以通过配置组播 VLAN 的方式,使不同 VLAN 内的用户共用一个组播 VLAN。组播 VLAN 功能开启后,并且组播 VLAN 与用户 VLAN 完全隔离,这样不仅节约了 带宽而且保证了安全性
    组播 VLAN 有两种:分别是 MVR(Multicast VLAN Registration,组播 VLAN 注册)和 MVP (Multicast VLAN Plus,组播 VLAN 增强版)
    1>MVR:
     当多个用户端口属于不同 VLAN 时,可以通过将这些端口添加到 MVR 组播 VLAN 内,实现不 同 VLAN 内的用户共用一个组播 VLAN
     MVR 组播 VLAN 成员端口只能接用户,不能再串接设备,从 VLAN 成员端口发送出去组播报 文不能带 VLAN Tag
     用户端口配置为 hybrid 模式,同时属于用户 VLAN 和 MVR VLAN
    2>MVP:
     用户端口无需添加到组播 VLAN,只需将用户 VLAN 设置为组播 VLAN 的子 VLAN;MVP 将 完成组播 VLAN 和子 VLAN 之间的组播报文复制
     子 VLAN 成员端口可接设备,也可以直接接用户。当接设备时,子 VLAN 成员端口发送组播 报文可以带 VLAN Tag;当连接用户时,子 VLAN 成员端口发送组播报文不带 VLAN Tag
     下游设备无需关注 MVP 设备的配置,正常配置即可

    出现问题以及解决方法:

    1.组播不通
    1>.排查单播是否通
    2>单播通的情况下,排查设备配置是否正常,端口下是否使能PIM-Sm,接入设备上是否使能iGMP,
    PS:vlan下如果配置了未知二层组播丢弃以及组播流量上游转发,l2-multicast drop-unknown ; multicast mrouter-forwarding,那么所有的接入设备上此vlan都必须配置,不然可能出现组播不通的情况。
    2.组播到特定时间表项消失show ip igmp snooping groups,发现表项消失
    1>查询组播相应时间的表格
    PS:如果网络结果中没有组播路由,只是一个单纯的二层组播,则需要配置组播查询器功能,不然到了40分20S左右组播表项会消失,因为无人维护这个表项。
    3.组播丢包
    使用ACL的count动作组,在组播数据的路径上,看看报文丢在哪里
    4.在不同厂商设备对接的时候,组播的RP最好设备成为环回口的地址,尽量避免设置成为组播vlan的地址

    1.sh ip pim mroute 看核心有没有组播路由表,(下面的过程首先是接收端去注册形成(*,G)表项
    然后源去注册形成(S,G)表项,最终RPT-SPR切换,转发数据)
    
    Hostname#show ip pim mroute
    
    IP Multicast Routing Table:
    
    PIM VRF Name: Default
    
    Total 0 (*,*,RP) entry
    
    Total 1 (*,G) entry
    
    Total 1 (S,G) entry
    
    Total 1 (S,G,rpt) entry
    
    Total 0 FCR entry
    
    Up timer/Expiry timer
    
    
    
    (*, 225.1.1.1)
    
    Up time: 00:08:12
    
    RP: 0.0.0.0
    
    RPF nbr: 0.0.0.0
    
    RPF idx: None
    
    Flags:
    
      JOIN DESIRED
    
    Upstream State: JOINED
    
      Local interface list:
    
        vlan3
    
      Joined interface list:
    
      Asserted interface list:
    
     
    
    (138.255.1.134, 225.1.1.1)
    
    Up time: 00:07:24
    
    KAT time: 00:02:22
    
    RPF nbr: 0.0.0.0
    
    RPF idx: None
    
    SPT bit: TRUE
    
    Flags:
    
      JOIN DESIRED
    
      COULD REGISTER
    
    Upstream State: JOINED
    
      Local interface list:
    
      Joined interface list:
    
        register_vif0
    
      Asserted interface list:
    
      Outgoing interface list:
    
        register_vif0
    
        vlan3
    
      Packet count 8646421
    
     
    
    (138.255.1.134, 225.1.1.1, rpt)
    
    Up time: 00:07:24
    
    RP: 0.0.0.0
    
    Flags:
    
      RPT JOIN DESIRED
    
      RPF SGRPT XG EQUAL
    
    Upstream State: NOT PRUNED
    
      Local interface list:
    
      Pruned interface list:
    
      Outgoing interface list:
    
    vlan3
    
    若看到上述状态,说明转发组播数据无问题
    
    
    2.show ip mcache 查询组播的核心转发表
    router#sh ip mcache
    
    Multicast Forward Cache table:
    Total 1 MFC entry
    Total 0 stall upcall packet
    MFC (138.255.1.134/32,  224.123.234.2/32)
      Incoming interface: fastethernet0.1(1)
      Flags: PROTOCOL MFS IPMC 
      Output interface list: 
        fastethernet1(0)
      Waiting packets: NULL
      Uptime: 00:05:36, Timeout in 23 sec
    只要可以看到这个表里面的‘输入输出接口’,那么组播一般工作都是没有问题。
    
    3、sh ip igmp groups 
    
    
    Hostname#show ip igmp groups
    
    IGMP Static Group Membership
    
    Total 1 Static Groups
    
    Group Address    Source Address   Interface            
    
    225.0.0.1        0.0.0.0          vlan2        
    
    IGMP Connected Group Membership
    
    Total 1 groups
    
     
    Group Address  Interface  Uptime    Expires   Last Reporter    V1 Expires  V2 Expires
    
    226.0.0.1      vlan2      00:00:44  00:04:14  128.255.17.66    stopped     stopped
    
    查看组播的接收者是否已经加入了组播组,如果这里已经可以看到该组,就证明igmp处理应该没有问题。
    
    
    
    4,接入交换机show ip igmp snooping group有没有表项
    有的话,证明接入交换机转发无问题
    Hostname#show ip igmp snooping groups
    
    IGMP Snooping Group Membership
    
    Total 1 group
    
     
    
    VLAN ID  Interface Name       Group Address    Expires   Last Reporter    V1 Expires  V2 Expires  Uptime  
    
    _______  ___________________  _______________  ________  _______________  __________  __________  __________  
    
    20       gi0/21               229.55.66.1      00:04:05  128.255.27.89    stopped     stopped     00:00:16
    
    
    展开全文
  • 思维导图1.IP数据报的种传输方式2.IP组播地址3.IGMP协议组播路由选择协议(1)网际组管理协议---IGMP(2)IGMP工作的两个阶段(3)组播路由选择协议(4)组播路由选择选择协议常用的种路由算法 0.思维导图 1...


    0.思维导图

    在这里插入图片描述

    1.IP数据报的三种传输方式

    在这里插入图片描述

    • 以用户看视频为例,进一步了解单播、广播和多播三种传输方式
    • 为了能够支持像视频点播和视频会议这样的多媒体应用,网络必须实施某种有效的组播机制。
    • 使用多个单播传送来仿真组播总是可能的,但这会引起主机上大量的处理开销和网络上太多的交通量。
    • 人们所需要的组播机制是让源计算机一次发送的单个分组可以抵达用一个组地址标识的若干目标主机,并被它们正确接收
      在这里插入图片描述
      在这里插入图片描述

    2.IP组播地址

    • 上文我们已经知道了多播,那么如何才能发给同一组主机相同的数据呢?这就需要了解一下IP组播地址,他就是干这个的。
      在这里插入图片描述在这里插入图片描述

    3.IGMP协议与组播路由选择协议

    (1)网际组管理协议—IGMP

    在这里插入图片描述在这里插入图片描述

    (2)IGMP工作的两个阶段

    在这里插入图片描述

    (3)组播路由选择协议

    在这里插入图片描述
    在这里插入图片描述

    (4)组播路由选择选择协议常用的三种路由算法

    在这里插入图片描述

    展开全文
  • 层组播和三层组播

    万次阅读 2015-09-21 18:58:50
    层组播和三层组播

    平时常常说组播,其实只是多播的另外一种叫法。多播中,因为把参与多播的所有接收者称为组,所以才有组播的说法。多播技术要比广播技术复杂的多。多播技术对一些应用很重要,比如电视会议,聊天室等。

    物理层多播

    系统需要对网络接口进行配置,让接口识别该地址。

    ip协议多播

    (1)需要特定的ip支持,D类地址(224.0.0.0-239.255.255.255)是专门用于多播通信的。224.0.0.1标识所有主机组地址,用来表示本地网络中所有参与IP多播的主机。
    (2)需要特定的理由其支持,一般称为多播路由器。
    (3)IP协议标准中定义一种将ip多播地址映射为以太网多播地址的方法,即将ip地址的低23位填入01:00:5E:00:00:01中。

    展开全文
  • 什么是组播?让我们一起解密组播协议(IGMP、PIM)

    千次阅读 多人点赞 2020-05-28 15:52:33
    本文包括组播协议的IGMP、PIM等全面内容!是一份超全的组播协议笔记!
  • 组播路由协议原理

    万次阅读 2015-06-10 13:04:53
     单播、组播、广播是计算机网络上种基本的通信方式。  单播是相互感兴趣的主机双方进行通信的方式,主机不能接收对其不感兴趣的其它主机发送的信息,属于点对点通信。  广播是主机向子网内所有主机发送信息,...
  • 为了使路由器知道多播组成员的信息,需要利用网际管理协议IGMP (Internet Group Management Protocol)。 连接在局域网上的多路由器还必须和互联网上的其他多路由器协同工作,以便把多数据报用最小代价传送...
  • 协议无关组播-PIM

    千次阅读 多人点赞 2018-05-28 09:31:33
    PIM(Protocol Independent Multicast)称为协议无关组播。这里的协议无关指的是与单播路由协议无关,即PIM不需要维护专门的单播路由信息。作为组播路由解决方案,它直接利用单播路由表的路由信息,对组播报文执行...
  • 组播及igmp协议详解

    千次阅读 2017-06-16 10:48:42
    组播及igmp协议详解 标签: igmp组播 2016-05-10 11:43 4617人阅读 评论(0) 收藏 举报  分类: 网络通信协议(6)  版权声明: 组播和IGMP的作用 ----------------------------...
  • 组网基础之深入解析二层组播

    千次阅读 2012-12-28 15:33:25
    层组播相关协议包括IGMP 和GMRP协议。让我们从分析组播MAC地址开始,逐步而深入的了解二层组播。 组播MAC地址 所谓组播MAC地址,是一类逻辑的MAC地址,该MAC地址代表一个组播组,所有属于该组的成员都接收...
  • cisco3750交换机三层组播配置

    千次阅读 2013-07-03 09:08:09
    首先CISCO交换机的IOS要支持,不支持的需要更新。一般用企业版的。ip multicast-routing distributedip routingint gig1/0/1no switchportipip address <address> <mask>ip pim dense-mode (一般用于...
  • 组播及igmp/mld协议详解(二)

    万次阅读 2018-05-10 09:59:01
    主机向本地的组播路由器发送IGMP消息来表明自己所属的组播组。在IGMP协议中,路由器侦听IGMP消息并周期的发出查询,以发现某个子网上哪些组是活动的,哪些是不活动的。 IGMP消息在IP数据报内发送,用IP协议号2来...
  • IGMP Snooping配置在二层组播设备上,...IGMP Snooping (Internet Group Management Protocol Snooping)是一种IPv4二层组播协议,通过侦听三层组播设备和用户主机之间发送的组播协议报文来维护组播报文的出接口信息,
  • TCP/IP四模型各层主要协议详述

    万次阅读 多人点赞 2019-08-02 00:46:00
    1、一张表理清 OSI七和TCP/IP四的关系 2、TCP/IP模型 (1)物理 物理规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性,确保原始的数据可在各种物理...
  • 组播基础概念

    千次阅读 2021-01-05 18:17:04
    组播传输作为IP数据传输的种方式之一 ,是指接收者的数量和位置在源端主机不知道的情况下,仅由源发出一份组播报文,向目标组播IP地址发送数据的过程。其特点组播实现点到多点的高效数据传输。(全部基于UDP...
  • vxlan、组播、IGMP 协议RFC总结

    千次阅读 2017-09-11 20:08:22
    其实主要总结vxlan的,但说明vxlan,又离不开组播、IGMP协议,所以放在一起总结了。主要是一些要点的总结,并没有太详细的分析,这样便于以后的查阅和复习,也可作为快速了解vxlan的途径。 本文主要根据RFC、tcp/ip...
  • 层组播协议IGMP proxy或IGMP Snooping

    千次阅读 2011-02-13 23:01:00
    层组播协议IGMP proxy或IGMP Snooping,采取的基本方法是对每个组播数据包分组传送,下面分析这两种协议的实现方式。 一、IGMP Snooping IGMP Snooping是靠侦听用户与路由器之间通信的IGMP报文...
  • ;因特网管理协议IGMP

    千次阅读 2018-05-30 19:01:04
    IP组播是一种通过使用一个组播地址将数据在同一时间以高效的方式发往处于TCP/IP网络上的多个接收者的协议。“你把数据包从一头放进去,网络就会试图将它们传递到想要得到它们的人那里。” 由于假设採用单播方式,...
  • 组播侦听者发现协议MLD

    千次阅读 2018-05-28 09:29:35
    组播侦听者发现协议MLD(Multicast Listener Discovery)是负责IPv6组播成员管理的协议,用来在IPv6成员主机和与其直接相邻的组播路由器之间建立和维护组播组成员关系。MLD通过在成员主机和组播路由器之间交互MLD...
  • 层组播协议IGMP proxy或IGMP Snooping IGMP Author,采取的基本方法是对每个组播数据包分组传送,下面分析这两种协议的实现方式。 一、IGMP Snooping(侦听模式) IGMP Snooping和IGMP协议一样,两者都用于
  • linux网络编程:多播(组播)编程

    千次阅读 2018-04-24 11:12:36
    什么是多播 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机... 多播,也称为“组播”,将局域网中同一业务类型主机进行了逻辑上的分组,进行数据收发的时候其数据仅仅在同一分组中进...
  • 单播路由及组播路由协议及就用

    千次阅读 2014-11-12 16:30:17
    单播路由及组播路由协议及就用  分类: 系统运维 单播路由概述 单播路由概述 http://technet.microsoft.com/zh-cn/library/cc786079(WS.10).aspx 单播路由是通过路由器将到...
  • 组播协议和组播路由

    千次阅读 2011-04-22 17:08:00
    组播是一种数据包传输方式,当多台主机同时成为一个数据包的接受者时,出于对带宽和CPU负担的考虑,组播成为了一种最佳选择。   一、什么是组播  1. 什么是组播?  组播是一种...
  • IP组播基础

    千次阅读 2018-05-28 09:23:18
    作为IP传输种方式之一,IP组播通信指的是IP报文从一个源发出,被转发到一组特定的接收者。相较于传统的单播和广播,IP组播可以有效地节约网络带宽、降低网络负载,所以被广泛应用于IPTV、实时数据传送和多媒体会议...
  • 华为组播Multicast协议

    千次阅读 2016-09-20 23:09:00
    ip网络的种传输方式:单播、组播、广播,其中所有的基础协议都是单播,组播也是在靠单播建立底层路由的。 一、组播的优点: 1、带宽:unicast需要服务器发多份数据给相同多个的客户端  Multicast只需要服务器...
  • IGMP Snooping和组播VLAN技术原理

    千次阅读 2021-01-07 12:05:21
    由于IGMP报文是封装在IP报文内,属于三层协议报文,而二层设备不处理报文的三层信息,所以这个过程它并不知道,而且通过对数据链路层数据帧的源MAC地址的学习也学不到组播MAC地址(数据帧的源MAC地址不会是组播MAC...
  • 组播学习之——IGMP协议简介

    千次阅读 2018-12-06 19:39:50
    它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。  IGMP协议(IPv4) 和MLD协议(IPv6)用来帮助主机指定对那些组感兴趣(加入哪一些多播组...
  • 为何GRE可以封装播报文而IPSEC却不行?

    千次阅读 热门讨论 2021-01-24 11:24:27
    Author : Email : vip_13031075266@... Date : 2021.01.23 ...!! Version : ubantu-18.04.02 Reference: ...、GRE封装原理 四、IPsec为什么不行? 五、结论 一、前言 这个问题可能是在学习...
  • 一篇讲组播MAC和各类IP地址的文章

    千次阅读 2017-11-23 16:12:52
    组播MAC地址和各类IP地址 MAC地址是以太网二使用的一个48bit(6字节十六进制数)的地址,用来标识设备位置。MAC地址分成两部分,前24位是组织唯一标识符(OUI, Organizationally unique identifier),后...
  • 组成员离开改进二:查询器选举IGMPv1与IGMPv2报文比较IGMPv3SSM模型中的新需求v3工作机制IGMP各版本差异IGMP Snooping二组播数据转发的问题IGMP Snooping工作原理IGMP简单配置 前言 在上一篇文章中,我们讲解了I...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,283
精华内容 22,513
关键字:

属于三层的组播协议主要有