[go: up one dir, main page]

CN105430051A - An SDN-oriented service function chain construction method - Google Patents

An SDN-oriented service function chain construction method Download PDF

Info

Publication number
CN105430051A
CN105430051A CN201510720038.0A CN201510720038A CN105430051A CN 105430051 A CN105430051 A CN 105430051A CN 201510720038 A CN201510720038 A CN 201510720038A CN 105430051 A CN105430051 A CN 105430051A
Authority
CN
China
Prior art keywords
service function
name
synopsis
service
chain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510720038.0A
Other languages
Chinese (zh)
Inventor
董黎刚
郭凯强
王伟明
费硕成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Gongshang University
Original Assignee
Zhejiang Gongshang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Gongshang University filed Critical Zhejiang Gongshang University
Priority to CN201510720038.0A priority Critical patent/CN105430051A/en
Publication of CN105430051A publication Critical patent/CN105430051A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种面向SDN的服务功能链构建方法,它可以针对网络业务请求实现在网络节点部署网络服务功能块实例,首先控制器根据用户提出的网络业务需求创建服务功能链,随后根据网络节点信息创建服务功能实例链,服务功能链由服务功能组成,服务功能实施例链由服务功能块组成。服务功能由服务功能块支撑实现,分类服务功能块类的主要任务是对数据包根据元数据进行分类;调度服务功能块类的主要任务是对数据包进行调度处理,如果有多个数据流都需要从同一端口出去的时候,那么就编排这些流的发送顺序和节奏。这个分类大大简化了现有的服务功能块类,保证了服务功能块类的简洁性。

The invention discloses a method for constructing an SDN-oriented service function chain, which can realize the deployment of network service function block instances on network nodes according to network service requests. The node information creates a service function instance chain, the service function chain is composed of service functions, and the service function embodiment chain is composed of service function blocks. The service function is implemented by the support of the service function block. The main task of the classification service function block is to classify the data packets according to the metadata; the main task of the scheduling service function block is to schedule and process the data packets. When it is necessary to go out from the same port, then arrange the sending order and rhythm of these streams. This classification greatly simplifies the existing service function block class and ensures the simplicity of the service function block class.

Description

一种面向SDN的服务功能链构建方法An SDN-oriented service function chain construction method

技术领域 technical field

本发明涉及SDN(SoftwareDefinedNetwork,软件定义网络)以及服务功能链领域,具体涉及一种服务功能块类的划分以及基于这种划分的服务功能块(ServiceFunctionBlock)描述方法。 The present invention relates to the field of SDN (Software Defined Network, software-defined network) and service function chain, in particular to a division of service function block classes and a service function block (ServiceFunctionBlock) description method based on the division.

背景技术 Background technique

新型数据中心网络和网络云架构需要更为灵活的部署模式以支持各种各样的应用和相关的网络服务。这其中包括传统的网络服务比如防火墙、服务负载均衡器以及对网络数据进行操作的应用等等。而且,由于每个单独的租户是一个连接到数据中心的孤立的客户端组织,因此在多租户的背景下,这些服务在交付时必须满足所有租户的需求,同时,每个租户还有可能需要独特的能力,或者量身定制的服务特点。 New data center networks and network cloud architectures require more flexible deployment models to support a wide variety of applications and related network services. This includes traditional network services such as firewalls, service load balancers, and applications that operate on network data. Also, since each individual tenant is an isolated client organization connected to the data center, in a multi-tenant context, these services must be delivered to meet the needs of all tenants, while each tenant may also need Unique capabilities, or tailored service features.

过去也有服务功能链的概念,但传统网络的服务功能链和网络拓扑紧密耦合、部署复杂,在服务功能链变更、扩容时,都需要改动网络拓扑,重新进行网络设备的配置。而云计算环境广泛使用虚拟化技术,具有动态性、高流动性、规模易变化、多租户等特点,传统网络的服务功能链无法满足这些需求,SDN的出现让服务功能链又焕发了生机。因此,当前在谈及服务功能链时,默认指的是SDN服务功能链。目前对服务功能链的研究有很多,比较主流的有,基于源路由的实现,即在数据源,就决定好需要经过哪些服务节点,然后把这些服务节点的标识都封装在报文中,形成类似MPLS的叠加隧道封装。中间网络节点,根据报文的指定标识进行转发处理,该功能需要在路由中增加服务处理标识,服务节点在收到报文后,检查到有自己的服务标识后,进行服务处理。 In the past, there was also the concept of service function chain, but the service function chain of the traditional network is closely coupled with the network topology, and the deployment is complicated. When the service function chain is changed or expanded, it is necessary to change the network topology and reconfigure the network equipment. The cloud computing environment widely uses virtualization technology, which has the characteristics of dynamics, high fluidity, variable scale, and multi-tenancy. The service function chain of the traditional network cannot meet these requirements. The emergence of SDN makes the service function chain full of vitality. Therefore, when talking about the service function chain, the default refers to the SDN service function chain. At present, there are many researches on the service function chain, the more mainstream one is based on the implementation of source routing, that is, at the data source, it is determined which service nodes need to pass through, and then the identifiers of these service nodes are encapsulated in the message to form MPLS-like overlay tunnel encapsulation. The intermediate network node performs forwarding processing according to the specified identifier of the message. This function needs to add a service processing identifier in the route. After receiving the message, the service node checks that it has its own service identifier and then performs service processing.

现如今的网络服务部署模式是相对静态的,并且受限于插入和策略选择的拓扑架构。而且,在虚拟化的大环境下,他们还不适应灵活的策略环境。同时,传统的一些网络设备比如流量限制和负载均衡器的部署,都与网络拓扑紧密相关,而且需要根据报文路径来放置,这显然与虚拟网络所要求的与物理网络分离背道而驰。 Today's web service deployment models are relatively static and limited to topology for insertion and policy selection. Moreover, in the virtualized environment, they are not yet adapted to the flexible policy environment. At the same time, the deployment of some traditional network devices, such as traffic limitation and load balancer, is closely related to the network topology and needs to be placed according to the packet path, which obviously runs counter to the separation of the virtual network from the physical network.

在这样的前提下,产生了虚拟限速器和负载均衡器等新型中间件,这些中间件被部署在网络边缘,通常由标准服务器来实现。我们把这些虚拟防火墙/限速器/负载均衡器/网关等服务处理功能,称为ServiceFunction,即服务功能。而流量经过一系列的ServiceFunction的处理,形成ServiceFunctionChaining,即服务功能链。 Under such a premise, new types of middleware such as virtual speed limiter and load balancer are produced. These middleware are deployed at the edge of the network, usually implemented by standard servers. We call these service processing functions such as virtual firewall/speed limiter/load balancer/gateway ServiceFunction, that is, service function. The traffic is processed by a series of ServiceFunctions to form a ServiceFunctionChaining, that is, a service function chain.

从整体实现方式来看,目前对于服务功能链的研究可以分为增强网关、静态ServiceChaining部署、动态ServiceChaining部署三种实现方式。增强网关主要是考虑到所有的用户数据都需要汇聚到分组域网关,然后才能路由到Internet的特性,将数据流复杂处理功能及增值业务部署到网关上。华为提出的SBR(ServiceBasedRouting,基于服务的路由)就属于此类。静态ServiceChaining是将增值业务服务器及复杂流处理中间件部署在网关后面,采用串行方式进行处理。SFCviaNSH就论述了一个使用网络服务头来构建一个完整的静态ServiceChaining部署服务平台的方法。动态ServiceChaining以一种Overlay的方式将MiddleBox从路由拓扑中抽离出来,使得MiddleBox的部署不再依赖拓扑而能够自由移动、插入或删除,同时采用虚拟化技术使得MiddleBox根据流量弹性化地完成扩容缩容,而SDN技术结合策略控制根据不同维度不同粒度需求编排不同的ServiceChaining及ServiceChaining路径。在这方面的研究有很多,《FormalMethodsforServiceComposition》中介绍了在生成服务功能链时的几个服务组合方法,指出了他们的弊端,并提出了自己的形式化方法。Cloud-based给出了一个在云虚拟平台上构建动态服务功能链的框架,为动态服务功能链提出了一个在流长度层面的性能优化方案,Steering则介绍了一个集中控制的控制器下发动态策略来控制用户以及流种类从而动态生成服务功能链的过程。目前为止设备制造商已经做出了服务功能链实例,比如前面提到的SBR以及爱立信公司介绍的一个基于SDN的,在ODL控制器下的一个动态服务功能链。 From the perspective of the overall implementation method, the current research on service function chain can be divided into three implementation methods: enhanced gateway, static ServiceChaining deployment, and dynamic ServiceChaining deployment. The enhanced gateway mainly considers that all user data needs to be aggregated to the packet domain gateway before it can be routed to the Internet, and deploys complex data flow processing functions and value-added services to the gateway. The SBR (Service Based Routing, service-based routing) proposed by Huawei belongs to this category. Static ServiceChaining is to deploy value-added service servers and complex stream processing middleware behind the gateway, and use serial methods for processing. SFCviaNSH discusses a method of using network service headers to build a complete static ServiceChaining deployment service platform. Dynamic ServiceChaining extracts MiddleBox from the routing topology in an Overlay way, so that the deployment of MiddleBox no longer depends on the topology and can be moved, inserted or deleted freely. At the same time, the use of virtualization technology enables MiddleBox to flexibly expand and shrink according to traffic Content, while SDN technology combines policy control to arrange different ServiceChaining and ServiceChaining paths according to different dimensions and different granularity requirements. There are many researches in this area. "Formal Methods for Service Composition" introduces several service composition methods when generating service function chains, points out their drawbacks, and proposes its own formal method. Cloud-based provides a framework for building a dynamic service function chain on a cloud virtual platform, and proposes a performance optimization solution at the flow length level for the dynamic service function chain. Steering introduces a centralized control controller to deliver dynamic Policies are used to control users and flow types to dynamically generate service function chains. Equipment manufacturers have made examples of service function chains so far, such as the aforementioned SBR and a dynamic service function chain under the ODL controller based on SDN introduced by Ericsson.

在当前网络中,诸如防火墙、过滤器、冲突检测系统、深度包检测、网络地址转换、内容缓存、负载均衡等网络应用,现在都是用一些中间件或者内部服务——因为它们对端用户是透明的。中间件在大带宽的网络中是不可缺少的(固定的或者可以移动的),比如在企业网络中,还有最近出现在数据中心和云环境中。虽说这个话题近年来非常火热,但是对于中间件的摆放和管理迄今仍没有很好的解决方案。现有的研究中,从功能上来看,拥有流表的OpenFlow和利用LFB进行转发的ForCES都是服务功能链的实现方式之一。OpenFlow中,数据包通过对一条条流表的匹配最后执行相应动作,在ForCES中,数据包经过在组成特定功能的LFB拓扑,最终被决定是重定向、转发或是丢弃。流表和LFB都是服务功能的一种,其中OpenFlow流表应用的比较广泛,而ForCES的LFB则更加灵活。 In the current network, network applications such as firewalls, filters, conflict detection systems, deep packet inspection, network address translation, content caching, load balancing, etc., now use some middleware or internal services - because they are the end users transparent. Middleware is indispensable in high-bandwidth networks (fixed or mobile), such as in enterprise networks, and more recently in data centers and cloud environments. Although this topic has been very hot in recent years, there is still no good solution for the placement and management of middleware. In the existing research, from a functional point of view, OpenFlow with flow tables and ForCES using LFB for forwarding are both one of the implementation methods of service function chains. In OpenFlow, the data packets are matched to each flow table and finally perform corresponding actions. In ForCES, the data packets are finally determined to be redirected, forwarded or discarded after passing through the LFB topology that constitutes a specific function. Flow table and LFB are both types of service functions, among which OpenFlow flow table is widely used, while ForCES LFB is more flexible.

发明内容 Contents of the invention

为了克服现有技术的不足,本发明提供了一种面向SDN的服务功能链构建方法。本发明提出了一个新的概念SFB(ServiceFunctionBlock,服务功能块),并提出了使用分类服务功能块和调度服务功能块来构建服务功能链的方法以及对上述两个服务功能块的建模。服务功能块相对于OpenFlow流表具有更高的描述能力,而对比于ForCES的LFB也具有更好的概括性,大大简化了服务功能的种类。 In order to overcome the deficiencies of the prior art, the present invention provides an SDN-oriented service function chain construction method. The present invention proposes a new concept SFB (ServiceFunctionBlock, service function block), and proposes a method for constructing a service function chain by using a classified service function block and a scheduling service function block, and modeling of the above two service function blocks. Compared with the OpenFlow flow table, the service function block has a higher description ability, and compared with the LFB of ForCES, it also has better generalization, which greatly simplifies the types of service functions.

