计算机网络-PIM协议基础概念

一、PIM基础概念

组播网络回顾:

组播网络从网络结构上大体可以分为三个部分:

  • 源端网络:将组播源产生的组播数据发送至组播网络。
  • 组播转发网络:形成无环的组播转发路径,该转发路径也被称为组播分发树(Multicast Distribution Tree)。
  • 成员端网络:通过IGMP协议,让组播网络感知组播组成员位置与加入的组播组。

组播网络从组织构成上由组播源,组播组成员与组播路由器组成。

  • 组播源的主要作用是发送组播数据。
  • 组播组成员的主要作用是接收组播数据,因此需要通过IGMP让组播网络感知组成员位置与加组信息。
  • 组播路由器的主要作用是将数据从组播源发送到组播组成员。组播数据转发需要依赖组播分发树,因此组播路由器需要通过协议来构建组播分发树。

前面我们已经学习了IGMP协议的v1,v2,v3版本,主要作用是使得IGMP查询器可以感知到组成员的位置和所加组播组,形成IGMP组表项和IGMP路由表项。但是单单有IGMP是无法从组播源到达组播组成员的,因此我们需要学习组播转发网络的相关协议。

二、PIM协议基础

组播网络需要基于多种组播协议才能建立转发路径:工作在成员端网络 的主要是IGMP (Internet Group Management Protocol,因特网组管理协议)协议,用于告知组播网络,组成员的位置与所加组播组。工作在组播转发网络的协议主要是PIM,MSDP,MBGP,目前在AS内我们主要学习PIM协议。

PIM(Protocol Independent Multicast,协议无关组播)。协议无关指的是与单播路由协议无关,即PIM不需要维护专门的单播路由信息。作为组播路由解决方案,它直接利用单播路由表的路由信息,对组播报文执行RPF检查,检查通过后创建组播路由表项,从而转发组播报文。

目前在实际网络中,PIM主要有两种模式:

  • PIM-DM(PIM-Dense Mode,PIM密集模式)
  • PIM-SM(PIM-Sparse Mode,PIM稀疏模式)

PIM-DM(PIM-Dense Mode,PIM密集模式),PIM-DM模式主要用在组成员较少且相对密集的组播网络中,该模式建立组播分发树的基本思路是"扩散-剪枝",即将组播流量全网扩散,然后剪枝没有组成员的路径,最终形成组播分发树。

PIM-SM(PIM-Sparse Mode,PIM稀疏模式) ,PIM-SM模式根据组播服务模型又可以分为:

  • PIM-SM(ASM):为任意源组播建立组播分发树。
  • PIM-SM(SSM):为指定源组播建立组播分发树。

PIM-SM模式主要用在组成员较多且相对稀疏的组播网络中,该模式建立组播分发树的基本思路是先收集组成员信息,然后再形成组播分发树。使用PIM-SM模式不需要全网泛洪组播,对现网的影响较小,因此现网多使用PIM-SM模式。

PIM(Protocol Independent Multicast)协议无关组播,目前常用版本是PIMv2,PIM报文直接封装在IP报文中,协议号为103,PIMv2组播地址为224.0.0.13。

三、组播分发树类型

在PIM组播域中,以组播组为单位建立从组播源到组成员的点到多点的组播转发路径。由于组播转发路径呈现树型结构,也称为组播分发树(MDT,Multicast Distribution Tree)

组播分发树的特点:无论网络中的组成员有多少,每条链路上相同的组播数据最多只有一份 。被传递的组播数据在距离组播源尽可能远的分叉路口才开始复制和分发。

组播分发树类型:

  • 以组播源为根,组播组成员为叶子的组播分发树称为 SPT(Shortest Path Tree),在PIM-DM与PIM-SM中均有使用。
  • 以RP为根,组播组成员为叶子的组播分发树 RPT又被称为共享树,RPT主要在PIM-SM模式的组播网络中被使用。

组播分发树类型

四、PIM路由表项

PIM路由表项即通过PIM协议建立的组播协议路由表项。

PIM网络中存在两种路由表项:

  • (S,G)路由表项主要用于在PIM网络中建立SPT。对于PIM-DM网络和PIM-SM网络适用。
  • (*,G)路由表项主要用于在PIM网络中建立RPT。对于PIM-SM网络适用。

S表示组播源,G表示组播组,*表示任意。
PIM路由表项1

在不同的组播路由器上,组播路由表项会基于不同的表项汇总形成。

最后一跳路由器的组播路由表项主要基于PIM路由表项,IGMP组表项和IGMP路由表项汇总形成。

其余组播路由器的组播路由表项主要基于PIM路由表项形成。
PIM路由表项2

(,G )表项是汇总表项,显示有多少接口和组,(S,G)通过复制(,G)表项,结合组表项和IGMP形成组播路由表项。

这里概念很覆盖,其实到实际配置时候还好,先有个概念,PIM协议生成PIM路由表项,PIM路由表项结合IGMP等表项形成完整的组播路由表项。

总结:组播网络由组播源端网络、组播转发网络、组播成员端网络组成,PIM协议用于组播转发网络 。PIM协议目前使用的PIMv2,基于PIM协议有两种模式:PIM-DMPIM-SM 。PIM-DM模式主要用在组成员较少且相对密集的组播网络中,该模式建立组播分发树的基本思路是"扩散-剪枝"。PIM-SM模式主要用在组成员较多且相对稀疏的组播网络中,该模式建立组播分发树的基本思路是先收集组成员信息,然后再形成组播分发树。使用PIM-SM模式不需要全网泛洪组播,对现网的影响较小。从组播源到组成员的点到多点的组播转发路径称为组播分发树,组播分发树又分为SPT何RPT。通过PIM协议会生成PIM路由表项,通过结合PIM路由表项和IGMP表项组播完整的组播路由表项。

本文由mdnice多平台发布

相关推荐
幽兰的天空5 小时前
默语博主的推荐:探索技术世界的旅程
学习·程序人生·生活·美食·交友·美女·帅哥
行則独善其身8 小时前
计算机网络-VPN虚拟专用网络概述
程序人生
行則独善其身13 小时前
华为无线AC+AP组网实际应用小结
程序人生
AI_小站1 天前
RAG 示例:使用 langchain、Redis、llama.cpp 构建一个 kubernetes 知识库问答
人工智能·程序人生·langchain·kubernetes·llama·知识库·rag
MapleLea1f1 天前
26届JAVA 学习日记——Day14
java·开发语言·学习·tcp/ip·程序人生·学习方法
我爱学Python!1 天前
解决复杂查询难题:如何通过 Self-querying Prompting 提高 RAG 系统效率?
人工智能·程序人生·自然语言处理·大模型·llm·大语言模型·rag
糊涂君-Q2 天前
Python小白学习教程从入门到入坑------习题课3(基础巩固)
python·学习·程序人生·职场和发展·学习方法·程序员创富·改行学it
吾店云建站2 天前
9个最佳WordPress PDF插件(查看器、嵌入和下载)
程序人生·pdf·创业创新·流量运营·程序员创富·教育电商
诸葛悠闲3 天前
《操作系统 - 清华大学》4 -3:非连续内存分配:页表——概述、TLB
linux·程序人生