一、 MAC层中的硬件地址
-
硬件地址又叫物理地址,mac地址(因为在mac帧中)
-
IEEE 802标准 为局域网规定了一种
48位二进制数
的全球地址
是指:局域网上的每一台计算机固化在适配器的ROM中的地址
这个 48 位的二进制数地址是全球唯一的
若局域网中的主机或路由器安装了多个适配器
,那么这样的主机或路由器就有多个地址
-
以太网mac帧 中有 mac地址字段,mac地址字段可采用 6字节(48bit)或 2字节(16bit)中的一种
6字节 mac地址 是全球唯一的,使全世界所有的局域网适配器都具有不相同的地址,现在的局域网适配器实际上使用的都是 6字节mac地址 -
mac地址 由 IEEE的注册管理机构出售,生产适配器的厂家来购买
在生产适配器时,6字节的 MAC 地址就已经被固化在适配器的 ROM 中
mac 地址可以说是适配器地址 / 适配器标识符
当这块适配器插入(或嵌入)某台计算机,适配器的 mac地址 就成了 计算机的mac地址 -
适配器的过滤功能
适配器从网络上每收到一个mac帧就先用硬件检查mac帧中的目的mac地址
:
若是发往本站的帧就收下
否则直接丢弃,不做其它处理(如此不浪费主机的 cpu 和 内存 资源) -
以太网上某个站能接收到的三种帧
1、单播帧
:一对一,收到的帧的mac地址与本站的mac地址相同
2、广播帧
:一对全体,发送给本局域网上所有站点的帧(目的mac字段全1即可)
3、多播帧
:一对多,发送给本局域网上一部分站点的帧 -
所有的适配器至少能识别 前两种帧:单播地址、广播地址(全1)
有的适配器可以通过编程方法识别多播地址,当OS启动,就初始化适配器。
只有目的地址才能使用 广播地址和多播地址 -
适配器的混杂工作方式
普通模式下适配器只接收目标mac地址与自身mac相符合的帧,其他的丢弃
混杂方式下:适配器会接受下以太网上传输的所有帧
混杂方式可能被黑客用来窃听,一般用来监视和分析以太网上的流量
二、mac帧的格式
-
以太网mac帧的格式主要有两种标准:
1、DIX Etherne V2 (最常用的,就介绍它)
2、IEEE 标准 -
DIX Ethernet V2 以太网 mac帧格式
由 前8个字节 + 五个字段 组成:
前8个字节
是用来进行同步的帧前同步码
前两个六字节字段
分别是目的地址和源地址字段
第三个字段
是两字节的类型字段:用来表示上一层使用的是什么协议以便把收到的mac帧的数据上交给上一层的这个协议。
第四个字段
是数据字段,长度 46 到 1500 字节之间(64-6-6-2-4,MTU,小于 46 时 mac子层会自动在数据字段后面加上一个整数字节的填充字段),接收端在收到此帧后将首部和尾部去除,将数据段和填充字段上交IP层,IP数据报首部中有一个总长度字段,依此去除填充字段
第五个字段
是帧检验序列FCS(使用CRC检验)
-
如何判断一个以太网帧的结束
由上面的帧格式,没有帧结束字段,首部中无帧长度字段
但是使用曼彻斯特编码的每一个码元中间都有一次电压的转换。
当发送方把一个以太网帧发送完毕,就不再发送其它码元了(不发送1不发送0),如此发送方适配器的接口上的电压也就不再变化了,接收方也由此确定以太网帧的结束位置 -
无效的mac帧
1、帧长不是整数个字节
2、收到的帧检验序列FCS出错
3、收到的mac帧的数据字段长度不在 46 ~ 1500 字节之间
(检查出无效的mac帧只丢弃处理,以太网不负责重传已丢弃的帧)