主动路由器结构研究
发布时间:2006-10-14 7:10:21   收集提供:gaoqian
  赵昭灵 谈满堂 刘勤让 杨宇燕

  (国家数字交换系统工程技术研究中心 450002 郑州)

  摘要 随着因特网的飞速发展,网络应用日新月异。然而,这些新的应用中有相当一部分是为了少量的应用或者少数人的需求而提出来的,仅依靠对现有网络的体系结构进行局部的修补已经不能够很好地解决这些问题,这就要求下一代网络的体系结构必须能够在尽量少地改变现有网络基础设施的条件下,满足不同重要程度的各种需求。本文在介绍了主动网络的产生背景、概念和体系结构之后,提出了主动网络在边缘的观念,并给出了一种可扩展的主动路由器硬件结构。

  关键词 主动网络 主动路由器 硬件结构

  1 前言

  随着网络规模的不断扩大,现有网络的体系结构在可扩展性、可管理性、安全性和可靠性等方面面临着越来越大的挑战,仅依靠对现有网络的体系结构进行局部的修补已经不能够很好地解决这些问题,因此对下一代网络体系结构进行研究已经迫在眉睫。此外从目前的发展情况来看,新的需求层出不穷,而这些新的需求中有相当一部分是为了少量的应用或者少数人的需要而提出的,这就要求下一代网络的体系结构必须能够在不同时间、不同区域满足不同重要程度的各种需求,所有的这些导致了主动网络概念的产生。

  2 主动网络的概念

  主动网络(Active Network)的概念是由美国国防部的高级防御研究计划管理处(Defense Advanced Research Projects Agency,DARPA)研究协会于1995年,针对当时网络发展过程中遇到的几个问题(即把新的技术和标准引入现有网络中的困难;由于几个网络协议层的冗余操作而使网络性能下降;在已存在的结构模块中加入新服务的困难)提出的。为克服这些困难,科学家们考虑了几个策略,这些策略最终综合为主动网络方案。主动网络方案是使网络节点不仅能转发报文而且可以通过执行附加程序来对报文进行处理。整个网络上的节点也都是可编程的,可以执行用户定义的报文处理程序。同时DARPA指出未来网络系统应该是运行时刻可扩展的;网络系统结构应该动态地支持对网络服务的不同程度的控制;网络报文本身应该是被一种语言描述的可以被网络应用所“裁减”的网络资源,即网络应用可以根据需要,有选择地使用网络资源;而且网络体系结构应该是灵活可变的。

  主动网络是相对于现有网络而言的。现有网络由于不对报文进行处理或计算,因此可以称之为被动网络(Passive Network)。虽然现有网络中的路由器和交换机也可以改变报文的报头,但它们对真正的用户数据却不做任何处理,原封不动地转发用户数据是它们的宗旨。即使对报头的改变和相关路由处理也是独立于用户处理和产生这些报文的应用程序。相比之下,在主动网络中的路由器和交换机可以对网络报文进行用户自定义的计算。

  主动网络的优势主要有以下几个方面:

  (1)主动网络可加速网络结构的更新

主动网络的网络节点有很大的灵活性,它不再是对数据包执行相同的计算——向目的节点传送数据包,而代替以支持相同的可计算模块。在获得权限的条件下,任何用户都可以把自己的程序发送到节点上并要求执行,任何用户的程序都可视为是对节点功能的扩充。

  *国家“863”信息技术领域重大专项基金(No.2001AA124011)资助这样做的结果实际上就是把网络结构和技术的更新工作分配给所有的用户而不再仅仅是网络专家。网络中也不再需要为每一种新的功能制定新的标准,只需要制定主动网络语言的标准,即接口标准。任何新功能或新协议的开发都是编制新的主动网络应用程序的过程。这些新协议和功能的发布和应用也简化到只是把程序代码发送到需要扩展这一功能的节点上的过程。显然,在这种用户推动的主动网络中,技术更新要快得多。

  (2)使用户参加的网络保护成为可能

  现有的网络是硬件与软件的结合。像防火墙这样的服务是作为一种特定的附加功能加入网络中的,虽然生产商在防火墙的软件上留有一定的配置余地,可以让用户配置防火墙的功能,但是它的基本功能是不变的,它只对信息来源进行检查并屏蔽用户不希望的数据。但当仅靠数据的来源来屏蔽不想要的信息已经不能满足需要时,我们不能在防火墙上增加自己的过滤软件,这样既不太容易做到,也是防火墙生产商所不允许的。除非要求的功能是所有用户都希望的,防火墙的生产商才可能增加这个功能。

  相比之下,主动网络可以很好地解决这个问题。因为主动网络的体系结构是硬件与软件分离的。主动网络试图设计一个一体机制来统一管理网络上的所有资源和在网络上传输的数据。这样就允许我们在每个应用或每个用户的基础上定制自己的安全策略,其意义由主动网络上已严格定义的语言及其扩展功能来解释。网络设备生产商只需要生产带有用户希望的基本功能并对网络语言有强大支持的设备,而设备的扩展功能软件则可以由用户自己来添加,即向网络节点中注入用户程序。

  (3)提供智能化网络管理

  现在,对网络的许多管理工作无非是收集、比较和分析数据。为了提供最有用的网络管理数据,网络必须有一定的智能,以便从诸多的网络事件中滤掉对特定用户没有用的网络事件。主动网络技术可以用来实现网络监视和事件过滤的智能,主动网络的路由器甚至可以通过向它们的相邻节点注入自定义的监视和分析程序来对网络事件进行分析和过滤。

  3 主动路由器总体结构

  主动网络是由一些主动路由器及传统路由器组成,而主动网络的功能就是由这些主动路由器来完成,所以主动路由器必须具有良好的主动性能。

