@[TOC]
MAC地址
全世界的每块网卡在出厂前都有一个唯一的代码,称为介质访问控制(MAC)地址
一.网络适配器(网卡)
- 要将计算机连接到以太网,需要使用相应的网络适配器(Adapter),网络适配器一般简称为“网卡”。
- 在计算机内部,网卡与CPU之间的通信,一般是通过计算机主板上的IO总线以并行传输方式进行。
- 网卡与外部以太网(局域网)之间的通信,一般是通过传输媒体(同轴电缆、双绞线电缆、光纤)以串行方式进行的。
- 网卡除要
实现物理层和数据链路层
功能,其另外一个重要功能就是要进行并行传输和串行传输的转换
。由于网络的传输速率和计算机内部总线上的传输速率并不相同,因此在网卡的核心芯片中都会包含用于缓存数据的存储器。 - 在确保网卡硬件正确的情况下,为了使网卡正常工作,还必须要在计算机的操作系统中为网卡安装相应的设备驱动程序。驱动程序负责驱动网卡发送和接收帧。
二.MAC地址
每块网卡中的MAC地址称为物理地址,MAC地址长6字节,一般由连字符(或冒号)分隔的12个十六进制数表示,如02-60-8c-e4-b1-21.高24位为厂商代码,低24位为厂商自行分配的网卡序列号.
MAC地址发送顺序
- 字节发送顺序:第一字节----------------->第6字节
- 字节内的比特发送顺序: b0------------->b7
补充
:
- MAC地址一般被固化在网卡的电可擦可编程只读存储器EEPROM中,因此MAC地址也被称为硬件地址.
- MAC地址有时也被称为物理地址。
- 注意:不要被物理地址中的“物理”二字误导,误认为物理地址属于网络体系结构中物理层的范畴。物理地址属于数据链路层范畴。
MAC地址与网卡
- 一般情况下,普通用户计算机中往往会包含两块网卡:一块是用于接入有线局域网的以太网卡
- 另一块是用于接入无线局域网的Wi-Fi网卡每块网卡都有一个全球唯一的MAC地址。
- 交换机和路由器往往具有更多的网络接口,所以会拥有更多的MAC地址。
综上所述,严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。
以太网的MAC帧
引入
:
由于总线上使用的是广播信道,因此网卡在网络
上每收到一个MAC帧,首先要用硬件检查MAC帧中的MAC地址.如果是发往本栈的帧,那么就收下,否则就丢弃.
当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识,即一个数据链路层地址。
以太网MAC帧有2种格式:V2标准和IEEE802.3标准,下面讲解以V2标准
1.插入8B
前导码:使接收端和发送端的时钟同步,在帧前面插入8字节再分为两个字段:
第一个字段共7字节,是前同步码,用来快速实现MAC帧的比特同步;
第二个字段是帧开始定界符,表示后面的信息就是MAC帧
2.目的地址和源地址
都是6B
,就是网卡的MAC地址
3.类型:2B
,指出数据域中携带的数据应交给哪个协议实体处理.
4.数据:46B-1500B
包含高层的协议消息(看图IP数据报)46B
:CSMA/CD算法的限制,以太网帧长最短是64B,数据较少时必须填充
,填充0-46B,
64-18=461500B
:规定
5.校验码(FCS):4B
,校验范围从目的地址到数据段的末尾,算法采用32位CRC,注意不检验前导码.
接收方可能收到的无效MAC帧包括以下几种:
- MAC帧的长度不是整数个字节
- 通过MAC帧的FCS字段的值检测出帧有误码
- MAC帧的长度不在64~1518字节之间
-接收方收到无效的MAC帧时,就简单将其丢弃,以太网的数据链路层没有重传机制。
- 网卡从网络上每收到一个无误码的帧,就检查帧首部中的目的MAC地址,按以下情况处理:
- (1)如果目的MAC地址是广播地址(FF-FF-FF-FF-FF-FF),则接受该帧。
- (2)如果目的MAC地址与网卡上固化的全球单播MAC地址相同,则接受该帧
- (3)如果目的MAC地址是网卡支持的多播地址,则接受该帧。
- (4)除上述(1)、(2)和(3)情况外,丢弃该帧。
- 网卡还可被设置为一种特殊的工作方式:混杂方式(Promiscuous Mode)。工作在混杂方式的网卡,只要收到共享媒体上传来的帧就会收下,而不管帧的目的MAC地址是什么。
- 对于网络维护和管理人员,这种方式可以监视和分析局域网上的流量,以便找出提高网络性能的具体措施。
- 嗅探器(Sniffer)就是一种工作在混杂方式的网卡,再配合相应的工具软件(WireShark),就可以作为一种非常有用的网络工具来学习和分析网络。
- 混杂方式就像一把“双刃剑”,黑客常利用这种方式非法获取网络用户的口令。