Download presentation
Presentation is loading. Please wait.
1
IP Router Architectures: An Overview
By James Aweya Nortel Networks 1999
2
IP路由器的一般结构
3
IP路由器的基本功能 路由处理: 包转发: 特殊服务: 通过运行路由协议来学习网络的拓扑结构,建立并维护路由表。
IP包检验(如版本号、头长度、头校验等)、目的IP地址解析及查表、包头修改(如TTL域修改、头校验生成)、IP包分片等。 特殊服务: 不属于核心路由的其它功能,包括数据包转换、封装、流量管理、认证、包过滤等。
4
路由表查找 路由表查找一直以来是IP路由器的一个主要性能瓶颈。
最早的路由表查找方法是Radix树或改进的Patricia树+路由cache。路由cache通常组织为一个哈希表,使用简单的精确匹配查找方法。 路由cache适用于网络边缘或企业网内部,但在核心路由器中效果不明显: 核心路由器见到的目的地址数量巨大,可导致缓存溢出,或查找速度变慢。 频繁的路由更新使得cache中的路由信息很快失效。 基于软件的查找方法灵活性强,基于硬件的查找方法一般能以较低的代价获得较高的性能,但是缺乏灵活性。
5
基于总线和单CPU的路由器体系结构
6
基于总线和单CPU结构的缺点 中央处理器必须处理流经路由器的所有包,导致严重的处理瓶颈。
一些主要的包处理任务涉及大量的访存操作(如查表和数据移动),提高处理器的速度并不能减少这些任务的处理时间。 接口之间数据移动所花的时间常常超过包头的处理时间,I/O总线成为限制路由器吞吐量的重要因素之一。 总而言之,基于总线的路由器的性能严重依赖于共享总线的吞吐量以及中央处理器的转发速度,可扩展性差。
7
基于总线和多处理器的路由器体系结构(1) 改进: 缺点: 带路由cache的结构 将包转发功能、路由cache和包缓冲器分布到各个NIC上:
减少总线拷贝次数 减轻CPU负担 减少查表时间 缺点: 吞吐量依赖于流量模式(路由cache命中率)。 高速情况下,主路由表很容易成为瓶颈。进一步的改进是在每个NIC上配备完整的转发表,路由cache仍保持。 共享总线依然是瓶颈。 带路由cache的结构
8
基于总线和多处理器的路由器体系结构(2) 转发引擎只负责解析下一跳地址和处理包头。
包载荷总是直接在接口模块间传输,从不发送给转发引擎或路由处理器(除非是发给路由器本身的)。 各个转发引擎可并行地处理不同的分组头,需要考虑包序及负载平衡的问题。 使用多个并行的转发引擎
9
基于交换和多处理器的路由器体系结构 每个线卡包含一个或多个网络接口。 每个转发引擎包含一组转发表和路由cache,负责包头的处理与转发。
线卡、转发引擎卡、控制卡通过交换结构连接。 使用交换结构代替共享总线
10
转发引擎的处理过程 第一阶段并行执行以下操作 第二阶段 第三阶段 基本的差错检查,确认包头来自一个IPv4数据报 确认包长和包头长度是合理的
计算路由cache的哈希索引值,获取路由信息 读下一个头 第二阶段 若cache不命中,搜索路由表,生成适合路由cache的路由形式; 检查TTL,更新TTL及头校验,确认包是否发给自己。 第三阶段 将TTL及头校验放入IP头,将更新后的IP头及从转发表中获得的链路层信息发送给输入线卡。
11
基于路由缓存的IP转发的局限性 路由cache采用demand-caching模式
当网络拓扑频繁变化时,流量通过主CPU转发(慢路径),而不是通过路由cache转发(快路径)。 路由cache方式适用的流量模式是,大部分流量去往一个目的地址子集。 使用路由cache技术的产品的性能受以下因素影响: Cache的大小,cache的维护策略,慢路径的性能 若网络接口上存在大量并发的流,则硬件cache很难实现,只能用哈希表实现,而哈希查找的性能无法得到保证。 解决方案:在每个网络接口上用转发数据库(IP路由表的完整镜像)取代路由cache,彻底消除慢路径。
12
基于交换的分布式路由器体系结构 路由器的三个主要瓶颈:处理能力,内存带宽,内部总线。
基于交换的分布式结构加上合理设计的网络接口可避免这三个瓶颈 增加每个网络接口的处理能力,减轻处理和内存瓶颈。 通过使用交换结构解决内部总线瓶颈。
13
关键路径和非关键路径 为分析路由器的处理能力和潜在的性能瓶颈,必须确定路由器的功能和相关部件。 路由器的两类任务: 关键路径: 非关键路径
与包转发直接相关的任务(时间关键任务),通常包括包头检查和转发。 与发给路由器本身的包相关的任务(非时间关键任务),如ICMP协议、路由协议、网络管理协议等。 关键路径: 由时间关键的处理任务构成,也称快路径 关键路径的速度直接影响IP路由器的性能,大多数高速路由器用硬件实现快路径。 一般在网络接口中实现 非关键路径 由非时间关键的处理任务构成,也称慢路径 一般在CPU中实现
14
IP路由器慢路径上的功能
15
分布式路由器结构中的 功能划分
16
分布式路由器结构的功能框图
17
转发数据库
18
共享存储路由器结构中的IP包处理
19
总结 高速路由器需要足够的内部通信带宽,路由器设计应当使用交换背板。 路由器需要足够的包处理能力转发包。
路由表查找和数据包移动消耗大部分的处理周期,且这些任务的处理时间不会因为采用了更高速的处理器而减少。 绝大部分的包只需要少量的操作,因此性能关键的功能可以用硬件(快路径)实现,剩余的功能用软件(慢路径)实现。 路由器的设计涉及性能、复杂性与代价之间的权衡。
20
推荐论文 [1] James Aweya. IP Router Architectures: An Overview. Nortel Networks, 1999. [2] S.Keshav, R. Sharma. Issues and Trends in Router Design. IEEE Communications Magazine, May 1998.
Similar presentations