监视通信网络的通信网络元件和方法

文档序号:7598856阅读:130来源:国知局
专利名称:监视通信网络的通信网络元件和方法
技术领域
本发明涉及监视通信网络的通信网络元件和方法。
背景技术
通信网络上传送的语音以及其他数据信号形式的流量急剧膨胀,导致了通信硬件(例如,以增长的符号率传送多波长信号的光系统)和软件(例如,诸如GPRS、3G移动电话技术、IPv6及移动IP之类的新系统和协议)的持续发展。以尽可能成本有效的方式提供可靠、高质量的通信服务的商业需求导致了通信网络中设备的广泛结合,用于监视多种运行参数。这些参数包括正常功能的基本指示符,例如误码率和抖动等,以及更多的面向用户的服务质量的指示符。
由于在提供服务的网络中融入了硬件和软件方面的新发展,所以必须同样地更新监视系统。用于通信网络的监视和测量工具的设计必须面对两个挑战要被测量的信息的范围非常广,要求的测量类型中的变化和发展。开发和生产可以同时或分别测量一切参数的工具是昂贵且费时费力的。例如,目前的测量仪器和监视探测器必须用其工作寿期中可能需要的所有测量进行预编程(范围包括可以被实际预见的那些测量)。然而,在一般的使用中,具体的使用者经常只要求使用设备提供的全套测量中的一种或两种关键的测量。因此,许多测量功能处于休眠状态,没有被使用。需要测量系统支持的协议列表很大,并且正在稳定地增长,在通信网络内出现并且必须被监视的应用的数目以及事件的类型也非常不固定。因而,测量和监视系统会很快过时,需要以惊人的速度进行修改和现代化。
可能支持对使用许多不同协议的大量不同的客户基础进行多种测量的系统将需要大量的代码存储,从而由于它的这种特性而使得生产这种系统的花费昂贵。在提供以廉价为目的的测量中,高级别的灵活性是有价值的。主要基于控制诸如标准通用个人计算机(PC)之类的日常硬件的软件的测量方案能够提供高度灵活的设计。通常,对通过网络接口捕获的网络流量进行某种形式的过滤(例如,通过在设备操作系统中的低层运行的专用程序)。过滤后的数据被传送到在操作系统更高层运行的测量软件模块。通过软件升级,可以容易地加入新的协议和测量。在这样的设备中的主存储装置(例如磁硬盘)中也可能存储大的一套测量方式。
不幸的是,虽然日常硬件高度灵活,但是它一般不提供必需的性能来监视目前的及新出现的通信链路技术中的非常高(每秒若干吉比特)的线路速率。日常硬件也不是紧凑的、易于配置的、节能的以及便宜得足以普遍存在。
相反地,专用纯硬件方案一般拥有足够的能力来测量高速链路,但是通常缺少灵活性。基于硬件的方案在制造后就很难改变。至少这样的硬件通常必须被返回工厂或者服务点来进行升级以及安装新的协议或者另外的测量。
混合方法试图通过选择用于手头任务的最适当的硬件和软件部件,来解决这一困境。然而,这会甚至更贵。一个包含最佳软件和硬件选项的方案自然不是成本有效的。这种混合方法还存在着与主要基于软件的系统相同的局限,例如不节能、开销大、热耗散以及大的物理尺寸。
大多数现有的测量及监视方案提供了大范围的实时测量特性。但是考虑到体积、尺寸及花费,只有很少的用户才能够承担得起在他们认为可能需要测量功能的所有点上都配置很多测量。为了能最好的使用有限的资源,设备因而必须在网络中根据需要进行转移。
只在用户需要的时候,提供最佳量的测量能力来对用户希望分析的特定数据进行用户所期望的具体分析,而不浪费功能,这样的方案是非常理想的。因此灵活性是最重要的。但是,测量系统将必然变得更加是硬件导向的最近大量增长的链路速率使得这一点是不可避免的。专用硬件提供了重新设计探测器的机会,因此可以解决费用、规模、数据速率及热耗散等问题。
部分地作为结果,诸如路由器、交换机、服务器、DSL/ADSL/电缆调制解调器、防火墙单元、专用小交换机(PBX)以及媒体网关这样的网络元件中很有可能将加入测量和监视功能。由安捷伦公司(AgilentTechnologies,Inc.)提出的一个例子涉及在路由器的线路卡中加入测量功能——参见欧洲专利申请EP 1 152 570。在网络设备中嵌入测量功能有着额外的优点测量可以变得普遍,即可以在任何地方以及在任何时间。相关的设备占用小的物理面积,消耗少量功率,并且可以是相对便宜的。这表现出一组非常有用的特性,它们可以使对诸如因特网这样的系统的运行进行大规模测量变得具有现实可行性。
不幸的是,即便硬件设计快速发展,嵌入的设备也不太可能有多余的存储容量来对满足许多目的的多种测量方式进行预编程。因此,经济地使用嵌入设备拥有的有限资源是非常关键的。而且,当开发了新的协议和应用时,一种不需要将嵌入设备从服务中移开(例如,把该设备送回工厂或者服务点)就能够将其升级的机制是非常理想的。网络运营商和用户都不能忍受在这些单元被送去升级时服务的长时间停顿。这些问题中的一些原则上可以通过嵌入有测量和监视设备的网络元件的现场维护或者“热插拔”来解决。然而,这仍然会有服务的停顿以及额外的支持费用,或者要购买额外的网络元件设备来换到服务中,并把换下来的设备送去升级。
总而言之,对于例如EP 1 152 570中描述大规模的、成本有效的测量方案来说,嵌入设备是理想的。此外,把测量设备嵌入到路由器中可能只是一个开始;可以想象,最终所有的网络元件可能都含有相似的功能。不幸的是,如果没有加入新的测量、支持新的协议及最大化嵌入设备的有限存储资源的能力,则嵌入设备的利用将被严重限制。

