2290 字
11 分钟
网络学习(一):从一根网线到交换机与 ARP

1. 环境搭好以后,先看看数据怎么走#

在上一篇环境搭建记录里,我整理了 VMware 中运行 eNSP,以及通过路由器完成跨网段通信的过程。

接下来,把课堂上分散的概念重新串起来。

这一篇主要整理第一天、第三天和第六天的笔记。先从一个很小的问题开始:

两台电脑插在同一台交换机上,为什么就有机会互相通信?

这里面至少有三件事:线缆能传信号,交换机能转发帧,主机知道应该把帧交给哪个 MAC 地址。

NOTE

本系列按主题重组九天笔记。文中的地址、拓扑和部分配置是为了讲解补充的练习示例;实际接口名称和命令支持情况以使用的 eNSP 设备为准。

2. 网线传的是信号,速率单位是 bit#

应用里的文字、图片最终都会变成二进制数据,再由物理层通过电信号或光信号传出去。

课堂提到的介质可以放在一起比较:

介质可以先记住的特点
同轴电缆早期共享式以太网曾使用的介质
双绞线常见网线由四对、共八根铜线构成,绞合有助于减小干扰
光纤通过光传输,收发模块负责电信号与光信号转换

日常说的 RJ-45 网口通常使用 8P8C 连接器。超五类双绞线在符合布线要求时可承载千兆以太网,常见铜缆以太网通道长度上限是 100 米;不能把这个距离套到所有以太网介质上。线缆与速率、距离的对应关系可参照 Cisco 的接口排查文档。

光纤又有单模和多模之分。单模通常用于较远距离,多模常见于较短距离互联,但具体能跑多远、多快,要把光纤类型、光模块和接口标准一起看。

交换机可以把多个链路连接起来,却不能让单段线缆的距离限制消失。

2.1 100 Mbps 为什么不是每秒下载 100 MB#

1 Byte = 8 bit
100 Mbps ÷ 8 = 12.5 MB/s
1000 Mbps ÷ 8 = 125 MB/s

这是单位换算后的理论值。实际文件下载还受到协议开销、链路利用率、服务器和磁盘等因素影响。

课堂中的 100 ÷ 8 × 0.85 = 10.625 可以当作估算练习,但 0.85 不是固定的网络效率系数。

另外,GE 是 Gigabit Ethernet,表示千兆以太网;百兆通常写作 FE。设备命令中的 Ethernet 是接口命名的一部分,不能仅凭这个单词推断实际速率,仍要看接口状态。

3. 从集线器到交换机#

集线器主要在物理层重复信号。多个设备共享介质时,同时发送可能发生冲突,传统半双工以太网用 CSMA/CD 处理这类问题:先侦听,发生冲突后退避,再尝试发送。

交换机则能够根据帧里的 MAC 地址决定转发方向。现代交换式以太网通常工作在全双工模式,一条链路两端可以同时收发,不再依靠 CSMA/CD 争用介质。

但全双工并不代表永远不会丢包。出口拥塞、缓存不足、线缆故障依然可能影响通信。

4. 交换机先学源地址,再查目的地址#

以太网中常见的 MAC 地址长 48 位,也就是 6 字节,通常写成六组十六进制数:

02:00:00:00:00:0A

这个地址用于本文示意。MAC 可以由厂商分配,也可能被软件修改或随机化,所以“物理地址”不意味着永远不变,更不能据此认定设备身份。

假设有三台主机:

PC A ── GE0/0/1 ┐
PC B ── GE0/0/2 ├── LSW1,同一个 VLAN
PC C ── GE0/0/3 ┘

当 A 发出的帧进入交换机,交换机会学习:

源 MAC_A + 所属 VLAN → GE0/0/1

随后检查目的 MAC:

查表结果基本处理方式
已知目的 MAC,出口与入口不同从对应出口转发
已知目的 MAC,但就在入口方向不再从其他端口转发
未知单播目的 MAC在所属 VLAN 的其他可转发端口泛洪
广播 MAC在所属 VLAN 的其他可转发端口传播

注意顺序:学习靠源 MAC,转发查目的 MAC。

如果端口后面接着另一台交换机,这个端口可以学到很多 MAC。同一 VLAN 内,同一个普通动态 MAC 表项通常指向一个端口或一个逻辑聚合接口;不能把它简化成“一个端口只能接一个 MAC”。

动态表项会老化。课堂记录的 300 秒是常见示例,具体值要看设备配置。

