1.面向工业互联网应用的服务功能链协同控制系统,其特征在于包括SFC策略控制器、SDN控制器和NFV控制器;系统内的网络流量按照业务逻辑所要求的既定顺序,经过一系列网络服务功能点后形成一个网络功能服务链,每个SFC策略控制器都包含有一个网络功能服务链;SFC策略控制器实现网络服务功能链的计算及编排;SDN控制器负责通过南向接口协议对底层网络设备进行配置,将数据包引流至SFC中的网络服务功能点;网络服务功能运行在物理服务器中的虚拟机VM,系统将这种虚拟化处理的网络服务功能称为NFV,NFV控制器通过VM来管理NFV;
所述SFC策略控制器由SFC策略接口、服务功能列表、流量拓扑和SFC核心组成;SFC策略控制器通过SFC策略接口接收业务配置消息MSG,SFC核心审查配置消息MSG内容的合法性,然后将该配置消息MSG中的Traffic_type和SF_request分发给NFV控制器和SDN控制器;
所述配置消息MSG内容包含流量类别Traffic_type和服务功能请求SF_request字段;
Traffic_type字段包含SFC的源主机IP、源主机端口、目的主机IP、目的主机端口以及IP地址类型;SF_request字段记录了网络业务所对应的SFC及其操作类型,每个SFC由一系列服务功能SF组成,形成一个SF序列,标记为(SF‑1,SF‑2,…),操作类型有创建、删除、修改与查询;
SFC策略控制器根据的服务功能请求SF_request更新服务功能列表;服务功能列表是一个链表,链表上的每一元素SF都是VNF,具体信息包括:VNF实例类型、实例编号、实例配置信息;流量拓扑是一个数据库,存储的是服务功能列表中每一个VNF所在的VM的IP地址、端口号、运行状态;SFC核心审查SF_request的合法性,成功后更新服务功能列表与流量拓扑的内容;
SDN控制器中根据Traffic_type和SF_request,通过Linux内核中的SRv6模块编排SFC,将南向协议转换为SRv6指令,然后将其提交给Linux内核;SDN控制器中对SDN数据平面内网络设备的配置管理,引导流量按顺序经过SFC中的每一个VNF;
NFV控制器根据SF_request创建VM,并将每一个VNF部署于VM,NFV控制器对VNF进行管控,内容包括:VNF的初始化、创建与终止、流量处理规则的增加删除与修改、VNF丢包阈值、允许的最大平均时延,以及VM目前的负载率、网络连接状态;
该系统的具体实现步骤如下:
步骤(1)系统由SFC策略控制器、SDN控制器和NFV控制器组成;SDN控制器实现SFC的管理操作,提供SFC的添加、删除、修改与查询;NFV控制器负责网络功能虚拟化NFV的管理,对每一个服务功能SF进行操作,提供SF的添加、删除与查询;
步骤(2)系统的输入为SFC配置消息MSG,消息内容包含操作对象Object、消息类型Msg_type、流量类别Traffic_type和服务功能请求SF_request字段;Object类型有SF和SFC两种情况,Msg_type有添加、删除、修改与查询四种情况;Traffic_type字段包含SFC的源主机IP、源主机端口、目的主机IP、目的主机端口以及IP地址类型;SF_request字段记录了用户需求所对应的SFC及其操作类型,每个SFC由一系列服务功能SF组成,形成一个SF序列,标记为(SF‑1,SF‑2,…),操作类型有创建、删除、修改与查询;
步骤(3)SFC策略控制器在收到配置消息MSG后,判断操作对象,若Object类型为SF,将该配置消息MSG分发给NFV控制器;若Object类型为SFC,则将该配置消息MSG分发给SDN控制器;
所述SFC策略控制器由SFC策略接口、服务功能列表SF‑List、流量拓扑即Traffic拓扑和SFC核心SFC‑Core组成;SFC‑Api接受配置消息MSG传递的Traffic_type和SF_request;
SF‑List是一个以SF为存储对象的数据库,每一个SF对应一个VNF,NFV控制器对VNF进行管理,并将状态正常的VNF所对应的SF告知SFC‑Core,SFC‑Core再更新SF‑List;Traffic拓扑是一个数据库,存储了现有主机设备的IP地址、端口号、运行状态信息,SDN控制器对主机设备进行管理,并将状态正常的主机设备相关信息通告SFC‑Core,SFC‑Core更新Traffic拓扑;SFC‑Core负责SF‑List与Traffic拓扑数据库内容的更新,SFC策略控制器内所有的操作都必须经过SFC‑Core的审查;
步骤(4)NFV控制器收到配置消息MSG后,查看其中SF_request所包含的SF‑List,如果当前SF‑List中的SF已经存在于VNF管理器VNF‑Mgt中,NFV控制器直接调取该VNF实例;否则VM管理器VM‑Mgt会重新计算虚拟机VM的带宽占用率,在许可范围内通知VNF‑Mgt在相应设备节点创建新的符合要求的VNF实例;
步骤(5)SDN控制器收到配置消息MSG后,若该配置消息MSG为创建SFC请求,则检查该请求是否合法,若合法则会为该SF_request分配唯一的SFC编号,SFC管理器SFC‑Mgt根据SF_request编排SFC,从VNF‑Mgt处获取相应VNF信息,生成相应路由分段列表,通过SDN控制平面SDN‑Cp传入至SRv6管理器SR‑Mgt,实现SFC的部署。
2.根据权利要求1所述的面向工业互联网应用的服务功能链协同控制系统,其特征在于所述NFV控制器由NFV接口NFV‑Api、VNF‑Mgt、VM‑Mgt和NFV控制平面NFV‑Cp四大模块组成;NFV‑Api对外通过SFC‑Api与SFC‑Mgt交互,交互内容是VNF参数;NFV‑Api对内与NFV‑Cp平面交互,管理网络设备上的VNF;VNF‑Mgt对VNF实例进行管理与监测,包括VNF实例的初始化、创建与终止、流量处理规则的增加删除与修改,还包括VNF实例的丢包阈值、允许的最大平均时延,每隔一段时间VNF‑Mgt都会自动对所有VNF进行扫描;VM‑Mgt对VM进行管理与监测,包括VM的创建、删除、修改、查询,还包括监控VM目前的负载率、网络连接状态;NFV‑Cp负责VNF相关管理和监控操作命令的传递,将VNF实例分配到适当的节点上,实现资源的合理分配。
3.根据权利要求2所述的面向工业互联网应用的服务功能链协同控制系统,其特征在于所述SDN控制器由SDN接口SDN‑Api、SR‑Mgt、SFC‑Mgt、SDN‑Cp四大模块组成;SDN‑Api对外与SFC‑Core交互,交互内容是包括Traffic_type和SF_request;对内和SDN‑Cp交互,完成对网络设备的配置管理;SR‑Mgt用于与Linux内核SRv6模块进行交互,将南向协议转换为SRv6指令,然后将其提交给Linux内核;SFC‑Mgt负责根据配置消息MSG编排SFC。