CN1425233A - 用于网络设备的开放性体系结构中的专有数据转发的方法和装置 - Google Patents

用于网络设备的开放性体系结构中的专有数据转发的方法和装置 Download PDF

Info

Publication number
CN1425233A
CN1425233A CN00818554A CN00818554A CN1425233A CN 1425233 A CN1425233 A CN 1425233A CN 00818554 A CN00818554 A CN 00818554A CN 00818554 A CN00818554 A CN 00818554A CN 1425233 A CN1425233 A CN 1425233A
Authority
CN
China
Prior art keywords
forwarding elements
data set
forwarding
control element
plug
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN00818554A
Other languages
English (en)
Other versions
CN100386988C (zh
Inventor
戴维·普措卢
劳伊·亚夫特卡尔
伯纳德·N·基尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1425233A publication Critical patent/CN1425233A/zh
Application granted granted Critical
Publication of CN100386988C publication Critical patent/CN100386988C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0226Mapping or translating multiple network management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

一种计算机系统,用于在一开放性网络结构中允许专利转发元件与标准控制元件互操作。该计算机系统包括一个转发元件,其适合于在一计算机网络中执行数据转发功能。一控制元件,适合于在该计算机网络中执行网络信令及控制功能。该控制元件适合于生成一个标准化的数据集用于配置该转发元件。一互连元件,可操作地把转发元件连到控制元件。一转发元件插件,与控制元件结合用于从控制元件接收标准化的数据集,把该标准化的数据集转化成一个专用数据集,并把该专用数据集传送到转发元件以配置该转发元件。该转发元件利用该专用数据集来配置该转发元件以在该计算机网络中执行数据转发。

Description

用于网络设备的开放性体系结构中的专有数据转发 的方法和装置
发明领域
本发明涉及计算机系统领域,更具体地,涉及在一开放性网络结构中,用于允许诸如专用联网硬件的专利转发元件与通用软件来实现的标准控制元件互操作的方法和装置。
背景技术
近年来,联网硬件工业中已经显露出以下趋势。诸如路由器和转换器的设备已经开始从单片电路,高度定做化及集成设计发展为分立的、模块化的元件的集合体。该联网设备结构的模块化已经开始通过打破组成一个复杂设备,如路由器或转换器的各种元件之间紧密的一体相关性来使得联网硬件和软件中的技术革新与发展的周期更短。最近,可编程ASICs(特定用途集成电路)或网络处理器的出现中产生了另一种趋势。这些设备允许将应用层或网络级包处理从通用处理器或服务器卸载至含有应用意识包分类和处理性能的转换器。例如,一个转换器可以不仅执行硬件中的路由选择查找和转发,还能够执行应用层代理以及网络或传输层地址变换的功能。为了利用和加速这些趋势,水平开放性联网结构的使用(参见,例如,图2)试图标准化一组APIs(应用程序接口)以及用于分离通常与包转发有关的性能的协议。这一性能通常在可被称作为“转发元件”的专用硬件中实现。与网络信号和控制有关的、典型地在通用处理结构软件中实现的性能可以被称作为“控制元件”。联网设备性能的分离和标准化,与由水平开放性联网结构主张的控制元件及转发元件的使用一起,允许专利设计继续形成,同时保留开放性特性,并且进一步地允许技术革新与快速的产品开发。
控制与转发元件的分离要求开发一组用于各种元件类型的接口。这些接口向彼此暴露元件的性能,允许它们一起集成到一个工作整体中。例如,转发元件中应用意识转换性能的性能必须经由一个开放性接口暴露给控制元件以使该控制元件能够“编程”转换器以卸载该数据通路中的包处理或转发功能。暴露这一功能的一种方式是定义一个以一般方式描述转换性能的抽象接口。控制元件能够利用这一抽象接口来配置或操作转换功能,该转换功能使用抽象命令/操作来实现期望的效果,并且转发元件必须将这些抽象命令转化成特定硬件任务。如此抽象的特定硬件性能能够覆盖硬件性能的一个很宽的范围,包括转发表的特定ASIC格式化,包排队参数,以及每包处理动作,如加密,标记,或地址转化。
经由接口的转发及控制元件的性能暴露存在一定的缺陷。特别地,接口规格典型地反映基础实现。在趋向成为成本敏感的,高度特定任务设备的转发元件中这通常是真实的。在这些设备中,以高度抽象方式反映基础性能需要用在转发元件的部件上的额外的处理能力(以及相应的花费)。这些设备的成本敏感性势必阻碍抽象接口的使用,而不是引起与各个转发元件的实际实现紧密匹配的高度专用接口。当建立专利系统时,在每个元件可以由同一制造商设计和制造的情况下,这一暴露是可接受的,这是因为有关基础实现的机密信息保存在该公司内部。然而,当来自不同商家的元件被集成时,尤其在当使用一开放性结构时,这一暴露变得有问题,这就是它能使在其它情况下所不能得到的有关该转发元件结构及性能的信息成为可见的。
发明内容
在本发明的一个实施例中,一计算机系统允许在一开放性网络结构中专利转发元件与标准控制元件互操作。该系统包括一转发元件,其适合于在一计算机网络中执行数据转发功能。一控制元件,适合于在该计算机网络中执行网络信令及控制功能。该控制元件适合于生成一个标准化的数据集用于配置该转发元件。一互连元件,可操作地把该转发元件连到控制元件。一转发元件插件,与控制元件结合用于从控制元件接收标准化的数据集,把该标准化的数据集转化成一个专用数据集,并把该专用数据集传送到转发元件以配置该转发元件。该专用数据集被用来配置该转发元件以在该计算机网络中执行数据转发。
附图说明
图1示出现有技术联网设备的一个垂直专利联网结构的例子;
图2示出根据本发明实施例的一个水平开放性联网结构;
图3示出根据本发明实施例的一个水平开放性联网结构的主要组成部分;
图4示出根据本发明实施例的一个转发元件和一个控制元件的示意图。
具体实施方式
图1示出现有技术联网设备的一个垂直专利联网结构的例子。在图1所提供的联网箱层硬件100的例子中,设备商家一般地使用一个专利网络操作系统(NOS)120,该系统的专利接口在联网箱层硬件100的底部(与基础ASICs(特定用途集成电路),转换结构,或总线110接合)以及联网箱层硬件100的顶部(暴露硬件状态和性能以使网络服务及应用能被写入130的接口)。因此,第三方独立软件商家(ISVs)或独立硬件商家(IHVs)能在不首先访问这些专有接口的情况下,提供增值软件或硬件解决方案。例如,一个独立软件商家可以有一个“best-of-the-breed”防火墙或闯入检测软件,但是该独立软件商家在没有投入一完整、垂直的解决方案,或是没有从一个已经建立的网络设备商家取得合作的情况下不能将其投放市场。在后一种情形中,该独立软件商家必须与多个商家及其多个专利接口协作以使其应用具有到各独立平台的端口。类似地,具有下一代转发硬件的一个独立硬件商家必须或投入一完整的,垂直解决方案,或是等待一个既定商家来采纳其硬件解决方案。此外,即使是一个既定硬件商家一般地也具有许多使用不同网络操作系统和结构的不同平台。因此,一个新硬件或软件性能的引入需要相当大的工作和投入。总之,图1所示的垂直集成结构抑制了革新并且使开发新的硬件及软件性能变得困难。
图1所示联网结构的三个主要组成部分110,120,130尽管互相依赖,但却执行彼此极为独立的功能。位于底部的是转发硬件110,其在数据转发层(plane)操作并负责预打包处理及加工。位于中间的是网络操作系统120,其主要负责控制层的操作以及运行路由,信令,以及网络控制协议。网络操作系统120还通过操作转发表,预流动QoS(服务质量)表,以及用于转发接口的访问控制列表来指示基础硬件110的转发行为。位于顶部的是一组应用和/或服务130,其主要执行网络管理和控制功能。某些情形下,这些应用中的某些还可以执行预打包处理。例如,一个应用层代理可以处理与一个特定描述匹配的每个数据包。但是,在大多数情形中,这些应用主要通过适当地“编程”转发硬件来影响数据转发决定。
图2示出根据本发明一个实施例的水平开放性联网结构。如图2所示的水平开放性联网结构的主要目标是标准化图1所示各部件之间的接口以使每一层上的革新能够加速,并且方便独立硬件商家尽快地将新性能投放市场。图2的水平开放性联网结构200最好具有三个主要组成部分——转发元件210,控制元件230,和网络服务/应用250——以及两个开放性接口220,240。该水平开放性联网结构200基本上把控制层从数据层发级分离出来。控制元件230操纵所有的控制功能,包括路由和信令协议,而转发元件210负责转发及处理数据包。
考虑,例如,用图2的水平开放性联网结构200实现的一个L3转换器。在这一转换器中,控制元件230运行必要的路由协议(RIP(路由信息协议)),OSPF(开放式最短路径优先),等等)并把转发表下载到转换元件或接口以使(转发元件210的)转发硅212能够以网速转发数据包。转发硅被“编程”以向控制元件230递送全部控制通信量(IGMP(因特网组多点广播协议)询问,RSVP(“请回答”)包,以及路由更新)。
设计控制与转发元件之间的接口220以使能够替代任一元件而不影响其它的元件。(转发元件210的)网络中间件214负责把经由接口220收到的通用配置及控制信息转换成正确操作转发硅的状态所必需的特定结构。
控制元件230及暴露在转发元件210的顶部的接口240执行一个类似的功能,提供一种建立增值网络服务和应用的开放性的、标准化的方式。接口240提取并暴露该特定硬件性能,以使这些服务能够开发硬件性能以实现诸如基于政策的联网,安全(内部或外部防火墙,代理,闯入检测,等等),QoS(服务质量)的服务,以及甚至是例如用于万维网服务器的负载平衡功能。例如,网络服务可以使用接口来下载政策规则(policy rule),该规则根据转发元件210内的转发通路中包的整个状态检查规定了将要采取的动作。控制元件230负责将抽象规则表达式向简明的命令组的转换以及配置信息向转发元件210的下载。
除了提供建立增值服务及应用的标准化的方法外,接口240还使得这些服务能够访问控制或管理状态(例如,指定设备配置,路由/通路管理,拓扑发现以及数据库),这样它们就能够提供网络范围的服务。更为复杂的网络管理工具和服务,如触发事件管理,交通管理,以及基于政策的联网能够建立在该接口的顶部。
设备性能的明确的功能分离以及这些接口220,240的开放性特性允许水平开放性联网结构200以多种配置来实现。就像在传统的转换器/路由器中,箱内的控制CPU能够主管控制元件230和服务250,其中转发元件210与控制元件230通过总线连接。或者,在带有一个高速底板和几个数据转发层的底盘的情况下,控制元件230可以存在于插到同一底板中的一个单独的板上。在此配置中,网络服务250的每一个都能够运行在一个单独的服务应用上,该服务应用同样插到产生一分布结构的相同底板中。在另一个配置结构中,控制及转发元件230,210,分别地,可能完全不再是物理地位于同一地点,而是被一个网络(Ethernet,ATM VC(异步转移模式),或其他互连技术)分开。在此情形中,一个中央服务器主管控制元件230并跨越该网络而与转发元件210相互作用。控制服务器本身可以负责一个或更多转发元件210的控制。一个配置例子包括一个线橱,该线橱具有8个负责转发去/来自一个大型建筑物内一层的业务。在图2所示的水平开放性联网结构200下,运行于一个专用服务器上的单独的控制元件230可以负责提供用于所述8个转换器的控制功能。
分布式配置的另一个例子是在一个服务提供商云内的一个控制元件230,该服务提供商云负责控制一个或更多的存在于客户住所内的转发元件210。具有可在各种业务流之间路由及分辨能力的ADSL(异步数字用户环路)调制解调器,可以由服务提供商使用图2所示水平开放性联网结构200遥控控制,允许该服务提供商向其客户提供简化的管理以及增值服务。
最后,水平开放性联网结构200还允许独立于控制元件而进行网络服务250。在此配置中,该服务使用位于顶部的开放性接口240的一个“可遥控”版本来与控制元件230相互作用。
图3示出根据本发明一实施例的一个水平开放性联网结构的主要组成部分。图3的水平开放性联网结构200包括4个主要组成部分:(1)网络服务API(应用程序接口)240,控制元件230,转发元件210,以及连接API 220。转发元件210和控制元件230可以通过一条总线,一个高速底板,或一条网络链路连接。连接API 220代表两元件210与230之间的标准化接口,并隐藏跨越这些互连的交互细节。在网络链接情形下,使用标准化布线格式协议来实现连接API 220。
网络服务API 240允许水平开放性网络结构200及平台对于外部各方,如第三方独立软件商家是可见的。网络服务API 240使数据转发元件210(例如转换器,路由器,以及网络接口卡(NICs))的特定硬件性能以一致的、独立于硬件的方式被应用程序设计器采用。编写网络观察应用程序,例如VoIP(画外音因特网协议)网关,闯入检测,特定应用代理,以及VPN(虚拟专用网络)服务器的第三方独立软件商家使用网络服务API 240来控制/修改在数据及控制板内的数据转发路径的运行情况。例如,在能够根据预先指定的包滤波器来滤波包的L3/L4转换器的情形中,一个H.323代理使用网络服务API 240来指导转发元件210来截取并把有关H.323的包转发给自己以用于进一步的处理。然而,在L4/L7转换器具有以线速(wire speed)对数据包进行状态检查的能力的情况下,一个闯入检测应用能够在转发元件210内安装一个政策规则,该规则规定了用于检验期间状态的分类滤波器以及有关的动作并识别一个“闯入签名”。在根据本发明一个实施例的水平开放性联网结构200中,控制元件230主管网络服务API 240的实现以及隐藏把网络服务API 240调用转化成适当的消息经过以及在转发元件210上的特定硬件调用启用的细节。
根据本发明的水平开放性联网结构200的转发元件210处理数据或包转发功能。转发元件210的例子包括转换器(含有一个Layer2桥),路由器,以及网络适配器(网络接口卡)。一个转发元件210典型地具有一个或更多的网络接口并负责处理输入包并经一个或更多的输出接口上转发它们。转发元件210可以包括各种性能,包括L2/L3转发,包分类,以及根据包内的L4(或更高)层信息进行滤波,数据加密,以及政策实施。在本发明的水平开放性联网结构200中,转发元件210依靠控制元件230来处理通常的管理和控制功能,例如路由及信令协议,与增值应用的接口,等等。转发元件210利用连接API 220向控制元件230输出其性能和专用功能。
在转发元件210内,可以有一个转发元件管理器212,适用于处理与控制元件230的交互,使硬件服务,例如包转发,QoS(服务质量),监控,访问控制,以及政策实施对于控制元件230是可见的。例如,转发元件管理器212可以使用一转发元件连接管理器214来建立与控制元件230的通讯并接受来自控制元件230的包转发表。转发元件210内的转发元件连接管理器214可适合于处理与控制元件230通讯的全部细节,包括发现一特定控制元件230并通过一特定传输介质与其绑定以及处理正在进行的互连发行及数据交换。
本发明水平开放性联网结构200的控制元件230最好具有三个主要组成部分:(1)控制元件管理器232;(2)控制元件连接管理器234,以及转发元件插件API和采样插件236。控制元件管理器232代表水平开放性联网结构200的“大脑”,因为它完成大部分的控制层功能,支持网络服务API 240,并通过一个转发特定元件插件API和采样插件236处理与多种不同的转发元件210的交互作用。控制元件连接管理器234对应于转发元件连接管理器214,并且它处理与受控转发元件210的通讯细节,包括处理特殊传输介质的细节。
控制元件230代表在其控制内的转发元件210执行各种控制功能。例如,代表它们运行路由协议。对一个外部观察器,控制单元230及其转发元件210看起来就像一个传统的路由器。在一个或更多的转发元件210上给定一组端口,则控制单元230能够把它们集合在一起并将它们表示为一个单独的、虚拟路由器。控制单元230根据观察到的转发元件210的接口状态负责生成路由协议交换。此外,控制单元230还通过把转发元件上的端口集合成为不同的组,其中每个组看起来像一个通到一个外部观察器的独立的路由器,来一次创建并表示多于一个的虚拟路由器。这一性能对于管理目的,以及动态地建立用于访问控制目的的转发区域等等来说非常有用。
本发明的水平开放性联网结构200允许转发元件专用平台性能可被控制元件管理器232使用并且通过网络服务API 240被独立软件商家使用。但是,该API及其实现必须做两件事情:(1)把所有API调用转换成转发元件210内特定硬件性能的启用,并且同时,(2)通过经由API暴露任何特定硬件特征而不泄露它们的知识产权来允许硬件商家具有分辨的能力。该第二方面的一个例子是一种允许应用程序编写者下载用于包内容整个状态检验的代码的转发元件平台。转发专用元件性能的另一个例子是使用专用散列法算法以预先计算用于转发元件210的转发及流动表。根据所使用的ASICs(特定用途集成电路)或定制转发硅,各个硬件商家一般使用自己的定制的表格格式以及查找算法来方便网速转发和预选流排队。硬件商家可能不愿意向控制元件230暴露这一算法的内部细节。而是,该商家可能选择在控制元件230上执行这一计算,然后把一个定制的表格下载到转发元件210。
因此,转发元件插件API及采样插件236允许一个独立的硬件商家来提供一个捕获特定硬件性能的软件模块并把该模块“插入”到控制元件管理器232中。控制元件管理器232,按次序,通过网络服务API 240使用插件模块236来暴露该特定硬件性能以及把网络服务API调用映射到由该模块所支持的特定硬件功能。例如,转发元件插件API及采样插件236允许商家把一组扩展提供给网络服务API 240用于未被在网络服务API 240内所暴露的预定性能覆盖的定制性能。而且,插件性能允许商家提供能够获取由控制元件230准备的转发或流量表格的其自己的代码,并在控制元件230向转发元件210传送表格之前把这些表格格式化为其ASICs所需的格式。
连接API 220接口提取转发元件210的性能以使转发元件210的性能能够由控制元件230遥控地配置和控制。连接API 220确定在所有类型的转发元件210中希望被找到的标准特征,例如基本监控性能,以及希望只由转发元件210的一个子设备支持的特征(例如L3转换,或加密)。连接API 220还可以包括一个用于向转发元件210传递不透明信息的装置以便允许包括未预计的或特定商家性能。连接API 220可以包括在控制元件230与转发元件210之间的一个性能商议机构以允许由控制元件230发现转发元件特征。
连接API 220自身包括基本的通讯基元以及用于以传输独立方式检验和操作基础传输的状态的方法。连接API 220可以脱钩不同传输,例如PCI(外设部件互连),NGIO底板,Ethernet,或ATM(异步转移模式)实现。根据该传输,一个特定传输模块准确地确定该连接API UDPs(用户数据报协议)怎样被封装在特定互连技术上,以及怎样处理此互连技术的操作中的正常和异常情况。传输的两个例子包括PCI和IP。IP传输最好用在Ethernet或ATM上,并且能够采用UDP(用户数据报协议)或是TCP(传输控制协议)作为传输协议来实现。但是,这些协议的使用并不排除使用本地ATM或Ethernet传输用于连接API 220的实现的可能性。
图4说明本发明一个实施例的一转发元件和一控制元件的示意图。如图4所例举的,标准控制元件230包括三个主要组成部分:(1)控制元件470,其包括如图3所说明的控制元件管理器232和控制元件连接管理器234;(2)不透明转发元件插件API 480;以及(3)转发元件特定插件490。如图4所例举的专利转发元件210包括四个主要组成部分:(1)转发元件软件及硬件410;(2)特定设备转发元件接口420;(3)“BLOB”解封器430;以及(4)抽象转发元件API 440。标准控制元件230和专利转发元件210由开放性转发元件/控制元件互连220相互连接。
在本发明水平开放性联网结构200的应用中,转发元件商家包括与转发元件硬件设备210一起的一个软件插件480,490用于与转发元件硬件设备210一起使用。包含特定转发元件插件490以及不透明转发元件插件API 480的软件插件被安装到标准控制元件230上并与该标准控制元件230相结合。由于标准控制元件230采用开放性API—例如开放性转发元件/控制元件互连220以及抽象转发元件API 440—因此没有将抽象转发元件API调用转化成专利转发元件210的原有格式的开销。
因此,控制元件470适合于生成一个抽象转发元件配置(即,一个标准化数据集)475,用于配置该专利转发元件210。抽象转发元件配置475是在水平开放性联网结构200内的一个标准化的数据集,它提供用于由独立软件商家以及独立硬件商家进行的产品开发中的数据交易的一致性。抽象转发元件结构475最好被传递到不透明转发元件插件API 480,然后不透明转发元件插件API 480把抽象转发元件结构475传递到特定转发元件插件490。不透明转发元件插件API 480执行从控制元件470向特定转发元件插件490中继抽象转发元件配置475(标准化数据集),以及从特定转发元件插件490向专利转发元件210中继特定转发元件配置BLOB(二进制大对象(large object))495(专用数据集)的任务。
由转发元件商家提供的特定转发元件插件490适合于执行把抽象转发元件配置(标准化数据集)475转化成专用数据集,最好是特定转发元件配置BLOB 495。特定转发元件插件490最好是一个二进制形式的动态可链接库(DLL)。由于特定转发元件插件490在标准控制元件230上执行,因此避免了在专利转发元件210上所需的额外处理功率。
特定转发元件配置BLOB(专用数据集)495,包含专用于专利转发元件210的特定转发元件性能的启用。通过利用特定转发元件插件490把标准化数据集转化成专用数据集,专利转发元件210的实现不必被暴露。因此,保持了专利设计和结构信息的机密。由于特定转发元件插件490为二进制形式,因此从标准化数据集向专用数据集的变换处理对于每个人基本上是保密的,因此保护了专利转发元件210的实现。为了从特定转发元件插件DLL文件确定转化处理将需要极大数量的复杂的反向工程。
一旦生成特定转发元件配置BLOB 495,最好将其传回到不透明转发元件插件API 480,然后转发元件插件API 480把BLOB 495传送到专利转发元件210。BLOB 495最好经过开放性转发元件/控制元件互连220,然后到达提取转发元件API 440,并且最终到达BLOB解封器430。BLOB解封器430获得BLOB 495并“解封”它—这是一个非常无足轻重的操作—以及把被解封的BLOB数据直接传递到特定设备转发元件接口420。特定设备转发元件接口420从被解封的BLOB数据获得信息来配置转发元件软件和硬件410以正确地操作专利转发元件210。以此方式,存在于特定设备转发元件接口420中的关于专利转发元件的结构的机密信息决不会暴露给标准控制元件230,使转发元件的独立硬件商家能够保护其知识产权。
另外,可以利用加密来进一步保护从标准控制元件230传递到专利转发元件210的专用数据集。一旦该专用数据集(即,特定转发元件配置BLOB 495)已被从标准化数据集(抽象转发元件配置475)转化,该专用数据集可以被加密。加密的专用数据集将被传递到专利转发元件210,然后在专利转发元件210上解密。但是,加密的使用向专利转发元件210增加了额外的硬件以便执行解密处理。
虽然以上描述涉及本发明的具体实施例,但是应当理解可以做出许多修改而不脱离本发明的精神。附加的权利要求书试图覆盖将落入本发明范围和精神内的这些修改。因此无论从哪方面来看当前所公开的实施例都被看作为是说明性的而不是限制性的,因此由附加的权利要求书而不是以上描述所指示的本发明范围,以及在权利要求书的等效含义及范围内的所有变化被试图包含在其中。