从功能的角度来讲,主动路由器可以划分成三个主要的层次,分别是节点操作系统(NodeOS)、执行环境(EE)和主动应用(AA),如图1所示。


图1 主动路由器的总体结构

  (1)节点操作系统

它是主动路由器最下面的功能层次,与主动路由器的硬件资源接口,管理和控制主动路由器硬件资源的使用。这些主动路由器的硬件资源包括节点的计算处理能力、存储器资源和I/O处理通道等系统资源。它屏蔽了对这些资源使用的细节问题,给上一个功能层次——EE提供使用这些资源的接口。为了提供QoS保证,NodeOS还应该具有相应的策略和安全信息库。

  (2)执行环境

  它和下层的NodeOS接口,并为上层的AA层提供服务。EE是主动网络的主动应用在主动节点上执行的一个临时环境。一个主动路由器可以具有多个EE,每一种EE完成一种特定的功能。EE为上层的AA层提供可编程的网络接口(API)或者一种虚拟机,当主动网络的应用和报文到达时,完成必要的处理。EE一般由EE开发商开发完成。每一个主动节点都具有一个拥有最高权限的EE,它是来管理所有EE的。利用它可以方便地对其他EE进行加载、修改和删除等操作。利用EE可以方便地在主动网络体系结构中开发新的技术和协议,而不需要复杂的标准化过程;普通网络用户也可以通过设计和开发自己的EE来对网络编程,这样用户可以设置个性化网络。

  (3)主动应用层

  最上层是AA层,它可以是主动网络用户的主动应用,也可以是主动网络的主动报文,即特定封装的带有主动处理信息的网络数据包,它完成网络端到端的功能。

  当一个主动网络报文到达主动路由器之后,主动路由器将完成如下处理工作。首先,根据报文的特定信息对报文进行分类,以决定将报文输入到哪一个输入处理通道,即处理流程。报文进入通道后,进行相应的通道处理,即该流程所能够完成的各种工作,如计算校验,将数据报头报文分离,对报文有效性进行检查等。然后,报文被送到特定的EE,完成处理后输出。需要指出的是,从任何一个通道输出的报文可以由不同的EE处理,这由用户定义;而且,每一个EE也可以处理来自不同通道的报文,然后可以输出到一个或者多个通道中去,在同一个通道中也可以输出多个报文。输出时和传统的网络节点一样,主动路由器也要完成相应的输出调度工作。

  4 主动路由器的硬件结构

  根据DARPA提出的主动网络概念来构建主动网络,需要重新设计和构建网络。对路由器而言,要完全打破原有的设计思路,按照主动网络路由器的结构,从三个层次完全重新设计路由器。原路由器的每一个线路处理卡都需要加入主动处理模块,如图2所示,设计路由器NodeOS,并开发相关的EE。以支持IPv4和IPv6的主动路由器为例,要求该路由器在IPv4和IPv6的网络上都能够正常工作,所以必须至少提供两种EE,即IPv4和IPv6。同时还应该提供一个用于两者互通的EE,这个EE用于在IPv4网络上运行IPv6协议或者在IPv6网络上运行IPv4协议。而且,还要提供各种相关的控制和管理EE等,要求实现主动网络所要求的各种功能。该方案的特点是:能够一次实现主动网络的各种功能,为将来升级打下良好的基础。但是,该路由器无法对原有的路由器进行改造,要求全部重新设计,兼容性差,与网络的渐变特性相背。


图2 DARPA主动路由器硬件结构

  其中端口处理模块完成路由器的物理层、数据链路层处理和转发处理,其内部结构如图3所示。


