前言
上一章我们把数据通信设备拆到了"骨骼"——整机架构、核心单板与三种硬件形态。但一块只运行着空转发的板卡并不能称为路由器:决定报文如何流动、网络如何收敛、业务如何管控的,是设备里的软件。如果说硬件是骨骼,软件就是灵魂。本章要回答的问题是:数据通信设备的软件由哪些平面构成?同一个"转发"任务,可以用哪些不同的技术路线来实现?路由器、以太网交换机、防火墙、WLAN 这四类产品的软件架构,各自走过了怎样的演进之路?
数据通信产品主要包括路由器、以太网交换机、防火墙以及 WLAN 无线产品,它们都从最早的路由器发展而来,逐步分化演变,以满足不同网络环境的需求。也正因为同源,这四类产品的软件架构既有共享的骨架,又各自长出了鲜明的个性。下文就按这条脉络依次展开。
本章内容概览
|
产品线 |
核心议题 |
演进主线 |
|
路由器 |
三平面功能逻辑架构、 IP 转发流程、软件实现架构 |
集中式软转发 → 分布式软转发 → NP / ASIC / FPGA → 结构化网络架构 |
|
以太网交换机 |
存储转发、堆叠技术、 M-LAG |
单机 → 堆叠虚拟化 → 跨设备链路聚合 |
|
防火墙 |
包过滤起源、盒式高性能架构、流转发 |
由路由器 ACL 衍生 → 专用转发硬件 → 会话级流转发 |
|
WLAN |
AP 的三种组网方案 |
Fat AP → AC + Fit AP → Central AP + RRU (及 AC + Central AP + RRU ) |
一、路由器产品软件架构发展演进
路由器是数据通信产品的"祖先",它的软件架构也最为完整地体现了数据通信设备的设计思想:先用三层功能平面把"管理、控制、转发"解耦,再围绕转发平面不断升级硬件实现路线,最后在软件工程层面从单体走向组件化。
1.1 功能逻辑架构:管理面、控制面、转发面三层
路由器采用管理面—控制面—转发面三层功能逻辑架构:管理面承担各类管理相关功能,涵盖北向管理协议与完整配置管理;控制面依据管理员配置,完成二三层路由计算、接入安全认证及各类业务控制逻辑;转发面负责路由器核心的分组报文转发工作。
三个平面并非各自为政,而是通过两条信息纽带协作:控制平面把计算出的控制信息(转发表)发送至转发平面,指导其转发行为;转发平面则生成统计信息,供管理平面和控制平面查询。

图 1 路由器管理面—控制面—转发面三层功能逻辑架构(控制平面生成控制信息下发转发平面,转发平面处理数据包)
1.2 IP 转发流程:一个报文的十步旅程
转发面的核心功能是 IP 转发流程。一个报文从进入物理线路到发出,要经历完整的十个步骤:
|
步骤 |
处理内容 |
所在环节 |
|
① |
物理线路上的报文在接口芯片和 I/O 控制器协同控制下,通过 DMA 方式被接收至内存中指定入接口的接收缓冲区 |
接收 |
|
② |
I/O 控制器通过中断唤醒 CPU , CPU 在中断处理中将特定内存缓冲区交换至队列,并唤醒相应的转发线程 |
接收 |
|
③ |
线程获取 CPU 控制权后,从特定队列读取报文,传递给与接口相连的链路层进行接收和处理 |
接收 |
|
④ |
链路层解析报文并完成 L2 解封装( PPP / 以太等),确认是 IP 数据报文后,调用 IP 入口函数 IP_Input |
入方向 |
|
⑤ |
完成 IP 报文解析后,调用 ifnet 接口上入方向的业务处理( ACL / NAT / IPSec ) |
入方向 |
|
⑥ |
开始 IP 路由,查找转发信息表 FIB ,确定出接口和下一跳 |
路由 |
|
⑦ |
调用 IP_Output 函数,完成 IP 报文改写,最后将报文交给链路层处理 |
出方向 |
|
⑧ |
链路层根据下一跳 IP 地址查询 ARP 表,找到对应的 MAC 封装地址,完成 L2 报文封装,放入接口发送队列 |
出方向 |
|
⑨ |
进行接口出方向的业务处理( IPSec / NAT / ACL ) |
出方向 |
|
⑩ |
在 I/O 控制器和接口芯片协同控制下,通过 DMA 方式将报文发送到特定接口的物理线路上 |
发送 |

