首页 > 其他分享 >IP组播概述

IP组播概述

时间:2022-08-25 10:55:08浏览次数:72  
标签:组播 IP MAC 地址 概述 转发 路由 路由表

使用组播承载点到多点业务

组播(Multicast)是在一台源IP主机和多台(一组)IP主机之间进行,中间的网络设备根据接收者的需要,有选择性地对数据进行复制和分发

组播方式下,单一的信息流沿组播分发树被同时发送给一组用户,相同的组播数据流在每一条链路上最多仅有一份。

相比单播和广播,使用组播的好处:

  • 相比单播:用户的增加不会导致信息源负载的加重,不会导致网络资源消耗的显著增加
  • 相比广播:不会造成网络资源的浪费,并能提高信息传输的安全性,而且组播可以实现跨网段的传输

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

   

组播数据报文结构

组播数据报文的结构与单播报文类似,但组播数据报文的目的MAC地址与目的IP地址与单播报文有很大差异

  • 组播目的IP地址:目的IP地址为组播IP地址,地址范围从224.0.0.0到239.255.255.255
  • 组播目的MAC地址:目的MAC地址为组播MAC地址,组播MAC地址由组播IP弟子映射而来

组播IP地址

  • 在IPv4地址空间中,D类地址(224.0.0.0/4)被用于组播。一个组播地址就表示一个点到多点的数据流,比如IPTV数据流,语音会议数据流。
  • 大多数情况下,同一个组播网络里不同的业务(比如:IPTV、语音会议)就需要使用不同的组播IP地址

IANA对D类地址做了进一步的定义,如下表

范围

含义

224.0.0.0~224.0.0.255

为路由协议预留的永久组地址

224.0.1.0~231.255.255.255

233.0.0.0~238.255.255.255

Any-Source临时组播组地址

232.0.0.0~232.255.255.255

Source-Specific临时组播组地址

239.0.0.0~239.255.255.255

本地管理的Any-Source临时组播组地址

组播MAC地址

  • 以太网传输IPv4单播报文的时候,目的MAC地址使用的是接收者的MAC地址。但是在传输组播数据时,其目的地址不再是一个具体的接收者,而是一个成员不确定的组,所以要使用IPv4组播MAC地址
  • 组播MAC地址标识了一组设备,这种MAC地址第一个字节的最低比特位为1。
  • IANA规定,IPv4组播MAC地址的高24位为01005E,第25位为0,低23位为IPv4组播地址的低23位。

例子:组播组IP地址224.0.1.1对应的组播MAC地址为01-00-5E-00-01-01

注意:

IPv4组播地址的前4位是固定的1110,对应组播MAC地址的高25位,后28位中只有23位被映射到MAC地址,因此丢失了5位的地址信息,直接结果是由32个IPv4组播地址映射到同一个MAC地址上。例如224.0.1.1、224.128.1.1,225.0.1.1、239.128.1.1等组播组的组播MAC地址都为01-00-5e-00-01-01。网络管理员在分配地址时必须考虑这个情况。

   

组播网络基本架构

组播网络大体可以分为三个部分

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

组播的相关术语

  • 组播组(Source):组播流量的发送者,例如多媒体服务器。组播源无需运行任何组播协议,只需要简单地将组播数据发送出来即可
  • 组播接收者(Receiver):也被称为组播组成员,是期望接收特定组播组流量的设备,例如运行多媒体直播客户端软件的PC
  • 组播组(Multicast Group):用IP组播地址进行标识的一个集合。任何用户主机(或其他接收设备),加入一个组播组,就成为了改组成员,可以识别并接收发往该组播组的组播数据
  • 组播路由器(Multicast Router):支持组播、运行组播协议的网络设备,实际上不仅仅路由器能够支持组播,交换机、防火墙等设备也能够支持组播(取决于设备型号),路由器仅是一个代表
  • 第一跳路由器(First-Hop Router):组播转发路径上,与组播源相连且负责转发该组播源发出的组播数据的PIM路由器
  • 最后一跳路由器(Last-Hop Router):组播转发路径上,与组播组成员相连且负责向该组成员转发组播数据的PIM路由器
  • IGMP(Internet Group Management Protocol,因特网组管理协议):是TCP/IP协议组中负责IP组播成员管理的协议,它用来在接收者和与其直接相邻的组播路由器之间建立、维护组播组成员关系

   

组播服务模型

  • ASM:组成员加入组播组以后,组成员可以接收到任意源发送到改组的数据
  • SSM:组成员加入组播组以后,组成员只会收到指定源发送到该组的数据

   

组播路由与RPF检查

组播数据转发的困局

