CN107947965B - Service chain compiler - Google Patents

Service chain compiler Download PDF

Info

Publication number
CN107947965B
CN107947965B CN201711081977.0A CN201711081977A CN107947965B CN 107947965 B CN107947965 B CN 107947965B CN 201711081977 A CN201711081977 A CN 201711081977A CN 107947965 B CN107947965 B CN 107947965B
Authority
CN
China
Prior art keywords
chain
sub
service
service chain
network function
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.)
Active
Application number
CN201711081977.0A
Other languages
Chinese (zh)
Other versions
CN107947965A (en
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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN201711081977.0A priority Critical patent/CN107947965B/en
Publication of CN107947965A publication Critical patent/CN107947965A/en
Application granted granted Critical
Publication of CN107947965B publication Critical patent/CN107947965B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/083Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Landscapes

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

Abstract

The invention discloses a service chain compiler, which comprises a service chain disassembling module, a network function analyzing module and a service relation constructing module which are sequentially connected. The service chain disassembling module is used for disassembling the serial service chain; the network function analysis module is used for analyzing the two network functions corresponding to each strategy description unit so as to judge whether the two corresponding network functions meet the consistency principle when processing the message in parallel; and the service relation construction module is used for grouping the network functions according to the analysis result of the network function analysis module to form a parallel service chain, the parallel service chain comprises all the network functions in the serial service chain, and the parallel service chain at least comprises a group of parallel sub-chains formed by parallel connection of the network functions. The method and the device increase the flexibility of connection between the network functions, so that the application range of network function virtualization is wider, the length of a service chain is shortened, and the processing time delay of the service chain for processing the data message is reduced.

Description

Service chain compiler
Technical Field
The invention relates to the technical field of internet information, in particular to a service chain compiler applied to network function virtualization.
Background
In conventional networks, network functions are carried by proprietary hardware, and these network functions are referred to as middleware. However, the demand for network function features is increasing, and the development of network functions is also faster and faster. However, the development of the middleware aiming at the new network function is not easy, and the research of the professor Nick Mckeon of Stanford university finds that four years of time is needed for adding a new characteristic to the proprietary hardware. Therefore, the problems of long development period, short practical service life, high investment cost and operation cost and the like exist in the development of special hardware. In order to solve the problems of the middleware, the European telecommunication standard association provides network function virtualization, and the middleware carried by the proprietary hardware is converted into a network function realized based on software, so that the development difficulty and the research and development cost are reduced, and the research and development period is shortened.
In the existing network function virtualization environment, an administrator generally forms a series of network function serial groups into a serial service chain according to a designated sequence, and then a network base layer enables traffic to sequentially pass through each network function according to the serial service chain. However, the serial service group chaining method has the following disadvantages:
1. the group link between the network functions only in the form of a serial service link has certain limitation, and the flexibility of connection between the network functions is limited, so that the function and the application range of network function virtualization are limited.
2. With the increase of the length of the serial service chain, the processing delay is also increased linearly, so that the application that a processing result needs to be obtained in real time cannot be met, that is, the processing delay of the data message through the whole service chain is too large.
Therefore, a device that can shorten the serial service chain, reduce the processing delay, and increase the flexibility of the network function connection is needed.
Disclosure of Invention
The invention aims to solve the technical problems that the existing network function serial service chain limits the flexibility of connection between network functions, and the processing delay is overlarge due to the overlong length of the serial service chain.
In order to solve the technical problem, the invention provides a service chain compiler, which comprises a service chain disassembling module, a network function analyzing module and a service relation constructing module which are connected in sequence;
the service chain disassembling module comprises a plurality of strategy description units, wherein the strategy description units are used for reading two adjacent network functions in the serial service chain in sequence and limiting the sequence of the two corresponding network functions for processing the data message;
the network function analysis module is used for analyzing the two network functions corresponding to each strategy description unit so as to judge whether the two corresponding network functions accord with a consistency principle when the messages are processed in parallel;
the service relationship building module is used for grouping the network functions according to the analysis result of the network function analysis module to form a parallel service chain, and the parallel service chain comprises all the network functions in the serial service chain and at least comprises a group of parallel sub-chains formed by parallel connection of the network functions;
wherein the consistency principle is as follows: the two sub-chains respectively process and combine the data messages to obtain the same result as the result obtained by processing the data messages by the serial sub-chain formed by the two sub-chains, wherein the sub-chains are network functions or a network function combination formed by combining the network functions.
Preferably, the service relation building module comprises a serial group chain unit, a consistency analysis unit and a building unit which are connected in sequence,
the serial group chain unit is used for forming a serial subchain by the network function serial group chain which is analyzed by the network function analysis module and does not conform to the consistency principle,
the consistency analysis unit is used for judging whether the first sub-chain and the second sub-chain accord with a consistency principle or not; the first sub-chain and the second sub-chain are respectively a first network function or sub-chain and a second network function or sub-chain which are obtained by arranging the network functions which are not grouped into chains and all the sub-chains which are grouped into chains according to the sequence of processing the data messages,
the construction unit is configured to form a new first sub-chain by combining the first sub-chain and the second sub-chain in parallel when the consistency analysis unit determines that the first sub-chain and the second sub-chain conform to the consistency principle, form a new first sub-chain by combining the first sub-chain and the second sub-chain in series when the first sub-chain and the second sub-chain do not conform to the consistency principle, and transmit the obtained new first sub-chain to the consistency analysis unit until the parallel service chain is formed.
Preferably, the service relationship building module further includes a plurality of resource optimization units, each resource optimization unit corresponding to a new first sub-chain formed by a parallel group chain of the first sub-chain and the second sub-chain, for optimizing the new first sub-chain.
Preferably, the resource optimization unit includes a judgment subunit, and a shared memory and a duplicate packet header subunit connected to the judgment subunit respectively,
the judging subunit is configured to judge whether a first sub-chain and a second sub-chain in a new first sub-chain corresponding to the resource optimizing unit operate a same packet header domain of a data packet; if so, the resource optimization unit outputs the content of the duplicate data packet header subunit, otherwise, the resource optimization unit outputs the content stored in the shared memory;
the shared memory is used for storing the data message which needs to pass through the new first sub-chain corresponding to the resource optimization unit;
the duplicate data packet header subunit is configured to duplicate a packet header of a data packet that needs to pass through a new first sub-chain corresponding to the resource optimization unit, and respectively transmit the duplicated data packet and an original data packet to a first sub-chain and a second sub-chain in the new first sub-chain.
Preferably, the network function analysis module comprises a global memory and an analysis unit connected to each other,
the global memory is internally stored with a network function operation table and a parallel operation dependency table;
and the analysis unit is used for judging whether the two network functions corresponding to each strategy description unit accord with the consistency principle or not according to the network function operation table and the parallel operation dependency table.
Preferably, the network function operation table records operations performed on the data packet by each network function; the parallel operation dependency table records the relationship between all the operations.
Preferably, the consistency analysis unit is connected to the global memory.
Preferably, the system further comprises a front policy module, configured to perform serial chaining on the first network function and the parallel service chain, so as to specify that the first network function performs priority processing on the data packet input to the parallel service chain.
Preferably, the system further comprises a post-policy module, configured to perform serial chaining on the parallel service chain and the second network function, so as to specify the second network function to process the data packet output by the parallel service chain.
Preferably, it is applied in a physical server, virtual machine or container.
Compared with the prior art, one or more embodiments in the above scheme can have the following advantages or beneficial effects:
the service chain compiler provided by the embodiment of the invention is arranged between the existing serial service chain strategy layer and the infrastructure layer, is used for disassembling the serial service chain output by the serial service chain strategy layer, analyzing the consistency of the disassembled network functions, and connecting the parallel subchain formed by the parallel group chain in the new service chain formed by the network function reconstruction by judging whether the network functions can be connected in parallel or not so as to increase the flexibility of connection between the network functions, thereby widening the application range of network function virtualization, shortening the length of the service chain, reducing the processing time delay of the service chain for processing a data message, providing support on a group chain mode for acceleration and optimization of the service chain, and guiding the starting of the infrastructure layer network functions and the flow guide mode among the network functions.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention and not to limit the invention. In the drawings:
FIG. 1 is a schematic structural diagram of a service chain compiler according to an embodiment of the present invention;
FIG. 2 is a schematic diagram illustrating a workflow of a service chain compiler according to an embodiment of the present invention;
FIG. 3 is a schematic flowchart illustrating a specific example of a first embodiment;
FIG. 4 is a diagram illustrating a service chain compiler according to a second embodiment of the present invention;
fig. 5 is a schematic structural diagram of a service chain compiler in the third embodiment of the present invention.
Detailed Description
The following detailed description of the embodiments of the present invention will be provided with reference to the drawings and examples, so that how to apply the technical means to solve the technical problems and achieve the technical effects can be fully understood and implemented. It should be noted that, as long as there is no conflict, the embodiments and the features of the embodiments of the present invention may be combined with each other, and the technical solutions formed are within the scope of the present invention.
Network functions in a traditional network are carried by hardware and have important functions, but the updating speed is slow, and the increasingly accelerated functional requirements of people cannot be met, so that the European telecommunication standards institute provides network function virtualization. The middleware carried by the special hardware is converted into a network function realized based on software, so that the development difficulty and the research and development cost are reduced, and the research and development period is shortened. In the existing network function virtualization environment, data packets often pass through a series of network functions in a designated sequence, and therefore, an administrator generally performs serial grouping on the network functions according to a certain sequence. However, the serial chaining approach greatly limits the flexibility of the connections between network functions. Meanwhile, the delay of data message processing caused by the overlong serial service chain exists, the requirement of some delay sensitive applications on real-time performance is extremely high, and the requirement of the applications on network delay cannot be met by using the longer serial service chain, so that the existing network function service chain has certain defects.
Example one
In order to solve the above technical problems in the prior art, an embodiment of the present invention provides a service chain compiler.
FIG. 1 is a schematic structural diagram of a service chain compiler according to an embodiment of the present invention; referring to fig. 1, the service chain compiler in this embodiment includes a service chain disassembling module, a network function analyzing module, and a service relationship constructing module, which are connected in sequence.
The service chain disassembling module comprises a plurality of strategy description units, and the strategy description units are used for reading two adjacent network functions in the serial service chain in sequence and limiting the sequence of the two corresponding network functions for processing the data message.
Specifically, the service chain disassembling module is connected with the traditional serial service chain policy layer and is used for disassembling the serial service chain output by the serial service chain policy layer so as to perform consistency principle analysis on the network function and form a new service chain in the following. Each policy description unit is used for reading two adjacent network functions in the serial service chain, and limiting the sequence of the two network functions for processing the data message according to the sequence of the two read network functions for processing the data message in the serial service chain. The setting of the plurality of policy description units in the service chain disassembling module is used for sequentially reading two adjacent network functions in the serial service chain and sequentially limiting the two corresponding network functions. For example, assuming that the network functions of the serial service chain are NF1, NF2, NF3, and NF4, that is, the network functions that the data packets need to sequentially pass through are NF1, NF2, NF3, and NF4, the first policy description unit reads NF1 and NF2, and defines that the data packets pass through the network function NF1 and then pass through the network function NF 2; the second strategy description unit reads NF2 and NF3, and limits that the data message firstly passes through a network function NF2 and then passes through a network function NF 3; the third policy description unit reads NF3 and NF4, and defines that the data packet passes through the network function NF3 first and then the network function NF 4.
The policy description unit may also be expressed in a policy description language, and the above example may be expressed in the policy description language as:
Order(NF1,before,NF2)
Order(NF2,before,NF3)
Order(NF3,before,NF4)。
it should be noted that the process of reading the network function by the policy description unit is a process of disassembling the serial service chain. The sum of the definitions of the policy description units on the network functions is equivalent to the definition of the serial service chain on the network functions, but the policy description units obtain more freedom and optimization space through decoupling.
The network function analysis module is used for analyzing the two network functions in the policy description unit so as to judge whether the two corresponding network functions meet the consistency principle when processing the messages in parallel.
Specifically, the network function analysis module comprises a global memory and an analysis unit which are connected with each other. A network function operation table and a parallel operation dependency table are stored in the global memory, and the network function operation table records the operation of the common network function on the data message; the parallel operation dependency table records the relationships between all operations of all network functions. The analysis unit is used for judging whether the two network functions corresponding to each strategy description unit accord with the consistency principle when the messages are processed in parallel according to the network function operation table and the parallel operation dependency table. The consistency principle is as follows: the results obtained by processing and merging the data messages by the two sub-chains are the same as the results obtained by processing the data messages by the serial sub-chain formed by the two sub-chains. The sub-chains are network functions or a combination of network functions formed by grouping the network functions, and the consistency principle analysis in the analysis unit is directed to the network functions. The manner of merging the data packets is a manner commonly used by those skilled in the art.
Further, the following is a network function operation table and a parallel operation dependency table of commonly used network functions, where table 1 is a network function operation table, (% column represents its deployment percentage in the enterprise network, R represents a read operation, W represents a write operation, T represents an execute operation, Add/Rm represents an Add or remove header operation to a packet), Drop represents a discard packet operation, and fig. 2 is a parallel operation dependency table;
Figure GDA0002434430030000061
Figure GDA0002434430030000071
TABLE 1
Figure GDA0002434430030000072
Figure GDA0002434430030000081
TABLE 2
It is assumed that the Network functions corresponding to one policy description unit are a Network Address Translator (NAT) and a Load Balancer (LB), and the two Network functions process data packets in sequence, namely the Network address translator and the load balancer. As can be seen from fig. 1, the operations of the network address translator and the load balancer are both reading or writing, and since both the network address translator and the load balancer have the operations of reading and writing the same header field, when the operation of the network address translator in the service chain is writing and the operation of the load balancer in the service chain is reading, as can be seen from table 2, the network address translator and the load balancer may not be in parallel, that is, the network address translator and the load balancer do not conform to the consistency principle. When the network address converter and the load balancer are the combination of other situations, the network address converter and the load balancer can be in parallel, namely, the network address converter and the load balancer conform to the consistency principle.
And the service relationship building module is used for grouping the network functions according to the analysis result of the network function analysis module to form a parallel service chain. The parallel service chain comprises all network functions in the original serial service chain, and the parallel service chain at least comprises a group of parallel sub-chains formed by parallel connection of the network functions.
Specifically, the service relationship building module comprises a serial group chain unit, a consistency analysis unit and a building unit which are connected in sequence. And the serial group chain unit is used for forming a serial subchain by using the network function serial group chain which is analyzed by the network function analysis module and is not in accordance with the consistency principle. To further illustrate the operation of the serial group link unit, the formation of a serial subchain is now described: specifically, the network function analysis module analyzes two network functions corresponding to one policy description unit, and when the analysis result shows that the two network functions do not conform to the consistency principle, the policy description unit transmits the two network functions to the serial chaining unit, and the serial chaining unit performs chaining on the two network functions to form a serial sub-chain. In the same way, the serial chaining unit sequentially performs chaining on other network functions which do not conform to the consistency principle to form at least one serial sub-chain. It should be noted that the manner of acquiring the network function by the serial chaining unit is not limited to the policy description unit, and the network function requiring the serial chaining may also be acquired from the network function analysis module.
The consistency analysis unit is used for judging whether the first sub-chain and the second sub-chain accord with a consistency principle. The first sub-chain and the second sub-chain are respectively a first network function or sub-chain and a second network function or sub-chain which are obtained after the network functions which are not grouped into chains and the serial sub-chains which are grouped into chains are arranged according to the sequence of processing the data messages. Specifically, the consistency analysis unit is connected to the global memory, and the consistency analysis unit analyzes the first sub-chain and the second sub-chain based on a network function operation table and a parallel operation dependency table in the global memory to determine whether the first sub-chain and the second sub-chain conform to a consistency principle.
Preferably, the process of arranging the ungrouped network functions and the grouped serial subchains of the chain according to the sequence of processing the data messages can be completed in the consistency analysis unit. At this time, the consistency analysis unit is connected with the serial group link unit and the strategy description unit respectively. And the consistency analysis unit respectively acquires the network functions of the ungrouped links and the serial sub-chains of the grouped links from the strategy description unit and the serial sub-chains, and arranges the network functions of the ungrouped links and the serial sub-chains according to the sequence of processing the data messages. And taking the first network function or serial subchain after arrangement as a first subchain, and taking the second network function or serial subchain as a second subchain.
The building unit is used for grouping the first sub-chain and the second sub-chain to form a new first sub-chain. Specifically, the building unit is configured to form a new first sub-chain by combining the first sub-chain and the second sub-chain in parallel when the consistency analysis unit determines that the first sub-chain and the second sub-chain conform to the consistency principle, and connect the first sub-chain and the second sub-chain in series to form a new first sub-chain until a parallel service chain is formed when the first sub-chain and the second sub-chain do not conform to the consistency principle. Preferably, when the network functions of the ungrouped links and the serial sub-chains of the grouped links are arranged in the consistency analysis unit according to the sequence of processing the data messages, the construction unit transmits the obtained new first sub-chain to the consistency analysis unit, the network functions of the ungrouped links and the sequence of the serial sub-chains are sequentially moved forward by one bit at the moment, namely, the original third network function or the serial sub-chain is the new second sub-chain, the network functions of the next ungrouped links and the serial sub-chains are sequentially shifted, and the consistency analysis unit performs consistency analysis on the first sub-chain and the second sub-chain again until a parallel service chain is formed.
Preferably, the process of arranging the ungrouped network functions and the grouped serial subchains in the sequence of processing the data messages can be further completed in the construction unit. At this time, the construction unit is connected with the serial group link unit and the strategy description unit respectively. The construction unit respectively acquires the network functions of the ungrouped links and the serial sub-chains of the grouped links from the strategy description unit and the serial sub-chains, and arranges the network functions of the ungrouped links and the serial sub-chains according to the sequence of processing the data messages. And taking the first network function or serial subchain after arrangement as a first subchain, and taking the second network function or serial subchain as a second subchain.
The judgment method for the formation of the parallel service chain is as follows: and judging whether a second sub chain exists after the network functions of the ungrouped chain and the serial sub chains of the grouped chain are arranged, namely if no new second sub chain exists in the arrangement sequence, forming a parallel service chain, otherwise, continuously grouping the first sub chain and the second sub chain. The method of determining the parallel service chain formation is not limited to this.
The service relation building module further comprises a plurality of resource optimization units, each resource optimization unit corresponds to a new first sub-chain formed by parallel group chains of the first sub-chain and the second sub-chain and is used for optimizing the new first sub-chain. Specifically, the resource optimization unit includes a judgment subunit, and a shared memory and a duplicate data packet header subunit connected to the judgment subunit, respectively.
The judging subunit is configured to judge whether a first sub-chain and a second sub-chain in a new first sub-chain corresponding to the resource optimizing unit operate a same packet header domain of the data packet; if so, the resource optimization unit outputs the content of the sub-unit of the duplicated data packet header, otherwise, the resource optimization unit outputs the content stored in the shared memory. The shared memory stores data messages which need to pass through a new first sub-chain corresponding to the resource optimization unit; the duplication data packet header subunit is configured to duplicate a packet header of a data packet that needs to pass through the new first sub-chain corresponding to the resource optimization unit, and respectively transmit the duplicated data packet and the original data packet to the first sub-chain and the second sub-chain in the new first sub-chain. It should be noted that, after copying the packet header of the data packet, we need to modify the packet length field in the copied data packet to the actual length of the packet header of the data packet, so as to ensure that the data packet received by the network function is valid. The setting of the head sub-unit of the duplicated data packet reduces the extra resource loss caused by duplicating the data message as much as possible on the premise of shortening the length of the service chain.
The working mode of the application is as follows: FIG. 2 is a schematic diagram illustrating a workflow of a service chain compiler according to an embodiment of the present invention; as shown in fig. 2; the service chain compiler acquires the serial service chain from the existing serial service chain strategy layer, and the strategy description unit in the service disassembling module sequentially decomposes the serial service chain; the analysis unit of the network function analysis unit performs consistency analysis on the network functions corresponding to the strategy description unit based on the network function operation table and the parallel operation dependency table stored in the global memory; then a serial chaining unit in the service relation building module serially groups the network functions which are analyzed by the network function analysis unit and do not accord with the consistency principle; arranging the network functions and the serial sub-chains which are not grouped into chains according to the sequence of processing the data messages, and taking the first network function or the serial sub-chain after arrangement as a first sub-chain and taking the second network function or the serial sub-chain after arrangement as a second sub-chain; the consistency analysis unit is used for carrying out consistency analysis on the first sub-chain and the second sub-chain and transmitting an analysis result to the construction unit, when the analysis result is in accordance with a consistency analysis principle, the judgment subunit in the construction unit is used for further analyzing the first sub-chain and the second sub-chain and judging whether the first sub-chain and the second sub-chain operate on the same packet header domain of the data message, if so, the first sub-chain and the second sub-chain are parallelly grouped to form a new first sub-chain and then output from the data packet header copying subunit, and if not, the first sub-chain and the second sub-chain are output from the shared memory; and when the analysis result is that the consistency analysis principle is not met, the building unit directly outputs the first sub-chain and the second sub-chain in a serial group chain to form a new first sub-chain. According to the method, a consistency analysis unit and a construction unit sequentially analyze and group new first sub-chains and second sub-chains until a new service chain is formed, namely a parallel service chain.
To further illustrate the operation of the service chain compiler of the present application, a specific example is listed below; the process of forming the parallel service chain roughly illustrates the working mode of the service chain compiler of the application;
FIG. 3 is a schematic flowchart illustrating a specific example of a first embodiment; as shown in fig. 3.
Assume that the network functions of the serial service chain are in turn: NF1-NF2-NF3-NF4-NF5, the network functions read by the strategy description units 1 to 4 are as follows: NF1, NF2, NF2, NF3, NF3, NF4, NF4 and NF 5; assuming that the consistency principle is not met between NF1 and NF2 according to the network function operation table and the parallel operation dependency table, and the consistency principles are met between NF2 and NF3, between NF3 and NF4, and between NF4 and NF5, the serial chaining unit performs serial chaining on the network functions NF1 and NF2 to form the sub-chain 101. At this time, the ungrouped network functions include NF3, NF4, and NF5, and the ungrouped network functions and the serial subchains are arranged as follows: the daughter chain 101, NF3, NF4, NF5, the serial daughter chain 101 is the first daughter chain, and the NF3 is the second daughter chain. Assuming that the consistency analysis unit judges that the sub-chain 101 and the NF3 conform to the consistency principle based on the network function operation table and the parallel operation dependency table, the construction unit forms the sub-chain 102 by grouping the sub-chain 1 and the NF3 in parallel. In the same way, the sub-chain 102 and the NF4 are subjected to consistency principle analysis, and the sub-chain 102 and the NF4 are grouped and chained in parallel to form the sub-chain 103, assuming that the consistency principle is met. Consistency principle analysis is carried out on the sub-chain 103 and the NF5, if the consistency principle is met, the sub-chain 103 and the NF5 are combined into a chain in parallel to form a sub-chain 104, and the sub-chain 104 is a formed parallel service chain because a second sub-chain is not arranged in a queue.
The application of the method changes the limitation of the traditional serial network function service chaining mode, and optimizes the overall performance of the service chain by introducing the mode of connecting the network functions as parallel as possible into the service chain without changing the existing chaining strategy of an administrator; the invention also analyzes the operation executed on the flow in the network function, automatically confirms the possibility of the parallelism among the network functions by analyzing the principle of the consistency among the network functions in the service chain, forms the parallel service chain construction by grouping the chains based on the possibility of the parallelism among the network functions, successfully converts the serial service chain into the parallel service chain, and effectively solves the time delay problem of the existing serial service chain when processing the data message.
Example two
The present embodiment is further limited by the service chain compiler on the basis of the first embodiment.
FIG. 4 is a diagram illustrating a service chain compiler according to a second embodiment of the present invention; as shown in fig. 4, the service chain compiler further includes a pre-policy module, where the pre-policy module is configured to perform serial chaining on the first network function and the parallel service chain, and connect the first network function with an input end of the parallel service chain, so as to specify that the first network function is processing a first data packet, and after the first network function processes the data packet, transmit the data packet to an input end of the parallel service chain, so as to achieve a purpose that the specified first network function performs priority processing on the data packet input to the parallel service chain.
The pre-policy module is configured, for example, that the first network function is used to decapsulate an input data packet, so that a subsequent network function can operate on the data packet.
By applying the application of the embodiment, on the basis of the technical effect achieved in the first embodiment, the beneficial effect of specifying the first network function for processing the data packet can be achieved.
EXAMPLE III
The present embodiment is further limited by the service chain compiler on the basis of the first embodiment or the second embodiment.
FIG. 5 is a diagram illustrating a service chain compiler according to a second embodiment of the present invention; as shown in fig. 5, the post policy module is configured to perform serial chaining on the first network function and the parallel service chain, and connect an output end of the parallel service chain with the second network function, so as to specify that the second network function is used to process the last data message, and after the parallel service chain processes the data message, the data message is transmitted to the second network function, so that the purpose of processing the data message by the last specified second network function is achieved.
The post policy module may be configured, for example, such that the second network function must be the last load balancer to process data packets, so as to load balance data packets entering the data center.
By applying the application of the embodiment, on the basis of the technical effect achieved by the first embodiment or the second embodiment, the beneficial effect of specifying the last network function for processing the data message can be achieved.
Although the embodiments of the present invention have been described above, the above description is only for the convenience of understanding the present invention, and is not intended to limit the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (12)

1. A service chain compiler is characterized by comprising a service chain disassembling module, a network function analyzing module and a service relation constructing module which are connected in sequence;
the service chain disassembling module comprises a plurality of strategy description units, wherein the strategy description units are used for reading two adjacent network functions in the serial service chain in sequence and limiting the sequence of the two corresponding network functions for processing the data message;
the network function analysis module is used for analyzing the two network functions corresponding to each strategy description unit so as to judge whether the two corresponding network functions accord with a consistency principle when the messages are processed in parallel;
the service relationship building module is used for grouping the network functions according to the analysis result of the network function analysis module to form a parallel service chain, the parallel service chain comprises all the network functions in the serial service chain, and the parallel service chain at least comprises a group of parallel sub-chains formed by parallel connection of the network functions;
wherein the consistency principle is as follows: the two sub-chains respectively process and combine the data messages to obtain the same result as the result obtained by processing the data messages by the serial sub-chain formed by the two sub-chains, wherein the sub-chains are network functions or a network function combination formed by combining the network functions.
2. The service chain compiler of claim 1, wherein the service relation building module comprises a serial group chain unit, a consistency analysis unit and a building unit connected in sequence,
the serial group chain unit is used for forming a serial subchain by the network function serial group chain which is analyzed by the network function analysis module and does not conform to the consistency principle,
the consistency analysis unit is used for judging whether the first sub-chain and the second sub-chain accord with a consistency principle or not; the first sub-chain and the second sub-chain are respectively a first network function or sub-chain and a second network function or sub-chain which are obtained by arranging the network functions which are not grouped into chains and all the sub-chains which are grouped into chains according to the sequence of processing the data messages,
the construction unit is configured to form a new first sub-chain by combining the first sub-chain and the second sub-chain in parallel when the consistency analysis unit determines that the first sub-chain and the second sub-chain conform to the consistency principle, form a new first sub-chain by combining the first sub-chain and the second sub-chain in series when the first sub-chain and the second sub-chain do not conform to the consistency principle, and transmit the obtained new first sub-chain to the consistency analysis unit until the parallel service chain is formed.
3. The service chain compiler of claim 1, wherein the service relation building module further comprises a plurality of resource optimization units, each resource optimization unit corresponding to a new first sub-chain formed by a parallel group chain of the first sub-chain and the second sub-chain for optimizing the new first sub-chain.
4. The service chain compiler of claim 3, wherein the resource optimization unit comprises a judgment subunit and a shared memory and a duplicate packet header subunit respectively connected to the judgment subunit,
the judging subunit is configured to judge whether a first sub-chain and a second sub-chain in a new first sub-chain corresponding to the resource optimizing unit operate a same packet header domain of a data packet; if so, the resource optimization unit outputs the content of the duplicate data packet header subunit, otherwise, the resource optimization unit outputs the content stored in the shared memory;
the shared memory is used for storing the data message which needs to pass through the new first sub-chain corresponding to the resource optimization unit;
the duplicate data packet header subunit is configured to duplicate a packet header of a data packet that needs to pass through a new first sub-chain corresponding to the resource optimization unit, and respectively transmit the duplicated data packet and an original data packet to a first sub-chain and a second sub-chain in the new first sub-chain.
5. The service chaining compiler according to claim 1, wherein said network function analysis module comprises a global memory and an analysis unit connected to each other,
the global memory stores a network function operation table and a parallel operation dependency table;
and the analysis unit is used for judging whether the two network functions corresponding to each strategy description unit accord with the consistency principle or not according to the network function operation table and the parallel operation dependency table.
6. The service chain compiler of claim 5, wherein the network function operation table records operations performed on the datagram by each network function; the parallel operation dependency table records the relationship between all the operations.
7. The service chain compiler of claim 5, wherein the consistency analysis unit is coupled to the global memory.
8. The service chain compiler according to any of claims 1 to 7, further comprising a pre-policy module for serially chaining a first network function with a parallel service chain for specifying that the first network function performs a priority processing on a data packet input to the parallel service chain.
9. The service chaining compiler of claim 8, further comprising a post policy module for serially chaining a parallel service chain with a second network function for specifying the second network function to process data packets output by said parallel service chain.
10. The service chain compiler according to any of claims 1 to 7, applied in a physical server, a virtual machine or a container.
11. The service chain compiler of claim 8, applied in a physical server, virtual machine or container.
12. The service chain compiler of claim 9, applied in a physical server, virtual machine or container.
CN201711081977.0A 2017-11-07 2017-11-07 Service chain compiler Active CN107947965B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711081977.0A CN107947965B (en) 2017-11-07 2017-11-07 Service chain compiler

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711081977.0A CN107947965B (en) 2017-11-07 2017-11-07 Service chain compiler

Publications (2)

Publication Number Publication Date
CN107947965A CN107947965A (en) 2018-04-20
CN107947965B true CN107947965B (en) 2020-06-19

Family

ID=61934379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711081977.0A Active CN107947965B (en) 2017-11-07 2017-11-07 Service chain compiler

Country Status (1)

Country Link
CN (1) CN107947965B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108494574B (en) * 2018-01-18 2020-06-19 清华大学 Network function parallel processing infrastructure in NFV
CN110336689A (en) * 2019-05-17 2019-10-15 清华大学 Processing method, device and the electronic equipment of network function service group chain
CN111614779A (en) * 2020-05-28 2020-09-01 浙江工商大学 Dynamic adjustment method for optimizing and accelerating micro service chain
CN117411876A (en) * 2022-07-08 2024-01-16 中国电信股份有限公司 Service control method, controller and service system of cloud resource pool
CN115865672A (en) * 2022-11-21 2023-03-28 浪潮(北京)电子信息产业有限公司 Network acceleration method, device, equipment and related components

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8964752B2 (en) * 2013-02-25 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Method and system for flow table lookup parallelization in a software defined networking (SDN) system
CN107005580B (en) * 2014-11-04 2020-08-18 瑞典爱立信有限公司 Method for managing a service set and associated manager node
US9462084B2 (en) * 2014-12-23 2016-10-04 Intel Corporation Parallel processing of service functions in service function chains
CN106789542B (en) * 2017-03-03 2019-08-09 清华大学 A kind of implementation method of cloud data center security service chain

Also Published As

Publication number Publication date
CN107947965A (en) 2018-04-20

Similar Documents

Publication Publication Date Title
CN107947965B (en) Service chain compiler
US6954806B2 (en) Data transfer apparatus and method
US11269529B2 (en) Neural network data processing apparatus, method and electronic device
WO2021042840A1 (en) Data processing method and apparatus, server, and computer-readable storage medium
WO2022032984A1 (en) Mqtt protocol simulation method and simulation device
WO2021159713A1 (en) Multi-shared directory tree-oriented control method and system
WO2022237332A1 (en) Industrial heterogeneous network high-speed protocol conversion apparatus and parallel processing unit
WO2016008317A1 (en) Data processing method and central node
CN109951532B (en) DPDK-based automatic flow model conversion device
US20230244626A1 (en) Parallel dataflow routing scheme systems and methods
US20210334264A1 (en) System, method, and program for increasing efficiency of database queries
US9537941B2 (en) Method and system for verifying quality of server
JP2020088517A (en) Communication apparatus, and control method and program of communication apparatus
WO2016197607A1 (en) Method and apparatus for realizing route lookup
CN114371920A (en) Network function virtualization system based on graphic processor accelerated optimization
CN114726785A (en) Directional routing debugging mechanism based on request label expression
CN114257560A (en) KNI-based switch network data caching implementation method
CN114490458A (en) Data transmission method, chip, server and storage medium
CN113641604A (en) Data transmission method and system
JP2008276322A (en) Information processing device, system, and method
JP2009199433A (en) Network processing apparatus and program
CN112083914A (en) Method and system for realizing soft bus of object model embedded operating system
US8054857B2 (en) Task queuing methods and systems for transmitting frame information over an I/O interface
CN115225694B (en) Data stream transmission method, device, equipment and medium
JP4833911B2 (en) Processor unit and information processing method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant