前言
上一章我们看完了交换架构------设备内部"搬运工"的调度中枢;本章补上另一半:转发架构。报文进入设备后如何被解析、查表、切片、重组?为什么路由器要经历五代架构演进、交换机要走完四步?ASIC 和 NP 两大芯片流派各自的算盘是什么?本章按"什么是转发 → 基本原理 → 基本原则 → 质量属性 → 架构类型 → 芯片流派 → 路由器与交换机演进 → 未来方向"的主线展开。适合已阅读过前面以太网、TCP/IP 与交换架构章节的读者。
本章内容概览
|---|-------------|--------------------------------|
| 节 | 主题 | 回答的问题 |
| 一 | 什么是转发 | 转发的定义与二层 / 三层 /MPLS/SR/ 组播五种类型 |
| 二 | 转发的基本原理 | 报文在设备内部的六步处理流程 |
| 三 | 转发的基本原则 | 端到端、宽进严出、转控分离 |
| 四 | 转发系统关键质量属性 | 评价一个转发系统的五个维度 |
| 五 | 集中式和分布式转发架构 | 查表放在一处还是每块线卡 |
| 六 | 转发处理器主要技术流派 | ASIC 与 NP 的路线之争 |
| 七 | 路由器转发技术介绍 | 五代架构的演进与典型产品 |
| 八 | 交换机转发技术介绍 | 四步演进的取舍 |
| 九 | 转发架构的未来演进 | 可编程、在网计算与智能化 |
一、什么是转发:五种转发类型
转发是数据通信网络中最基础的动作,但"转发"并不只有一种形态。按报文依据的地址与机制不同,可以分为二层、三层、MPLS、SR 与组播五种类型。
1.1 转发的定义
转发是数据通信网络中数据包从源节点到目的节点的传递过程。每个数据包前有一个报文头,用以指明其发往何地址。设备依据该地址将数据包送至预期目的地,这一过程就是"转发"。
图 1 数据报文转发过程
1.2 二层转发:查 MAC 地址表
二层转发是基于 MAC 地址进行数据包转发的过程。在网络七层模型中,二层指的是数据链路层,二层转发主要用于同一局域网下主机之间的通信:转发设备根据数据包的目的 MAC 地址查找 MAC 地址表,确定出接口并转发。以太网帧依次由前导码(Preamble,7 bit)、帧起始定界符(SFD,1 bit)、目的 MAC(DMAC,6 bit)、源 MAC(SMAC,6 bit)、Type/Length(2 bit)、Payload(46~1500 bit)和帧校验序列(FCS,4 bit)组成。
1.3 三层转发:查路由表
三层转发发生在网络七层模型的第三层,即网络层,是路由器的基本功能:路由器根据 IPv4 报文中的网络层地址查询路由表,选择合适的路由,将报文处理后发送到下一台设备,主要用于跨网段的通信。IPv4 报文头包含 Version、IHL、Service Type、Total Length、Time to Live、Protocol、Header Checksum、Identifier、Flags、Fragment Offset,以及各 32 bit 的源地址与目的地址,必要时还有 Options and Padding 字段。
1.4 MPLS 转发:基于标签
MPLS 转发是一种利用标签来指导数据报文高速转发的技术,工作原理包括标签分配、标签交换、标签剥离三个步骤。MPLS 头部为 32 比特,由标签(20 bit)、CoS(3 bit)、S(1 bit)和 TTL(8 bit)组成,位于二层头部与 IP 头部之间------所谓"MPLS 转发是基于标签的转发"。
1.5 SR 转发:源路由
SR 转发是源路由技术:入口节点将转发路径信息封装进数据包头,中间节点依此转发,出口删除 SR 头后继续转发;它会在原始数据包中插入段列表来规划转发路径。工作原理分为五步:路径分段、段标识分配、路径编码、逐段转发、目的节点处理。
1.6 组播转发:一对多
组播是一种通过网络进行一对多通信的技术,组播转发会根据需要把同一个报文复制到多个出口。其基本原理围绕三点展开:组播地址、组播组、转发机制。
二、转发的基本原理:报文在设备内的六步旅程
在第九章硬件架构与第十一章交换架构的基础上,本章给出了报文穿越一台设备的完整路径。以路由器为例,一次转发要经过六个步骤:
-
数据光/电信号上行时,由 PIC 卡转为数据帧并校验合法性,再发送至转发处理器;
-
转发处理器(NP/ASIC)接收报文后,解析二层帧头并按配置检查;
-
TM(Traffic Manager,流量管理)从转发处理器获取报文,存入 Buffer 并完成拥塞管理等处理;
-
报文送交换网前经 TM 切片分割,交换网板基于信元交换,下行时重组流量;
-
数据经下行 TM 处理至下行转发处理器,后者查封装表获取目的/出口信息并修改报文,经出口处理后发送给 PIC 卡;
-
下行 PIC 卡计算帧检验、封装数据帧,再转为光/电信号发送至线路。
图 2 报文在网络设备内的转发处理过程
分工上看:PIC 卡负责接口出入的报文收发与帧处理;转发处理器(NP/ASIC)承担报文解析、上行/下行流分类、查表转发、下行封装;TM 负责上行/下行 QoS 处理(拥塞管理、队列调度、多播复制/缓存管理)以及切片与组包处理------上行切为微信元送入交换网,下行再从微信元组包还原。
三、转发的基本原则
在具体架构之前,转发设计有三条被广泛遵循的原则,它们共同决定了数据通信系统的形态。
端到端原则:将功能划分为端到端的两端,即源系统和目的系统------源系统负责产生和发送数据,目的系统负责接收和处理数据。这种设计有利于简化系统架构,提高系统的灵活性和可维护性。
宽进严出原则:数据包转发过程中,发送方应严格遵循协议规范,确保发送数据的质量和准确性;接收方应具备处理各种可能的数据格式和变异的能力,以增强系统的容错能力和兼容性。一"宽"一"严",提高的是网络的健壮性和可靠性。
转控分离原则:将系统的控制平面与转发平面进行物理或逻辑上的分离------控制平面负责决策、管理和配置等控制逻辑,转发平面负责数据的实际传输或处理。转控分离可以提高系统的可扩展性、可维护性和安全性,并提升网络的可靠性。
四、转发系统的五个关键质量属性
|----------|------------------------------------------------------------------------------------|
| 属性 | 内涵 |
| 可靠性和可用性 | 转发面可靠性指高效、准确、稳定处理数据包的能力,以及故障时提供有效容错和恢复机制的能力;可用性指系统正常运行的时间比例,通常用两次故障间的时间长度或故障恢复速度表示 |
| 转发性能 | 设备每秒可以转发的数据包数量,用于评估处理能力和性能瓶颈;影响因素包括硬件处理能力、存储容量、总线带宽以及转发算法等 |
| 灵活性与可编程性 | 灵活性指修改转发系统中包处理行为的能力;可编程能力让用户根据自身需求定制网络功能,不再受限于硬件厂商的固定功能 |
| 可扩展性 | 面对用户需求增长或数据量增加时,平滑提升处理能力或扩充存储容量的能力 |
| 安全性 | 在为合法用户提供服务的同时,阻止非授权用户使用企图或抵御拒绝服务攻击的能力 |
五、集中式与分布式转发架构
把第四节的五个属性作为标尺,转发架构的第一道分水岭就是:查表集中在一处,还是分散到每块线卡。
5.1 集中式转发架构
集中式转发架构是指所有线卡收到的数据流量都送到同一个处理器集中进行查表处理。
该架构由 Route Processor(CPU)与 Memory 组成处理核心,各 Line Card 通过 MAC 与 DMA 经共享 Bus 连接。实现简单、成本低,但所有流量挤一个处理器,天然存在性能瓶颈。
图 3 集中式转发架构
5.2 分布式转发架构
分布式转发架构是指每个线卡都独立查表转发流量,线卡间通过 Switch Fabric 互联。每块 Line Card 内置 Packet Processor、Memory 与 MAC,CPU Card 只负责管理面任务。转发性能高、扩展性好,适配大规模数据处理,是现代设备的主体形态。
图 4 分布式转发架构
六、转发处理器的两大技术流派
转发处理器的技术路线之争,本质上是"用硬件换性能"与"用指令换灵活"两种取向的分歧。业界由此分化出 ASIC 与 NP 两大流派,两者在可编程能力、专用模块比例与适用场景上差异显著。
6.1 ASIC 流派:硬化逻辑换性能
ASIC 流派源于传统芯片逻辑设计,初期为无灵活性的硬件转发 ASIC,可编程能力基于数字逻辑设计技术(如芯片综合、FPGA 等),核心是类似 FPGA 的可编程转发加速与互联单元,与 NP 流派的指令集/执行模型有本质差异。该流派成本低但灵活性差,演进方向是用可编程逻辑单元替代硬件逻辑单元以提升业务灵活性。其内部又分两档:硬件逻辑转发通过硬化逻辑实现,转发行为固定,不支持新特性;可配置逻辑转发借助可配置专用转发单元处理,修改配置能有限变更转发行为,支持简单新功能。
6.2 NP 流派:指令编程换灵活
NP 流派源于传统 RISC CPU 架构设计,可编程能力继承自 RISC CPU 架构技术,通过可编程机器指令执行模型实现。优点是依托指令实现多种功能、灵活性高;缺点是芯片实现成本高,演进方向是提升指令效率与卸载指令以提高报文处理效率。NP 针对数据分组处理采用优化体系结构、专用指令集和硬件单元,满足高速数据分组线速处理需求,能快速实现新标准、服务与应用。NP 又有两种执行模型:
● RTC(并行处理式):基于传统多 Core 架构,多 Core 可执行任意长度转发处理程序,能兼顾高性能简单业务与低性能复杂业务;
● PipeLine(流水线式):各处理器设计为特殊包处理任务,按流水线方式运作,前一处理器处理完数据后传递给后一处理器。
图 5 RTC(并行处理式)和 PipeLine(流水线式)
6.3 两大流派对比
|-----------------|------------|------------------|------------------|---------------|----------------|
| 对比项 | ASIC· 硬件逻辑 | ASIC· 可配置逻辑 | ASIC· 可编程逻辑 | NP·Pipeline | NP·RTC |
| 可编程实现方式 | 无 | 预设转发功能的配置排列组合 | 专用可编程逻辑单元 | 指令实现 | 指令实现 |
| 是否支持新特性(可编程能力) | 不支持 | 非常有限 | 部分支持 | 较好支持 | 完美支持 |
| 转发协议 / 特性专用模块比例 | 全部 | 几乎全部 | 大量 | 少量 | 几乎没有 |
| 适用场景 | 高性能简单业务 | 高性能简单业务但有一定灵活性需求 | 高性能简单业务但有较高灵活性需求 | 高性能简单兼顾中等复杂业务 | 高性能简单与慢速复杂业务混合 |
| 架构实现开销 | 低 | 较低 | 中 | 较高 | 高 |
一句话概括:ASIC 侧重高性能低成本,NP 侧重灵活性,二者的可编程能力与适用场景差异显著。
七、路由器转发技术:五代演进
路由器的转发技术可以划分为集中式转发、准分布式转发、分布式转发、ASIC 转发、NP 转发五个阶段。每一步演进都在回答同一个问题:上一代的瓶颈是什么,如何绕开它。
|-------|-----------------------|-----------------------|------------------------------------------------------|
| 代际 | 转发架构典型特征 | 解决的问题 | 典型产品 |
| 第 1 代 | 集中式转发,总线交换 | 基础报文转发 | Cisco 2500 系列路由器;华为 Quidway R2500 系列路由器 |
| 第 2 代 | 集中 + 分布式转发,接口模块化,总线交换 | CPU 总线瓶颈 | Cisco 4500 系列路由器;华为 Quidway R3600 系列路由器 |
| 第 3 代 | 分布式转发,总线交换 | CPU 转发性能低下,端口密度和转发速率低 | Cisco GSR12000 系列、 Cisco 7500 系列路由器;华为 NE16/08 系列路由器 |
| 第 4 代 | ASIC 分布式转发,网络交换 | CPU 转发性能低下,端口密度和转发速率低 | Cisco GSR12000 系列路由器; Juniper M40/160 系列产品 |
| 第 5 代 | NP 分布式转发,网络交换 | 用户对业务要求增加、对特性推出时间要求快 | 华为 NE40E 系列路由器; Cisco ASR9K 系列路由器 |
第 1 代·集中式转发:接口卡与 CPU 经内部总线连接,CPU 负责路由收集、转发处理、设备管理等所有事务;网络接口接收报文后经内部总线传给 CPU,处理完再从另一接口传出。所有报文处理集中于 CPU,易出现 CPU 总线瓶颈。
图 6 第 1 代路由器集中式转发架构
第 2 代·准分布式转发:利用 Cache 技术将常用路由信息保存在业务接口卡上,多数报文直接用业务板 Cache 路由表转发,仅 Cache 中未找到出接口的报文才送 CPU 处理,减少对总线和 CPU 的需求,解决了 CPU 总线瓶颈------因为只在接口卡完成"部分"报文处理,故称准分布式。
第 3 代·分布式转发:主控板负责设备管理、路由收集与计算,并将生成的转发表下发至各业务板;各接口板依据保存的路由转发表独立完成路由转发。同时总线技术大幅发展,接口板间数据转发无需依赖主控板,实现并行高速处理,路由器处理性能大幅提升。该架构将路由表查找过程完全下放至各接口板,是典型分布式架构。
第 4 代·ASIC 分布式转发:针对转发流程设计专门的大规模集成电路,以硬件方式实现数据包的路由转发处理,极大提高转发性能。ASIC 通常采用流水线处理结构,将任务均匀分配到流水线各部件,交换网采用 CrossBar 或共享内存方式解决内部交换问题。
图 7 第 4 代路由器 ASIC 分布式转发架构
第 5 代·NP 分布式转发:关键 IP 业务流程处理采用可编程、专为 IP 网络设计的网络处理器技术。网络处理器通常由多个微处理器和硬件协处理器构成:微处理器并行处理、通过软件控制处理流程,复杂标准操作由硬件协处理器处理,实现业务灵活性与高性能的结合。
图 8 第 5 代路由器 NP 分布式转发架构
八、交换机转发技术:四步演进
交换机基于 IP 的转发技术经历了多种架构,主要有 CPU + ASIC 芯片的集中式转发架构、CPU + ASIC 芯片的分布式转发架构,以及 CPU + ENP 芯片的分布式转发架构等几种,对应四步演进:
|----|---------------|--------------|-------------------------------------------------|
| 阶段 | 年代 | 架构 | 动因 |
| 1 | 1989 年诞生初期 | 集中式转发(固定接口) | 网络规模小、数据量少、变化小,所有流量经主控板集中转发 |
| 2 | 1998---2002 年 | 集中式转发(模块化接口) | 解决扩展性问题,网络接口改为可插拔模块,报文在主控板完成控制集中转发 |
| 3 | 2003 年后 | ASIC 分布式转发 | 突破集中式转发性能瓶颈: ASIC 分布式部署于每个接口单元,整机性能为所有接口板处理性能之和 |
| 4 | 近年 | ENP 分布式转发 | 兼顾性能与灵活性: ENP 融合 ASIC 与 NP 之长 |
图 9 分布式转发架构(ENP 芯片)
其中 ENP 芯片值得一提:它基于成熟应用十余年的路由器 NP 芯片,融合 ASIC 和 NP 芯片工作原理,内置硬件加速组件、片内集成 SmartMemory 和高速查找算法,既保留传统 ASIC 的成本、功耗、性能优势,又具备灵活可编程能力。
九、转发架构的未来演进
面向未来,转发架构将沿五个方向演进。高性能硬件加速:转发架构将更多运用高性能硬件加速数据包处理,提高转发性能与吞吐量,以可编程处理器为单位构建全可编程流水线架构,拆分集中查找引擎和资源为每级流水线的局部引擎与资源,实现报文处理流程及每级流水线处理的全可编程。集成在网计算:未来转发芯片将更多集成在网计算能力,在数据面集成计算能力可降低通信时延、提高计算效率。智能化和自动化:通过分析学习网络流量模式与行为特征,AI 和 ML 可预测应对潜在网络问题,自动优化网络性能与资源分配。安全可靠和绿色节能:内置安全功能防范网络攻击与数据泄露,采用高可用设计提高系统可靠性,并侧重低功耗设计、运用先进节能技术,同时降低能耗与运营成本。
本章总结
● 转发基础:转发是数据包从源节点到目的节点的传递过程,设备依据报文头中的地址信息将其送至预期目的地;核心类型有二层(MAC 地址表,局域网内)、三层(路由表,跨网段)、MPLS(标签分配/交换/剥离)、SR(源路由,路径分段/段标识分配/路径编码/逐段转发/目的节点处理)、组播(一对多复制)五种。
● 基本原理与原则:报文经 PIC 卡转换校验、转发处理器解析查表、TM 拥塞管理与切片、交换网信元交换与重组、下行封装、PIC 卡发帧六步完成转发;三大原则为端到端、宽进严出、转控分离。
● 质量属性:可靠性和可用性、转发性能、灵活性与可编程性、可扩展性、安全性五个维度。
● 架构与流派:集中式架构所有流量集中查表,实现简单但有瓶颈;分布式架构每线卡独立查表、经 Switch Fabric 互联。ASIC 流派低成本高灵活性差,NP 流派基于指令、灵活性高成本高,分 Pipeline 与 RTC 两种执行模型。
● 专属设备演进:路由器历经五代------集中式(CPU 瓶颈)→ 准分布式(Cache 缓解)→ 分布式(接口板独立转发)→ ASIC 分布式(硬件提速)→ NP 分布式(灵活与高性能兼得);交换机四步走------固定接口集中式 → 模块化接口集中式 → ASIC 分布式 → ENP 分布式。
● 未来方向:高性能硬件加速(全可编程流水线)、集成在网计算、AI/ML 智能化自动化、安全可靠与绿色节能。
结语
从一块 CPU 包办所有查表,到每块线卡各自为战,再到 ASIC 与 NP 两条流派在"性能还是灵活"的天平上反复校准,转发架构三十多年的演进史其实是一部"瓶颈迁移史":总线成了瓶颈就下放查表,CPU 转不动就硬化成 ASIC,特性迭代跟不上就用 NP 找回灵活,最后 ENP 干脆把两者捏到一颗芯片里。看懂了这条主线,再看全可编程流水线与在网计算这些新词,不过是同一场演进的下一章。