CN1943184A - 允许有效内部通信的自适应路由器体系结构 - Google Patents
允许有效内部通信的自适应路由器体系结构 Download PDFInfo
- Publication number
- CN1943184A CN1943184A CN200580003726.XA CN200580003726A CN1943184A CN 1943184 A CN1943184 A CN 1943184A CN 200580003726 A CN200580003726 A CN 200580003726A CN 1943184 A CN1943184 A CN 1943184A
- Authority
- CN
- China
- Prior art keywords
- unit
- router
- card
- group
- another
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种路由器,包括多个各具有单元标识符的单元,这些单元再分为多个有至少一个单元的组。每组具有共用标识符,并且每组内的每个成员共享冗余性能。每个单元通过将信息定址为共用标识符而不是单元标识符,能够与另一单元进行通信。任选地,一个单元可以是不止一个组的成员。另一选择提出组内的所有单元共享与该组提供的服务相关联的基本信息。另一选择是通过路由器的一个单元为组标识主单元而实施,其中,该主单元为定址对应的共用标识符的请求服务。仍有的另一选择提出通过配置路由器将一个单元标识为其组中的主单元以便为定址为共用标识符的请求服务。
Description
根据35U.S.C S.119(e)和37C.F.R.S.1.78的优先权声明
此非临时专利申请要求基于题为“PG路由器(PG-ROUTER)”的先有美国临时专利申请的优先权,该先有专利申请号为60/540351,于2004年2月2日以Sylvain Monette、Mathieu Giguère、Martin Julien和Benoit Tremblay的名义提交。
发明背景
发明领域
本发明涉及路由器,并且更具体地说,涉及新的自适应路由器体系结构。
相关技术说明
在研究、学习和开发新软件特性以使当前商用路由器支持的因特网协议(IP)服务或功能集延伸超出通常的转发服务时,研究人员和设计人员面临着较多的挑战。这可能用于实验系统、导频网络部署或现场实施。开发、验证和部署新IP服务的主要问题在于缺乏开放式可编程路由器。这可能对实验新IP服务、对于新IP服务验证及对于全面的网络实施特别有用。为如所述般有效地使用,此类体系结构应还具有以下特征:
-可扩展;
-可靠(即无单点故障);以及
-可预测(例如在性能方面)。
然而,今天的商用路由器无论是基于硬件或基于软件,均没有会允许在路由器上运行新IP服务和应用的必需单元和接口。因此,在生产网络中实现部署需要路由器供应商的参与以开发和实施必需的IP服务和协议。除非看到较多的补偿作为努力的回报,否则,路由器供应商不可能对在新特性的开发和实施中所需的资源进行投资。还有即使可劝服路由器供应商实施新特性,更改其实施的进程也是既艰巨又耗时。同样地,除非网络运营商信任研究结果或者可在其自己的网络中进行试验以验证结果,否则,网络运营商不可能要求提供新特性。
正如可以理解的一样,目前需要一种开放式可编程路由器体系结构。本发明提供了此类解决方案。
发明内容
本发明的第一方面涉及一种路由器,包括多个各具有单元标识符的单元。多个单元再分为多个有至少一个单元的组。每组具有共用标识符,并且每组内的每个成员共享冗余性能。此外,多个单元中的每个单元通过将信息定址为共用标识符而不是单元标识符,能够与多个单元中至少另一单元进行通信。
任选地,多个单元中至少一个单元可以是多个组中不止一个组的成员。
另一个任选的实施提出多个组中的组内所有单元在它们之间共享与该组提供的服务相关联的基本信息。
在路由器的至少一个单元为多个组中至少一个组标识主单元时,本发明的另一任选行为发生,其中,该主单元为定址对应的共用标识符的请求服务。在此类实施中,至少一个单元可以还是组的成员,在该组中它标识该主单元。
本发明仍有的另一任选实施提出在多个组的每个组中将一个单元标识为其组中的主单元,以便为定址为共用标识符的请求服务,其中该标识依据通过配置路由器而输入的条件执行。
附图简要说明
结合附图,参照下面详细的说明,可更完整地理解本发明,图中:
图1是根据本发明讲授内容的示范路由器体系结构示图;
图2是根据本发明讲授内容的处理单元的示范模块化表示;
图3是根据本发明讲授内容的转发单元的示范模块化表示;
图4是根据本发明讲授内容的交换单元卡的示范模块化表示;
图5是根据本发明讲授内容的内部分组的示范逻辑表示;
图6是根据本发明讲授内容在第一和第二截然不同的硬件模块上执行的示范有限状态机;以及
图7是根据本发明讲授内容的示范服务供应方法。
具体实施方式
与现有技术解决方案相比,本发明提出了至少五个主要改进。第一个改进来自路由器的内部体系结构。此改进的基本原理是将通常由常规路由器中一个实体承担的责任在多个简单的组件上分割。例如,基于本发明的路由器体系结构可具有连接到路由器网络接口的转发单元、通过交换单元连接到转发单元的处理单元。转发单元高速处理任务(例如每秒10千兆位的网速),并可将非严格时间要求的任务委派给处理单元。本发明还提出使用交换单元来处理路由器的各种单元之间的信息传送(例如在转发单元与处理单元之间)。这允许在两个方向上的资源抽象。例如,在转发单元有信息要发送到处理单元时,它只是将信息发送到交换单元,而交换单元充当处理单元的代理。此概念适用于任一处理单元需要将信息发送到任一转发单元时。
第二个改进是在交换单元中实施,可在转发单元与处理单元之间应用速率限制机制。因此,由于交换单元将舍弃超过处理单元处理容量的任何内容,转发单元因而不必考虑处理单元的处理容量。这假设处理单元具有比转发单元低的数据率性能,由于在处理单元中实施的功能的复杂性原因,情况通常是这样。然而,如果传送通过交换单元在具有类似性能的两个转发单元之间进行,则完全不应用速率限制机制。
第三个改进是通过由路由器的各种单元、但更具体地说由转发单元维护的本地表而实施。本地表用于基于业务和服务供应的特征,有效地在路由器的单元(无论什么单元)之间转发业务。例如,需要将与路由选择协议的维护(或任何其他服务)有关的业务指引到特定的处理单元。此关联“服务-单元”对应于由连接到使用路由选择协议的网络的转发单元维护的本地表中的项。在收到对应业务后,转发单元只是检测业务的类型并将业务转发到表中提及的处理单元。此外,如果路由器支持虚拟路由器概念,则只将提供虚拟路由器服务必需的信息(例如在本地表中)分配在需要访问此类信息的路由器单元上。因此,在给定虚拟路由器扩展并且有关信息变得更多时,只有链接到其上的单元受影响。
第四个改进是通过以不同的方式使用本地表概念并将功能添加到其上而实施。本地表可用于维护与一组依据共用标识符而不是表示单个单元的标识符相关联的单元有关的信息。这使得只要与单元提供的服务相关联的基本信息在该组的所有单元中存在,便可实现热备用冗余。标识实际提供组内服务的主单元的责任可交给该组的成员(即动态地)、交给配置或交给路由器的另外一个单元,它能够更新一个单元为其上当前主单元的组的单元。此方案因此可在动态选择主单元的实施中提供负载均衡。此外,在此类方案中,冗余单元可由多个主单元使用,而不必由所有单元使用。例如,路由器中的每个转发单元可各具有热备用转发单元,而处理单元会共享共用热备用处理单元。由此,限制了在路由器中提供冗余和负载均衡所必需的各种单元的数量。
第五个改进提出给定分组流适用的服务的多个动作可以以链状方式在路由器的多个单元中执行。这可类似于有限状态机,其中,各种状态在不同的物理或虚拟硬件上执行。然而,通过这样操作,在链的第一单元上使用的一些信息可能对第二个单元而言无法访问,或者可能需要重复进行在第一个单元中已经完成的计算。因此,鉴于难以或不可能从链的下一单元获得服务供应所需的信息,本发明提出在状态过渡期间在该分组流的每个分组上使用元数据报头来传送该信息。另外,该元数据报头描述提供给分组的下一动作。
现在参照图形,其中,图1示出根据本发明讲授内容的示范路由器100体系结构。图1示出路由器100体系结构的主要功能组件及其关系。这些组件可以以不同的拓扑链接以实现灵活的服务和分组处理。图1示出此类拓扑的一个例子,并应视为例子。使用图1的拓扑,还将示出本发明另外的示范实施。
图1示出的路由器100具有多个网络接口105.1-105.p和四种主要的功能组件:多个处理单元(PE)140.1-140.n、交换单元(SE)130.1、服务单元(SrE)120.1和多个转发单元(FE)110.1-110.m。该体系结构允许SE、PE、SrE和FE的多个实例共存。在图1上及其标号中,字母用于表示路由器100中可存在每种类型的大量组件的事实。另外,图1上只示出一些组件的一个实例,如SrE 120.1。应容易理解,这是为了清晰起见,并不是将任一类型的组件的数量限制为图1所示的数量。PE 140.1-140.n负责诸如信号发送、控制和路由选择协议及实施管理协议的操作。FE 110.1-110.m使用基础硬件来提供例如由PE140.1-140.m所指引的按分组处理和操作。SE130.1使PE 140.1-140.n和FE 110.1-110.m可在它们自身之间及彼此之间进行通信。第一SE(例如130.2,未示出)可用于PE 140.1-140.n之间的通信,而第二SE(例如130.1)可在FE 110.1-110.m之间使用。SrE 120.1是FE 110.1-110.m中特殊的一种,它不能直接访问网络接口105.1-105.p之一,然而另外共享基本相同的硬件体系结构和原性能(例如处理性能而不是特定的服务供应)。还应注意的是,单个网络接口105.2可连接到多个FE110.1-110.m。另外一个网络接口105.3还示为经接口管理器160.1连接到FE 110.1-110.m,接口管理器可用于管理网络接口105.3到FE110.1-110.m中至少两个FE的连接。
网络接口105.2和105.3在各种配置中实现转发单元的冗余。例如,网络接口105.2在连接到两个转发单元时提供一种冗余方案,在该方案中,对于N个转发单元,必需有2N个卡。这两个转发单元需要在它们自身之间就哪个单元将充当主转发单元而另一单元处于热备用模式进行协调。网络接口105.3可设计为提供一种最佳冗余方案,在该方案中,对于N个转发单元,必需有N+1个卡。在此类方案中,“+1”转发单元配置为所有转发单元的备用卡,并且接口管理器160.1协调发送到热备用卡的业务。同样地,还可使用一种对N个转发单元有N+M个卡的冗余方案。这使得一些卡具有热备用单元,而一些其他卡可依赖共用热备用单元。此外,通过使用相同的体系结构,在动态执行主单元选择时,可提供负载均衡。例如,基于网络接口105.3的负载,接口管理器160.1可在连接到其上的不止一个转发单元之间交换分组。
为对所有应用(本地和远程)无缝地支持任一冗余方案,路由器100的卡可依据共用标识符组合并以该共用标识符为地址。例如,连接到网络接口105.2的这两个转发单元可依据共用信道标识符组合,但它们各具有特定的单元标识符。因此,在路由器100的另外一个卡需要在网络接口105.2上发送信息时,它将其定址为该信道标识符,并且它由组的一个成员服务。在依据该信道标识符组合的所有单元之间需要进行协调以知道将为请求服务的单元。此协调可在内部(例如依据条件)完成,通过外部智能单元(例如接口管理器160.1)或在配置路由器100时输入的设置完成。此方案还使路由器所有类型的单元可具有冗余单元(而不只是转发单元)。例如,具有第二备用单元的交换单元可依据共用信道标识符提供代理功能(即使它们具有截然不同的单元标识符)。然后可布置路由器100以使之后只有该共用标识符用于访问该代理功能。通过信道标识符的该代理功能然后可链接到只使用该信道标识符的两个处理单元(或两组处理单元)。因此,需要到达处理单元的转发单元将使用代理的信道标识符而不是单元标识符之一。
接口管理器160.1在图1上示为路由器100的外部组件,但还可集成到路由器100中而不影响本发明的讲授内容。
这些不同功能单元之间的逻辑交互由图1上的箭头标识。FE110.1-110.m与PE 140.1-140.n的分隔为路由器100体系结构增加了几个益处。它允许PE 140.1-140.n和不同类型的FE 110.1-110.m彼此互操作,并因此使例如在路由器100中集成来自不同供应商的PE140.1-140.n和FE 110.1-110.m成为可能。在涉及网络服务供应时,这变成多得多的设计选择和灵活性。由于可增加附加的转发或处理单元而无需进行较多的系统升级,因此,此体系结构还容易提供扩展性。
路由器100还可支持虚拟路由器概念,这使路由器100的资源可再分和虚拟化到多个各独立提供服务的虚拟路由器中。每个虚拟路由器可涉及许多单元和许多不同类型的单元。例如,交换单元可链接到两个不同的虚拟路由器及在三个虚拟路由器之间共享专用转发单元和处理单元。不过,将虚拟路由器链接到有限数量的单元和网络接口。因此,本发明不将虚拟路由器正确运行所需的信息分配在所有单元上,而是将它只分配给相关单元,从而优化路由器100的资源消耗。直接的结果是路由器100的扩展性得以改进。
处理单元
现在同时参照图1和图2,图2示出根据本发明讲授内容的PE(例如140.2)的示范模块化视图。PE 140.1-140.n主要负责操作,如像路由选择交换协议(RIP)、开放式最短路径优先(OSPF)和边界网关协议(BGP)的路由选择协议和如用于多协议标签交换(MPLS)的标签分配协议(LDP)的控制和信令协议。基于通过控制处理获得的信息,PE140.1-140.n指示FE 110.1-110.m的分组转发行为(例如增加新路由)。控制信息的交换直接在FE 110.1-110.m与PE 140.1-140.n之间基于例如转发和控制单元分隔(ForCES)协议执行。
该体系结构支持多个PE 140.1-140.n,这可用于实现冗余、负载分担、分布式控制或任何其他目的。PE 140.1-140.n完全负责它们之间的协调,从而提供一致性和同步。
图2的PE 140.2作为一个例子示出高级功能140.2.1.1、控制组件140.2.1.2、转发组件140.2.1.3、路由选择协议组件140.2.1.4和管理模块140.1.1.5。所有这些组件作为示范实施示出在PE 140.2的处理部件140.2.1中。高级功能140.2.1.1实施路由器100的委派给PE140.2的功能,这些功能没有到由现有技术路由器提供的普通服务的特定链路(例如链接到新服务部署)。控制组件140.2.1.2能够控制PE140.2及路由器100的其他单元的行为。转发组件140.2.1.3处理从转发单元(可能通过交换单元)接收的业务。PE 140.2的转发组件140.2.1.3通常用于低速率业务。路由选择协议组件140.2.1.4通常管理与由路由器100支持的路由选择协议有关的信息(例如路由选择表更新)。管理模块140.2.1.5负责实施路由器100的网络管理协议。例如,管理模块140.2.1.5触发并响应与网络管理有关的警报和其他事件。类似的功能还在路由器100另外的单元中实施。通常,共有基本相同用途的组件即使其性能范围可能不同,但其命名类似。
图2还示出通过处理部件140.2.1连接到PE 140.2的内部接口192。内部接口192用于在内部与路由器100的其他单元进行通信。为同一目的还在路由器100的其他单元上示出内部接口。在不脱离本发明讲授内容的情况下,单元之间可使用任何其他通信方式。
转发单元/服务单元
现在同时参照图1和图3,图3示出根据本发明讲授内容的FE(例如110.2)的示范模块化视图。FE 110.1-100.m执行如由PE 140.1-140.m所指引的按分组处理和操作。控制分组(如RIP和OSPF消息)由接收FE(例如110.1)重指引到负责的PE(例如140.1),直接从FE 110.1到PE140.1。FE 110.1-110.m与一个或更多个PE 140.1-140.n进行通信。FE110.1-110.m没有PE冗余、负载分担或分布式控制的概念,因为此类功能可能在交换单元中实施。FE 110.1-110.m尽可能保持简单有效,以使它们将其资源集中在分组处理功能上。
该体系结构支持多个FE 110.1-110.m。存在多个FE 110.1-110.m时,分组可通过一个FE(例如110.2)到达并经不同的FE(例如110.3)离开。例如,通过内部接口经交换单元传送经FE 110.2进入并经FE110.3离开的分组。
这些FE 110.1-110.m中每个FE可能具有不同的性能集,带有不同的媒体接口。FE 110.1-110.m可向PE 110.1-110.n表现其性能。分组处理操作可能需要多个FE性能。为实现完整的性能,一个FE(例如110.4)可在部分处理后向另一FE(例如110.5)提供反馈。FE 110.1-110.m以不同种类的拓扑连接,并且分组处理可散布到拓扑中的几个FE 110.1-110.m。
如上所述,路由器100的SrE 120.1在大多数实施中具有可编程性能,等同于没有到一个或更多个网络接口105.1-105.p的连接或即使存在此类连接也不使用的FE的性能。在图3上,这由网络接口105.2的标号点线表示。
在本发明的示范实施中,路由器100通过除其他单元外还使用连接到网络接口(例如105.2)的转发单元卡(例如110.3)来提供至少一种网络服务。转发单元110.3包括至少一个本地表110.3.3.1-110.3.3.2,该表将路由器100的至少另一个卡与由路由器100提供的至少一部分服务相关联。该另一个卡例如可以是处理单元卡(例如140.3)或另外一个转发单元卡(例如110.4)。转发单元卡110.3还包括能够维护本地表110.3.3.1-110.3.3.2的逻辑寻址模块110.3.3和转发组件110.3.1.1-110.3.2.1。转发组件110.3.1.1-110.3.2.1能够在至少一个网络接口105.2上接收分组流、检测该分组流是否需要来自路由器100的另一个卡的进一步处理、查阅本地表110.3.3.1-110.3.3.2以基于该分组流中找到的信息找出该另一个卡所关联的标识符以及向路由器100内的该另一个卡转发该分组流。由于转发组件110.3.1.1连接到转发单元卡110.3的网络处理部件110.3.1,因此,它可能用于严格时间要求的应用。同样地,由于转发组件110.3.2.1连接到转发单元卡110.3的处理部件110.3.2,因此,它可能用于非严格时间要求的应用。
控制组件110.3.2.2还可存在于处理部件110.3.2中。控制组件可能用于与处理单元(例如140.5)交换的功能模块110.3.4有关的通信。通信可在任一方向上进行。例如,通信可发生在转发单元需要相对于信令业务(例如网络管理事件、与转发单元110.3的另一高级功能110.3.4.2有关的信息)更新处理单元时。通信还可发生在处理单元卡140.5发送例如在转发单元卡110.3的功能模块110.4中维护的路由选择表110.3.4.1的更新时。
交换单元
现在同时参照图1和图4,图4示出根据本发明讲授内容的交换单元卡120.1的示范模块化表示。由于转发单元110.1-110.m和处理单元140.1-140.n没有相同的处理性能,因此,路由器100可能存在通过转发单元(例如110.6)以处理单元卡(例如140.6)为目标的拒绝服务攻击的脆弱性。为防止路由器100受到此类攻击,交换单元卡120.1可用于在其间提供速率限制机制。为此,交换单元卡120.1需要包括能够以第一速率从路由器100的转发单元卡110.6接收分组流、确定要将该分组流转发到路由器的另外一个卡的交换部件120.1.1。如果该另外一个卡具有低于第一速率的处理速率(例如该另外一个卡是处理单元卡140.6),则在将该分组流转发到该另外一个卡前将该分组流传递到速率限制机制120.1.2。任选地,如果该另外一个卡不具有低于第一速率的处理速率(例如该另外一个卡是另一个转发单元卡140.7或服务单元卡120.2),则交换部件120.1.1还能够将该分组流转发到该另外一个卡而不将该分组流传递到速率限制机制。
物理体系结构
作为一个示范实施,PE 140.1-140.n可映射到处理器刀片,而FE110.1-110.m可映射到线卡或服务刀片。处理器刀片使用通用处理器,而线卡和服务刀片使用网络处理器和通用处理器。SE 120.1可映射到交换刀片,该刀片通过背板为系统中的所有刀片提供物理互连。
软件组件
路由器100中每个分组属于一个流;每个流是服务的一部分。IP服务是路由器100内IP分组的处理。此处理由在PE 140.1-140.n和FE110.1-110.m两者上运行的不同软件组件的组合提供。例如,服务的时间范围是从分组在网络接口105.1-105.p之一上到达的时刻到它同样在网络接口105.1-105.p之一上离开路由器100的时刻。
在PE 140.1-140.n上运行的控制组件通过运行控制/信令协议和管理应用,为给定服务定义端对端路径控制。这些组件然后为指定的分组定义任一给定FE(例如110.6)的行为。
FE 110.1-110.m是输入分组流遇到的第一个实体。FE(例如140.7)的服务特定组件操控分组,以如控制组件为该IP服务定义的一样为它提供实现IP服务的处理。不同的服务将利用不同的组件。组件可跨一个或几个FE(例如140.7、140.8和140.9)链接以实现更复杂的服务。
分布式有限状态机
当由路由器的多个单元以链状方式提供由路由器100提供的服务时,在链的第一个单元上使用的一些信息可能对第二个单元而言无法访问,或者可能需要重复进行在第一个单元中已经完成的计算。因此,鉴于难以或不可能从链的下一单元获得服务供应所需的信息,本发明提出在状态过渡期间在分组流的每个分组上使用元数据报头来传送该信息。另外,该元数据报头描述提供给分组的下一动作。
图5示出由已添加元报头620的原始分组610形成的内部分组600的示范逻辑表示。元报头620一般在路由器100中用于有效地提供以其他方式几乎不可从另外一个卡获得的信息,并有效地向另外一个卡指示需要对联合的原始分组610进行的操作。例如,它可能指示路由器100的另外一个单元的内部地址、虚拟路由器id、应用id、功能id和/或动作id。例如,虚拟路由器id可用于向另外一个卡指示需要将分组发送到哪个特殊的虚拟路由器。应用或功能id可用于指示需要提供或更新路由器100的哪个服务,并且动作id可指示要应用到原始分组610的下一步骤以进一步提供路由器100的服务。
现在参照图6,该图示出用于服务供应的示范有限状态机。根据本发明的讲授内容,有限状态机在第一710和第二720硬件模块上执行。应注意的是,这两个模块710和720不共享共用存储器。此类情况下,通过将第一模块710的本地信息730i向第二模块720发送而执行在有限状态机的第一状态与第二状态之间从第一模块710到第二模块720的第一过渡730t。本地信息至少指示有限状态机的第二状态。本地信息730i还可包括第一状态的结果,特别是在第一模块710使用第二模块720不可用的信息获得第一状态的结果时。同一概念适用于带有第二模块720的本地信息740i的从第二模块720到第一模块710的最终第二过渡740t。当然,同一概念可推广到任何数量的模块。此外,在一些状态机中,一些模块共享共用存储器时可以以传统方式执行一些过渡,而在其他模块不共享共用存储器时其他过渡可使用本发明的讲授内容。
例如,在示范实施中,转发单元在接收分组流后可检测到必需执行另外一个动作来向其提供服务。此外,转发单元还可检测到该另外一个动作无法在转发单元中执行。之后,它通过将元数据报头添加到该分组流的每个分组而将该分组流发送到路由器的另外一个单元,其中,该元数据报头包含该另外一个动作的标识。该元数据报头还可包含在本地对转发单元可用的信息,该信息会对该另外一个卡执行该另外一个动作有用,并且不会以其他的方式向其提供该信息。同样地,如果转发单元在该分组流上执行了计算,则它可能还将其结果插入该元数据报头中,如果该计算对该另外一个卡执行该另外一个动作有用的话。
在一个示范实施中,路由器100的体系结构包括至少一个网络接口(例如105.2)、多个处理单元(例如140.1-140.n)、至少一个交换单元(例如130.1)和多个转发单元(110.1-110.m)。在此特殊例子中,多个处理单元140.1-140.n中的每个处理单元包括至少一个能够处理网络业务以提供网络服务的处理部件140.1.1。就处理单元而言,处理网络业务包括管理路由选择协议、管理控制信令等。交换单元120.1能够充当多个处理单元140.1-140.n、转发单元110.1-110.m和交换单元的向路由器100的其他单元的代理。此外,多个转发单元110.1-110.m中的每个转发单元包括能够处理网络业务以提供网络服务的部件(例如110.1.2)。就转发单元而言,处理网络业务可包括入口处理、接入控制表(ACL)处理、查表处理、出口处理等。多个转发单元110.1-110.m中的每个转发单元还能够在路由器100的网络接口105.2上接收网络业务,并通过交换单元120.1向多个处理单元140.1-140.n中的至少一个单元委派网络业务的处理。每个转发单元110.1-110.m不需要具体为任一处理单元140.1-140.n定址。交换单元120.1因此向转发单元侧提供处理单元侧可用的资源抽象。同样地,交换单元120.1还能够为从处理单元140.1-140.n接收的朝向转发单元110.1-110.m的已处理的网络业务充当多个转发单元110.1-110.m的代理,从而向处理单元侧提供转发单元侧可用的资源抽象。
多个转发单元中的每个转发单元还可包括能够处理网络业务的网络处理部件110.1.1。此类情况下,多个转发单元中的每个转发单元还能够使用网络处理部件110.1.1以处理严格时间要求的网络业务,以及能够使用处理部件110.1.2以通过至少一个交换单元120.1向多个处理单元140.1-140.n中的至少一个处理单元委派非严格时间要求的网络业务的处理。
每个转发单元110.1-110.m的处理部件110.1.2还能够不使用交换单元120.1的代理性能,而是通过为多个处理单元140.1-140.n中的特定处理单元定址,与多个处理单元140.1-140.n中的至少一个处理单元通信。此类通信的一个例子可涉及信令业务(例如更新路由选择表、与路由选择协议有关的信息)。
在本发明的另一示范实施中,路由器100包括网络接口(例如105.5,未明确示出)、连接到该网络接口的转发单元卡(例如110.8,未明确示出)和交换单元卡(例如120.3,未明确示出)。在此特殊例子中,转发单元卡110.8有以下性能:在网络接口105.5上接收网络业务,检测该网络业务是否需要来自路由器100的另外一个卡的进一步处理,并在检测到时将该网络业务转发到路由器100的交换单元卡120.3。此类情况下,交换单元卡120.3还能够从转发单元卡110.8接收该网络业务,在将该网络业务转发到该另外一个卡之前在该网络业务上应用速率限制机制。在上一例子中,该另外一个卡假设为具有比转发单元卡110.8低的处理速率。因此,速率限制机制是基于接收的网络业务的速率与该另外一个卡的处理速率之间的差而应用。
此外,交换单元卡120.3还能够确定该另外一个卡是另外一个转发单元卡(例如110.9,未明确示出)或服务单元卡(例如120.2,未明确示出),并且在此之后由于该另外一个卡没有更低的处理速率,因此,它能够将网络业务转发到该卡而不应用速率限制机制。
在本发明的又一示范实施中,路由器100包括网络接口(例如105.4,未明确示出)、逻辑寻址模块150和转发单元卡(110.9,未明确示出)。逻辑寻址模块150在图1上示为与路由器100的其他组件逻辑上分开的实体。然而,逻辑寻址模块150还可与卡本身处在同一位置,或位于可从其他卡访问的一个卡上。逻辑寻址模块150能够维护至少一个本地表,该本地表将路由器的至少一个卡(或如上所述依据信道标识符的一组卡)与路由器100提供的至少一个服务的至少一部分相关联。转发单元卡110.9在此上下文中能够在网络接口105.4上接收分组流、检测该分组流是否需要来自路由器100的另外一个卡的进一步处理。转发单元卡110.9不必具体标识路由器100的哪个卡是该另外一个卡,而是标识要应用到该分组流的功能是否在转发单元卡110.9上本地可用。在检测到该分组流需要进一步处理时,转发单元卡110.9能够查阅该本地表以找出该另外一个卡链接到的标识符。在该本地表中定位标识符是基于该分组流中找到的信息而执行。转发单元卡110.9然后还能够使用该标识符来向该另外一个卡转发该分组流。应注意的是,向该另外一个卡发送该分组流而不是直接向其发送。在该分组流中找到的信息可位于该分组流的至少一个分组的报头中。该另外一个卡的标识符可表示特定的另外一个卡的标识符,但还可表示该另外一个卡为其成员的一组卡的标识符。
此外,如果路由器100支持虚拟路由器概念,则至少一个本地表可表示维护的与给定虚拟路由器有关的信息。此类情况下,本地表会只在与虚拟路由器相关联的路由器的单元卡中维护,从而确保更好地使用路由器100的资源。
逻辑寻址模块150还能够在该另外一个卡中维护第二本地表,该表将路由器的至少一个卡与路由器100提供的至少一个服务相关联。由逻辑寻址模块150维护的本地表还可将一系列网络地址与该服务相关联。
转发单元卡110.9还能够通过将元报头添加到该分组流的每个原始分组,以内部分组的形式向该另外一个卡转发该分组流。
在上一例子中,转发单元卡110.9还能够通过先使用来自本地表的标识符将该分组流发送到交换单元卡(例如120.4),向该另外一个卡转发该分组流。在此类上下文中,交换单元卡可为该另外一个卡充当向转发单元卡110.9的代理,并在从转发单元卡110.9接收该分组流时,它将该分组流转发到该另外一个卡。如果该另外一个卡需要将业务发送回转发单元卡110.9,它还可为转发单元卡110.9充当向该另外一个卡的代理。
在本发明的又一实施中,路由器100可提供至少一个网络服务。为此,它包括至少一个网络接口(例如105.5,未明确示出)、多个转发单元(例如110.5-110.7,未明确示出)和至少一个交换单元(例如120.7,未明确示出)。多个转发单元110.5-110.7中的每个转发单元能够在路由器100的至少一个网络接口105.5上接收网络业务、检测该网络业务是否包括对至少一个服务的请求、检测路由器100的至少一个另外的卡是否需要接收该网络业务以提供至少一个网络服务的至少一部分以及在检测到时向至少一个另外的卡发送请求。此类情况下,向至少一个另外的卡发送请求的动作可能包括发送业务到交换单元卡120.7的中间动作,该交换单元卡能够通过接收从多个转发单元中的第一转发单元110.5向该另外一个卡发送的请求而充当该另外一个卡的代理。
交换单元卡120.7还能够确定该另外一个卡是多个转发单元中的第二转发单元110.6并向其转发该网络业务。
此外,路由器100还可包括多个处理单元(例如140.5-140.7,未明确示出),其中,每个处理单元能够提供至少一个网络服务的至少一部分。在此类上下文中,交换单元120.7还能够确定该另外一个卡是多个处理单元之一140.6,并向其转发该网络业务。
同样地,多个转发单元110.5-110.7中的每个转发单元还能够确定该另外一个卡是否为转发单元110.6或处理单元140.6。如果该另外一个卡是转发单元卡110.6,则转发单元卡110.5通过将该网络业务定址到交换单元120.7而向该另外一个卡转发该网络业务。如果该另外一个卡是处理单元140.6,则转发单元卡110.5通过将该网络业务定址为能够充当该另外一个卡的代理的第二交换单元(例如120.8,未明确示出),向该另外一个卡转发该网络业务。此第二交换单元120.8接收从转发单元卡110.5发送的请求。
依次地,该另外一个卡还能够在处理后将该网络业务转发回另外一个交换单元(例如120.9,未明确示出)。该另外一个交换单元120.9然后还能够将已处理的网络业务转发到多个转发单元110.5-110.7中的另外一个转发单元110.7,而该单元又能够在路由器100的另外一个网络接口(例如105.6,未明确示出)上转发已处理的网络业务。
现在参照图7,该图示出根据本发明讲授内容的服务供应的示范方法。该方法包括在转发单元卡110.5中在路由器100的至少一个网络接口上接收分组流的第一步骤810。转发单元卡然后检测该分组流是否需要来自路由器的至少另一个卡之一的进一步处理,并在检测到时,查阅将路由器的至少另一个卡与路由器提供的网络服务的至少一部分相关联的本地表820,以基于该分组流中找到的信息,找出至少另一个卡所关联的标识符。转发单元卡110.5然后向路由器内的至少另一个卡转发该分组流830。转发的步骤830以第一速率执行,并可能向交换单元卡130.5执行。交换单元卡130.5然后可应用速率限制机制840,并还可继续在其本地表中进行另外一个卡的查找850。然后进一步向该另外一个卡(例如,处理单元140.5)发送分组,在应用了速率限制机制时可能以低于第一速率的第二速率860发送。该方法还可包括以下步骤:在从交换单元卡130.5将该分组流以第二速率转发到该另外一个卡140.5前,在交换单元卡110.5中确定该另外一个卡具有低于第一速率的处理速率。
虽然在附图中示出和在上述说明中描述了本发明的几个优选实施例,但将理解,本发明并不限于公开的实施例,而是在不脱离本发明讲授内容范围的情况下能够进行多个重新布置、修改和替代。例如,即使附图示出简单的路由器拓扑以便于理解,这也不可视为本发明的前提条件。实际上,本解决方案适用于各种路由器并还适用于大型路由器。通常,本发明说明书中所作的陈述不一定限制本发明要求保护的各种方面的任一方面。另外,一些陈述可能适用于一些发明特性但不适用于其他特性。在附图中,类似或相似的单元在几个视图中指定有相同的标号,并且所示的各种单元不一定按比例画出。
Claims (6)
1.一种允许有效内部通信的路由器,包括:
-多个各具有单元标识符的单元,所述多个单元再分为多个有至少一个单元的组,其中每组具有共用标识符,并且其中每组内的每个成员共享冗余性能,所述多个单元中每个单元能够:
-通过将信息定址为所述共用标识符而不是所述单元标识符,与所述多个单元中至少另一单元进行通信。
2.如权利要求1所述的路由器,其中所述多个单元中至少一个单元是所述多个组中不止一个组的成员。
3.如权利要求1所述的路由器,其中所述多个组中的组内所有单元在它们之间共享与所述组提供的服务相关联的基本信息。
4.如权利要求1所述的路由器,其中所述路由器的至少一个单元为所述多个组中至少一个组标识主单元,其中所述主单元为定址对应的共用标识符的请求服务。
5.如权利要求2所述的路由器,其中所述至少一个单元是组的成员,在所述组中它标识所述主单元。
6.如权利要求1所述的路由器,其中在所述多个组的每组中将一个单元标识为其组中的主单元,以便为定址为所述共用标识符的请求服务,其中所述标识依据通过配置所述路由器而输入的条件执行。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US54035104P | 2004-02-02 | 2004-02-02 | |
US60/540,351 | 2004-02-02 | ||
US11/038,204 US7411945B2 (en) | 2004-02-02 | 2005-01-21 | Adaptive router architecture enabling efficient internal communication |
US11/038,204 | 2005-01-21 | ||
PCT/IB2005/050387 WO2005074202A1 (en) | 2004-02-02 | 2005-01-28 | Adaptive router architecture enabling efficient internal communication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1943184A true CN1943184A (zh) | 2007-04-04 |
CN1943184B CN1943184B (zh) | 2011-08-03 |
Family
ID=37722686
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200580003759.4A Active CN1914866B (zh) | 2004-02-02 | 2005-01-28 | 分布式有限状态机 |
CN200580003725.5A Expired - Fee Related CN1943183B (zh) | 2004-02-02 | 2005-01-28 | 自适应路由器体系结构 |
CN200580003726.XA Expired - Fee Related CN1943184B (zh) | 2004-02-02 | 2005-01-28 | 允许有效内部通信的自适应路由器体系结构 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200580003759.4A Active CN1914866B (zh) | 2004-02-02 | 2005-01-28 | 分布式有限状态机 |
CN200580003725.5A Expired - Fee Related CN1943183B (zh) | 2004-02-02 | 2005-01-28 | 自适应路由器体系结构 |
Country Status (1)
Country | Link |
---|---|
CN (3) | CN1914866B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237413B (zh) * | 2008-02-29 | 2010-06-09 | 浙江工商大学 | 在转发和控制分离网络件架构下实现控制件高可用性的方法 |
CN102843286A (zh) * | 2011-06-24 | 2012-12-26 | 中兴通讯股份有限公司 | 虚拟路由器的实现方法、装置及系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1914866B (zh) * | 2004-02-02 | 2012-08-08 | 艾利森电话股份有限公司 | 分布式有限状态机 |
CN101572723B (zh) * | 2009-06-02 | 2012-01-04 | 山东大学 | 分布式系统有限状态机扩展模型及检查点准同步方法 |
CN104811400B (zh) * | 2014-01-26 | 2018-04-06 | 杭州迪普科技股份有限公司 | 一种分布式网络设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06131244A (ja) * | 1992-10-20 | 1994-05-13 | Fujitsu Ltd | 共有メモリの非同期アクセス方式 |
US6473396B1 (en) * | 1999-01-04 | 2002-10-29 | Cisco Technology, Inc. | Use of logical addresses to implement module redundancy |
CN1325217A (zh) * | 2000-08-29 | 2001-12-05 | 深圳市中兴通讯股份有限公司 | 一种分布式通信系统及其方法 |
CN1266911C (zh) * | 2001-10-05 | 2006-07-26 | 三星电子株式会社 | 用于大规模并行路由器结构的路由协调协议 |
CN1172493C (zh) * | 2002-10-14 | 2004-10-20 | 港湾网络有限公司 | 网络交换设备第三层交换芯片优化设置方法 |
CN1914866B (zh) * | 2004-02-02 | 2012-08-08 | 艾利森电话股份有限公司 | 分布式有限状态机 |
-
2005
- 2005-01-28 CN CN200580003759.4A patent/CN1914866B/zh active Active
- 2005-01-28 CN CN200580003725.5A patent/CN1943183B/zh not_active Expired - Fee Related
- 2005-01-28 CN CN200580003726.XA patent/CN1943184B/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237413B (zh) * | 2008-02-29 | 2010-06-09 | 浙江工商大学 | 在转发和控制分离网络件架构下实现控制件高可用性的方法 |
CN102843286A (zh) * | 2011-06-24 | 2012-12-26 | 中兴通讯股份有限公司 | 虚拟路由器的实现方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1943183B (zh) | 2012-05-30 |
CN1914866A (zh) | 2007-02-14 |
CN1943184B (zh) | 2011-08-03 |
CN1914866B (zh) | 2012-08-08 |
CN1943183A (zh) | 2007-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107431642B (zh) | 用于控制交换机以捕获和监视网络流量的系统和方法 | |
CN106416132B (zh) | 使用控制器处的交换机建模接口控制网络交换机的系统和方法 | |
CN103416010B (zh) | 网络在协议之间的自动转换 | |
CN101421991B (zh) | 针对拒绝服务攻击的硬件过滤支持 | |
CN100348000C (zh) | 用于封装帧以在存储区域网络中传输的方法和装置 | |
CN101536427B (zh) | 链路聚合 | |
CN108270676B (zh) | 一种基于Intel DPDK的网络数据处理方法及装置 | |
US20020167902A1 (en) | Method and system for performing security via virtual addressing in a communications network | |
CN1437815A (zh) | 宽带网络中高可用性、直接、灵活及可缩放数据分组交换的系统和方法 | |
CN1826769A (zh) | 虚拟网络设备 | |
JP2017506025A (ja) | ネットワークサービス挿入を実行するシステム及び方法 | |
CN102377640B (zh) | 一种报文处理装置和报文处理方法、及预处理器 | |
US8537839B2 (en) | Traffic generator with dynamic MPLS label assignment | |
CN1875585A (zh) | 利用mac限制来控制动态未知l2泛滥 | |
CN101820358A (zh) | 高利用率以及多路的以太网光纤通道 | |
US7269661B2 (en) | Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet | |
CN1750485A (zh) | 网络仿真测试系统及方法 | |
CN1943184A (zh) | 允许有效内部通信的自适应路由器体系结构 | |
CN102231709B (zh) | 虚拟路由装置的控制平面结构及其控制方法 | |
CN1297105C (zh) | 基于虚拟专用网的实现多角色主机的方法 | |
US20120051364A1 (en) | Distributed routing according to longest match principle | |
JP2002319957A (ja) | ネットワーク中継装置、ポートのモニタリング方法、およびその方法をコンピュータが実行するためのプログラム | |
EP1719305B1 (en) | Distributed finite state machine | |
CN1728661A (zh) | 在地址解析协议代理上实现备份和负载均摊的方法 | |
CN1871822A (zh) | 用于接入层交换机的基于端口的负载共享 |
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: 20110803 Termination date: 20180128 |