一种可信可控网络控制机制实现方法

文档序号:10515249阅读:369来源:国知局
一种可信可控网络控制机制实现方法
【专利摘要】本发明公开了一种可信可控网络控制机制实现方法,本发明方法分为网络控制信息的采集与处理和网络控制策略的解析与执行两个部分。首先,在可信可控网络模型及相关理论的验证思路指导下,基于可信可控网络各种决策机制的需要,确定控制信息采集的内容。通过分析不同时间粒度对信息采集的影响,确定控制信息的时间粒度和传输格式。在此基础上存储并处理控制信息,形成统一的控制信息访问接口;其次,设计通用的网络控制策略格式,解析并执行各种控制机制所产生的网络控制策略,实现对网络的有效控制。
【专利说明】
-种可信可控网络控制机制实现方法
技术领域
[0001] 本发明属于计算机网络领域,设及网络控制机制,具体设及一种可信可控网络控 制机制实现方法。
【背景技术】
[0002] 随着互联网的迅猛发展,互联网呈现出了网络规模快速膨胀、网络异构性W及服 务多样化的发展趋势,互联网的最初的设计理念、网络架构W及关键技术受到了新业务和 新应用的挑战。综合上述发展趋势,互联网的使用目的已经从W教育科研为核屯、目的的"公 益"性质,转向了 W盈利为核屯、目的的"商业"性质,用户群体从"自律"的科研人员转向普通 大众,应用环境从"数据"为主走向音视频。当前互联网环境已经发生了巨大的变化,传统互 联网的体系结构和设计理念日益暴露出严重的不足,互联网在可控性和可信性上暴露出严 重的问题。
[0003] 针对运些问题,人们开展了下一代网络的研究,提出了诸多下一代网络体系结构 方法。虽然尚未对下一代网络体系机构的具体形态达成共识,但是在"下一代网络必须实现 可信可控"的目标上取得了较为广泛的一致:其中可信是目标,即网络能够提供给用户可信 赖的服务;而可控是实现可信的手段之一,实现可控就是要保证网络系统的行为及其结果 是可W预期的,能够做到网络状态可监测、决策行为结果可评估、异常行为可处理,能够对 设备、协议和机制的控制参数进行自适应优化配置,使得网络的数据传输、资源分配和用户 服务的过程及结果是可W预期的。
[0004] 项目组在前期的研究工作基础上提出了可信可控网络体系结构,其主要思想就是 实现控制平面和数据平面剥离并与管理平面集成为统一的决策平面,并要求网络为决策平 面提供统一的视图。可信可控网络体系结构在不破坏现有的层体系结构基础上增 加一个可信可控四层逻辑结构,进而重建一个新的网络体系结构,旨在实现网络可信可控。 在此基础上,项目组研究了路由决策、预警分析、资源控制等网络控制机制,并进行了仿真 验证。为了将运些控制机制应用到网络中,需要设计一种通用的网络控制机制实现方法。
[0005] 虽然业界已经存在很多网络控制机制实现方法,但是已有的实现方法很少对底层 路由控制进行修改,然而可信可控网络模型及相关理论的验证需要对路由转发进行控制, 所W现有的实验方法不适合用来验证可信可控网络模型及相关理论。其次已有的控制机制 实现方法仅仅针对某一种或者某一类型的控制机制,不能够广泛适用于诸多控制机制,缺 乏通用性。

【发明内容】