发明内容
根据本发明的一个方面,提供了一种通信网络元件,包括第一电路,用于为其中要加入所述元件的网络提供通信功能;第二电路,用于除了提供所述第一电路提供所述通信功能所需的任何监视,还提供监视功能以监视其中要加入所述元件的所述网络的运行,所述第二电路被分成多个功能段,至少一个功能段连续运行,至少一个其他的功能段能够使其功能被修改而不中断任何其他功能段的运行;和存储装置,用于存储所述监视功能的定义,以及用于根据所述监视功能的定义控制所述第二电路的运行,并且用于接收并存储所述监视功能的经修改的定义。
根据本发明的另一个方面,提供了一种监视通信网络运行的方法,包括在网络元件的第一电路中实现通信功能;在所述网络元件的第二电路中除了实现所述第一电路提供所述通信功能所需的任何监视,还实现通信网络监视功能以监视其中要加入所述元件的网络的运行,所述第二电路被分成多个功能段,至少一个功能段连续运行,至少一个其他的功能段能够使其功能被修改而不中断任何其他功能段的运行;以及在所述网络元件内的存储装置中存储所述监视功能的定义,以及根据所述监视功能的定义控制所述第二电路的运行,以及接收和在所述存储装置中存储所述监视功能的经修改的定义。
本发明的一个实施例采用了基于硬件的可编程设备的形式,使用现场可编程门阵列(FPGA)部件或者类似的部件,它们可以被嵌入到诸如路由器这样的网络元件中。该设备有相对的低费用、低功耗、小尺寸,从而符合在诸如EP 1 152 570中描述的系统中使用的要求,但还提供了通常与基于软件的方案相关联的一定水平的灵活性。
这样的嵌入设备可能只拥有有限量的并发测量能力,但是作为主要是硬件的方案,它能够以线路速率处理进入的分组。由于该设备是可再编程的,通过按需下载不同的或者新的测量方式,它可以提供测量的多种选择。另外,相同的编程机制使得升级被配置的设备与现存的基于软件的方案一样容易。
本发明的另一实施例采用了软件可编程设备的形式,使用“网络处理器”,它是软件可编程处理器,具有为特定应用领域的分组处理而被优化的体系结构特性和/或专用电路。该设备可以嵌入到诸如路由器这样的网络元件中。网络处理器含有专用硬件,包括例如具有专用于处理网络分组并被优化以在线路速率上运行的指令集的处理引擎。由于这些处理引擎是可再编程的,通过按需下载不同的或者新的测量算法,它们可以支持测量的多种选择。另外,编程机制使得升级被配置的设备与现存的基于软件的方案一样容易。