技术方案如下所述。 The technical solution is as follows.

一种面向SDN的服务功能链构建方法,具体内容为,在SDN网络结构中,针对网络业务请求实现在网络节点部署网络服务功能块实例,包括以下步骤: A method for constructing an SDN-oriented service function chain, specifically, in an SDN network structure, deploying a network service function block instance at a network node in response to a network service request, comprising the following steps:

1-1)控制器根据用户提出的网络业务需求创建服务功能链,服务功能链由若干个服务功能首尾相接组成; 1-1) The controller creates a service function chain according to the network service requirements proposed by the user, and the service function chain is composed of several service functions connected end to end;

1-2)服务功能是由服务功能块支撑实现的,服务功能块分为两大类,分别为分类服务功能块类和调度服务功能块类; 1-2) The service function is realized by the support of the service function block, which is divided into two categories, namely the classification service function block and the scheduling service function block;

1-3)网络节点向控制器上报该网络节点资源状况,包括有哪些可选的次要功能元素、元数据和调度算法; 1-3) The network node reports the resource status of the network node to the controller, including the optional secondary functional elements, metadata and scheduling algorithms;

1-4)控制器根据网络节点的资源状况和服务功能链信息设计服务功能实例链,服务功能实例链是由服务功能块首尾相接组成; 1-4) The controller designs the service function instance chain according to the resource status of the network nodes and the service function chain information, and the service function instance chain is composed of service function blocks connected end to end;

1-5)对于支持服务功能块的网络节点,控制器将服务功能实例链的描述直接下发到相关的网络节点并要求预留资源,对于支持OpenFlow的网络节点,控制器将服务功能实例链的描述转化为流表再下发; 1-5) For network nodes that support service function blocks, the controller sends the description of the service function instance chain directly to the relevant network nodes and requests to reserve resources. For network nodes that support OpenFlow, the controller sends the service function instance chain The description is converted into a flow table and then issued;

1-6)网络节点部署服务功能实例链。 1-6) Network node deployment service function instance chain.

步骤1-2)所述的服务功能是由服务功能块支撑实现的,服务功能块分为两大类,分别为分类服务功能块类和调度服务功能块类: The service functions described in step 1-2) are realized by the support of service function blocks, which are divided into two categories, namely classification service function blocks and scheduling service function blocks:

2-1)服务功能块类中包含了该类中的服务功能块共同拥有的主功能元素; 2-1) The service function block class contains the main functional elements shared by the service function blocks in this class;

2-2)服务功能块中除了主功能元素值之外,还有输入输出端口、输入输出数据包、输入输出元数据、次功能元素值等; 2-2) In addition to the main function element value, there are input and output ports, input and output data packets, input and output metadata, and secondary function element values in the service function block;

2-3)分类服务功能块类的主要任务是对数据包根据元数据进行分类; 2-3) The main task of the classification service function block class is to classify data packets according to metadata;

2-4)调度服务功能块类的主要任务是对数据包进行调度处理,如果有多个数据流都需要从同一端口出去的时候,那么就编排这些流的发送顺序和节奏。 2-4) The main task of the scheduling service function block is to schedule and process data packets. If there are multiple data streams that need to go out from the same port, then arrange the sending order and rhythm of these streams.

附图说明 Description of drawings

图1是本发明一个实施例中H学院的网络现实拓扑; Fig. 1 is the real network topology of H college in one embodiment of the present invention;

图2是本发明一个实施例中根据H学院业务需求构建的服务功能链; Fig. 2 is a service function chain constructed according to the business requirements of H College in one embodiment of the present invention;

图3是本发明一个实施例中根据H学院业务需求构建的服务功能实例链。 Fig. 3 is an example chain of service functions constructed according to the business requirements of H College in one embodiment of the present invention.

具体实施方式 detailed description

以下通过附图和具体实施方式对本发明做进一步的说明。 The present invention will be further described below through the drawings and specific embodiments.

图1中所示H学院需要建立一种面向SDN的服务功能链,因此需要针对网络业务请求实现在网络节点部署网络服务功能块实例,具体步骤如下: College H shown in Figure 1 needs to establish an SDN-oriented service function chain. Therefore, it is necessary to deploy network service function block instances on network nodes for network service requests. The specific steps are as follows:

1-1)控制器根据用户提出的网络业务需求创建服务功能链,服务功能链由若干个服务功能首尾相接组成; 1-1) The controller creates a service function chain according to the network service requirements proposed by the user, and the service function chain is composed of several service functions connected end to end;

1-2)服务功能是由服务功能块支撑实现的,服务功能块分为两大类,分别为分类服务功能块类和调度服务功能块类; 1-2) The service function is realized by the support of the service function block, which is divided into two categories, namely the classification service function block and the scheduling service function block;

1-3)网络节点向控制器上报该网络节点资源状况,包括有哪些可选的次要功能元素、元数据和调度算法; 1-3) The network node reports the resource status of the network node to the controller, including the optional secondary functional elements, metadata and scheduling algorithms;

1-4)控制器根据网络节点的资源状况和服务功能链信息设计服务功能实例链,服务功能实例链是由服务功能块首尾相接组成; 1-4) The controller designs the service function instance chain according to the resource status of the network nodes and the service function chain information, and the service function instance chain is composed of service function blocks connected end to end;

1-5)对于支持服务功能块的网络节点,控制器将服务功能实例链的描述直接下发到相关的网络节点并要求预留资源,对于支持OpenFlow的网络节点,控制器将服务功能实例链的描述转化为流表再下发; 1-5) For network nodes that support service function blocks, the controller sends the description of the service function instance chain directly to the relevant network nodes and requests to reserve resources. For network nodes that support OpenFlow, the controller sends the service function instance chain The description is converted into a flow table and then issued;

1-6)网络节点部署服务功能实例链。 1-6) Network node deployment service function instance chain.

图2和图3即为需要的构建服务功能链和服务功能实例链,它们分别由服务功能和服务功能块组成,服务功能是由服务功能块支撑实现的。服务功能块分为两大类,分别为分类服务功能块类和调度服务功能块类: Figure 2 and Figure 3 are the service function chains and service function instance chains that need to be constructed, they are composed of service functions and service function blocks respectively, and the service functions are realized by the support of service function blocks. The service function blocks are divided into two categories, which are classified service function blocks and scheduling service function blocks:

2-1)服务功能块类中包含了该类中的服务功能块共同拥有的主功能元素; 2-1) The service function block class contains the main functional elements shared by the service function blocks in this class;

2-2)服务功能块中除了主功能元素值之外,还有输入输出端口、输入输出数据包、输入输出元数据、次功能元素值等; 2-2) In addition to the main function element value, there are input and output ports, input and output data packets, input and output metadata, and secondary function element values in the service function block;

2-3)分类服务功能块类的主要任务是对数据包根据元数据进行分类; 2-3) The main task of the classification service function block class is to classify data packets according to metadata;

2-4)调度服务功能块类的主要任务是对数据包进行调度处理,如果有多个数据流都需要从同一端口出去的时候,那么就编排这些流的发送顺序和节奏。 2-4) The main task of the scheduling service function block is to schedule and process data packets. If there are multiple data streams that need to go out from the same port, then arrange the sending order and rhythm of these streams.

实施例 Example

下面以A大学H学院部署负载均衡数据中心和配置网络流量监控业务为例,对转发策略转换方法过程进行说明。 The process of forwarding policy conversion method is described below by taking the deployment of load balancing data center and the configuration of network traffic monitoring service in College H of University A as an example.

如图1所示,本实施例网络拓扑由1台核心交换机,2台SDN交换机S1和S2,5台服务器,和若干主机/终端设备组成。全网分为六个网段,网段1:网络研究所(10.20.4.0/24);网段2:研究生实验室(10.20.5.0/24);网段3:云实验室(10.20.6.0/24);网段4:云实验室服务器组(10.20.7.0/24)。网段4中的4台服务器是用来运行云实验室操作系统的。网段5:审计服务器(10.20.8.0/24),可以根据管理员需要选择性地备份数据包,进行事后审计。网段6:数据服务器(10.20.9.0/24),这台数据服务器负责整个学院的数据存储。云实验室服务器组网段通过一台SDN交换机与学院主干网络连接,可实现云实验室流量的均衡分配。网段1-3通过一台SDN交换机实现互联,所有六个网段通过学院核心交换机与学院主干网络连通。 As shown in FIG. 1 , the network topology of this embodiment consists of one core switch, two SDN switches S1 and S2, five servers, and several hosts/terminal devices. The whole network is divided into six network segments, network segment 1: network research institute (10.20.4.0/24); network segment 2: graduate laboratory (10.20.5.0/24); network segment 3: cloud laboratory (10.20.6.0 /24); network segment 4: cloud lab server group (10.20.7.0/24). The 4 servers in network segment 4 are used to run the cloud lab operating system. Network segment 5: audit server (10.20.8.0/24), which can selectively back up data packets according to the administrator's needs for post-event auditing. Network segment 6: data server (10.20.9.0/24), this data server is responsible for the data storage of the entire college. The cloud laboratory server network segment is connected to the backbone network of the college through an SDN switch, which can realize the balanced distribution of cloud laboratory traffic. Network segments 1-3 are interconnected through an SDN switch, and all six network segments are connected to the backbone network of the college through the college core switch.

第一步,控制器根据用户提出的网络业务需求创建服务功能链,服务功能链由若干个服务功能首尾相接组成。本实施例的业务需求是:提高云平台的服务质量。根据此业务需求,控制器将建立一条服务功能链。该服务功能链中包含三种服务功能:“认证”、“流量管理”和“负载均衡”。 In the first step, the controller creates a service function chain according to the network service requirements proposed by the user, and the service function chain is composed of several service functions connected end to end. The business requirement of this embodiment is to improve the service quality of the cloud platform. Based on this business requirement, the controller will establish a chain of service functions. The service function chain contains three service functions: "authentication", "traffic management" and "load balancing".

服务功能链中包含的三种服务功能描述具体如下: The descriptions of the three service functions included in the service function chain are as follows:

(一)“认证”服务功能用于管理和授权上网人员,只有通过授权物理端口进来的流量才能访问网络信息。H学院网络对网段1,网段2,网段3实行用户认证,备份访问数据服务器(10.20.9.1)的流量并将之发往审计服务器(10.20.8.1)进行审计,该服务功能可以减少“非法”流量,同时方便管理用户权限; (1) The "authentication" service function is used to manage and authorize Internet users, and only traffic coming in through authorized physical ports can access network information. The H College network implements user authentication on network segment 1, network segment 2, and network segment 3, backs up the traffic of the access data server (10.20.9.1) and sends it to the audit server (10.20.8.1) for auditing, and this service function can reduce "Illegal" traffic, while facilitating the management of user permissions;

(二)“流量管理”服务功能在网段1和网段2访问数据服务器(10.20.9.1)的流量超过一定范围时对它们进行管理,流量过高时禁止连接到数据服务器,以此来确保运行云平台运行的安全和效率; (2) The "traffic management" service function manages network segment 1 and network segment 2 when the traffic accessing the data server (10.20.9.1) exceeds a certain range. When the traffic is too high, it is forbidden to connect to the data server, so as to ensure To run the security and efficiency of cloud platform operation;

(三)“负载均衡”服务功能根据云实验室服务器的延时情况,将云实验室终端连接到延时最小的服务器上。 (3) The "load balancing" service function connects the cloud lab terminal to the server with the smallest delay according to the delay of the cloud lab server.

根据业务需求建立的服务功能链结构如图2所示。 The service function chain structure established according to business requirements is shown in Figure 2.

第二步,服务功能是由服务功能块支撑实现的,服务功能块分为两大类,分别为分类服务功能块类和调度服务功能块类。具体方法为: In the second step, the service function is realized by the support of the service function block. The service function block is divided into two categories, namely, the classification service function block and the scheduling service function block. The specific method is:

1、服务功能块类中包含了该类中的服务功能块共同拥有的主功能元素; 1. The service function block class contains the main functional elements shared by the service function blocks in this class;

描述服务功能块类的模板: A template describing a service function block class:

<SFBClassDefSFBClassID="…"> <SFBClassDefSFBClassID="…">

<!--服务功能块类的编号--> <!--The number of the service function block class-->

<name>…</name> <name>…</name>

<!--服务功能块类的名称--> <!--The name of the service function block class-->

<synopsis>…</synopsis> <synopsis>…</synopsis>

<!--服务功能块类的简介--> <!--Introduction to the service function block class-->

<components> <components>

