IPv4和IPv6组播MAC地址生成详解

IPv4组播MAC地址(不包含IPv6组播,协议使用组播等),换算公式:高24位为0X01005e,第25位为0,后23位为IPv4组播地址的低23位。Eg:224.0.1.1对应组播MAC为:01-00-5e-00-01-01

 224.   0.        1.        1

    0000 0000 0000 0001 0000 0001=01-00-5e-00-01-01

      0    0    0    1    0    1

Eg:

 239.  128.      137.      36

    1000 0000 1000 1001 0010 0100=01-00-5e-00-89-24

      8    0    8    9    2    4

 239.   64.      137.      36

    0100 0000 1000 1001 0010 0100=01-00-5e-40-89-24

      4    0    8    9    2    4

 239.   192.      137.      36

    1100 0000 1000 1001 0010 0100=01-00-5e-40-89-24

 (C)8+4    0    8    9    2    4

总结:IPv4组播地址以01-00-5e开头,第25位为0(也就是标红色部分),后面的以组播地址后23位的16进制来表示。

D类地址开头:1110 后面还有28位可变

组播IPv4MAC地址开头:01-00-5e-0 后面还有23位固定对应IP地址

28-23=5,2^5=32意味着组播IPv4地址和MAC地址的比例是32:1,也就是32个地址会对应同一个MAC

这样在二层封装的时候,可能出现相同MAC地址,但IP不通,这时就在三层丢弃

IPv6组播MAC地址(不包含IPv4,协议使用组播等),换算公式:高16位为0X3333,后32位为IPv6地址低32位。

  Eg:FF01::1111:1对应组播MAC为:3333-1111-0001

     FF1E::A1A1:1A1A:2A3B 对应组播MAC为:3333-1A1A-2A3B

总结:在IPv6组播地址中,有更多的IP使用相同的组播MAC。

你可能感兴趣的:(组播,网络)