【HCIE-R&S 天梯路】组播

组播

IP数据传输三种方式:单播、组播、广播

  • 组播网络也需要单播可达(因为需要RPF检查)
  • 现网中组播:IPTV
  • 组播较单播,节省带宽

协议组播:各协议的Hello、BSR自举报文等(TTL=1,逐跳发送)

普通组播:从源到接收者

组播IP地址

  • 组播IP地址 = D类地址(1110打头) = [224.0.0.0,240.0.0.0)
  • 仅作为目的地址,不作为源地址
  • 组播地址没有掩码

224.0.0.1                             节点

224.0.0.2                             路由器

224.0.0.5                             OSPF路由器

224.0.0.6                             OSPF DR/BDR

224.0.0.13                            PIM路由器

224.0.0.18                            VRRP

224.0.0.22                            IGMPv3成员关系报告

  • VRRP中    报文DIP=224.0.0.18     MAC=0100-5E00-0012

                        虚拟IP=配置               MAC=0000-5E00-0101(vrid)

组播地址范围       224.0.0.0/4

224.0.0.0/24                         协议组播地址段(预留,TTL=1)

[224.0.1.0,239.0.0.0)         ASM+SSM

其中232.0.0.0/8                   SSM

239.0.0.0/8                          私有组播组地址

0.0.0.0     作为组地址=普遍组查询(DIP=224.0.0.1)

                作为SIP,表示IGMP(Snooping)Proxy代发的报文

组播MAC地址

  • 三层:组播组IP地址 → 二层:组播MAC
  • 为什么需要组播MAC?

                单播可以通过ARP请求得到对方MAC

                组播只能通过自己生成MAC,封装二层头部

IPv4        末23bit映射

组播MAC =          0100 - 5E        +0(1bit)        +组播IP后23bit

                                        前25bit固定

  • MAC地址第一个字节末位 =0  单播MAC =1  组播MAC
  • 组播IP地址前4位固定(1110),32-4-23=5bit。因此有25=32个IP→相同组播MAC

IPv6        末32位映射

组播MAC = 3333-xxxx-xxxx

写出0100-5E01-0101对应的32个组播IP地址

MAC后23bit = 000 0001 0000 0001 0000 0001      组播IP末23bit

组播IP 1110打头

因此,组播IP= 1110 XXXX X000 0001 0000 0001 0000 0001

名词解释

ASM                      Any-Source Multicast                               任意源组播

SSM                      Source-Specific Multicast                         特定源组播

IGMP                    Internet Group Management Protocol      互联网组管理协议

PIM                       Protocol Independent Multicast                协议无关组播

PIM-DM                PIM-Dense Mode                                      PIM密集模式

PIM-SM                PIM-Sparse Mode                                     PIM稀疏模式

RPF                      Reverse Path Forwarding                         反向路径转发(检查)

RP                        Rendezvous Point                                     聚集点(路由器)

SPT                      Source Path Tree                                      源路径树

RPT                      Rendezvous Point Tree                             RP树

BSR                      BootStrap Router                                      自举路由器

组播基本概念

组播源

Server为组播源,目的地址=组播组地址

  • 组播源可以向多个组播组发送数据
  • 多个组播源也可以向一个组播组发送数据
  • 组播源不需要运行组播协议

组播组

每一个D类地址是一个组播组。组播源向组播组发送组播数据,接收者加入组播组接收组播数据

组播路由器

运行组播路由协议的路由器,图中R1、R2、R3为组播路由器。其中,

头一跳路由器first-hop router:R1

最后一跳路由器last-hop router:对于PC1是R2,对于PC2是R3

  • 头一跳路由器在PIM-SM中用于组播源注册
  • 最后一跳路由器运行IGMP协议

组播路由协议

常见的组播路由协议:IGMP、PIM、MOSPF、MSDP、MBGP等

PIM协议又包括:PIM-DM、PIM-SM、PIM-SSM

组播 路由表

display multicast routing-table   全局组播路由表

display pim routing-table           PIM组播路由表

display igmp routing-table         IGMP组播路由表

  • 最后一跳路由器,        仅开启IGMP时,有IGMP组播路由表

                                            同时开启IGMP和PIM时,没有IGMP组播路由表,只能看IGMP组

display igmp group                    查看IGMP组表

1.        组播协议路由表

PIM路由表

display pim routing-table

  • PIM路由表记录了组播路由表项:组播源地址、组播组地址、上游接口、下游接口
  •  (*,G)=(任意组播源,组播组)

        (S,G)=(组播源地址,组播组)

2.        IGMP路由表

display igmp routing-table

  • IGMP运行在接收者和最后一跳路由器之间,且此间可以不运行PIM协议
  • 图中可以看出,路由器通过PC发送的IGMP协议接收了两个组播组的数据

        (10.10.10.10,232.1.1.3)PIM-SSM+IGMPv3的特定源组播 和

        (*,229.1.2.3)的任意源组播

3.        组播路由表

display multicast routing-table

  • 组播路由表是全局唯一的组播数据转发路由表,它的内容来自于各个组播协议路由表(类似于IP路由表数据来自于ospf、is-is、bgp的优选路由)
  • 图中看到有2个来自不同协议发现的下游接口,可以参考图7-1中R2路由器,连接PC端靠IGMP发现了下游接口,连接下游路由器R3靠PIM协议发现的下游接口

4.        组播转发表

