IP组播基础

点到多点业务:比如IPTV、视频会议等,可以使用组播、广播、单播承载,比如A,B,C都要收看视频X

单播会占用大量带宽,导致服务器压力极大

广播会发送给所有的终端,存在安全隐患

组播会避免上面两个方式的问题

IP组播基本概念

组播技术有效地满足了单点发送、多点接收的需求,实现了IP网络中点到多点业务数据的高效传送,能够大量节约网络带宽、降低网络负载

组播数据报文结构

1, 组播目的mac地址

2, 组播源mac地址

3, 组播源IP地址

4, 组播目的IP地址

IPV4组播地址

在范围224.0.0.0到239.255.255.255,作为组播报文的目的地址使用,不能作为源地址使用

IPV4组播报文的源地址字段为IPV4单播地址,可使用A、B、C类地址

组播MAC地址

IANA规定,IPv4组播MAC地址的高24位为0x01005e,第25位为0,低23位为IPv4组播地址的低23位

组播MAC地址标识了一组设备,这种MAC地址第1个字节的最低比特位为1

一个组播MAC地址所标识的一组设备有着共同的特点,那就是它们都加入了相同的组播组,这些设备将会侦听目的MAC地址为该组播MAC地址的数据帧

组播网络基本架构:

源端网络:将组播源产生的组播数据发送到组播网络

组播转发网络:形成无环的组播转发路径,该转发路径也称为组播分发树

成员端网络:让组播网络感知组播组成员位置与加入的组播组

组播中的成员:

组播源:组播流量的发送者,无需运行任何组播协议

组播接收者:接收组播流量的设备

组播组:用IP组播地址进行标识的一个集合,加入组播组的成员才能识别接收发往该组播组的流量

组播路由器:支持组播、运行组播协议的网络设备,交换机、防火墙也行,路由器只是代表

第一跳路由器:与组播源相连并且复制转发该组播源发出的流量的PIM路由器

最后一跳路由器:与组播组成员相连且负责向该组成员转发组播数据的PIM路由器

IGMP:因特网组管理协议。是TCP/IP协议族中负责IP组播成员管理的协议,用来在接收者和与其直接相邻的组播路由器之间建立、维护组播组成员关系

组播服务模型

1,ASM模型:

组成员加入到组播组以后,组成员可以接收到任意源发送到该组的数据

ASM可以在路由上配置针对组播源的过滤策略,允许或禁止来自某些组播源的报文通过(数据经过筛选)

ASM模型要求组地址必须整个组播网络中唯一,即同一时刻一个ASM地址只能被一种组播应用使用

2,SSM模型:

组成员加入到组播组后,组成员只会收到指定源发送到该组的数据

SSM模型对组地址不再要求全网唯一,但是要求同一个源上不同的组播应用使用不同的SSM地址来区分

组播数据转发原理

由于组播转发容易产生环路,次优,重复报文,所以组播路由表项除了目的网络和出接口外还需要添加组播源和入接口的信息,使得设备只转发从特定的入接口收到的组播数据

对于相同的组播源,设备通过RPF(反向路径转发)检查,确定设备上唯一的组播流量入接口

组播转发设备中含有组播路由表,其中有入接口和出接口的信息

RPF检查工作原理:

检查过程:

1, 组播数据到达设备时,设备读取组播数据源IP,查找PRF路由表,寻找组播源对应的出接口

2, 如果出接口与组播报文如接口不一致,就丢弃组播报文

3, 如果出接口与组播报文入接口一直,才会接收报文

RPF路由选举规则:

RPF路由可以从单播路由,MBGP路由、组播静态路由中选举

选举原则:

复制代码
1. 掩码最长匹配
2. 如果三条路由的掩码一样,选择路由优先级最高的路由
3. 如果优先级也相同,组播静态路由>MBGP路由>单播路由
组播分发树:

是通过RPF机制与组播路由协议形成的无环无次优无重复的组播抓发路径

保证转发路径无环,无次优,无重复包

以组播源为根,组成员为叶子

以上均为个人学习笔记,总结于华为技术有限公司学习资料和网络平台资源

如有问题,谢谢指正

相关推荐
東隅已逝,桑榆非晚32 分钟前
类和对象(中)
c++·笔记
野生yumeko1 小时前
QtScrcpy电脑无线控制手机屏幕
经验分享·笔记·智能手机
2501_919749031 小时前
华为鸿蒙训练口才APP—小羊口才
华为·harmonyos·鸿蒙
大锅盖12 小时前
HarmonyOS 摄像头焦点管理的完整工程实现
华为·harmonyos
xian_wwq2 小时前
【学习笔记】Loop Engineering,从手动提示到目标驱动自动化-13/16
笔记·学习·自动化
只吃不吃香菜2 小时前
Windows 下基于 YAML 规则的指定域名分流:以哔哩哔哩为例
网络·网络协议·计算机网络·网络安全·代理模式
我爱cope3 小时前
【计算机网络 | 数据链路层2:差错检测与纠正:奇偶校验、校验和、CRC 分别怎么工作?】
网络·学习·计算机网络
Q741_1473 小时前
TcpDump 使用笔记
网络·c++·笔记·测试工具·tcpdump
疯狂打码的少年3 小时前
【数据结构】队列的应用:循环队列
数据结构·笔记·算法
雾时之林3 小时前
Linux---计算机网络常见面试题
linux·运维·计算机网络