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

文档序号:9250959阅读:来源:国知局
的是,通配规则表中不同虚拟交换机的表项内容均紧凑向行首对齐,除虚拟交换机编号外,其余字段均不需对齐。通过紧凑排列,可以压缩三态内容寻址存储器的行宽,通过调整规则表从而最小化存储空间浪费。
[0034]如图5所示,展示了匹配查询串提取器的结构示意。具体地说,首先对输入报文字段进行预处理。从报文字段中提取的所有字段长短不一,为此需要先把所有字段进行分段,按16比特划分,不足16比特的按16比特补全,由此可以得到全部长度为16比特的片段,
数量为N。
[0035]其中,查询串提取器包括N个16比特输入寄存器和N个16比特输出寄存器,N个片段临时存储在N个16比特输入寄存器中。每个输入寄存器通过一个多路选择器连接到N个输入寄存器,每个输出寄存器均可以从任意一个输入寄存器中获得字段片段。
[0036]不同的虚拟交换机在各级流水级所检查的查询串格式不同,其匹配字段位图信息存放在匹配串字段表中,查询串提取器根据虚拟交换机编号从表中取出对应的字段位图。字段位图例如有N个单元,每个单元存储对应输出寄存器应从哪个输入寄存器取内容。
[0037]例如,一个虚拟交换机需要提取第2和第3个字段片段组成查询串,则其字段位图内容为0x02 0x03 Oxff...,即第一个和第二个单元存储输入寄存器2和3的编号,其余N-2个单元存储Oxff超出所有输入字段片段数目范围代表不进行赋值操作。
[0038]进而通过各个输出寄存器动态从由虚拟交换机指定的输入字段片段中赋值,实现不同虚拟交换机提取不同查询串。并且从输出寄存器输出拼接后的匹配查询串时,把虚拟交换机编号加到匹配查询串中,用来屏蔽规则表中其他虚拟交换机的规则。
[0039]最后输出匹配查询串根据当前流水级规则表的宽度进行截取或者补齐,保证输入查询串长度与规则表宽度一致,然后把匹配查询串送入规则表进行查询和相应处理。查表及处理结束后,当前流水级匹配查询串提取器将更新的字段和虚拟交换机编号送到下一级处理。
[0040]综上,本发明实施例的虚拟软件定义网络交换机的主要思想概述如下:由于传统软件定义网络物理交换机的报文处理流水线上每一级对报文中指定字段自行匹配查表,并且根据查表结构执行相应操作。另外,传统交换机上每一级处理匹配字段的种类均为出厂设定或者用户提前配置,在交换机运行时刻这些配置不能改变,因此物理交换机对所有报文均执行相同的处理。基于此,本发明实施例通过提前识别当前报文所属虚拟交换机,每级流水线匹配字段类型根据当前对应的虚拟交换机进行动态调整,从而不同的虚拟交换机对报文的处理流程各不相同。并且,在一台物理软件定义网络交换机上可以同时容纳多个虚拟交换机,并且每个虚拟交换机的报文处理逻辑均由虚拟网络用户灵活定义。
[0041]综上,根据本发明实施例的虚拟软件定义网络交换机,具有如下优点:
[0042]1.虚拟网络用户可以根据自身应用需求在物理交换机上灵活定义虚拟交换机的处理逻辑;
[0043]2.虚拟网络用户无需关心物理交换机处理逻辑实现细节;
[0044]3.根据虚拟交换机处理逻辑需求可以灵活调整物理交换机存储资源配置,提高存储资源利用效率。
[0045]在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底” “内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0046]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0047]在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0048]在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
[0049]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0050]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
【主权项】
1.一种虚拟软件定义网络交换机,其特征在于,包括: 预处理模块,用于从数据报文中提取头部字段和虚拟交换机编号; 多级处理流水级,每级处理流水级包括匹配查询串提取器和通配规则表,其中,所述多级处理流水级依次处理所述数据报文; 所述匹配查询串提取器用于从所述头部字段中选择多个字段,并将所述多个字段拼接为匹配查询串; 所述通配规则表包括三态内容寻址存储器和静态随机寻址存储器,所述三态内容寻址存储器存储有多行匹配规则,所述通配规则表用于根据所述匹配查询串从所述三态内容寻址存储器中查询匹配规则,并根据查询的匹配规则从所述静态随机寻址存储器选择并执行相应的指令,其中,每行的匹配规则存储其所属的虚拟交换机的编号。2.根据权利要求1所述的虚拟软件定义网络交换机,其特征在于,所述预处理模块包括: 头部字段提取模块,用于从所述数据报文中提取所述头部字段; 虚拟交换机识别模块,用于提取虚拟交换机编号。3.根据权利要求1所述的虚拟软件定义网络交换机,其特征在于,所述匹配查询串提取器包括: 多个输入寄存器,所述多个输入寄存器--对应地存储所述多个字段; 多个输出寄存器,所述多个输出寄存器包括虚拟交换机编号寄存器和多个字段寄存器,所述多个字段寄存器分别通过多路选择器与所述多个输入寄存器相连,以将来自所述多个输入寄存器输入的字段拼接为所述匹配查询串; 输出模块,所述输出模块与所述多个输出寄存器相连,以输出所述匹配查询串。4.根据权利要求3所述的虚拟软件定义网络交换机,其特征在于,所述多个输入寄存器为16比特输入寄存器。
【专利摘要】本发明提出一种虚拟软件定义网络交换机,包括:预处理模块,从数据报文中提起头部字段和虚拟交换机编号;多级处理流水级,每级处理流水级包括匹配查询串提取器和通配规则表;匹配查询串提取器从头部字段中选择多个字段,将多个字段拼接为匹配查询串;通配规则表包括三态内容寻址存储器和静态随机寻址存储器,三态内容寻址存储器存储有多行匹配规则,通配规则表根据匹配查询串从三态内容寻址存储器中查询匹配规则,并据此从静态随机寻址存储器选择并执行相应的指令。本发明的交换机可以根据自身应用需求在物理交换机上灵活定义虚拟交换机的处理逻辑,进而可以灵活调整物理交换机存储资源配置,提高存储资源利用效率。
【IPC分类】H04L12/931
【公开号】CN104967575
【申请号】CN201510297237
【发明人】李丹, 余逸荣
【申请人】清华大学
【公开日】2015年10月7日
【申请日】2015年6月3日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1