第一章:互联网协议操作基础

思科出版社

12345678910 第6页
第6页的10

大多数Cisco路由器使用思科IOS软件执行分组交换功能。(IOS XR是用于高端路由平台,包括CRS-1和XR 12000,和开发载体类服务提供商的要求。)IOS首次开发的时候,只有一个切换机制的存在。这种方法被称为进程切换很简单,不是很有效。随着网络速度和更高的性能需求的增长,增强了思科IOS软件,提供改进的切换方法。专门的硬件组件也开发和纳入某些路由器提高转发性能。今天,Cisco路由器是可用的,成千上万的每秒数据包之间切换(Kpps)数亿每秒数据包(mmp)。专用的基于硬件的转发引擎,主要作为专用集成电路(ASIC)实现,需要实现转发率最高。其他参数,如I / O内存总线的速度和性能,可以对切换性能有很大的影响。面临的挑战是创建尽可能多的开关性能的限制范围内可用的ASIC, CPU、I / O总线和内存技术和成本。各种Cisco路由器使用的转换方法实现这些利率取决于特定路由平台。

总的来说,三种转换方法在今天思科IOS:

  • 流程切换:数据包由路由器CPU直接处理和转发。

  • 快速切换:数据包转发的CPU中断,使用缓存条目由流程切换。

  • 思科表达转发(CEF):使用预先计算的数据包转发和路由表的优化版本。

这三个切换方法详细回顾了一般。本文的目的不是描述所有使用的优化和机制每个转发数据包。许多优秀的引用已经涵盖这些方面。检查”进一步的阅读”部分在最后这一章的具体建议。目的是调查这三种转换方法如何处理数据包在各种IP流量飞机,并明白这对路由器性能的影响,因此,网络稳定和安全。

进程切换

最古老、最基本的开关模式切换过程,也称为“慢路径”切换。过程交换是指交换数据包的排队路线上的CPU处理器然后CPU转发决策,在流程级别。“路由处理器”这个术语是用来描述模块包含CPU、内存的系统软件,大多数组件所使用的路由器转发数据包。在切换过程模型中,每一个分组交换请求排队与所有其他应用程序和服务,反过来,由软件路由处理器上的CPU上运行。

图1 - 11说明了步骤,接下来,列出参与转发数据包的过程切换:

  1. 切换过程开始时,网络接口硬件接收数据包,并转移到I / O的记忆。这将导致网络接口硬件中断CPU,提醒它进入包在I / O内存要求处理。IOS更新入站信息包计数器。

  2. IOS软件检查数据包报头信息(封装类型,网络层标题,等等),决定了它是一个IP数据包,并将它放在适当的开关过程的输入队列。

  3. CPU执行路由查找(第三层)。在找到一个匹配,CPU从路由表中检索下一跳地址(第三层)和媒体访问控制(MAC)地址(2)层与这个从ARP缓存转发地址,并构建新的头。然后,CPU队列出站网络接口的数据包。

  4. 出站网络接口硬件感官缓冲包,从I / O出列内存,并将其传输到网络。然后它中断主处理器表明包被传播。IOS更新其出站包计数器和释放在I / O空间记忆以前的包。

你可能已经意识到,尽管简单,过程切换在性能方面有许多不足切换方法。首先,每个包交换根据上表中描述的过程。任何后续的数据包属于同一个流也将使用相同的转换过程。在这个基本的方案中,没有机制认识到后续的数据包可能已经流的一部分,这第三层路由查找和2层MAC查找以前被执行。第二,因为过程切换需要每个数据包的路由表查找,随着路由表的大小,那么执行任何查询所需的时间(以及总开关时间)。递归的路线需要额外的路由表查找,进一步增加了查找的时间长度。

图1.11

图1 - 11

说明进程切换