<componentaccess="…"componentID="…"> <componentaccess="..."componentID="...">

<!—主功能元素编号以及主功能元素的提供的操作权限:可读可写、只读、清除读操作等--> <!—The number of the main function element and the operation authority provided by the main function element: readable and writable, read-only, clear read operation, etc. -->

<name>…</name> <name>…</name>

<!--主功能元素名称--> <!--Main function element name-->

<synopsis>…</synopsis> <synopsis>…</synopsis>

<!--对主功能元素的简介--> <!--Introduction to the main functional element-->

<typeRef>…</typeRef> <typeRef>…</typeRef>

<!--主功能元素的格式--> <!--The format of the main function element-->

</component> </component>

</components> </components>

</SFBClassDef> </SFBClassDef>

2、服务功能块中除了主功能元素值之外,还有输入输出端口、输入输出数据包、输入输出元数据、次功能元素值等; 2. In addition to the main function element value, there are input and output ports, input and output data packets, input and output metadata, and secondary function element values in the service function block;

描述服务功能块的模板: A template describing a service function block:

<SFBInstanceDefInstanceID="…"><!--服务功能块的编号--> <SFBInstanceDefInstanceID="…"><!--The number of the service function block-->

<name>…</name> <name>…</name>

<!--服务功能块的名称--> <!--The name of the service function block-->

<synopsis>…</synopsis> <synopsis>…</synopsis>

<!--服务功能块的简介--> <!--Introduction to the service function block-->

<version>…</version> <version>…</version>

<!--服务功能块的版本--> <!--The version of the service function block-->

<ClassID>…</ClassID> <ClassID>…</ClassID>

<!--服务功能块所属类的编号--> <!--The number of the class to which the service function block belongs-->

<inputPorts> <inputPorts>

<inputPort> <inputPort>

<name>…</name> <name>…</name>

<!--输入端口名称--> <!--Enter port name-->

<ID>…</ID> <ID>…</ID>

<!--输入端口ID--> <!--Enter port ID-->

<synopsis>…</synopsis> <synopsis>…</synopsis>

<!--输入端口简介--> <!--Introduction to input port-->

<expectation> <expectation>

<frameExpected> <frameExpected>

<ref>…</ref> <ref>…</ref>

<!--输入包的参考格式--> <!--Reference format of input package-->

</frameExpected> </frameExpected>

<metadataExpected> <metadataExpected>

<ref>…</ref> <ref>…</ref>

<!--输入元数据的参考格式--> <!--Reference format for input metadata-->

</metadataExpected> </metadataExpected>

</expectation> </expectation>

</inputPort> </inputPort>

</inputPorts> </inputPorts>

<outputPorts> <outputPorts>

<outputPort> <outputPort>

<name>…</name> <name>…</name>

<!--输出端口名称--> <!--Output port name-->

<ID>…</ID> <ID>…</ID>

<!--输出端口编号--> <!--Output port number-->

<synopsis>…</synopsis> <synopsis>…</synopsis>

<!--输出端口简介--> <!--Output port introduction-->

<product> <product>

<nextInstanceID>…</nextInstanceID> <nextInstanceID>…</nextInstanceID>

<!--下个实例ID--> <!--Next instance ID-->

<nextPortID>…</nextPortID> <nextPortID>…</nextPortID>

<!--下个物理端口ID--> <!--Next physical port ID-->

<frameProduced> <frame Produced>

<ref>…</ref> <ref>…</ref>

<!--输出包的参考格式--> <!--Reference format of the output package-->

</frameProduced> </frame Produced>

<metadataProduced> <metadata Produced>

<ref>…</ref> <ref>…</ref>

<!--输出元数据的参考格式--> <!--Reference format of output metadata-->

</metadataProduced> </metadataProduced>

</product> </product>

<nextInstanceID>..</nextInstanceID> <nextInstanceID>..</nextInstanceID>

<!--下一个服务功能块的编号--> <!--Number of the next service function block-->

</outputPort> </outputPort>

</outputPorts> </outputPorts>

<componentValues> <componentValues>

<componentValuecomponentID="…">…</componentValue> <componentValuecomponentID="…">…</componentValue>

<!--服务功能块元素的值--> <!--The value of the service function block element-->

</componentValues> </componentValues>

</SFBInstanceDef> </SFBInstanceDef>

3、分类服务功能块类的主要任务是对数据包根据元数据进行分类,具体描述为: 3. The main task of the classification service functional block class is to classify data packets according to metadata, specifically described as:

<SFBClassDefSFBClassID="1"> <SFBClassDefSFBClassID="1">

<components> <components>

<componentaccess="read-write"componentID="1"> <componentaccess="read-write"componentID="1">

<name>adminStatus</name> <name>adminStatus</name>

<!--服务功能块的操作状态--> <!--Operation status of service function block-->

<synopsis>TheSFBstatusadministrativelyrequested.</synopsis> <synopsis>TheSFBstatusadministrativelyrequested.</synopsis>

<typeRef>SFBStatusType</typeRef> <typeRef>SFBStatusType</typeRef>

<defaultValue>2</defaultValue> <defaultValue>2</defaultValue>

</component> </component>

<componentaccess="read-only"componentID="2"> <componentaccess="read-only"componentID="2">

<name>operStatus</name> <name>operStatus</name>

<!--服务功能块的实际状态--> <!--The actual state of the service function block-->

<synopsis>TheSFBactualoperationalstatus.</synopsis> <synopsis>TheSFBactualoperationalstatus.</synopsis>

<typeRef>SFBStatusType</typeRef> <typeRef>SFBStatusType</typeRef>

<defaultValue>2</defaultValue> <defaultValue>2</defaultValue>

</component> </component>

<componentaccess="read-write"componentID="3"> <componentaccess="read-write"componentID="3">

<name>metadataDispatchTable</name> <name>metadataDispatchTable</name>

<!--分类表--> <!--Classification table-->

<synopsis> <synopsis>

ThemetadataDispatchTablecomponent,whichcontainsentriesofametadatavalue,acomparator,athresholdValueandanoutputindex,specifyingthatapacketwiththemetadatavaluemustgooutfromtheinstancewiththeoutputindexoftheSFBgroupoutputport. ThemetadataDispatchTablecomponent, whichcontainsentriesofametadatavalue, acomparator,thresholdValueandanoutputindex, specifyingthatapacketwiththemetadatavaluemustgooutfromtheinstancewiththeoutputindexoftheSFBgroupoutputport.

</synopsis> </synopsis>

<typeRef>metadataDispatchTableType</typeRef> <typeRef>metadataDispatchTableType</typeRef>

</component> </component>

</components> </components>

</SFBClassDef> </SFBClassDef>

4、调度服务功能块类的主要任务是对数据包进行调度处理,如果有多个数据流都需要从同一端口出去的时候,那么就编排这些流的发送顺序和节奏,具体描述如下: 4. The main task of the scheduling service function block is to schedule and process data packets. If there are multiple data streams that need to go out from the same port, then arrange the sending order and rhythm of these streams. The specific description is as follows:

<SFBClassDefSFBClassID="2"> <SFBClassDefSFBClassID="2">

<components> <components>

<componentaccess="read-write"componentID="1"> <componentaccess="read-write"componentID="1">

<name>adminStatus</name> <name>adminStatus</name>

<synopsis>TheSFBstatusadministrativelyrequested.</synopsis> <synopsis>TheSFBstatusadministrativelyrequested.</synopsis>

<typeRef>SFBStatusType</typeRef> <typeRef>SFBStatusType</typeRef>

<defaultValue>2</defaultValue> <defaultValue>2</defaultValue>

</component> </component>

<componentaccess="read-only"componentID="2"> <componentaccess="read-only"componentID="2">

<name>operStatus</name> <name>operStatus</name>

<synopsis>TheSFBactualoperationalstatus.</synopsis> <synopsis>TheSFBactualoperationalstatus.</synopsis>

<typeRef>SFBStatusType</typeRef> <typeRef>SFBStatusType</typeRef>

<defaultValue>2</defaultValue> <defaultValue>2</defaultValue>

</component> </component>

<componentaccess="read-write"componentID="3"> <componentaccess="read-write"componentID="3">

<name>currentSchedulingDiscipline</name> <name>currentSchedulingDiscipline</name>

<!--调度策略--> <!--Scheduling strategy-->

<synopsis> <synopsis>

ThecurrentSchedulingDisciplinecomponent,whichisforthe The current Scheduling Discipline component, which is for the

controllertospecifyaschedulingdisciplinetotheSFB. controller to specify ascheduling discipline to the SFB.

</synopsis> </synopsis>

<typeRef>schdDisciplineEntryType</typeRef> <typeRef>schdDisciplineEntryType</typeRef>

</component> </component>

</components> </components>

</SFBClassDef> </SFBClassDef>

上述类描述中用到的数据格式分列如下: The data formats used in the above class description are listed as follows:

<dataTypeDef> <dataTypeDef>

<name>SFBStatusType</name> <name>SFBStatusType</name>

<!--服务功能块状态类型--> <!--Service Function Block Status Type-->

<synopsis> <synopsis>

TypeforSFBstatus,usedforbothadministrativeandoperativestatus. Type for SFB status, used for both administrative and operative status.

</synopsis> </synopsis>

<atomic> <atomic>

<baseType>uint32</baseType> <baseType>uint32</baseType>

<specialValues> <specialValues>

<specialValuevalue="0"> <specialValuevalue="0">

<name>Disabled</name> <name>Disabled</name>

<synopsis>Portdisabled.</synopsis> <synopsis>Port disabled.</synopsis>

</specialValue> </specialValue>

<specialValuevalue="1"> <specialValuevalue="1">

<name>Up</name> <name>Up</name>

<synopsis>Portup.</synopsis> <synopsis>Portup.</synopsis>

</specialValue> </specialValue>

<specialValuevalue="2"> <specialValuevalue="2">

<name>Down</name> <name>Down</name>

<synopsis>Portdown.</synopsis> <synopsis>Portdown.</synopsis>

</specialValue> </specialValue>

</specialValues> </specialValues>

</atomic> </atomic>

</dataTypeDef> </dataTypeDef>

<dataTypeDef> <dataTypeDef>

<name>metadataDispatchTableType</name> <name>metadataDispatchTableType</name>

<!--分类表类型--> <!--Classification table type-->

<synopsis>Datatypeformetadatadispatchtable.</synopsis> <synopsis>Datatypeformetadatadispatchtable.</synopsis>

<arraytype="variable-size"> <arraytype="variable-size">

<typeRef>metadataDispatchEntryType</typeRef> <typeRef>metadataDispatchEntryType</typeRef>

</array> </array>

</dataTypeDef> </dataTypeDef>

<dataTypeDef> <dataTypeDef>

<name>metadataDispatchEntryType</name> <name>metadataDispatchEntryType</name>

<!--分类条目类型--> <!--Classification entry type-->

<synopsis>DatatypeformetadatadispatchtableusedinBasicMetadataDispatchSFB.Metadatavalueofthetableisalsodefinedasacontentkeyfield.</synopsis> <synopsis>DatatypeformetadatadispatchtableusedinBasicMetadataDispatchSFB.Metadatavalueofthetableisalsodefinedasacontentkeyfield.</synopsis>

<struct> <struct>

<componentcomponentID="1"> <componentcomponentID="1">

<name>condition</name> <name>condition</name>

<!--条件--> <!--Conditions-->

<synopsis>Theconditionwhichthemetadatamustfollows.</synopsis> <synopsis>The condition which the metadata must follow.</synopsis>

<typeRef>metadataTableType</typeRef> <typeRef>metadataTableType</typeRef>

</component> </component>

<componentcomponentID="2"> <componentcomponentID="2">

<name>action</name> <name>action</name>

<!--动作--> <!--action-->

<synopsis>Indexofagroupoutputportforoutgoingpackets.</synopsis> <synopsis>Indexofagroupoutputportforoutgoingpackets.</synopsis>

<typeRef>portGroupType</typeRef> <typeRef>portGroupType</typeRef>

</component> </component>

</struct> </struct>

</dataTypeDef> </dataTypeDef>

<dataTypeDef> <dataTypeDef>

<name>metadataTableType</name> <name>metadataTableType</name>

<!--元数据表类型--> <!--Metadata table type-->

<synopsis>TypeofthemetadataTable.</synopsis> <synopsis>TypeofthemetadataTable.</synopsis>

<arraytype="variable-size"> <arraytype="variable-size">

<typeRef>metadataEntryType</typeRef> <typeRef>metadataEntryType</typeRef>

</array> </array>

</dataTypeDef> </dataTypeDef>

<dataTypeDef> <dataTypeDef>

<name>portGroupType</name> <name>portGroupType</name>

