【小菜学网络】MAC地址详解

上一小节介绍了以太网帧的结构,以及帧中各个字段的作用。参与以太网通讯的实体,由以太网地址唯一标识。以太网地址也叫做 MAC 地址,我们对它仍知之甚少。

以太网地址在不同场景,称谓也不一样,常用叫法包括这些:

  • 以太网地址
  • MAC 地址
  • 硬件地址
  • 物理地址
  • 网卡地址

网卡

在以太网中,每台主机都需要安装一个物理设备并通过网线连接到一起:

1

这个设备就是 网卡 ( NIC ),网络接口卡 ( network interface card )的简称。有些文献也将网卡称为 网络接口控制器 ( network interface controller )。

从物理的层面看,网卡负责将比特流转换成电信号发送出去; 反过来,也负责将检测到的电信号转换成比特流并接收。

从软件的层面看,发送数据时,内核协议栈负责封装以太网帧(填充 目的地址源地址类型数据 并计算 校验和),并调用网卡驱动发送; 接收数据时,负责验证 目的地址校验和 并取出数据部分,交由上层协议栈处理。

2

每块网卡出厂时,都预先分配了一个全球唯一的 MAC地址 ,并烧进硬件。 不管后来网卡身处何处,接入哪个网络,MAC 地址均不变。 当然,某些操作系统也允许修改网卡的 MAC 地址。

MAC地址

MAC 地址由 6 个字节组成( 48 位),可以唯一标识 2 48 2^{48} 248 ,即 281474976710656 个网络设备(比如网卡)。

MAC 地址 6 个字节可以划分成两部分,如下图:

3

  • 3 字节长的 厂商代码 ( OUI ),由国际组织分配给不同的网络设备商;
  • 3 字节长的 序列号 ( SN ),由厂商分配给它生产的网络设备;

厂商代码和序列号都是唯一分配,因此 MAC 地址是 全球唯一 的。

冒分十六进制表示法

MAC 地址 6 个字节如何展示呢? 是否能够作为 ASCII 来解读并显示?

恐怕不能。一个字节总共有 8 个位,而 ASCII 只定义了其中的 7 位。况且 ASCII 中定义了很多控制字符,能显示的也只有字母、数字以及一些常用符号。以上述地址为例,只有 0x5B 这个字节是可以显示的,对应着字符 [

好在,我们可以用多个可读字符来表示一个原始字节。我们将一个字节分成两部分,高 4 位以及低 4 位,每部分可以用一个十六进

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值