2.1.6 常见网络拓扑与应用场景

常见网络拓扑与应用场景#

常见网络拓扑决定了可用性、扩展性与运维复杂度。选择时需平衡成本、故障域隔离与后续扩展。以下给出典型拓扑、原理草图与可落地的示例、安装、排错与练习。

原理草图(典型拓扑)

文章图片

应用场景概览
- 星型:中小型办公网、测试环境,易管理但中心设备为单点。
- 总线:历史遗留网络,扩展差、冲突多。
- 环型:工业控制、城域网,需双环或保护机制防断链。
- 树型:园区网/企业网,层次清晰,需关注上层故障域。
- 网状:核心网/金融高可用,冗余高但成本高。
- 三层架构(Core-Aggr-Access):传统机房,需关注STP、链路聚合、网关冗余。
- 叶脊:云数据中心/K8s集群,关注ECMP与路由设计。
- 多区域/混合云:容灾与多活,关注跨域路由与延迟抖动。


示例:用 Linux 命名空间模拟星型拓扑(可复现实验)#

目标:用一台 Linux 主机模拟“核心交换机+3台主机”的星型拓扑。

# 1) 创建3个命名空间
ip netns add h1
ip netns add h2
ip netns add h3

# 2) 创建Linux桥接作为“核心交换机”
ip link add br0 type bridge
ip link set br0 up

# 3) 为每个主机创建veth对并接入桥
for i in 1 2 3; do
  ip link add veth${i} type veth peer name eth0 netns h${i}
  ip link set veth${i} master br0
  ip link set veth${i} up
  ip netns exec h${i} ip link set lo up
  ip netns exec h${i} ip link set eth0 up
done

# 4) 配置IP并验证互通
ip netns exec h1 ip addr add 10.0.0.1/24 dev eth0
ip netns exec h2 ip addr add 10.0.0.2/24 dev eth0
ip netns exec h3 ip addr add 10.0.0.3/24 dev eth0

# 5) 互通测试
ip netns exec h1 ping -c 2 10.0.0.2
ip netns exec h2 ping -c 2 10.0.0.3

命令解释
- ip netns add:创建独立网络命名空间,模拟多主机。
- ip link add ... type bridge:创建二层交换机。
- veth:虚拟以太网对,端对端连接。
- ip netns exec:在指定命名空间运行命令。

预期效果
- 三台“主机”可互相 ping 通;
- bridge link 能看到 veth 接入关系。


安装与探测示例:发现链路与邻居(适用于树型/叶脊/网状)#

安装 LLDP 服务,自动发现邻居设备与链路方向。

# Debian/Ubuntu
apt-get update && apt-get install -y lldpd

# CentOS/RHEL
yum install -y lldpd

# 启动并开机自启
systemctl enable --now lldpd

# 查看邻居
lldpcli show neighbors

命令解释
- lldpd:链路层发现协议,常用于拓扑自动发现。
- lldpcli show neighbors:显示对端设备、端口与系统名。


排错要点与命令示例#

1) 链路不可达(星型/树型常见)

# 查看接口状态与错误计数
ip -s link

# 查看桥接端口与状态
bridge link
  • 若看到 DOWN 或错误计数增长,检查物理链路/网卡/虚拟网卡。

2) 环路与广播风暴(树型/三层架构常见)

# 查看桥是否开启STP
bridge link show | grep -i stp

# 开启STP(Linux Bridge)
ip link set br0 type bridge stp_state 1
  • STP 未开启时,环路可能导致网络瘫痪。

3) 延迟抖动(跨地域/多区域常见)

# 持续探测延迟、抖动
mtr -rwzc 10 10.0.0.2

# 逐跳路由验证
traceroute 10.0.0.2

练习#

1) 在本机复现实验星型拓扑,增加第4台主机并验证互通。
2) 在星型拓扑中关闭 br0 的 STP,模拟环路(新增一条 veth 回连),观察广播风暴现象与 ip -s link 计数变化。
3) 安装并运行 lldpd,记录邻居信息并绘制简单拓扑图。
4) 结合业务场景选择树型或叶脊拓扑,并说明故障域隔离策略。