<!--端口动作类型--> <!--Port Action Type-->

<synopsis>Typeoftheportgroups.</synopsis> <synopsis>Type of the portgroups.</synopsis>

<arraytype="variable-size"> <arraytype="variable-size">

<typeRef>portType</typeRef> <typeRef>portType</typeRef>

</array> </array>

</dataTypeDef> </dataTypeDef>

<dataTypeDef> <dataTypeDef>

<name>metadataEntryType</name> <name>metadataEntryType</name>

<!--元数据条目类型--> <!--Metadata entry type-->

<synopsis>TypeofthemetadataEntry.</synopsis> <synopsis>TypeofthemetadataEntry.</synopsis>

<struct> <struct>

<componentcomponentID="1"> <componentcomponentID="1">

<name>metadataID</name> <name>metadataID</name>

<synopsis>TheIDwhichrepresentsadispatchmetadata.</synopsis> <synopsis>TheID which represents a dispatchmetadata.</synopsis>

<typeRef>uint32</typeRef> <typeRef>uint32</typeRef>

</component> </component>

<componentcomponentID="2"> <componentcomponentID="2">

<name>comparator</name> <name>comparator</name>

<synopsis>Thecomparatorcanbechoseandcanuseastherelationofmetadataandthresholdvalue.</synopsis> <synopsis>The comparator can be chosen and can use astherelation of metadata and threshold value.</synopsis>

<typeRef>comparatorEnum</typeRef> <typeRef>comparatorEnum</typeRef>

</component> </component>

<componentcomponentID="3"> <componentcomponentID="3">

<name>thresholdValue</name> <name>thresholdValue</name>

<synopsis>Thethresholdvaluethatthemetadatamustcomparewith.</synopsis> <synopsis>The threshold value that the metadata must compare with.</synopsis>

<typeRef>arbitrary</typeRef> <typeRef>arbitrary</typeRef>

</component> </component>

</struct> </struct>

</dataTypeDef> </dataTypeDef>

<dataTypeDef> <dataTypeDef>

<name>comparatorEnum</name> <name>comparatorEnum</name>

<!--比较器种类--> <!--Comparator type-->

<synopsis>Thecomparatorkinds.</synopsis> <synopsis>The comparatorkinds.</synopsis>

<atomic> <atomic>

<baseType>uint32</baseType> <baseType>uint32</baseType>

<rangeRestriction> <rangeRestriction>

<allowedRangemin="0"max="5"/> <allowedRangemin="0"max="5"/>

</rangeRestriction> </rangeRestriction>

<specifiedValues> <specifiedValues>

<specifiedValuevalue="0"> <specifiedValuevalue="0">

<name>equal</name> <name>equal</name>

<!--等于--> <!--equal to -->

<synopsis>aequalsb.</synopsis> <synopsis>aequalsb.</synopsis>

</specifiedValue> </specifiedValue>

<specifiedValuevalue="1"> <specifiedValuevalue="1">

<name>greater</name> <name>greater</name>

<!--大于--> <!--greater than-->

<synopsis>aisgreaterthanb.</synopsis> <synopsis>ais greater than b.</synopsis>

</specifiedValue> </specifiedValue>

<specifiedValuevalue="2"> <specifiedValuevalue="2">

<name>less</name> <name>less</name>

<!--小于--> <!--less than-->

<synopsis>aislessthanb.</synopsis> <synopsis>aislessthanb.</synopsis>

</specifiedValue> </specifiedValue>

<specifiedValuevalue="3"> <specifiedValuevalue="3">

<name>equalOrGreater</name> <name>equalOrGreater</name>

<!--大于等于--> <!--greater than or equal to-->

<synopsis>aequalsorgreaterthanb.</synopsis> <synopsis>aequalsorggreaterthanb.</synopsis>

</specifiedValue> </specifiedValue>

<specifiedValuevalue="4"> <specifiedValuevalue="4">

<name>equalOrLess</name> <name>equalOrLess</name>

<!--小于等于--> <!--less than or equal to -->

<synopsis>aequalsorlessthanb.</synopsis> <synopsis>aequalsorlessthanb.</synopsis>

</specifiedValue> </specifiedValue>

<specifiedValuevalue="5"> <specifiedValuevalue="5">

<name>notEqual</name> <name>notEqual</name>

<!--不等于--> <!--not equal to -->

<synopsis>aisnotequalwithb.</synopsis> <synopsis>aisnotequalwithb.</synopsis>

</specifiedValue> </specifiedValue>

</specifiedValues> </specifiedValues>

</atomic> </atomic>

</dataTypeDef> </dataTypeDef>

<dataTypeDef> <dataTypeDef>

<name>portType</name> <name>portType</name>

<!--端口动作类型--> <!--Port Action Type-->

<synopsis>Typeoftheportactions.</synopsis> <synopsis>Type of the portactions.</synopsis>

<atomic> <atomic>

<baseType>int32</baseType> <baseType>int32</baseType>

<rangeRestriction> <rangeRestriction>

<allowedRangemin="-1"max="32"/> <allowedRangemin="-1"max="32"/>

</rangeRestriction> </rangeRestriction>

<specialValues> <specialValues>

<specialValuevalue="-1"> <specialValuevalue="-1">

<name>drop</name> <name>drop</name>

<!--丢包--> <!--Packet loss-->

<synopsis>Packetsdropped.</synopsis> <synopsis>Packets dropped.</synopsis>

</specialValue> </specialValue>

<specialValuevalue="0"> <specialValuevalue="0">

<name>redirect</name> <name>redirect</name>

<!--重定向--> <!--Redirection-->

<synopsis>Packetsredirecttocontrollers.</synopsis> <synopsis>Packets redirect to controllers.</synopsis>

</specialValue> </specialValue>

</specialValues> </specialValues>

</atomic> </atomic>

</dataTypeDef> </dataTypeDef>

<dataTypeDef> <dataTypeDef>

<name>schdDisciplineEntryType</name> <name>schdDisciplineEntryType</name>

<!--调度策略条目类型--> <!--Scheduling policy entry type -->

<synopsis>TypeofschedulingdisciplineEntry.</synopsis> <synopsis>TypeofschedulingdisciplineEntry.</synopsis>

<struct> <struct>

<componentcomponentID="1"> <componentcomponentID="1">

<name>schdDisciplineID</name> <name>schdDisciplineID</name>

<!--调度策略种类--> <!--Scheduling strategy type-->

<synopsis>TheschedulingDisciplinecategory.</synopsis> <synopsis>TheschedulingDisciplinecategory.</synopsis>

<typeRef>int32</typeRef> <typeRef>int32</typeRef>

</component> </component>

<componentcomponentID="2"> <componentcomponentID="2">

<name>schdParamValue</name> <name>schdParamValue</name>

<!--参数值--> <!--Parameter value-->

<synopsis>Parametervaluesineachschedulingdiscipline.</synopsis> <synopsis>Parametervalueseachschedulingdiscipline.</synopsis>

<typeRef>schdParamValueType</typeRef> <typeRef>schdParamValueType</typeRef>

</component> </component>

<componentcomponentID="3"> <componentcomponentID="3">

<name>flowWeight</name> <name>flowWeight</name>

<!--调度算法中每个流的权重--> <!--The weight of each flow in the scheduling algorithm-->

<synopsis>Weightofeachflow.</synopsis> <synopsis>Weightofeachflow.</synopsis>

<typeRef>flowWeightType</typeRef> <typeRef>flowWeightType</typeRef>

</component> </component>

</struct> </struct>

</dataTypeDef> </dataTypeDef>

<dataTypeDef> <dataTypeDef>

<name>schdParamValueType</name> <name>schdParamValueType</name>

<!--参数值类型--> <!--Parameter value type-->

<synopsis> <synopsis>

schdParamValue[0]:ThepointerofRoundRobinschedulingdiscipline.<!--循环调度算法的头指针--> schdParamValue[0]:ThepointerofRoundRobinschedulingdiscipline.<!--The head pointer of RoundRobinschedulingdiscipline-->

schdParamValue[1]:TheschedulegaptimeofRoundRobinschedulingdiscipline.<!--循环调度算法的间隔时间--> schdParamValue[1]:TheschedulegaptimeofRoundRobinschedulingdiscipline.<!--The interval time of the round-robin scheduling algorithm-->

</synopsis> </synopsis>

<arraytype="variable-size"> <arraytype="variable-size">

<typeRef>arbitrary</typeRef> <typeRef>arbitrary</typeRef>

</array> </array>

</dataTypeDef> </dataTypeDef>

<dataTypeDef> <dataTypeDef>

<name>flowWeightType</name> <name>flowWeightType</name>

<!--流的权重--> <!--The weight of the flow-->

<synopsis> <synopsis>

flowWeight[1~n]:theweightofflow1toflown,flow1meanstheflowcomesfromport1. flowWeight[1~n]:theweightoffflow1toflown,flow1meanstheflowcomesfromport1.

</synopsis> </synopsis>

<arraytype="variable-size"> <arraytype="variable-size">

<typeRef>float16</typeRef> <typeRef>float16</typeRef>

</array> </array>

</dataTypeDef> </dataTypeDef>

第三步,网络节点向控制器上报该网络节点资源状况,包括有哪些可选的次要功能元素、元数据和调度算法。本实施例中,网络节点S1和S2上报相同的次要功能元素库,即: In the third step, the network node reports the resource status of the network node to the controller, including the optional secondary functional elements, metadata and scheduling algorithm. In this embodiment, network nodes S1 and S2 report the same secondary function element library, namely:

<SFBComponentLib> <SFBComponentLib>

<dataTypeDef> <dataTypeDef>

<name>rateStatsTableType</name> <name>rateStatsTableType</name>

<!--流量统计表类型--> <!--Traffic statistics table type-->

<synopsis> <synopsis>

</synopsis> </synopsis>

<arraytype="variable-size"> <arraytype="variable-size">

<typeRef>rateStatsEntryType</typeRef> <typeRef>rateStatsEntryType</typeRef>

</array> </array>

</dataTypeDef> </dataTypeDef>

<dataTypeDef> <dataTypeDef>

<name>rateStatsEntryType</name> <name>rateStatsEntryType</name>

<!--流量统计条目类型--> <!--Traffic statistics entry type-->

<synopsis> <synopsis>

</synopsis> </synopsis>

<struct> <struct>

<componentcomponentID="1"> <componentcomponentID="1">

<name>metadataID</name> <name>metadataID</name>

<!--元数据值--> <!--Metadata value-->

<synopsis> <synopsis>

</synopsis> </synopsis>

<typeRef>uint32</typeRef> <typeRef>uint32</typeRef>

</component> </component>

<componentcomponentID="2"> <componentcomponentID="2">

<name>comparator</name> <name>comparator</name>

<!--比较器--> <!--Comparator-->

<synopsis> <synopsis>

</synopsis> </synopsis>

<typeRef>comparatorEnum</typeRef> <typeRef>comparatorEnum</typeRef>

</component> </component>

<componentcomponentID="3"> <componentcomponentID="3">

<name>thresholdValue</name> <name>thresholdValue</name>

<!--阈值--> <!--threshold-->

<synopsis> <synopsis>

</synopsis> </synopsis>

<typeRef>arbitrary</typeRef> <typeRef>arbitrary</typeRef>

</component> </component>

<componentcomponentID="4"> <componentcomponentID="4">

<name>rateNum</name> <name>rateNum</name>

<!--速率值--> <!--speed value-->

<synopsis> <synopsis>

</synopsis> </synopsis>

<typeRef>float16</typeRef> <typeRef>float16</typeRef>

</component> </component>

</struct> </struct>

</dataTypeDef> </dataTypeDef>

<dataTypeDef> <dataTypeDef>

<name>queueStatsTableType</name> <name>queueStatsTableType</name>

<!--排队状态表类型--> <!--Queuing status table type-->

<synopsis>Datatypeforqueuestatisticstable.</synopsis> <synopsis>Datatypeforqueuestatisticstable.</synopsis>

<arraytype="variable-size"> <arraytype="variable-size">

<typeRef>queueStatsType</typeRef> <typeRef>queueStatsType</typeRef>

</array> </array>

</dataTypeDef> </dataTypeDef>

<dataTypeDef> <dataTypeDef>

<name>queueStatsType</name> <name>queueStatsType</name>

<!--排队状态类型--> <!--queuing status type-->

<synopsis>DatatypeforentryofqueuestatisticstableinSFB.</synopsis> <synopsis>DatatypeforentryofqueuestatisticstableinSFB.</synopsis>

<struct> <struct>

<componentcomponentID="1"> <componentcomponentID="1">

