目录

PIM基本概念

组播路由协议的作用

PIM与之前组播路由协议的区别

组播分发树

RFC机制

PIM两种工作模式

PIM的上游接口与下游接口

上游接口

下游接口

PIM邻居发现

Hello报文作用

DR的作用

PIMv2的其它类型报文


PIM基本概念

组播路由协议的作用

和单播路由协议类似,组播路由协议用于建立、维护组播路由,为组播网络生成一颗无环的组播分发树(组播流量在网络中的传输路径)进行组播数据转发。

PIM与之前组播路由协议的区别

PIM协议之前,使用的组播路由协议是DVMRP(距离矢量组播路由协议),MOSPF(组播OSPF协议)等,它们的特点都是需要依赖单播路由协议来进行工作,维护大量的拓扑数据库。

PIM称为协议无关组播路由协议(与单播协议无关的组播路由协议),不维护组播拓扑数据库,不能够自己直接画出组播拓扑。因此PIM通过利用单播路由表的路由信息进行组播报文RPF检查,创建组播路由表项,转发组播报文。目前流行PIMv2

组播分发树

组播分发树由组播路由协议生成,是组播流量在网络中的传输路径,主要分为两种类型

SPT 最短路径树,也成为源树

是以组播源为树根的组播分发树,组播组成员可以看为枝叶

源到组播成员的最短路径树

使用(S,G)表示,S代表组播源,G代表组播组地址。

每一个(S,G)表项都在网络中都对应了一颗独立的SPT

RPT 共享树

是以RP为树根的组播分发树,组播组成员可以看为枝叶,多个组播组可以共用一个RP

组播流量先从源发往RP,再从RP发往成员(此路径不一定是最优的)

主要使用(*,G)表示,也会使用到(S,G)表项。*代表的是任意组播源

注意:

一个(*,G)表项可以维护一个组播组(多个组播源)

一个(S,G)表项可以维护一个组播源

RFC机制

反向路径转发检测  是PIM协议中用于组播转发防环的核心手段

检测过程

  • 路由器收到组播报文后,检查组播报文的源地址,然后在单播路由表中寻找此源地址的路由
  • 如果单播路由表中此源地址路由的出接口就是接收组播报文的那个入接口,则RPF检查成功
  • 否则RPF检查失败,报文被丢弃

PIM两种工作模式

PIM DM  密集模式

多应用于组播组成员相对较多、分布相对密集的局域网络环境中

PIM SM   稀疏模式

多应用在接收者分布较为分散、地域较大的环境


PIM的上游接口与下游接口

其中(S,G)、(*,G)表项是由上游接口和下游接口组成的(以下为S,G表项举例)

上游接口

也就是RPF接口,负责接收(S,G)组播流量的接口(完成了RPF检测)

  • 对于每一个(S,G)表项来说,RPF接口有且只有一个
  • 去往组播源负载分担(单播路由表去往组播源的路由有多条),则选择下一跳地址大的接口为RPF接口
  • RPF接口上的PIM邻居称为RPF邻居。如果RPF接口上存在多个PIM邻居,则邻居地址大的为RPF邻居

上游接口状态——根据上游接口的操作行为,会有不同的状态

Nolnfo(NI)        没有接口状态

Pruned(P)        已经向上游发送Prune报文

Forwarding(F)  (S,G)下游接口非空时,组播报文从上有接口收到

AckPending(AP)已经发送Graft报文,等待GraftAck报文

下游接口

将组播流量发送出去的接口

  • 即存在直连组成员的接口(有IGMP协议维护)以及存在PIM邻居的接口
  • 组播流量会通过下游接口进行扩撒

下游接口状态

Nolnfo(NI) 接口为正常接口,会一直转发组播数据(初始状态)

Pruned(P) 接口已被剪除,不再转发组播数据(不会出现在Pim Routing-table中,但是会出现在Pim Routing-table Fsm中)

PrunePending(PP)接口处于延缓剪除状态,仍能转发组播数据


PIM邻居发现

开启了PIM的组播路由器,会向外周期性的发送PIM Hello报文。

Hello报文的发送间隔为30s,死亡间隔105s(3.5倍发送间隔)

报文的目的地址是22.0.0.13,源地址为发送接口的IP地址,TTL为1

Hello报文作用

  • 发现PIM邻居、协商参数并建立、维持邻居关系。

    • 选举DR(具有抢夺性)

DR优先级大的为DR(默认为1)、接口IP地址大的为DR

DR的作用

在PIM-DM中

DR没有实际用途,就是在最后一跳以太网段上,可以充当IGMP v1的IGMP查询器

在PIM-SM中

DR负责向RP建立共享树和向RP建立注册通道

PIMv2的其它类型报文

PIM DM

Join/prune(加入/剪枝报文)、Assert(断言报文)、Graft(嫁接报文)、Graft Ack(嫁接确认报文)、State-refresh(状态刷新报文)

PIM SM

Join/prune(加入/剪枝报文)、Assert(断言报文)、Register(注册报文)、Register-stop(注册停止报文)、Bootstrap(自举报文)、C-rp-announcement(候选RP通告报文)

单播报文(目的地址为单播)

Register(注册报文)、Register-stop(注册停止报文)、Graft(嫁接报文)、

组播报文(目的地址为组播224.0.0.13)

Join/prune(加入/剪枝报文)、Bootstrap(自举报文)、Assert(断言报文)

组播路由协议——PIM基本概念相关推荐

  1. 组播路由协议PIM DM/SM模式概述

    四种组播路由协议: MOSPF:要求单播协议是OSPF DVMRP:要求单播路由协议是RIP PIM-DM:密集模式,所有接受者在同一个局域网 PIM-SM:稀疏模式,用于大型网络 PIM-DM概述: ...

  2. 组播路由协议——PIM DM工作机制

    目录 扩散.剪枝机制 嫁接机制 状态刷新机制 断言机制 采用"推(Push)"的方式转发组播报文并生成组播表,建立SPT(最短路径树)转发组播报文.它假定每条链路都有接收者,在每条 ...

  3. 组播路由协议基础——组播表项和RPF机制

    IGMP组表 一旦设备在某个接口上激活了IGMP,该设备就会开始维护IGMP组表.初始情况下该数据表是空的,当设备在接口上收到直连网段中的主机发送出来的IGMP成员关系报告时,设备就会在IGMP组表中 ...

  4. 组播路由协议基础——组播分发树

    背景 组播报文是由组播源产生并且发向一组接收者的,组播报文一旦进入组播网络后,组播网络设备(例如组播路由器等)负责拷贝及转发这些报文,直至报文到达组播接收者. 组播流量在组播网络中传递时,应该要考虑如 ...

  5. 第十二章:组播 — 组播路由协议

    和单播路由协议类似,组播路由器在进行数据转发时也要依赖于组播路由协议.组播路由器依靠自己维护的组播路由表,对数据报文进行转发. 组播路由协议的主要作用: 确定朝向组播源的接口,这个接口被称为上游接口, ...

  6. 组播路由协议基础——PIM-SM静态RP

    RP分类 RP在PIM-SM网络中的地位是非常关键的.PIM-SM路由器可以通过两种方式发现网络中的RP. 通过手工配置的方式(静态RP). 通过BSR动态发现(动态RP). 静态RP 优势 通过手工 ...

  7. 组播路由协议基础——PIM-SM RPT加入/剪枝过程

    RPT加入过程 运行PIM-SM的路由器通过PIM加入报文,构建一段到达RP的RPT分支,用于从RP接收组播流量. 示例 如下图所示是一个PIM-SM组播网络,这个网络包含6台路由器,它们都运行着PI ...

  8. wireshark抓组播数据_HCIE学习笔记--组播路由协议PIM-DM工作机制解析

    拓扑 二---PIM--DM扩散 组播源发出的第一份ping包此组播域当中的哪些链路和路由器会接收到?解释对应机制与工作原理 组播路由器接口开启了PIM-DM的都会接收到组播报文. 在PIM-DM模式 ...

  9. 组播路由协议基础——PIM-SM BSR工作机制

    BSR RP相当于组播网络中的一个组播数据汇聚中心, 而BSR ( Bootstrap Router)则相当于组播网络中的管理中心,它管理着动态选举RP的整个过程. BSR工作机制简述 首先网络中会选 ...

最新文章

  1. matlab 人群仿真,用simulink如何实现人群搜索算法的pid参数整定
  2. 亮剑:PHP,我的未来不是梦(3)
  3. 四则运算3(二柱子同学的第三炼狱)
  4. yy直播没声音html,驱动技巧:解决YY语音中麦克风无声或者有噪音的问题
  5. python mysql 性能监控_MySQL性能监控工具 orzdba python版本
  6. PDH光端机的原理_PDH光端机的作用优点
  7. 程序员考核的五大死因
  8. 微信小程序-音频播放-wx.createInnerAudioContext() 每次都是重复播放同一条录音
  9. linux promisc 作用,linux 下怎樣查看網卡是否支持混雜(promisc)模式
  10. 数据结构—链表-双链表
  11. 基金盘后业务的详细设置
  12. div模拟textarea在ios下不兼容的问题解决
  13. web.xml的简单解释以及Hello1中web.xml的简单分析
  14. ACT开发初步(二)——XML
  15. USB和串口的区别是什么?
  16. 如何快速且不失真剪切与合并视频?如何将视频快速转成MP4格式?无需渲染!视频秒转MP4,剪辑合并!
  17. ansible service 模块
  18. 【2020 ACM Fellow 华人学者】 陶宇飞 香港中文大学
  19. 福利:推荐你在线码代码
  20. EPI晶片的表面微观粗糙度对湿化学处理的依赖性

热门文章

  1. 12306官网登录详解
  2. Asp.net Web Api开发 性能:使用Jil提升Json序列化性能
  3. 英国python工资_就业强势起薪高?英国BA硕士哪家强?!
  4. 图像滤波器系列(1):冲击滤波器,shock_filter
  5. 三句话巧记23中设计模式
  6. Android7.0 init进程源码分析
  7. GPT-3有多强?伯克利小哥拿它写“鸡汤”狂涨粉
  8. 跟我一起写 Makefile -- 陈皓
  9. 【学术相关】我国博士毕业生都去哪儿了?基于2015-2020年数据的分析
  10. 市值超660亿,居然之家成功借壳上市