组播数据转发需要依赖路由表项。但是基于目的网络的路由表在转发组播数据时存在一定问题:

  • 由于组播转发容易产生环路、次优、重复报文,所以组播路由表项除了目的网络和出接口外还需要添加组播源和入接口的信息。设备仅转发从特定唯一的入接口收到的组播数据,从而避免组播转发时产生环路、次优、重复报文(部分解决)等问题
  • 对于相同的组播源,设备通过RPF(Reverse Path Forwarding,反向路径转发)检查可以确定设备上唯一的组播流量入接口

组播路由表项包含组播源与组播组,因此有时又被称为(S,G)表项

RPF检查工作原理

组播路由器根据报文的源地址通过路由表(单播路由表、MBGP路由表或组播静态路由表)查找到达"报文源"的路由,查看到"报文源"的路由表项的出接口是否与收到组播报文的入接口一致。如果一致,则认为该组播报文从正确的接口到达,从而保证了整个转发路径的正确性和唯一性。

RPF路由选举规则

RPF路由可以从单播路由、MBGP路由、组播静态路由中选举产生。当路由器收到一份组播报文后,如果这三种路由表都存在,具体检查过程:

根据以下原则从这三条最优路由中选择一条作为RPF路由

  • 如果配置了按照最长匹配选择路由,则从这三条路由中选出最长匹配的那条路由
  • 如果这三条路由的掩码一样,则选择优先级最高的那条路由
  • 如果他们的优先级也相同,则按照组播静态路由、MBGP路由、单播路由的顺序进行选择

MBGP(Multicast BGP,组播BGP):主要用于传递组播源相关的路由条目

组播静态路由表:手工配置组播源与出接口的对应关系

   

组播分发树

组播数据转发需要保证转发路径无环、无次优路径且无重复包

通过RPF机制与组播路由协议,组播网络可以最终形成无环、无次优且无重复包的组播转发路径,该路径可以被称为组播分发树

组播分发树以组播源为根,以组成员为叶子形成转发路径,组播数据在转发时都基于组播分发树进行转发

   

   

组播数据转发流程

   

标签:组播,IP,MAC,地址,概述,转发,路由,路由表
From: https://www.cnblogs.com/hongliang888/p/16623516.html

相关文章

  • pytest系列——allure(四)之在测试用例添加描述(@allure.description())
    前言allure支持往测试报告中对测试用例添加非常详细的描述语用来描述测试用例详情;这对阅读测试报告的人来说非常的友好,可以清晰的知道每个测试用例的详情。allure添加描......
  • Javascript:设计模式-简单工厂模式
    工厂模式大体分为三类:简单工厂模式、工厂方法模式、抽象工厂模式。在我们日常的实现功能逻辑中,最基础的一种方法是这样的:有一个体育器材店,每一种类型的运动器材都有名称......
  • 【22最新可用】喜马拉雅专辑批量下载工具(专辑下载工具含VIP音频)
    喜马拉雅专辑批量下载工具是一款功能非常好用的专辑下载工具,有了这款工具,大家只需要输入专辑地址即可解析出所有的作品,并且支持一键全部或部分下载专辑中的所有内容,下载到......
  • 服务器IPMI地址及用户名密码
    HP管理口:ILO默认用户/密码:Administrator/passwordHP以前管理口登陆MP卡通过网线连接MP卡的RJ-45口,通过telnet方式登录,默认用户/密码:Admin/AdminDELL服务器管理口:idac默认账......
  • APL概述和使用步骤和Scanner概述及其API文档的使用
    APL概述和使用步骤 概述:API(ApplicationProgrammingInterface),应用程序编程接口。JavaAPl是一本程序员的字典,JDK中提供给我们使用的类的说明文档。这些类将底层的代......
  • Javascript:实现继承的几种方式
    既然要实现继承,那么首先我们得有一个父类,代码如下://定义一个动物类function Animal(name){  //属性  this.name=name|| 'Animal';  //实例......
  • Javascript:设计模式-代理模式
    例:该例为书中原例,小明(xiaoming)遇到了女神(A),打算送个花来告白,刚好小明打听到女神有个朋友叫(B),自己不太好意思,所以决定让B来送花,虽然这件事儿肯定是凉了,但是作为例子还是很......
  • typescript tsc : 无法加载文件 E:\nodejs\node_global\tsc.ps1
    1.管理员身份运行vscode2.在终端执行:get-ExecutionPolicy,显示Restricted3.在终端执行:set-ExecutionPolicyRemoteSigned4.在终端执行:get-ExecutionPolicy,显示RemoteSig......
  • mysql8.0.30zip压缩版的下载和安装
    1.首先进入官网下载地址:https://dev.mysql.com/downloads/mysql/ 2.接着选好操作系统,下载上面箭头所示的zip版本。 3.将下载好的压缩包解压出来,我的路径是:F:\mys......
  • 第十四章 垃圾回收概述
    孤独就是你的隧道阶段,你能不能把它挖通,你走过一次隧道之后,你以后面临着新的生活的黑暗区的时候,你心里就有一种力量去穿越它1.什么是垃圾垃圾是指在运行程序中没有任......