具有分布式流表的网络元件的制作方法

文档序号:9439518阅读:382来源:国知局
具有分布式流表的网络元件的制作方法
【专利说明】具有分布式流表的网络元件
[0001]相关申请的交叉引用
[0002]本申请要求于2013年3月13 日提交的题为“NETWORK ELEMENT WITH DISTRIBUTEDFLOW TABLES(具有分布式流表的网络元件)”的美国非临时申请S/N.13/802,358的权益,其通过援引全部明确纳入于此。
[0003]背景
[0004]领域
[0005]本公开一般涉及电子电路,尤其涉及具有分布式流表的网络元件。
【背景技术】
[0006]分组交换网络遍及全世界地被广泛用于在个体与组织之间传送信息。在分组交换网络中,在由任何数目个网络元件(例如,路由器、交换机、桥接器、或类似联网设备)互连的共用信道上传送小信息块或数据分组。在这些设备中使用流表来指导数据分组通过网络。在过去,这些设备已被实现为封闭式系统。近来,已部署了提供用于远程控制网络元件中的流表的开放式接口的可编程网络。一个示例为OpenFlow,其为基于标准化接口的用于添加、移除和修改流表条目的规范。
[0007]网络元件通常包括专门设计成处理数据分组的网络处理器。网络处理器是采用具有共享存储器的多个处理核的软件可编程设备。各种方法可被用于管理对共享存储器的访问。作为示例,要求访问共享存储器区域的处理核可以设置标志,藉此向其他处理核提供关于该共享存储器区域被锁定的指示。要求访问已锁定的存储器区域的另一处理核可以保持空闲状况,直至该标志被移除。这可能使总吞吐量性能降级。当大量处理核正在争用存储器时,性能降级可以是显著的。
[0008]在网络元件内实现OpenFlow或其他类似协议时,期望在并发访问期间保护流表条目而不会显著增加开销。
[0009]概述
[0010]公开了网络元件的一个方面。该网络元件被配置成存储各自具有第一和第二部分的多个流表条目,其中第一部分仅可被读取,而第二部分可被读取和修改。该网络元件包括配置成存储流表条目的第一部分的第一存储器和配置成存储流表条目的第二部分的第二存储器。该网络元件还包括配置成根据流表条目来处理数据分组的多个处理核,每个处理核被进一步配置成访问这些流表条目在第一存储器中的第一部分。一模块被配置成排他性地访问这些流表条目在第二存储器中的第二部分,以支持由这些处理核对数据分组进行的处理。
[0011]公开了网络元件的另一方面。网络元件被配置成存储各自具有第一和第二部分的多个流表条目,其中第一部分仅可被读取,而第二部分可被读取和修改。该网络元件包括用于存储流表条目的第一部分的第一存储器装置和用于存储流表条目的第二部分的第二存储器装置。该网络元件还包括用于根据流表条目来处理数据分组的多个处理核装置,每个处理核装置被配置成访问这些流表条目在第一存储器装置中的第一部分。一模块装置被配置成排他性地访问这些流表条目在第二存储器装置中的第二部分并且支持由这些处理核装置对数据分组进行的处理。
[0012]公开了用于管理多个流表条目的方法的一个方面。每一个流表条目具有第一和第二部分,流表条目的第一部分被存储在第一存储器中并且流表条目的第二部分被存储在第二存储器中,其中第一部分仅可被读取,而第二部分可被读取和修改。该方法包括用多个处理核根据流表条目来处理数据分组,每个处理核被配置成访问这些流表条目在第一存储器中的第一部分。该方法进一步包括用一模块来访问这些流表条目在第二存储器中的第二部分以支持由处理核对数据分组进行的处理。
[0013]公开了计算机程序产品的一个方面。该计算机程序产品包括非瞬态计算机可读介质,该非瞬态计算机可读介质包括可由网络元件中的多个处理核及一个或多个模块执行的代码。该网络元件被配置成存储各自具有第一和第二部分的多个流表条目,第一部分仅可被读取,而第二部分可被读取和修改。该网络元件进一步包括配置成存储流表条目的第一部分的第一存储器和配置成存储流表条目的第二部分的第二存储器。该代码在该网络元件中被执行时使这些处理核根据流表条目来处理数据分组,其中处理核通过访问这些流表条目在第一存储器中的第一部分来处理数据分组。该代码在该网络元件中被执行时进一步使一模块排他性地访问这些流表条目在第二存储器中的第二部分以支持由这些处理核对数据分组进行的处理。
[0014]应理解,根据以下详细描述,装置和方法的其他方面对于本领域技术人员而言将变得容易明白,其中以解说方式示出和描述了装置和方法的各个方面。如将认识到的,这些方面可以按其他和不同的形式来实现并且其若干细节能够在各个其他方面进行修改。相应地,附图和详细描述应被认为在本质上是解说性的而非限制性的。
[0015]附图简述
[0016]现在将参照附图藉由示例而非限定地在详细描述中给出装置和方法的各个方面,其中:
[0017]图1是解说电信系统的示例的概念框图。
[0018]图2是解说网络元件的示例的功能框图。
[0019]图3是解说查找表中的流表条目的示例的概念图。
[0020]图4是解说在存储器中分布流表条目的示例的概念图。
[0021]图5是解说网络元件的功能性的示例的流程图。
[0022]图6A是解说具有控制器的网络元件接口向查找表添加流表条目的功能性的示例的流程图。
[0023]图6B是解说具有控制器的网络元件接口从查找表中删除流表条目的功能性的示例的流程图。
[0024]图6C是解说具有控制器的网络元件接口修改查找表中的流表条目的功能性的示例的流程图。
[0025]详细描述
[0026]以下将参照附图更全面地描述各种概念。然而,这些概念可由本领域技术人员用许多不同形式来实施并且不应解释为被限定于本文给出的任何具体结构或功能。确切而言,提供这些概念是为了使得本公开将是透彻和完整的,并且其将向本领域技术人员完全传达这些概念的范围。详细描述可以包括具体细节。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,众所周知的结构和组件以框图形式示出以避免煙没本公开通篇所给出的各种概念。
[0027]本公开中通篇给出的各种概念良好地适于网络元件中的实现。网络元件(例如,路由器、开关、桥接器、或类似的联网设备)包括通信地互连网络上的其他装备(例如,其他网络元件、终端站、或类似联网设备)的任何联网装备。然而,如本领域技术人员将容易领会的,本文公开的各种概念可以扩展到其他应用。
[0028]这些概念可以在硬件中或者在硬件平台上执行的软件中实现。硬件或硬件平台可以是被设计成执行本文所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑组件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算组件的组合,例如DSP与微处理器的组合、多个微处理器、与DSP协同的一个或多个微处理器、或任何其他此类配置。
[0029]软件应当被宽泛地解释成意为指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1