<name>queueID</name> <name>queueID</name>

<!--队列标识--> <!--Queue ID-->

<synopsis>TheinputqueueID.</synopsis> <synopsis>TheinputqueueID.</synopsis>

<typeRef>uint32</typeRef> <typeRef>uint32</typeRef>

</component> </component>

<componentcomponentID="2"> <componentcomponentID="2">

<name>queueDepthInPackets</name> <name>queueDepthInPackets</name>

<!--队列长度(以数据包计)--> <!--Queue length (in packets)-->

<synopsis>Currentqueuedepthinpackets.</synopsis> <synopsis>Currentqueue depthinpackets.</synopsis>

<typeRef>uint32</typeRef> <typeRef>uint32</typeRef>

</component> </component>

<componentcomponentID="3"> <componentcomponentID="3">

<name>queueDepthInBytes</name> <name>queueDepthInBytes</name>

<!--队列长度(以字节包计)--> <!--Queue length (in byte packets)-->

<synopsis>Currentqueuedepthinbytes.</synopsis> <synopsis>Currentqueue depthinbytes.</synopsis>

<typeRef>uint32</typeRef> <typeRef>uint32</typeRef>

</component> </component>

</struct> </struct>

</dataTypeDef> </dataTypeDef>

<SFBComponentsClassID="1"> <SFBComponentsClassID="1">

<componentaccess="read-only"componentID="4"> <componentaccess="read-only"componentID="4">

<name>rateStats</name> <name>rateStats</name>

<!--速率状态查询--> <!--Rate status query-->

<synopsis>TherateStatscomponent,whichisdefinedtoallowthecontrollertoqueryeveryratestatisticsinthescheduler.</synopsis> <synopsis>TherateStatscomponent, which is defined to allow the controller to query every rate statistics in the scheduler.</synopsis>

<typeRef>rateStatsTableType</typeRef> <typeRef>rateStatsTableType</typeRef>

</component> </component>

<componentaccess="read-only"componentID="5"> <componentaccess="read-only"componentID="5">

<name>rateLimit</name> <name>rateLimit</name>

<!--速率限制--> <!--Rate limit-->

<synopsis>TherateLimitcomponent,whichspecifiesthemaximumrateofeachflowinafixedtime.</synopsis> <synopsis>TherateLimitcomponent, which specifies the maximum rate of each flow in a fixed time.</synopsis>

<typeRef>uint32</typeRef> <typeRef>uint32</typeRef>

</component> </component>

<componentaccess="read-write"componentID="6"> <componentaccess="read-write"componentID="6">

<name>redirection</name> <name>redirection</name>

<!--重定向动作--> <!--Redirect action-->

<synopsis>Theredirectioncomponent,whichcanredirecttheoverloadedflowtootherfreeservers.</synopsis> <synopsis>There redirection component, which can redirect the overloaded flow to other free servers.</synopsis>

<typeRef>uint32</typeRef> <typeRef>uint32</typeRef>

<componentaccess="read-only"componentID="7"> <componentaccess="read-only"componentID="7">

<name>infoStats</name> <name>infoStats</name>

<!--信息统计--> <!--Information Statistics-->

<synopsis>Thestatisticalinformationofthenetwork.</synopsis> <synopsis>The statistical information of the network.</synopsis>

<typeRef>rateStatsTableType</typeRef> <typeRef>rateStatsTableType</typeRef>

</SFBComponents> </SFBComponents>

<SFBComponentsClassID="2"> <SFBComponentsClassID="2">

<componentaccess="read-only"componentID="4"> <componentaccess="read-only"componentID="4">

<name>queueStats</name> <name>queueStats</name>

<!--排队状态--> <!--queuing status-->

<synopsis>ThequeueStatscomponent,whichisdefinedtoallowthecontrollertoqueryeveryqueuestatisticsinthescheduler.</synopsis> <synopsis>The queueStats component, which is defined to allow the controller to query every queue statistics in the scheduler.</synopsis>

<!--排队状态标识每个输入队列的长度,控制器通过查询排队状态来决定使用哪种调度策略--> <!--The queuing status identifies the length of each input queue, and the controller determines which scheduling strategy to use by querying the queuing status-->

<typeRef>queueStatsTableType</typeRef> <typeRef>queueStatsTableType</typeRef>

</component> </component>

<componentaccess="read-write"componentID="5"> <componentaccess="read-write"componentID="5">

<name>queueLenLimit</name> <name>queueLenLimit</name>

<!--队长限制--> <!--Captain limit-->

<synopsis>ThequeueLenLimitcomponent,whichspecifiesmaximumlengthofeachqueue.Thelengthunitisinpackets.</synopsis> <synopsis>ThequeueLenLimitcomponent, which specifies maximumlengthofeachqueue.Thelengthunitisinpackets.</synopsis>

<!--控制器可以根据是否超过队长限制来决定启动调度策略--> <!--The controller can decide to start the scheduling strategy according to whether the captain limit is exceeded-->

<typeRef>uint32</typeRef> <typeRef>uint32</typeRef>

</component> </component>

</SFBComponents> </SFBComponents>

</SFBComponentLib> </SFBComponentLib>

网络节点S1上报元数据: Network node S1 reports metadata:

<metadataLib> <metadataLib>

<componentcomponentID="1"> <componentcomponentID="1">

<name>ingressPort</name> <name>ingressPort</name>

<!--输入端口--> <!--Input port-->

<synopsis>Theinputportofthepackets.</synopsis> <synopsis>The input port of the packets.</synopsis>

</component> </component>

<componentcomponentID="2"> <componentcomponentID="2">

<name>EtherSrcAddress</name> <name>EtherSrcAddress</name>

<!--源以太网地址--> <!--Source Ethernet address-->

<synopsis>TheEthernetsourceaddress.</synopsis> <synopsis>TheEthernetsourceaddress.</synopsis>

</component> </component>

<componentcomponentID="3"> <componentcomponentID="3">

<name>EtherDstAddress</name> <name>EtherDstAddress</name>

<!--目的以太网地址--> <!--Destination Ethernet address-->

<synopsis>TheEthernetdestinationaddress.</synopsis> <synopsis>TheEthernetdestinationaddress.</synopsis>

</component> </component>

<componentcomponentID="4"> <componentcomponentID="4">

<name>EtherType</name> <name>EtherType</name>

<!--以太网包类型--> <!--Ethernet packet type-->

<synopsis>ThetypeofanEthernetpacketheader.</synopsis> <synopsis>ThetypeofanEthernetpacketheader.</synopsis>

</component> </component>

<componentcomponentID="5"> <componentcomponentID="5">

<name>VlanID</name> <name>VlanID</name>

<!--Vlan编号--> <!--Vlan Number-->

<synopsis>TheidentificationofaVlan.</synopsis> <synopsis>The identification of a Vlan.</synopsis>

</component> </component>

<componentcomponentID="6"> <componentcomponentID="6">

<name>VlanPriority</name> <name>VlanPriority</name>

<!--Vlan优先级--> <!--Vlan Priority-->

<synopsis>Thepriorityofavlan.</synopsis> <synopsis>The priority of avlan.</synopsis>

</component> </component>

<componentcomponentID="7"> <componentcomponentID="7">

<name>IPSrcAddress</name> <name>IPSrcAddress</name>

<!--源IP地址--> <!--Source IP address-->

<synopsis>TheIPsourceaddress.</synopsis> <synopsis>TheIPsourceaddress.</synopsis>

</component> </component>

<componentcomponentID="8"> <componentcomponentID="8">

<name>IPDstAddress</name> <name>IPDstAddress</name>

<!--目的IP地址--> <!--Destination IP address-->

<synopsis>TheIPdestinationaddress.</synopsis> <synopsis>The IP destination address.</synopsis>

</component> </component>

<componentcomponentID="9"> <componentcomponentID="9">

<name>IPProto</name> <name>IPProto</name>

<!--IP协议类型--> <!--IP protocol type-->

<synopsis>TheidentificationofanIPprotocol.</synopsis> <synopsis>The identification of an IP protocol.</synopsis>

</component> </component>

<componentcomponentID="10"> <componentcomponentID="10">

<name>IPTos</name> <name>IPTos</name>

<!--IP服务质量类型--> <!--IP QoS type-->

<synopsis>Thetypeofservicebit.</synopsis> <synopsis>The type of service bit.</synopsis>

</component> </component>

<componentcomponentID="11"> <componentcomponentID="11">

<name>TCP/UDPSrcPort</name> <name>TCP/UDPSrcPort</name>

<!--TCP/UDP源端口--> <!--TCP/UDP source port-->

<synopsis>ThesourceportofTCP/UDP.</synopsis> <synopsis>The source port of TCP/UDP.</synopsis>

</component> </component>

<componentcomponentID="12"> <componentcomponentID="12">

<name>TCP/UDPDstPort</name> <name>TCP/UDPDstPort</name>

<!--TCP/UDP目的端口--> <!--TCP/UDP destination port-->

<synopsis>ThedestinationportofTCP/UDP.</synopsis> <synopsis>The destination port of TCP/UDP.</synopsis>

</component> </component>

</metadataLib> </metadataLib>

网络节点S1上报的调度算法: Scheduling algorithm reported by network node S1:

<schdDisciplineLib> <schdDisciplineLib>

<componentcomponentID="1"> <componentcomponentID="1">

<name>FCFS</name> <name>FCFS</name>

<!--先到先服务算法--> <!--First come first serve algorithm-->

<synopsis>FirstComeFirstServedschedulingdiscipline.</synopsis> <synopsis>First Come First Served scheduling discipline.</synopsis>

</component> </component>

<componentcomponentID="2"> <componentcomponentID="2">

<name>RR</name> <name>RR</name>

<!--循环调度算法--> <!--Circular Scheduling Algorithm-->

<synopsis>RoundRobinschedulingdiscipline.</synopsis> <synopsis>Round Robins scheduling discipline.</synopsis>

</component> </component>

<componentcomponentID="3"> <componentcomponentID="3">

<name>WRR</name> <name>WRR</name>

<!--加权循环调度算法--> <!--Weighted round-robin scheduling algorithm-->

<synopsis>WeightedRoundRobinschedulingdiscipline.</synopsis> <synopsis>WeightedRoundRobinschedulingdiscipline.</synopsis>

</component> </component>

<componentcomponentID="4"> <componentcomponentID="4">

<name>SP</name> <name>SP</name>

<!--严格优先级算法--> <!--Strict priority algorithm-->

<synopsis>StrictPriorityschedulingdiscipline.</synopsis> <synopsis>StrictPriorityschedulingdiscipline.</synopsis>

</component> </component>

</schdDisciplineLib> </schdDisciplineLib>

网络节点S2上报元数据: Network node S2 reports metadata:

<metadataLib> <metadataLib>

<componentcomponentID="1"> <componentcomponentID="1">

<name>ingressPort</name> <name>ingressPort</name>

<synopsis>Theinputportofthepackets.</synopsis> <synopsis>The input port of the packets.</synopsis>

</component> </component>

<componentcomponentID="2"> <componentcomponentID="2">

<name>EtherSrcAddress</name> <name>EtherSrcAddress</name>

<synopsis>TheEthernetsourceaddress.</synopsis> <synopsis>TheEthernetsourceaddress.</synopsis>

</component> </component>

<componentcomponentID="3"> <componentcomponentID="3">

<name>EtherDstAddress</name> <name>EtherDstAddress</name>

<synopsis>TheEthernetdestinationaddress.</synopsis> <synopsis>TheEthernetdestinationaddress.</synopsis>

</component> </component>

<componentcomponentID="4"> <componentcomponentID="4">

<name>EtherType</name> <name>EtherType</name>

<synopsis>ThetypeofanEthernetpacketheader.</synopsis> <synopsis>ThetypeofanEthernetpacketheader.</synopsis>

</component> </component>

<componentcomponentID="5"> <componentcomponentID="5">

<name>VlanID</name> <name>VlanID</name>

<synopsis>TheidentificationofaVlan.</synopsis> <synopsis>The identification of a Vlan.</synopsis>

</component> </component>

<componentcomponentID="6"> <componentcomponentID="6">

<name>VlanPriority</name> <name>VlanPriority</name>

<synopsis>Thepriorityofavlan.</synopsis> <synopsis>The priority of avlan.</synopsis>

</component> </component>

<componentcomponentID="7"> <componentcomponentID="7">

<name>IPSrcAddress</name> <name>IPSrcAddress</name>

<synopsis>TheIPsourceaddress.</synopsis> <synopsis>TheIPsourceaddress.</synopsis>

</component> </component>

<componentcomponentID="8"> <componentcomponentID="8">

