CN100401254C - 用于配置网络转发元件上的数据层行为的装置和方法 - Google Patents
用于配置网络转发元件上的数据层行为的装置和方法 Download PDFInfo
- Publication number
- CN100401254C CN100401254C CNB2004800018211A CN200480001821A CN100401254C CN 100401254 C CN100401254 C CN 100401254C CN B2004800018211 A CNB2004800018211 A CN B2004800018211A CN 200480001821 A CN200480001821 A CN 200480001821A CN 100401254 C CN100401254 C CN 100401254C
- Authority
- CN
- China
- Prior art keywords
- forwarding elements
- protocol
- data layer
- configuration information
- interface
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
Abstract
描述了一种用于配置网络转发元件上的数据层行为的方法和装置。在一个实施例中,所述方法包括在一网络元件控制层内接收利用一网络协议应用程序编程接口(API)从一协议应用程序中提取出的协议配置信息。一旦收到所述协议配置信息,则使用和所述协议应用程序所实现的网络协议相对应的控制接口来处理所述协议配置信息。一旦所述协议配置信息处理完毕,所述控制接口就根据协议配置信息为所述网络元件的一个或多个数据层转发元件编程。因此,通过为多个网络协议提供相似的控制接口,能够实现多家厂商组件之间的互操作性。
Description
技术领域
本发明的一个或多个实施例一般涉及网络通信和协议的领域,尤其涉及一种用于配置网络转发元件上的数据层行为的方法和装置。
发明背景
如今,大量的独立硬件厂商(IHV)生产联网用的专用集成电路(ASIC)用以执行无数的分组处理任务。不幸的是,目前此类ASIC的接口一般是具有相应的比特级行为和文件编制的存储器映象寄存器。但是,并非所有IHV都将其产品限制在寄存器级别的描述,一些IHV为其硬件提供C语言级别或其它的软件接口。但是,这些接口仅仅是其下面寄存器的方便反映,并且因而随IHV的不同而有所区别。
此外,寄存器级别的描述或它们到硬件ASIC的软件接口使这些多种多样的产品难以使用。事实上,这些寄存器级别的模型表现出一急剧升降的学习曲线以及与原始设备制造商(OEM)或想要在产品中使用ASIC或联网硅的独立软件厂商(ISV)紧密的结合。在如此微级的描述之下(也就是寄存器比特),难以写出可在这些多种多样的ASIC上重复使用的代码。另外,也难以译解ASIC的联网硅的微级功能。
在联网工业中,一种近来的趋势是用像网络处理器这样的更具可编程性但仍然面向性能的网络设备来取代相对而言不够灵活的ASIC。不幸的是,网络处理器一般处于初期,并且没有抽象的编程模型或者没有一个具有足够灵活性和表达力的模型可随处理器自身的发展一起发展。一般地,如交换机和路由器这样的网络元件可分类为三种逻辑操作部件:控制层、转发层和管理层。
通常,控制层执行不同的信号发送和/或路由协议,并且为转发层提供所有的路由信息。转发层基于此信息作出决定并且对分组执行如转发分类、过滤等等那样的操作。一个正交的管理层管理着控制层和转发层。但是,在上述诸多层面内引入标准化的应用程序编程接口(API)可帮助系统厂商、OEM和这些网络元件的终端用户对来自不同厂商的部件混合和匹配起来以实现他们选择的设备。
附图说明
本发明的各个实施例是作为例子而非限制加以阐明的,附图中:
图1是说明本领域已知的常规计算机网络的方框图。
图2是说明图1中所描绘的常规计算机网络的方框图,它还说明了用来在本领域已知的网络中路由分组的各个网络元件。
图3是说明用在图2所描绘的常规网络中的常规网络元件的方框图。
图4是说明依照本发明一实施例的网络元件的方框图。
图5是依照本发明一实施例、使用图4所描绘的网络元件的计算机网络。
图6是一流程图,说明了依照本发明一个实施例的一种用于配置网络转发元件上的数据层行为的方法。
图7是一流程图,说明了依照本发明一个实施例的一种用于使用一控制接口来处理收到的配置信息的方法,该控制接口与所述收到的配置信息所实现的网络协议相对应。
图8是一流程图,说明了依照本发明一个实施例的一种用于根据一网络协议为一个或多个数据层转发元件编程的方法。
图9是一流程图,说明了依照本发明一个实施例的一种用于根据IPv4(互联网协议版本4)路由协议为一个或多个数据层转发元件编程的方法。
图10是一流程图,说明了依照本发明一个实施例的一种用于根据IPv6(互联网协议版本6)路由协议为一个或多个数据层转发元件编程的方法。
图11是一流程图,说明了依照本发明一个实施例的一种用于根据MPLS(多协议标号交换)协议为一个或多个数据层转发元件编程的方法。
图12是一流程图,说明了依照本发明一个实施例的一种用于根据DiffServ(差别服务)协议为一个或多个数据层转发元件编程的方法。
图13是一流程图,说明了依照本发明一个实施例的一种用于在一转发元件内处理一收到的信息分组的方法,其中该转发元件是根据用于实现路由协议的控制层控制接口而编程的。
详细描述
描述了一种用于配置网络转发元件上的数据层行为的方法和装置。在一个实施例中,该方法包括在一网络元件控制层内接收利用一网络协议应用程序编程接口(API)从一网络协议栈(协议应用程序)中提取的协议配置信息。该协议配置信息一旦被接收,就使用控制层的相应控制接口加以处理。
一旦所述协议配置信息被处理,所述控制接口就根据接收到的协议配置信息为该网络元件的一个或多个数据层转发元件编程。因此,通过为多个网络协议提供相似的控制接口,能使来自不同厂商的部件之间具有互相操作性。结果,实现了厂商的独立性,导致了更迅速的市场营销、提高了效率、减低了成本、为将来的网络元件提供更大程度的革新。
在下面的描述中,以解释说明为目的,阐明了大量具体的细节以提供关于本发明实施例的透彻理解。但是,会很明显,对本领域的技术人员而言,本发明的各个实施例可没有这些具体细节而付诸实践。此外,下面的描述提供了可能的实施例的一个子集,以及它的附图,而非提供了本发明实施例所有可能的实现方式的详尽列表。在其它情况下,以方框图的形式展示公知的结构和设备,以避免混淆本发明各个实施例的细节。
系统结构
图1是说明常规网络100的方框图,包括一通过互联网与主计算机140(140-1,......140-N)耦合的互联网主机102。一般地,根据用于发送数据分组的常规装置执行互联网主机102和主计算机140之间的信息路由。各个分组在互联网内从互联网主机102被路由到不同的主计算机140。此模型在成功发送常规分组化信息的同时,出现了多种应用,包括电话会议以及多媒体应用,这些应用对常规网络内引起的延迟很敏感。
结果,这种使用如图1所示网络的多媒体和实时应用的出现已经推动了对现有网络中的服务质量(QoS)、交换、路由等做出改善和变化的需求。同样地,可通过网络100路由的各种信息(分组)可能要求不同的专门的协议行为。不幸地,图1所示的网络使用一传统的最大努力(best effort)服务模型,该模型并没有为处理网络话务预先分配带宽,而只是基于最大努力使用当前可用的带宽来路由分组。结果,互联网上变化的队列延迟和拥挤是相当普遍的。
网络100所实现的最大努力服务模型是基于传输控制协议(TCP)/互联网协议(IP)(TCP/IP)。特别地,该协议实现是指互联网协议版本4(IPv4)。一般地,IPv4是目前所用的最广为安装的互联网协议层。如本领域技术人员所知的,一IP地址是一个32位的数字,用以识别互联网上以分组形式所发送的信息的每一个发送者或接收者。一个IP地址一般有两部分:一个互联网上一特定网络的标识符;和一个该网络内特定设备的标识符。
如此,互联网是许多个别网络的相互连接,并且IPv4是用于一个网络和另一个网络通信的一组规则,只要该网络知道它自己的互联网地址和与之通信的任何其它网络的互联网地址。不幸地,IPv4所指定的32位IP地址非常接近于被用尽。换句话说,互联网的成长使得在没有某个新的结构出现之前、使用IPv4提供的寻址方案的可能网络地址数目很可能很快被用尽。同样地,目前TCP/IP所提供的最大努力服务模型不能胜任各种目前的以及将来的联网应用。
因此,下一代互联网协议的版本已经实现。如本领域技术人员所知的,这个下一代互联网协议被称为“互联网协议版本6”(IPv6)。IPv6与IPv4相比最明显的改进是其IP地址由32位加长到128位。结果,这种扩展预期了相当大的互联网的未来成长并且缓解了之前察觉到即将发生的网络地址短缺。此外,IPv6描述了三种类型的寻址规则:单播(一个主机到另一个主机);任意播(一个主机到多个主机中最近的一个);以及组播(一个主机到多个主机)。
此外,IPv6提供各种增强。例如,IPv6允许一种分组识别机制,该机制被认为要求相对于其它网络话务分组较高的QoS。换句话说,属于一端到端路径的分组(或“流”)可被识别为比如要求实时到达的多媒体演示的一部分。结果,通过提供这种识别,要求实时递送或对延迟敏感的分组可被给予相对于标准网络话务较高的QoS。
例如,图2是进一步说明图1网络的方框图,以说明在比如一实时应用服务器(源计算机)200和目的计算机220之间的各种网络元件。由于网络是根据IPv4路由协议配置的,因此收到的网络话务基于最大努力服务模型被转发。结果,分组化数据在实时应用服务器200和目的计算机220之间的传输引发了不同的路由延迟,这是由于持续增长的互联网的广泛使用使得互联网上的拥挤非常普遍。例如,在高峰时段,实时分组化数据的传输会引发如此大的延迟以使得该应用在目的源计算机上无法使用。
当前用于为话务流提供服务区别(变化的QoS)的网络协议(模型)是区别服务(DiffServ)模型。DiffServ模型为流集合提供定性的区别,不像例如由集成服务(IntServ)模型提供的延迟约束和确定的带宽那样的硬性保证。例如,DiffServ模型所提供的定性的区别可被配置成为A类(Class A)提供高于B类的优先权。此外,DiffServ模型提供数据路径元件(DPE),包括但不限于分类器、计量器、点滴器、队列和程序调度器。
一种进一步的网络协议是多协议标号交换协议(MPLS),它可用于例如加速网络话务以便实现对网络内的队列延迟和拥挤非常敏感的应用,比如音频和语音应用。MPLS协议是一种用于加速网络话务流量的标准的被认可的技术,也便于简化的管理。MPLS包含为一给定的分组序列设置一特定路径,其中的分组序列由放入每个分组中的标号所识别。结果,一般路由器查询到下一节点的地址以转发分组所需的时间被节省了。
此外,MPLS之所以被称为多协议是因为它与本领域公知的互联网协议、异步传输模式(ATM)协议和帧中继网络协议配合。而且,MPLS允许大多数分组在第二传输层(交换)被转发,而非在第三层(路由)被转发。此外,除了使话务更快以外,MPLS提供对服务质量(QoS)和话务工程的简化的网络管理。因此,实现MPLS协议的网络能够充分地为网络话务的不同混合提供足够的服务质量。如此处所描述的,上述的各种路由、交换和QoS协议总称为“网络协议”。
现在参阅图3,图3是用在图2所示的网络300内的常规网络元件302。如图所示,该网络元件包括一转发层380,该转发层使用一入口过滤器图块304、一转发决定图块390和一出口过滤器图块306用以将进来的分组路由到目的地,如同由控制层310所命令的那样。不幸地,网络元件302提供了在单个设备内紧密耦合的转发和控制层。结果,在网络元件302内实现延迟敏感的应用所要求的变化的QoS一般要求熟知该设备内所使用的专有接口。
但是,在联网工业中近来的趋势是用像网络处理器这样的更可编程的、但仍然面向性能的网络设备来取代相对不够灵活的常规网络元件。不幸地,网络处理器一般处于初期,并且不具有抽象的编程模型或者没有一个具有足够灵活性和表达力的模型可随处理器自身的发展一起发展。
一般地,如交换机和路由器那样的网络元件可分类为三种逻辑操作部件:控制层、转发层和管理层。例如,控制层执行不同的信号发送和/或路由协议并且为转发层提供所有的路由信息。转发层基于此信息作出决定并且对分组执行如转发、分类、过滤等那样的操作。一个正交的管理层管理着控制层和转发层。
但是,在上述诸多层面内引入标准化的应用程序编程接口(API)可帮助系统厂商、OEM和这些网络元件的终端用户将来自不同厂商的部件混合并匹配起来以实现他们选择的设备。因此,图4是说明依照本发明一个实施例的网络元件400的方框图,该网络元件400包含通过互联402耦合在一起的分开的控制层410和数据层430。
在一个实施例中,控制接口410允许数据层的询问,用于确定为所述数据层430的转发元件编程所需的信息。这考虑到了控制网络转发元件内具体行为时的较大程度的一般性。如此处描述的,各种用于产生一表格并填充其条目以实现相应协议的参数和信息在此处总称为“协议配置信息”。
因此,控制接口420能够不管数据层的厂商来源、在数据层430内为一所选的数据层转发元件编程以实现第三方网络协议栈(协议应用程序)。在一个实施例中,控制接口420根据由对应于协议的API从协议应用程序中提取的协议配置信息来为数据层430编程。例如,网络元件400用作说明通过应用程序424和426实现IPv4、IPv6路由协议以及MPLS、DiffServ网络协议(“网络协议”)。同样地,也提供了管理/配置应用程序422。
为了允许来自不同的第三方开发者的各种协议应用程序,本发明的一个实施例为例如IPv4路由协议、IPv6路由协议、MPLS网络协议和DiffServ网络协议提供了API。但是,许多适用于其它期望协议的API可依照本发明的实施例得以实现。因此,通过使用依照本发明实施例的API,可将厂商A控制层装到一个第三方协议应用程序上以实现一特定的协议,如厂商B数据层内的第三方软件开发者期望的特定协议。
在一个实施例中,通信接口连接以及数据层430内协议的实现由各自的协议API来管理。换句话说,控制接口420展示了用于上述协议的API。结果,把相应的API结合到常规的协议应用程序中提供了平台独立的协议应用程序。如此,在一个实施例中,相应的API把从协议应用程序提取的协议配置信息提供给控制层420。
在一个实施例中,控制层420使用此协议配置信息为数据层430转发元件编程以实现该协议。此外,使用例如一种互连报文协议或相似的协议来实现控制接口420和数据层430之间的通信。例如,可在转发元件440内实现IPv6路由协议。如图所示,IPv6转发表以及邻近列表在设备启动期间在转发元件440内形成。此外,如协议配置信息规定的那样,在相应的表格(460)内产生并填充了接口特定的表格条目(462和464)以规定接收到的分组通过接口442的路由。
同样地,也可以以特定条目(452、454和456)在转发元件440内实现MPLS、FTN(把同等类别(FEC)转发到下一个跳跃标签转发条目(NHLFE))和进入的标签映射(ILM)表格。所述特定条目由相应的标签分配协议(LDP)应用程序规定的,用于在通过接口442接收相应分组时控制转发元件的行为。同样地,IPv4路由协议和DiffServ路由协议都可在转发元件470内得到实现。
提供这种能力是由于:在一个实施例中,控制接口420提供所述机制来定位数据层430内许多特定元件之一。也就是,多个转发元件之一内的一个或多个表格中的单个特定的表格条目可以被寻址。同样地,在一个实施例中,控制接口为控制层部件(协议应用程序)提供了一种机制,以询问转发元件来确定数据层的参数和性能。
因此,图5是依照本发明的一实施例说明使用如图4所示的网络元件400的网络500的方框图。如图所示,实时应用程序服务器200能够接收由例如网络元件400内的DiffServ网络协议所提供的改进的/变化的QoS。同样地,其它不同的源计算机可要求一分开的路由/网络协议,比如IPv4(用于传统应用程序)和IPv6路由协议、MPLS网络等等。根据本发明的一个实施例,这些协议可以在网络元件内使用比如包括相应协议API的第三方协议应用程序来实现。
而且,网络元件400内的控制接口420被设计为本质上完全异步以支持用于在控制层和数据层之间互联402的任一类互联技术。控制层和数据层可使用网络技术相连接,比如以太网、电缆线、总线或光纤。同样地,控制层和数据层之间的连接可通过诸如小型PCI(外围部件互连)这样的总线技术来实现,或可通过进程间通信位于同处并相互连接。现在描述用于实现本发明实施例的程序方法。
操作
图6是一流程图,说明了依照本发明一实施例的一种用于配置图4所示网络元件400内网络转发元件上的数据层行为的方法600。在进程框602处,在一网络元件控制层内接收从一协议应用程序中提取的协议配置信息。在一个实施例中,协议应用程序使用一协议应用程序编程接口(API)来实现网络/路由协议,其中所述的API负责提取所述协议配置信息。
在一个实施例中,协议API支持诸多网络协议,比如DiffServ网络协议、MPLS网络协议以及IPv4和IPv6路由协议。因此,由收到的协议配置信息指定的相应协议的实现对于程序设计员而言是隐藏的。一旦接收到协议配置信息应用程序,在进程框604处,使用与由收到的协议应用程序实现的协议相对应的控制接口来处理所收到的协议配置信息。
例如,参照图4所描绘的,控制接口420包含控制接口IPv4、IPv6、MPLS和DiffServ控制接口。结果,控制接口420确定一相应的协议接口,用于处理从比如第三方开发者那接收的应用程序。如此,一旦被选择,在进程框620处,就根据从比如图4所示的协议应用程序中提取的协议配置信息,为所述网络元件的一个或多个数据层转发元件编程。
图7是一流程图,说明了依照本发明一个实施例的一种用于在图6所示的进程框604处处理收到的协议配置信息的方法606。在进程框608处,控制接口选择数据层内的一转发元件以实现与所收到的协议配置信息相关联的网络路由或非路由协议。例如,控制接口420可选择转发元件440来实现IPv6路由协议。
下一步,在进程框610处,确定需要在所选的转发元件内形成的一个或多个接口特定的表格。一旦在进程框612处已确定,由控制接口根据协议配置信息来确定接口特定的(或协议特定的)表格中的一个或多个条目。结果,含有所述接口特定的表格的转发元件根据该接口特定的表格中的条目来确定路由决定。例如,除了IPv6表格460的条目1和2以外,还确定了MPLS表格450的条目1-3。
图8是一流程图,说明了依照本发明一实施例的一种用于为图6所示的进程框620处的数据层转发元件编程的方法622。在进程框624处,在询问由数据层提供的协议性能之后,在设备启动期间向数据层注册协议配置信息所指定的网络协议,以便能从数据层接收事件。换句话说,在转发元件内的各个处理期间,所实现的协议可触发一事件,该事件要求到控制层的通信以确定数据层内随后的处理行为。
在进程框626处,控制接口从网络数据层的一个或多个转发元件中选择转发元件,比如转发元件440(图4)。下一步,在进程框628处,选择一个或多个接口特定的表格,这些表格是设备启动时在所选的转发元件内产生的。一旦在进程框630处已选择,控制接口就在所选择的转发元件的接口特定的表格内产生一个或多个条目,如同由一相应的协议API从收到的协议应用程序中提取的协议配置信息所规定的那样。
图9是一流程图,说明了依照本发明一实施例的一种用于为图6所示的进程框620处的数据层行为编程以实现一IPv4路由协议的方法632。在进程框634处,在设备启动期间,向网络元件数据层注册IPv4路由协议以便能从该数据层接收事件。在进程框636处,在设备启动期间所选的转发元件内产生一IPv4转发表格。在进程框638处,在设备启动期间,在所选择的转发元件内产生一地址解析协议(ARP)表格。
下一步,在进程框640处,选择数据层内的转发元件以实现IPv4路由协议。在进程框642处,确定是否从协议应用程序中接收了一请求,该请求可包括路由更新请求和ARP更新请求。当接收到路由请求时,在进程框644处,根据收到的更新请求,在转发表格中或添加或删除IPv4路由条目。当接收到ARP请求时,在进程框646处,根据收到的请求,在地址解析表格中或添加或删除IPv4条目。因此,重复进程框642-646直到转发元件的编程完成。
图10描绘了一流程图,说明了依照本发明一实施例的一种用于为图6所示的进程框620处的数据层编程以实现一IPv6路由协议的方法650。在进程框652处,在设备启动期间,向所述数据层注册IPv6路由协议以便能从该数据层接收事件,如同上面所指出的那样。在进程框654处,在设备启动期间,在所选择的转发元件内产生一IPv6转发表格。一旦在进程框656处已选择,在设备启动期间,在所选择的转发元件内产生一IPv6邻近表格。
下一步,在进程框658处,从网络元件数据层中选择一转发元件。在进程框660处,确定是否从协议应用程序中接收一请求,该请求可包括路由更新请求和邻近表格更新请求。当接收到路由请求时,在进程框662处,根据接收的请求在转发表格中或添加或删除IPv6路由条目。当接收到邻近表格更新请求时,在进程框664处,根据收到的请求在邻近表格中或添加或删除IPv6邻近条目。因此,重复进程框660-664直到转发元件的编程完成。
图11是一流程图,说明了依照本发明一实施例的一种用于为图6所示的进程框620处的数据层转发元件编程以实现一MPLS网络协议的方法670。在进程框672处,设备启动期间,在所选择的转发元件内产生一FTN表格以实现MPLS交换协议。在进程框674处,设备启动期间,在所选择的转发元件内产生一ILM表格。下一步,在进程框676处,设备启动期间,在所选择的转发元件内产生一FTN DiffServ环境表格。
一旦已产生,在进程框678处,设备启动期间,在所选择的转发元件内产生一ILM DiffServ环境表格。一旦已产生,在进程框680处,确定是否接收一协议应用程序请求。当收到FTN请求时,执行进程框682和684。但是,当收到ILM请求时,执行进程框686和688。否则,控制流返回到进程框620(图6),这种情况一般发生在通过为每一个协议应用程序请求重复进程框680-688以完成数据层转发元件的编程的时候。
因此,在进程框682处,当接收到MPLS FTN条目请求时,在FTN表格内添加或删除MPLS FTN条目。同样地,在进程框684处,当接收到MPLS E-LSP(明确路由标签交换路径)配置条目请求时,在FTN DiffServ环境表格中添加或删除MPLSE-LSP配置条目。否则,在进程框686处,当接收到MPLS ILM条目请求时,在ILM表格内添加或删除MPLS ILM条目。同样地,在进程框686处,当接收到MPLS E-LSP预配置条目请求时,在ILM DiffServ环境表格内添加或删除MPLS E-LSP预配置条目。
图12是一流程图,说明了依照本发明一实施例的一种用于为图6所示的进程框620处的数据层转发元件编程以实现一DiffServ网络协议的方法690。在进程框692处,设备启动期间,在所选择的转发元件内产生多个DiffServ表格以实现DiffServ路由协议,如DiffServ DPE。在一个实施例中,每一个呼叫(协议应用程序请求)可包括下述诸多类型之一的条目:过滤器、计量器、标记器、队列或程序调度器。在进程框694处,当接收到分类器表格条目请求时,在一DiffServ分类器表格中添加或删除过滤器条目。在进程框696处,当接收到计量器条目请求时,在一DiffServ计量器表格中添加、修改或删除计量器条目。
此外,在进程框698处,当收到标记器表格条目请求时,在一DiffServ标记器表格内添加、修改或删除标记器条目。在进程框700处,当收到点滴器条目请求时,在所选择的转发元件中产生的DiffServ算法点滴器表格内添加、修改或删除算法点滴器条目。在进程框702处,当收到一队列条目请求时,在一DiffServ队列中添加、修改或删除查询条目。最后,在进程框704处,当收到调度器表格条目请求时,在一DiffServ调度器表格中添加、修改或删除调度器条目。
最后,图13是一流程图,说明了依照本发明一实施例的一种用于实现控制接口的网络元件的行为的方法710。在进程框712处,确定是否接收一分组。一旦已接收,在进程框714处,确定是否由所接收的分组触发一事件,比如一“协议不被支持”事件。当一事件被触发时,执行进程框716。在进程框716处,将该事件通知给一转发元件应用程序,该转发元件应用程序实现了与所收到的分组相对应的网络协议。在一个实施例中,通知可包括把所收到的分组转发到负责的转发元件。
否则在进程框718处,确定一转发元件,所述转发元件用一个或多个与所述分组相关联的网络协议相对应的接口特定表格来编程。一旦已确定,在进程框720处,确定是否由表格查询触发一事件,比如一“缺失条目/没有发现条目”事件。当一事件被触发时,执行进程框722。在进程框722处,把该事件通知给一转发元件应用程序,该转发元件应用程序实现与所收到的分组相对应的网络协议。在一个实施例中,“没有发现条目”事件可引发转发元件对接收到的分组采取DROP行动。
否则,在进程框724处,转发元件根据与一网络协议相对应的接口特定表格条目来处理所述分组,所述网络协议与所述分组相关联并根据相应的协议配置信息来填充。在一个实施例中,通过例如本领域已知的一种互联报文发送协议来提供控制层和数据层之间的通信。在可替代的实施例中,可使用控制层和数据层之间附加的报文发送或通信协议。
因此,通过使用本发明的实施例,可实现适用于例如网络处理器的第三方协议应用程序开发,而不用管诸如一网络处理器那样的转发元件的控制层或数据层的厂商来源。换句话说,依照本发明的实施例,使用控制接口和相应的API允许多家厂商的部件之间的互操作性,以便为多个变化的网络话务提供改进的和变化的服务质量。
因此,通过把数据层内的网络/路由协议的实现与第三方协议应用程序开发者相分离,实现了平台独立性,这导致了更迅速地营销产品、改善效率、降低成本和具有更大程度的革新性。此外,所提供的控制接口被设计为本质上完全异步地支持任一类控制层和数据层之间的网际互联技术。结果,使用网络技术可将控制层和数据层连接起来,所述网络技术比如以太网、光纤。
同样地,控制层和数据层之间的连接(互连链接)可通过诸如小型PCI那样的总线技术来作出,或通过进程间通信位于同处并且相连。此外,控制接口提供了一使用简单、可缩放并且稳健的接口来配置网络处理器数据层中的IPv4/IPv6/MPLS/DiffServ行为。在一个实施例中,由Intel公司(加利福尼亚州SantaClara市)制造的网络处理器用于管理、应用和路由在控制层中运行的MPLS/QoS应用程序。而且,使用依照本发明实施例的控制接口也可容易地实现第三方路由栈和管理应用程序的整合。
可替换的实施例
已经描述了用于配置多个数据层行为的控制接口和API的一种实现方案的若干方面。但是,控制接口和API的各种实现方案提供了大量的特征,这些特征包括:补足、补充和/或取代上述特征。在不同的实施例实现方案中,诸多特征可作为控制层的一部分或者作为网络元件的一部分来实现。此外,为说明起见,前面的描述使用了特定的术语以提供关于本发明实施例的透彻理解。但是,对本领域的技术人员而言显而易见的是,为实施本发明的实施例并不要求具体的细节。
此外,尽管此处描述的一实施例是针对网络元件的控制接口和API,但是对那些本领域的技术人员而言,本发明的实施例可用于其它系统。事实上,用一网络元件支持多个协议的系统落在由所附权利要求书所定义的本发明的实施例之内。挑选和描述上述的实施例是为了最佳地解释本发明实施例的原理及其实际应用。选择这些实施例以使本领域其它技术人员能够最佳地利用本发明和具有不同修正的各个实施例以便适用于所预期的特定用途。
应该理解,尽管在前面的描述中已经阐明了本发明不同实施例的大量特征和优点,以及本发明不同实施例的结构和功能的细节,但是这种揭示仅仅是说明性的。在一些情况下,某些组件仅仅在与一个这样的实施例一起时才被详细地描述。然而可以认识到并预期,这样的组件可被用于本发明的其它实施例中。可在最大程度上详细地做出许多变化,尤其是在本发明实施例原理之内的结构问题和部件管理,该最大程度则是由表达所附权利要求书所用的术语的宽泛含义所表明的。
已经揭示了示例性的实施例和最佳模式,可以对所揭示的实施例做出修正和改变而与此同时能保持在权利要求书所定义的本发明实施例的范围内。
Claims (35)
1.一种方法,包括:
在一网络元件控制层内接收从一协议应用程序发到一应用程序编程接口API的呼叫,其中所述API由与所述协议应用程序的网络协议相对应的控制接口展示;
使用与所述网络协议相对应的所述控制接口来根据所述API呼叫提取协议配置信息以确定由所述协议应用程序请求的协议配置信息;以及
根据所提取的协议配置信息由所述控制接口来对一网络元件数据层的一个或多个转发元件进行编程以在所述数据层内实现所述网络协议。
2.如权利要求1所述的方法,其特征在于,提取协议配置信息还包含:
在所述数据层内选择一转发元件以实现所述协议配置信息所指定的网络协议;
根据所提取的协议配置信息确定一个或多个接口特定表格以便在所选的转发元件内形成;以及
在所述接口特定的表格内确定一个或多个条目,使得含有所述接口特定表格的转发元件根据所述接口特定表格内的条目作出决定。
3.如权利要求1所述的方法,其特征在于,对所述一个或多个转发元件进行编程还包括:
向所述数据层注册由所提取的协议配置信息所指定的网络协议,以便能从所述数据层接收事件;
从一网络元件数据层的一个或多个转发元件中选择一转发元件;
根据所提取的协议配置信息向所选转发元件询问在所选转发元件内的一个或多个接口特定的表格;以及
为了在处理和由所述协议应用程序实现的网络协议相对应的分组时控制数据层行为,在所选转发元件的接口特定的表格内产生并且填充一个或多个条目。
4.如权利要求3所述的方法,其特征在于,所述产生还包括:
向所选的转发元件询问以确定所产生的接口特定的表格;以及
根据所提取的协议配置信息填充所产生的接口特定的表格。
5.如权利要求1所述的方法,其特征在于,对所述转发元件进行编程还包括:
在启动期间向所述网络元件数据层注册所述网络协议以便能从所述数据层接收事件;
根据所提取的协议配置信息在所述网络元件的数据层内选择一转发元件以实现一IPv4路由协议;
在启动期间向所选的转发元件询问在所选转发元件内产生的转发表格;
在启动期间向所选的转发元件询问在所选转发元件内产生的地址解析表格;
当收到协议应用程序路由更新请求时在所述转发表格内添加/删除IPv4路由条目;以及
当收到协议应用程序地址解析表格更新请求时在所述地址解析表格内添加/删除IPv4条目。
6.如权利要求1所述的方法,其特征在于,对所述一个或多个转发元件进行编程还包括:
在启动期间向所述数据层注册所述网络协议以便能从所述数据层接收事件;
根据所提取的协议配置信息选择所述网络元件数据层的一转发元件以实现一IPv6路由协议;
在启动期间向所选的转发元件询问在所选转发元件内产生的IPv6转发表格;
在启动期间向所选的转发元件询问在所选转发元件内产生的IPv6邻近表格;
当收到协议应用程序路由更新请求时在所述转发表格内添加/删除IPv6路由条目;以及
当收到协议应用程序邻近表格更新请求时在所述邻近表格内添加/删除IPv6邻近条目。
7.如权利要求1所述的方法,其特征在于,对所述数据层的一个或多个转发元件进行编程还包括:
启动期间在被选择用来实现MPLS协议的转发元件内产生一FTN表格;
启动期间在所选转发元件内产生一ILM表格;
启动期间在所选转发元件内产生一FTN DiffServ环境表格;
启动期间在所选转发元件内产生一ILM DiffServ环境表格;
当收到协议应用程序FTN表格更新请求时在所述FTN表格内添加/删除MPLS FTN条目;
当收到协议应用程序ILM表格更新请求时在所述ILM表格内添加/删除MPLS ILM条目;
当收到协议应用程序MPLS E-LSP配置更新请求时在所述FTN DiffServ环境表格内添加/删除MPLS E-LSP配置条目;以及
当收到协议应用程序MPLS E-LSP预配置更新请求时在所述ILM DiffServ环境表格内添加/删除MPLS E-LSP配置条目。
8.如权利要求1所述的方法,其特征在于,对所述数据层的一个或多个转发元件进行编程还包括:
启动期间在被选择用于实现DiffServ网络协议的转发元件内产生多个DiffServ表格;
当收到协议应用程序分类器更新请求时在所选转发元件内产生的DiffServ分类器表格中添加/删除过滤器条目;
当收到协议应用程序计量器更新请求时在所选转发元件内产生的Di ffServ计量器表格中添加/修改/删除计量器条目;
当收到协议应用程序标记器更新请求时在所选转发元件内产生的DiffServ标记器表格中添加/修改/删除标记器条目;
当收到协议应用程序点滴器更新请求时在所选转发元件内产生的DiffServ算法点滴器表格中添加/修改/删除算法点滴器条目;
当收到协议应用程序队列更新请求时在所选转发元件内产生的DiffServ队列表格中添加/修改/删除询问条目;以及
当收到协议应用程序调度器更新请求时在所选转发元件内产生的DiffServ调度器表格中添加/修改/删除调度器条目。
9.如权利要求1所述的方法,还包括:
在所述数据层内接收一分组;
当触发第一事件时,通知一协议应用程序实现和所述接收到的分组相对应的网络协议;
否则,确定用一个或多个接口特定的表格编程的转发元件,所述一个或多个接口特定的表格和与接收到的分组相关联的网络协议相对应;
当触发第二事件时,通知一协议应用程序实现和所述接收到的分组相对应的网络协议;
否则,根据一接口特定的表格条目来处理所述接收到的分组,该接口特定的表格条目是由所述控制接口根据所述协议配置信息产生的并且与所述接收到的分组相关联。
10.如权利要求1所述的方法,其特征在于,所述API是路由协议API、交换协议API和服务质量QoS协议API中的一个。
11.如权利要求10所述的方法,其特征在于,所述路由协议API是IPv4协议和IPv6协议中的一个。
12.如权利要求10所述的方法,其特征在于,所述交换协议API是一MPLS协议API,而所述QoS协议API是DiffServ协议API。
13.如权利要求10所述的方法,其特征在于,所述控制层的厂商不同于所述数据层的厂商,而所述QoS协议API是一DiffServ协议API。
14.如权利要求1所述的方法,其特征在于,所述API包含服务质量性能以便能够把一特定话务流的分组与期望的特殊处理相关联。
15.权利要求14所述的方法,其特征在于,所述期望的特殊处理至少包含实时服务或非缺省值服务质量中的一个。
16.一种用于对计算机进行配置的设备,当所述计算机耦合到所述设备时执行一种方法,所述设备包括:
用于对所述计算机进行配置以在一网络元件控制层内接收从一协议应用程序发到一应用程序编程接口API的呼叫的装置,其中所述API由与所述协议应用程序的网络协议相对应的控制接口展示;
用于对所述计算机进行配置以使用与所述网络协议相对应的所述控制接口来根据所述API呼叫提取协议配置信息以确定由所述协议应用程序请求的协议配置信息的装置;以及
用于对所述计算机进行配置以根据所提取的协议配置信息由所述控制接口来对一网络元件数据层的一个或多个转发元件进行编程以在所述数据层内实现所述网络协议的装置,其中所述控制层的厂商不同于所述数据层的厂商。
17.如权利要求16所述的设备,其特征在于,用于对所述计算机进行配置以提取协议配置信息的装置还包括:
用于对所述计算机进行配置以在所述数据层内选择一转发元件以实现由所述协议配置信息所指定的网络协议的装置;
用于对所述计算机进行配置以根据所述协议配置信息确定一个或多个接口特定的表格以便在所选的转发元件内形成的装置;以及
用于对所述计算机进行配置以在所述接口特定的表格内确定一个或多个条目的装置,使得包含所述接口特定的表格的转发元件根据所述接口特定表格内的条目作出决定。
18.如权利要求16所述的设备,其特征在于,用于对所述计算机进行配置以对所述一个或多个数据层转发元件进行编程的装置还包含:
用于对所述计算机进行配置以在启动期间向所述数据层注册由所述协议配置信息所指定的网络协议以便能从所述数据层接收事件的装置;
用于对所述计算机进行配置以从一网络元件数据层的一个或多个转发元件中选择一转发元件的装置;
用于对所述计算机进行配置以根据所述协议配置信息向所选转发元件询问在所选转发元件内的一个或多个接口特定的表格的装置;以及
用于对所述计算机进行配置以为了在处理和由所述协议应用程序实现的网络协议相对应的分组时控制数据层行为,在所选转发元件的接口特定的表格内产生并且填充一个或多个条目的装置。
19.如权利要求16所述的设备,其特征在于,所述设备还包括:
用于对所述计算机进行配置以在所述数据层内接收一分组的装置;
用于对所述计算机进行配置以当一事件被触发时,通知一协议应用程序实现和所述接收到的分组相对应的网络协议;否则,确定用一个或多个接口特定的表格编程的转发元件的装置,所述一个或多个接口特定的表格和与接收到的分组相关联的网络协议相对应;
用于对所述计算机进行配置以当一事件被触发时,通知一协议应用程序实现和所述接收到的分组相对应的网络协议;否则,根据一接口特定的表格条目来处理所述接收到的分组的装置,该接口特定的表格条目是由所述控制接口根据所述协议配置信息产生的并且与所述接收到的分组相关联。
20.如权利要求16所述的设备,其特征在于,所述API是路由协议API、交换协议API和服务质量QoS API中的一个。
21.如权利要求20所述的设备,其特征在于,所述路由协议API是IPv4协议和IPv6协议中的一个。
22.如权利要求20所述的设备,其特征在于,所述交换协议API是一MPLS协议API。
23.如权利要求20所述的设备,其特征在于,所述QoS协议API是一DiffServ协议API。
24.如权利要求16所述的设备,其特征在于,所述API包含服务质量性能以便能把一特定话务流的分组与期望的特殊处理相关联。
25.权利要求24所述的设备,其特征在于,所述期望的特殊处理至少包含实时服务或非缺省值服务质量中的一个。
26.一网络元件,包括:
一数据层,它包括一个或多个转发元件以根据相应的转发元件内包含的相应接口特定的表格来处理收到的分组;
一通过互连链接与所述数据层耦合的控制层,所述控制层包括利用一应用程序编程接口API实现网络协议的至少一个协议应用程序,其中所述API由与所述协议应用程序的网络协议相对应的控制接口展示;以及
所述控制接口,它用来根据使用与所述协议应用程序的网络协议相对应的API从所述控制层的协议应用程序中提取出来的协议配置信息来产生包含在所述数据层内的接口特定的表格并对其进行编程。
27.如权利要求26所述的网络元件,其特征在于,进一步使所述控制接口:在所述数据层内选择一转发元件以实现由协议配置信息所指定的网络协议;根据提取出来的协议配置信息确定一个或多个接口特定的表格以便在所选转发元件内形成;以及根据协议配置信息在所述接口特定的表格内确定一个或多个条目,使得包含所述接口特定表格的转发元件根据所述接口特定表格内的条目来确定协议决定。
28.如权利要求26所述的网络元件,其特征在于,进一步使所述控制接口:在启动期间向所述数据层注册由所述协议配置信息指定的网络协议,以便能从所述数据层接收事件;从一网络元件数据层的一个或多个转发元件中选择一转发元件;在启动期间向所选转发元件询问在所选转发元件内产生的一个或多个接口特定的表格;以及根据所提取的协议配置信息在所选转发元件的接口特定的表格内产生并填充一个或多个条目。
29.如权利要求26所述的网络元件,其特征在于,进一步使所述控制接口:在所述数据层内接收一分组;确定用一个或多个接口特定的表格编程的转发元件,所述一个或多个接口特定的表格和与所述分组相关联的网络协议相对应;根据由所述控制接口根据收到的协议配置信息产生的一接口特定的表格条目来处理所述分组;以及当一事件被触发时,通知所述协议应用程序实现与所述分组相关联的一网络协议。
30.如权利要求26所述的网络元件,其特征在于,所述互连链接是总线、电缆、光纤和以太网链接中的一个。
31.一系统,包括:
包括多个相互耦合的网络元件的网络,包括:
一数据层,它包括一个或多个转发元件用以根据相应的转发元件内包含的相应接口特定的表格来处理收到的分组;
一通过一互连链接与所述数据层通信耦合的控制层,所述控制层包括利用一应用程序编程接口API实现网络协议的至少一个协议应用程序,其中所述API由与所述协议应用程序的网络协议相对应的控制接口展示;以及
所述控制接口,它用来根据使用与所述协议应用程序的网络协议相对应的API从所述控制层的协议应用程序中提取出来的协议配置信息,产生包含在所述数据层内的接口特定的表格并对其进行编程,其中所述控制层的厂商不同于所述数据层的厂商。
32.如权利要求31所述的系统,其特征在于,进一步使所述控制接口:在所述数据层内选择一转发元件以实现由协议配置信息指定的网络协议;根据所提取的协议配置信息确定一个或多个接口特定的表格以便在所选转发元件内形成;以及根据协议配置信息在所述接口特定的表格内确定一个或多个条目,使得包含所述接口特定表格的转发元件根据所述接口特定表格内的条目来确定协议决定。
33.如权利要求31所述的系统,其特征在于,进一步使所述控制接口:在启动期间向所述数据层注册由所述协议配置信息指定的网络协议,以便能从所述数据层接收事件;从一网络元件数据层的一个或多个转发元件中选择一转发元件;在启动期间向所选转发元件询问一个或多个在所选转发元件内产生的接口特定的表格;以及根据所提取的协议配置信息在所选转发元件的接口特定的表格内产生并填充一个或多个条目。
34.如权利要求31所述的系统,其特征在于,进一步使所述控制接口:在所述数据层内接收一分组;确定用一个或多个接口特定的表格编程的转发元件,所述一个或多个接口特定的表格和与所述分组相关联的网络协议相对应;根据由所述控制接口根据收到的协议配置信息产生的一接口特定的表格条目来处理所述分组;以及当一事件被触发时,通知所述协议应用程序实现与所述分组相关联的网络协议。
35.如权利要求31所述的系统,其特征在于,所述互连链接是总线、电缆、光纤和以太网链接中的一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/338,291 US7646759B2 (en) | 2003-01-07 | 2003-01-07 | Apparatus and method for configuring data plane behavior on network forwarding elements |
US10/338,291 | 2003-01-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1723439A CN1723439A (zh) | 2006-01-18 |
CN100401254C true CN100401254C (zh) | 2008-07-09 |
Family
ID=32681414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800018211A Expired - Fee Related CN100401254C (zh) | 2003-01-07 | 2004-01-02 | 用于配置网络转发元件上的数据层行为的装置和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7646759B2 (zh) |
JP (2) | JP2006515499A (zh) |
KR (1) | KR100747181B1 (zh) |
CN (1) | CN100401254C (zh) |
DE (1) | DE112004000122T5 (zh) |
GB (1) | GB2413032B (zh) |
WO (1) | WO2004064309A2 (zh) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7983239B1 (en) | 2003-01-07 | 2011-07-19 | Raytheon Bbn Technologies Corp. | Systems and methods for constructing a virtual model of a multi-hop, multi-access network |
US7415028B1 (en) * | 2003-02-11 | 2008-08-19 | Network Equipment Technologies, Inc. | Method and system for optimizing routing table changes due to ARP cache invalidation in routers with split plane architecture |
US7397778B2 (en) * | 2003-04-21 | 2008-07-08 | Avaya Technology Corp. | Method and apparatus for predicting the quality of packet data communications |
US7881229B2 (en) * | 2003-08-08 | 2011-02-01 | Raytheon Bbn Technologies Corp. | Systems and methods for forming an adjacency graph for exchanging network routing data |
US7606927B2 (en) * | 2003-08-27 | 2009-10-20 | Bbn Technologies Corp | Systems and methods for forwarding data units in a communications network |
US7606140B2 (en) * | 2003-08-28 | 2009-10-20 | Alcatel Lucent | Distributed and disjoint forwarding and routing system and method |
US8166204B2 (en) * | 2003-08-29 | 2012-04-24 | Raytheon Bbn Technologies Corp. | Systems and methods for automatically placing nodes in an ad hoc network |
US20050265234A1 (en) * | 2004-05-13 | 2005-12-01 | Marconi Communications, Inc. | Diffserv path object for network management |
FI117587B (fi) * | 2004-06-18 | 2006-11-30 | Nethawk Oyj | Menetelmä, laite ja tietokoneohjelmatuote tiedonsiirtoyhteyksien monitorointiin |
US8996722B2 (en) * | 2004-11-01 | 2015-03-31 | Alcatel Lucent | Softrouter feature server |
US8068408B2 (en) * | 2004-11-01 | 2011-11-29 | Alcatel Lucent | Softrouter protocol disaggregation |
US9014181B2 (en) * | 2004-11-01 | 2015-04-21 | Alcatel Lucent | Softrouter separate control network |
US9100266B2 (en) * | 2004-11-01 | 2015-08-04 | Alcatel Lucent | SoftRouter protocol failovers |
US8953432B2 (en) * | 2004-11-01 | 2015-02-10 | Alcatel Lucent | Softrouter dynamic binding protocol |
US7941512B2 (en) * | 2004-12-13 | 2011-05-10 | Cisco Technology, Inc. | Use of IPv6 in access networks |
CN100505684C (zh) * | 2005-03-29 | 2009-06-24 | 国际商业机器公司 | 网络系统,流量均衡方法,网络监视设备和主机 |
CN1842051A (zh) * | 2005-03-30 | 2006-10-04 | 国际商业机器公司 | 流量均衡设备和方法以及使用它们的网络转发设备和方法 |
US7870565B2 (en) * | 2005-06-30 | 2011-01-11 | Intel Corporation | Systems and methods for secure host resource management |
US7742477B1 (en) * | 2006-02-03 | 2010-06-22 | Cisco Technology, Inc. | Interconnectivity between autonomous systems |
US20070233885A1 (en) * | 2006-03-31 | 2007-10-04 | Buskens Richard W | Architectures for assuring the inter-domain transport of QoS sensitive information |
JP4714081B2 (ja) * | 2006-06-01 | 2011-06-29 | アラクサラネットワークス株式会社 | ネットワーク接続装置 |
US8059532B2 (en) * | 2007-06-21 | 2011-11-15 | Packeteer, Inc. | Data and control plane architecture including server-side triggered flow policy mechanism |
US9419867B2 (en) * | 2007-03-30 | 2016-08-16 | Blue Coat Systems, Inc. | Data and control plane architecture for network application traffic management device |
US8279885B2 (en) * | 2007-09-25 | 2012-10-02 | Packeteer, Inc. | Lockless processing of command operations in multiprocessor systems |
US8111707B2 (en) * | 2007-12-20 | 2012-02-07 | Packeteer, Inc. | Compression mechanisms for control plane—data plane processing architectures |
TWI423622B (zh) * | 2007-11-26 | 2014-01-11 | Ind Tech Res Inst | 路由系統、控制元件、路由方法及交換表和轉送表的產生方法 |
US8199750B1 (en) * | 2007-12-18 | 2012-06-12 | World Wide Packets, Inc. | Communicating with a control plane using a forwarding information format and control plane processing of packets devoid of a virtual switch identifier |
US8428021B2 (en) * | 2009-05-14 | 2013-04-23 | Avaya, Inc. | Architecture using inexpensive, managed wireless switching points to deliver large scale WLAN |
US9531716B1 (en) * | 2009-08-07 | 2016-12-27 | Cisco Technology, Inc. | Service enabled network |
US9054943B2 (en) * | 2009-12-23 | 2015-06-09 | Citrix Systems, Inc. | Systems and methods for mixed mode handling of IPv6 and IPv4 traffic by a virtual server |
US8804720B1 (en) | 2010-12-22 | 2014-08-12 | Juniper Networks, Inc. | Pass-through multicast admission control signaling |
CN102148764B (zh) * | 2011-05-09 | 2013-12-11 | 杭州华三通信技术有限公司 | 一种基于QoS业务的数据处理方法和设备 |
US9853901B2 (en) * | 2011-08-18 | 2017-12-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Centralized control of data plane applications |
US8930604B2 (en) | 2012-07-17 | 2015-01-06 | Lsi Corporation | Reliable notification of interrupts in a network processor by prioritization and policing of interrupts |
CN103986660B (zh) * | 2014-05-30 | 2018-01-23 | 华为技术有限公司 | 加载微码的装置以及加载微码的方法 |
US9450866B2 (en) * | 2014-07-11 | 2016-09-20 | Telefonaktiebolaget L M Ericsson (Publ) | Forwarding table performance control in SDN |
US10219522B2 (en) * | 2015-02-06 | 2019-03-05 | Naturex S.A. | Antimicrobial compositions |
US10721206B2 (en) * | 2015-02-27 | 2020-07-21 | Arista Networks, Inc. | System and method of persistent address resolution synchronization |
WO2017184112A1 (en) * | 2016-04-18 | 2017-10-26 | Arista Networks, Inc. | System and method of a graceful reboot of a network controller |
US10587468B2 (en) | 2015-04-27 | 2020-03-10 | Arista Networks, Inc. | System and method of a graceful reboot of a network controller |
US10530692B2 (en) * | 2015-09-04 | 2020-01-07 | Arista Networks, Inc. | Software FIB ARP FEC encoding |
US10075567B1 (en) | 2016-02-08 | 2018-09-11 | Barefoot Networks, Inc. | Packet generation in the data plane of a forwarding element |
US10848420B2 (en) | 2018-02-12 | 2020-11-24 | Cisco Technology, Inc. | Dynamic forwarding features in network elements |
US11272042B2 (en) * | 2020-01-21 | 2022-03-08 | Cisco Technology, Inc. | Methods and systems to track protocol and hardware resource state transitions |
CN112558935B (zh) * | 2020-12-10 | 2023-05-30 | 中盈优创资讯科技有限公司 | 一种基于编排控制流程业务开通的网元控制引擎模块 |
CN113282296B (zh) * | 2021-05-31 | 2022-12-13 | 河南信大网御科技有限公司 | 基于数据面编程的数据转发方法及装置 |
CN114157461B (zh) * | 2021-11-22 | 2023-08-01 | 绿盟科技集团股份有限公司 | 工控协议数据流处理方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0767564A2 (en) * | 1995-10-06 | 1997-04-09 | Canon Kabushiki Kaisha | Protocol reconfiguration in a network interface device |
CN1340935A (zh) * | 2000-08-28 | 2002-03-20 | Lg电子株式会社 | 用于自动路由器配置的设备和方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06197111A (ja) * | 1992-10-26 | 1994-07-15 | Hitachi Ltd | インタネットワーク装置 |
US5537417A (en) * | 1993-01-29 | 1996-07-16 | International Business Machines Corporation | Kernel socket structure for concurrent multiple protocol access |
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 |
US5987517A (en) * | 1996-03-27 | 1999-11-16 | Microsoft Corporation | System having a library of protocol independent reentrant network interface functions for providing common calling interface for communication and application protocols |
US6185566B1 (en) * | 1998-05-05 | 2001-02-06 | Robert A. Adams | Network management system having an embedded network database |
JP3645733B2 (ja) * | 1999-02-24 | 2005-05-11 | 株式会社日立製作所 | ネットワーク中継装置及びネットワーク中継方法 |
US6532241B1 (en) * | 1999-05-20 | 2003-03-11 | Cisco Technology, Inc. | Method and apparatus for determining SNA sessions using various protocols for transport based on filter criteria |
US7203740B1 (en) * | 1999-12-22 | 2007-04-10 | Intel Corporation | Method and apparatus for allowing proprietary forwarding elements to interoperate with standard control elements in an open architecture for network devices |
US6681262B1 (en) * | 2002-05-06 | 2004-01-20 | Infinicon Systems | Network data flow optimization |
-
2003
- 2003-01-07 US US10/338,291 patent/US7646759B2/en not_active Expired - Fee Related
-
2004
- 2004-01-02 KR KR1020057012688A patent/KR100747181B1/ko not_active IP Right Cessation
- 2004-01-02 GB GB0513407A patent/GB2413032B/en not_active Expired - Fee Related
- 2004-01-02 CN CNB2004800018211A patent/CN100401254C/zh not_active Expired - Fee Related
- 2004-01-02 JP JP2006500784A patent/JP2006515499A/ja active Pending
- 2004-01-02 DE DE112004000122T patent/DE112004000122T5/de not_active Withdrawn
- 2004-01-02 WO PCT/US2004/000094 patent/WO2004064309A2/en active Application Filing
-
2007
- 2007-12-26 JP JP2007335129A patent/JP5160214B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0767564A2 (en) * | 1995-10-06 | 1997-04-09 | Canon Kabushiki Kaisha | Protocol reconfiguration in a network interface device |
CN1340935A (zh) * | 2000-08-28 | 2002-03-20 | Lg电子株式会社 | 用于自动路由器配置的设备和方法 |
Non-Patent Citations (6)
Title |
---|
An Architecture for Differentiated Services. S. Blake et al.AN ARCHITECTURE FOR DIFFERENTIATED SERVICES. 1998 |
An Architecture for Differentiated Services. S. Blake et al.AN ARCHITECTURE FOR DIFFERENTIATED SERVICES. 1998 * |
Multiprotocol Label Switching Architecture. Eric C. Rosen et al.MULTIPROTOCOL LABEL SWITCHING ARCHITECTURE. 1999 |
Multiprotocol Label Switching Architecture. Eric C. Rosen et al.MULTIPROTOCOL LABEL SWITCHING ARCHITECTURE. 1999 * |
Router Plugins:A Software Architecture for Next-Generation Routers. DAN DECASPER ET AL.IEEE/ACM TRANSACTIONS ON NETWORKING,Vol.VOL. 8 No.NO. 1. 2000 |
Router Plugins:A Software Architecture for Next-Generation Routers. DAN DECASPER ET AL.IEEE/ACM TRANSACTIONS ON NETWORKING,Vol.VOL. 8 No.NO. 1. 2000 * |
Also Published As
Publication number | Publication date |
---|---|
GB0513407D0 (en) | 2005-08-03 |
US20040131079A1 (en) | 2004-07-08 |
GB2413032A (en) | 2005-10-12 |
KR20050095841A (ko) | 2005-10-04 |
JP2006515499A (ja) | 2006-05-25 |
KR100747181B1 (ko) | 2007-08-07 |
GB2413032B (en) | 2006-05-17 |
WO2004064309A3 (en) | 2004-12-23 |
WO2004064309A2 (en) | 2004-07-29 |
US7646759B2 (en) | 2010-01-12 |
JP2008125116A (ja) | 2008-05-29 |
CN1723439A (zh) | 2006-01-18 |
DE112004000122T5 (de) | 2013-01-17 |
JP5160214B2 (ja) | 2013-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100401254C (zh) | 用于配置网络转发元件上的数据层行为的装置和方法 | |
US6643292B2 (en) | Efficient packet data transport mechanism and an interface therefor | |
CN101322341B (zh) | 提供边界网关协议转发信息库的优先级区分式递归解析的方法和装置 | |
EP1386455B1 (en) | Method and apparatus to perform network routing | |
US5953312A (en) | Method and apparatus for determining alternate routes in a network using a connection-oriented protocol | |
RU2236761C2 (ru) | Структура данных для реализации функции проектирования трафика в системе многопротокольной коммутации на основе меток | |
CN102132535B (zh) | 在通信网中传输数据分组的方法和交换装置 | |
US9025615B2 (en) | Apparatus and methods for establishing virtual private networks in a broadband network | |
CN1630995A (zh) | 通信网络的rsvp代理业务 | |
US7697429B2 (en) | Enhancing a configuration file | |
CN101573913A (zh) | 用于多播路由选择的方法和设备 | |
US7161946B1 (en) | Technique for multiprotocol transport using MPLS (multi-protocol label switching) | |
US20060114904A1 (en) | Differentiated services multicast system and method using encapsulation and unicast | |
US8743685B2 (en) | Limiting transmission rate of data | |
US20070067487A1 (en) | Communications node | |
US7978728B2 (en) | Network clustering for improving connection management and re-routing capabilities | |
CN117201407A (zh) | 一种应用感知的IPv6网络快速拥塞检测与避免方法 | |
JP2003158544A (ja) | プログラマブル・ネットワーク・ルータ兼スイッチのための方法および装置 | |
US7061919B1 (en) | System and method for providing multiple classes of service in a packet switched network | |
US6865178B1 (en) | Method and system for establishing SNA connection through data link switching access services over networking broadband services | |
Cisco | Advanced Cisco Router Configuration: Student Guide Cisco Internetwork Operating System Release 11.0 | |
Cisco | Bridging and IBM Networking Configuration Guide Cisco IOS Release 11.3 | |
JP4189965B2 (ja) | 通信ノード | |
CA2236085C (en) | Efficient packet data transport mechanism and an interface therefor | |
WO2022172052A1 (en) | Method and apparatus for use in multi-protocol communication techniques |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080709 Termination date: 20200102 |