1.一种基于虚拟网络映射的SDN路由方法,其特征在于,所述SDN路由方法包括:构建虚拟网络的拓扑结构,所述的拓扑结构包括虚拟节点和虚拟链路;
利用SDN控制器将用户路由请求转化为流表项,将流表项分配给虚拟网络中的虚拟节点;
计算被分配的每一流表项在执行路由时所需的资源量,根据资源量产生虚拟网络映射请求,将虚拟网络映射到底层网络设备上;
所述的流表项被存储在拥有多叉树结构的流表树内,且根据不同的粒度将各流表项分布在流表树中不同类型的节点上,所述流表树的中间节点上的流表项记录其包含的子流表项区间,叶子节点上的流表项对应于用户路由请求;
根据流表项在流表树中的路径确定被分配到的虚拟节点;
所述虚拟网络与流表树随新增的流表项进行同步扩展。
2.根据权利要求1所述基于虚拟网络映射的SDN路由方法,其特征在于,所述多叉树结构的流表树为具有k叉树结构的流表树,SDN控制器设置于根节点上,其k个子节点上存储有整个流表树中最大粒度的流表项,每个叶子节点上存储有整个流表树中最小粒度的流表项。
3.根据权利要求2所述基于虚拟网络映射的SDN路由方法,其特征在于,所述虚拟网络的拓扑结构由1级组网进行递归式扩展;
所述的1级组网包括一个中心交换机和k个边缘交换机,所有边缘交换机散布于中心交换机外围且与中心交换机连接;
其中n级组网是由n‑1级组网上的所有边缘交换机扩展成1级组网后形成,且n级组网上的 个边缘交换机与流表树中第n层上的 个节点逐一对应。
4.根据权利要求1所述基于虚拟网络映射的SDN路由方法,其特征在于,所述资源量的计算过程为:设置包括资源存储量、资源计算量和资源占用时长的资源量属性,并为各资源量属性设立对应的权值系数;
对资源存储量、资源计算量和资源占用时长进行标准化和归一化处理;
利用权值系数对归一化处理结果加权求和,并作为执行路由时所需的资源量;
所述资源存储量根据用户请求路由的数据流长度确定;
所述资源计算量根据数据流匹配的流表项中控制指令字段的控制指令获得;
所述资源占用时长由流表项中的有效时间确定。
5.根据权利要求1或4所述基于虚拟网络映射的SDN路由方法,其特征在于,所述流表项在流表树内存储的过程为:步骤1‑1)根据流表项所需的资源量大小对流表项进行排序,形成流表序列;
步骤1‑2)按序从流表序列中提取流表项,交替执行正序和逆序分配,将提取的流表项逐一载入根节点的各子节点;
步骤1‑3)将各子节点分配到的流表项组成新的流表序列,继续按步骤1‑2)的分配方式向当前子节点所包含的其他子节点载入流表项,直至将流表项载入叶子节点。
6.根据权利要求4所述基于虚拟网络映射的SDN路由方法,其特征在于,所述流表项在流表树内存储的过程为:步骤2‑1)利用资源偏好函数计算用户请求路由的数据流对资源量属性的偏好度;
步骤2‑2)选择偏好度最高的资源量属性作为当前数据流的偏好对象,并将数据流匹配的流表项载入对应的偏好对象集合;
步骤2‑3)在流表树中为每个资源量属性建立一个流表子树,将各偏好对象集合分配给对应的流表子树;
步骤2‑4)根据流表项所需的资源量大小对各偏好对象集合内元素进行排序,形成流表序列;
步骤2‑5)按序从流表序列中提取流表项,交替执行正序和逆序分配方式,将提取的流表项逐一载入流表子树的各子节点内;
步骤2‑6)将各子节点分配到的流表项组成新的流表序列,继续按步骤2‑5)的分配方式向当前子节点所包含的其他子节点载入流表项,直至将流表项载入叶子节点。
7.一种基于虚拟网络映射的SDN路由系统,其特征在于,所述SDN路由系统包括:网络构建服务器、用户应用终端、SDN控制器和网络映射服务器;
所述网络构建服务器通过SDN体系结构的南向接口与SDN控制器连接,用于构建虚拟网络的拓扑结构,所述的拓扑结构包括虚拟节点和虚拟链路;
所述用户应用终端通过SDN体系结构的北向接口与SDN控制器连接,根据应用需求生成用户路由请求;
所述SDN控制器用于将用户路由请求转化为流表项,将流表项分配给虚拟网络中的虚拟节点,计算被分配的每一流表项在执行路由时所需的资源量,并发送至网络构建服务器;
所述网络映射服务器与网络构建服务器连接,根据资源量产生虚拟网络映射请求,将虚拟网络映射到底层网络设备上;
所述的流表项被存储在拥有多叉树结构的流表树内,且根据不同的粒度将各流表项分布在流表树中不同的节点上,中间节点上的流表项记录其包含的子流表项区间,叶子节点上的流表项对应于用户路由请求;
根据流表项在流表树中的路径确定被分配到的虚拟节点;
所述虚拟网络与流表树随新增的流表项进行同步扩展。