Skip to content

LV020-交换机路由器与局域网 ​

一、 局域网就是一个广播域 ​

1. 局域网的范围与特征 ​

局域网(LAN)就是"一个广播域"——在这个范围内,一台设备发出的广播帧,其它设备都能收到。家用场景里,一台交换机(或一台路由器后面的所有有线口)下面的设备,就是一个局域网。

局域网有几个特点值得记住:

  • 范围小,通常是一个房间、一层楼、一个办公室;
  • 里面的设备共享同一个网段(所以上一篇讲的按位与判断,在这里起决定作用);
  • 局域网内部靠交换机的 MAC 表转发,不需要路由器参与。

2. 为什么"一个网段 = 一个广播域" ​

这条等价关系是理解交换机与路由器分工的关键,先记住结论,理由在本篇第五节与第六节展开:

设备能不能转发数据能不能隔离广播
集线器能(泛洪)不能
交换机能(按 MAC 表)不能
路由器能(按路由表)能

交换机不隔离广播,所以同一个交换机下的所有设备仍然属于同一个广播域、同一个网段。要让广播停下来,只能靠路由器(或者在交换机上划分 VLAN,那属于更进一步的用法)。

这解释了本实验里一个容易困惑的点:为什么板子必须和 PC 配成同网段? 因为直连与同交换机都属于同一个广播域,而同一个广播域里就是同一个网段——网段就是按广播域划的。

二、 三种接法与它们的差别 ​

1. 直连、交换机、路由器 ​

本实验最常遇到的三种物理接法,它们的差别不在物理层,而在"要不要跨网段":

接法板子与 PC 是否同网段需要网关吗能不能上网
网线直连必须自己配成同网段不需要不能
都接在同一台交换机必须自己配成同网段不需要不能(除非上面还接了路由器)
都接在同一台路由器下由路由器分配,通常同网段若要出网则需要可以
直连、交换机与路由器三种接法及其转发依据

本实验用的是第一种或第二种,所以板子与 PC 的 IP 必须手工配成同网段(192.168.16.30 与 192.168.16.100)。

2. 三种接法的排查重点 ​

接法排查重点
网线直连网口灯是否亮;两端 IP 与掩码是否同网段;是否配了不存在的网关
经交换机以上全部,外加:交换机是否通电、端口是否协商成功、有没有把两个口接成环
经路由器板子是否拿到(或配了)路由器网段的地址;网关是否填的是路由器地址

顺带说清一个常见误解:"接上网线就能上网"是不成立的。上网需要路由器、需要 NAT、需要 DNS,而本实验的 Bootloader 只实现了 IP/ICMP/TCP/UDP/ARP 这一小块,既没有 DHCP 也没有 DNS,所以它的目标就是"在同一局域网内被 PC 找到",而不是上网。

三、 集线器与交换机 ​

1. 差在"认不认识 MAC" ​

同样是"把几台设备连在一起",集线器和交换机的差别很大:

对比项集线器(Hub)交换机(Switch)
工作层次物理层数据链路层
转发方式从任意口收到的数据向所有其它口泛洪按 MAC 地址表只从对应口发出
带宽所有口共享每个口独享
冲突会冲突,需要 CSMA/CD基本没有冲突

2. 集线器没白学:泛洪是它的退化形态 ​

集线器现在基本见不到了,但理解它的存在有个好处:交换机"查不到就泛洪"的行为,本质上就是退化成了集线器。

所以交换机的工作过程可以理解成"先像集线器一样泛洪学习,之后才会精准转发"——这也解释了为什么一个刚上电的交换机头几个包总是泛洪的。

四、 交换机怎么转发:MAC 地址表 ​

交换机内部维护一张"MAC 地址 → 端口"的表,动作分学习和转发两步。

1. 学习:收到帧时看源 MAC ​

看源 MAC,把"这个 MAC 在我的第 N 号口上"记进表里。之后有包要发给它,就知道从哪个口出。

这个设计的巧妙之处在于:学习是"顺便"完成的,不需要任何额外报文。只要这台设备发过一次帧,交换机就记住了它在哪个口。

2. 转发:决定从哪出时看目的 MAC ​

看目的 MAC,按表决定动作:

目的 MAC 在表里动作
在,且不是收到帧的那个口从对应口发出(单播)
在,正好是收到帧的那个口丢弃(不需要转发)
不在表里向所有其它口泛洪
是广播地址 FF:FF:FF:FF:FF:FF向所有其它口泛洪

"在,正好是收到帧的那个口"这一行容易被忽略:说明这台设备就在这个口的方向上,没必要再发回去。

3. 表项老化 ​

表项还有老化时间,长时间不出现的 MAC 会被清除——这点和后面 LV030-ARP与MAC地址 里 ARP 缓存的老化是一回事:两者的存在都是为了"设备会挪位置、地址会换主人"。

五、 路由器怎么工作 ​

1. 成为路由器的三个条件 ​

一台设备要算路由器,必须同时满足三个条件:

(1)至少有两个网络接口。

(2)两个接口接在不同的网段上。

(3)能在两个网段之间转发数据。

只有一块网卡的设备,无论装什么系统都当不成路由器。反过来,一台双网卡的 PC 只要开了转发功能,就成了事实上的路由器。

2. 路由表与转发 ​

路由器的核心是一张路由表,每条表项是"目的网络 → 下一跳 / 出口":

目的网络下一跳出口
192.168.16.0/24直连接口 A
192.168.1.0/24192.168.16.1接口 A
0.0.0.0/0(默认路由)运营商网关接口 B

转发时的顺序是"最长前缀匹配":先找最精确的那条,找不到就落到默认路由 0.0.0.0/0。这套机制的完整说明见 LV015-网关与跨网段通信 第二节。

3. 转发时会改什么 ​

这里有一个关键认知:路由器转发时会把链路层的帧头整个换掉——IP 头里的源/目的地址全程不变,而以太网头里的源/目的 MAC 每一跳都会重写(TTL 也会减 1)。

这就是"MAC 只在一跳内有效"的具体体现,也是 ping 的输出里 TTL 会随着经过的路由器增多而变小的原因。

六、 小结与参考资料 ​

1. 本篇小结 ​

  • 局域网 = 一个广播域,范围内的设备共享同一网段;网段就是按广播域划分的。
  • 集线器(物理层泛洪)→ 交换机(链路层按 MAC 表转发)→ 路由器(网络层按路由表转发),能力逐级上升。
  • 交换机靠"学源 MAC、查目的 MAC"工作,查不到就泛洪;表项会老化。
  • 只有路由器能隔离广播域,且成为路由器必须满足"两个接口、不同网段、能转发"三个条件。
  • 路由器转发时只重写链路层帧头与 TTL,IP 头全程不变。
  • 本实验属于直连或同交换机两种接法,双方必须手工配成同网段,且用不到网关。

2. 参考资料 ​


本文档由 markdowncli 技能辅助生成