图3 传统路由器端口处理模块结构

  为了解决上面DARPA主动路由器硬件结构的问题,尽可能地保护现有网络基础设施的投入,要求对原有的网络路由器做出最小的改动。同时鉴于网络在灵活性与性能上的矛盾,也就是网络的传输速度与网络所支持的应用的多样性,即灵活性能之间的矛盾。如果网络要求支持带宽高,线速度实时转发高速进入的报文,就很难实现对所要转发的报文进行过多的处理,所以高速骨干网络对报文仅完成转发处理;相反,如果网络要求支持多种应用,而且对各种应用的QoS性能有所要求,各种应用可以灵活配置,即网络具有较高的灵活性能,那么该网络就很难实现对这些灵活要求的报文进行线速度实时的转发。针对以上问题,本文提出了“主动网络在边缘”的新观念。“主动网络在边缘”的具体思路是:在主动网络发展的初级阶段,考虑到对网络灵活性能要求较高的用户和应用毕竟是少数,即提出新的应用和需求的毕竟是少数的用户或者是少数的网络应用,它们不具有普遍性,没有对全网络进行改造的迫切要求,而且考虑到网络发展的渐变性,在现在的应用和需求条件下,可以先在网络的边缘实现主动网络,体现主动网络的灵活性能,而在网络的核心,网络的带宽高,仅完成高速的转发处理,体现网络的高性能。由于只在网络的边缘实现主动网络,故有“主动网络在边缘”的新观念。这样因特网中就会形成一个主动网络小岛(局域网),这些主动网络小岛通过高速传统的网络互联,高速传统的网络对主动网络报文仅完成转发的处理,所有主动网络业务均在主动网络小岛内完成。主动网络数据报文对这些主动网络小岛处理的实时性能要求不高,但是却具有很高的灵活性能要求。要求主动网络小岛能够运行时刻可扩展,网络系统结构应该动态地支持对网络服务不同程度的控制,网络资源是可以被网络服务所裁减的,而且网络体系结构也应该是灵活可变的,网络对报文的处理不是仅完成转发处理,还应能根据用户的定义,对相应的主动网络报文进行用户自定义的其它处理。具有“主动网络小岛”的因特网,如图4所示。“主动网络在边缘”的关键技术在于“主动网络小岛”中主动路由器的设计,要求这些路由器可以同时处理传统的网络数据报文和主动网络数据报文。


图4 具有“主动网络小岛”的因特网

  根据“主动网络在边缘”的观念,本文设计的主动网络路由器的硬件结构如图5所示,在原有网络路由器的基础上加入一块主动网络处理卡,而对原有的线路接口处理卡不做任何改造,所有的主动网络报文都通过交换网络交换到主动网络处理卡上,对其进行处理后,交给交换网络到线路处理卡输出。而对传统的网络数据报文按照传统的处理方式进行处理,传统的网络数据报文不进入主动网路处理卡。这种主动网络路由器存在的主要问题是它的主动网络处理卡与线路接口处理卡的数目之和应该小于或者等于路由器的交换网络所支持的端口数目。由于这种主动路由器的主动性能取决于主动处理卡的处理能力,所以在交换网络所支持的端口数目一定的情况下,如果要增加主动处理能力,就必须减少路由器的线路接口处理卡,这样路由器所支持的端口数目必然会减少。


图5 高可扩展的主动路由器硬件结构

  传统的网络路由器只需要对交换网络进行必要的软件配置,加入主动网络处理卡就可以将传统的网络路由器改造成为主动路由器,此外需要对路由器的软件进行升级。本文提出了一种高性能的主动处理卡,该处理卡的关键技术采用了MIMD并行计算模型,并在不同的处理级别实施流水线技术,而且数据通道处理和协议通道处理分离,对数据通道的处理进行了指令优化。目前该处理卡针对的主要用户是网络管理者,它根据网络管理者的管理策略,动态更新处理卡的数据处理策略,以实现对经过该路由器的特定业务流进行判决识别以触发相应的处理策略(如对IPv6流媒体的识别和转发,对DDOS攻击的监测与隔离),其结构如图6所示。


图6 主动网络处理卡结构

  该处理卡从交换网络模块接收需要主动处理的报文,对报文进行分类,并通过高速输入输出通道将报文送入并行高速主动处理子模块。在并行高速主动处理子模块内,要对报文进行通道处理。通道处理完成之后再将报文送入高速主动处理器,由处理器完成用户要求的主动处理。在该处理器(本文采用的是PowerPc RISC Core)之上,有主动NodeOS内核(本文采用的是Vxworks)、主动EE和用户的AA。处理完成后通过高速输入输出通道给交换网络接口处理子模块,经排队后输出到交换网络模块。这个高性能的主动网络处理卡是主动网络路由器的核心部件,它完成所有主动网络路由器的主动处理功能,但是它需要有主动网络路由器的其它传统路由器的部件(如端口处理、交换网络等)协同才能够正常工作。

  5 结束语

  总的来说,由于这种主动路由器的结构对传统的网络路由器改造仅是加入主动网络处理卡。该结构的稳定性能只依赖于原有的路由器,由于原有的路由器具有良好的稳定性能,因此该结构具有可靠的稳定性。而且随着主动网络业务的增加,只需要增加相应的主动网络处理卡,提高主动路由器的主动处理能力即可,故其具有良好的可扩展性。这种主动路由器的主动性能取决于主动处理卡的处理能力,只要设计好一个高性能的主动处理卡,就可以完成一台高性能的主动路由器的设计。

参考文献 1 Calvert K L. Architectural framework for active networks(Version1.0). Internet Draft, July 1999

2 Wolf T, Turner J. Design issues for high performance active routers. IEEE Journal on Selected Areas of Communications, 2001(2):100~107

3 Iyer S, McKeown N. Analysis of the parallel packet switch architecture. In: IEEE/ACM Transactions on Networking, April 2003

4 Murphy S, Lewis E, Watson R. Strong security for active networks. In: OpenArch 2001, Anchorage, AL, Journal 2002


----《电信科学》
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50