好记性不如铅笔头

编程

组播MAC和组播IP的简单笔记

本文参考
【 http://blog.csdn.net/fanlu319/article/details/7855627
【 http://blog.csdn.net/yytian/article/details/4755241

有删改。

CONTENTS

组播MAC定义

IANA规定,IPv4组播MAC地址的高24位为0x01005E,第25位为0,低23位为IPv4组播地址的低23位。IPv4组播地址与MAC地址的映射关系如下图所示。

由于IPv4组播地址的高4位是1110,代表组播标识,而低28位中只有23位被映射到IPv4组播MAC地址,这样IPv4组播地址中就有5位信息丢失。于是,就有32个IPv4组播地址映射到了同一个IPv4组播MAC地址上。

一些例子

求224.128.129.130的组播MAC:

224.128.129.130对应的二进制形式如下:

1110

0000

1000

0000

1000

0001

1000

0010

01-00-5e-00-00-00的后23位与组播IP的后23位取或,IP地址的前九位丢弃不算,即是红色部分取或

 01-00-5e-00-00-00

0000

0001

0000

0000

0101

1110

0000

0000

0000

0000

0000

0000

 224.128.129.130

1110

0000

1000

0000

1000

0001

1000

0010

 取或后的结果如下所示:

0000

0001

0000

0000

0101

1110

0000

0000

1000

0001

1000

0010

 故得出该IP下的组播MAC为01-00-5e-00-81-82

发表评论

15 + 10 =

此站点使用 Akismet 来减少垃圾评论。了解我们如何处理您的评论数据