一种应用于sdn的图形化编程方法

文档序号:9711359阅读:400来源:国知局
一种应用于sdn的图形化编程方法【
技术领域
】[0001]本发明属于软件定义网络
技术领域
,尤其涉及一种应用于SDN的图形化编程方法。【
背景技术
】[0002]本发明的目的在于降低现有SDN体系中网络建设的难度,降低网络从业的门槛,使软件定义网络真正成为一个可编程的网络。[0003]SDN控制器下发流表理论上应该使用控制器中具体应用运算出相应的转发规则,并调用宿主控制器的应用接口下发。但当前的情况在于,SDN尚未有一个统一并且规范的北向接口,且自动运算的算法问题等依然是一个有待商榷的问题,因此预计在很长一段时间内,手动编辑SDN网络的转发流程将是一个主流。[0004]而在目前基于Openflow的SDN网络中,流表和组表、计量表等其它功能相结合后逻辑十分复杂,导致编辑网络繁琐且易出错,因此需要相当量的时间来设计、实施和测试网络。此外,各控制器厂商UI设计的不同,可能导致网络配置可读性差,且配置不可移植。即使在网络具备一定程度的自动运算能力后,因安全性、兼容性等因素,在某些场景下,网络很大程度上依然依赖于全局的手动控制。因此SDN对网络管理人员要求较高,从而提升了网络运行和维护的成本。[0005]因此,现有技术需要一种简单高效且通用性强的方法来使得网络管理人员能够直观的修改和配置当前网络,引入一种图形化的网络编程语言使得整个SDN网络成为一个真正可编程的网络,挖掘出SDN设计的最大价值。【
发明内容】[0006]本发明实施例的目的在于提供一种应用于SDN的图形化编程方法,以解决现有技术的问题。[0007]本发明实施例是这样实现的,一方面本发明实施例提供了一种应用于SDN的图形化编程方法,所述方法包括以下步骤:[0008]根据收入封包消息获取网络的拓扑信息;[0009]结合所述拓扑信息和交换机特性参数生成网络逻辑结构;[0010]根据交换机信息与网络拓扑信息生成网络逻辑视图。[0011]优选的,所述网络逻辑视图包括:[0012]—个或者多个图形控制组件,其中,每个组件对应一族实现其功能的程序代码;[0013]其中,所述控制组件根据交换机特性分类,交换机的相关功能封装为由一个或者多个图形控制组件封装而成的形式呈现。[0014]优选的,所述方法还包括:[0015]编程所述图形控制组件所对应的程序代码;[0016]编译所述网络逻辑视图所包含的各图形控制组件所构成的程序,得到可执行对象。[0017]优选的,所述根据收入封包消息获取网络的拓扑信息,具体包括:[0018]获取交换机的packet-1n消息,从所述packet-1n消息中解析出网络的拓扑结构。[0019]优选的,所述图形控制组件包括:flow控件、meter控件、group控件、act1n类控件、band类控件、bucket控件、port控件、flowtable控件、metertable控件、grouptable控件、packet统计控件、byte统计控件、逻辑与控件、逻辑或控件和逻辑非控件,所述各控件根据Openflow协议标准生成。[0020]另一方面,本发明实施例还提供了一种应用于SDN的图形化编程系统,所述系统包括:可视化编辑界面、可编译后台、资源库:[0021]所述可视化编辑界面,用于呈现一个或者多个图形控制组件,其中,所述控制组件根据交换机特性分类,每个组件对应一族实现其功能的程序代码;[0022]所述资源库,用于存储交换机的相关功能与所述图形控制组件的映射关系,用于根据所述交换机的相关功能参数生成网络逻辑结构;还用于存储所述一个或者多个图形控制组件和对应程序代码;[0023]可编译后台,用于编译网络逻辑结构所包含的程序代码。[0024]优选的,所述图形控制组件包括flow控件、meter控件、group控件、act1n类控件、band类控件、bucket控件、port控件、flowtable控件、metertable控件、grouptable控件、packet统计控件、byte统计控件、逻辑与控件、逻辑或控件和逻辑非控件,所述各控件根据Openflow协议标准生成。[0025]优选的,所述可视化编辑界面包括两级编辑:[0026]第一级编辑为表的编辑,具体的展不表与表、表与端口之间的关联;[0027]第二级编辑为转发流程的编辑,具体为表与表之间关联关系编辑。[0028]本发明实施例提供的一种应用于SDN的图形化编程方法的有益效果包括:本发明所实现的有益效果为:降低了SDN网络控制的难度,使之成为一个可编程的网络。【附图说明】[0029]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0030]图1为本发明实施例提供的一种应用于SDN的图形化编程方法的流程示意图;[0031]图2为本发明实施例提供的SDN图形化编程系统的流程示意图;[0032]图3为本发明实施例提供的图形化编程界面示意图;[0033]图4为本发明实施例提供的flow组件的设计图;[0034]图5为本发明实施例提供的group组件的设计图;[0035]图6为本发明实施例提供的meter组件的设计图;[0036]图7a_图7f为本发明实施例提供的act1n组件的设计图;[0037]图8为本发明实施例提供的bucket组件的设计图;[0038]图9a_图9b为本发明实施例提供的band组件的设计图;[0039]图10为本发明实施例提供的flowtable组件的设计图;[°04°]图11为本发明实施例提供的grouptable组件的设计图;[0041]图12为本发明实施例提供的metertable组件的设计图;[0042]图13为本发明实施例提供的packet组件的设计图;[0043]图14为本发明实施例提供的byte组件的设计图;[0044]图15为本发明实施例提供的典型L2转发的程序图;[0045]图16为本发明实施例提供的典型L3转发的程序图;[0046]图17本发明实施例提供的典型L4转发的程序图;[0047]图18a-图18b本发明实施例提供的典型多级流水线的程序图;[0048]图19本发明实施例提供的典型组播的程序图;[0049]图20本发明实施例提供的典型路由聚合的程序图;[0050]图21本发明实施例提供的典型多径的程序图;[0051]图22本发明实施例提供的典型流量工程的程序图。【具体实施方式】[0052]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0053]为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。[0054]实施例一[0055]如图1所示为本发明实施例提供的一种应用于SDN的图形化编程方法的流程示意图,所述方法包括以下步骤:[0056]在步骤201中,根据收入封包消息获取网络的拓扑信息。[0057]在步骤202中,结合所述拓扑信息和交换机特性参数生成网络逻辑结构。[0058]其中,交换机特性参数通过Openflow协议的feature_desc、port_desc、table_feature消息获取,具体包括表项容量、接口数、交换机各类描述信息。[0059]在步骤203中,根据交换机信息与网络拓扑信息生成网络逻辑视图。[0060]本发明所实现的有益效果为:降低了SDN网络控制的难度,使之成为一个可编程的网络。[0061]结合本发明实施例所提出的方法,所述网络逻辑视图在一种具体实现方式中是由一个或者多个图形控制组件构成,并且,所述一个或者多个图形控制组件之间具有特定的关联关系。[0062]其中,每个组件对应一族实现其功能的程序代码;所述控制组件根据交换机特性分类;并且,交换机的相关功能封装为由一个或者多个图形控制组件封装而成的形式呈现。[0063]结合本发明实施例所述的方法,除了上述步骤201-步骤203以外,作为本实施例一的延续实现功能,还可以包括以下执行步骤:[0064]在步骤204中,编程所述图形控制组件所对应的程序代码。[0065]在步骤205中,编译所述网络逻辑视图所包含的各图形控制组件所构成的程序,得到可执行对象。[0066]可选的,在得到所述可执行对象后,还可以进一步执行所述可执行对象;或者,还可以进一步的通过编译所述网络逻辑视图所包含的各图形控制组件所构成的程序,生成一个模拟环境,用于与所架设的环境进行模拟测试。[0067]结合本发明实施例,在步骤201所执行的根据收入封包消息获取网络的拓扑信息,具体可以通过以下方法完成:[0068]获取交换机的packet-1n消息,从所述packet-1n消息中解析出网络的拓扑结构。[0069]进一步的,本发明实施例还基于Openflow协议标准提供了几种具体的控制组件的分类,包括:flow控件、meter控件、group控件、act1n类控件、band类控件、bucket控件、port控件、flowtable控件、metertable控件、grouptable控件、packet统计控件、byte统计控件、逻辑与控件当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1