博威---云架构决胜云计算

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1878|回复: 0

多播2 PIM/Dense mode/Sparse mode

[复制链接]
发表于 2011-1-13 18:08:36 | 显示全部楼层 |阅读模式
多播2 PIM/Dense mode/Sparse mode
一、PIM
    1、概念:协议独立的多播(不依赖单播路由协议,RPF也只是咨询单播路由表)
    2、模式:dense模式与sparce模式
    3、协议无关:必须保证IP可达,但是也只是须要IP可达,有路由表就行了,具体什么协议不关心
    4、也须建立邻居
    5、构建PIM表:组播路由表
    6、反向路径检测RPF:依赖于树的类型,源树检查源,共享树检查RP
二、Dense密集模式
    1、原理:反向路径广播。所有路由器在收到多播流量时向所有非接收接口转发,下游路由器收到之后首先检查直连接口有没有加入多播组,再检查下游有没有客户,没有则向上反馈一个prune修剪信息。上游路由器在收到修剪信息后,将该接口置为**状态,超时时间为3分钟。超过则继续反向路径转发。
    2、理念:默认所有下游路由器都有多播客户
    3、场合:适合客户密集、高速链路、免费节目
            不适合稀疏客户、低速链路、付费节目
    4、应用:实验室
    5、配置:
      R1(config)#ip multicast-routing          打开多播路由
      R1(config-if)#ip pim dense-mode          设置为密集模式
      R1(config-if)#do sh ip pim neighbor      查看PIM邻居
        PIM Neighbor Table
      Neighbor          Interface                Uptime/Expires    Ver  DR
      Address                                                            Prio/Mode
      202.100.0.2      Serial1/0                00:00:13/00:01:31 v2    1 / S
      R1#debug ip pim                          打开debug
        PIM debugging is on
      R1#
        *Jun 29 12:18:20.747: IP: s=202.100.0.1 (local), d=224.0.0.13 (Serial1/0), len 54, sending broad/multicast
        *Jun 29 12:18:21.507: CEF: Try to CEF switch 224.0.0.13 from Serial1/0
        *Jun 29 12:18:21.507: IP: s=202.100.0.2 (Serial1/0), d=224.0.0.13, len 54, rcvd 0
      可以看出,发送数据包的源地址为参与多播的接口地址,目的地址为所有运行PIM的路由器地址224.0.0.13。每30秒发送一次。
      R3(config-if)#ip igmp join-group 224.10.10.10  加组
      R3#sh ip mroute                                查看多播路由表
        (*, 224.10.10.10), 00:04:05/00:02:48, RP 0.0.0.0, flags: DCL
        Incoming interface: Null, RPF nbr 0.0.0.0
        Outgoing interface list:
        FastEthernet1/0, Forward/Dense, 00:04:05/00:00:00
        Loopback0, Forward/Dense, 00:04:05/00:00:00
        (*, 224.0.1.40), 00:05:06/00:02:53, RP 0.0.0.0, flags: DCL
        Incoming interface: Null, RPF nbr 0.0.0.0
        Outgoing interface list:
        FastEthernet1/0, Forward/Dense, 00:05:06/00:00:00
三、Sparse稀疏模式
    1、原理:拉。
    2、两种消息:join--接收者加组消息,发向RP
                register--源向RP的注册信息,发向RP (单播)
    3、数据流量沿共享树向下游发送,并进行反向路径检测(如何到达RP)
    4、在一个特定的组中只有一个RP
    5、RP的决定:静态配置或者动态学习(auto-rp/pim v2 bsr)
    6、PIM SMv2数据包:
      (1)Hello:建立邻居
      (2)Join/prune:加组或离组
      (3)Register:源向RP注册
      (4)Register-stop:RP向源说注册停止
      (5)RP-Announce:
      (6)RP-Discovery
      (7)Candidate-RP-Advertisement
      (8)Bootstrap
    7、mroute(用来转发组播流量)
      (1)(*,G)(S,G)组播路由条目
      (2)每个条目都会包含RPF的信息:入接口、RPF邻居
      (3)每个条目都会有一出接口列表(可以为空)
          从一个接口收到Join消息则将该接口置为相应组的OIL出接口列表中。如果从该接口收到离组消息,则发送特定组查询。如果长时间未收到join消息,则将该接口从相应组的出接口列表中删除。
    8、pim SM flags states
      T----代表这个组的流量已经切换到了源树(在RP完成源树和共享树对接,源和目的双方都清楚后,这样可以走最佳路径。罚值默认为0,一有流量立马就走SPT。数据包在发送到RP时走(S,G)的路由条目,数据包结构为源IP为源的IP地址,目标地址为组IP,再转发给下面的客户时,走(*,G)的路由条目,源地址为源的IP地址,目标地址为组IP地址。当数据包到达主机后,就可以走单播路由了,故用SPT)
      J--Join SPT。通常只出现在最末一跳路由器
      F--第一跳路由器
      R--会向RP的方向发出一个修剪(在切换到SPT的时候用到)
    9、邻居发现
      在MA网络中会选出一个DR,以最高IP地址决胜负
    10、共享树的形成过程
      (1)IGMP Join信息:路由器的一个接口接收到join消息,则产生一个(*,组地址)的多播路由条目(不知道源的地址),并将该接口放进OIL列表。以后当这个组的不管哪个源发过来的数据包,路由器都会将它从这个接口转发出去。
      (2)PIM Join信息:这个过程完成之后路由器会向上游路由器发送PIM的Join消息,上游路由器在收到这个路由器发送的Join消息后也会做同样的事情,直到找到RP
    11、源树的形成过程
      (1)Register信息:源发送一个多播注册信息(*.*.*.*,组IP),到达第一跳路由器,由于RP不再向上游路由器发Join信息,故第一跳路由器上关于这个组的出接口列表为空,故这个组的多播流量无法被发送。这时这个第一跳路由器将这个多播包再打一次封装,封装进单播包并通过IP路由协议发送给RP。这种数据包就叫Register.RP在收到这种注册信息后将在多播路由表里产生一个该源和该组IP对应的多播路由条目,即(S,G)。这时上面的源树还未形成,故源和RP的通信将一直通过Register发送。
      (2)Join信息:建立源树。RP向上游路由器发送Join信息,上游路由器在收到这个消息后也产生一个(S,G),并将收到的接口加入该条目的OIL出接口列表。注意这时(*,G)的出接口列表仍然为空。再由这个路由器向上游路由器发送Join信息,直到到达第一跳路由器,源树就此形成。
      (3)Register stop:在这种消息发送之前,源一直会发送Register信息,哪怕源树已经形成。因此,RP在收到第一个通过源树发送来的多播流量,即发送一个Register stop消息,告诉源不要再发Register消息了。这时因为源地址和组IP地址都已经清楚,路由器会更新组播路由表,以后有流量只查多播路由,不走单播了。这时RP的(S,G)和(*,G)的出接口列表都会有相应接口。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|boway Inc. ( 冀ICP备10011147号 )

GMT+8, 2024-5-6 10:27 , Processed in 0.090653 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表