• 组播基本概念讲解


    目录

    单播、广播、组播的区别

    组播网络

    组播网络设备

    有线组播网络架构

    无线组播网络架构

    组播IP地址

    组播模型——2种模型

    组播IP报文

    组播IP与MAC映射规则

    组播MAC与单播MAC区分


    单播、广播、组播的区别

    单播:一对一。   源发送一份单播报文,只能被单个主机接收

    广播:一对所有。 源发送一份广播报文,所有主机都接收

    组播:一对多。   源发送一份组播报文,可以被多个主机接收

    组播还支持多到一、多到多

    目前组播主要应用域IPTV、多媒体会议等网络业务中

    以下介绍主要是“一对多”的场景


    组播网络

    组播网络设备

    组播源:向组播组发送组播报文

    组播路由器:运行组播路由协议,创建、维护组播表并转发组播数据

    接收端:通过加入组播组,接收组播组发送的组播报文

    每个组播地址就是一个组播组

    有线组播网络架构

    组播源到组播路由器      

            组播路由器运行组播路由协议(PIM、DVMRP、MOSPF、MSDP、MVPN等)

    组播路由器到组播路由器  

            组播路由器运行组播路由协议(PIM、DVMRP、MOSPF、MSDP、MVPN等)

    组播路由器到接收端      

            组播路由器运行组播路由协议(IGMP)、组播路由器运行组播路由协议

    无线组播网络架构

    • AP和AC相对于组播数据为二层设备;即AP和AC对组播数据进行泛洪
    • 在终端的网关设备运行IGMP,网关到组播源之间的三层设备PIM组播路由协议,实现组播数据转发
    • 网关到终端之间的二层设备运行IGMP Snooping协议,防止组播泛洪

    注意事项:如果流量需要经过AC,则可以在AC上有选择的开启IGMP Snooping

    如果组播源和组成员在同一个子网,则组播源和组成员之间的设备不需要运行IGMP协议和PIM协议;不过可以根据需要在组播源和组成员之间的设备上运行IGMP Snooping协议

    无线组播配置时需要确认以下信息

    1、无线的数据转发方式(集中、本地)

    2、组播源和组成员之间的网络是二层还是三层

    3、是否在有线、无线设备开启IGMP Snooping(如果开启需要查看是否有对应表项)

    4、是否在有线、无线设备开启无线组播功能

    组播IP地址

    组播IP地址的作用

    1. 标识某一个组播应用/业务(组播源)
    2. 代表接收此组播业务的所有主机(接收端)

    组播地址为D类地址,范围是224.0.0.1~239.255.255.255

    范围含义
    224.0.0.0~224.0.0.255为路由协议预留的永久的组播地址
    224.0.1.0~231.255.255.255
    233.0.0.0~238.255.255.255
    ASM临时组播组地址
    232.0.0.0~232.255.255.255SSM临时组播地址
    239.0.0.0~239.255.255.255本地管理的ASM临时组播组地址

    永久组播地址:

    所代表的含义已固定,不可更改。

    供路由协议、拓扑查找等使用,不用于组播转发。

    部分永久组播地址所代表的含义
     224.0.0.1所有节点 (包含路由器以及主机)
     224.0.0.2所有路由器
     224.0.0.5OSPF
     224.0.0.6OSPF(DRother发送给DR)
     224.0.0.9RIP
     224.0.0.13PIM
     224.0.0.18VRRP
     224.0.0.22IGMPV3

    临时组播地址:

    组播地址可以被重复使用。

    即当一个地址被应用于某个应用时,当此应用关闭不再使用时,此地址就可以被回收,可以被再次应用到其它应用中

    本地管理地址:

    仅在本地管理域内有效。

    在不同的管理域内重复使用相同的本地管理组地址不会导致冲突

    组播模型——2种模型

    ASM 任意源组播地址

    1. 接收端只能选择加入的组播组地址,而无法选择组播源地址
    2. 通过不同的组播地址来区分不同的组播业务,组播地址利用率不高
    3. 接收端不需要维护组播源的信息

    例如:

    可以选择加入组播地址224.0.0.1,无法指定组播源地址

                         组播地址224.0.0.2

    SSM  指定源组播地址

    1. 接受端可以选择加入的组播组地址,也可以选择加入的组播源地址
    2. 不同的组播源可以使用相同的组播地址提供不同的组播服务,提高了组播利用率
    3. 接受端需要维护组播源与组播组的对应关系

    例如:

    可以选择加入组播地址232.0.0.1 组播源地址1.1.1.1

    组播地址232.0.0.1 组播源地址1.1.1.2

    组播地址232.0.0.2 组播源地址1.1.1.1

    选用ASM还是SSM模型取决于客户端的能力(看客户端是否具有指定组播源的能力)

    组播IP报文

    DIP     组播IP地址。由组播业务/应用事先确定好

    SIP     单播IP地址。 发送该组播报文的主机的IP地址

    SMAC   发送该组播报文的主机的MAC地址

    DMC    由DIP(组播IP地址)自动映射而来

    组播IP与MAC映射规则

    组播IP地址的后23bit就为MAC地址的后23bit

    MAC地址剩余的25bit:前24bit固定为01-00-5e,第25bit为0

    例如:

    存在的问题:

    由于组播IP地址32bit,其中前4bit固定,后23bit映射,所以中间5bit在映射为MAC时会丢失。这样就会导致32个组播IP地址会共享一个组播MAC

    例如:224.1.1.10和225.1.1.10的组播MAC是一致的

    如何解决:

    在进行组播地址规划时保证后23bit不冲突


    组播MAC与单播MAC区分

    上述讲的01-00-5e开头的组播MAC地址只是针对于部分组播IP地址而言的,是为组播IP地址做映射而划分出来的一段组播地址。

    例如:ISIS发送报文是通过组播发送的,而其目的MAC为0180开头的,非01-00-5e

    所以不是所有的组播MAC都是01-00-5e开头,但是所有的组播地址第1字节的最后1位都为1

  • 相关阅读:
    Redis篇---第五篇
    【转】多台服务器共享session问题
    代码随想录算法训练营day34
    Java 8 中Stream流的一些用法
    力扣572 另一棵树的子树
    读《凤凰架构》- RPC的历史与知识
    教你用Perl实现Smgp协议
    什么是句柄、什么是自上而下、自下而上分析—编译原理
    iwebsec靶场 SQL注入漏洞通关笔记11-16进制编码绕过
    基于nginx开发下的OpenResty开发指南构建百万级别并发的Web应用
  • 原文地址:https://blog.csdn.net/m0_49864110/article/details/126653429