Claims (21)

1、一种计算机系统,包括:
一转发元件,适合于在一计算机网络中执行数据转发;
一控制元件,适合于在一计算机网络中执行网络信令及控制,其中该控制元件适合于生成一个标准化的数据集用于配置该转发元件;
一互连元件,可操作地把该转发元件连到该控制元件;以及
一转发元件插件,与控制元件结合在一起用于从控制元件接收标准化的数据集,把该标准化的数据集转化成一个专用数据集,并把该专用数据集传送到该转发元件以配置该转发元件,其中转发元件利用该专用数据集来配置该转发元件用于在计算机网络中执行数据转发。
2、根据权利要求1的计算机系统,进一步包括一个不透明转发元件插件,用于从控制元件接收该标准化的数据集并把该标准化的数据集传送到转发元件插件,以及用于从转发元件插件接收专用数据集并把该专用数据集传送到转发元件。
3、根据权利要求1的计算机系统,其中该专用数据集是一二进制大对象。
4、根据权利要求1的计算机系统,其中该转发元件进一步包括一个解封器,该解封器接收专用数据集并把该专用数据集解封为可由转发元件的一个特定设备转发元件接口读取的数据以配置该转发元件。
5、根据权利要求1的计算机系统,其中该专用数据集被发送到转发元件中的一个解封器,其用于解封该专用数据集。
6、根据权利要求1的计算机系统,其中在被发送至转发元件前,该专用数据集被加密,并且该加密的专用数据集在转发元件处被解密。
7、根据权利要求1的计算机系统,其中转发元件插件是一个动态链接库。
8、一种配置一计算机设备的方法,该方法包括:
由一控制元件生成一标准化的数据集用于配置一转发元件;
把该标准化的数据集从该控制元件传送到一个与该控制元件结合的转发元件插件;
把该标准化的数据集转化成一个专用数据集;以及
把该专用数据集传送到该转发元件用于配置该转发元件。
9、根据权利要求8的方法,其中该转发元件适合于在一计算机网络中执行数据转发。
10、根据权利要求8的方法,其中该控制元件适合于在一计算机网络中执行网络信令及控制。
11、根据权利要求8的方法,进一步包括:
由一个不透明转发元件插件从控制元件接收该标准化的数据集;以及
由该不透明转发元件插件把该标准化的数据集传送到转发元件插件。
12、根据权利要求8的方法,进一步包括:
由一个不透明转发元件插件从转发元件插件接收专用数据集;以及
由该不透明转发元件插件把该专用数据集传送到该转发元件。
13、根据权利要求8的方法,进一步包括:
把该专用数据集解封为由转发元件的一个特定设备转发元件接口读取的数据以配置该转发元件。
14、根据权利要求8的方法,其中该专用数据集是一个二进制大对象。
15、根据权利要求8的方法,进一步包括:
在把该专用数据集传送到转发元件前加密该专用数据集;以及
在转发元件处解密该专用数据集。
16、根据权利要求8的方法,其中转发元件插件是一个动态链接库。
17、一种转发元件插入式软件程序,包括:
一个计算机可读介质;以及
一个计算机可读程序代码,存储在该计算机可读介质上,适合于与一个控制元件结合用于配置一转发元件,该计算机可读程序代码执行,
接收由控制元件生成的用于配置转发元件的一个标准化的数据集,
把该标准化的数据集转化成一个专用数据集,以及
把该专用数据集传送到转发元件用于配置该转发元件。
18、根据权利要求17的转发元件插入式软件程序,其中该计算机可读程序代码进一步执行:
从一个不透明转发元件插件接收该标准化的数据集;以及
把该专用数据集传送到该不透明转发元件插件。
19、根据权利要求17的转发元件插入式软件程序,其中该计算机可读程序代码进一步执行:
在传送到转发元件前加密该专用数据集。
20、根据权利要求17的转发元件插入式软件程序,其中该专用数据集是一个二进制大对象。
21、根据权利要求17的转发元件插入式软件程序,其中该计算机可读程序代码是一个动态链接库。
CNB008185549A 1999-12-22 2000-08-17 用于网络设备的开放性体系结构中的专有数据转发的方法和装置 Expired - Lifetime CN100386988C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/470,163 1999-12-22
US09/470,163 US7203740B1 (en) 1999-12-22 1999-12-22 Method and apparatus for allowing proprietary forwarding elements to interoperate with standard control elements in an open architecture for network devices

