Mac地址是每张网卡的唯一标识符,也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时烧在网卡的ROM中,可以修改。现在的Mac地址一般都采用6字节48bit(还有2字节16bit的Mac地址,多在局域网中使用),前3字节由各个企业向IEEE的RA机构购买,后3个字节由企业自己决定。

IEEE规定地址字段的第一字节的最低位为I/G比特,I/G表示Individual/Group。当I/G比特为0时,地址字段表示一个单播地址。当I/G比特为1的时候表示组地址,用来表示多播。因此,IEEE只分配地址字段的前3各字节中的23bit,当I/G比特分别为0和1时,一个地址块可以分别生成2^24个单个站地址和组播地址。但是IEEE制订的二进制EUI-48地址就有两种不同的记法(假设第一个字节为10000000):

802.5和802.6采用的标准,这种记法将最高位写在最左边,则I/G位为1。

802.3和802.4采用的标准。这种记法将每一个字节的高比特位写在最右边,I/G位为0

考虑到并不是所有的厂商都愿意购买机构唯一标志符,因此,IEEE将地址字段的第一字节的最低第2位规定成为G/L比特(Global/Local),G表示这个地址为全球管理,字段值为1,L表示为本地管理,这时用户可以任意分配网络上的地址。

但是应当指出的是,以太网几乎不使用G/L比特。

Linux下的修改Mac:

/sbin/ifconfig eth0 down            #关闭网卡
/sbin/ifconfig eth0 hw ether 00 AA BB CC DD EE        #设置Mac 2c:d2:3g:03:ab:0b
/sbin/ifconfig eth0 up            #启动网卡,重启后并没有修改成功

参考

《计算机网络》        6edition    谢希仁
http://blog.csdn.net/starshift/article/details/1613398
http://yanlong130.blog.163.com/blog/static/3754584320079141404794/

Mac地址的更多相关文章

  1. Java获取本机的IP与MAC地址

    有些机器有许多虚拟的网卡,获取IP地址时会出现一些意外,所以需要一些验证: // 获取mac地址 public static String getMacAddress() { try { Enumer ...

  2. C#/VB.NET 获取电脑属性(硬盘ID、硬盘容量、Cpu序列号、MAC地址、系统类型)

    在开发过程中,经常需要获取电脑的一些属性,如获取硬盘ID/CPU序列号/MAC地址作为来加密字符串. 1.硬盘 在我查看网上一些文档时,发现很多人对硬盘序列号很模糊~ 什么叫硬盘序列号?指的是作为一个 ...

  3. (转载)详解网络传输中的三张表,MAC地址表、ARP缓存表以及路由表

    郑重声明:原文转载于http://dengqi.blog.51cto.com/5685776/1223132 向好文章致敬!!! 一:MAC地址表详解 说到MAC地址表,就不得不说一下交换机的工作原理 ...

  4. 手机电脑Mac地址修改方法

    1.什么是Mac地址? MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址.硬件地址,用来定义网络设备的位置.在O ...

  5. Web获取客户端物理MAC地址(ocx插件)

    主要是通过ActiveX控件 从本地获取到MAC地址,传入到浏览器打开的网页中,再提交到服务器. 具体详解与步骤看文档中: 文件实例包下载 DotNetFX 文件夹附件文件:(可能安装时需用) dot ...

  6. php获取网卡MAC地址源码

    <?php /** 获取网卡的MAC地址原码:目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetMacAddr{ var $return_array = ...

  7. 路由转发过程的IP及MAC地址变化

    A-----(B1-B2)-----(C1-C2)-------E就假设拓扑图是这个样子吧,B1和B2是路由器B上的两个接口,C1和C2是路由器C上的两个接口,A和E是PC,由主机A向主机E发送数据包 ...

  8. C#获得MAC地址(网卡序列号)代码

    代码如下: //获得网卡序列号 //MAc地址 http://www.cnblogs.com/sosoft/ public string GetMoAddress() { string MoAddre ...

  9. java支持跨平台获取cpuid、主板id、硬盘id、mac地址 (兼容windows、Linux)

    windows: package cn.net.comsys.helper.system.info;   import java.io.BufferedReader; import java.io.F ...

随机推荐

  1. 给织梦添加英文栏目标题在chanel标签中调用

    网上很多添加英文栏目标题的方法,大家自己去百度一下就好,但是修改之后在chanel标签中是调用不了的,那么解决办法如下: 想要在channel 中使用,例如: {dede:channel type=' ...

  2. Android Studio导入项目遇到的问题

    [ Failed to resolve: com.afollestad:material-dialogs:0.7.5.5] 解决办法: 1.打开app目录下的build.gradle文件,然后在and ...

  3. Python3 Socket网络编程

    Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯. socket起源于UNIX,在 ...

  4. div自适应高度

    div自适应高度 Div即父容器不根据内容自适应高度,我们看下面的代码: <div id="main"> <div id="content"& ...

  5. java学习笔记之线程1

    1.线程的概念 线程是系统中最小的执行单元,同一进程有多个线程,多个线程共享进程的资源. 线程调用yield()方法使线程从运行状态转入可运行状态,让出资源: 线程调用sleep()方法使线程由运行状 ...

  6. iOS PhotoKit框架如何获取视频文件大小

    // 获取相册中的资源[group enumerateAssetsWithOptions:NSEnumerationReverse usingBlock:^(ALAsset *result, NSUI ...

  7. 二叉排序树(BST)创建,删除,查找操作

    binary search tree,中文翻译为二叉搜索树.二叉查找树或者二叉排序树.简称为BST 一:二叉搜索树的定义 他的定义与树的定义是类似的,也是一个递归的定义: 1.要么是一棵空树 2.如果 ...

  8. Css3阴影实例

    阴影大约从CSS2就开始有了,但是只有Safari一个浏览器支持它,到现在依然是这样.阴影在CSS3中可以应用在边框和文字上,就像图片的阴影效果一样.一般可以分为: box-shadow textsh ...

  9. CSS的选择器

    <div id="demo"> <div class="inner"> <p><a href="#" ...

  10. iOS and JAVA 的 RSA 加密解密 (转载整理 )

    参考原文地址:http://www.cnblogs.com/makemelike/articles/3802518.html (至于RSA的基本原理,大家可以看 阮一峰的网络日志 的 RSA算法原理( ...