组播MAC地址

         调试9215网卡芯片驱动时,发现当发送的数据包的第一个字节的值是奇数时可以收到数据,偶数值的数据包收不到。

         查看datasheet,发现MAC_CR寄存器中第19位MCPAS中描述了目的地址的第一位表示多播地址,然后再去查看MAC地址相关的知识,特别是多播(组播)地址的相关描述,知道了MAC地址的前24位是OUI,后24位是厂商自定义,MAC地址的第一个字节的最低位为1时表示多播(组播)地址。

        调试遇到的问题就是因为MCPAS置1,且设置了MAC,而发送的数据包是胡乱写的数,所以第一个字节的值是奇数的包被当做多播包被接收,而偶数的包被当做单播包并进行了过滤,所以未被接收。

       看了半天,最终还是不明白网卡是怎么识别组播包的,或者说,如何设置网卡,实现接收给所在组的组播包,而拒绝给其他组的组播包。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
组播MAC地址是用于标识组播数据帧的MAC地址组播是一种多播技术,它允许一组主机共享单个数据流,使得多个接收者可以同时接收相同的数据。在以太网中,组播MAC地址用于标识组播数据帧的目的地址,以便网络设备可以将这些数据帧传递给所有需要它们的接收者。 组播MAC地址的格式为:01-00-5E-XX-XX-XX,其中前24位为固定值“01-00-5E”,后23位为组播IP地址的最后23位。组播IP地址是一个特殊的IP地址,用于标识一个组播组。它的范围是224.0.0.0到239.255.255.255,其中224.0.0.0到224.0.0.255是预留的组播地址,用于协议目的,而其他的组播地址则可以用于应用程序。 在发送组播数据时,源主机会将数据帧的目的MAC地址设置为组播MAC地址,并将组播IP地址设置为IPv4数据包的目的地址或IPv6数据包的多播地址。网络设备会根据目的MAC地址来判断数据帧是否是组播数据帧,并将其传递给所有需要它们的接收者。在接收组播数据时,接收者会将接收到的数据帧与自己的组播IP地址进行比较,如果匹配则接收数据,否则丢弃数据。 需要注意的是,组播MAC地址只在以太网中使用,而其他类型的网络(如无线网络)可能使用不同的组播地址格式。此外,组播数据的传输和路由需要特殊的协议支持,如IGMP(Internet Group Management Protocol)和PIM(Protocol Independent Multicast)等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值