Computer NetworkNotes

第 03 章:物理网络与局域网

zjc 于 2026-01-03 发布

这是《计算机网络 零基础实战指南》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 应用层问题很容易被归咎为“网络抖动”,但真正的底层原因可能是网卡丢包、交换机端口错误、VLAN 配置不一致、广播风暴或链路带宽打满。本章介绍物理网络、以太网、交换机、VLAN、Bond 和无线局域网的基本原理,并给出 Linux 上的观测方法。

3.1 以太网帧

以太网是局域网最常见的数据链路层技术。

简化帧结构:

| Destination MAC | Source MAC | Type | Payload | FCS |
| 6 bytes         | 6 bytes    | 2    | 46-1500 | 4   |

常见 Type:

类型 含义
IPv4 0x0800
IPv6 0x86DD
ARP 0x0806
VLAN 0x8100

传统以太网 MTU 为 1500 字节。云环境、容器 overlay 和隧道会叠加额外头,常见路径 MTU 问题都发生在这一层。

查看接口与 MTU:

ip link
ip -details link show eth0
ethtool eth0

3.2 MAC 地址与交换机

MAC 地址是网卡在链路上的标识,通常写作:

00:16:3e:12:34:56

交换机维护 MAC 地址表:

MAC Address    VLAN  Port
AA:AA...       10    Gi1/0/1
BB:BB...       10    Gi1/0/2

工作流程:

  1. 收到帧;
  2. 学习源 MAC 与端口的映射;
  3. 查目的 MAC;
  4. 找到则转发到对应端口;
  5. 找不到则在同一 VLAN 内泛洪;
  6. 目的 MAC 为广播或组播时按规则泛洪。

交换机隔离冲突域,但不隔离广播域。路由器或 VLAN 才能隔离广播域。

3.3 VLAN

VLAN 将一个物理局域网划分为多个逻辑广播域。

物理交换机
  |-- VLAN 10:Web
  |-- VLAN 20:App
  +-- VLAN 30:DB

VLAN Tag 会增加 4 字节开销:

原始 MTU 1500
VLAN Tag 后帧长增加 4 字节

常见问题:

  1. 两端 VLAN ID 不一致;
  2. 交换机端口 access/trunk 模式配置错误;
  3. 云平台安全组与 VLAN 混淆;
  4. 允许通过的 VLAN 列表缺失;
  5. 数据库和应用不在同 VLAN,忘记配置路由或防火墙。

3.4 链路聚合与 Bond

Linux Bond 可以将多块网卡绑定为一个逻辑接口,用于冗余或带宽扩展。

常见模式:

模式 说明
active-backup 主备,常用且简单
802.3ad LACP,需要交换机配合
balance-rr 轮询,兼容性要求高
balance-xor 基于哈希分流
balance-tlb / alb 发送或收发负载均衡

查看:

ip link
cat /proc/net/bonding/bond0

注意:单个 TCP 连接的哈希结果通常落在一条物理链路上,Bond 不必然让单连接带宽翻倍。

3.5 全双工、速率与网卡队列

现代以太网通常全双工,收发可同时进行。

查看:

ethtool eth0

重点字段:

Speed
Duplex
Link detected

网卡和操作系统之间通过队列与软中断交互:

网卡 DMA
  -> RX Queue
  -> 硬中断
  -> NAPI / 软中断
  -> 协议栈
  -> 应用收包

查看统计:

ip -s link show eth0
ethtool -S eth0
cat /proc/interrupts
cat /proc/net/softnet_stat

关注:

  1. rx_dropped:接收丢包;
  2. tx_dropped:发送丢包;
  3. rx_crc_errors:链路质量或网卡问题;
  4. collisions:冲突或双工异常;
  5. overruns:缓冲不足;
  6. softnet 丢包:CPU 处理不及时。

3.6 局域网性能问题

3.6.1 带宽打满

现象:

  1. 大文件传输后其他请求变慢;
  2. 备份窗口内服务延迟升高;
  3. 交换机端口利用率高;
  4. 重传增加;
  5. 应用超时集中在同机房间链路。

处理:

  1. 限速备份任务;
  2. 错峰传输;
  3. 拆分流量到不同链路;
  4. 升级带宽;
  5. 使用压缩或增量传输;
  6. 检查是否异常流量或攻击。

3.6.2 广播域过大

现象:

  1. ARP 请求多;
  2. 小包转发速率高;
  3. 局域网内所有机器受影响;
  4. 抓包看到大量广播。

处理:

  1. 划分 VLAN;
  2. 减少同网段机器数量;
  3. 检查环路;
  4. 启用生成树相关保护;
  5. 排查异常广播源。

3.6.3 链路质量差

现象:

  1. CRC 错误增长;
  2. 丢包与重传相关;
  3. 更换链路后恢复;
  4. 交换机端口错误计数增长。

处理:

  1. 更换线缆或光模块;
  2. 更换交换机端口;
  3. 检查网卡;
  4. 核对速率与双工;
  5. 清洁或更换光纤。

3.7 无线局域网

Wi-Fi 使用无线介质,天然存在冲突、干扰和信号衰减。

影响质量的因素:

  1. 信号强度;
  2. 信道干扰;
  3. 用户密度;
  4. AP 负载;
  5. 漫游策略;
  6. 频段:2.4GHz / 5GHz / 6GHz;
  7. 终端网卡能力。

现象:

信号弱 -> 低速率重传多 -> 占用空气时间 -> 影响其他终端

生产服务通常不建议依赖办公 Wi-Fi。办公网络访问生产系统时,要能区分 Wi-Fi 抖动和服务端问题。

3.8 数据中心网络拓扑

传统三层结构:

Core
  -> Aggregation
     -> Access
        -> Server

数据中心常用 Spine-Leaf:

Spine 1    Spine 2
   |  \    /  |
Leaf 1    Leaf 2
   |        |
Server A   Server B

特点:

  1. Leaf 接入服务器;
  2. Spine 提供跨 Leaf 转发;
  3. 任意两 Leaf 通常一跳或少量跳;
  4. 易于水平扩展;
  5. 常配合 BGP、VXLAN 和 ECMP。

本章小结

物理网络与局域网解决信号、帧、MAC、交换、VLAN 和链路可靠性问题。以太网帧承载 IP 包,交换机按 MAC 转发,VLAN 隔离广播域,Bond 提供冗余或带宽扩展。常见底层问题包括 MTU 不一致、链路丢包、带宽打满、广播域过大和网卡队列丢包。ipethtool、交换机端口计数和抓包是定位这些问题的基本工具。

思考题

  1. 交换机如何学习和转发 MAC 地址?
  2. VLAN、冲突域和广播域分别隔离什么?
  3. 为什么 Bond 不一定提升单个 TCP 连接的吞吐?
  4. rx_droppedrx_crc_errors 增长分别说明什么?
  5. 写一份服务器接入生产网络前的链路检查清单。