图 2 路由器 IP 转发流程(上半部为控制平面,下半部为转发平面,编号对应报文处理的十个步骤)
控制平面计算控制信息的过程同样清晰:各个路由协议(RIP、OSPF、BGP 等)通过本机协议栈收发路由协议报文并计算形成路由信息;随后路由协议将计算出的路由发送给路由管理器 RM,RM 对路由进行优选,选出最佳路由后发送给 IP 转发面,形成转发信息表 FIB;同时 ARP 通过 ARP 协议解析形成 ARP 表,发送给以太网模块,指导以太网报文的封装处理。
1.3 转发实现的五条技术路线
同一个转发任务,硬件上可以由通用 CPU、专用处理器或固定逻辑电路来完成。路由器产品先后发展出五种转发架构:
集中式软转发是早期产品形态:所有接口连接在同一个 I/O 总线上,由 CPU 软件完成全部转发,报文转发性能有限。其架构简单、灵活性极强,但性能瓶颈明显,适用于低带宽、强管控、功能快速迭代的场景。

图 3 集中式软转发产品的硬件架构(CPU + 内存控制器 + I/O 控制器,所有接口挂在同一 I/O 总线上)
分布式软转发由专属机框插多个单板组成:MPU 负责管理和控制,LPU 负责转发,所有 LPU 都连接在背板总线上,共同构成一个完整的转发平面。在双主控系统中,两个 MPU 分别处于主备状态——主 MPU 承担全部管理和控制职责,控制协议在其上执行,生成的转发表分发至所有 LPU;备用 MPU 存储所有相关信息,并实时监控主 MPU 的状态。这种架构无单点瓶颈、转发路径更优,代价是复杂度提升,适用于接入层、处理复杂协议的设备,以及高吞吐、高可用、需弹性扩容的虚拟化网络。

图 4 分布式软转发路由器硬件架构(双 MPU 主备 + 多 LPU,通过三类总线互连)
分布式架构下,IP 转发流程被划分为两个阶段:入方向流程处理至路由转发,通过查找 FIB 获取出接口和下一跳信息,随后将数据包发送至出接口所在的板卡;出方向流程接续处理,依据已获取信息查询 ARP 表,完成链路层封装。
NP 转发利用专用网络处理器提升网络处理复杂度,通过编程实现灵活配置:NP 芯片负责转发面的工作,并通过 PCI-e 接口与 CPU 建立上行链接。它支持微码工程、可快速适配新协议,常用于高位置的核心路由设备。采用框式分布式的 NP 路由器机框上一般有三种单板——MPU、LPU、SFU,其接口板上的转发功能可细分为九个环节:以太网接口物理层处理、入方向 L2/L3 协议和业务处理与转发表查找、入方向队列缓存和调度、数据包切分成固定长度信元并通过交换网 SFC 发送给出接口板、信元重组为报文、出方向队列缓存、出方向 L3 和业务处理与 L3/L2 报文改写、出接口调度、以太网接口物理层处理。
ASIC 转发使用专用固定逻辑芯片替代 CPU 完成转发功能,极致性能但灵活性极差,适用于变化少、流量大的大带宽设备;FPGA 转发功能实现上与 ASIC 相近,但具备逻辑可编程特性,硬件级并行 + 可重构、低延迟,适用于有定制化协议扩展需求的设备。
结构化网络架构(DDC)则通过多框级联实现高集成度和高性能:控制单元由服务器承担,连接交换单元;交换单元提供以太网接口,连接控制单元、Fabric 和接口板;Fabric 构成所有接口板之间的交换总线;接口板实现网络报文转发及各类业务处理。
|
路线 |
转发载体 |
特点 |
适用场景 |
|
集中式软转发 |
通用 CPU |
架构简单、灵活性极强、性能瓶颈明显 |
低带宽、强管控、功能快速迭代 |
|
分布式软转发 |
MPU + 多 LPU 背板互连 |
无单点瓶颈、转发路径更优、复杂度提升 |
接入层、复杂协议、高吞吐高可用 |
|
NP 转发 |
网络处理器(可编程) |
支持微码工程、快速适配新协议 |
核心路由设备 |
|
ASIC / FPGA 转发 |
固定逻辑 / 可编程逻辑芯片 |
极致性能、灵活性极差( ASIC );硬件级并行、可重构( FPGA ) |
大带宽设备 / 定制化协议扩展 |
|
结构化网络架构( DDC ) |
多框级联(服务器 + 交换 + Fabric ) |
高集成度、高性能 |
超大容量场景 |
1.4 软件实现架构:五个平面与三种形态
如果说转发路线解决"跑多快",软件实现架构解决的就是"怎么组织代码"。路由器的软件实现架构主要包括基础设施平面、系统服务平面、管理平面、控制平面和转发平面五个部分:基础设施平面将操作系统的基础功能——内核、驱动、基础 C 库、数据库、基础中间件——统称为基础设施层;系统服务平面提供软件升级、部署与管理、热补丁管理、高可用性管理及分布式管理等特定的系统级服务。
这个五平面分层之下,软件的实现形态经历了三个阶段的演进。
第一阶段:单任务 / 实模式操作系统之上的单体软件架构。所有功能编译在一个程序里,自下而上分为九层:
|
层次 |
内容 |
职责 |
|
第 1 层 |
硬件 |
最底层 |
|
第 2 层 |
设备管理和驱动程序 |
启动时构建设备链,负责与底层驱动交互,收发总线上的数据包 |
|
第 3 层 |
接口抽象层(接口管理 ifnet ) |
启动时构建接口链,承上启下,负责报文的完整上下行及相关控制流程 |
|
第 4 层 |
链路层协议( ETH 、 PPP 、 HDLC 、 X.25 、 FR 、 ATM 、 SLIP ) |
根据 ifnet 类型和配置选择合适协议挂载在 ifnet 上,完成 L2 处理 |
|
第 5 层 |
IP ( Forwarding )及 L3 协议( ARP 、 ICMP 、 IPSec 、 GRE ) |
转发的核心部分,同时承担上层协议收发报文通道功能 |
|
第 6 层 |
传输层( TCP 、 UDP 、 RAWIP ) |
负责自身报文处理,为上层路由协议、 IP 应用提供类似 socket 的编程接口 |
|
第 7 层 |
路由协议( BGP 、 ISIS 、 OSPF 、 RIP ) |
通过协议发现网络拓扑、计算路由、形成转发表并下发给 IP 层指导转发 |
|
第 8 层 |
IP 应用( AAA 、 ACL 、 IKE 及接入认证、加密协商等) |
各种 IP 相关业务 |
|
第 9 层 |
UI 接口( CLI / Telnet 、 SNMP / MIB ) |
最终提供 CLI 或网络管理接口 |

