[编辑本段]
MAC地址(MAC Address)
MAC(Media Access Control)地址,或称为 MAC位址、硬件位址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责 IP地址,第二层资料链结层则负责 MAC位址。因此一个主机会有一个IP地址,而每个网络位置会有一个专属于它的MAC位址。
[编辑本段]
MAC(Media Access Control, 介质访问控制)MAC地址是烧录在NetworkInterfaceCard(网卡,NIC)里的.MAC地址,也叫硬件地址,是由48比特长(6字节),16进制的数字组成.0-23位叫做组织唯一标志符(organizationally unique,是识别LAN(局域网)节点的标识.24-47位是由厂家自己分配。其中第40位是组播地址标志位。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。比如,著名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(除了管这个外还管别的)(IEEE)(IEEE:电气和电子工程师协会)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。
形象的说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。
[编辑本段]
IP地址就如同一个职位,而MAC地址则好像是去应聘这个职位的人才,职位既可以让甲坐,也可以让乙坐,同样的道理一个节点的IP地址对于网卡是不做要求,基本上什么样的厂家都可以用,也就是说IP地址与MAC地址并不存在着绑定关系。本身有的计算机流动性就比较强,正如同人才可以给不同的单位干活的道理一样的,人才的流动性是比较强的。职位和人才的对应关系就有点像是IP地址与MAC地址的对应关系。比如,如果一个网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。当然MAC地址除了仅仅只有这个功能还是不够的,就拿人类社会与网络进行类比,通过类比,我们就可以发现其中的类似之处,更好地理解MAC地址的作用。无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到MAC地址上来完成的。其实人类社会和网络也是类似的,试想在人际关系网络中,甲要捎个口信给丁,就会通过乙和丙中转一下,最后由丙 转告给丁。在网络中,这个口信就好比是一个网络中的一个数据包。数据包在传送过程中会不断询问相邻节点的MAC地址,这个过程就好比是人类社会的口信传送过程。相信通过这两个例子,我们就可以进一步理解MAC地址的作用。
MAC地址的应用
平日身份证的作用并不是很大,但是到了有的关键时刻,身份证就是用来证明你的身份的。比如你要去银行提取现金,这时就要用到身份证。那么MAC地址与IP地址绑定就如同我们在日常生活中的本人携带自己的身份证去做重要事情一样的道理。有的时候,我们为了防止IP地址被盗用,就通过简单的交换机端口绑定(端口的MAC表使用静态表项),可以在每个交换机端口只连接一台主机的情况下防止修改MAC地址的盗用,如果是三层设备还可以提供:交换机端口/IP/MAC 三者的绑定,防止修改MAC的IP盗用。一般绑定MAC地址都是在交换机和路由器上配置的,是网管人员才能接触到的,对于一般电脑用户来说只要了解了绑定的作用就行了。比如你在校园网中把自己的笔记本电脑换到另外一个宿舍就无法上网了,这个就是因为MAC地址与IP地址(端口)绑定引起的。
什么是mac!!!
如果你是通过校园网或小区接入Internet,那么一定听说过MAC地址。什么是MAC地址
,MAC地址在这种局域网环境中究竟起到什么作用?下面就来介绍一下MAC地址的知识
,MAC地址和IP地址的区别以及MAC地址在实际应用中所涉及到的安全问题。
一、基础知识
如今的网络是分层来实现的,就像是搭积木一样,先设计某个特定功能的模块,
然后把模块拼起来组成整个网络。局域网也不例外,一般来说,在组网上我们使用的
是IEEE802参考模型,从下至上分为:物理层、媒体接入控制层(MAC),逻辑链路控
制层(LLC)。
标识网络中的一台计算机,一般至少有三种方法,最常用的是域名地址、IP地址
和MAC地址,分别对应应用层、网络层、物理层。网络管理一般就是在网络层针对IP
地址进行管理,但由于一台计算机的IP地址可以由用户自行设定,管理起来相对困难
,MAC地址一般不可更改,所以把IP地址同MAC地址组合到一起管理就成为常见的管理
方式。
二、什么是MAC地址
MAC地址就是在媒体接入层上使用的地址,也叫物理地址、硬件地址或链路地址
,由网络设备制造商生产时写在硬件内部。MAC地址与网络无关,也即无论将带有这
个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,都有相同的MAC地
址,它由厂商写在网卡的BIOS里。MAC地址可采用6字节(48比特)或2字节(16比特
)这两种中的任意一种。但随着局域网规模越来越大,一般都采用6字节的MAC地址。
这个48比特都有其规定的意义,前24位是由生产网卡的厂商向IEEE申请的厂商地址,
目前的价格是1000美元买一个地址块,后24位由厂商自行分配,这样的分配使得世界
上任意一个拥有48位MAC地址的网卡都有唯一的标识。另外,2字节的MAC地址不用网
卡厂商申请。
MAC地址通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:
08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制
造商的编号,它由IEEE分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个
网络产品(如网卡)的系列号。每个网络制造商必须确保它所制造的每个以太网设备
都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备
都具有唯一的MAC地址。
三、IP地址与MAC地址的区别
IP地址基于逻辑,比较灵活,不受硬件限制,也容易记忆。MAC地址在一定程度
上与硬件一致,基于物理,能够标识具体。这两种地址各有好处,使用时也因条件而
采取不同的地址。
MAC是英文Media Access Control的缩写,中文释义:媒体访问控制子层协议。该协
议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介
质。在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将
给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在
接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误
,则去掉控制信息发送至LLC层。
MAC地址是网卡的物理地址,它由48位二进制数表示。其中前面24位表示网络厂商标
识符,后24位表示序号。每个不同的网络厂商会有不同的厂商标识符,而每个厂商所
生产出来的网卡都是依序号不断变化的,所以每块网卡的MAC地址是世界上独一无二
的(特殊情况除外:如要通过修改MAC地址来通过认证时)。一般我们采用六个十六
进制数来表示一个完整的MAC地址,如00:e0:4c:01:02:85。在win98/2000下均可以通
过在MS-DOS方式下执行IPCONFIG/ALL命令得到相应的网卡的MAC地址。
/***************/
如何获得别人的Mac
其实上面已经涉及到了,如果是2000/XP用户可以用 nbtstat -A IP地址(还可以获
得别的东东啊,可别学坏啊)。另外同一局域网内的,你可以用ping IP 或者ping
主机名,然后用arp -a 来获得。
如何修改自己的Mac地址
Mac地址是保存在网卡的EPROM里面,通过网卡生产厂家提供的修改程序可以更改存储
器里的地址,即使网卡没有这样的设置我们也可以通过间接的方法修改,一般网卡发
出的包的源Mac地址并不是网卡本身写上去的,而是应用程序提供的,只是在通常的
实现中,应用程序先从网卡上得到Mac地址,每次发送的时候都用这个Mac做为源Mac
而已,Windows中,网卡的Mac保存在注册表中,实际使用也是从注册表中提取的,所
以只要修改注册表就可以简单的改变Mac
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/eshime/archive/2008/02/13/2090660.aspx
MAC地址通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它由IEEE分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号。每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的MAC地址。
我们需要注意的是以太网地址的第32位是组播地址的标志位:
位 47~33 制造厂商标识
32 组播标识位
31~24 制造厂商标识
23~0 系列号
当组播标识位为1时表示该MAC地址是一个组播地址。对于网卡MAC,这一位必须是0,表示一个单播MAC地址。以下:
X0:XX:XX:XX:XX:XX
X2:XX:XX:XX:XX:XX
X4:XX:XX:XX:XX:XX
X6:XX:XX:XX:XX:XX
X8:XX:XX:XX:XX:XX
XA:XX:XX:XX:XX:XX
XC:XX:XX:XX:XX:XX
XE:XX:XX:XX:XX:XX
为合法的以太网网卡地址。上面的X代表0-F中的任一个。如果你不是购买网卡,而是自己购买芯片制造,那么地址怎么办?可以自己使用一个还没有被ieee分配的厂商编号就可以了。就算是使用已经分配的厂商编号也没有不可,只要你能保证在你使用的局域网内,任何两个网卡的地址不一样就可以了。地址FF:FF:FF:FF:FF:FF为广播地址,只能用在目的地址段,不能作为源地址段。目的地址为广播地址的数据包,可以被一个局域网内的所有网卡接收到。
地址:
X1:XX:XX:XX:XX:XX
X3:XX:XX:XX:XX:XX
X5:XX:XX:XX:XX:XX
X7:XX:XX:XX:XX:XX
X9:XX:XX:XX:XX:XX
XB:XX:XX:XX:XX:XX
XD:XX:XX:XX:XX:XX
XF:XX:XX:XX:XX:XX
为组播地址,只能作为目的地址,不能作为源地址。组播地址可以被支持该组播地址的一组网卡接收到。组播地址主要用在视频广播,远程唤醒(通过发一个特殊的数据包使网卡产生一个中断信号,启动电脑),游戏(多个人在局域网里联机打游戏)里等。下面是一些具体的组播地址,其他组播地址跟TCP/IP无关,不做介绍:
地址 范围
01:00:5E:00:00:00 ~ 01:00:5E:7F:FF:FF 用于ip地址的组播
网卡可以接收以下3种地址的数据包:
1 目的地址跟自己的网卡地址是一样的数据包
2 目的地址为FF:FF:FF:FF:FF:FF广播地址的数据包
3 目的地址为跟自己的组播地址范围相同的数据包
那么在以太网的应用当中,如果你希望你的数据包只发给一个网卡,目的地址用对方的网卡地址;如果你想把数据包发给所有的网卡,目的地址用广播地址;如果你想把数据包发给一组网卡,目的地址用组播地址。
组播IP与组播MAC的映射
二层组播MAC定义为:01:00:5e:xx:xx:xx,其中 xx由三层的IP组播组确定。组播地址:组播流使用的 IP是D类IP地址(二进制1110开始),从224.0.0.0~239.255.255.255。由于组播MAC 地址是一个虚拟的地址,并不是真实网卡的MAC地址,那么网卡在发送报文时二层MAC 地址怎么确定呢?答案是采用地址映射的方法将三层IP地址映射到MAC地址。映射关系如下:
从上面的映射关系可以看出IP地址的五个bit 无法映射到MAC层,因为MAC层的这五个bit 已经确定。也就是说有32 个IP组播组会被映射为同一个MAC地址。
|