一种基于编程工具的协议无关网络的转发管理方法技术

技术编号:13736390 阅读:49 留言:0更新日期:2016-09-22 04:11
本发明专利技术公开了一种基于编程工具的协议无关网络的转发管理方法,其特征是网络管理中心根据编程工具编写协议无关网络的传输协议和控制算法,对于协议无关网络中交换机上交的数据包,编程工具根据传输协议和数据包运行网络算法,使用API路径记录网络算法的执行过程,根据API路径生成路径树,最后将路径树转化为转发规则并下发给交换机,交换机根据转发规则进行数据包的转发处理,从而实现了协议无关网络的转发控制。本发明专利技术能实现通过算法编程来自动生成交换机的转发规则,从而能自动进行协议解析,并且屏蔽低层细节,降低编程的复杂性。

【技术实现步骤摘要】

本专利技术属于协议无关网络控制与管理领域,具体地说是一种基于编程工具的协议无关网络的转发管理方法
技术介绍
在当前的网络中,数据、应用的规模都呈爆炸式的增长,人们对网络中支持的协议类型和设备种类的要求越来越多,而当前基于TCP/IP协议的网络协议的分布式管理的特点导致难以对新设备和新协议进行有效的添加和管理,并且其控制面和数据面高度耦合的特点决定了网络设备难以更改和数据面需要承担越来越多的任务。为了解决对新设备、新协议的支持,人们提出了基于协议无感知转发技术的软件定义网络的概念,以下简称协议无关网络。协议无关网络将控制面和数据面解耦合,使用集中的控制器对由交换机组成的转发网络进行统一的控制和管理。目前,对协议无关网络中控制器的设计主要有两种技术:一是基于FloodLight的协议无关网络控制器,但是该控制器在进行网络编程时需要用户按照转发规则的格式逐条的进行手动编写,十分繁琐且容易出错;二是基于POX的协议无关网络控制器,该控制器也需要逐条的编写转发规则,同时还要考虑字段的解析问题,这些低层的细节十分繁琐,提高了编程控制的复杂性。
技术实现思路
本专利技术为了克服现有技术存在的不足之处,提供一种基于编程工具的协议无关网络的转发管理方法,以期能实现通过算法编程来自动生成交换机的转发规则,从而能自动进行协议解析,并且屏蔽低层细节,降低编程的复杂性。为达到上述专利技术目的,本专利技术采用如下技术方案:本专利技术一种基于编程工具的协议无关网络的转发管理方法;所述协议无关网络包含一个控制器、n个交换机和网络管理中心,并由所述n个交换机组成相应的拓扑结构;其特点是:所述编程工具包括:协议解析模块、算法执行模块、算法提取模块、转发规则生成模块;所述转发管理方法是按如下步骤进行:步骤1、所述网络管理中心根据所述协议解析模块提供的协议报文定义规范,编写所述协议无关网络的传输协议;步骤2、所述网络管理中心根据所述算法执行模块提供的调用接口API,编写所述协议无关网络的控制算法;步骤3、所述编程工具根据所述协议无关网络的传输协议和控制算法进行转发处理,得到转发规则并发送给所述控制器;步骤3.1、所述协议解析模块对所述传输协议进行协议解析,获得协议接口;步骤3.2、所述算法执行模块接收任一交换机发送的数据包,并为所述数据包分配一段缓存,将所述缓存记为元数据;根据所述控制算法中的调用接口API利用所述协议接口获取所述数据包中的字段并进行匹配,从而获得所述数据包的转发路径;步骤3.3、所述网络算法提取模块根据所述算法执行模块中调用接口API的处理过程生成相应的API路径;并根据API路径生成路径树;步骤3.4、所述转发规则生成模块根据所述路径树生成转发规则;步骤4、所述控制器将所述转发规则分发给n个交换机,用于实现n个交换机之间的数据传输。本专利技术所述的转发管理方法的特点也在于,所述步骤1中的传输协议是按如下过程编写:步骤1.1、假设所述传输协议中有n层协议,第k层有nk个协议,k∈[1,n];初始化k=1;步骤1.2、定义第k层协议包括:协议的名字、协议中每个字段的字段名和长度;步骤1.3、初始化j=1;j∈[1,nk];步骤1.4、定义第k+1层协议的第j个协议,包括:协议的名字、协议中每个字段的字段名和长度;并在第k层协议中设置跳转到第k+1层协议中第j个协议的跳转字段值;步骤1.5、将j+1赋值给j;判断j>nk是否成立,若成立,则执行步骤1.6;否则,返回步骤1.4;步骤1.6、将k+1赋值给k;判断k>n是否成立,若成立,则表示完成编写;否则,返回步骤1.3。所述步骤2中的调用接口API包括:数据包操作API、网络拓扑查询API和路径规划API;所述控制算法是按如下步骤进行编写:步骤2.1、利用所述数据包操作API获取所述数据包的字段值;步骤2.2、利用所述网络拓扑查询API查询所述字段值在所述协议无关网络中对应的交换机和主机;步骤2.3、根据所述数据包的字段值所对应的交换机和主机以及拓扑结构,利用所述路径规划API生成所述协议无关网络中到达相应交换机和主机的转发路径。所述协议解析包括:协议分析模块和数据包解析模块,所述步骤3.1中的协议接口是按如下过程进行协议解析:步骤3.1.1、所述协议分析模块将所述传输协议翻译成有限状态机;步骤3.1.2、所述数据包解析模块根据所述有限状态机生成相应的解释器,用于提供给所述调用接口API。所述步骤3.3中所生成的API路径的类型包括:读取、比较、跳转、写元、读元和路径;并按如下方式生成相应的API路径:所述调用接口API中的数据包操作API根据所述传输协议的字段名读取所述数据包相对应的字段值,所述字段名记为field_1,所述字段值记为v1,从而生成一条类型为“读取”的API路径,记为R(field_1,v1);所述数据包操作API比较相应数据包字段名对应的字段值与被比较值,得到比较结果;所述相应数据包字段名记为field_2,所述被比较值记为v2,所述比较结果记为b,从而生成一条类型为“比较”的API路径,记为T(field_2,v2,b);所述数据包操作API从所述数据包的当前层协议进入下一层协议时,读取当前层协议的字段名、字段值、跳转流表、偏移量四个值,并将所读取的字段名记为field_3,字段值记为v3、跳转流表记为tid、偏移量记为offset,从而生成一条类型为“读取”的API路径和一条类型为“跳转”的API路径,分别记为R(field_3,v3)和G(tid,offset);所述数据包操作API根据所述传输协议的字段名将所述数据包的字段值写入所述元数据,并将所述传输协议的字段名记为field_4,所述字段值记为v4,从而生成类型为“写元”的API路径,记为WM(field_4,v4);所述数据包操作API根据所述传输协议的相关字段名从所述元数据读取相应的字段值,并将所述相关字段名记为field_5,所述字段值记为v5,从而生成类型为“读元”的API路径,记为RM(field_5,v5);所述调路径规划API将所生成的数据包的转发路径,记为route,从而生成类型为“路径”
的API路径,记为L(route)。所述步骤3.3中的路径树的结点类型包括:读取、比较、跳转、写元、读元和路径;并按如下方式生成相应的路径树:根据所述“读取”的API路径R(field_1,v1),生成类型为“读取”的路径树结点,包括字段名、m个字段值和m个子树,记为R′(field_1,{(v1,t1),(v2,t2),...,(vi,ti),...,(vm,tm)本文档来自技高网
...

【技术保护点】
一种基于编程工具的协议无关网络的转发管理方法;所述协议无关网络包含一个控制器、n个交换机和网络管理中心,并由所述n个交换机组成相应的拓扑结构;其特征是:所述编程工具包括:协议解析模块、算法执行模块、算法提取模块、转发规则生成模块;所述转发管理方法是按如下步骤进行:步骤1、所述网络管理中心根据所述协议解析模块提供的协议报文定义规范,编写所述协议无关网络的传输协议;步骤2、所述网络管理中心根据所述算法执行模块提供的调用接口API,编写所述协议无关网络的控制算法;步骤3、所述编程工具根据所述协议无关网络的传输协议和控制算法进行转发处理,得到转发规则并发送给所述控制器;步骤3.1、所述协议解析模块对所述传输协议进行协议解析,获得协议接口;步骤3.2、所述算法执行模块接收任一交换机发送的数据包,并为所述数据包分配一段缓存,将所述缓存记为元数据;根据所述控制算法中的调用接口API利用所述协议接口获取所述数据包中的字段并进行匹配,从而获得所述数据包的转发路径;步骤3.3、所述网络算法提取模块根据所述算法执行模块中调用接口API的处理过程生成相应的API路径;并根据API路径生成路径树;步骤3.4、所述转发规则生成模块根据所述路径树生成转发规则;步骤4、所述控制器将所述转发规则分发给n个交换机,用于实现n个交换机之间的数据传输。...

【技术特征摘要】
1.一种基于编程工具的协议无关网络的转发管理方法;所述协议无关网络包含一个控制器、n个交换机和网络管理中心,并由所述n个交换机组成相应的拓扑结构;其特征是:所述编程工具包括:协议解析模块、算法执行模块、算法提取模块、转发规则生成模块;所述转发管理方法是按如下步骤进行:步骤1、所述网络管理中心根据所述协议解析模块提供的协议报文定义规范,编写所述协议无关网络的传输协议;步骤2、所述网络管理中心根据所述算法执行模块提供的调用接口API,编写所述协议无关网络的控制算法;步骤3、所述编程工具根据所述协议无关网络的传输协议和控制算法进行转发处理,得到转发规则并发送给所述控制器;步骤3.1、所述协议解析模块对所述传输协议进行协议解析,获得协议接口;步骤3.2、所述算法执行模块接收任一交换机发送的数据包,并为所述数据包分配一段缓存,将所述缓存记为元数据;根据所述控制算法中的调用接口API利用所述协议接口获取所述数据包中的字段并进行匹配,从而获得所述数据包的转发路径;步骤3.3、所述网络算法提取模块根据所述算法执行模块中调用接口API的处理过程生成相应的API路径;并根据API路径生成路径树;步骤3.4、所述转发规则生成模块根据所述路径树生成转发规则;步骤4、所述控制器将所述转发规则分发给n个交换机,用于实现n个交换机之间的数据传输。2.根据权利要求1所述的转发管理方法,其特征是:所述步骤1中的传输协议是按如下过程编写:步骤1.1、假设所述传输协议中有n层协议,第k层有nk个协议,k∈[1,n];初始化k=1;步骤1.2、定义第k层协议包括:协议的名字、协议中每个字段的字段名和长度;步骤1.3、初始化j=1;j∈[1,nk];步骤1.4、定义第k+1层协议的第j个协议,包括:协议的名字、协议中每个字段的字段名和长度;并在第k层协议中设置跳转到第k+1层协议中第j个协议的跳转字段值;步骤1.5、将j+1赋值给j;判断j>nk是否成立,若成立,则执行步骤1.6;否则,返回步骤1.4;步骤1.6、将k+1赋值给k;判断k>n是否成立,若成立,则表示完成编写;否则,返回步骤1.3。3.根据权利要求1所述的转发管理方法,其特征是:所述步骤2中的调用接口API包括:数据包操作API、网络拓扑查询API和路径规划API;所述控制算法是按如下步骤进行编写:步骤2.1、利用所述数据包操作API获取所述数据包的字段值;步骤2.2、利用所述网络拓扑查询API查询所述字段值在所述协议无关网络中对应的交换机和主机;步骤2.3、根据所述数据包的字段值所对应的交换机和主机以及拓扑结构,利用所述路径规划API生成所述协议无关网络中到达相应交换...

【专利技术属性】
技术研发人员:田野冯新宇郭浩然何春晖常坤
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1