组播IP 映射 组播MAC

组播IP地址与组播MAC地址之间的换算方法与例子

1、在IP分类中,D类IP地址用于组播MAC。
2、在TCP/IP中,最常用的v4组播MAC地址的前24位固定为01005e,第25位固定为0,后23位由IP地址的后23位复制得出。
3、在D类组播IP中有5位未用,也就是说组播IP和组播MAC的映射并不唯一,
4、每一个组播MAC最多可映射对应32个组播IP。
5、备注:映射涉及到2进制和16进制之间的转换:4位2进制对应一位16进制:000000001(二进制)——>01(16进制)

组播ip(十进制):224.0.0.0–239.255.255.255
组播ip(二进制):11100000.00000000.00000000.00000000----111011111.111111111.111111111.11111111

组播mac(二进制):00000001.00000000.01011110+0+组播ip后23位(二进制)
组播mac(十六进制):01-00-5e+【(0+组播ip后23位)映射16进制】

可用组播范围:0100.5E00.0000----0100.5E07.FFFF
MAC由48bit组成:前24位是OUI ,后24位由厂商定义
组播IP和组播MAC的映射示意图如下:
在这里插入图片描述

方法一

最笨的方法,也是最安全的方法,就是把组播IP地址,换成二进制数。再把二进制换成16进制,第1个8位(从左往右看)不用,因为有组播MAC的限制已经规定是0100.5E开头,组播IP地址第2个8位中的第1位规定为0(从左往右看).所以当不为0时,要改成0来换算。

Example:

源IP 224.1.1.1

换算成二进制 11100000.00000001.00000001.00000001

再换成16进制 01 .01 .01

加上组播MAC头 —— 0100.5E

最后形成组播MAC—— 0100.5E01.01.01

可用的其它31个组播IP地址:

224.129.1.1

225.1.1.1; 225.129.1.1

226.1.1.1 ;226.129.1.1

227.1.1.1 ;227.129.1.1

228.1.1.1 ;228.129.1.1

229.1.1.1 ; 229.129.1.1

230.1.1.1 ;230.129.1.1

231.1.1.1 ;231.129.1.1

232.1.1.1 ;232.129.1.1

233.1.1.1 ;233.129.1.1

234.1.1.1 ;234.129.1.1

235.1.1.1 ;235.129.1.1

236.1.1.1 ;236.129.1.1

237.1.1.1 ; 237.129.1.1

238.1.1.1 ;238.129.1.1

239.1.1.1 ;239.129.1.1

加上:224.1.1.1 刚好32个。

源IP 224.132.1.1

换算成二进制 : 11100000.10000100.00000001.00000001

取组播ip后23位 : 11100000.1{0000100.00000001.00000001}
将第24位为0 11100000.{0}0000100.00000001.00000001

再换成16进制 04 .01 .01

组播mac(二进制):00000001.00000000.01011110+0+组播ip后23位(二进制)
即:00000001.00000000.01011110.{+0+0000100.00000001.00000001}
即:00000001.00000000.01011110.00000100.00000001.00000001

组播mac(十六进制):01-00-5e+【04.01.01】
最后形成: 0100.5e04.01.01

可用的其它31个组播IP地址:

224.4.1.1

225.4.1.1 -225.132.1.1

226.4.1.1 -226.132.1.1

227.4.1.1- 227.132.1.1

228.4.1.1 -228.132.1.1

229.4.1.1- 229.132.1.1

230.4.1.1 -230.132.1.1

231.4.1.1 -231.132.1.1

232.4.1.1 -232.132.1.1

233.4.1.1 -233.132.1.1

234.4.1.1 -234.132.1.1

235.4.1.1 -235.132.1.1

236.4.1.1 -236.132.1.1

237.4.1.1 -237.132.1.1

238.4.1.1 -238.132.1.1

239.4.1.1- 239.132.1.1

加上224.132.1.1,刚好32个。

另一种方法是:如果给的IP地址第1、2、3位都大于128,可以用128除以16(因为可用IP是28位,可用MAC是23位,剩5位可变,2的4次方是16),得出来的商换成16进制是MAC的左位,得出来的余数换成16进制是MAC的右位。第4组8位不看,因为是规定是0100.5E开头。

第3组第8位必需为0.当为1时,要去掉换成0.

Example:

源IP : 224.215.145.230

转成二进制:11100000.11010111.10010001.11101000

除16: 215/16商:13,余:7 . 145/16商:9,余:1 . 230/16商:14,余:6

换成(16进制): D7 . 91. E6

第24位为0 57.91.E6

加上组播MAC头 0100.5E

形成: 0100.5E57.91.E6

可用的其它31们组播IP地址:

224.87.145.230

225.87.145.230 225.215.145.230

225.87.145.230 225.215.145.230

226.87.145.230 226.215.145.230

227.87.145.230 227.215.145.230

228.87.145.230 228.215.145.230

229.87.145.230 229.215.145.230

230.87.145.230 230.215.145.230

231.87.145.230 231.215.145.230

232.87.145.230 232.215.145.230

233.87.145.230 233.215.145.230

234.87.145.230 234.215.145.230

235.87.145.230 235.215.145.230

236.87.145.230 236.215.145.230

237.87.145.230 237.215.145.230

238.87.145.230 238.215.145.230

239.87.145.230 239.215.145.230

加上224.215.145.230.刚好32个。

计算剩于其它的可用组播IP方法:

刚第三位大于128时,要减去128

当第三位小于128时,要加上128

这样从224-239每一组里有两个地址,刚好32个。

猜你喜欢

转载自blog.csdn.net/weixin_44081384/article/details/129444241