图 5 单体软件模式下的路由器软件架构(九层自下而上依次为硬件、驱动、ifnet、L2、L3、L4、路由协议、IP 应用、UI)
第二阶段:多任务 / 实模式操作系统之上的模块化软件架构。随着功能复杂化,许多路由器采用多任务实时操作系统或通用操作系统。多任务系统中,可按需创建多个独立任务,每个任务有独立栈空间和程序入口,任务调度由操作系统统一管理,避免个别任务"饿死",保障高优先级任务忙时调度。模块化架构具有两个特征:各任务有独立入口,独立任务上下文中运行的二进制代码相对独立,可在创建任务时加载;可独立加载意味着编译时需生成独立二进制可执行文件,更符合高内聚、低耦合的设计原则,利于构建复杂软件系统。
第三阶段:多任务 / 用户态—内核态操作系统之上的组件化架构。整个系统划分为内核和用户态程序两大部分,组件化的最显著特征就体现在各种网络控制、管理协议或应用中。进一步地,对比 Linux 宏内核系统,微内核 OS 系统具有两个特点:原内核中的文件系统、设备管理、网络功能等服务被移出,转化为独立服务程序;上层软件通过 LibC 接口调用系统服务时,微内核会切换上下文到对应服务进程。

图 6 组件化架构(内核提供进程 / 内存 / 文件系统 / 设备驱动等基础能力,用户空间运行各类功能组件)
二、以太网交换机产品软件架构发展演进
看完了架构最复杂的路由器,再看以太网交换机——它的问题域更聚焦:如何在二层把报文又快又准地送出去,以及如何让多台盒子像一台设备一样工作。早期以太网无需交换机,通过无源同轴电缆构成线性拓扑,或借助有源集线器形成星形拓扑,这也是以太网采用 CSMA/CD 技术的根源。以太网交换机出现后,摒弃了 CSMA/CD 方式,不再在二层域内物理广播,采用存储转发,依据以太网报文头的目的 MAC 地址进行二层转发。
2.1 典型硬件逻辑架构:一颗交换芯片 + 一个 CPU
典型以太网交换机的硬件逻辑架构非常精简:由交换芯片连接网络接口,通过 PCI-e 总线连接 CPU,管理接口通常由 CPU 直出。转发走芯片、管理走 CPU,分工一目了然。
2.2 堆叠技术:多台盒子合成一台"虚拟交换机"
堆叠技术是以太网交换机发展中的一个重要特点,最初是为适应 LAN 网络规模增长的低成本方案。堆叠以太网交换机的结构特点是:交换机通过专用堆叠口,以电缆或光纤环形连接;均为盒式设备,部分指定或选举主 / 从交换机,通常有两个主交换机形成 1:1 备份;整体构成一台虚拟大交换机,拥有全部接口;环形拓扑下,单线路故障仍可连通,两处断点以上才会断开——有主交换机一侧成小堆叠,无主交换机一侧被隔离以防环路。

