目录
(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