Publications (2)

Publication Number Publication Date
CN1425233A true CN1425233A (zh) 2003-06-18
CN100386988C CN100386988C (zh) 2008-05-07

Family

ID=23866526

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008185549A Expired - Lifetime CN100386988C (zh) 1999-12-22 2000-08-17 用于网络设备的开放性体系结构中的专有数据转发的方法和装置

Country Status (10)

Country Link
US (1) US7203740B1 (zh)
EP (1) EP1240748B1 (zh)
JP (1) JP4554136B2 (zh)
CN (1) CN100386988C (zh)
AT (1) ATE346436T1 (zh)
AU (1) AU6779500A (zh)
DE (1) DE60032018T2 (zh)
HK (1) HK1045773B (zh)
TW (1) TW546929B (zh)
WO (1) WO2001047207A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1617508B (zh) * 2003-11-13 2010-04-14 华为技术有限公司 一种服务质量策略转换设备及方法
CN101888332A (zh) * 2009-05-13 2010-11-17 阿瓦亚公司 用于提供快速重新路由的方法和转发数据单元

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396950B1 (en) * 2000-03-02 2013-03-12 Rockstar Consortium Us Lp Method and apparatus for the fast detection of connectivity loss between devices in a network
US6799318B1 (en) * 2000-04-24 2004-09-28 Microsoft Corporation Method having multiple interfaces with distinguished functions and commands for providing services to a device through a transport
CN1559132A (zh) 2001-09-26 2004-12-29 在具有冗余网络路径的通信系统中接收数据电报
US6973503B2 (en) 2002-05-23 2005-12-06 International Business Machines Corporation Preventing at least in part control processors from being overloaded
WO2004002061A1 (de) * 2002-06-25 2003-12-31 Siemens Aktiengesellschaft KOMMUNIKATIONSNETZWERK UND BETRIEBSVERFAHREN FüR DIESES
US7420929B1 (en) 2002-07-02 2008-09-02 Juniper Networks, Inc. Adaptive network flow analysis
US7251215B1 (en) 2002-08-26 2007-07-31 Juniper Networks, Inc. Adaptive network router
US7313100B1 (en) 2002-08-26 2007-12-25 Juniper Networks, Inc. Network device having accounting service card
US7430747B2 (en) * 2002-12-04 2008-09-30 Microsoft Corporation Peer-to peer graphing interfaces and methods
US20040111517A1 (en) * 2002-12-09 2004-06-10 Mitu Aggarwal Servicing forwarding elements in a network
US20040122967A1 (en) * 2002-12-23 2004-06-24 Bressler Robert D. Method and apparatus for managing packet flows for multiple network services
US7646759B2 (en) * 2003-01-07 2010-01-12 Intel Corporation Apparatus and method for configuring data plane behavior on network forwarding elements
JP4261203B2 (ja) * 2003-01-16 2009-04-30 株式会社リコー 情報提供装置、情報提供方法、情報提供システム、及び情報提供プログラム
JP4213517B2 (ja) * 2003-02-28 2009-01-21 富士通株式会社 パケット処理システム
CN1283063C (zh) 2003-05-20 2006-11-01 华为技术有限公司 通信设备中配置数据的方法及装置
DE10324604A1 (de) * 2003-05-30 2004-12-23 Siemens Ag Verfahren zur Weitergabe von IP-Paketen an eine externe Steuerkomponente eines Netzknotens in einem mehrere Netzknoten ausweisenden IP-Pakete vermittelnden Kommunikationsnetz
DE10324603A1 (de) * 2003-05-30 2004-12-23 Siemens Ag Verfahren zur Weitergabe von IP-Paketen an eine externe Steuerkomponente eines Netzknotens
US9032095B1 (en) 2004-01-06 2015-05-12 Juniper Networks, Inc. Routing device having multiple logical routers
US7664855B1 (en) 2004-05-05 2010-02-16 Juniper Networks, Inc. Port scanning mitigation within a network through establishment of an a prior network connection
US7546635B1 (en) 2004-08-11 2009-06-09 Juniper Networks, Inc. Stateful firewall protection for control plane traffic within a network device
US8156207B2 (en) * 2004-10-08 2012-04-10 Hewlett-Packard Development Company, L.P. Method and apparatus for remotely configuring network devices
US9014181B2 (en) * 2004-11-01 2015-04-21 Alcatel Lucent Softrouter separate control network
US20070189270A1 (en) * 2006-02-15 2007-08-16 Borislow Daniel M Network adapter
US8019893B2 (en) * 2006-08-31 2011-09-13 Cisco Technology, Inc. Method and device to process network data
US20080196104A1 (en) * 2007-02-09 2008-08-14 George Tuvell Off-line mms malware scanning system and method
US8339959B1 (en) 2008-05-20 2012-12-25 Juniper Networks, Inc. Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane
US8955107B2 (en) * 2008-09-12 2015-02-10 Juniper Networks, Inc. Hierarchical application of security services within a computer network
US9559987B1 (en) * 2008-09-26 2017-01-31 Tellabs Operations, Inc Method and apparatus for improving CAM learn throughput using a cache
US8433283B2 (en) 2009-01-27 2013-04-30 Ymax Communications Corp. Computer-related devices and techniques for facilitating an emergency call via a cellular or data network using remote communication device identifying information
US8914878B2 (en) * 2009-04-29 2014-12-16 Juniper Networks, Inc. Detecting malicious network software agents
US8789173B2 (en) * 2009-09-03 2014-07-22 Juniper Networks, Inc. Protecting against distributed network flood attacks
US8369345B1 (en) 2009-11-13 2013-02-05 Juniper Networks, Inc. Multi-router system having shared network interfaces
EP2632086B1 (en) * 2011-04-14 2016-04-06 Huawei Technologies Co., Ltd. Linkage strategy implementation method and module, open platform board and device
US20130070761A1 (en) * 2011-09-20 2013-03-21 International Business Machines Corporation Systems and methods for controlling a network switch
US9251535B1 (en) 2012-01-05 2016-02-02 Juniper Networks, Inc. Offload of data transfer statistics from a mobile access gateway
US9246702B1 (en) * 2012-01-31 2016-01-26 Cisco Technology, Inc. System and method for configuring service appliances as virtual line cards in a network environment
US8817733B2 (en) * 2012-08-16 2014-08-26 Intel Corporation Mobile proxy for cloud radio access network
KR20150103220A (ko) * 2012-12-31 2015-09-09 후아웨이 테크놀러지 컴퍼니 리미티드 통신 네트워크 기능의 개방을 위한 시스템 아키텍처, 서브시스템, 및 방법
US10003495B1 (en) 2014-09-20 2018-06-19 Cisco Technology, Inc. Discovery protocol for enabling automatic bootstrap and communication with a service appliance connected to a network switch
US10270658B2 (en) 2014-09-30 2019-04-23 Cisco Technology, Inc. Zero touch configuration and synchronization of a service appliance in a network environment
US10015048B2 (en) 2014-12-27 2018-07-03 Intel Corporation Programmable protocol parser for NIC classification and queue assignments
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US9825862B2 (en) 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction
US9912774B2 (en) 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US10756928B2 (en) 2016-07-29 2020-08-25 At&T Intellectual Property I, L.P. Interconnection between enterprise network customers and network-based cloud service providers
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US11223520B1 (en) 2017-01-31 2022-01-11 Intel Corporation Remote control plane directing data plane configurator
US11258703B1 (en) 2017-03-21 2022-02-22 Barefoot Networks, Inc. Data plane for learning flows, collecting metadata regarding learned flows and exporting metadata regarding learned flows
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US10757028B1 (en) 2017-04-23 2020-08-25 Barefoot Networks, Inc. Configurable forwarding element deparser
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US10826840B1 (en) 2017-07-23 2020-11-03 Barefoot Networks, Inc. Multiple copies of stateful tables
US10771387B1 (en) 2017-09-28 2020-09-08 Barefoot Networks, Inc. Multiple packet data container types for a processing pipeline
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
US10516649B1 (en) * 2018-06-27 2019-12-24 Valtix, Inc. High-performance computer security gateway for cloud computing platform
US10705511B2 (en) * 2018-07-11 2020-07-07 Siemens Aktiengesellschaft Abstraction layers for automation applications
US11012475B2 (en) 2018-10-26 2021-05-18 Valtix, Inc. Managing computer security services for cloud computing platforms
FR3089082B1 (fr) * 2018-11-27 2020-10-30 Psa Automobiles Sa Procédé de configuration d’un commutateur Ethernet d’un réseau embarqué d’un véhicule automobile
US11533387B2 (en) * 2018-11-30 2022-12-20 Cerner Innovation, Inc. Interface engine architecture

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758194A (en) * 1993-11-30 1998-05-26 Intel Corporation Communication apparatus for handling networks with different transmission protocols by stripping or adding data to the data stream in the application layer
US5903731A (en) 1995-06-14 1999-05-11 Us West Technologies, Inc. System and associated method for re-engineering a telecommunications network support system with object-oriented translators
US5742810A (en) 1995-08-31 1998-04-21 International Business Machines Corporation System, method and computer program product for passing host variables to a database management system
US6393496B1 (en) * 1995-11-09 2002-05-21 Curtis A. Schwaderer Operating system and network independent application program interface for use in an intelligent communication device
US6115747A (en) * 1995-11-13 2000-09-05 Roger E. Billings Computer network interface that merges remote data received from other computers with local data before transmitting the merged data to a network
US5742607A (en) * 1995-12-20 1998-04-21 Intel Corporation Method and apparatus for controlling two way communication via disparate physical media
JP3289605B2 (ja) 1996-06-21 2002-06-10 日本電気株式会社 ハードウェアリソース管理モジュール共通化方式
JP3439337B2 (ja) 1998-03-04 2003-08-25 日本電気株式会社 ネットワーク管理システム
US6243711B1 (en) * 1998-03-06 2001-06-05 Eality, Inc. Scripting language for distributed database programming
WO1999057649A2 (en) 1998-05-04 1999-11-11 Intermec Ip Corporation Automatic data collection device having a network communications capability
US6434618B1 (en) * 1998-11-12 2002-08-13 Lucent Technologies Inc. Programmable network element for packet-switched computer network
US6424621B1 (en) * 1998-11-17 2002-07-23 Sun Microsystems, Inc. Software interface between switching module and operating system of a data packet switching and load balancing system
US6401132B1 (en) * 1999-08-03 2002-06-04 International Business Machines Corporation Subchaining transcoders in a transcoding framework

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1617508B (zh) * 2003-11-13 2010-04-14 华为技术有限公司 一种服务质量策略转换设备及方法
CN101888332A (zh) * 2009-05-13 2010-11-17 阿瓦亚公司 用于提供快速重新路由的方法和转发数据单元
CN101888332B (zh) * 2009-05-13 2015-08-12 阿瓦亚公司 用于提供快速重新路由的方法和转发数据单元