图 7 以太网交换机堆叠(多台盒式交换机经 stack port 环形连接,虚拟为一台大交换机)
堆叠系统的逻辑架构有三个特点:功能逻辑上看,主交换机相当于 MPU,从交换机相当于 LPU;二者的软硬件版本无差异,身份由指定或选举确定;仅靠堆叠线缆连接、没有背板总线或 SFU,因此跨板转发流量和控制管理逻辑均需经堆叠口,且要划分管理 / 控制通道来传递消息。
在此基础上,以太网交换机形成了三种功能逻辑结构:
|
运行模式 |
功能定位 |
|
独立模式 |
作为独立的盒式交换机运行 |
|
主交换机 |
作为堆叠的主交换机运行,承担管理控制 |
|
从交换机 |
作为堆叠的从交换机运行,负责转发 |
2.3 M-LAG:把可靠性从单板级提升到设备级
堆叠之后,交换机虚拟化还在继续。为应对业务量增长与网络高可靠性需求,M-LAG 虚拟化技术应运而生:通过多台设备间的链路聚合,将链路可靠性由单板级提升至设备级。其核心组件包括 Peer-Link(对等链路)、DFS Group(动态交换服务组)、DAD(双主检测)和 M-LAG 成员口;典型应用场景覆盖服务器双归接入、二层 / 三层网络高可靠部署以及多级 M-LAG 部署。
三、防火墙产品软件架构
第三类产品是防火墙。它的软件架构同样源自家门:早期防火墙由路由器衍生而来——路由器转发流程中,接口入 / 出方向有 ACL 过滤,通过匹配 IP 报文五元组(源 IP 地址、目的 IP 地址、协议号、源端口号和目的端口号)决定报文是否通过,这就是包过滤防火墙的雏形。
3.1 盒式高性能防火墙:主控 CPU + NP + 转发 CPU
盒式高性能防火墙包含主控 CPU、NP 及多个转发 CPU,三者分工明确:主控 CPU 负责设备管理、控制协议功能,生成指导转发的转发表;NP 承担报文负载分担,按规则将报文分发至各转发 CPU;转发 CPU 处理转发业务,其所需配置信息及 FIB、ARP 等转发表项由主控 CPU 生成并通过总线下发。此外,部分产品会将转发 CPU 生成的会话信息下发至 NP,使符合条件的直通流量可由 NP 处理,无需再经过转发 CPU——会话一旦建立,后续报文在 NP 上就能"直通"。
3.2 流转发:防火墙区别于路由器的关键
防火墙多需关注报文上下文,即"流转发"。流,一般指终端上的一次完整的 TCP/IP 通信过程。防火墙的转发处理流程包括两条路径:一条是标准的 IP 包转发流程,处理和路由器的软转发功能大致相当;另一条是流转发流程——完成首包处理后,在流表中生成一个流信息,记录后续报文处理所需的参数;后续报文到达时,在入方向的会话查找过程中匹配到会话,就走流转发流程,处理效率大大提升。

图 8 防火墙转发处理流程(首包经内容安全链处理后创建会话,后续报文命中会话直接快速转发)
从流程图可以看到首包的完整旅程:报文接收、低层解析、Anti-DDoS、预处理、入方向进程、路由 / 负载分担、出方向进程(ACL / Policy / S-NAT)、Source NAT,随后进入会话创建;内容安全环节串联起 IPS、反病毒、URL 过滤、业务感知以及 D-NAT / SLB 等处理;会话建立后,后续报文只需在会话表中命中即可沿快速路径传送。
四、WLAN 产品软件架构发展演进
最后一类产品是 WLAN。WLAN 组网中最核心的设备被称为 AP,围绕着 AP 的架构,出现了三种典型的组网解决方案:Fat AP、AC + Fit AP、Central AP + RRU。
4.1 Fat AP:一个人战斗的"胖"接入点
Fat AP 是早期 WLAN 产品,每个 AP 都是一个独立的网关路由器,提供独立的 WLAN 接入热点。其软件架构在路由器基础上增加了无线网络接口,支持 BSS 和 SSID 配置:CPU(SoC)之外配以 RF 模块和天线,直接为多个 BSS 提供接入。这种架构部署简单,但每台 AP 各自为政,不适合需要统一管理的大规模场景。
4.2 AC + Fit AP:大规模园区的统一管理
AC + Fit AP 组网中,AC 管理其下连接的所有 Fit AP。Fit AP 是无线接入点,不能单独工作,必须由上一级的 AC 进行统一管理,二者之间通过 CAPWAP 隧道传递控制与数据。这一方案适合大规模园区,能提供大范围统一的 WLAN 接入,终端移动时不中断连接,提升体验。

