用于加速软件定义网络中的转发的方法和设备的制造方法

文档序号:8386214阅读:290来源:国知局
用于加速软件定义网络中的转发的方法和设备的制造方法
【技术领域】
[0001]本发明的实施例涉及联网领域;并且更具体来说,涉及加速软件定义网络中的转发。
【背景技术】
[0002]最近几年,传统的基于电路的通信网络在支持基于分组的网络方面已经有所衰退,基于分组的网络可以更加灵活、有效且安全。因此,基于分组的联网的增加的普及度已经导致对基于分组的网络装置的需求增长。制造商已经在很大程度上满足了这个需求,他们创造了越来越大型的单片路由器来应对网络业务的增加的量和复杂度。但是,这个模型正接近它的技术和经济极限。越来越难以用传统的路由器设计来满足增加的性能要求,并且随着低成本数据中心硬件的出现,路由器供应商难以对于相同性能为更高的硬件成本提出理由。同时,对接入和聚合网络中的路由和交换控制平面的需求正变得越来越复杂。运营商希望能够定制路由以便应对边缘附近的特定类型的业务流,配置跨越聚合网络的定制服务,并实现多层集成,而不需要现今网络中所需的详细低级配置。
[0003]这些趋势导致对于路由体系结构的不同方法,其中数据平面和控制平面已经解耦合。通过这个隔离,可以利用具有变化的体系结构的各种硬件组件来在逻辑上集中并实现控制平面。此外,数据平面可以由通过逻辑集中的控制器配置的简化交换机/路由器元件组成。这个新的分离式体系结构模型集中在分离来自转发和数据处理元件的控制,并且处于软件定义联网(SDN)的核心。软件定义网络中的流处理的一个著名的标准是OpenFlow,它定义了用于在控制平面和转发平面之间传送消息的协议,并描述了用于分组处理的模型。
[0004]软件定义网络的这个分离式体系结构使得能够在可在逻辑或物理上集合在一起的功能性之间进行隔离。例如,可以在公共控制实体和网络应用(例如,通用多协议标签交换(GMPLS)、边界网关协议(BGP)、互联网协议安全(IPSec)等)之间存在分离或隔离。类似地,可以在控制和转发/处理之间存在分离或隔离(即,中央控制与执行分组处理的网络装置的隔离)。还可存在数据转发功能性、数据处理功能性和数据生成功能性(例如,深度分组检查(DPI);加密;操作、维护和管理(OAM)等)的分离或隔离。
[0005]相较于传统单片体系结构网络,软件定义网络呈现很多优点。例如,实现重要的网络路由和交换功能性的控制平面应用与转发平面完全隔离。因此,维持集中的控制平面使得能够实现可根据特定用户需要量身定制的高度定制和优化联网服务。集中的控制平面提供可迎合各种用户需要的高可缩放性、可靠且灵活的联网基础设施。转发平面(或数据平面)装置可以是廉价且可互换的商用联网装置,由此减少用户的整体配置和维护负担。另夕卜,整个网络的单个管理和配置实体增强了用户的易于使用的体验。
[0006]但是,当前的SDN配置也遭受缺点。尽管诸如OpenFlow的系统确实提出了有效的方法来指定分组处理的模型,但是问题在于,在转发平面处接收的不同或新颖的业务直到控制平面为转发转置提供该业务的指令时才可处理。相应地,当新业务流的分组首先进入SDN时,这些初始分组不能被转发,直到控制平面为SDN内的转发装置提供了该流的转发指令为止。此外,为了使得控制平面能够决定对新流的这些初始分组做何处理,通常由转发装置将这些分组传送给控制平面。在转发平面中采用可接收许多这样的“未知”分组的许多转发装置的SDN中,到控制平面的这样的分组传输可能会用业务淹没网络和控制平面。

【发明内容】

