网卡MAC地址作为互联网设备在以太网中身份的唯一标识在以太网通讯中的作用比IP地址还要重要,MAC地址分成两部分,前24位是组织唯一标识符(OUI, Organizationally unique identifier),后24位由厂商自行分配。IP地址又称为逻辑地址而MAC地址就叫做物理地址,一台主机要给另一台主机发送数据只知道对方的IP地址是不可以的,比如路由器下的大部分设备的IP地址应该都是192.168.1.xxx的此时就可以看出MAC地址的作用,IP的的划分有一定的规则(A类,B类等)同样MAC地址也有对应的划分的规则不过相比IP地址的分类MAC地址的分类就很简单了。

规则:

  1. 发送的第一个字节的第一个比特如果为0则为单播地址,反之如果是1则可能会是广播或组播地址,他们的区别就是广播地址是每一个一个字节所有的BIT都是1,所以换句话说就是全为1的以太网地址为广播地址,第一个字节0xAB,的B如果为偶数则为单播地址反之如果为奇数则为组播地址。(2012-04-11)
  2. 第二个BIT表示MAC地址是全球唯一地址还是本地地址,0表示全球唯一地址,1表示本地唯一地址。这一位也叫G/L位。(2012-04-11)

举例:

如果MAC地址为00-50-BA-xx-xx-xx

第一个字节二进制表示为 0x00000000; 其中红色比特位的值就表示此MAC地址为单播地址。这里需要注意的是以太网上数据传输字节序是“Big Edian”的方式传输的,所以实际上 这里的00为MAC的6字节中最高字节,但是单字节的比特顺序是先传低位的所以在以太网上看到的数就是 0000 0000 ......;同理如果为组播或广播地址第一个bit就会是1。同时这还是一个全球唯一的MAC地址。

最后在别人博客看到这样一段话,记下来

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。
    显然有32个IP地址(有5个y可以不一样)对应一个MAC地址,所以要避免在同一网络中使用的多个组播IP地址对应一个MAC地址

最新文章

  1. 记录s标签范例
  2. ASP.NET Razor——Razor 简介
  3. unity3d Human skin real time rendering 真实模拟人皮实时渲染(转)
  4. lintcode:在二叉查找树中插入节点
  5. 如何在64位系统上安装SQL Server 2000
  6. 07_Java8新增的Lambda表达式
  7. [转]ASP.NET MVC 入门1、简介
  8. cf A. Jeff and Digits
  9. 【C++探索之旅】开宗明义+第一部分第一课:什么是C++?
  10. php bin/console doctrine:migrations:migrate
  11. Sass入门:第二章
  12. 201521123039《Java程序设计》第十三周学习总结
  13. 让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt
  14. Intellij idea常用快捷键和技巧
  15. C# 使用 log4net 记录日志
  16. python的执行过程
  17. jQuery()方法的第二个参数
  18. java.lang.System.setProperty()方法实例
  19. linux 网络和流量监控
  20. lucas定理的证明

热门文章

  1. Linux内存 free 详解
  2. 房产基于Swoole的PHP RPC框架设计
  3. The Node.js Event Loop, Timers, and process.nextTick()
  4. 用Jenkins构建Django持续集成环境
  5. UserControl和CustomControl两者区别
  6. Java多线程--两种实现方式
  7. CF1428C
  8. 洛谷P4981
  9. Spring Cloud系列之Commons - 1. 背景与基础知识准备
  10. 一块网卡配2IP地址