雏鹰部落

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7236|回复: 4

[讨论/求助] 如何计算IP组播MAC地址对应IP地址

[复制链接]
发表于 2010-7-17 17:00:50 | 显示全部楼层 |阅读模式
假设有组播地址为: 239.255.128.1   组播mac地址  0100:5e00:0000~0100:5e7f:ffff范围。

计算得出 239.255.128.1 的组播MAC为:1110 1111,11111111,10000000,00000001 加上0100:5e开头。
      
                                                       0100:5e7f:8001


重点在这,32个IP地址如何映射到一个MAC组播地址


224.255.128.1~239.255.128.1  16个IP地址

还有16个 要如何得出呢?

请各位大侠给些指点,谢谢。
                                                      
发表于 2010-7-18 11:13:24 | 显示全部楼层
本帖最后由 stream 于 2010-7-18 11:16 编辑

2层的MAC地址是如何与3层的IP地址进行映射的呢?
通过将MAC地址的前25位强行规定位0100.5e,而后23位对应IP地址的后23位,而组播IP地址的前4位均相同如:
       IP地址: 1110yyyy.yxxxxxxx.xxxxxxx.xxxxxxxx
       MAC地址: 00000001.00000000.01011110.0xxxxxxx.xxxxxxx.xxxxxxxx
      
例如:组播IP地址224.215.145.230应该映射到下列哪个组播MAC地址?( )
     (A)  01-00-5e-57-91-e6   (B)  01-00-5e-d7-91-e6
   (C)  01-00-5e-5b-91-e6   (D)  01-00-5e-55-91-e6
       用二进制来换算,将215.145.230换算成1101,0111,1001,0001,1110,0110,取最后23位放到MAC地址中的23位可以计算得出答案是A。
        因为对于组播IP地址来说,取后23位映射,显然有32个IP地址(有5个y可以不一样)对应1个MAC地址,所以要避免在同一网络中使用的多个组播IP地址对应一个MAC地址。
发表于 2010-7-18 11:17:23 | 显示全部楼层
从网上摘过来滴,LZ参考下
例子不错~~
 楼主| 发表于 2010-7-18 16:03:07 | 显示全部楼层
谢谢 这位 stream

你给了我思路,让我茅塞顿开! 关键是看IP位被去掉的那个0位。[em9]
发表于 2011-8-13 23:47:36 | 显示全部楼层
239.255.128.1  
【这个换算成二进制】为
11101111.11111111.10000000.00000001
【往后取 23位】为
01111111.10000000.00000001
【组播mac】
01005e开头,换算成二进制 00000001.00000000.01011110.
【填充2进制32位】

00000001.00000000.01011110.01111111.10000000.00000001

【转换成16进制】
0100.5E7F.8001---应该就是这个了,如果我没有算错的话。-
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|熊猫同学技术论坛|小黑屋| 网络工程师论坛 ( 沪ICP备09076391 )

GMT+8, 2024-11-23 04:53 , Processed in 0.076544 second(s), 18 queries , Gzip On.

快速回复 返回顶部 返回列表