[0007]根据本发明的一个实施例,通过充当软件定义网络内的转发平面的网络元件执行一种方法以便减少缓慢路径分组处理的负面影响。该方法包括通过网络元件接收第一分组。该方法还包括确定第一分组是否与网络元件的一个或多个流表的集合内的任何流条目匹配。流表的这个集合包括一个或多个流条目的集合,每个流条目包括将对照入局分组的匹配部分进行匹配的匹配准则。每个流条目还包括将对具有与该流条目的匹配准则匹配的所述匹配部分的分组执行的一个或多个动作的集合。该方法还包括响应于确定第一分组不与流表的集合内的任何流条目匹配而执行未命中过程。未命中过程包括在分组未命中表(PMT)中插入第一分组的至少一部分作为第一条目。PMT存储由网络元件接收的不与流表的集合的任何流条目匹配的分组的部分。未命中过程还包括一旦控制器寻求对PMT的第一条目的存取便向控制器提供该存取。在一个实施例中,当网络元件从控制器接收指示对PMT的一个或多个未处理条目的请求的拉(pull)条目请求消息时,网络元件确定控制器寻求该存取。在一个实施例中,网络元件通过将包含PMT的所请求的一个或多个条目的拉条目响应消息传送给控制器来向控制器提供存取。另外,在本发明的一些实施例中,未命中过程还包括通过确定第一分组的匹配部分是否与来自条目的集合的任何条目的可配置默认规则表(⑶RT)匹配准则匹配来将第一分组与⑶RT的一个或多个条目的集合进行比较。⑶RT的每个条目包括将用于确定分组是否与该条目匹配的CDRT匹配准则。CDRT的每个条目还包括用于指示如何为与该条目匹配的分组在PMT构造条目的格式说明符。
[0008]根据本发明的另一个实施例,通过充当软件定义网络内的控制器的第一网络元件执行一种方法以便减少缓慢路径分组处理的负面影响。该方法包括存取充当软件定义网络中的转发平面的第二网络元件的分组未命中表(PMT)的未处理条目。PMT的每个条目存储由第二网络元件接收的不与第二网络元件的一个或多个流表的集合内的任何条目匹配的分组的部分。流表的集合包括一个或多个流条目的集合,每个流条目包括将对照入局分组的匹配部分进行匹配的匹配准则。每个流条目还包括将对具有与该流条目的匹配准则匹配的匹配部分的分组执行的一个或多个动作的集合。该方法还包括:响应于对PMT的未处理条目的存取,使得第二网络元件将一个或多个流条目的集合插入到流表的集合的一个或多个流表中。在一个实施例中,第一网络兀件通过向第二网络兀件传送指不对PMT的未处理条目的拉请求的拉条目请求消息并从第二网络元件接收包含PMT的一个或多个未处理条目的集合的拉条目响应消息来存取PMT的未处理条目。
[0009]在本发明的一个实施例中,一种网络元件充当软件定义网络(SDN)内的转发平面,并减少缓慢路径分组处理的负面影响。该网络元件包括一个或多个物理网络接口的集合。物理网络接口的集合配置成接收将转发的分组。物理网络接口的集合还配置成:一旦SDN中的控制器寻求对分组未命中表(PMT)的未处理条目的存取,便向控制器提供所述存取。PMT将存储由物理网络接口的集合接收的不与一个或多个流表的集合的任何流条目匹配的分组的部分。该网络元件还包括配置成用于配置一个或多个流表的集合的分组处理模块。流表的集合包括一个或多个流条目的集合,每个流条目包括用于与入局分组的匹配部分进行比较的匹配准则。流条目的集合中的每个流条目还包括将对具有与流条目的匹配准则匹配的匹配部分的分组执行的一个或多个动作的集合。分组处理模块还配置成确定所接收的分组的匹配部分是否与流表的集合的流条目的集合的任何流条目的匹配准则匹配。分组处理模块还配置成在所接收的分组不与流表的集合的任何条目匹配时执行未命中过程。该未命中过程是:插入所接收的分组的至少一部分作为PMT的条目;或基于所接收的分组更新PMT的现有条目。
[0010]在本发明的另一个实施例中,一种网络元件充当软件定义网络内的控制器,并减少缓慢路径分组处理的负面影响。该网络元件包括一个或多个物理网络接口的集合和耦合到物理网络接口的集合的控制模块。控制模块配置成存取充当软件定义网络内的转发平面的第二网络元件的分组未命中表(PMT)的未处理条目。PMT的每个条目存储由第二网络元件接收的不与第二网络元件的一个或多个流表的集合内的任何条目匹配的分组的部分。流表的集合包括一个或多个流条目的集合,每个流条目将包括用于与入局分组的匹配部分进行比较的匹配准则。每个流条目还将包括将对具有与该流条目的匹配准则匹配的匹配部分的分组执行的一个或多个动作的集合。控制模块还配置成:响应于对PMT的未处理条目的存取,向第二网络元件传送一个或多个流条目修改消息。所述一个或多个流条目修改消息指示将一个或多个流条目的集合插入到流表的集合的一个或多个流表中的命令。
[0011]在本发明的实施例中,不与流表中的任何条目匹配的“未命中”分组可以立即进行处理(根据可配置默认规则表),而不必须等到来自控制器的指令到达才能进行。此外,不是将这些未命中分组传送到控制器(并且可能淹没控制器),而是可以将未命中分组(或其完整或部分副本)存储在转发平面中,直到控制平面准备好对它们进行处理。
[0012]根据本发明的另一个实施例,通过充当软件定义网络内的控制器的第一网络元件执行一种方法以便减少缓慢路径分组处理的负面影响。该方法包括存取充当软件定义网络中的转发平面的第二网络元件的分组未命中表(PMT)的未处理条目。PMT的每个条目存储由第二网络元件接收的不与第二网络元件的一个或多个流表的集合内的任何条目匹配的分组的部分。流表的集合包括一个或多个流条目的集合,每个流条目包括用于与入局分组的匹配部分进行比较的匹配准则。每个流条目还包括将对具有与该流条目的匹配准则匹配的匹配部分的分组执行的一个或多个动作的集合。该方法还包括:响应于对PMT的未处理条目的存取,使得第二网络元件将一个或多个流条目的集合插入到流表的集合的一个或多个流表中。在该实施例中,第一网络元件通过利用由第一和第二网络元件的操作系统或所包含的软件子系统提供的现有高速缓存一致性机制来存取PMT的未处理条目,其中现有高速缓存一致性机制允许第一和第二网络元件各自表现得几乎就像是PMT的数据位于该网络元件的本地存储器中。对于该实施例,弱高速缓存一致性是充分的并且期望的。在弱一致性的情况下,可能出现某种高速缓存不一致性,但是归功于本发明的机制,在最坏的情况下,这将导致略微次优的性能,这是因为不一致的条目将导致对PMT条目进行某种程度的再处理。这通过弱高速缓存一致性机制的相对简单性而超过补偿。
【附图说明】
[0013]通过参考以下描述和用于说明本发明的实施例的附图,可以最好地理解本发明。图中:
图1示出根据本发明一个实施例具有加速转发的软件定义网络的一部分;
图2示出根据本发明一个实施例由软件定义网络中的转发元件执行以便加速转发的流程;
图3示出根据本发明一个实施例由软件定义网络中的转发元件执行以便加速转发的未命中过程;
图4示出根据本发明一个实施例由软件定义网络中的控制器执行以便加速转发的流程;以及
图5示出根据本发明一个实施例由软件定义网络中的控制器执行以便加速转发的可配置默认规则表配置过程。
【具体实施方式】
[0014]在以下描述中,阐述了众多具体细节。但是,将理解,没有这些具体细节也可以实践本发明的实施例。在其它情况下,没有详细示出公知的电路、结构和技术,以免使本描述变得模糊。
[0015]本说明书中对“一个实施例”、“实施例”、“示例实施例”等的提及指示,所描述的实施例可以包括特定特征、结构或特性,但不是每个实施例都一定包括该特定特征、结构或特性。而且,这些短语不一定指相同的实施例。此外,当结合一个实施例描述特定特征、结构或特性时,认为本领域技术人员知道结合其它实施例实现该特征、结构或特性,而不管是否有明确描述。
[0016]在以下描述和权利要求书中,可以使用术语“耦合”和“连接”及其派生词。应理解,这些术语不是意图作为彼此的同义词。“耦合”用于指示可以或者可以不彼此直接物理或电接触的两个或两个以上元件彼此协作或交互。“连接”用于指示在彼此耦合的两个或两个以上元件之间建立通信。
[0017]电子装置(例如,终端站、网络元件)利用诸如非暂时性有形计算机可读介质(例如,诸如磁盘、光盘、只读存储器、闪速存储器装置的计算机可读存储介质)和暂时性计算机可读传输介质(例如,电、光、声或其它形式的传播信号,如载波、红外信号)的计算机可读介质存储和传送(在内部和/或通过网络与其它电子装置)代码(由软件指令组成)和数据。另夕卜,这些电子装置通常包括耦合到诸如一个或多个非暂时性机器可读介质(用于存储代码和/或数据)、用户输入/输出装置(例如,键盘、触摸屏和/或显示器)和网络连接(用于利用传播信号传送代码和/或数据)的一个或多个其它组件的一个或多个处理器的集合。处理器的集合与其它组件的耦合通常通过一个或多个总线和桥接器(又称为总线控制器)。因此,给定电子装置的非暂时性计算机可读介质通常存储指令以便在该电子装置的一个或多个处理器上执行。本发明的实施例的一个或多个部分可以利用软件、固件和/或硬件的不同组合来实现。
[0018]如本文中所使用,网络元件(例如,路由器、交换机、桥接器)是包括硬件和软件的一件联网设备,它在通信上互连网络上的其它设备(例如,其它网络元件、终端站)。一些网络元件是对多个联网功能(例如,路由、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)提供支持和/或对多个应用服务(例如,数据、语音和视频)提供支持的“多服
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1