<name>IPDstAddress</name> <name>IPDstAddress</name>

<synopsis>TheIPdestinationaddress.</synopsis> <synopsis>The IP destination address.</synopsis>

</component> </component>

<componentcomponentID="9"> <componentcomponentID="9">

<name>IPProto</name> <name>IPProto</name>

<synopsis>TheidentificationofanIPprotocol.</synopsis> <synopsis>The identification of an IP protocol.</synopsis>

</component> </component>

<componentcomponentID="10"> <componentcomponentID="10">

<name>IPTos</name> <name>IPTos</name>

<synopsis>Thetypeofservicebit.</synopsis> <synopsis>The type of service bit.</synopsis>

</component> </component>

<componentcomponentID="11"> <componentcomponentID="11">

<name>TCP/UDPSrcPort</name> <name>TCP/UDPSrcPort</name>

<synopsis>ThesourceportofTCP/UDP.</synopsis> <synopsis>The source port of TCP/UDP.</synopsis>

</component> </component>

<componentcomponentID="12"> <componentcomponentID="12">

<name>TCP/UDPDstPort</name> <name>TCP/UDPDstPort</name>

<synopsis>ThedestinationportofTCP/UDP.</synopsis> <synopsis>The destination port of TCP/UDP.</synopsis>

</component> </component>

<componentcomponentID="13"> <componentcomponentID="13">

<name>serverLatency</name> <name>serverLatency</name>

<synopsis>Thelatencyofeachserver.</synopsis> <synopsis>Thelatencyofeachserver.</synopsis>

</component> </component>

</metadataLib> </metadataLib>

第四步,控制器根据网络节点的资源状况和服务功能链信息设计服务功能实例链,服务功能实例链是由服务功能块首位相接组成。如图3所示,本实施例中的服务功能实例链包括网络节点S1上的认证服务功能块、流量管理服务功能块和网络节点S2上的负载均衡服务功能块。 In the fourth step, the controller designs a service function instance chain according to the resource status of the network nodes and the service function chain information, and the service function instance chain is formed by connecting the first bits of the service function blocks. As shown in FIG. 3 , the service function instance chain in this embodiment includes the authentication service function block on the network node S1 , the flow management service function block and the load balancing service function block on the network node S2 .

第五步,对于支持服务功能块的网络节点,控制器将服务功能实例链的描述直接下发到相关的网络节点并要求预留资源,对于支持OpenFlow的网络节点,控制器将服务功能实例链的描述转化为流表再下发。本实施例中,网络节点S1、S2都支持服务功能块,因此服务功能实例链的描述可以直接下发。 Step 5: For network nodes that support service function blocks, the controller sends the description of the service function instance chain directly to the relevant network nodes and requests to reserve resources. For network nodes that support OpenFlow, the controller sends the service function instance chain The description is converted into a flow table and then issued. In this embodiment, both the network nodes S1 and S2 support the service function block, so the description of the service function instance chain can be delivered directly.

网络节点S1上的认证服务功能块的描述如下: The description of the authentication service functional block on the network node S1 is as follows:

<SFBInstanceDefs> <SFBInstanceDefs>

<SFBInstanceDefSFBInstanceID="1"> <SFBInstanceDefSFBInstanceID="1">

<name>Authentication</name> <name>Authentication</name>

<!--认证--> <!--Authentication-->

<synopsis>aSFBtodividetheauthenticatedflowandnon-authenticatedflow.</synopsis> <synopsis>aSFBto divide the authenticated flow and non-authenticated flow.</synopsis>

<version>1.0</version> <version>1.0</version>

<classID>1</classID> <classID>1</classID>

<inputPorts> <inputPorts>

<inputPort> <inputPort>

<name>pktsIn</name> <name>pktsIn</name>

<ID>1</ID> <ID>1</ID>

<synopsis> <synopsis>

Inputportofpackets.EachinputporthasanuniqueID. Inputportofpackets.EachinputporthasanuniqueID.

</synopsis> </synopsis>

<expectation> <expectation>

<frameExpected> <frameExpected>

<ref>IPv4</ref> <ref>IPv4</ref>

</frameExpected> </frameExpected>

<metadataExpected> <metadataExpected>

<ref>PHYPortID</ref> <ref>PHYPortID</ref>

</metadataExpected> </metadataExpected>

</expectation> </expectation>

</inputPort> </inputPort>

</inputPorts> </inputPorts>

<outputPorts> <outputPorts>

<outputPort> <outputPort>

<name>normalPort1</name> <name>normalPort1</name>

<ID>2</ID> <ID>2</ID>

<synopsis> <synopsis>

Thenormalportinwhichtheflowwillbesenttothefollowingnetworkdevices. The normal port in which the flow will be sent to the following network devices.

</synopsis> </synopsis>

<product> <product>

<frameProduced> <frame Produced>

<ref>IPv4</ref> <ref>IPv4</ref>

</frameProduced> </frame Produced>

</product> </product>

<nextInstanceID>2</nextInstanceID> <nextInstanceID>2</nextInstanceID>

<nextPortID>1</nextPortID> <nextPortID>1</nextPortID>

<!--连接到编号为2的服务功能块的1端口--> <!--Connect to port 1 of the service function block numbered 2-->

</outputPort> </outputPort>

<outputPort> <outputPort>

<name>normalPort2</name> <name>normalPort2</name>

<ID>3</ID> <ID>3</ID>

<synopsis> <synopsis>

Thenormalportinwhichtheflowwillbesenttothefollowingnetworkdevices. The normal port in which the flow will be sent to the following network devices.

</synopsis> </synopsis>

<product> <product>

<frameProduced> <frame Produced>

<ref>IPv4</ref> <ref>IPv4</ref>

</frameProduced> </frame Produced>

</product> </product>

<nextInstanceID>2</nextInstanceID> <nextInstanceID>2</nextInstanceID>

<nextPortID>2</nextPortID> <nextPortID>2</nextPortID>

<!--表示连接到编号为2的服务功能块的2端口--> <!--Indicates that it is connected to the 2 port of the service function block numbered 2-->

</outputPort> </outputPort>

<outputPort> <outputPort>

<name>auditPort</name> <name>auditPort</name>

<ID>4</ID> <ID>4</ID>

<synopsis>Anauditportinwhichtheflowwillbesentforauditing.</synopsis> <synopsis>An audit port in which the flow will be sent for auditing.</synopsis>

<product> <product>

<frameProduced> <frame Produced>

<ref>IPv4</ref> <ref>IPv4</ref>

</frameProduced> </frame Produced>

</product> </product>

<nextInstanceID>-1</nextInstanceID> <nextInstanceID>-1</nextInstanceID>

<nextPortID>5</nextPortID> <nextPortID>5</nextPortID>

<!--5表示连接到编号为5的物理端口,-1表示不连接到服务功能块--> <!--5 indicates that it is connected to the physical port numbered 5, and -1 indicates that it is not connected to the service function block -->

</outputPort> </outputPort>

</outputPorts> </outputPorts>

<componentValues> <componentValues>

<componentValuecomponentID="1"> <componentValuecomponentID="1">

<value>1</value> <value>1</value>

<!--表示本服务功能块已经被控制器设置成工作状态--> <!--Indicates that this service function block has been set to work by the controller-->

</componentValue> </componentValue>

<componentValuecomponentID="2"> <componentValuecomponentID="2">

<value>1</value> <value>1</value>

<!--表示本服务功能块处于正常工作状态--> <!--Indicates that the service function block is in normal working state-->

</componentValue> </componentValue>

<componentValuecomponentID="3"> <componentValuecomponentID="3">

<metadataDispatchEntryType> <metadataDispatchEntryType>

<!--该表项表示源IP地址为10.20.4.0/24网段,目标地址不是10.20.4.0/24网段,目标IP地址为10.20.9.1和输入端口为4的数据包发往该服务功能块的normalPort和auditPort--> <!--This entry indicates that the source IP address is 10.20.4.0/24 network segment, the destination address is not 10.20.4.0/24 network segment, and the data packet with the destination IP address 10.20.9.1 and input port 4 is sent to this service normalPort and auditPort of the function block -->

<condition> <condition>

<metadataEntryType> <metadataEntryType>

<metadataID>7</metadataID> <metadataID>7</metadataID>

<!--表示使用IP源地址作为元数据--> <!--Indicates that the IP source address is used as metadata -->

<comparator>0</comparator> <comparator>0</comparator>

<!--表示比较器为等于--> <!--Indicates that the comparator is equal to -->

<thresholdValue>10.20.4.0/24</thresholdValue> <thresholdValue>10.20.4.0/24</thresholdValue>

<!--比较阈值为10.20.4.0/24--> <!--The comparison threshold is 10.20.4.0/24-->

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>8</metadataID> <metadataID>8</metadataID>

<!--表示使用IP目的地址作为元数据--> <!--Indicates that the IP destination address is used as metadata -->

<comparator>5</comparator> <comparator>5</comparator>

<!--表示比较器为不等于--> <!--Indicates that the comparator is not equal to -->

<thresholdValue>10.20.4.0/24</thresholdValue> <thresholdValue>10.20.4.0/24</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>1</metadataID> <metadataID>1</metadataID>

<!--表示使用输入端口作为元数据--> <!--Indicates that the input port is used as metadata -->

<comparator>0</comparator> <comparator>0</comparator>

<!--表示比较器为等于--> <!--Indicates that the comparator is equal to -->

<thresholdValue>4</thresholdValue> <thresholdValue>4</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>7</metadataID> <metadataID>7</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>10.20.9.1</thresholdValue> <thresholdValue>10.20.9.1</thresholdValue>

</metadataEntryType> </metadataEntryType>

</condition> </condition>

<action> <action>

<portType>2</portType> <portType>2</portType>

<portType>3</portType> <portType>3</portType>

<!--表示动作分别是转发到本服务功能块中编号为2和3的端口--> <!--Indicates that the action is forwarded to ports numbered 2 and 3 in this service function block-->

</action> </action>

</metadataDispatchEntryType> </metadataDispatchEntryType>

<metadataDispatchEntryType> <metadataDispatchEntryType>

<!--该表项表示源IP地址为10.20.4.0/24网段,目标地址不是10.20.4.0/24网段以及输入端口为4的数据包发往该服务功能块的normalPort--> <!--This entry indicates that the source IP address is 10.20.4.0/24 network segment, the destination address is not 10.20.4.0/24 network segment and the data packet with input port 4 is sent to the normalPort of the service function block-->

<condition> <condition>

<metadataEntryType> <metadataEntryType>

<metadataID>7</metadataID> <metadataID>7</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>10.20.4.0/24</thresholdValue> <thresholdValue>10.20.4.0/24</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>8</metadataID> <metadataID>8</metadataID>

<comparator>5</comparator> <comparator>5</comparator>

<thresholdValue>10.20.4.0/24</thresholdValue> <thresholdValue>10.20.4.0/24</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>1</metadataID> <metadataID>1</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>4</thresholdValue> <thresholdValue>4</thresholdValue>

</metadataEntryType> </metadataEntryType>

</condition> </condition>

<action> <action>

<portType>2</portType> <portType>2</portType>

</action> </action>

</metadataDispatchEntryType> </metadataDispatchEntryType>

<metadataDispatchEntryType> <metadataDispatchEntryType>

<!--该表项表示源IP地址为10.20.5.0/24网段,目标地址不是10.20.5.0/24网段,目标IP地址为10.20.9.1和输入端口为3的数据包发往该服务功能块的normalPort和auditPort--> <!--This entry indicates that the source IP address is 10.20.5.0/24 network segment, the destination address is not 10.20.5.0/24 network segment, and the data packet with the destination IP address 10.20.9.1 and input port 3 is sent to this service normalPort and auditPort of the function block -->

<condition> <condition>

<metadataEntryType> <metadataEntryType>

<metadataID>7</metadataID> <metadataID>7</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>10.20.5.0/24</thresholdValue> <thresholdValue>10.20.5.0/24</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>8</metadataID> <metadataID>8</metadataID>

<comparator>5</comparator> <comparator>5</comparator>

<thresholdValue>10.20.5.0/24</thresholdValue> <thresholdValue>10.20.5.0/24</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>1</metadataID> <metadataID>1</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>3</thresholdValue> <thresholdValue>3</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>7</metadataID> <metadataID>7</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>10.20.9.1</thresholdValue> <thresholdValue>10.20.9.1</thresholdValue>

</metadataEntryType> </metadataEntryType>

</condition> </condition>

<action> <action>

<portType>2</portType> <portType>2</portType>

<portType>3</portType> <portType>3</portType>

</action> </action>

</metadataDispatchEntryType> </metadataDispatchEntryType>

