虚拟软件定义网络交换机的制作方法

文档序号:9250959阅读:734来源:国知局
虚拟软件定义网络交换机的制作方法
【技术领域】
[0001]本发明涉及软件定义网络技术领域,特别涉及一种虚拟软件定义网络交换机。
【背景技术】
[0002]软件定义网络是下一代互联网的重要研宄方向,现今软件定义网络领域研宄工作的一个重要分支是网络虚拟化,通过将物理软件定义网络进行虚拟化成多个虚拟网络并且分配给不同的虚拟网络用户使用,从而提高网络资源的利用率。
[0003]目前软件定义网络虚拟交换机的实现方式有两类常见的方法,一种是纯软件模拟实现方式,这种方式可以根据虚拟网络用户需求对虚拟网络中的虚拟交换机进行灵活定义,但是由于是采用软件模拟的方式,虚拟交换机处理能力非常受限。另一类常见的方法是在传统软件定义网络物理交换机上通过地址空间划分来获得不同的逻辑分片,每一个逻辑分片作为一个虚拟交换机使用。这种方法一方面限制了各个虚拟网络可使用的地址空间,另一方面每个虚拟交换机的报文处理流程均依赖于物理交换机,虚拟网络使用者不能对其进行灵活定义。

【发明内容】

[0004]本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
[0005]为此,本发明的目的在于提出一种虚拟软件定义网络交换机,该交换机可以根据自身应用需求在物理交换机上灵活定义虚拟交换机的处理逻辑,进而可以灵活调整物理交换机存储资源配置,提高存储资源利用效率。
[0006]为了实现上述目的,本发明的实施例提出了一种虚拟软件定义网络交换机,包括:预处理模块,用于从数据报文中提起头部字段和虚拟交换机编号;多级处理流水级,每级处理流水级包括匹配查询串提取器和通配规则表,其中,所述多级处理流水级依次处理所述数据报文;所述匹配查询串提取器用于从所述头部字段中选择多个字段,并将所述多个字段拼接为匹配查询串;所述通配规则表包括三态内容寻址存储器和静态随机寻址存储器,所述三态内容寻址存储器存储有多行匹配规则,所述通配规则表用于根据所述匹配查询串从所述三态内容寻址存储器中查询匹配规则,并根据查询的匹配规则从所述静态随机寻址存储器选择并执行相应的指令,其中,每行的匹配规则存储其所属的虚拟交换机的编号。
[0007]另外,根据本发明上述实施例的虚拟软件定义网络交换机还可以具有如下附加的技术特征:
[0008]在一些示例中,所述预处理模块包括:头部字段提取模块,用于从所述数据报文中提取所述头部字段;虚拟交换机识别模块,用于提取虚拟交换机编号。
[0009]在一些示例中,所述匹配查询串提取器包括:多个输入寄存器,所述多个输入寄存器一一对应地存储所述多个字段;多个输出寄存器,所述多个输出寄存器包括虚拟交换机编号寄存器和多个字段寄存器,所述多个字段寄存器分别通过多路选择器与所述多个输入寄存器相连,以对来自所述多个输入寄存器输入的字段拼接为所述匹配查询串;输出模块,所述输出模块与所述多个输出寄存器相连,以输出所述匹配查询串。
[0010]在一些示例中,所述多个输入寄存器为16比特输入寄存器。
[0011]根据本发明实施例的虚拟软件定义网络交换机,具有如下优点:
[0012]1.虚拟网络用户可以根据自身应用需求在物理交换机上灵活定义虚拟交换机的处理逻辑;
[0013]2.虚拟网络用户无需关心物理交换机处理逻辑实现细节;
[0014]3.根据虚拟交换机处理逻辑需求可以灵活调整物理交换机存储资源配置,提高存储资源利用效率。
[0015]本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0016]本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0017]图1是根据本发明一个实施例的虚拟软件定义网络交换机的结构框图;
[0018]图2是根据本发明一个实施例的虚拟软件定义网络交换机的预处理模块的结构框图;
[0019]图3是根据本发明一个实施例的虚拟软件定义网络交换机的匹配查询串提取器的结构框图;
[0020]图4是根据本发明一个实施例的虚拟软件定义网络交换机的处理流程示意图;以及
[0021]图5是根据本发明一个具体实施例的匹配查询串提取器结构示意图。
【具体实施方式】
[0022]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0023]以下结合附图描述根据本发明实施例的虚拟软件定义网络交换机。
[0024]图1是根据本发明一个实施例的虚拟软件定义网络交换机的结构框图。如图1所示,该虚拟软件定义网络交换机1000包括:预处理模块100和多级处理流水级200。
[0025]其中,预处理模块100用于从数据报文中提取头部字段和虚拟交换机编号。更为具体地,在一些示例中,如图2所示,预处理模块100包括:头部字段提取模块110和虚拟交换机识别模块120。其中,头部字段提取模块110用于从数据报文中提取头部字段。虚拟交换机识别模块120用于提取虚拟交换机编号。
[0026]每级处理流水级200包括匹配查询串提取器210和通配规则表220,其中,多级处理流水级200依次处理数据报文。
[0027]具体地说,匹配查询串提取器210用于从头部字段中选择多个字段,并将多个字段拼接为匹配查询串。进一步地,如图3所示,匹配查询串提取器210包括:多个输入寄存器211、多个输出寄存器212和输出模块213。具体地说,多个输入寄存器211 一一对应地存储多个字段。多个输出寄存器212包括虚拟交换机编号寄存器和多个字段寄存器,多个字段寄存器分别通过多路选择器与多个输入寄存器211相连,以将来自多个输入寄存器211输入的字段拼接为匹配查询串。输出模块213与多个输出寄存器212相连,以输出匹配查询串。其中,在该示例中,例如,多个输入寄存器211为16比特输入寄存器。
[0028]通配规则表220包括三态内容寻址存储器和静态随机寻址存储器,三态内容寻址存储器存储有多行匹配规则,通配规则表用于根据匹配查询串从三态内容寻址存储器中查询匹配规则,并根据查询的匹配规则从静态随机寻址存储器选择并执行相应的指令,其中,每行的匹配规则存储其所属的虚拟交换机的编号。
[0029]为了便于更好地理解本发明实施例的虚拟软件定义网络交换机,以下结合图4和图5以具体的实施例来对该交换机进行更为详细、具体地描述。
[0030]作为具体示例,如图4所示,虚拟软件定义网络交换机的报文处理流水线由多级处理流水级组成,且每级处理流水级由匹配查询串提取器和通配规则表两部分组成。匹配查询串提取器负责从数据报文的所有字段中选出部分若干字段并且拼接成匹配查询串。通配规则表则利用匹配查询串作为输入,将查询串于规则表中所有表项逐一对比,并且执行匹配结果所对应的处理动作。每级处理流水线处理完后将报文传递到下一级流水级,直到最后一级流水处理级将报文送出流水线。
[0031 ] 具体地说,如图4所示,数据报文进入处理流水线,首先经过头部字段提取与虚拟交换机识别处理阶段。在该阶段,交换机从报文头部一次提取出所有需要的字段。虚拟交换机编号提取可以采用在报文中增加新的与虚拟网络协议无关的新字段,或者复用现有字段里例如VLAN字段来实现。然后将提取的全部头部字段和虚拟交换机编号送入流水级的查询串提取器。
[0032]进一步地,通配规则表由三态内容寻址存储器(TCAM)和静态随机寻址存储器(SRAM)实现。三态内容寻址存储器是按规则表结构组织,包含若干行和列,例如800行,每行40比特宽。三态内容寻址存储器中每一行存储一条匹配规则,每一位可以三种状态中的一种,分别是0、1、*,其中代表通配,即皆可以匹配O也可以匹配I。三态内容寻址存储器的输入内容是与行宽等长的01比特串。三态内容寻址存储器将输入串与每一行中规则按优先级逐一进行对比,若匹配上则根据匹配规则的行号作为地址从静态随机寻址存储器中取出动作指令集合并且执行。由于多个虚拟交换机需要共用通配规则表资源,为了隔离不同虚拟交换机的规则,需要在每一行规则的指定位置保留若干比特位来存储当前规则所属虚拟交换机的编号。相应地,输入匹配查询串的相应位置应该设置为当前报文所要查询的虚拟交换机的编号。
[0033]需要说明
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1