CN104935463B - 虚拟软件定义网络映射实现方法 - Google Patents

虚拟软件定义网络映射实现方法 Download PDF

Info

Publication number
CN104935463B
CN104935463B CN201510297335.9A CN201510297335A CN104935463B CN 104935463 B CN104935463 B CN 104935463B CN 201510297335 A CN201510297335 A CN 201510297335A CN 104935463 B CN104935463 B CN 104935463B
Authority
CN
China
Prior art keywords
virtual
network
message
physical switches
physical
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.)
Active
Application number
CN201510297335.9A
Other languages
English (en)
Other versions
CN104935463A (zh
Inventor
李丹
余逸荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201510297335.9A priority Critical patent/CN104935463B/zh
Publication of CN104935463A publication Critical patent/CN104935463A/zh
Application granted granted Critical
Publication of CN104935463B publication Critical patent/CN104935463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种虚拟软件定义网络映射实现方法,包括:S1:判断虚拟软件定义网络自身的地址是否与物理交换机地址相同,如果是,则执行S2,否则执行S6;S2:提取虚拟交换机实例编号,激活指定的虚拟交换机部署实例;S3:根据虚拟网络场景要素信息和用户自定义信息进行报文处理和转发;S4:物理交换机对虚拟交换机部署实例编号和虚拟网络场景要素信息进行更新;S5:根据更新后的虚拟交换机部署实例编号得到该部署实例所部署在的物理交换机,并对报文进行更新;S6:根据更新后的报文对应的物理交换机地址转发报文。本发明的方法可以使用户根据自身应用需求在物理交换机上灵活定义虚拟网络的节点个数、虚拟网络拓扑以及虚拟网络节点的资源需求。

Description

虚拟软件定义网络映射实现方法
技术领域
本发明涉及软件定义网络技术领域,特别涉及一种虚拟软件定义网络映射实现方法。
背景技术
软件定义网络是下一代互联网的重要研究方向,现今软件定义网络领域研究工作的一个重要分支是网络虚拟化,通过将物理软件定义网络进行虚拟化成多个虚拟网络并且分配给不同的虚拟网络用户使用,从而提高网络资源的利用率。
目前软件定义网络虚拟交换机的实现方式有两类常见的方法,一种是纯软件模拟实现方式,这种方式可以根据虚拟网络用户需求对虚拟网络中的虚拟交换机进行灵活定义,但是由于是采用软件模拟的方式,虚拟交换机处理能力非常受限。另一类常见的方法是将多个虚拟网络映射到同一个物理网络上,典型的映射方法是在传统软件定义网络物理交换机上通过地址空间划分来获得不同的逻辑分片,每一个逻辑分片作为虚拟网络中的一个虚拟节点使用。这种方法一方面限制了各个虚拟网络可使用的地址空间,另一方面每个虚拟网络的拓扑受限于物理拓扑中物理交换机个数和物理连接拓扑,虚拟网络拓扑必须为物理网络拓扑的子集,因此,虚拟网络用户不能对其使用的虚拟网络进行灵活定义。
发明内容
本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
为此,本发明的目的在于提出一种虚拟软件定义网络映射实现方法,该方法可以使用户根据自身应用需求在物理交换机上灵活定义虚拟网络的节点个数、虚拟网络拓扑以及虚拟网络节点的资源需求。
为了实现上述目的,本发明的实施例提出了一种虚拟软件定义网络映射实现方法,包括以下步骤:S1:当虚拟软件定义网络报文进入物理交换机时,判断自身的地址是否与报文中物理交换机地址相同,如果是,则执行S2,否则执行S6;S2:从报文中提取虚拟交换机实例编号,并根据所述编号激活所述物理交换机上指定的虚拟交换机部署实例;S3:所述虚拟交换机部署实例根据报文中的虚拟网络场景要素信息和用户自定义信息进行报文处理和转发,并映射至转发的虚拟交换机部署实例;S4:所述物理交换机根据报文处理结果对报文中的虚拟交换机部署实例编号和虚拟网络场景要素信息进行更新;S5:所述物理交换机根据更新后的虚拟交换机部署实例编号得到该虚拟交换机部署实例所部署在的物理交换机,并对所述报文进行更新;S6:根据更新后的报文对应的物理交换机地址转发所述报文。
另外,根据本发明上述实施例的虚拟软件定义网络映射实现方法还可以具有如下附加的技术特征:
在一些示例中,所述虚拟软件定义网络报文包括:下一跳物理交换机地址、虚拟网络场景要素信息和虚拟网络用户自定义信息。
在一些示例中,所述虚拟网络场景要素信息包括:虚拟交换机部署实例编号和虚拟交换机部署实例的入端口编号。
在一些示例中,所述虚拟网络场景要素信息还包括:元数据和动作集合。
在一些示例中,所述用户自定义信息包括:虚拟网络报文头部和虚拟网络荷载。
在一些示例中,所述元数据用于在用户虚拟交换机流水级之间传递中间信息。
在一些示例中,所述动作结合用于存储各级虚拟流水线处理结果。
根据本发明实施例的虚拟软件定义网络映射实现方法,具有如下优点:
1.虚拟网络用户可以根据自身应用需求在物理交换机上灵活定义虚拟网络的节点个数和虚拟网络拓扑;
2.虚拟网络用户无需关心单个物理交换机资源容量,可以按需定义虚拟节点的资源需求;
3.虚拟网络用户资源需求只受整个物理网络全局资源总量限制,不受单个物理节点容量限制。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的虚拟软件定义网络映射实现方法的流程图;
图2是根据本发明一个实施例的虚拟软件定义网络映射过程示意图;以及
图3是根据本发明一个实施例的虚拟软件定义网络报文格式示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
以下结合附图描述根据本发明实施例的虚拟软件定义网络映射实现方法。
图1是根据本发明一个实施例的虚拟软件定义网络映射实现方法的流程图。如图1所示,该方法包括以下步骤:
步骤S1:当虚拟软件定义网络报文进入物理交换机时,物理交换机检查最外层目的物理交换机地址,并且对比自身物理交换机地址,以判断自身的地址是否与报文中物理交换机地址相同,如果是,即当前物理交换机包含需要处理该报文的虚拟交换机部署实体,则执行S2,否则执行S6。
首先,需要说明的是,虚拟网络由虚拟交换机以及虚拟交换机之间的虚拟链路组成,虚拟交换机包含多级处理流水线,每级处理流水线的存储空间需求各不相同。虚拟网络到物理网络映射需要将虚拟交换机映射到物理交换机,以及虚拟链路映射到物理网络的链路或路径上。同时这种映射是双向的,即一方面将虚拟网络映射至物理网络并且为虚拟网络分配物理资源,另一方面当虚拟网络部署完成后在运行时刻,物理网络能够区分当前数据报文所属虚拟网络并且识别其在虚拟网络中的场景要素,譬如报文当前所在虚拟交换机节点,报文进入虚拟交换机的入端口,报文在虚拟交换机内部处理的中间衍生信息等。由于同一个物理网络同时承载多个虚拟网络,多个虚拟网络实体直接映射到同一个物理网络实体时会导致场景要素的重叠,譬如多个虚拟网络的节点的端口映射到同一个物理交换机的物理端口上。除非在分配虚拟网络时完全避免映射重叠,否则在运行时刻很难从物理网络场景反向推测出虚拟网络中的场景。
因此,在本发明的一个实施例中,例如,支持多个不同虚拟网络到物理网络的映射重叠,也支持同一个虚拟网络中多个不同节点到物理节点映射重叠,以提高物理资源利用效率。同时为了支持用户灵活定义的虚拟节点流表存储空间需求,譬如大容量流表,或者多级流水线等超出单个物理节点容量的需求,本发明的实施例支持一个虚拟网络节点映射到多个物理节点上,同时保证虚拟网络运作的正确性。
为了灵活放置虚拟网络节点提高物理网络资源利用效率,同时保证虚拟网络运行正确性,本发明的实施例采用报文显式携带虚拟网络场景要素信息的方法来解除虚拟网络与物理网络场景要素之间的强耦合。
具体地说,如图3所示,虚拟软件定义网络报文例如包括:最外层下一跳物理交换机地址、虚拟网络场景要素信息和虚拟网络用户自定义信息。
其中,最外层下一跳物理交换机地址主要用于实现连接不同虚拟交换机部署实例的隧道。物理网络中的交换机会根据最外层物理交换机地址来把数据报文传送到虚拟链路的对端虚拟交换机实例。
进一步地,虚拟网络场景要素信息包括:包括两个必选字段和两个可选字段。必选字段为下一跳虚拟交换机部署实例编号以及到达该虚拟交换机部署实例的入端口编号。其中,部署实例编号用来指定同一台物理交换机上多个虚拟交换机部署实例中的其中一个来处理当前数据报文,虚拟入端口编号则参与虚拟网络用户自定义的转发处理逻辑决策。进一步地,可选字段为用户虚拟交换机流水级之间传递中间信息的元数据字段以及存储各级虚拟流水线处理结果的动作集合。只有在两个同属原本一个虚拟交换机的部署实例之间传递信息时需要在报文头部插入两个可选字段。
另一方面,虚拟网络用户自定义信息包括:虚拟网络报文头部和虚拟网络报文荷载。虚拟网络用户自定义信息用于用户自定义转发处理逻辑,虚拟软件定义网络架构不对该部分进行处理和修改。
步骤S2:从报文中提取虚拟交换机实例编号,并根据编号激活物理交换机上指定的虚拟交换机部署实例。具体地说,即从数据报文头部提取下一跳虚拟交换机部署实例编号,并根据该编号来激活部署在当前物理交换机上指定的虚拟交换机部署实例,其余非指定部署实例不激活。
步骤S3:虚拟交换机部署实例根据报文中的虚拟网络场景要素信息和用户自定义信息进行报文处理和转发,并映射至转发的虚拟交换机部署实例。
在一些示例中,如图2所示,虚拟网络中的虚拟交换机映射到物理交换机上的虚拟交换机部署实例,这种映射可以是一对一,也可以是一对多。当虚拟交换机流水线长度超出物理交换机流水线长度,或者虚拟交换机流表容量超出物理交换机可用容量时,一个虚拟交换机可以分割成多个虚拟交换机部署实例,并且部署到不同的物理交换机上。为了调物理资源利用效率,不同的虚拟交换机部署实例可以部署在相同或者不同的物理交换机上。虚拟网络中的虚拟链路映射为物理网络中连接不同虚拟交换机部署实例的隧道。
具体地说,步骤S3即被指定的虚拟交换机部署实例根据报文头部的虚拟网络场景要素信息以及用户自定义虚拟网络头部字段信息进行报文转发处理,原有的虚拟网络中“往某出端口转发”的指令被映射为“往某虚拟交换机部署实例转发”。
步骤S4:物理交换机根据报文处理结果对报文中的虚拟交换机部署实例编号和虚拟网络场景要素信息进行更新。具体地说,即物理交换机根据虚拟交换机部署实例的处理结果更新下一跳虚拟交换机部署实例的编号以及其他虚拟网络场景要素信息。
步骤S5:物理交换机根据更新后的虚拟交换机部署实例编号得到该虚拟交换机部署实例所部署在的物理交换机,并对报文进行更新。换言之,即物理交换机根据更新的下一跳虚拟交换机部署实例编号查表得到其所在的物理交换机的地址,并且将该地址更新到数据报文最外层对应字段。
步骤S6:根据更新后的报文对应的物理交换机地址转发报文。即物理交换机根据最外层目的物理交换机地址查找物理地址转发表,并且根据查表结果将数据报文从指定的物理端口往外发送出去。
综上,本发明实施例的虚拟软件定义网络映射实现方法的主要思想概述如下:由于传统虚拟网络映射方法需要建立虚拟网络中的场景要素到物理网络场景要素之间的一一映射关系,譬如虚拟网络中节点的端口映射到物理节点端口,在网络运行时刻再从物理网络场景要素反向映射回虚拟网络中的场景要素,并利用虚拟网络中的场景要素进行转发处理决策。这种一一映射限定了虚拟网络拓扑和资源分布的灵活性。基于此,本发明的实施例在数据报文中显式携带虚拟网络场景要素信息,将虚拟网络场景要素与物理网络场景要素解耦合,因此可以灵活地把虚拟网络映射到物理网络,支持多个虚拟节点可以映射到同一个物理节点,以及一个虚拟节点映射到多个不同的物理节点,虚拟节点资源需求不再受限于单个物理节点的资源容量。虚拟网络拓扑和端口也不再依赖物理网络拓扑和端口。
综上,根据本发明实施例的虚拟软件定义网络映射实现方法,具有如下优点:
1.虚拟网络用户可以根据自身应用需求在物理交换机上灵活定义虚拟网络的节点个数和虚拟网络拓扑;
2.虚拟网络用户无需关心单个物理交换机资源容量,可以按需定义虚拟节点的资源需求;
3.虚拟网络用户资源需求只受整个物理网络全局资源总量限制,不受单个物理节点容量限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (7)

1.一种虚拟软件定义网络映射实现方法,其特征在于,包括以下步骤:
S1:当虚拟软件定义网络报文进入物理交换机时,所述物理交换机检查最外层目的物理交换机地址,并且对比自身物理交换机地址,以判断自身的地址是否与报文中物理交换机地址相同,如果是,则执行S2,否则,根据所述报文对应的物理交换机地址转发所述报文;
S2:从报文中提取虚拟交换机实例编号,并根据所述编号激活所述物理交换机上指定的虚拟交换机部署实例;
S3:所述虚拟交换机部署实例根据报文中的虚拟网络场景要素信息和用户自定义信息进行报文处理和转发,并映射至转发的虚拟交换机部署实例;
S4:所述物理交换机根据报文处理结果对报文中的虚拟交换机部署实例编号和虚拟网络场景要素信息进行更新;
S5:所述物理交换机根据更新后的虚拟交换机部署实例编号得到该虚拟交换机部署实例所部署在的物理交换机,并对所述报文进行更新;
S6:根据更新后的报文对应的物理交换机地址转发所述报文。
2.根据权利要求1所述的虚拟软件定义网络映射实现方法,其特征在于,所述虚拟软件定义网络报文包括:下一跳物理交换机地址、虚拟网络场景要素信息和虚拟网络用户自定义信息。
3.根据权利要求2所述的虚拟软件定义网络映射实现方法,其特征在于,所述虚拟网络场景要素信息包括:虚拟交换机部署实例编号和虚拟交换机部署实例的入端口编号。
4.根据权利要求3所述的虚拟软件定义网络映射实现方法,其特征在于,所述虚拟网络场景要素信息还包括:元数据和动作集合。
5.根据权利要求2所述的虚拟软件定义网络映射实现方法,其特征在于,所述用户自定义信息包括:虚拟网络报文头部和虚拟网络报文荷载。
6.根据权利要求4所述的虚拟软件定义网络映射实现方法,其特征在于,所述元数据用于在用户虚拟交换机流水级之间传递中间信息。
7.根据权利要求4所述的虚拟软件定义网络映射实现方法,其特征在于,所述动作集合用于存储各级虚拟流水线处理结果。
CN201510297335.9A 2015-06-03 2015-06-03 虚拟软件定义网络映射实现方法 Active CN104935463B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510297335.9A CN104935463B (zh) 2015-06-03 2015-06-03 虚拟软件定义网络映射实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510297335.9A CN104935463B (zh) 2015-06-03 2015-06-03 虚拟软件定义网络映射实现方法

Publications (2)

Publication Number Publication Date
CN104935463A CN104935463A (zh) 2015-09-23
CN104935463B true CN104935463B (zh) 2019-02-05

Family

ID=54122439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510297335.9A Active CN104935463B (zh) 2015-06-03 2015-06-03 虚拟软件定义网络映射实现方法

Country Status (1)

Country Link
CN (1) CN104935463B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445635A (zh) * 2016-09-23 2017-02-22 生活立方家(武汉)科技有限公司 计算机传递方法
CN110958192B (zh) * 2019-12-04 2023-08-01 西南大学 一种基于虚拟交换机的虚拟数据中心资源分配系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065764A (zh) * 2014-07-05 2014-09-24 中国科学技术大学 一种软件定义网络中基于地址替换的移动管理系统
CN104243265A (zh) * 2014-09-05 2014-12-24 华为技术有限公司 一种基于虚拟机迁移的网关控制方法、装置及系统
CN104410730A (zh) * 2014-12-10 2015-03-11 上海斐讯数据通信技术有限公司 基于nat技术的sdn主备控制器无缝切换方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014125486A1 (en) * 2013-02-12 2014-08-21 Contextream Ltd. Network control using software defined flow mapping and virtualized network functions
US9350607B2 (en) * 2013-09-25 2016-05-24 International Business Machines Corporation Scalable network configuration with consistent updates in software defined networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065764A (zh) * 2014-07-05 2014-09-24 中国科学技术大学 一种软件定义网络中基于地址替换的移动管理系统
CN104243265A (zh) * 2014-09-05 2014-12-24 华为技术有限公司 一种基于虚拟机迁移的网关控制方法、装置及系统
CN104410730A (zh) * 2014-12-10 2015-03-11 上海斐讯数据通信技术有限公司 基于nat技术的sdn主备控制器无缝切换方法

Also Published As

Publication number Publication date
CN104935463A (zh) 2015-09-23

Similar Documents

Publication Publication Date Title
Ali et al. Software-defined networking approaches for link failure recovery: A survey
CN101888333B (zh) 用于在网络元件的转发平面内保持端口状态表的方法和装置
CN106464530B (zh) 网络更新的动态调度的方法和系统
CN109587054A (zh) 使用抽象结构接口连接网络设备中的虚拟节点
CN103152271B (zh) 一种基于内容的数据中心网络路由转发方法
CN105939257A (zh) Evpn单活动拓扑中的mac路由的更新
CN102480358B (zh) 集中化虚拟交换机架构控制方法和设备
CN103200122B (zh) 一种软件定义网络中组表的处理方法、系统和控制器
CN106161270B (zh) 一种网络部署方法
CN110445649A (zh) 用于经由交换结构在边缘设备之间实施连接的方法和装置
CN104247341B (zh) 分布式交换机及其多播树层次结构的动态优化方法
US10122654B2 (en) Divided hierarchical network system based on software-defined networks
CN102362470B (zh) 路径设置服务器和路径设置方法
CN105637807B (zh) 转发报文的方法、控制器、转发设备和网络系统
CN104081348A (zh) 通过在虚拟数据中心中最佳地放置vm而减少存储器使用的系统和方法
US9491097B2 (en) Packet forwarding in a star stacking system
CN104935463B (zh) 虚拟软件定义网络映射实现方法
CN103560967A (zh) 一种业务需求感知的虚拟数据中心映射方法
CN107733746A (zh) 一种混合云平台的组网方法及混合云平台系统
US10237205B2 (en) Switch routing algorithms
US10237202B2 (en) Network control device, network control method, and recording medium for program
TW201246835A (en) Data center switch
CN102143043B (zh) 一种建立标签交换路径的方法和装置
CN105634974A (zh) 软件定义网络中的路由确定方法和装置
CN103001865B (zh) 一种lsp分片报文中发布信息的方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant