组网基础之深入解析二层组播

本文主要探讨二层组播的概念,包括组播MAC地址、MAC层数据帧接收过程、组播转发表以及二层组播协议如IGMP和GMRP的工作原理。通过对这些内容的深入解析,有助于理解二层组播在网络通信中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所谓二层组播,即数据帧的转发是面向二层的,根据组播MAC地址来决定数据帧的转发方向,而三层组播,即所谓的IP组播,则根据三层组播地址,即组播IP地址来进行数据帧的转发。

 

二层组播相关协议包括IGMPGMRP协议。让我们从分析组播MAC地址开始,逐步而深入的了解二层组播。

组播MAC地址

所谓组播MAC地址,是一类逻辑的MAC地址,该MAC地址代表一个组播组,所有属于该组的成员都接收以该组对应的组播MAC地址为目的地址的数据帧。

注意的是,组播MAC地址是一个逻辑的MAC地址,也就是说,在网络上,没有一个设备的MAC地址是一个组播MAC地址。组播MAC地址跟单播MAC地址(物理MAC地址)的区别是,组播MAC地址六个字节中,最高字节(第六字节)的最低位为1,而单播MAC地址则为0,如下图所示:

为了更进一步了解组播的概念,我们先从MAC层的数据帧接收过程说起。

MAC层数据帧的接收

在网卡的内部保留一张接收地址列表(可以理解为一个可读写的随机存储器),其中至少有两个MAC地址,即网卡的物理MAC地址和全1的广播MAC地址。每当计算机想接收一个组播数据,也就是说要加入一个组播组,那么上层软件会给网络层一个通知,网络层做完自己的处理后,也会发一个通知给数据链路层,于是,数据链路层根据网络层想加入的组播组的组地址(一般是一个组播的IP地址),根据一定的规则映射为一个组播的MAC地址,然后把该MAC地址加入接收地址列表。

每当数据链路层接收到一个数据帧的时候,就提取该数据帧的帧头,找出目的MAC地址,跟接收地址列表中的地址项目比较,如果在列表中遇到一个地址,跟该数据帧的目的MAC地址是相同的,就停止比较,接收该数据帧,并把该数据帧放到上层协议对应

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值