[0006] 本发明目的是,针对已有的网络控制机制存在的问题,设计一种可信可控网络控 制机制实现方法,将网络的状态信息作为控制的依据,W支持各种决策机制的控制决策。统 一制定控制机制所生成的策略格式,便于对底层网络的管理。
[0007] 本发明的技术方案是:一种可信可控网络控制机制,主要包括W下步骤:
[0008] 1、确定支持控制机制进行决策的网络基本状态信息包括自治域相关的信息、路由 器相关的信息、网卡相关的信息W及连接相关的信息。确定自治域相关的信息的采集的时 间粒度为天。同理可确定连接相关的信息采集的时间粒度为秒,路由器相关的信息采集的 时间粒度为分钟。
[0009] 2、通过解析Linux操作系统命令ifconfig的输出可W得到网卡发送的数据的字节 数。在两个不同的时刻采集网卡所发送的数据的数量,除W运两个不同时刻的时间间隔,可 W得到网卡的转发速率。通过解析Linux操作系统命令ifconfig的输出可W得到网卡上丢 失数据包的数量,在两个不同的时刻采集网卡的丢包数量,除W运两个不同时刻之间转发 的数据包数量,可W得到网卡的丢包率。一条连接的带宽由两端网卡的速率决定,取两端网 卡速率的较小值作为连接的带宽。
[0010] 3、基于Ponder策略描述语言,将四元组作为控制策略的格式,即(subject, target,condition,action),其中sub ject即主体,其含义是管理人员或控制模块;target 即客体,其含义是执行策略的被管设备;condition即条件,其含义是策略动作执行需要满 足的要求;action即动作,其含义是策略主体被允许在策略客体上执行的操作。实现动作函 数的动态加载,同时将动作函数W动作函数库的形式组织存放。接收到控制机制所生成的 控制策略后,将控制策略中的5址〇6。1:、化巧61:、(:〇]1(1;[1:;[0]1、4(31:;[0]1四个字段解析出来。
[0011] 4、对解析到的策略数据进行处理,取出其中的Condi tion字段和Action字段,并将 动作函数文件保存到本地文件夹中。然后根据动作函数文件的类型,选择加载动态连接库 还是调用可执行脚本。
[0012] 本发明的有益效果是:本发明方法与现有技术相比,有如下优点:
[0013] 1、现有的网络控制机制实现方法基于现有TCP/IP网络体系结构而构建,并没有修 改底层路由控制机制,无法实现可信可控网络中的控制机制,而本发明方法支持可信可控 网络控制机制,有效实现可信可控网络中的控制机制。
[0014] 2、本发明具有通用性,支持多种控制机制,并不局限于特定类型的控制机制,为可 信可控网络的进一步发展提供支撑。
【附图说明】
[0015] 图1控制机制示意图。
[0016] 图2可信可控网络控制机制的控制信息采集示意图。
[0017] 图3可信可控网络控制机制的控制策略定义格式。
【具体实施方式】
[0018] 下面结合附图及【具体实施方式】对本发明再做进一步说明。
[0019] 路由决策机制为了构建自治域的拓扑,需要自治域相关的信息、路由器相关的信 息、路由器与路由器之间的连接的信息,而连接与网卡相关,所W还需要网卡相关的信息。 自治域相关的信息包括自治域内的路由器的数量;路由器相关的信息包括路由器的ID、路 由器所属的自治域编号、路由器的运行状态;连接相关的信息包括连接两端网卡的信息、连 接的状态、连接的延迟;网卡的信息包括网卡的状态、网卡的IP地址、网卡的MAC地址、网卡 所属的路由器ID。
[0020] 预警分析为了监测网络的运行状态,不仅需要获得路由决策机制需要的所有信 息,还需要底层网络更详细的状态信息。运些更详细的状态信息包括:自治域信息的刷新时 间、路由器的注册时间、路由器状态更新时间、网卡的注册时间、网卡的转发速率、网卡状态 的刷新时间、网卡的包丢失率、网卡的包队列长度、连接的带宽、连接状态的修改时间、连接 注册的时间。
[0021] 资源控制模块为了对底层网络进行控制,需要获取预警分析机制所需要的所有信 息。
[0022] 综上所述,支持控制机制进行决策的网络基本状态信息包括自治域相关的信息、 路由器相关的信息、网卡相关的信息W及连接相关的信息。
[0023] 根据控制信息需求分析,确定信息采集的内容。主要包括如下几个方面:
[0024] ?自治域的信息。主要包括自治域编号、自治域中的路由器的个数,W及首次获取 此自治域信息的时间。
[0025] ?器的工作状态、路由器工作状态的最后更新时间。
[00%] ?网卡相关的信息。包括网卡所属路由器的编号、网卡的IP地址、网卡的MAC地址、 网卡的注册时间、网卡的工作状态、网卡的包转发速率、网卡的丢包率、网卡上正在排队的 数据包的队列长度,W及W上几种信息的最后更新时间。
[0027] ?连接相关的信息。连接相关的信息包括连接两端的网卡的IP地址、连接的注册 时间、连接的带宽、连接的延迟、连接的状态W及连接信息最后更新的时间。
[0028] 控制信息的采集粒度可使用W下方法确定:分析控制信息的变化频率,对变化频 繁的信息采用较细的时间粒度进行采集,例如网卡相关的信息时时刻刻都在变化,因此确 定网卡相关信息采集的时间粒度为秒;对变化不频繁的信息使用较粗的时间粒度进行采 集,例如自治域相关的信息很少发生变化,因此确定自治域相关的信息的采集的时间粒度 为天。同理可确定连接相关的信息采集的时间粒度为秒,路由器相关的信息采集的时间粒 度为分钟。
[0029] 包括自治域编号、自治域的路由器数目、自治域信息的更新时间在内的自治域的 信息无法直接采集得到,只能通过自治域管理员手动输入的方式获得。
[0030] 路由器相关的信息中的路由器的编号、路由器认证密码、路由器的别名、路由器的 设备类型、路由器所在的自治域的编号,可W由管理员手动写入到路由器的配置文件中,同 时还应写入控制信息数据库中,而路由器的工作状态、路由器工作状态的更新时间则需要 动态更新。对于路由器的工作状态,可W通过定时刷新的方式进行更新,在更新路由器工作 状态的同时,获取当前的时间作为路由器工作状态的更新时间。
[0031] 网卡相关的信息中可W直接采集到的信息包括网卡所属路由器的编号、网卡的物 理地址、和网卡的注册时间、网卡的工作状态、网卡的IP地址、网卡上数路由器相关的信息。 主要包括两个方面的信息:一方面是路由器的配置信息,另一方面是路由器的状态信息。路 由器的配置信息包括路由器的编号、路由器认证密码、路由器的别名、路由器的设备类型、 路由器所在的自治域的编号。路由器的状态信息主要有路由器的注册时间、路由数据包的 队列长度、网卡注册时间、网卡信息的刷新时间,运些信息的采集方法如下所示:网卡所属 路由器的编号通过读取路由器的配置文件得到。网卡的工作状态通过读取路由器的操作系 统文件(如/proc/net/dev)或使用系统命令ifconfig可W得到网卡的工作状态。网卡物理 地址通过读取路由器操作系统配置文件(如Fedoral2Linux操作系统上的文件/etc/udev/ rules .d/70-persistent-net .rules)或者使用系统命令ifconfig得到。网卡IP地址使用系 统命令ifconfig读取。网卡上正在排队的数据包的队列长度由操作系统命令ifconfig得 到。使用操作系统命令ifconfig可W得到网卡的数据转发的字节数。也可W通过读取操作 系统文件(如/proc/net/dev)获得。采集包丢失数量的方法与采集数据转发数量的方法相 同。运行实用程序mii-tool并读取其输出可W得到网卡的带宽。当网卡进行注册时,读取当 前的系统时间作为网卡的注册时间。每次提交网卡信息时,读取当前的系统时间作为网卡 信息的刷新时间。
[0032] 各种控制机制所需要的控制信息中的大部分都可W通过采集直接得到,但有一部 分控制信息必须对采集到的信息做处理才可W得到。通过解析Linux操作系统命令 ifconfig的输出可W得到网卡发送的数据的字节数。在两个不同的时刻采集网卡所发送的 数据的数量,除W运两个不同时刻的时间间隔,可W得到网卡的转发速率。设网卡在tl时刻 之前发送了 si字节的数据,在t2时刻之前发送了 s2字节的数据,则网卡的转发速率fs如公 式1所示,其中si和s2的单位为秒,fs的单位为字节每秒。
[0033]
(公式 1)
[0034] 通过解析Linux操作系统命令ifconfig的输出可W得到网卡上丢失数据包的数 量,在两个不同的时刻采集网卡的丢包数量,除W运两个不同时刻之间转发的数据包数量, 可W得到网卡的丢包率。设在tl时刻采集到的丢包数量为dropl,数据包的转发数量为 fwtotall;在t2时刻采集到的丢包数量为化op2,数据包的转发数量为fwtotal2,则网卡的 丢包率rate_hop如公式2所不,其中化opl、化op2、fwtatall、fwtotal2的单位为个,rate_ 化op没有单位。
[0035]
(慾式 2)
[0036] -条连接的带宽由两端网卡的速率决定,取两端网卡速率的较小值作为连接的带 宽。设一端网卡的带宽为bwl,另一端网卡的带宽为bw2,则连接的带宽bwlink如公式3所示, 其中bwl、bw2的单位是Mb/s,即兆比特每秒。
[0037] bwli址=min(bwl ,bw2) (公式3)
[0038] 由于控制机制各不相同,它们关注网络的方面不同,执行的动作也不同,为了对网 络进行控制,需要统一控制机制所生成的策略格式,便于对底层网络的管理。
[0039] 基于化nder策略描述语言,将四元组作为控制策略的格式,即(subject, target, condition,action),其中subject即主体,其含义是管理人员或控制模块;target即客体, 其含义是执行策略的被管设备;condition即条件,其含义是策略动作执行需要满足的要 求;action即动作,其含义是策略主体被允许在策略客体上执行的操作。
[0040] 控制策略的字符串形式的格式如图3所示,关键字Subject、化rget、Condition和 八。1:;[0]1标识了策略中的四个元组,运四个元组被置于(3〇]1化〇1口〇1;[。7和6]1(1(3〇]1化〇1口〇1;[巧 之间,conholpoli巧和endconholpoli巧共同标记了策略的起始和终止。Subject部分的 值CONTROLMOmJLE-ADMIN是一个字符串,指明了策略的主体为特定的管理人员;Target部分 的值DEVICE_N0是一个数字,指明了客体的设备编号;Condition部分的内容C0NDITI0N_ EXPRESSION为条件表达式,它是控制信息约束的组合,例如下述条件表达式:
[0041 ] QUEUEAVG< = 1000&&F0RWARDSP邸D〉= 100000
[004^ 通过使用逻辑与运算符"&&",组合了两个控制信息约束,QUEUEAVG和 F0RWARDSP邸D都是在设备上可W直接读到的控制信息,其中第一个约束的含义为网卡队列 平均长度小于等于1000,第二个约束的含义为网卡转发速率大于等于100000字节每秒,整 个条件表达式的含义为网卡队列平均长度小于等于1000且网卡转发速率大于等于100000 字节每秒;Action部分的内容包含两部分,第一部分指明了策略动作函数的名字,即 ACT 10丽ΑΜΕ,第二部分指明了策略动作函数的参数列表,即ACT10NARGUMENT1、……、 ACTIONARGUMENTNo
[0043] 动作函数库可W采用文件目录的形式进行组织。创建文件夹存放与不同类型的设 备相对应的动作函数。假设某设备类型为device_type,所W在动作函数库的文件夹下创建 文件夹device_type存放与该类型的设备相对应的动作函数文件。动作函数文件有两种类 型,一种是动态链接库,另一种是脚本程序,通过文件后缀名可W区分运两种动作函数文 件。
[0044] 为了将控制策略中的Subject、化rget、Condition、Action四个字段解析出来,首 先解析Target得到网络设备的编号,利用网络设备的编号,从控制信息数据库中查询获取 网络设备的设备类型,利用Action中的函数名字和网络设备的类型从动作函数库中获取动 作函数文件。W策略的化rget为参数,从控制信息数据库中查询取得客体上正常工作的网 卡的IP地址(如果有多块网卡,则取查询结果中的第一个网卡的IP)。并将策略Condition、 Action字段W及动作函数文件传送给相应网络设备(传送需要使用从控制信息数据库中查 询得到的IP地址)。
[0045] 策略解析的过程如下:
[0046] 1.策略解析模块按照下列次序对消息进行解析:
[0047] 分别取出Subject、Ta;rget、Condition、Action四个字段,存放在相应的变量中。 [004引2. W化rget字段作为参数,在控制信息数据库中查询得到化rget所对应的设备类 型,利用Action中函数的名字和网络设备的类型从动作函数库中获取动作函数文件。
[0049] 3. W化rget字段作为参数,在控制信息数据库中查询得到相应设备上正常工作的 网卡的IP地址,如果存在多块网卡,则取查询结果集合中的第一块网卡的IP地址。
[0化0] 4.利用步骤3中查询得到的IP地址,将Condition、Action两个字段和动作函数文 件发送给化rget上的策略执行模块。
[0051] 控制策略执行模块需要接收策略解析模块输出的已解析的策略数据,取出其中的 Condition字段和Action字段,并将动作函数文件保存到本地文件夹中,然后执行W下操 作:
[0052] 1.检测条件字段的值是否为N化L,如果为NU化,则进行下一步;如果非N化L,则通 过查询的方式检测条件字段中条件表达式中的各个控制信息约束是否使得条件表达式为 真,如果不为真,则继续检测;如果为真,则进行下一步。
[0053] 2.如果动作函数文件为动态连接库,贝阳日载此动态连接库,W动作函数名为参数 取出其中的函数,将动作函数字段中的参数部分作为字符串传递给此函数并执行。如果动 作函数文件是可执行脚本,则将动作函数字段中的参数部分作为可执行脚本的命令行参 数,调用脚本。
[0054]本发明还可有其他多种实施方式,在不背离本发明精神及其实质的情况下,熟悉 本领域的技术人员可根据本发明做出各种相应的改变和变形,运些相应的改变和变形都应 属于本发明所附的权利要求的保护范围。
【主权项】
1. 一种可信可控网络控制机制实现方法,其特征包括:将网络的状态信息作为控制的 依据,以支持各种决策机制的控制决策,统一制定控制机制所生成的策略格式,便于对底层 网络的管理;具体步骤如下: 1) 分析控制机制的控制信息需求,确定控制信息内容,针对不同控制信息设定采集时 间粒度和方法; 2) 对于不能直接采集的控制信息,处理采集的信息以得到控制信息; 3) 预先定义一组描述控制决策的规则,即控制策略,并对控制策略进行解析; 4) 根据已解析的控制策略数据,依据动作函数执行控制策略。2. 根据权利要求1所描述的可信可控网络控制机制实现方法,其特征在于:所述步骤1) 中支持控制机制进行决策的网络基本状态信息包括自治域相关的信息、路由器相关的信 息、网卡相关的信息以及连接相关的信息,确定自治域相关的信息的采集的时间粒度为天, 同理可确定连接相关的信息采集的时间粒度为秒,路由器相关的信息采集的时间粒度为分 钟。3. 根据权利要求1所描述的可信可控网络控制机制实现方法,其特征在于:所述步骤2) 控中不能直接采集到的制信息包括网卡的转发速率、网卡上的丢包率和连接的带宽;通过 解析Linux操作系统命令ifconfig的输出可以得到网卡发送的数据的字节数;在两个不同 的时刻采集网卡所发送的数据的数量,除以这两个不同时刻的时间间隔,可以得到网卡的 转发速率;通过解析Linux操作系统命令ifconfig的输出可以得到网卡上丢失数据包的数 量,在两个不同的时刻采集网卡的丢包数量,除以这两个不同时刻之间转发的数据包数量, 可以得到网卡的丢包率;一条连接的带宽由两端网卡的速率决定,取两端网卡速率的较小 值作为连接的带宽。4. 根据权利要求1所描述的可信可控网络控制机制实现方法,其特征在于:所述步骤3) 具体包括:基于Ponder策略描述语言,将四元组作为控制策略的格式,即(sub ject,target, condition,action),其中subject即主体,其含义是管理人员或控制模块;target即客体, 其含义是执行策略的被管设备;condition即条件,其含义是策略动作执行需要满足的要 求;action即动作,其含义是策略主体被允许在策略客体上执行的操作。5. 根据权利要求1所描述的可信可控网络控制机制实现方法,其特征在于:所述步骤4) 中对解析到的策略数据进行处理,取出其中的condition字段和action字段,并将动作函数 文件保存到本地文件夹中,然后根据动作函数文件的类型,选择加载动态连接库还是调用 可执行脚本。
【文档编号】H04L12/24GK105871593SQ201610162123
【公开日】2016年8月17日
【申请日】2016年3月21日
【发明人】李伟, 罗军舟, 蒋健, 吴保川, 丁文江
【申请人】东南大学, 焦点科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1