display multicast forwarding-table

  • 类似于FIB表

组播模型ASM & SSM

ASM任意源组播(*,G) 

        接收者事先不知道源

        源和接收者二者独立工作

        接收者加组/离组,和源无关

支持ASM的协议:PIM-DM、PIM-SM(ASM)     IGMPv1、IGMPv2、IGMPv3

SSM特定源组播(*,G)

        接收者事先知道源

        接收者在PC上指定源

支持SSM的协议:PIM-SSM                                  IGMPv3

  • SSM使用特定的地址:232.0.0.0/8网段

域内、域间、跨AS域组播

1.        单PIM域内组播

组播域内:PIM(必须)

最后一跳路由器和接收者之间:IGMP(必须)

Switch A的VLAN内部属IGMP Snooping/IGMP Snooping proxy(可选)

2.        跨PIM-SM域组播

组播域之间(RP-RP之间):MSDP

如果使用PIM-SSM,则不需要MSDP协议

3.        跨AS域组播

  • PIM协议依赖于单播路由表,组播转发路径与单播转发路径是一致的

        因此,在接收者和组播源跨AS的情况下,需要在AS边缘路由器上部属MBGP协议,以生成一张独立于单播BGP路由表的组播BGP路由表

★RPF检查(Reverse Path Forwarding反向路径转发)

作用:   

        对于流量:防环

        对于建树:形成正确的组播转发表项

  • 单播中,通过目的地址,确定最佳转发路径
    • 组播中,目的地址=组播地址。因此只能靠组播源地址确定转发路径是正确的

哪些过程需要RPF检查?

  1. R收到组播流量
  2. R主动建树    朝着RP建RPT树 / 朝着S建SPT树
  3. R收到Bootstrap报文(携带BSR IP)进行RPF检查

RPF检查:收到组播流量(有源IP)的接口,是否= RPF路由的接口

RPF路由优选规则:

组播静态路由、MBGP路由表(组播BGP)、单播路由表中各选一条最优的,

最长匹配(若配置) > 路由优先级 > 组播静态路由 > MBGP > 单播路由表

  • 若匹配到单播路由,且有多个下一跳,以下操作方式3选1

                优选下一跳IP(默认)

                最长匹配

                负载分担(基于S、基于G、基于S/G),不RPF检查

[R]   multicast longest-match      //最长匹配,默认没配

组播静态路由

[R]   ip rpf-route-static x.x.x.x/xx y.y.y.y

MBGP(组播BGP)

[R]   bgp 100

       ipv4-family multicast

       peer x.x.x.x enable                      //BGP传递组播路由

  • 组播静态路由、MBGP传递的路由,仅用于改变RPF邻居(从而改变RPF接口)

流量入接口、(S,G)入接口、RPF接口

为了快速转发,流量到来时,先比较流量入接口、(S,G)入接口是否一致,不一致再RPF检查

R无表项、仅(*,G)表项时,进行RPF检查,计算RPF接口

R有(S,G)表项时,

流量入接口=(S,G)入接口,说明正确,所有出接口转发数据

流量入接口≠(S,G)入接口,说明存在错误,进行RPF检查

RPF检查结果:RPF接口=(S,G)入接口,说明流量入接口错误,丢弃

RPF检查结果:RPF接口=流量入接口,说明(S,G)表项入接口过时,更新

为什么ospf的hello、LSU不需要RPF检查?会不会环?

hello和bootstrap报文对比来看

hello报文TTL=1,只在邻居之间发送

bootstrap报文由C-BSR逐跳、组播、周期发送,其他PIM路由器都会转发(可能环)

那,LSU(LSA)为什么不会成环发送?

比如X路由逆时针传了一圈,

  1. 但R3接收但不会使用这条LSA(因为LSA“一样新”,优选本地始发的)
  2. 即使使用,也不会再发给R2(因为R3收到关于这条LSA的LSAck后,只会周期1800s泛洪)

组播协议各类time

IGMPv1 

普遍组查询周期60s     最大响应时间10s        删表时间130s

IGMPv2、v3

普遍组查询周期60s(首次成为查询器第0、15s发2次)    最大响应时间10s

特定组查询、特定组/源查询1s*2(第0、1s)                最大响应时间1s*2=2s删表

异常离组(未发离组报文),130s删表

MLD       普遍组查询周期125s

其他查询器存活时间    =     健壮系数*普遍组查询周期+1/2*最大响应时间=2*60+1/2*10

                                    =     125s(超时后认为查询器失效,重新选举)

PIM        Hello=30s             Hold Time=3.5*Hello=105s

              Join周期60s         删表时间60*3.5=210s

              剪枝周期210s(被剪枝接口重新出现在下游接口)       剪枝延迟=3s

              状态刷新周期60s(抑制剪枝接口出现)

              断言AT计时器180s(超时前保持剪枝)

              注册抑制计时器60s(超时源DR向RP单播注册。第55s源DR发送空注册报文,RP若无接收者,回复注册停止报文)

                Bootstrap周期60s                            “最优”C-BSR等待130s成为BSR

                C-RP Advertisement周期60s            BSR上RP映射超时时间150s

IGMP

Internet Group Management Protocol

  • 基于IP报文,协议号=2
  • IGMP协议工作在接收者和最后一跳路由器之间,加组/离组

IGMP配置

[R]   multicast routing-enable            //全局使能组播

[R-G]      igmp enable               

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值