专业做招聘网站,wordpress商城手册,报名窗口网站建设,住建房产信息查询组播网络概念
组播网络由组播源#xff0c;组播组成员与组播路由器组成。 组播源的主要作用是发送组播数据。 组播组成员的主要作用是接收组播数据#xff0c;因此需要通过IGMP让组播网络感知组成员位置与加组信息。 组播路由器的主要作用是将数据从组播源发送到组播组成员。…组播网络概念
组播网络由组播源组播组成员与组播路由器组成。 组播源的主要作用是发送组播数据。 组播组成员的主要作用是接收组播数据因此需要通过IGMP让组播网络感知组成员位置与加组信息。 组播路由器的主要作用是将数据从组播源发送到组播组成员。组播数据转发需要依赖组播分发树因此组播路由器需要通过协议来构建组播分发树。 PIMProtocol Independent Multicast协议无关组播协议的主要作用就是构建组播分发树。
组播网络基本架构回顾
组播网络大体可以分为三个部分 源端网络将组播源产生的组播数据发送至组播网络。 组播转发网络形成无环的组播转发路径该转发路径也被称为组播分发树Multicast Distribution Tree。 成员端网络通过IGMP协议让组播网络感知组播组成员位置与加入的组播组。
PIM协议无关组播协议
目前常用版本是PIMv2PIM报文直接封装在IP报文中协议号为103PIMv2组播地址为224.0.0.13。 前提底层网络能够实现单播互通 应用在组播路由器之间运行 作用在组播路由器上构建组播路由表形成组播流量分发树无环、无次优、无重复组播流 组播分发树的分类 SPT组播源到组播接收者组播流量分发树在PIM-DM与PIM-SM中均有使用 RPTRP到组播接收者的组播流量分发树在PIM-SM中使用 pim-dm密集模式由组播源发起以推的形式构建组播流量分发树 适用于组播成员分布密集的时候 pim-sm稀疏模式由组播接收者发起以拉的形式构建组播流量分发树 适用于组播成员分布稀疏的时候 PIM-SM模式根据组播服务模型又可以分为 PIM-SMASM为任意源组播建立组播分发树。 PIM-SMSSM为指定源组播建立组播分发树。 在PIM组播域中以组播组为单位建立从组播源到组成员的点到多点的组播转发路径。由于组播转发路径呈现树型结构也称为组播分发树MDTMulticast Distribution Tree。 组播分发树的特点 无论网络中的组成员有多少每条链路上相同的组播数据最多只有一份。被传递的组播数据在距离组播源尽可能远的分叉路口才开始复制和分发。
PIM-DM与PIM-SM使用场景
PIM形成组播分发树主要有两种模式即PIM-DM模式与PIM-SM模式这两种模式分别用在不同的场景下 PIM-DM模式主要用在组成员较少且相对密集的组播网络中该模式建立组播分发树的基本思路是“扩散-剪枝”即将组播流量全网扩散然后剪枝没有组成员的路径最终形成组播分发树。 PIM-SM模式主要用在组成员较多且相对稀疏的组播网络中该模式建立组播分发树的基本思路是先收集组成员信息然后再形成组播分发树。使用PIM-SM模式不需要全网泛洪组播对现网的影响较小因此现网多使用PIM-SM模式。
PIM路由表项
PIM路由表项即通过PIM协议建立的组播协议路由表项。 PIM网络中存在两种路由表项 SG路由表项主要用于在PIM网络中建立SPT。对于PIM-DM网络和PIM-SM网络适用。 *G路由表项主要用于在PIM网络中建立RPT。对于PIM-SM网络适用。 RPF检测逆向路径转发检测 作用1、用于构建组播路由表确定组播路由表的上游接口以及下游接口 2、确保组播流量无环无次优 检测机制 pim dm 1、pim dm路由器收到组播流量时会直接在本地生成对应的s g组播路由表项然后会根据组播流量的sip查看本地单播路由表找到去往组播源的最优路由将该路由的最优出接口设置为对应s g表项的上游接口最优下一跳为上游邻居其余建立了pim邻居的接口为该表项的下游接口 如果路由器去往组播源存在多条负载的最优路径时则选择下一跳更大的路由其中出接口设置为对应s g表项的上游接口下一跳为上游邻居其余建立了pim邻居的接口为该表项的下游接口 2、只有从上游接口收到的组播流量才会从下游接口发送出去 pim sm 1、当接收端DR通过IGMP生成了* g表项时根据RP地址进行RPF检测找到去往RP的最优路由将该路由的出接口设置为* g表项的上游接口最优下一跳设置为上游邻居
配置 [R1]multicast routing-enable //全局下开启组播功能 [R1]pim //全局开启pim interface Ethernet0/0/0 pim dm //所有的物理接口开启pim dm功能
PIM DM 工作过程 1、建立PIM邻居 2、选举DR 3、扩散——剪枝 4、状态刷新 5、嫁接 6、断言
报文结构pim层——IPv4——数据链路层头部 组播发送224.0.0.13所有pim路由器均能接收
1、建立pim邻居 组播路由器开启pim dm后发送hello报文发现并且建立pim邻居 hello周期35s超时时间为105s hello时间不一致会向小协商 interface Ethernet0/0/0 pim hello-option holdtime 90 //修改超时时间为90s display pim neighbor //查看pim邻居 display pim interface //查看pim接口信息其中包含DR优先级、DRIP地址、hello时间 2、选举DR 选举规则 1接口优先级越大越优默认为1 interface Ethernet0/0/0 pim hello-option dr-priority 2 //修改接口DR优先级 display pim interface //查看pim的DR以及DR优先级 2接口ip越大越优 每个网段有且仅有一个 其中源端DR为组播源与路由器之间网段的DR接收端DR为最后一跳路由器与接收者之间网段的DR DR在PIM DM中的作用 1负责转发从组播源收到的组播流量源端DR 2充当IGMPv1的查询器接收端DR 3当充当多台最后一跳路由器时只有接收端DR会转发组播流量 4周期发送状态刷新报文源端DR
3、扩散-剪枝 3.1 扩散 当组播源需要发送组播流量时则直接发送触发扩散机制 pim dm路由器收到组播流量时会直接在本地生成对应的s g组播路由表项其中s为组播流量的sip、g为组播流量的dip 上游接口通过RPF检测确定有且仅有一个 下游接口除上游接口以外的所有建立了pim邻居的接口 确定好上下游接口后将组播流量从下游接口扩散出去 直到组播流量扩散到最后一跳路由器在确定了上下游接口后还会检查自身是否存在对应组别的* g表项如果存在则说明该路由器下游存在该组别的接收者则将* g表项的下游接口复制到s g表项的下游接口并且将组播流量从所有下游接口发送出去 3.2 剪枝prune 当pim dm路由器发现自身的s g组播路由表项中不存在下游接口时说明下游没有该组播流量的接收者则触发剪枝触发条件 机制发送剪枝报文dip为224.0.0.13携带需要剪枝的表项以及针对的上游邻居 当上游邻居收到该剪枝报文后则将收到该报文的接口从对应表项中移除并且检查该表项是否存在其他的下游接口如果存在则停止剪枝如果不存在则继续向上游发送剪枝报文过程与上述一致 作用防止组播流发送到没有接收者的区域浪费设备以及链路资源 缺陷被剪枝了的接口不是永久性删除而是被暂时抑制抑制时间为210s 每隔210s被剪枝的接口会恢复需要重复剪枝的步骤浪费设备资源 4、状态刷新 作用解决剪枝抑制时间所带来的问题防止被剪枝的接口恢复 机制源端DR会周期性发送状态刷新state-refresh报文处于键值抑制状态的接口收到后会刷新抑制计时器从头开始计时 被剪枝的接口永久不会恢复 5、嫁接 机制当新加入组播接收者时路由器通过IGMP生成了* g表项后如果自身存在对应的s g表项则直接将* g表项的下游接口复制到s g表项并且向上游邻居发送嫁接报文携带需要嫁接的s g表项以及上游邻居的地址上游邻居收到后新增收到该报文的接口为下游接口 作用确保网络中新增组播接收者时可以收到组播流量 6、断言assert 作用防止pim dm网络中出现重复组播流导致链路资源的浪费 触发条件当pim dm路由器从下游接口收到从该接口发送出去的一模一样的组播流量 机制双方会发送断言报文其中会携带 发送者去往组播源的路由优先级、开销 会进行如下比较 优先级越小越优 开销越小越优 接口ip越大越优 胜出的一方winner 失败的一方loser loser会将自身的断言竞选失败的端口从s g表项中删除并且从该接口向外发送该s g表项的剪枝报文对端收到后也会删除对应的下游接口可以消除网络中的重复组播流 缺陷只能适用于ASM模型 不适用于网络分支较多的场景需要频繁剪枝
PIM-SM
工作过程
1、建立pim邻居 2、选举DRDR在PIM SM作用更多 3、选举RP RP汇聚点 作用作为接收端构建RPT树的终点 向源端发起SPT树构建 作为组播源向接收端发送组播流量的中间点 一般越中间越好 静态常用 pim static-rp 3.3.3.3 //指定的地址需要全网可达必须所有设备都要配置 动态 选举过程如下 在C-BSR中选出一个BSR 优先级较高者获胜优先级数值越大优先级越高。 如果优先级相同IP地址较大者获胜。 BSR会周期性发送BSR消息收集网络中的C-RP的参数 收集完成后将所有C-RP的选举参数加入到RP-SET中根据BSR消息泛洪至整个组播网络 其他pim路由器收到后则会选举出RP 与用户加入的组地址匹配的C-RP服务的组范围掩码最长者获胜。 如果以上比较结果相同则C-RP优先级较高者获胜优先级数值越小优先级越高。 如果以上比较结果都相同则执行Hash函数计算结果较大者获胜。 如果以上比较结果都相同则C-RP的IP地址较大者获胜。 pim c-bsr 接口 //指定自身的某个接口为C-BSR c-rp 接口 //指定自身的某个接口为C-RP c-bsr priority x //修改bsr优先级 c-rp priority x //修改rp优先级 4、RPT树构建 RPT指RP到接收端的组播流量分发路径树 当接收端DR通过IGMP生成了* g表项时根据RP地址进行RPF检测找到去往RP的最优路由将该路由的出接口设置为* g表项的上游接口最优下一跳设置为上游邻居 并且产生一份join报文携带需要构建的RPT树的组播表项以及上游邻居的地址向上游邻居发送 上游邻居收到后会在本地生成* g表项并且将收到该join报文的接口设置为下游接口并且根据RP地址进行RPF检测确定上游接口与上游邻居直至RP收到join报文为止 RP收到join报文后生成* g表项接收到join报文的接口为下游接口并且暂无上游接口 5、源活跃阶段注册阶段/停止注册 组播源发送组播流量后源端DR会将组播流量打包成注册报文单播发送给RP RP收到后拆除外层封装看到原始组播流量会进行如下操作 1判断本设备的组播路由表是否存在匹配该组播流量的* g表项如果存在则根据* g表项进行转发一直给到接收端并且沿途经过的pim sm路由器会创建s g表项上下游接口直接从* g表项中复制过来 2生成s g表项并且根据组播流量的sip进行RPF检测找到去往组播源的最优路径其中最优出接口作为上游接口最优下一跳作为上游邻居并且向上游邻居发送join报文上游邻居收到join报文后生成s g表项重复上述动作直到源端DR构建SPT树 当RP可以直接通过组播流量分发树收到组播流量时则向源端DR发送注册停止报文源端DR收到后则停止发送注册报文 至此网络中存在两颗组播流量分发树 RPTRP到接收端存在两张表* g、s g SPT源端到RP存在一张表s g 6、SPT切换 当接收端DR收到组播流量后会向组播源发起SPT树构建 构建过程本地生成s g表项上游接口与上游邻居通过RPF检测确定下游接口从* g表项复制 向上游邻居发送join报文上游邻居收到后生成s g表项下游接口为收到报文的接口上游接口与邻居通过RPF检测确定重复上述步骤直到组播源 当接收端DR可以通过SPT树收到组播流量时则发起RPT树S G表项的剪枝一直到RP如果RP删除了S G表项的下游接口后没有其余的下游接口则说明网络中存在次优路径则继续向上游发起剪枝 作用防止组播流量的次优路径 DR在PIM SM中的作用
1、充当IGMPv1的查询器接收端DR
2、向RP发起RPT树构建接收端DR
3、发送注册报文、接收注册停止报文;(源端DR)
4、向组播源发起SPT树切换接收端DR PIM-SSM
定义PIM-SM工作与SSM模型下
工作过程
1、建立邻居
2、选举DR
3、接收端DR在通过IGMP生成了S G表项后直接向源端构建SPT树