现在将以示例的方式,参考附图描述根据本发明的用于监视通信网络的方法和装置,附图中图1示出了在其中可以使用本发明的通信网络的一个概念性的例子;图2是结合了本发明的、形成图1所示网络一部分的路由器的示意框图;图3是被嵌入到图2的路由器中的测量设备的示意框图;图4是形成图3的测量设备一部分的可编程测量单元的示意框图;图5是形成图3的测量设备一部分的可编程测量单元的另一实施方式的框图;具体实施方式
参考图1,示出了因特网的概念性的一部分,其中包括若干诸如路由器10这样的路由器,它们被互连以提供多个(一般是冗余的)通路,用于数据分组通过网络。每一个数据分组包括标识该数据分组在网络中的中间或最终目的地的头部。当路由器接收到一个数据分组时,检查它的头部,并且使用现有的关于相邻网络拓扑的知识来判断这个数据分组接下来应该朝着它的最终目的地被转发到哪一个相邻的路由器,其中网络拓扑知识通过路由器共同实现的网络协议而获得。图2中更详细的示出了路由器10,它包括多个线路或信道卡12,其中的每个可以处理几个(例如四个)数据链路上的信号的发送和接收,这些数据链路以例如光缆这样的形式实现。为此目的,线路卡12具有光网络连接器14。路由器10提供其网络运行功能(例如,接收、检查以及转发数据分组)的方式是常规的,在此不再进一步描述。
每个线路卡还具有一个监视端口16,用于与监视及测量数据处理设备18交换数据,这些数据包括例如分组头部。该设备另外还有一个独立的通信端口20(例如,以太网端口),通过该端口,设备18可以接收指令并发送它获得的与路由器10处理的分组有关的监视及测量数据。在上述的EP 1 152 570中更详细地描述了路由器10的实施方式,以及在监视/测量设备18中可以实现的特定测量和监视功能。
图3更详细地示出了监视/测量设备18的总体结构。参照图3,设备18包括非易失性存储器22、提供监视和/或测量功能的可编程测量单元24(比如FPGA)、与监视端口16和通信端口20耦合的接口单元26。存储在测量单元FPGA 24中的软件程序指令控制也被提供于其中的处理电路,该处理电路提供期望的功能,以经由监视端口16监视和/或测量被提供给FPGA的网络分组数据的参数。在FPGA 24和路由器12之间的另外的连接28和30使得程序指令能够定义FPGA 24的功能,以按需改变和更新。
FPGA 24的基础配置被存储在非易失性存储器22中,这样该配置在例如需要系统恢复的情况下始终是可用的。通过使用专用电缆或者经由到主机控制器的连接对该存储器在原位进行再编程,可以实施完全升级。被存储在存储器22中的初始基础配置提供FPGA 24功能的主要框架。例如,它包括允许下载及验证新功能模块的代码。在图3表示的例子中,该代码还包括下载控制器和一段存储器(过渡位置),该段存储器为测量模块提供临时性的存储区域。
在定义测量单元FPGA 24的实际测量/监视功能方面,该单元的总体设计与EP 1 152 570中描述的相似。测量单元24被连接到主机设备的分组接口,例如线路卡成帧器(framer);它可以把活动数据分组插入离开主机设备12的数据流中,并且还可以被动地监视到达的分组数据。测量单元24也可以被连接到主机设备的共享底板上,例如路由器的主分组总线。类似地,可以通过相同的底板建立与主机控制器的连接。在路由器中,该控制器一般是用于路由器本身的配置、命令和控制以及用于执行路由算法的通用处理器。和底板的连接还可以允许下载测量模块以及上传用于进一步处理和分析的结果。在路由器的情形中,通过使用诸如SNMP的现行标准机制,或者经由诸如CORBA、Java RMI或RPC的某种形式的过程间通信,可以从通用处理器中提取结果。
对测量单元24使用FPGA不是必要的,但是这样确实提供了一些实际的优点。假定建立了正确的物理连接,FPGA可以在原位被完全再编程。这一特征可以用来支持对设备特性的大批升级,以及系统的初始引导。
现在可以买到的FPGA(例如,Xilinx公司的Virtex II系列)支持被称作部分重构过程。这种处理允许对预先指定的FPGA区域(有些时候被称为模块)进行再编程,而芯片的其余部分还是在活动地运行。使用这一技术,可以按需加载或者卸载程序逻辑的不同段或块。功能块可以被设计使得它们可以被即时(on-the-fly)改变,而不影响其他的FPGA操作。
功能块可以划分为由测量单元执行的一般任务。这些任务包括过滤、计数、时间标定或者分组分类。在更抽象的层次,可以产生不同的功能块来支持不同的协议或测量种类。
使用在不同测量模块内的已知区域中设置预定寄存器这样的更为传统的技术,也可以下载简单配置信息。通过在FPGA 24上的预定区域中设置和读取内部寄存器,可以输出类似的结果。
如果主机12例如是路由器,则可以重用大部分用于测量控制和结果存储的现有路由器体系结构。与需要系统上(on-system)的处理来控制硬件和存储结果的传统仪器或者探测方法相比,这将减少设备18的整体费用。
最初,被实现的测量功能可以是给每个设备提供的一套工具中的一部分。每个测量功能被定义为适当FPGA格式的二进制数据文件。使用已知的移动软件对象技术,可以将测量功能加载到设备中。在“EfficientNetwork Monitoring using Mobile Agents”(使用移动代理的有效网络监视),A.Liotta,G.Knight & G.Pavlou,Research Note RN/99/6,Department ofComputer Science,University College London,London,1999年1月,和“Exploiting Code Mobility in Decentralized and Flexible NetworkManagement”(在分散和柔性网络管理中开发代码迁移能力),M.Baldi,S.Gai & G.P.Picco,First International Workshop on Mobile Agents 97(MA‘97),Berlin,Germany,1997年4月,K.Rothermel和R.Popescu-Zeletin编,Springer-Verlag Lecture Notes on Computer Science第1219期,1997年,第13~26页中给出了用于即时加载测量代码的这种过程的例子。与移动代码相关的安全性和验证问题也在“Mobile code security”(移动代码安全性),A.D.Rubin & D.E.Geer,IEEE Internet Computing,1998年11月;“Mobile Agents and Security”(移动代理和安全性),G.Vigna编,LectureNotes in Computer Science,第1419期,1998年,第1~14页,Springer-Verlag中的“Security issues in mobile code systems”(移动代码系统中的安全性问题),D.M.Chess,中给出了很好的理解和记载。
可以设想,在路由器10相邻位置上产生模块是可能的;这一点是可以做到的,例如,使用高级程序语言或者图形工具来产生适当格式化的测量描述,该描述可以被转换及编译为需要的二进制数据。
图4示出了测量单元FPGA 24的一个示例实施方式的内部体系结构。如果有足够大的FPGA,则可以配置若干各自的区域32A、32B、32C、…32N,这样,使得可以同时运行不止一个测量。这样的区域的实际可用数目取决于FPGA的大小以及模块32A到模块32N的功能所需的逻辑门的数目。FPGA初始化时,模块32A到模块32N可以是空的,或者一部分或全部包含缺省的一组测量功能。这些区域和FPGA其余部分之间的接口或连接34和36也被预先定义。这些连接包括用于输出结果的通路,用于输入被用于被动流量监视的分组数据的通路,以及用于输出被用于主动(插入式)测量的分组数据的通路。结果被存储在中间存储器38中,使得如果主机的主处理器正被占用时,每个测量块或者段内有限的存储装置不会被耗尽,信息在转发结果之前不会丢失。
程序模块被存储在主机设备的中央通用处理器上或者集中式的可能是专用的控制服务器上。测量模块以二进制格式被下载到各个测量单元FPGA,这些二进制格式被封装在普通分组中,这些分组通过网络传送,或者如果在本地,则通过主机系统底板或总线。如果外部服务器正被用来存储测量模块,则可以使用本地和网络传送的组合。
然后在控制器40的控制下,使用FPGA的部分再编程机制,以将测量模块加载进FPGA上的预定过渡区域中。一旦下载完成,并且新的测量代码成功通过安全和验证检查,则测量模块在第二控制器42的监督下被热插入适当的接收节点32A到32D中,并被执行。一旦它产生的全部剩余的结果都被获取了,则在该节点的任何现存代码会被放弃。现在会执行新的测量功能,并且将开始向中间结果存储区域38中写入结果。
部分重构的另一种方法是使用软核处理器,即使用FPGA本身的逻辑而实现的标准通用微处理器功能。显然,相对于专用逻辑,需要软件编程的软核处理器一般运行得更慢,并且占用更多的资源(FPGA门)。然而,对于一般的任务,真实软件所附加的灵活性可能是有价值的。另外,也可以使用软核处理器和更传统的可编程逻辑的组合赖实现混合方法。
最近提出的FPGA设备技术加入了内置通用处理器以及普通FPGA逻辑门的块。这样的设备可能比标准FPGA更昂贵。然而,这种设备确实提供了一种可编程测量设备的替代方式,它支持混合的硬件和软件方法来实现高度灵活、成本有效的嵌入测量系统。可以在网络边缘的网络元件中应用片上系统方案,它们没有类似于在路由器中可以找到的任何现存的支持体系结构。命令与控制以及结果相关功能始终是需要的,在没有对外部体系结构的访问的情况下,在主机系统的环境中,设备上(on-device)的CPU在某些情况下可能在经济上是可行的。
图3所示的可编程测量单元24也可以使用网络处理器而不是FPGA来实现。网络处理器是一种硬件单元,它被设计为由可编程软件指令控制,具有被优化用于很高速率分组处理的体系结构。
网络处理器一般具有若干分立处理元件以及一个总通用处理器,这些分立处理元件具有独立的程序存储器,总通用处理器使用其本身的程序来作为系统控制器,提供对这些处理元件的操作的管理和控制。
测量设备18中所要求的功能可以划分为不同的独立任务,这些任务通常由任何网络测量单元完成。这些任务包括过滤、计数、时间标定或者分组分类。在更抽象的层次,可以产生不同的功能块或段来支持不同的协议或测量类型。
使用在用作测量模块的不同处理元件可访问的存储器内的已知区域中设置预定寄存器的更为传统的技术,也可以下载简单配置信息。通过设置及读取该存储器预定区域中的存储器单元,可以输出类似的结果。
对图4中所示的FPGA实施例,最初实现的测量功能可以是给每个设备提供的一套工具中的一部分。每个测量功能被定义为适当的网络处理器处理元件格式的二进制数据文件。使用如上面引用的参考文献中所描述的已知的移动软件对象技术,可以将测量功能加载到设备中。类似地,在路由器10相邻位置上产生模块是可能的,例如,使用高级编程语言或者图形工具来提供适当格式化的测量描述,其可以被转换及编译为需要的处理元件二进制数据。
图5示出了使用网络处理器的测量单元24的示例实施方式的内部体系结构。如果有足够大的包含足够数目处理元件的网络处理器,则可以配置若干独立的处理元件44A、44B、44C、…44N,这样,就可以同时运行不止一个测量。这样的区域的实际可用数目取决于被使用的具体网络处理器的内部体系结构。网络处理器初始化时,处理元件44A到44N可以全都是未配置的,或者一部分或全部被配置为缺省的一组测量功能。处理元件和网络处理器其余部分之间的逻辑接口或连接46也被预先定义。这些连接包括用于输出结果的通路,用于输入被用于被动流量监视的分组数据的通路,以及用于输出被用于主动(插入式)测量的分组数据的通路。结果被存储在耦合到网络处理器的存储器(RAM)48中,使得如果主机的主处理器正被占用,每个处理元件内有限的存储设备不会被耗尽,并且信息在结果被转发之前不会丢失。
程序模块被存储在主机设备的中央通用处理器上,或者集中式的可能是专用的控制服务器上。程序模块以二进制格式下载到各测量单元的处理元件,它们被封装在普通的分组中,这些分组通过网络传送,或者如果在本地,则通过主机系统底板或总线。如果外部服务器正被用来存储测量模块,则可以使用本地和网络传送的组合。
通过网络处理器的通用处理器的适当编程而实现的逻辑控制功能50调整新的测量模块二进制程序文件向逻辑控制器存储器空间中的过渡区域中的下载。一旦下载完成,并且新的测量代码成功通过安全和验证检查,则每个新测量模块在逻辑控制器50的监督下被加载到适当的处理元件44A到44N中,并被执行。一旦由其产生的全部剩余结果都被获取了,则该处理元件的任何现存代码会被放弃。新的测量功能现在会被执行,并开始向中间结果存储器48中写入结果。
权利要求
1.一种通信网络元件,包括第一电路,用于为其中要加入所述元件的网络提供通信功能;第二电路,用于除了提供所述第一电路提供所述通信功能所需的任何监视,还提供监视功能以监视其中要加入所述元件的所述网络的运行,所述第二电路被分成多个功能段,至少一个功能段连续运行,至少一个其他的功能段能够使其功能被修改而不中断任何其他功能段的运行;和存储装置,用于存储所述监视功能的定义,以及用于根据所述监视功能的定义控制所述第二电路的运行,并且用于接收并存储所述监视功能的经修改的定义。
2.如权利要求1所述的网络元件,其中,所述存储装置被耦合到所述第一电路,用于经由其中要加入所述元件的所述网络,接收所述监视功能的经修改的定义。
3.如权利要求1或权利要求2所述的网络元件,包括用于在所述网络元件外部传输监视结果的通信设施,所述监视结果根据被存储的所述监视功能的定义通过所述第二电路的运行而得到。
4.如权利要求1到3中的任何一项所述的网络元件,其中,所述第二电路包括现场可编程门阵列逻辑门。. 5.如权利要求1到3中的任何一项所述的网络元件,其中,所述第二电路包括网络处理器。
6.一种监视通信网络运行的方法,包括在网络元件的第一电路中实现通信功能;在所述网络元件的第二电路中除了实现所述第一电路提供所述通信功能所需的任何监视,还实现通信网络监视功能以监视其中要加入所述元件的网络的运行,所述第二电路被分成多个功能段,至少一个功能段连续运行,至少一个其他的功能段能够使其功能被修改而不中断任何其他功能段的运行;以及在所述网络元件内的存储装置中存储所述监视功能的定义,以及根据所述监视功能的定义控制所述第二电路的运行,以及接收和在所述存储装置中存储所述监视功能的经修改的定义。
7.如权利要求6所述的方法,其中,经由其中要加入所述元件的所述网络,接收所述监视功能的经修改的定义。
8.如权利要求6或权利要求7所述的方法,包括在所述网络元件外部传输监视结果的步骤,所述监视结果根据被存储的所述监视功能的定义通过所述第二电路的运行而得到。
9.如权利要求6到8中的任何一项所述的方法,其中,所述第二电路包括现场可编程门阵列逻辑门。
10.如权利要求6到8中的任何一项所述的方法,其中,所述第二电路包括网络处理器。
全文摘要
本发明提供了监视通信网络的通信网络元件和方法。该网络元件具有对其所在的网络和元件进行监视和/或测量功能的能力。该监视/测量功能由可编程设备实现,以使得功能能够被修改和更新,而不需要将该网络元件从服务中移去。
文档编号H04L12/26GK1612535SQ20041008714
公开日2005年5月4日 申请日期2004年11月1日 优先权日2003年10月30日
发明者马丁·柯伦格雷, 安德鲁·罗伯特·莱哈恩 申请人:安捷伦科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1