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

 

1oui 2 24方个MAC地址

 

组播地址 228次方,224.0.0.0-239.255.255.255

可用组播范围:0100.5E00.0000----0100.5E07.FFFF

 

MAC48bit组成:24位是OUI  ,后24位由厂商定义

 

共需要:16OUI才可以与一个IP来一一对应。

                  32IP才可以与一个oui来一一对应

 

典故:Dr.Steve Deering此人研究出来的,当时因为分他的OUI是(0100.5E   0)所以这7个不变。

 

 

 

算法:

最笨的方法,也是最安全的方法,就是把IP地址,换成二进制数。再把二进制换成16进制,第48位,不用,因为有组播MAC的限制已经规定是0100.5E开头,

38位中的第8位规定为0.所以当不为0时,要改成0来换算。

 

Example:

IP                                    224.1.1.1           

换算成二进制         11100000.00000001.00000001.00000001

再换成16进制                             01             .01              .01               

加上组播MAC      0100.5E 

最后形成:               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

24位为0                   11100000.00000100.00000001.00000001

再换成16进制                                 04            .01               .01                                                                                           

加上组播MAC      0100.5E

最后形成:               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地址第123位都大于128,可以用128除以16(因为可用IP28位,可用MAC23位,剩5位可变,24次方是16),得出来的商换成16进制是MAC的左位,得出来的余数换成16进制是MAC的右位。第48位不看,因为是规定是0100.5E开头。

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

Example:

IP                             224.215.145.230

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

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

 

 

 

哪里不对,请多指教 !

你可能感兴趣的:(网络基础)