• 组播IP转换为组播MAC地址【转载】



    链接:https://www.zhihu.com/question/36730567/answer/83083851
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    组播IP转换为组播MAC地址是一种32:1的映射关系。
    组播IP地址:
    IANA将D类地址空间分配给IP组播地址。该空间的地址用二进制表示并且第一个八位组的前4位用1110表示,

    因此IP组播地址的范围从224.0.0.0到239.255.255.255 。

    组播MAC地址:IEEE MAC地址规定了第一个八位组的Octet 0的bit 0指明了目标地址是广播/组播地址,还是单播地址。

    如果此位被置位,那么MAC的帧即可以被定为任意的主机组(组播),也可以被定义为网络的所有主机(广播)。第2层IP组播利用此功能传送IP组播信息包到局域网段的主机组(即组播IP到组播MAC的映射)。

    以太网组播MAC地址映射:
    就以太网而言,IP组播帧都使用以0x0100.5Exx.xxxx的24位前缀开始MAC层地址。剩下24位地址由于某些原因只有这些MAC地址的一半(即后23位)可以被IP组播使用。因剩下的MAC地址空间的23位作为第3层IP组播地址进入第2层MAC地址的映射使用。因为所以的第3层IP组播地址必须把32位的前4位设成0x1110,剩下28位作为有意义的IP组播地址信息。这28位必须映射成可用的只有23位的MAC地址。
    因为第3层IP组播地址信息的全部28位不能映射进入只有23位可用的MAC地址空间,所以在映射过程中丢失了5位地址信息。将导致第3层IP地址映射成第2层IEEE MAC地址时2^5或32个IP组播地址映射成同一个组播MAC地址。这意味着每一个IEEE IP组播MAC地址能表示32个IP组播地址。

    -------------------------------------------------------------------
    以上内容摘抄自《IP组播网络设计开发(第1卷)》Beau Williamson著
  • 相关阅读:
    简单使用GDB
    【老人孟岩经验谈】如何学习一本新的编程语言
    【做存档】如何争取到真正有用的人脉?
    回头来看C语言里的static
    Spring MVC 教程,快速入门,深入分析[1220]
    eclipse ibabis代码生成插件abator功能扩展
    在MyEclipse中配置Tomcat服务器
    将远程调试的控制台信息输出至Eclipse
    LOG4J.PROPERTIES配置详解
    java Map 怎么遍历
  • 原文地址:https://www.cnblogs.com/listenerln/p/6837330.html
Copyright © 2020-2023  润新知