Also Published As

Publication number Publication date
ATE346436T1 (de) 2006-12-15
CN100386988C (zh) 2008-05-07
WO2001047207A2 (en) 2001-06-28
DE60032018D1 (de) 2007-01-04
EP1240748A2 (en) 2002-09-18
HK1045773B (zh) 2007-02-16
AU6779500A (en) 2001-07-03
HK1045773A1 (en) 2002-12-06
JP2003518667A (ja) 2003-06-10
JP4554136B2 (ja) 2010-09-29
US7203740B1 (en) 2007-04-10
EP1240748B1 (en) 2006-11-22
TW546929B (en) 2003-08-11
WO2001047207A3 (en) 2001-12-20
DE60032018T2 (de) 2007-06-21

Similar Documents

Publication Publication Date Title
CN100386988C (zh) 用于网络设备的开放性体系结构中的专有数据转发的方法和装置
KR100225574B1 (ko) 상호 연결된 컴퓨터 네트워크를 위한 보안 시스템
US6154839A (en) Translating packet addresses based upon a user identifier
Hegering et al. Integrated management of networked systems: concepts, architectures and their operational application
US7068680B1 (en) Communication service architectures for netcentric computing systems
US8634437B2 (en) Extended network protocols for communicating metadata with virtual machines
US8954957B2 (en) Network traffic processing according to network traffic rule criteria and transferring network traffic metadata in a network device that includes hosted virtual machines
US5550816A (en) Method and apparatus for virtual switching
US6704866B1 (en) Compression and encryption protocol for controlling data flow in a network
JP3874628B2 (ja) パケット転送装置、半導体装置
EP2031817A1 (en) Systems and/or methods for streaming reverse HTTP gateway and network including the same
JP2006513590A (ja) インターネット通信の合法的傍受のための装置
JP2002504285A (ja) 仮想専用網を実現する装置
EP1297650A1 (en) Content aware network apparatus
JP2005502228A (ja) データ通信処理方法、コンピューティングデバイス、および、コンピュータ可読媒体
CN101669330B (zh) 用于网络的合成桥接
US7617327B1 (en) Method and system for implementing external applications using remote socket application programming interface for virtual routers
CN115134141B (zh) 一种微服务容器集群跨网络通信系统及其通信方法
Cisco Cisco Systems Users Magazine
Cisco Cisco Systems Users Magazine
Cisco Cisco Systems Users Magazine
US7948978B1 (en) Packet processing in a communication network element with stacked applications
Pelikan et al. Networks in the radiology department and the hospital
US20020129276A1 (en) Dual network with distributed firewall for network security
US8179906B1 (en) Communication network elements with application stacking

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080507