一种基于软件定义网络的用户自主路由定制系统和方法
【专利摘要】一种基于软件定义网络的用户自主路由定制系统,包括网络拓扑信息探测模块、网络性能探测模块、网络资源整合模块、网络资源呈现模块、网络关键点提取模块、用户关键点选择模块、路由计算模块和用户交互界面模块;一种基于软件定义网络的用户自主路由定制方法,包括下列操作步骤:(1)用户登录系统,查看当前网络资源信息;(2)系统向用户推荐备选路由方案;(3)用户选择一种路由;(4)系统对物理网络实施策略定制和资源调度,实现用户主动对网络的个性化控制。本发明实现了用户自主选择个性化路由方案的目标。
【专利说明】一种基于软件定义网络的用户自主路由定制系统和方法
【技术领域】
[0001] 本发明涉及一种基于软件定义网络的用户自主路由定制系统和方法,属于因特网
【技术领域】,特别是属于软件定义网络【技术领域】。
【背景技术】
[0002] 因特网已经成为人们生活中不可或缺的一部分,网上丰富的资源和各式各样的应 用极大的改变了人们的生活方式。这使得研究人员对新型网络架构的研究和服务的控制变 得十分困难,影响了网络的扩展性,阻碍了网络新技术的发展。现代互联网在强大的压力 下已经显现出安全性不高、网络控制复杂、数据转发效率低、网络地址短缺等急需解决的问 题,而这一切问题的根源都可以归结为一互联网缺乏有效的可控性。
[0003] 作为各种应用和服务的支撑,因特网现有的路由策略单一、僵化,造成网络资源利 用效率低下且占用不均衡。目前的路由器等网络设备只基于通用策略进行数据包常规转 发,无论何种类型的数据包都按照一种方式选路,忽视了不同应用场景和用户偏好对控制 策略的多样化要求。而且当部分链路发生拥塞,造成路由策略不能满足用户对时延、带宽等 网络性能要求时,网络传输既难以感知业务与用户,用户又往往因无法控制网络而不能解 决传输中存在的问题,更不能针对用户实现对传输过程的个性化优化控制。
[0004] 由于SDN(Software Defined Networking)对网络设备具有良好的可编程性和统 一的集中控制特性,研究人员可以较容易地获取网络设备信息、控制网络设备、部署新型网 络协议。在SDN网络中,控制平面与数据平面相互分离,支持用户定义自己的虚拟网络,定 义个性化的网络规则和控制策略,网络服务提供者甚至能够为某一用户提供特有的网络服 务,这都使得SDN网络为用户实现自主路由选择及网络流量的灵活控制提供了良好的平 台。
[0005] 如何利用SDN的开放定制和集中控制特性,解决因特网现有的路由策略单一、僵 化不能针对用户提供个性化的路由定制的问题,成为目前因特网【技术领域】急需解决的一个 技术难题。
【发明内容】
[0006] 有鉴于此,本发明的目的是发明一种基于软件定义网络的用户自主路由定制方法 及其相关系统,解决网络传输难以感知业务,用户仅能被动使用网络的问题,从而实现用户 主动参与网络控制、自主选择网络资源、定制个性化路由策略,最终实现提高用户业务体 验,提供智能化、个性化服务的目标。
[0007] 为了达到上述目的,本发明提出了一种基于软件定义网络的用户自主路由定制系 统,所述系统包括如下功能模块:
[0008] 网络拓扑信息探测模块:该模块负责网络拓扑信息的探测,所述的网络拓扑主要 指的是交换机之间的相对逻辑位置的拓扑结构,即拓扑结构是逻辑上的,而并非物理上;所 述的网络拓扑信息由SDN控制器负责探测并将结果报给应用程序;由于网络拓扑信息是动 态变化的,SDN控制器每隔一段时间向所负责的交换机发送探测包,以确定该交换机的有效 性;每个交换机都与SDN控制器直接相连,构成了所述的网络拓扑图的结点;对于结点间的 链路信息,可以将SDN控制器看做根结点利用Doubletree算法进行探测;
[0009] 当发生结点增加或失效时,在所述的网络拓扑图中添加或移除该结点及相连的 边;当链路失效时,在所述的网络拓扑图中将对应边移除,以保证网络拓扑信息的正确性; [0010] 探测内容包括节点的状态与链路的状态,分别是"活动"、"挂起"、"停机",其中"活 动"状态是指节点或链路工作正常且有流量经过,"挂起"状态是指节点或链路处于空闲状 态,即工作正常但无流量经过,"停机"状态是指节点或链路出现异常,不可达;根据以上信 息,所述网络拓扑信息探测模块构造节点和链路的状态数据结构表,并将其提交给网络资 源整合模块;
[0011] 网络性能探测模块:该模块负责探测网络的性能,探测内容包括:节点的处理能 力、节点的缓冲区容量及队列长度、队列优先调度原则及参数、链路的时延与带宽、网络所 使用的协议等,根据以上信息,所述网络性能探测模块构造节点和链路的性能信息表,并将 其提交给网络资源整合模块;
[0012] 该模块探测网络的方式有主动探测方式和被动探测方式两种,所述的主动探测方 式是指向网络中发送经过特殊组合的探测包,通过对探测包所受网络影响而发生特性变化 的分析,得到网络状态和性能变化;被动探测方式是指在网络的测量点处部署数据采集器, 收集流经该测量点的网络流量,周期性地轮询被动检测设备并采集信息,以判断网络性能 和状态;
[0013] 网络资源整合模块:该模块将所述的网络拓扑信息探测模块和所述的网络性能探 测模块提供的信息进行整合,得到具有网络性能和网络拓扑结构的数据结构,包括描述节 点和链路的数据结构表,以及描述网络整体的数据结构信息;
[0014] 网络资源呈现模块:该模块将网络资源整合模块提供的网络图绘制出来,提交到 用户交互界面上直观地呈现给用户,具体为:该模块根据所述网络资源整合模块所提供的 数据结构信息,描绘出网络拓扑结构图,并将该拓扑结构图展现给用户;用户可以根据需要 放大或缩小局部网络信息;根据用户需要,该模块可以呈现当前网络性能参数及物理参数; 用户可以以触摸方式自由选择结点及链路,方便地与所述的用户自主路由定制系统进行信 息交互生成路由信息;
[0015] 所述的网络拓扑结构图是一个节点和链路都带有权重的复杂加权图,其中节点的 权重反映了节点的当前处理能力,链路的权重是时延,或者是带宽,或者是时延和带宽的加 权表达,该复杂加权图是用户定制路由的基础;
[0016] 网络关键点提取I旲块:该I旲块会根据网络状态,提取出网络中的关键节点,具体 为:该模块根据所述网络资源整合模块所提供的关于节点和链路的信息,提取网络中的关 键节点;在定制路由时用户可根据所述网络资源整合模块所提供的关于节点和链路的信 息,优先选择某些节点或尽量避免使用某些节点;
[0017] 用户关键点选择模块:用户根据所述网络关键点提取模块提取出的网络关键点信 息,并根据自己的具体需求,自由指定路由需要经过的节点,然后将选择的关键点提交到路 由计算模块;通常情况下,用户所指定路由是满足当前用户需求的最优路径;该模块支持 对用户自由指定路由进行评估打分,帮助用户评估和分析所自由指定路由的性能优劣,从 而提商用户的路由体验;
[0018] 路由计算模块:该模块提供可定制的路由计算功能,具体是:根据网络拓扑信息 探测模块和网络性能探测模块所得到的信息,并依据不同的路由算法进行路由计算;分别 设置链路权重为时延、带宽和丢包率,运行相关的路由F算法,得到时延最小路由、带宽最 高路由和最小丢包路由;该模块可以向用户推荐以上所述的时延最小路径、带宽最高路径 和传输最稳定路径这三种默认的最优路径方案;用户根据自己的具体需求选择其中一种; 如果所述的三种推荐方案均不能满足用户的需求,则路由计算模块根据用户提供的关键节 点,运行相应的路由算法重新计算路由,所得结果供用户选择;该模块将用户最终选定的方 案提交到网络控制模块;
[0019] 用户交互界面模块:该模块提供用户与所述的用户自主路由定制系统进行交互的 接口,接口分为四类即:网络资源显示接口、定制关键点接口、路由路径选择接口和用户需 求感知接口,这些接口都是双向的,即提供用户与系统交互传递参数的功能;
[0020] 所述的网络资源显示接口的功能是:把系统经过整合探测到的网络信息周期性向 用户显示,或用户主动提出需求,查询当前网络资源可否满足;
[0021] 所述的定制关键点接口的功能是:判断系统推荐的关键节点是否满足用户的需 求,以及向系统提供用户自己选中的关键点;
[0022] 所述的路由路径选择接口的功能是:用户通过该接口选择系统推荐的最佳路由;
[0023] 所述的用户需求感知接口的功能是:系统通过该接口感知用户需求,包括需求的 类型、时间、地点、偏好度等,进行资源优化调度。
[0024] 为了达到上述目的,本发明提出了一种基于软件定义网络的用户自主路由定制方 法,其特征在于:所述方法包括下列操作步骤:
[0025] (1)用户通过用户交互界面登录自主路由定制系统,查看当前网络资源信息;所 述的用户既包括基础网络管理员、业务网络管理员,还包括普通网络用户;
[0026] (2)所述的自主路由定制系统向用户推荐该网络专有的备选路由方案;所述的网 络包括基础网络和虚拟网络;
[0027] (3)用户进行路由方案的预览,并根据自身需求选择一种路由方式,或者直接进行 路由关键点选择及策略修改,重新进行路由计算;
[0028] (4)根据用户的选择,所述的自主路由定制系统对物理网络实施相应的策略定制 和资源调度,实现用户主动对网络的个性化控制。
[0029] 所述步骤(1)中所述的用户交互界面指的是所述的自主路由定制系统提供给用 户的终端的操作界面,用户能通过操作界面简单快速地使用所述系统提供的功能,既包括 用户注册入口、网络拓扑图界面、搜索窗口、附近网络资源和内容资源位置显示、网络之间 互连的协议Internet Protocol定位等基础网络管理功能;还包括路由方案显示界面、定 制关键点、应用程序编程接口 API提供、第三方数据纠错等该自主路由定制方法特有的功 能;所述的这些操作功能根据用户权限而有所不同,既包括基础网络管理员、企业网络管理 员、还包括普通网络用户,并根据网络运营策略开放部分基础网络管理操作并开发新的策 略定制功能给企业网络管理员或普通网络用户,来实现其面向流的定制化选路。
[0030] 所述步骤(1)中查看当前网络资源信息的具体内容是:所述系统与软件定义网络 中的控制器交互,获取整个网络的资源信息,包括网络拓扑图、网络状态、底层物理网络的 链路故障、重路由事件、网络突发事件和网络层之上的业务层流量信息等实时信息;所述系 统将所述的获取到的网络资源信息进行汇总,通过可视化控制界面向用户进行直观显示, 将对整个网络的当前状况完全展示给用户,方便后续用户进行自定义选路以避开网络拥 塞,不仅只是被动地使用网络;所述系统为应用提供基础性选路服务,可以为任何类型应用 提供定制化网络策略接口,即便所述系统不运行时,其他应用依然会按照网络默认策略进 行通信;
[0031] 所述步骤⑵中所述的自主路由定制系统向用户推荐该网络专有的备选路由方 案的具体内容是:所述的自主路由定制系统根据网络拓扑探测和性能探测所得到的信息, 并定制个性化路由策略,依据不同的路由策略进行路由计算,支持单路径路由和多路径路 由;所述的自主路由定制系统向用户推荐默认的三种类型的最优路径方案,即:时间最短 路由、带宽最商路由和传输最稳定路由。
[0032] 所述步骤(2)中所述的网络包括基础网络和虚拟网络系统的具体内容是:所述 系统不仅向用户提供基础网络路由服务,还可以向用户提供用户定制虚拟路由服务,用户 根据特定业务的需要进行虚拟路由的定制,所述的虚拟路由与物理网络的路由协议相互独 立,可以采用不同的路由机制;所述系统提供RIP,OSPF,BGP,ECMP,IGMP等虚拟网络路由 协议,负责虚拟网络中路由信息的交互,确保虚拟网络的可达性,为转发层提供转发依据; 所述系统支持用户对现有协议的改进和自定义,支持用户对具体路由走向的自定义静态指 定,即:将特定业务的数据包对应的流表项的下一跳,设置为该路径上与该路由器直接相连 的虚拟路由器实例;
[0033] 所述步骤(3)中系统支持根据用户需要进行关键点选择或者策略修改的具体内 容是:用户使用系统提供的路由查询功能,预览所述步骤(2)中所提供的默认的三种路由 方案,如果所述的方案均不满足用户需求,可以采用更为直接的自行选择路由的方式,具体 操作是:依据该可视化的网络资源界面,用户根据业务需求、个人偏好、网络状态等信息,用 户自定义有限个数的应用所经过的路由节点,以及一条或多条路径;选完后路由计算模块 根据用户提供的关键节点,运行相应的路由算法重新计算路由,系统显示可预测的流量路 由效果,用户根据传输效果决定是否进行再次选择,最终确认后再进行所述步骤(4);当所 述用户使用不同的业务时,所述系统对用户的业务流量进行差异化的流量管理,满足个性 化需求,所述用户也能够动态的调整或取消所定制的个性化路由。
[0034] 所述步骤(4)中,所述的自主路由定制系统对物理网络进行相应的策略定制和资 源调度的具体内容是:
[0035] 网络资源调度:所述的自主路由定制系统根据用户定制的网络配置所需资源,资 源配置包括结点资源的分配和网络侧资源配置;对于用户的某些特定需求,系统将为其预 留固定资源,不允许其他用户占用,以保证用户的服务等级协议SLA和服务质量QoS ;而对 于大多数用户资源是共享的,当多个需求同时到达,系统根据排队论模型和预先设定的优 先级,进行合理的资源配置,尽量满足用户服务质量;
[0036] 流表下发:对于基础网络,所述的自主路由定制系统直接将定制的流表下发到对 应的每一个交换机;对于虚拟网络,系统根据虚拟交换机所在虚拟网络下发流表;虚拟网 络拓扑生成之后,数据流大多在虚拟网络内部转发,所以所述系统只能将流表下发给虚拟 交换机所在的物理交换机,该物理交换机负责将不同虚拟网络的流表进行隔离,以保证虚 拟网络内部的可靠性;当数据流需要在虚拟网络之间转发时,所述系统将流表下发到连接 两个虚拟网络的边缘交换机,以保障虚拟网络间的连通性。
[0037] 本发明的有益效果在于充分利用了 SDN的开放定制和集中控制特性,有效收集网 络信息并直观地显示给用户,实现了用户自主选择个性化路由方案的目标,提高了网络应 用的传输效率,有助于实现网络服务的智能化和个性化。
【专利附图】
【附图说明】
[0038] 图1是本发明提出的一种基于软件定义网络的用户自主路由定制系统的模块结 构图。
[0039] 图2是本发明提出的一种基于软件定义网络的用户自主路由定制方法的流程图。
[0040] 图3是本发明仿真实验所用网络的网络拓扑结构示意图。
【具体实施方式】
[0041] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步 的详细描述。
[0042] 参见图1,介绍本发明提出了一种基于软件定义网络的用户自主路由定制系统,所 述系统包括如下功能模块:
[0043] 网络拓扑信息探测模块:该模块负责网络拓扑信息的探测,所述的网络拓扑主要 指的是交换机之间的相对逻辑位置的拓扑结构,即拓扑结构是逻辑上的,而并非物理上;所 述的网络拓扑信息由SDN控制器负责探测并将结果报给应用程序;由于网络拓扑信息是动 态变化的,SDN控制器每隔一段时间向所负责的交换机发送探测包,以确定该交换机的有效 性;每个交换机都与SDN控制器直接相连,构成了所述的网络拓扑图的结点;对于结点间的 链路信息,可以将SDN控制器看做根结点利用Doubletree算法进行探测;
[0044] 当发生结点增加或失效时,在所述的网络拓扑图中添加或移除该结点及相连的 边;当链路失效时,在所述的网络拓扑图中将对应边移除,以保证网络拓扑信息的正确性; [0045] 探测内容包括节点的状态与链路的状态,分别是"活动"、"挂起"、"停机",其中"活 动"状态是指节点或链路工作正常且有流量经过,"挂起"状态是指节点或链路处于空闲状 态,即工作正常但无流量经过,"停机"状态是指节点或链路出现异常,不可达;根据以上信 息,所述网络拓扑信息探测模块构造节点和链路的状态数据结构表,并将其提交给网络资 源整合模块;
[0046] 网络性能探测模块:该模块负责探测网络的性能,探测内容包括:节点的处理能 力、节点的缓冲区容量及队列长度、队列优先调度原则及参数、链路的时延与带宽、网络所 使用的协议(如RIP或0SPF)等,根据以上信息,所述网络性能探测模块构造节点和链路的 性能信息表,并将其提交给网络资源整合模块;
[0047] 该模块探测网络的方式有主动探测方式和被动探测方式两种,所述的主动探测方 式是指向网络中发送经过特殊组合的探测包(如ping, traceroute, mtrace等),通过对探 测包所受网络影响而发生特性变化的分析,得到网络状态和性能变化;被动探测方式是指 在网络的测量点处部署数据采集器(Probe),收集流经该测量点的网络流量,周期性地轮询 被动检测设备并采集信息,以判断网络性能和状态;
[0048] 网络资源整合模块:该模块将所述的网络拓扑信息探测模块和所述的网络性能 探测模块提供的信息进行整合,得到具有网络性能和网络拓扑结构的数据结构,包括描述 节点和链路的数据结构表,以及描述网络整体的数据结构信息(例如节点的状态、带宽、容 量、调度原则;链路的状态、时延、带宽;网络的路由算法等);
[0049] 网络资源呈现模块:该模块将网络资源整合模块提供的网络图绘制出来,提交到 用户交互界面上直观地呈现给用户,具体为:该模块根据所述网络资源整合模块所提供的 数据结构信息,描绘出网络拓扑结构图,并将该拓扑结构图展现给用户;用户可以根据需要 放大或缩小局部网络信息;根据用户需要,该模块可以呈现当前网络性能参数(时延和带 宽)及物理参数(IP、MAC地址等);用户可以以触摸方式自由选择结点及链路,方便地与所 述的用户自主路由定制系统进行信息交互生成路由信息;
[0050] 所述的网络拓扑结构图是一个节点和链路都带有权重的复杂加权图,其中节点的 权重反映了节点的当前处理能力,链路的权重是时延,或者是带宽,或者是时延和带宽的加 权表达,该复杂加权图是用户定制路由的基础;
[0051] 网络关键点提取I旲块:该I旲块会根据网络状态,提取出网络中的关键节点,具体 为:该模块根据所述网络资源整合模块所提供的关于节点和链路的信息,提取网络中的关 键节点(例如度较大的节点,缓冲区负荷较大的节点,带宽较大的节点,局域网出口路由 器,AS域中担负BGP发言人的节点等);在定制路由时用户可根据所述网络资源整合模块所 提供的关于节点和链路的信息,优先选择某些节点或尽量避免使用某些节点;
[0052] 用户关键点选择模块:用户根据所述网络关键点提取模块提取出的网络关键点信 息,并根据自己的具体需求,自由指定路由需要经过的节点,然后将选择的关键点提交到路 由计算模块;通常情况下,用户所指定路由是满足当前用户需求的最优路径;该模块支持 对用户自由指定路由进行评估打分,帮助用户评估和分析所自由指定路由的性能优劣,从 而提商用户的路由体验;
[0053] 路由计算模块:该模块提供可定制的路由计算功能,具体是:根据网络拓扑信息 探测模块和网络性能探测模块所得到的信息,并依据不同的路由算法进行路由计算;分别 设置链路权重为时延、带宽和丢包率,运行相关的路由(例如0SPF)算法,得到时延最小路 由、带宽最高路由和最小丢包路由;该模块可以向用户推荐以上所述的时延最小路径、带宽 最高路径和传输最稳定路径这三种默认的最优路径方案;用户根据自己的具体需求选择其 中一种;如果所述的三种推荐方案均不能满足用户的需求,则路由计算模块根据用户提供 的关键节点,运行相应的路由算法重新计算路由,所得结果供用户选择;该模块将用户最终 选定的方案提交到网络控制模块;
[0054] 用户交互界面模块:该模块提供用户与所述的用户自主路由定制系统进行交互的 接口,接口分为四类即:网络资源显示接口、定制关键点接口、路由路径选择接口和用户需 求感知接口,这些接口都是双向的,即提供用户与系统交互传递参数的功能;
[0055] 所述的网络资源显示接口的功能是:把系统经过整合探测到的网络信息周期性向 用户显示,或用户主动提出需求,查询当前网络资源可否满足;
[0056] 所述的定制关键点接口的功能是:判断系统推荐的关键节点是否满足用户的需 求,以及向系统提供用户自己选中的关键点;
[0057] 所述的路由路径选择接口的功能是:用户通过该接口选择系统推荐的最佳路由;
[0058] 所述的用户需求感知接口的功能是:系统通过该接口感知用户需求,包括需求的 类型、时间、地点、偏好度等,进行资源优化调度。
[0059] 参见图2,本发明提出了一种基于软件定义网络的用户自主路由定制方法,其特征 在于:所述方法包括下列操作步骤:
[0060] (1)用户通过用户交互界面登录自主路由定制系统,查看当前网络资源信息;所 述的用户既包括基础网络管理员、业务网络管理员,还包括普通网络用户;
[0061] ⑵所述的自主路由定制系统向用户推荐该网络专有的备选路由方案;所述的网 络包括基础网络和虚拟网络;
[0062] (3)用户进行路由方案的预览,并根据自身需求选择一种路由方式,或者直接进行 路由关键点选择及策略修改,重新进行路由计算;
[0063] (4)根据用户的选择,所述的自主路由定制系统对物理网络实施相应的策略定制 和资源调度,实现用户主动对网络的个性化控制。
[0064] 所述步骤(1)中所述的用户交互界面指的是所述的自主路由定制系统提供给用 户的终端的操作界面,用户能通过操作界面简单快速地使用所述系统提供的功能,既包括 用户注册入口、网络拓扑图界面、搜索窗口、附近网络资源和内容资源位置显示、网络之间 互连的协议Internet Protocol定位等基础网络管理功能;还包括路由方案显示界面、定 制关键点、应用程序编程接口 API提供、第三方数据纠错等该自主路由定制方法特有的功 能;所述的这些操作功能根据用户权限而有所不同,既包括基础网络管理员、企业网络管理 员、还包括普通网络用户,并根据网络运营策略开放部分基础网络管理操作并开发新的策 略定制功能给企业网络管理员或普通网络用户,来实现其面向流的定制化选路。
[0065] 所述步骤(1)中查看当前网络资源信息的具体内容是:所述系统与软件定义网络 中的控制器交互,获取整个网络的资源信息,包括网络拓扑图、网络状态、底层物理网络的 链路故障、重路由事件、网络突发事件和网络层之上的业务层流量信息等实时信息;所述系 统将所述的获取到的网络资源信息进行汇总,通过可视化控制界面向用户进行直观显示, 将对整个网络的当前状况完全展示给用户,方便后续用户进行自定义选路以避开网络拥 塞,不仅只是被动地使用网络;所述系统为应用提供基础性选路服务,可以为任何类型应用 提供定制化网络策略接口,即便所述系统不运行时,其他应用依然会按照网络默认策略进 行通信;
[0066] 所述步骤⑵中所述的自主路由定制系统向用户推荐该网络专有的备选路由方 案的具体内容是:所述的自主路由定制系统根据网络拓扑探测和性能探测所得到的信息, 并定制个性化路由策略,依据不同的路由策略进行路由计算,支持单路径路由和多路径路 由;所述的自主路由定制系统向用户推荐默认的三种类型的最优路径方案,即:时间最短 路由、带宽最商路由和传输最稳定路由。
[0067] 所述步骤(2)中所述的网络包括基础网络和虚拟网络系统的具体内容是:所述 系统不仅向用户提供基础网络路由服务,还可以向用户提供用户定制虚拟路由服务,用户 根据特定业务的需要进行虚拟路由的定制,所述的虚拟路由与物理网络的路由协议相互 独立,可以采用不同的路由机制;所述系统提供RIP(R〇uting Information Protocol), 0SPF (Open Shortest Path First), BGP (Border Gateway Protocol), ECMP(Equal-Cost Multipath Routing),IGMP(Internet Group Management Protocol)等虚拟网络路由协议, 负责虚拟网络中路由信息的交互,确保虚拟网络的可达性,为转发层提供转发依据;所述系 统支持用户对现有协议的改进和自定义,支持用户对具体路由走向的自定义静态指定,即: 将特定业务的数据包对应的流表项的下一跳,设置为该路径上与该路由器直接相连的虚拟 路由器实例;
[0068] 所述步骤(3)中系统支持根据用户需要进行关键点选择或者策略修改的具体内 容是:用户使用系统提供的路由查询功能,预览所述步骤(2)中所提供的默认的三种路由 方案,如果所述的方案均不满足用户需求,可以采用更为直接的自行选择路由的方式,具体 操作是:依据该可视化的网络资源界面,用户根据业务需求、个人偏好、网络状态等信息,用 户自定义有限个数的应用所经过的路由节点,以及一条或多条路径;选完后路由计算模块 根据用户提供的关键节点,运行相应的路由算法重新计算路由,系统显示可预测的流量路 由效果,用户根据传输效果决定是否进行再次选择,最终确认后再进行所述步骤(4);当所 述用户使用不同的业务时,所述系统对用户的业务流量进行差异化的流量管理,满足个性 化需求,所述用户也能够动态的调整或取消所定制的个性化路由。
[0069] 所述步骤(4)中,所述的自主路由定制系统对物理网络进行相应的策略定制和资 源调度的具体内容是:
[0070] 网络资源调度:所述系统根据用户定制的虚拟网络配置所需资源,资源配置包括 结点(主机、终端和服务器等)资源的分配和网络侧资源(路由器、交换机、防火墙和网关 等)配置;对于用户的某些特定需求(比如,彼此互联的上海北京广州三点间通信,带宽 20M,时延50ms),系统将为其预留固定资源,不允许其他用户占用,以保证用户的服务等级 协议 SLA (Service-Level Agreement,服务等级协议)和QoS(Quality of Service,服务质 量);而对于大多数用户资源是共享的,当多个需求同时到达,系统根据排队论模型(如Μ/ M/S、M/G/1等)和预先设定的优先级,进行合理的资源配置,尽量满足用户服务质量;
[0071] 流表下发:对于基础网络,所述的自主路由定制系统直接将定制的流表下发到对 应的每一个交换机;对于虚拟网络,系统根据虚拟交换机所在虚拟网络下发流表;虚拟网 络拓扑生成之后,数据流大多在虚拟网络内部转发,所以所述系统只能将流表下发给虚拟 交换机所在的物理交换机,该物理交换机负责将不同虚拟网络的流表进行隔离,以保证虚 拟网络内部的可靠性;当数据流需要在虚拟网络之间转发时,所述系统将流表下发到连接 两个虚拟网络的边缘交换机,以保障虚拟网络间的连通性。
[0072] 参见图3,发明人采用因特网【技术领域】广泛认可的SDN仿真测试环境Mininet,对 本发明所提的系统和方法进行了测试仿真实验。
[0073] 测试报文从源节点18. 31. 12. 1发往目的节点18. 31. 12. 6其中节点2到节点3的 链路被设置为高带宽(100M),高占用率(90%,初始值),较高丢包率(3% );节点2到节 点5的链路被设置为低带宽(10M),低占用率(10% );节点4到节点3的链路为较低带宽 (50M),低占用率(10%);节点4到节点5的链路为高带宽(100M),高占用率(80%),较高 丢包率1 %,其余链路由于不影响选路结果,因此状况信息均采用缺省值,可见表1:
[0074] 表1测试网络的链路状况
【权利要求】
1. 一种基于软件定义网络的用户自主路由定制系统,其特征在于:所述系统包括如下 功能|吴块: 网络拓扑信息探测模块:该模块负责网络拓扑信息的探测,所述的网络拓扑主要指的 是交换机之间的相对逻辑位置的拓扑结构,即拓扑结构是逻辑上的,而并非物理上;所述的 网络拓扑信息由SDN控制器负责探测并将结果报给应用程序;由于网络拓扑信息是动态变 化的,SDN控制器每隔一段时间向所负责的交换机发送探测包,以确定该交换机的有效性; 每个交换机都与SDN控制器直接相连,构成了所述的网络拓扑图的结点;对于结点间的链 路信息,可以将SDN控制器看做根结点利用Doubletree算法进行探测;当发生结点增加或 失效时,在所述的网络拓扑图中添加或移除该结点及相连的边;当链路失效时,在所述的网 络拓扑图中将对应边移除,以保证网络拓扑信息的正确性;探测内容包括节点的状态与链 路的状态,分别是"活动"、"挂起"、"停机",其中"活动"状态是指节点或链路工作正常且有 流量经过,"挂起"状态是指节点或链路处于空闲状态,即工作正常但无流量经过,"停机"状 态是指节点或链路出现异常,不可达;根据以上信息,所述网络拓扑信息探测模块构造节点 和链路的状态数据结构表,并将其提交给网络资源整合模块; 网络性能探测模块:该模块负责探测网络的性能,探测内容包括:节点的处理能力、节 点的缓冲区容量及队列长度、队列优先调度原则及参数、链路的时延与带宽、网络所使用的 协议等,根据以上信息,所述网络性能探测模块构造节点和链路的性能信息表,并将其提交 给网络资源整合模块;该模块探测网络的方式有主动探测方式和被动探测方式两种,所述 的主动探测方式是指向网络中发送经过特殊组合的探测包,通过对探测包所受网络影响而 发生特性变化的分析,得到网络状态和性能变化;被动探测方式是指在网络的测量点处部 署数据采集器,收集流经该测量点的网络流量,周期性地轮询被动检测设备并采集信息,以 判断网络性能和状态; 网络资源整合模块:该模块将所述的网络拓扑信息探测模块和所述的网络性能探测模 块提供的信息进行整合,得到具有网络性能和网络拓扑结构的数据结构,包括描述节点和 链路的数据结构表,以及描述网络整体的数据结构信息; 网络资源呈现模块:该模块将网络资源整合模块提供的网络图绘制出来,提交到用户 交互界面上直观地呈现给用户,具体为:该模块根据所述网络资源整合模块所提供的数据 结构信息,描绘出网络拓扑结构图,并将该拓扑结构图展现给用户;用户可以根据需要放大 或缩小局部网络信息;根据用户需要,该模块可以呈现当前网络性能参数及物理参数;用 户可以以触摸方式自由选择结点及链路,方便地与所述的用户自主路由定制系统进行信息 交互生成路由信息;所述的网络拓扑结构图是一个节点和链路都带有权重的复杂加权图, 其中节点的权重反映了节点的当前处理能力,链路的权重是时延,或者是带宽,或者是时延 和带宽的加权表达,该复杂加权图是用户定制路由的基础; 网络关键点提取1?块:该1?块会根据网络状态,提取出网络中的关键节点,具体为:该 模块根据所述网络资源整合模块所提供的关于节点和链路的信息,提取网络中的关键节 点;在定制路由时用户可根据所述网络资源整合模块所提供的关于节点和链路的信息,优 先选择某些节点或尽量避免使用某些节点; 用户关键点选择模块:用户根据所述网络关键点提取模块提取出的网络关键点信息, 并根据自己的具体需求,自由指定路由需要经过的节点,然后将选择的关键点提交到路由 计算模块;通常情况下,用户所指定路由是满足当前用户需求的最优路径;该模块支持对 用户自由指定路由进行评估打分,帮助用户评估和分析所自由指定路由的性能优劣,从而 提商用户的路由体验; 路由计算模块:该模块提供可定制的路由计算功能,具体是:根据网络拓扑信息探测 模块和网络性能探测模块所得到的信息,并依据不同的路由算法进行路由计算;分别设置 链路权重为时延、带宽和丢包率,运行相关的路由算法,得到时延最小路由、带宽最商路由 和最小丢包路由;该模块可以向用户推荐以上所述的时延最小路径、带宽最高路径和传输 最稳定路径这三种默认的最优路径方案;用户根据自己的具体需求选择其中一种;如果所 述的三种推荐方案均不能满足用户的需求,则路由计算模块根据用户提供的关键节点,运 行相应的路由算法重新计算路由,所得结果供用户选择;该模块将用户最终选定的方案提 交到网络控制模块; 用户交互界面模块:该模块提供用户与所述的用户自主路由定制系统进行交互的接 口,接口分为四类即:网络资源显示接口、定制关键点接口、路由路径选择接口和用户需求 感知接口,这些接口都是双向的,即提供用户与系统交互传递参数的功能;所述的网络资源 显示接口的功能是:把系统经过整合探测到的网络信息周期性向用户显示,或用户主动提 出需求,查询当前网络资源可否满足;所述的定制关键点接口的功能是:判断系统推荐的 关键节点是否满足用户的需求,以及向系统提供用户自己选中的关键点;所述的路由路径 选择接口的功能是:用户通过该接口选择系统推荐的最佳路由;所述的用户需求感知接口 的功能是:系统通过该接口感知用户需求,包括需求的类型、时间、地点、偏好度等,进行资 源优化调度。
2. -种基于软件定义网络的用户自主路由定制方法,其特征在于:所述方法包括下列 操作步骤: (1) 用户通过用户交互界面登录自主路由定制系统,查看当前网络资源信息;所述的 用户既包括基础网络管理员、业务网络管理员,还包括普通网络用户; (2) 所述的自主路由定制系统向用户推荐该网络专有的备选路由方案;所述的网络包 括基础网络和虚拟网络; (3) 用户进行路由方案的预览,并根据自身需求选择一种路由方式,或者直接进行路由 关键点选择及策略修改,重新进行路由计算; (4) 根据用户的选择,所述的自主路由定制系统对物理网络实施相应的策略定制和资 源调度,实现用户主动对网络的个性化控制。
3. 根据权利要求2所述的一种基于软件定义网络的用户自主路由定制方法,其特征在 于:所述步骤(1)中所述的用户交互界面指的是所述的自主路由定制系统提供给用户的终 端的操作界面,用户能通过操作界面简单快速地使用所述系统提供的功能,既包括用户注 册入口、网络拓扑图界面、搜索窗口、附近网络资源和内容资源位置显示、网络之间互连的 协议Internet Protocol定位等基础网络管理功能;还包括路由方案显示界面、定制关键 点、应用程序编程接口 API提供、第三方数据纠错等该自主路由定制方法特有的功能;所述 的这些操作功能根据用户权限而有所不同,既包括基础网络管理员、企业网络管理员、还包 括普通网络用户,并根据网络运营策略开放部分基础网络管理操作并开发新的策略定制功 能给企业网络管理员或普通网络用户,来实现其面向流的定制化选路。
4. 根据权利要求2所述的一种基于软件定义网络的用户自主路由定制方法,其特征在 于:所述步骤(1)中查看当前网络资源信息的具体内容是:所述系统与软件定义网络中的 控制器交互,获取整个网络的资源信息,包括网络拓扑图、网络状态、底层物理网络的链路 故障、重路由事件、网络突发事件和网络层之上的业务层流量信息等实时信息;所述系统将 所述的获取到的网络资源信息进行汇总,通过可视化控制界面向用户进行直观显示,将对 整个网络的当前状况完全展示给用户,方便后续用户进行自定义选路以避开网络拥塞,不 仅只是被动地使用网络;所述系统为应用提供基础性选路服务,可以为任何类型应用提供 定制化网络策略接口,即便所述系统不运行时,其他应用依然会按照网络默认策略进行通 ?目。
5. 根据权利要求2所述的一种基于软件定义网络的用户自主路由定制方法,其特征在 于:所述步骤(2)中所述的自主路由定制系统向用户推荐该网络专有的备选路由方案的具 体内容是:所述的自主路由定制系统根据网络拓扑探测和性能探测所得到的信息,并定制 个性化路由策略,依据不同的路由策略进行路由计算,支持单路径路由和多路径路由;所述 的自主路由定制系统向用户推荐默认的三种类型的最优路径方案,即:时间最短路由、带宽 最商路由和传输最稳定路由。
6. 根据权利要求2所述的一种基于软件定义网络的用户自主路由定制方法,其特征在 于:所述步骤(2)中所述的网络包括基础网络和虚拟网络系统的具体内容是:所述系统不 仅向用户提供基础网络路由服务,还可以向用户提供用户定制虚拟路由服务,用户根据特 定业务的需要进行虚拟路由的定制,所述的虚拟路由与物理网络的路由协议相互独立,可 以采用不同的路由机制;所述系统提供RIP,〇SPF,BGP,ECMP,IGMP等虚拟网络路由协议,负 责虚拟网络中路由信息的交互,确保虚拟网络的可达性,为转发层提供转发依据;所述系统 支持用户对现有协议的改进和自定义,支持用户对具体路由走向的自定义静态指定,即:将 特定业务的数据包对应的流表项的下一跳,设置为该路径上与该路由器直接相连的虚拟路 由器实例。
7. 根据权利要求2或5所述的一种基于软件定义网络的用户自主路由定制方法,其特 征在于:所述步骤(3)中系统支持根据用户需要进行关键点选择或者策略修改的具体内容 是:用户使用系统提供的路由查询功能,预览所述步骤(2)中所提供的默认的三种路由方 案,如果所述的方案均不满足用户需求,可以采用更为直接的自行选择路由的方式,具体操 作是:依据该可视化的网络资源界面,用户根据业务需求、个人偏好、网络状态等信息,用户 自定义有限个数的应用所经过的路由节点,以及一条或多条路径;选完后路由计算模块根 据用户提供的关键节点,运行相应的路由算法重新计算路由,系统显示可预测的流量路由 效果,用户根据传输效果决定是否进行再次选择,最终确认后再进行所述步骤(4);当所述 用户使用不同的业务时,所述系统对用户的业务流量进行差异化的流量管理,满足个性化 需求,所述用户也能够动态的调整或取消所定制的个性化路由。
8. 根据权利要求2所述的一种基于软件定义网络的用户自主路由定制方法,其特征在 于:所述步骤(4)中,所述的自主路由定制系统对物理网络进行相应的策略定制和资源调 度的具体内容是: 网络资源调度:所述的自主路由定制系统根据用户定制的网络配置所需资源,资源配 置包括结点资源的分配和网络侧资源配置;对于用户的某些特定需求,系统将为其预留固 定资源,不允许其他用户占用,以保证用户的服务等级协议SLA和服务质量QoS ;而对于大 多数用户资源是共享的,当多个需求同时到达,系统根据排队论模型和预先设定的优先级, 进行合理的资源配置,尽量满足用户服务质量; 流表下发:对于基础网络,所述的自主路由定制系统直接将定制的流表下发到对应的 每一个交换机;对于虚拟网络,系统根据虚拟交换机所在虚拟网络下发流表;虚拟网络拓 扑生成之后,数据流大多在虚拟网络内部转发,所以所述系统只能将流表下发给虚拟交换 机所在的物理交换机,该物理交换机负责将不同虚拟网络的流表进行隔离,以保证虚拟网 络内部的可靠性;当数据流需要在虚拟网络之间转发时,所述系统将流表下发到连接两个 虚拟网络的边缘交换机,以保障虚拟网络间的连通性。
【文档编号】H04L29/08GK104104718SQ201410312519
【公开日】2014年10月15日 申请日期:2014年7月2日 优先权日:2014年7月2日
【发明者】王敬宇, 王纯, 廖建新, 李炜, 王晶, 徐童 申请人:北京邮电大学