5. 广播是地址属性,泛洪是转发动作#

以太网广播目的地址是:

FF:FF:FF:FF:FF:FF

它表示这个帧要交给本广播域中的设备。

未知单播也可能被交换机泛洪,但其目的 MAC 仍然是某一台主机,并没有变成广播地址。收到帧的其他主机通常会根据目的 MAC 丢弃它。

因此,看到“多个端口都收到了帧”,不能马上判断它一定是广播。

普通二层网络里,一个 VLAN 通常对应一个广播域。连接几台交换机不会自动缩小广播域;三层接口一般不会把二层广播原样转发到另一个网络。

6. 主机有目标 IP,为什么还需要 ARP#

现在给 A 和 B 配置地址:

主机IP 地址掩码
PC A192.168.1.10255.255.255.0
PC B192.168.1.20255.255.255.0

A 执行 ping 192.168.1.20 时,知道的是目标 IP;但要把 IPv4 数据包放进以太网帧,还需要目的 MAC。

于是 ARP 补上这个映射:

本地链路上的 IPv4 地址 → MAC 地址

如果缓存中没有 B 的记录,基本过程是:

  1. A 广播 ARP Request,询问谁拥有 192.168.1.20。
  2. 交换机学习 A 的源 MAC,并在同一 VLAN 内传播广播。
  3. B 发现询问的是自己的 IP,通常单播回复自己的 MAC。
  4. 交换机从回复中学到 B 的 MAC 和入口对应关系。
  5. A 缓存这个映射,随后才能把 ICMP 请求装进发给 B 的以太网帧。

交换机也可能在此前已经学到了相关 MAC;这里描述的是从空表开始的教学过程。

IMPORTANT

不能把笔记里的“所有设备都会记录 ARP 请求的源地址”当成统一规则。ARP 接收过程区分更新已有映射和新增映射,实际系统也可能有额外限制。能收到广播,不等于一定会新增一条 ARP 表项。参见 RFC 826 的接收处理。

7. ARP 表与 MAC 表不是同一张表#

表典型查看位置回答的问题
ARP 表主机或三层设备这个邻居 IP 对应哪个 MAC?
MAC 地址表二层交换机这个 VLAN 中的 MAC 应该从哪个端口走?

Windows 或支持该命令的 eNSP PC:

arp -a

华为设备:

display arp
display mac-address

ARP 缓存也会更新、老化,但不能把课堂中的 180 秒当成所有系统的固定值。

7.1 免费 ARP 与反向 ARP#

免费 ARP 常用于宣告自己的地址映射,也与地址冲突检测有关。它并不是“不要钱的另一种协议”,而是在没有收到普通查询时主动发送的 ARP 信息。

更严谨地说,使用地址前的 ARP Probe 与宣告已使用地址的 ARP Announcement,报文字段和目的并不完全一样,具体区分见 RFC 5227。入门阶段先记住:不要把所有地址检测报文都当作普通的“查询别人 MAC”。

反向 ARP(RARP)则是历史上根据硬件地址获取协议地址的机制。现在常见的自动获取地址过程由 DHCP 完成,不能把 DHCP 简单当作 ARP 的反向操作。

8. 在 eNSP 中可以怎样观察#

建立两台 PC 和一台 LSW 的小拓扑,把两台 PC 放在同一 VLAN,并配置上面的地址。这个同网段练习暂时不需要网关。

在 A 与交换机之间抓包,再从 A Ping B。Wireshark 显示过滤器可以写:

arp || icmp

重点观察三个问题:

  • ARP Request 的目的 MAC 是否为全 F?
  • ARP Reply 返回的 MAC,是否对应后续 ICMP 请求的目的 MAC?
  • 再次 Ping 时,如果缓存还有效,是否不再重复整个 ARP 查询过程?

第一次 Ping 可能因为地址解析或设备启动过程而超时,但持续丢包不能只归因于 ARP。应继续检查地址、掩码、VLAN 和接口状态。

这时再看“插上网线就能通信”,就能把它拆成三个具体动作:链路传信号,交换机查 MAC 表,主机通过 ARP 找到本地下一跳。

下一篇:IPv4、子网掩码与 DNS。

网络学习(一):从一根网线到交换机与 ARP
https://bbcslook.top/posts/guide/hcia-01-ethernet-arp/
作者
BBCSLOOK
发布于
2026-10-16
许可协议
CC BY-NC-SA 4.0

评论区

CC