Files
My-Notes/笔记/网络工程/01_二层交换技术/MAC_ARP.md
T

3.3 KiB

MAC 与 ARP

MAC

MAC 一般指 MAC 地址,不是我们平时说的一种独立协议。

MAC 地址的主要作用是:

  • 在二层网络中唯一标识网卡或接口
  • 让交换机能够根据目的 MAC 地址进行转发

常见特点:

  • MAC 地址长度为 48 位,通常写成 12 个十六进制数
  • 前 24 位一般表示厂商标识,后 24 位一般由厂商分配
  • 二层交换机维护 MAC 地址表,记录“某个 MAC 地址对应哪个接口”

交换机转发数据帧时的大致过程:

  1. 先学习源 MAC 地址,并记录进入接口
  2. 查看目的 MAC 地址是否在 MAC 地址表中
  3. 如果表中有记录,就从对应接口转发
  4. 如果表中没有记录,就进行泛洪

ARP

ARP 是 地址解析协议,作用是把 IP 地址解析为 MAC 地址

ARP 的核心用途:

  • 主机已知目标 IP 地址,但不知道目标 MAC 地址时,先通过 ARP 查询
  • 查询到 MAC 地址后,再封装二层帧并发送数据

要注意:

  • ARP 不是“基于 MAC 的协议”,而是“根据 IP 找 MAC 的协议”
  • ARP 不是用来路由的
  • 二层交换机转发主要看 MAC 地址表
  • 主机或三层设备在发送数据前,往往先通过 ARP 表 找到下一跳或目标主机的 MAC 地址

ARP 工作过程大致如下:

  1. 主机先查看本地 ARP 表中有没有目标 IP 对应的 MAC
  2. 如果没有,就发送 ARP Request 广播
  3. 目标主机收到后,返回 ARP Reply 单播
  4. 发送方学到对方的 MAC 地址,并写入 ARP 表
  5. 后续数据通信就可以正常封装并发送

MAC 地址表与 ARP 表的区别

MAC 地址表:

  • 维护设备:二层交换机
  • 作用:记录 MAC 地址与接口的对应关系
  • 用途:决定二层帧从哪个端口转发

ARP 表:

  • 维护设备:主机、路由器、三层交换机
  • 作用:记录 IP 地址与 MAC 地址的对应关系
  • 用途:发送数据前完成二层封装

一句话理解

  • MAC 地址表解决“帧往哪一个接口走”
  • ARP 表解决“这个 IP 对应哪个 MAC”

常见问题

1. 为什么同网段通信需要 ARP

因为发送方虽然知道对方 IP,但真正发二层数据帧时,还需要知道对方的 MAC 地址。

2. 为什么跨网段通信也会用到 ARP

因为主机把数据交给网关时,实际封装的是 网关接口的 MAC 地址,所以仍然要先解析网关的 MAC。

3. ARP 广播会不会很多

会。ARP 请求是广播报文,所以网络里主机很多时,ARP 广播也会增多。

常见厂商命令

华为

查看 MAC 地址表:

display mac-address

查看 ARP 表:

display arp

查看接口简要信息:

display interface brief

查看某个 VLAN 的 MAC 学习情况:

display mac-address vlan 10

思科 Cisco

查看 MAC 地址表:

show mac address-table

查看 ARP 表:

show arp

或:

show ip arp

查看接口状态:

show ip interface brief

复习时容易写错的点

  • MAC 地址不是“身份协议”,更准确地说是二层地址
  • ARP 不是“绑定设备 IP 与 MAC 方便二层交换时的路由”,更准确地说是“把 IP 解析为 MAC,方便后续二层封装与转发”
  • 交换机转发数据帧主要依据 MAC 地址表,不是 ARP 表