<metadataDispatchEntryType> <metadataDispatchEntryType>

<!--该表项表示源IP地址为10.20.5.0/24网段,目标地址不是10.20.5.0/24网段和输入端口为3的数据包发往该服务功能块的normalPort--> <!--This entry indicates that the source IP address is 10.20.5.0/24 network segment, the destination address is not 10.20.5.0/24 network segment and the data packet with input port 3 is sent to the normalPort of the service function block-->

<condition> <condition>

<metadataEntryType> <metadataEntryType>

<metadataID>7</metadataID> <metadataID>7</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>10.20.5.0/24</thresholdValue> <thresholdValue>10.20.5.0/24</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>8</metadataID> <metadataID>8</metadataID>

<comparator>5</comparator> <comparator>5</comparator>

<thresholdValue>10.20.5.0/24</thresholdValue> <thresholdValue>10.20.5.0/24</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>1</metadataID> <metadataID>1</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>3</thresholdValue> <thresholdValue>3</thresholdValue>

</metadataEntryType> </metadataEntryType>

</condition> </condition>

<action> <action>

<portType>2</portType> <portType>2</portType>

</action> </action>

</metadataDispatchEntryType> </metadataDispatchEntryType>

<metadataDispatchEntryType> <metadataDispatchEntryType>

<!--该表项表示源IP地址为10.20.6.0/24网段,目标地址不是10.20.6.0/24网段,目标IP地址为10.20.9.1和输入端口为2的数据包发往该服务功能块的normalPort和auditPort--> <!--This entry indicates that the source IP address is 10.20.6.0/24 network segment, the destination address is not 10.20.6.0/24 network segment, and the data packet with the destination IP address 10.20.9.1 and input port 2 is sent to this service normalPort and auditPort of the function block -->

<condition> <condition>

<metadataEntryType> <metadataEntryType>

<metadataID>7</metadataID> <metadataID>7</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>10.20.6.0/24</thresholdValue> <thresholdValue>10.20.6.0/24</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>8</metadataID> <metadataID>8</metadataID>

<comparator>5</comparator> <comparator>5</comparator>

<thresholdValue>10.20.6.0/24</thresholdValue> <thresholdValue>10.20.6.0/24</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>1</metadataID> <metadataID>1</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>2</thresholdValue> <thresholdValue>2</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>7</metadataID> <metadataID>7</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>10.20.9.1</thresholdValue> <thresholdValue>10.20.9.1</thresholdValue>

</metadataEntryType> </metadataEntryType>

</condition> </condition>

<action> <action>

<portType>2</portType> <portType>2</portType>

<portType>3</portType> <portType>3</portType>

</action> </action>

</metadataDispatchEntryType> </metadataDispatchEntryType>

<metadataDispatchEntryType> <metadataDispatchEntryType>

<!--该表项表示源IP地址为10.20.6.0/24网段,目标地址不是10.20.6.0/24网段和输入端口为2的数据包发往该服务功能块的normalPort--> <!--This entry indicates that the source IP address is 10.20.6.0/24 network segment, the destination address is not 10.20.6.0/24 network segment and the data packet with input port 2 is sent to the normalPort of the service function block-->

<condition> <condition>

<metadataEntryType> <metadataEntryType>

<metadataID>7</metadataID> <metadataID>7</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>10.20.6.0/24</thresholdValue> <thresholdValue>10.20.6.0/24</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>8</metadataID> <metadataID>8</metadataID>

<comparator>5</comparator> <comparator>5</comparator>

<thresholdValue>10.20.6.0/24</thresholdValue> <thresholdValue>10.20.6.0/24</thresholdValue>

</metadataEntryType> </metadataEntryType>

<metadataEntryType> <metadataEntryType>

<metadataID>1</metadataID> <metadataID>1</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>2</thresholdValue> <thresholdValue>2</thresholdValue>

</metadataEntryType> </metadataEntryType>

</condition> </condition>

<action> <action>

<portType>2</portType> <portType>2</portType>

</action> </action>

</metadataDispatchEntryType> </metadataDispatchEntryType>

<metadataDispatchEntryType> <metadataDispatchEntryType>

<!--该表项表示目标地址为10.20.7.0/24的数据包发往该服务功能块的2号端口--> <!--This entry indicates that the data packet with the destination address 10.20.7.0/24 is sent to port 2 of the service function block-->

<condition> <condition>

<metadataEntryType> <metadataEntryType>

<metadataID>8</metadataID> <metadataID>8</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>10.20.7.0/24</thresholdValue> <thresholdValue>10.20.7.0/24</thresholdValue>

</metadataEntryType> </metadataEntryType>

</condition> </condition>

<action> <action>

<portType>2</portType> <portType>2</portType>

</action> </action>

</metadataDispatchEntryType> </metadataDispatchEntryType>

<metadataDispatchEntryType> <metadataDispatchEntryType>

<!--该表项表示目标地址为10.20.7.0/24的数据包发往该服务功能块的3号端口--> <!--This entry indicates that the data packet with the destination address 10.20.7.0/24 is sent to port 3 of the service function block-->

<condition> <condition>

<metadataEntryType> <metadataEntryType>

<metadataID>8</metadataID> <metadataID>8</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>10.20.9.1</thresholdValue> <thresholdValue>10.20.9.1</thresholdValue>

</metadataEntryType> </metadataEntryType>

</condition> </condition>

<action> <action>

<portType>3</portType> <portType>3</portType>

</action> </action>

</metadataDispatchEntryType> </metadataDispatchEntryType>

</componentValue> </componentValue>

</componentValues> </componentValues>

</SFBInstanceDef> </SFBInstanceDef>

网络节点S1上的流量管理服务功能块描述如下: The flow management service functional block on the network node S1 is described as follows:

<SFBInstanceDefSFBInstanceID="2"> <SFBInstanceDefSFBInstanceID="2">

<name>TrafficManagement</name> <name>Traffic Management</name>

<!--流量管理--> <!--Traffic management-->

<synopsis>ASFBtomanagethetraffic.</synopsis> <synopsis>ASFBto manage the traffic.</synopsis>

<version>1.0</version> <version>1.0</version>

<ClassID>2</ClassID> <ClassID>2</ClassID>

<inputPorts> <inputPorts>

<inputPort> <inputPort>

<name>pktsIn1</name> <name>pktsIn1</name>

<ID>1</ID> <ID>1</ID>

<synopsis> <synopsis>

ThegroupinputportoftheSFB.EachinputporthasanuniqueID. ThegroupinputportoftheSFB.EachinputporthasanuniqueID.

</synopsis> </synopsis>

<expectation> <expectation>

<frameExpected> <frameExpected>

<ref>IPv4</ref> <ref>IPv4</ref>

</frameExpected> </frameExpected>

</expectation> </expectation>

</inputPort> </inputPort>

<inputPort> <inputPort>

<name>pktsIn2</name> <name>pktsIn2</name>

<ID>2</ID> <ID>2</ID>

<synopsis> <synopsis>

ThegroupinputportoftheSFB.EachinputporthasanuniqueID. ThegroupinputportoftheSFB.EachinputporthasanuniqueID.

</synopsis> </synopsis>

<expectation> <expectation>

<frameExpected> <frameExpected>

<ref>IPv4</ref> <ref>IPv4</ref>

</frameExpected> </frameExpected>

</expectation> </expectation>

</inputPort> </inputPort>

</inputPorts> </inputPorts>

<outputPorts> <outputPorts>

<outputPort> <outputPort>

<name>pksOut</name> <name>pksOut</name>

<ID>3</ID> <ID>3</ID>

<!--该端口的编号为2--> <!--The port number is 2-->

<synopsis> <synopsis>

TheoutputportoftheSFB.Scheduledpacketsareoutputfromtheport. The output port of the SFB. Scheduled packets are output from the port.

</synopsis> </synopsis>

<product> <product>

<frameProduced> <frame Produced>

<ref>IPv4</ref> <ref>IPv4</ref>

</frameProduced> </frame Produced>

</product> </product>

<nextInstanceID>-1</nextInstanceID> <nextInstanceID>-1</nextInstanceID>

<nextPortID>1</nextPortID> <nextPortID>1</nextPortID>

</outputPort> </outputPort>

</outputPorts> </outputPorts>

<componentValues> <componentValues>

<componentValuecomponentID="1">1</componentValue> <componentValuecomponentID="1">1</componentValue>

<componentValuecomponentID="2">1</componentValue> <componentValuecomponentID="2">1</componentValue>

<componentValuecomponentID="3"> <componentValuecomponentID="3">

<!--该表项表示使用严格优先级策略,在该服务功能块的pksOut端口根据流的权重来按先后顺序进行发送,不需要参数--> <!--This entry indicates that the strict priority policy is used, and the pksOut port of the service function block is sent in order according to the weight of the flow, no parameters are required -->

<schdDisciplineEntryType> <schdDisciplineEntryType>

<schdDisciplineID>4</schdDisciplineID> <schdDisciplineID>4</schdDisciplineID>

<!--4表示使用严格优先级策略--> <!--4 indicates the use of strict priority strategy -->

<schdParamValue> <schdParamValue>

<schdParamValueType>null</schdParamValueType> <schdParamValueType>null</schdParamValueType>

<schdParamValueType>null</schdParamValueType> <schdParamValueType>null</schdParamValueType>

<!--null表示该策略不需要参数--> <!--null means that the strategy does not require parameters -->

</schdParamValue> </schdParamValue>

<flowWeight> <flowWeight>

<flowWeightType>5</flowWeightType> <flowWeightType>5</flowWeightType>

<flowWeightType>2</flowWeightType> <flowWeightType>2</flowWeightType>

</flowWeight> </flowWeight>

</schdDisciplineEntryType> </schdDisciplineEntryType>

</componentValue> </componentValue>

<componentValuecomponentID="5">50</componentValue> <componentValuecomponentID="5">50</componentValue>

<!--该表项表示在队列长度超过50个数据包时启动调度算法--> <!--This entry indicates that the scheduling algorithm is started when the queue length exceeds 50 packets-->

</componentValues> </componentValues>

</SFBInstanceDef> </SFBInstanceDef>

网络节点S2上的负载均衡服务功能块描述如下: The load balancing service function block on the network node S2 is described as follows:

<SFBInstanceDefSFBInstanceID="3"> <SFBInstanceDefSFBInstanceID="3">

<name>Server_LB</name> <name>Server_LB</name>

<!--负载均衡--> <!--Load Balancing-->

<synopsis>ASFBforbalancingtheloadofeachserver.</synopsis> <synopsis>ASFB for balancing the load of each server.</synopsis>

<version>1.0</version> <version>1.0</version>

<classID>1</classID> <classID>1</classID>

<inputPorts> <inputPorts>

<inputPort> <inputPort>

<name>pktsIn</name> <name>pktsIn</name>

<ID>1</ID> <ID>1</ID>

<synopsis> <synopsis>

ThegroupinputportoftheSFB.EachinputporthasanuniqueID. ThegroupinputportoftheSFB.EachinputporthasanuniqueID.

</synopsis> </synopsis>

<expectation> <expectation>

<frameExpected> <frameExpected>

<ref>arbitrary</ref> <ref>arbitrary</ref>

</frameExpected> </frameExpected>

</expectation> </expectation>

</inputPort> </inputPort>

</inputPorts> </inputPorts>

<outputPorts> <outputPorts>

<outputPort> <outputPort>

<name>pktsOut1</name> <name>pktsOut1</name>

<ID>2</ID> <ID>2</ID>

<synopsis>Theoutputport1oftheSFB.Scheduledpacketsareoutputfromthephysicalport1.</synopsis> <synopsis>The output port 1 of the SFB. Scheduled packets are output from the physical port 1.</synopsis>

<product> <product>

<nextInstanceID>-1</nextInstanceID> <nextInstanceID>-1</nextInstanceID>

<nextPortID>1</nextPortID> <nextPortID>1</nextPortID>

<frameProduced> <frame Produced>

<ref>arbitrary</ref> <ref>arbitrary</ref>

</frameProduced> </frame Produced>

</product> </product>

</outputPort> </outputPort>

<outputPort> <outputPort>

<name>pktsOut2</name> <name>pktsOut2</name>

<ID>3</ID> <ID>3</ID>

<synopsis>Theoutputport2oftheSFB.Scheduledpacketsareoutputfromthephysicalport2.</synopsis> <synopsis>The output port 2 of the SFB. Scheduled packets are output from the physical port 2.</synopsis>

<product> <product>

<nextInstanceID>-1</nextInstanceID> <nextInstanceID>-1</nextInstanceID>

<nextPortID>2</nextPortID> <nextPortID>2</nextPortID>

