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

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

【发明内容】

[0004]本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
[0005]为此,本发明的目的在于提出一种虚拟软件定义网络映射实现方法,该方法可以使用户根据自身应用需求在物理交换机上灵活定义虚拟网络的节点个数、虚拟网络拓扑以及虚拟网络节点的资源需求。
[0006]为了实现上述目的,本发明的实施例提出了一种虚拟软件定义网络映射实现方法,包括以下步骤:S1:当虚拟软件定义网络报文进入物理交换机时,判断自身的地址是否与报文中物理交换机地址相同,如果是,则执行S2,否则执行S6 ;S2:从报文中提取虚拟交换机实例编号,并根据所述编号激活所述物理交换机上指定的虚拟交换机部署实例;S3:所述虚拟交换机部署实例根据报文中的虚拟网络场景要素信息和用户自定义信息进行报文处理和转发,并映射至转发的虚拟交换机部署实例;S4:所述物理交换机根据报文处理结果对报文中的虚拟交换机部署实例编号和虚拟网络场景要素信息进行更新;S5:所述物理交换机根据更新后的虚拟交换机部署实例编号得到该虚拟交换机部署实例所部署在的物理交换机,并对所述报文进行更新;S6:根据更新后的报文对应的物理交换机地址转发所述报文。
[0007]另外,根据本发明上述实施例的虚拟软件定义网络映射实现方法还可以具有如下附加的技术特征:
[0008]在一些示例中,所述虚拟软件定义网络报文包括:下一跳物理交换机地址、虚拟网络场景要素信息和虚拟网络用户自定义信息。
[0009]在一些示例中,所述虚拟网络场景要素信息包括:虚拟交换机部署实例编号和虚拟交换机部署实例的入端口编号。
[0010]在一些示例中,所述虚拟网络场景要素信息还包括:元数据和动作集合。
[0011]在一些示例中,所述用户自定义信息包括:虚拟网络报文头部和虚拟网络荷载。
[0012]在一些示例中,所述元数据用于在用户虚拟交换机流水级之间传递中间信息。
[0013]在一些示例中,所述动作结合用于存储各级虚拟流水线处理结果。
[0014]根据本发明实施例的虚拟软件定义网络映射实现方法,具有如下优点:
[0015]1.虚拟网络用户可以根据自身应用需求在物理交换机上灵活定义虚拟网络的节点个数和虚拟网络拓扑;
[0016]2.虚拟网络用户无需关心单个物理交换机资源容量,可以按需定义虚拟节点的资源需求;
[0017]3.虚拟网络用户资源需求只受整个物理网络全局资源总量限制,不受单个物理节点容量限制。
[0018]本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0019]本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0020]图1是根据本发明一个实施例的虚拟软件定义网络映射实现方法的流程图;
[0021]图2是根据本发明一个实施例的虚拟软件定义网络映射过程示意图;以及
[0022]图3是根据本发明一个实施例的虚拟软件定义网络报文格式示意图。
【具体实施方式】
[0023]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0024]以下结合附图描述根据本发明实施例的虚拟软件定义网络映射实现方法。
[0025]图1是根据本发明一个实施例的虚拟软件定义网络映射实现方法的流程图。如图1所示,该方法包括以下步骤:
[0026]步骤S1:当虚拟软件定义网络报文进入物理交换机时,物理交换机检查最外层目的物理交换机地址,并且对比自身物理交换机地址,以判断自身的地址是否与报文中物理交换机地址相同,如果是,即当前物理交换机包含需要处理该报文的虚拟交换机部署实体,则执行S2,否则执行S6。
[0027]首先,需要说明的是,虚拟网络由虚拟交换机以及虚拟交换机之间的虚拟链路组成,虚拟交换机包含多级处理流水线,每级处理流水线的存储空间需求各不相同。虚拟网络到物理网络映射需要将虚拟交换机映射到物理交换机,以及虚拟链路映射到物理网络的链路或路径上。同时这种映射是双向的,即一方面将虚拟网络映射至物理网络并且为虚拟网络分配物理资源,另一方面当虚拟网络部署完成后在运行时刻,物理网络能够区分当前数据报文所属虚拟网络并且识别其在虚拟网络中的场景要素,譬如报文当前所在虚拟交换机节点,报文进入虚拟交换机的入端口,报文在虚拟交换机内部处理的中间衍生信息等。由于同一个物理网络同时承载多个虚拟网络,多个虚拟网络实体直接映射到同一个物理网络实体时会导致场景要素的重叠,譬如多个虚拟网络的节点的端口映射到同一个物理交换机的物理端口上。除非在分配虚拟网络时完全避免映射重叠,否则在运行时刻很难从物理网络场景反向推测出虚拟网络中的场景。
[0028]因此,在本发明的一个实施例中,例如,支持多个不同虚拟网络到物理网络的映射重叠,也支持同一个虚拟网络中多个不同节点到物理节点映射重叠,以提高物理资源利用效率。同时为了支持用户灵活定义的虚拟节点流表存储空间需求,譬如大容量流表,或者多级流水线等超出单个物理节点容量的需求,本发明的实施例支持一个虚拟网络节点映射到多个物理节点上,同时保证虚拟网络运作的正确性。
[0029]为了灵活放置虚拟网络节点提高物理网络资源利用效率,同时保证虚拟网络运行正确性,本发明的实施例采用报文显式携带虚拟网络场景要素信息的方法来解除虚拟网络与物理网络场景要素之间的强耦合。
[0030]具体地说,如图3所示,虚拟软件定义网络报文例如包括:最外层下一跳物理交换机地址、虚拟网络场景要素信息和虚拟网络用户自定义信息。
[0031]其中,最外层下一跳物理交换机地址主要用于实现连接不同虚拟交换机部署实例的隧道。物理网络中的交换机会根据最外层物理交换机地址来把数据报文传送到虚拟链路的对端虚拟交换机实例。
[0032]进一步地,虚拟网络场景要素信息包括:包括两个必选字段和两个可选字段。必选字段为下一跳虚拟交换机部署实例编号以及到达该虚拟交换机部署实例的入端口编号。其中,部署实例编号用来指定同一台物理交换机上多个虚拟交换机部署实例中的其中一个来处理当前数据报文,虚拟入端口编号则参与虚拟网络用户自定义的转发处理逻辑决策。进一步地,可选字段为用户虚拟交换机流水级之间传递中间信息的元数据字段以及存储各级虚拟流水线处理结果的动作集合。只有在两个同属原本一个虚拟交换机的部署实例之间传递信息时需要在报文头部插入两个可选字段。
[0033]另一方面,虚拟网络用户自定义信息包括:虚拟网络报文头部和虚拟网络报文荷载。虚拟网络用户自定义信息用于用户自定义转发处理逻辑,虚拟软件定义网络架构不对该部分进行处理和修改。
[0034]步骤S2:从报文中提取虚拟交换机实例编号,并根据编号激活物理交换机上指定的虚拟交换机部署实例。具体地说,即从数据报文头部提取下一跳虚拟交换机部署实例编号,并根据该编号来激活部署在当前物理交换机上指定的虚拟交换机部署实例,其余非指定部署实例不激活。
[0035]步骤S3:虚拟交换机部署实例根据报文中的虚拟网络场景要素信息和用户自定义信息进行报文处理和转发,并映射至转发的虚拟
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1