从IP流量平面的角度来看,它应该明确这一进程切换执行相同的功能,最初,每包在任何IP流量飞机,不管数据包类型,因为每一个数据包都必须由CPU处理。根据交通平面和包类型,然而,一旦IOS检查数据包报头,它决定哪些软件过程把包了。在这一点上,额外的处理通常需要特定的数据包,可能影响路由器的整体性能。

  • 数据平面:数据平面包运输目的地是由过程交换操作完全一样图1 - 11说明了。因为CPU时钟周期有限可换包,计算路线,并执行其他功能要求,转发性能受限于CPU利用率,可以有所不同。也有一个上限数据包转发,每秒数据包的最大数量(pps),无论接口带宽值。这一概念是在第二章进一步探讨。需要额外的加工处理数据平面异常数据包。例如,TTL = 0的数据包必须下降,必须生成和ICMP错误消息传回发起人。包与IP选项也可能需要额外的加工处理头选项。当异常数据包的比率成为大正常运输包相比,转发性能可能会受到影响。因此,控制数据平面异常数据包的影响特别是在保护路由器资源至关重要。第四章详细探讨了这些概念。

  • 控制平面:控制平面运输目的地的数据包处理完全一样的数据平面运输包。控制平面与接收数据包的目的地和非ip异常数据包(例如,第二层keepalives,到底是什么——却,等等)也遵循相同的初始过程交换操作说明图1 - 11。然而,一旦数据包识别决定接收或非ip数据包,他们交给不同的CPU的软件元素,和额外的资源消耗完全处理这些包。例如,频繁的路由协议更新(如接口是拍打时可能发生)会导致路由广告和路径重新计算,导致暂时的高CPU使用率。高CPU使用率可能导致了交通数据平面,如果路由器无法转发请求提供服务。适当的网络设计应尽量减少路由不稳定。对于过程交换平台,这是至关重要的,以防止欺骗和其它恶意数据包从影响控制飞机,可能消耗路由器资源和破坏整体网络的稳定。第五章详细探讨了这些概念。

  • 管理平面:管理平面运输目的地的数据包处理完全一样的数据平面运输包。管理平面与接收数据包的目的地也遵循相同的初始过程交换操作描述为控制飞机。然而,一旦数据包识别确定这些是接收数据包,他们交给软件元素的CPU负责适当的网络管理服务。管理平面交通通常不包含IP异常数据包(MPLS OAM使用路由器警告IP选项是一个例外),但可能包含非IP(2)层异常数据包(通常以CDP数据包的形式)。一般来说,管理平面交通应该对CPU性能几乎没有影响。可能是一些管理操作,如进行频繁的SNMP轮询或打开调试操作,或者使用NetFlow可能导致高CPU利用率。仔细定义可接受的使用生产网络的政策应该防止无意CPU的影响。然而,由于管理平面交通处理直接由CPU、滥用的机会使其关键管理飞机安全实现。第六章详细探讨了这些概念。

  • 服务的飞机:服务飞机数据包遵循相同的初始过程交换操作说明图1 - 11。然而,飞机包通常需要特殊处理的服务路由器。例子包括执行封装函数(例如,GRE、IPsec或MPLS VPN)或执行一些QoS策略路由功能。这需要飞机服务包是由不同的CPU的软件元素,导致另外,可能重,CPU资源。一般来说,流程切换服务飞机包可以在CPU利用率有很大影响。然后主要关心的是保护飞机服务的完整性,防止欺骗或恶意数据包从影响CPU。第七章详细探讨了这些概念。

虽然过程包含最少的切换性能优化,可以消耗大量的CPU资源,它有独立于平台的优势,使其普遍可用的所有思科ios系统产品。不过,从性能的角度而言,还有很多需要改进流程切换。您可能已经注意到在过程交换流所示图1 - 11这三个关键的信息需要切换任何包:

  • 目的地网络可达性:路线必须存在于转发目的地址表。

  • 出口接口:如果存在路由,下一跳的IP地址向目的地必须是已知的。

  • 跳层2地址:层2(例如,MAC)下一跳地址也必须是已知的。

这个信息是确定每个数据包转发的切换过程,即使前面的包需要完全相同的信息。在大多数IP网络,流动通常由多个数据包。如果其中一个查询的结果,本质上可达性/接口/ MAC组合,暂时保存在一张小桌子吗?可以大量减少转发时间达到最传入的数据包?这是快速切换IOS背后的想法。

快速切换

快速切换是一种软件增强流程切换速度包使用转发路径的性能。你也可以看到这个被称为“快速缓存交换。”Fast switching uses a route cache to store information about packet flows. The route cache is consulted first in each forwarding attempt, instead of using the more expensive, process switching lookup procedures described in the previous section.

图1 - 12说明了步骤,接下来,列出参与转发数据包的快速切换:

  1. 快速切换开始切换过程完全一样。首先,网络接口硬件接收数据包,并转移到I / O的记忆。网络接口中断CPU,提醒它导入包中等待I / O的内存进行处理。IOS更新入站信息包计数器。

  2. IOS软件中断检查数据包报头信息(封装类型,网络层标题,等等),并确定它是一个IP包。而不是把包放在输入队列对于CPU处理,然而,中断软件咨询的快速缓存条目匹配目的地址。如果一个条目存在,中断软件检索层2 (MAC)和出站接口信息的高速缓存和建立新图层2头。最后,中断软件提醒出站接口。

  3. 像过程再次切换,出站网络接口硬件感官包,从I / O出列内存,并将其传输到网络。

图1.12

图1 - 12

插图的快速切换

注意,如果在缓存中没有找到目的地址,路由器恢复处理转向提出了使用前一节中描述的程序包。然而,一个区别是,当启用了快速切换,切换过程完成之后,一个新的条目在高速缓存(路由缓存),以供将来使用。也就是说,第一个包的任何新的流总是切换过程。后续数据包的快速切换。

快速交换分离的昂贵CPU-based路由过程相对简单,interrupt-process转发过程驱动的。这就是为什么快速切换通常被称为”路线,提出许多“的过程。快速切换动态创建和删除缓存项。创建一个新的缓存条目当第一个包流程切换和给定的目的地ip route-cache命令启用了输出接口。一个路由缓存条目时可以删除没有使用一段时间(闲置超时),和在某些低内存条件。

除了执行高速IP转发、快速切换中断水平实现了许多其他特性。例如,基础设施的访问控制列表(iACL),策略路由和IP多播路由都是支持快速切换。并不是所有的功能都支持快速切换,然而,它可能需要禁用。(禁用快速切换导致路由器回落进程切换。)例如,您可能需要禁用快速切换时需要调试和包级别跟踪。

相关:
12345678910 第6页
第6页的10
工资调查:结果是在