图 9 AC + Fit AP 组网(AC 通过 CAPWAP 统一管理多台 Fit AP,终端在 BSS 间漫游不断线)
4.3 Central AP + RRU:天线拉远的第三条路
Central AP + RRU 方案中,Central AP 加上其所连接的 RRU 完全可以看成是一个独立的网元:每个 RRU 都是一个拉远的天线模块,射频处理主要在 Central AP 完成,因此 RRU 单元可以做得更为简单。该方案比 AC + Fit AP 更为便宜,比 Fat AP 的 WLAN 覆盖空间更大。在进阶的 AC + Central AP + RRU 方案中,Central AP 相当于 Fit AP,只不过天线被拉远,可以比普通的 Fit AP 覆盖更大的范围,同时保留 AC 的集中管理能力。
|
方案 |
管理方式 |
覆盖能力 |
成本 |
适用场景 |
|
Fat AP |
独立网关,自行管理 |
单点热点 |
低 |
小型场景、独立热点 |
|
AC + Fit AP |
AC 集中管理, CAPWAP |
大范围统一接入,移动不中断 |
中 |
大规模园区 |
|
Central AP + RRU |
独立网元( Central AP + RRU ) |
射频集中处理, RRU 拉远覆盖 |
低于 AC + Fit AP |
覆盖优先的室内场景 |
|
AC + Central AP + RRU |
AC 集中管理 |
相当于天线拉远的 Fit AP ,覆盖更大 |
中 |
大范围 + 集中管理 |
本章总结
● 路由器软件架构:功能逻辑采用管理面、控制面、转发面三层设计,分别承担管理配置、控制逻辑计算、报文转发核心职责;核心是 IP 转发流程,涵盖报文接收、解析、路由查找、封装发送等全环节。
● 转发架构演进:从早期集中式软转发(性能有限),发展到分布式软转发(多单板分工)、NP 转发(专用硬件提升灵活度)、ASIC / FPGA 转发(高性能专用芯片),直至结构化网络架构实现高集成度。
● 软件实现架构演进:从单任务单体架构,过渡到多任务模块化架构,最终形成多任务用户态—内核态组件化架构;五平面分层(基础设施、系统服务、管理、控制、转发)贯穿始终。
● 以太网交换机:发展基础是替代早期 CSMA/CD 技术,采用存储转发模式,依据目的 MAC 地址实现二层转发;堆叠技术让多台盒式交换机经专用端口环形连接构成虚拟大交换机,分主、备、从三种运行模式,主交换机承担管理控制、从交换机负责转发;M-LAG 进一步把链路可靠性提升至设备级。
● 防火墙:源于路由器 ACL 过滤功能,通过匹配 IP 报文五元组实现包过滤;盒式高性能防火墙由主控 CPU、NP 及多个转发 CPU 分工协作;转发流程分为标准 IP 包转发和流转发,流转发通过首包创建会话表、后续报文匹配会话快速处理,大幅提升效率。
● WLAN:核心设备为 AP,衍生出三种组网方案——Fat AP(独立网关,支持 BSS 和 SSID)、AC + Fit AP(AC 统一管理,适合大规模园区,终端移动不断线)、Central AP + RRU(射频集中于 Central AP,覆盖大且成本较低);进阶方案 AC + Central AP + RRU 兼顾覆盖范围与集中管理。
结语
把四章内容放在一起看,数据通信软件架构的演进有一个共同的主题——分工。路由器把软件拆成管理、控制、转发三个平面,又把转发从 CPU 搬到 NP、ASIC,直至搬进独立的交换框;交换机把多台盒子捏合成一台虚拟设备,让主从各司其职;防火墙把"一条流"的首包与后续报文分开处理,用会话表换转发效率;WLAN 则把"胖"AP 的职责一层层上收到 AC、下放到 RRU。软件架构史,就是一部不断回答"谁来干什么"的历史——当分工足够精细,性能与灵活这对老冤家,才能各得其所。