目录

(1)高性能路由器的基本组成
(2)高性能路由器的结构特点
(3)高性能路由器软件系统
(4)高性能路由器信息模型

高性能路由器的基本组成

路由器可以抽象成四个部分:

  • 输入端口
  • 交换结构
  • 输出端口
  • 路由处理器

输入端口和输出端口都做在线卡(Line Card)上面。

有的端口同时具有接收和发送数据包的功能;有的只能接收或者只能发送数据包。

流程:数据包到达输入端口 ---> 路由查表 ---> 目的输出端口
对于高性能路由器而言,路由查表同样在线卡上进行,硬件或者通用处理器进行处理。

路由器分类之一:输入缓冲 及 输出缓冲
if(输入端口总带宽 < 交换结构带宽) then 输出缓冲;
else then 输入缓冲;

对于输入端口而言:

  • 提供QoS保证:对数据包进行分类。
  • 运行PPP等链路层协议。
  • 如果需要在输入端口进行缓冲,那么输入端口需要参与交换结构的仲裁算法。

对于输出端口而言:

  • 存储数据报文。
  • 对数据报进行调度。
  • 使用复杂的调度算法。

对于路由处理器而言(相当于路由器中的控制层和管理层):

  • 运行路由协议。
  • 生成转发表。
  • 控制转发过程。
  • 运行管理和配置文件。

结构特点

  • 数据平面与控制平面的分离(是SDN的核心概念)
  • 基于接口的并行分布体系结构
  • 多机柜分布并行体系结构
  • 高性能路由器逻辑视图(高性能路由器结构的一般化抽象)

数据平面和控制平面的分离

一般将网络的功能分为:

  • 管理平面
  • 控制平面
  • 数据平面,又称用户平面

在路由器中,由于管理配置的目的是对报文转发进行控制,因此也归为控制平面。因此路由器的结构就简化为只含控制平面和数据平面的二层模型。
由于数据平面实现的是报文转发功能,因此又称转发平面。

高性能路由器结构的一个典型的特点,就是控制平面和转发平面分离。
大致流程:
来自外部高速网络接口的数据报 -> 接口板卡 -> 根据转发表的信息 -> 通过路由器的内部高速交换网络 -> 交换到目的输出接口 -> 外部网络。

由于转发表不再存储于路由处理器中,而是由路由处理器下载到各个接口板卡上,一般的报文转发不必再经过路由处理器。使得:

  • 控制平面和转发平面相互独立。
  • 不同接口的数据报转发相互独立,即分布并行。

这样的优点:提高了转发的效率,增加了转发平面的可靠性。

基于接口的分布并行体系结构

高性能路由器不同接口的数据报转发是独立进行的,不同接口并行转发;系统的吞吐量基于接口的转发能力之和。
在背板交换能力一定的情况下,系统的拓展性通过接口的数量和速率来体现。

多机柜分布并行体系结构

随着路由器规模的扩展,路由器的板卡可能需要放在多个机柜。
由控制处理系统运行路由协议,并基于性能及可靠性考虑采用多个节点。多个转发机柜并行转发数据报。

  • 多个转发机柜之间通过 内部高性能数据网络 互联。
  • 转发机柜和控制处理系统之间通过 控制网络 互联。
  • 多个控制处理系统之间通过 控制网络 互联。

每个机柜有多个线卡,多个机柜并行转发。
路由器的转发能力和拓展性体现在可互联的机柜数量上。

高性能路由器逻辑视图

互联网路由器架构 路由器结构设计_数据

在上图中,高性能路由器逻辑结构主要由四部分组成:
(1)接口处理节点:负责接收来自外部高速网络的分组,通过数据交换网络交换到目的输出接口处理节点,发往外部网络。
(2)数据交换网络:实现不同接口处理节点之间的高性能数据交换。不占用路由器对外高速接口。
(3)控制节点:运行路由和信令协议,计算路由表,并将转发表发布给接口处理节点,控制分组转发。
(4)控制网络:负责1.控制节点间互联 2.控制节点和接口处理节点互联。协调控制节点间工作,采集接口处理节点信息。

高性能路由器软件系统

高性能路由器的软件系统包括两个部分:(1)控制节点的软件系统 (2)网络处理器的微码。
控制节点的软件由驱动程序,TCP/IP基本协议栈,路由和信令协议,配置和管理软件等组成。
其中由多个信息库,比如路由表,标记库,控制访问表,管理信息库,配置库等等。

高性能路由器信息模型

信息流模型

高性能路由器处理的数据报文包括 控制报文 和 数据报文。

  • 控制报文主要是用于路由协议,信令和路由器管理与配置 交互的报文。
  • 数据报文承载的是需要路由器转发的网络用户的信息,主要由路由器的接口板卡处理。

因此,整个路由器的处理和存储能力就在接口板卡和CPU之间分担。CPU处理慢速的控制流,接口板卡处理快速的数据流。

控制流的慢速路径

路由协议和网络管理协议主要在 主控CPU(控制节点) 上运行。
主控CPU在内部交换网络看来,和一般的网络接口没有区别。但是收发的是控制报文,比如ICMP,TCP,UDP,RIP,OSPF报文等等。

相对于底层内部快速交换网络交换数据报而言,这条路径(内部交换网络 <-> 主控CPU)称为非关键路径或者是慢速路径,一般对于时限没有具体的要求。
但是如果主控CPU上运行着大量的模块,不能及时对某些控制报文进行处理,可能会带来动态路由协议邻接关系的断链,造成路由震荡。

数据流的快速路径

数据报从外部高速网络被接口接收进入路由器,经过交换网络,到达出口,送往外部网络。
一般来说,转发路径中的协议只在接口板卡以及内部高速交换网络中运行。比如IP协议和数据链路层协议(以太网等)。

控制平面和数据平面的交互

路由器的控制平面,控制数据平面的报文转发;主控CPU(控制节点) 将控制信息送到 接口处理节点,由接口处理节点实施控制的策略。

主控CPU运行路由协议生成转发表,控制接口处理节点的转发过程;转发表和其它控制信息,以及过滤表,以适当的方式传递到接口处理节点。
主控CPU与接口板卡的交互信息格式,一般由开发商自己定义。
由于主控CPU也要发送自己产生的IP报文,和接口板卡不能处理的IP报文,因此主控CPU也要维护自己的转发表。
主控CPU通过广播或者其它技术,同时更新每一个接口处理节点的转发表。

对于同样的一个功能,开发商可以选择在快速路径实现(即在接口处理节点或者是内部快速交换网络),或者在慢速路径上实现(主控CPU)。

数据报分片,对路由器的性能影响较大。

2016/10/7