Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19269195
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: 系统运维

2008-03-20 20:56:31

因为业务的复杂性和接口的多样性要求,低端路由器一直采用CPU作为转发引擎和业务处理引擎,这一体系结构一直延续至今。但目前网络宽带化已经成为主流,路由器的组网环境也发生了很大变化。从最初的低速广域网链路,发展到2Mbps E1、N×2Mbps、甚至155Mbps,同时宽带城域网的发展,也使以太网的上连接口快速普及,对路由器的性能要求日益增高。另一方面,低端路由器的业务功能也有了很大发展,从最初的基本异 种网络互连和IP报文转发,发展到对NAT/ACL包过滤、策略路由、QoS、VoIP、VPN、DLSW、哑终端等业务的支持。低端路由器上业务功能的丰富性和处理性能的高速化之间的矛盾日益突出。

  其中,低端路由器的性能难题已经成为各网络厂家攻关的重点之一。在低端路由器领域,各主流厂家采用的硬件方案都大同小异。产品开发完成后,硬件结构就基本趋于稳定。此时,从软件优化方面来提升路由器的转发和业务处理性能,成为最主要的途径。通过研究路由器转发算法,分析其转发流程中的瓶颈所在,可以在相同的硬件平台上,大幅度提升低端路由器的处理性能。

  低端路由器的软件总体架构,基本上都参考了Unix平台的IP协议栈来实现。其底层的收发过程在硬件中断中处理的,性能比较快。但任务切换消耗资源大,报文处理过程中的任务切换消耗CPU的资源。在内存分配算法方面,路由器的转发原理是缓存转发,报文入任务队列时,需要将底层收发上来的报文信息拷贝到内存中,这一过程中,不同的内存分配算法,对硬件资源的消耗有一定区别。在路由查找、NAT、ACL、QoS等业务的处理过程中,各个业务模块的软件设计,对总体性能均有影响。

  在通过系统仿真分析了路由器通常转发流程的性能瓶颈点所在之后,针对中低端路由器产品设计开发的新技术“快速流交换”(Fast Flow Switch,FFS)算法对转发流程和业务处理流程进行了优化,使得路由器处理性能大幅度提升。FFS技术的核心在于,它把关键处理过程下移,在硬件中断里实现流分类、流交换,结合普通的快速转发算法,减少了系统内部任务间切换和内存、缓存管理引起的资源消耗,从而提升了整个系统的处理性能。FFS对原有转发流程进行了优化:保持底层数据收发在硬件中断处理中的高效性;在硬件中断中实现报文快速交换,避免报文转发处理过程中的软件任务切换,提升报文转发的效率;对内存分配算法进行优化,针对IP报文的特点,在内存中开辟独立的快速缓存区,实现IP报文的快速缓存;在快速转发处理引擎中,采用流交换的方式对报文进行处理,FFS设计快速交换流表,在统一的业务处理引擎中,同时实现转发、NAT、ACL等业务的处理。


阅读(479) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~