<frameProduced> <frame Produced>

<ref>arbitrary</ref> <ref>arbitrary</ref>

</frameProduced> </frame Produced>

</product> </product>

</outputPort> </outputPort>

<outputPort> <outputPort>

<name>pktsOut3</name> <name>pktsOut3</name>

<ID>4</ID> <ID>4</ID>

<synopsis>Theoutputport3oftheSFB.Scheduledpacketsareoutputfromthephysicalport3.</synopsis> <synopsis>The output port 3 of the SFB. Scheduled packets are output from the physical port 3.</synopsis>

<product> <product>

<nextInstanceID>-1</nextInstanceID> <nextInstanceID>-1</nextInstanceID>

<nextPortID>3</nextPortID> <nextPortID>3</nextPortID>

<frameProduced> <frame Produced>

<ref>arbitrary</ref> <ref>arbitrary</ref>

</frameProduced> </frame Produced>

</product> </product>

</outputPort> </outputPort>

<outputPort> <outputPort>

<name>pktsOut4</name> <name>pktsOut4</name>

<ID>5</ID> <ID>5</ID>

<synopsis>Theoutputport4oftheSFB.Scheduledpacketsareoutputfromthephysicalport4.</synopsis> <synopsis>The output port 4 of the SFB. Scheduled packets are output from the physical port 4.</synopsis>

<product> <product>

<nextInstanceID>-1</nextInstanceID> <nextInstanceID>-1</nextInstanceID>

<nextPortID>4</nextPortID> <nextPortID>4</nextPortID>

<frameProduced> <frame Produced>

<ref>arbitrary</ref> <ref>arbitrary</ref>

</frameProduced> </frame Produced>

</product> </product>

</outputPort> </outputPort>

<outputPort> <outputPort>

<name>pktsOut5</name> <name>pktsOut5</name>

<ID>6</ID> <ID>6</ID>

<synopsis>Theoutputport5oftheSFB.Scheduledpacketsareoutputfromthephysicalport5.</synopsis> <synopsis>The output port 5 of the SFB. Scheduled packets are output from the physical port 5.</synopsis>

<product> <product>

<nextInstanceID>-1</nextInstanceID> <nextInstanceID>-1</nextInstanceID>

<nextPortID>5</nextPortID> <nextPortID>5</nextPortID>

<frameProduced> <frame Produced>

<ref>arbitrary</ref> <ref>arbitrary</ref>

</frameProduced> </frame Produced>

</product> </product>

</outputPort> </outputPort>

</outputPorts> </outputPorts>

<componentValues> <componentValues>

<componentValuecomponentID="1"> <componentValuecomponentID="1">

<value>1</value> <value>1</value>

</componentValue> </componentValue>

<componentValuecomponentID="2"> <componentValuecomponentID="2">

<value>1</value> <value>1</value>

</componentValue> </componentValue>

<componentValuecomponentID="3"> <componentValuecomponentID="3">

<metadataDispatchEntryType> <metadataDispatchEntryType>

<!--该表项表示根据当前策略,访问云服务器的流量应当走前时延最小的pksOut1--> <!--This entry indicates that according to the current policy, the traffic to access the cloud server should go to pksOut1 with the smallest delay-->

<condition> <condition>

<metadataEntryType> <metadataEntryType>

<metadataID>8</metadataID> <metadataID>8</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>10.20.7.0/24</thresholdValue> <thresholdValue>10.20.7.0/24</thresholdValue>

</metadataEntryType> </metadataEntryType>

</condition> </condition>

<action> <action>

<portType>2</portType> <portType>2</portType>

</action> </action>

</metadataDispatchEntryType> </metadataDispatchEntryType>

<metadataDispatchEntryType> <metadataDispatchEntryType>

<!--该表项表示目标地址为10.20.9.1的流量发往pksOut5--> <!--This entry indicates that the traffic with the destination address 10.20.9.1 is sent to pksOut5-->

<condition> <condition>

<metadataEntryType> <metadataEntryType>

<metadataID>8</metadataID> <metadataID>8</metadataID>

<comparator>0</comparator> <comparator>0</comparator>

<thresholdValue>10.20.9.1</thresholdValue> <thresholdValue>10.20.9.1</thresholdValue>

</metadataEntryType> </metadataEntryType>

</condition> </condition>

<action> <action>

<portType>6</portType> <portType>6</portType>

</action> </action>

</metadataDispatchEntryType> </metadataDispatchEntryType>

</componentValue> </componentValue>

</componentValues> </componentValues>

</SFBInstanceDef> </SFBInstanceDef>

</SFBInstanceDefs> </SFBInstanceDefs>

最后,网络节点部署网络服务功能实例链。 Finally, network nodes deploy network service function instance chains.

Claims (2)

1. towards a service function chain building method of SDN, it is characterized in that, in SDN structure, realize at network node on-premise network service function block example for network service request, comprise the following steps:
The Network demand that 1-1) controller proposes according to user creates service function chain, and service function chain forms by several service functions are end to end;
1-2) service function is supported by service function block and realizes, and service function block is divided into two large classes, is respectively classified service functional block class and dispatch service functional block class;
1-3) network node is to this network node resource situation of controller report, includes optional secondary function element, metadata and dispatching algorithm;
1-4) controller is according to the resource situation of network node and service functional chain information design service function example chain, and service function example chain forms by service function block is end to end;
1-5) for the network node of Service supportive functional block, the description of service function example chain is directly issued to relevant network node and requires reserved resource by controller, for the network node supporting OpenFlow, the description of service function example chain is converted into stream table and issues by controller;
1-6) network node deployment services function example chain.
2. a kind of service function chain building method towards SDN according to claim 1, it is characterized in that, described step 1-2) service function by service function block support realize, service function block is divided into two large classes, be respectively classified service functional block class and dispatch service functional block class, concrete grammar is:
2-1) contain the function of tonic chord element that the service function block in such is owned together in service function block class;
2-2) in service function block except function of tonic chord element value, also have input/output port, inputoutput data bag, input and output metadata, subfunction element value etc.;
2-3) main task of classified service functional block class is classified according to metadata to packet;
2-4) main task of dispatch service functional block class carries out dispatch deal to packet, if when having multiple data flow all to need to go out from same port, so with regard to sending order and the rhythm of these streams of layout.
CN201510720038.0A 2015-10-30 2015-10-30 An SDN-oriented service function chain construction method Pending CN105430051A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510720038.0A CN105430051A (en) 2015-10-30 2015-10-30 An SDN-oriented service function chain construction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510720038.0A CN105430051A (en) 2015-10-30 2015-10-30 An SDN-oriented service function chain construction method

Publications (1)

Publication Number Publication Date
CN105430051A true CN105430051A (en) 2016-03-23

Family

ID=55507988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510720038.0A Pending CN105430051A (en) 2015-10-30 2015-10-30 An SDN-oriented service function chain construction method

Country Status (1)

Country Link
CN (1) CN105430051A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789241A (en) * 2016-12-20 2017-05-31 浙江工商大学 A kind of LFB automatic combination methods based on body
CN107196807A (en) * 2017-06-20 2017-09-22 清华大学深圳研究生院 Network intermediary device and its dispositions method
CN107332913A (en) * 2017-07-04 2017-11-07 电子科技大学 A kind of Optimization deployment method of service function chain in 5G mobile networks
CN107819662A (en) * 2017-11-23 2018-03-20 电子科技大学 A kind of service function chain real-time migration method applied to cloud and mist calculating network
CN110309877A (en) * 2019-06-28 2019-10-08 北京百度网讯科技有限公司 A kind of quantization method, device, electronic equipment and the storage medium of feature diagram data
CN111224872A (en) * 2018-11-24 2020-06-02 南宁富桂精密工业有限公司 Packet forwarding method and apparatus
CN111654541A (en) * 2020-06-02 2020-09-11 中国联合网络通信集团有限公司 Service function chain orchestration method, system and orchestrator for edge computing business
CN111756632A (en) * 2020-06-22 2020-10-09 中国电子科技集团公司第五十四研究所 Security service chain dynamic arranging method based on MPLS encapsulation
CN112887134A (en) * 2021-01-21 2021-06-01 中山大学 Network service grid arranging method, device, equipment and medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301212A (en) * 2014-09-26 2015-01-21 浙江工商大学 A Combination Method of Function Chain

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301212A (en) * 2014-09-26 2015-01-21 浙江工商大学 A Combination Method of Function Chain

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
J.HALPERN ET AL: "Service Function Chaining (SFC) Architecture draft-ietf-sfc- architecture-10", 《NETWORK WORKING GROUP INTERNET-DRAFT》 *
段通等: "基于元能力的SDN功能组合机制", 《通信学报》 *
盛权: "基于性能模型的服务链构建方法及自动化研究", 《中国优秀硕士学位论文全文数据库》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789241B (en) * 2016-12-20 2019-10-29 浙江工商大学 A kind of LFB automatic combination method based on ontology
CN106789241A (en) * 2016-12-20 2017-05-31 浙江工商大学 A kind of LFB automatic combination methods based on body
CN107196807A (en) * 2017-06-20 2017-09-22 清华大学深圳研究生院 Network intermediary device and its dispositions method
CN107332913A (en) * 2017-07-04 2017-11-07 电子科技大学 A kind of Optimization deployment method of service function chain in 5G mobile networks
CN107332913B (en) * 2017-07-04 2020-03-27 电子科技大学 Optimized deployment method of service function chain in 5G mobile network
CN107819662A (en) * 2017-11-23 2018-03-20 电子科技大学 A kind of service function chain real-time migration method applied to cloud and mist calculating network
CN107819662B (en) * 2017-11-23 2019-10-18 电子科技大学 A real-time migration method of service function chain applied to cloud computing network
CN111224872A (en) * 2018-11-24 2020-06-02 南宁富桂精密工业有限公司 Packet forwarding method and apparatus
CN110309877A (en) * 2019-06-28 2019-10-08 北京百度网讯科技有限公司 A kind of quantization method, device, electronic equipment and the storage medium of feature diagram data
CN111654541A (en) * 2020-06-02 2020-09-11 中国联合网络通信集团有限公司 Service function chain orchestration method, system and orchestrator for edge computing business
CN111654541B (en) * 2020-06-02 2021-12-07 中国联合网络通信集团有限公司 Service function chain arrangement method, system and orchestrator for edge computing service
CN111756632A (en) * 2020-06-22 2020-10-09 中国电子科技集团公司第五十四研究所 Security service chain dynamic arranging method based on MPLS encapsulation
CN112887134A (en) * 2021-01-21 2021-06-01 中山大学 Network service grid arranging method, device, equipment and medium
CN112887134B (en) * 2021-01-21 2022-03-15 中山大学 Network service grid arranging method, device, equipment and medium

Similar Documents

Publication Publication Date Title
CN114073052B (en) Systems, methods, and computer readable media for slice-based routing
CN105430051A (en) An SDN-oriented service function chain construction method
Wang et al. A survey on data center networking for cloud computing
EP3029896B1 (en) Qos implementation method, apparatus and system in openflow network
EP2695334B1 (en) Packet scheduling method and apparatus
CN103765839B (en) Variable-based forwarding path construction for packet processing within a network device
CN109362085B (en) Implementing EPC in cloud computer through OPENFLOW data plane
JP5497244B2 (en) Method, master switch, switching network, program, apparatus, and system for implementing flow control in a switching network
JP7288980B2 (en) Quality of Service in Virtual Service Networks
US8284791B2 (en) Systems and methods for load balancing of management traffic over a link aggregation group
Wang et al. Implementation of multipath network virtualization with SDN and NFV
Kundel et al. OpenBNG: Central office network functions on programmable data plane hardware
Eissa et al. Software defined networking
Davoli et al. Implementation of service function chaining control plane through OpenFlow
CN108540559A (en) A kind of SDN controllers for supporting IPSec VPN load balancing
Kundel et al. P4-BNG: Central office network functions on programmable packet pipelines
Jia et al. A low overhead flow-holding algorithm in software-defined networks
US9258254B2 (en) Virtual router and switch
Kurniawan et al. Network slicing on SDN using FlowVisor and POX controller to traffic isolation enforcement
Jeuk et al. Tenant-id: Tagging tenant assets in cloud environments
Cai et al. Survey on converged data center networks with DCB and FCoE: standards and protocols
US8953449B2 (en) Virtual subport data traffic management
CN105743999A (en) Distributed link access bandwidth control system
Kozicki et al. Software-defined networks and network functions virtualization in wireline access networks
Tripathi et al. Crossbow Virtual Wire: Network in a Box.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160323

RJ01 Rejection of invention patent application after publication