WO2017133647A1 - Packet processing method, traffic classifier, and service function instance - Google Patents

Packet processing method, traffic classifier, and service function instance Download PDF

Info

Publication number
WO2017133647A1
WO2017133647A1 PCT/CN2017/072783 CN2017072783W WO2017133647A1 WO 2017133647 A1 WO2017133647 A1 WO 2017133647A1 CN 2017072783 W CN2017072783 W CN 2017072783W WO 2017133647 A1 WO2017133647 A1 WO 2017133647A1
Authority
WO
WIPO (PCT)
Prior art keywords
service function
service
flow
identifier
value
Prior art date
Application number
PCT/CN2017/072783
Other languages
French (fr)
Chinese (zh)
Inventor
梁乾灯
黄世碧
徐小虎
尤建洁
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2017133647A1 publication Critical patent/WO2017133647A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Definitions

  • the invention relates to the field of communication technology. More specifically, it relates to a message processing method, a stream classifier, and a service function instance.
  • SFC Service Function Chaining
  • one service function in a service function chain may correspond to multiple service function instances.
  • the multiple service function instances are capable of load balancing traffic.
  • the service function of the firewall it may correspond to three service function instances of firewall 1, firewall 2 and firewall 3.
  • the forwarding device uses only the fields in the packet (for example, a quintuple) to distinguish different sessions, thereby implementing load balancing on traffic.
  • the forwarding device only uses the fields in the packet to identify and process the packet, which is not flexible enough.
  • the embodiment of the present invention provides a packet processing method, a traffic classifier, and a service function instance, so as to solve the problem that the forwarding device does not process the packet flexibly in the prior art.
  • the embodiment of the present application provides the following technical solutions:
  • a first aspect of the embodiments of the present application discloses a packet processing method, where the method is performed by a flow classifier, and the method includes:
  • the service function includes a service index, a service function path identifier corresponding to the service function chain, a network address of multiple service function instances corresponding to the first service function of the service function chain, and a tunnel of the multiple service function instances.
  • the information, or the information of the service function chain includes a service index, a service function path identifier corresponding to the service function chain, and a network of multiple service function instances corresponding to the next service function of the first service function of the service function chain.
  • An address, and the tunnel information of the multiple service function instances, where the service index is a lifetime value of the service function chain, where the lifetime time value is equal to the number of service functions included in the service function chain;
  • the first packet is encapsulated into a second packet, where the second packet includes a service header and a tunnel header, and the service header includes the service function path identifier, the identifier of the stream, and a first value.
  • the first value is equal to the service index minus 1.
  • the tunnel header is generated based on the tunnel information, where the tunnel header includes a network address of a first service function instance, and the first service function instance is the An example of a service function of the plurality of service function instances, where a network address of the first service function instance is identified by the service function path, and the identifier of the flow and the first value are determined;
  • the flow classifier is a network device capable of communicating with one of the plurality of service function instances corresponding to the first service function in the service function chain, or the flow classifier is the service The first business function of the function chain.
  • the method before the receiving the flow table sent by the network control device, the method further includes:
  • the identifier of the flow and the first value determine a network address of the first service function instance, where:
  • the flow classifier searches for, in the flow distribution publication, an entry matching the service function path identifier and the first value in the flow distribution publication by using the service function path identifier and the first value as a search key, the flow score
  • the entry in the publication that matches the service function path identifier and the first value includes the first service function and a network address of multiple service function instances corresponding to the first service function, or the flow distribution is published.
  • the entry that matches the service function path identifier and the first value includes a network address of the next service function and multiple service function instances corresponding to the next service function;
  • the service header is an NSH network service header
  • the location of the identifier of the flow in the service header includes:
  • the service header When the value of the MD-type field in the service header is equal to 0x2, the service header includes a TLV-Class, and the TLV-Class includes a Type Code and an identifier of the stream, where the Type Code is used to indicate the The TLV-Class carries the identifier of the stream;
  • the Mandatory Context Header in the service header carries the identifier of the flow.
  • the second aspect of the embodiment of the present application discloses a flow classifier, which is a network device capable of communicating with one of a plurality of service function instances corresponding to the first service function in the service function chain, Or the flow classifier is the first service function of the service function chain, and the flow classifier includes:
  • a receiving unit configured to receive a flow table sent by the network control device, and obtain a first packet, where the flow table includes a rule of the flow, information of the service function chain to which the flow is bound, and the network control device
  • the assigned label of the stream The information of the service function chain includes a service index, a service function path identifier corresponding to the service function chain, a network address of multiple service function instances corresponding to the first service function of the service function chain, and the multiple
  • the tunnel information of the service function instance, or the information of the service function chain includes a service index, a service function path identifier corresponding to the service function chain, and a next service function corresponding to the first service function of the service function chain.
  • a processing unit configured to determine that the first packet obtained by the receiving unit matches the flow table, and encapsulate the first packet into a second packet, where the second packet includes a service header and a tunnel header
  • the service header includes the service function path identifier, the identifier of the flow, and a first value, where the first value is equal to the service index minus 1, and the tunnel header is generated based on the tunnel information.
  • the network header includes a network address of the first service function instance, where the first service function instance is one of the multiple service function instances, and the network address of the first service function instance is used by the service a function path identifier, the identifier of the stream and the first value determination;
  • a sending unit configured to send the second packet to the first service function instance determined by the processing unit.
  • the processing unit is further configured to:
  • the response includes an identifier of the flow, and the identifier of the flow is different from the information of the flow.
  • the network address of the first service function instance is identified by the service function path, and the identifier of the stream and the processing determined by the first value are Units, including:
  • the processing unit is configured to: in the flow distribution publication, look up an entry matching the service function path identifier and the first value by using the service function path identifier and the first value as a search key,
  • the entry in the score publication that matches the service function path identifier and the first value includes the network address of the first service function and multiple service function instances corresponding to the first service function, or the flow
  • the entry in the sub-publishing that matches the service function path identifier and the first value includes the network address of the next service function and the multiple service function instances corresponding to the next service function, and the service function
  • the path identifier and the identifier of the flow are search keywords, and the network address of the plurality of service function instances included in the entry that matches the service function path identifier and the first value in the flow distribution is determined. Describe the network address of the first service function instance;
  • the processing unit is configured to determine, by the service function path identifier and the first value, a network address of the first service function and multiple service function instances corresponding to the first service function, or the next one a service function and a network address of the plurality of service function instances corresponding to the next service function, where the service function path identifier and the identifier of the stream are hash keys, from the first service function or the next service function
  • the network address of the first service function instance is determined in the network address of the corresponding multiple service function instances.
  • the processing unit is further configured to:
  • the service header is an NSH network service header
  • the service header when the value of the MD-type field in the service header is equal to 0x2, the service header includes a TLV-Class, and the TLV-Class includes a Type Code and a An identifier of the flow, the Type Code is used to indicate that the TLV-Class carries an identifier of the flow;
  • the service header is an NSH network service header
  • the value of the MD-type field in the service header is equal to 0x1
  • the Mandatory Context Header in the service header carries the identifier of the flow.
  • the third aspect of the embodiment of the present application discloses a flow classifier, which includes: the flow classifier may be a communication function instance that can communicate with one of a plurality of service function instances corresponding to the first service function in the service function chain.
  • the network device, or the flow classifier may be the first service function of the service function chain, and the flow classifier includes:
  • a receiver configured to receive a flow table sent by the network control device, and obtain a first packet, where the flow table includes a rule of the flow, information of the service function chain to which the flow is bound, and the network control device An identifier of the allocated service, where the information of the service function chain includes a service index, a service function path identifier corresponding to the service function chain, and a network address of multiple service function instances corresponding to the first service function of the service function chain, And the tunnel information of the multiple service function instances, or the information of the service function chain, including a service index, a service function path identifier corresponding to the service function chain, and a next service of the first service function of the service function chain a network address of the plurality of service function instances corresponding to the function, and tunnel information of the plurality of service function instances, where the service index is a lifetime time value of the service function chain, where the lifetime time value is equal to that included in the service function chain
  • a processor configured to determine that the first packet obtained by the receiver matches the flow table, and encapsulate the first packet into a second packet, where the second packet includes a service header and a tunnel header
  • the service header includes the service function path identifier, the identifier of the flow, and a first value, where the first value is equal to the service index minus 1, and the tunnel header is generated based on the tunnel information.
  • the network header includes a network address of the first service function instance, where the first service function instance is one of the multiple service function instances, and the first service function instance is an Internet protocol or multimedia access. The control address is identified by the service function path, and the identifier of the flow and the first value are determined;
  • a transmitter configured to send the second packet to the first service function instance determined by the processor.
  • a fourth aspect of the embodiments of the present disclosure discloses a storage device, where the storage device is applicable to a traffic classifier, where the traffic classifier may be in multiple service function instances corresponding to the first service function in the service function chain. a network function of a service function instance communication, or the flow classifier may be the first service function of the service function chain, the storage device comprising a memory and a processor connected to the memory through a bus;
  • the memory stores program code for performing message processing, the program code includes computer operation instructions, and the processor is configured to run the program code;
  • the program code for performing message processing includes: receiving a flow table sent by a network control device, the flow table includes a rule of a flow, information of a service function chain to which the flow is bound, and the network control An identifier of the flow of the service function, where the information of the service function chain includes a service index, a service function path identifier corresponding to the service function chain, and a network address of multiple service function instances corresponding to the first service function of the service function chain And the tunnel information of the multiple service function instances, or the information of the service function chain includes a service index, a service function path identifier corresponding to the service function chain, and a next service function of the service function chain a network address of the plurality of service function instances corresponding to the service function, and tunnel information of the plurality of service function instances, where the service index is a lifetime value of the service function chain, and the lifetime time value is equal to the service function The number of business functions contained in the chain;
  • the first packet is encapsulated into a second packet, where the second packet includes a service header and a tunnel header, and the service header includes the service function path identifier, the identifier of the stream, and a first value.
  • the first value is equal to the service index minus 1.
  • the tunnel header is generated based on the tunnel information, where the tunnel header includes a network address of a first service function instance, and the first service function instance is the An example of a service function of the plurality of service function instances, where a network address of the first service function instance is identified by the service function path, and the identifier of the flow and the first value are determined;
  • the fifth aspect of the embodiment of the present application discloses a packet processing method, where the packet processing method is performed by a first service function instance corresponding to a first service function of a service function chain, where the packet processing method includes:
  • the first packet is encapsulated into a third packet, and the service header in the third packet includes the service function path identifier, the identifier of the stream, and a second value, where the second value is equal to the The first value is decremented by 1.
  • the tunnel header in the third packet includes a network address of the second service function instance corresponding to a next service function of the first service function, and a network of the second service function instance. The address is identified by the service function path, and the identifier of the flow and the second value are determined;
  • the method further includes:
  • the identifier of the flow and the second value determine a network address of the second service function instance, where:
  • the entry that matches the service function path identifier and the second value in the flow distribution publication with the service function path identifier and the second value as a lookup key includes the next one of the first service function a service function, and a network address of multiple service function instances corresponding to the next service function;
  • the network function address of the second service function instance is determined from the network address of the multiple service function instances corresponding to the next service function by using the service function path identifier and the identifier of the flow as a hash key.
  • the sixth aspect of the embodiment of the present application discloses an example of a service function, where the service function instance is a first service function instance corresponding to the first service function of the service function chain, and includes:
  • a receiving unit configured to receive a second packet forwarded by the first service function instance corresponding to the previous service function of the first service function in the service classifier, and the service in the second packet
  • the header includes a service function path identifier corresponding to the service function chain, an identifier of the stream allocated by the network control device, and a first value, where the first value is equal to the service index minus 1, and the tunnel header in the second packet includes a network address of the first service function instance corresponding to the first service function, where the second packet includes a first packet, where the service index is a lifetime value of the service function chain, The lifetime value is equal to the number of business functions included in the business function chain;
  • a processing unit configured to determine, according to the service function path identifier that is received by the receiving unit, the identifier of the stream and the second value determine a second service function instance corresponding to a next service function of the first service function
  • the network address is processed according to the service header in the second packet received by the receiving unit, and the first packet is encapsulated into a third packet, where the first packet is encapsulated into a third packet.
  • the traffic header in the third packet includes the service function path identifier, the identifier of the flow, and the second value, where the second value is equal to the first value minus 1, and the tunnel header in the third packet includes The network address of the second service function instance corresponding to the next service function of the first service function, the network address of the second service function instance is identified by the service function path, the identifier of the flow and the The second value is determined;
  • a sending unit configured to send the third packet to the second service function instance determined by the processing unit.
  • the method further includes:
  • the receiving unit is further configured to receive, according to the service function path identifier of the flow application, the service index, and a next service function corresponding to the first service function selected for the identifier of the flow Information table of tunnel information for business function instances.
  • the processing unit that is identified by the service function path, the identifier of the flow, and the second value determines a network address of the second service function instance Also includes:
  • the processing unit is further configured to: use the service function path identifier and the second value as a search key to search for a table item that matches the service function path identifier and the second value in a stream distribution publication. a next service function of the first service function, and a network address of the plurality of service function instances corresponding to the next service function, where the service function path identifier and the identifier of the stream are search keywords, Determining, in the network address of the plurality of service function instances included in the entry that matches the service function path identifier and the second value, the network address of the second service function instance;
  • the processing unit is further configured to determine, by the service function path identifier and the second value, a next service function of the first service function, and a network of multiple service function instances corresponding to the next service function.
  • the address is determined by using the service function path identifier and the identifier of the flow as a hash key, and determining a network address of the second service function instance from the network addresses of the multiple service function instances corresponding to the next service function.
  • the seventh aspect of the embodiment of the present application discloses an example of a service function, where the service function instance is a first service function instance corresponding to the first service function of the service function chain, and includes:
  • a receiver configured to receive a second packet forwarded by the first service function instance corresponding to the previous service function of the first service function in the service classifier, and the service in the second packet
  • the header includes a service function path identifier corresponding to the service function chain, an identifier of the stream allocated by the network control device, and a first value, where the first value is equal to the service index minus 1, and the tunnel header in the second packet includes a network address of the first service function instance corresponding to the first service function, where the second packet includes a first packet, where the service index is a lifetime value of the service function chain, and the lifetime time value is equal to the service function chain.
  • a processor configured to determine, according to the service function path identifier that is received by the receiver, the identifier of the stream and the second value determine a second service function instance corresponding to a next service function of the first service function
  • the network address is processed according to the service header in the second packet received by the receiving unit, and the first packet is encapsulated into a third packet, where the first packet is encapsulated into a third packet.
  • the traffic header in the third packet includes the service function path identifier, the identifier of the flow, and the second value, where the second value is equal to the first value minus 1, and the tunnel header in the third packet includes a network address of the second service function instance corresponding to a next service function of the first service function, the second service The network address of the function instance is identified by the service function path, and the identifier of the stream and the second value are determined;
  • a transmitter configured to send the third packet to the second service function instance determined by the processor.
  • the eighth aspect of the embodiment of the present application discloses a storage device, where the storage device is applicable to a first service function instance corresponding to a first service function of a service function chain, where the storage device includes a memory and is connected to the memory through a bus.
  • the memory stores program code for performing message processing, the program code includes computer operation instructions, and the processor is configured to run the program code;
  • the program code for performing message processing includes:
  • the first packet is encapsulated into a third packet, and the service header in the third packet includes the service function path identifier, the identifier of the stream, and a second value, where the second value is equal to the The first value is decremented by 1.
  • the tunnel header in the third packet includes a network address of the second service function instance corresponding to a next service function of the first service function, and a network of the second service function instance. The address is identified by the service function path, and the identifier of the flow and the second value are determined;
  • a ninth aspect of the embodiment of the present application discloses a message processing system, including a stream classifier, a service function instance, and a network control device;
  • the flow classifier includes the flow classifier disclosed in the second aspect of the embodiment of the present application or the third aspect of the embodiment of the present application, or the flow classifier includes the storage device disclosed in the fourth aspect of the embodiment of the present application;
  • the service function example includes the service function example disclosed in the sixth aspect of the embodiment of the present application or the seventh aspect of the embodiment of the present application, or the service function instance includes the storage device disclosed in the eighth aspect of the embodiment of the present application;
  • the network control device is a network controller or an AAA server, configured to receive a request sent by the flow classifier to allocate an identifier of the flow for a flow, where the request includes information about the flow, and is the flow A response to assign an identifier of the flow, the response including an identifier of the flow, the identifier of the flow being different from the information of the flow.
  • the packet processing method, the flow classifier, and the service function example provided by the embodiment of the present application are known from the technical solutions disclosed in the foregoing application.
  • the packet processing process according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index determine a specific service function instance, and send the encapsulated to the determined specific service function instance. Message.
  • the technical solution disclosed in the embodiment of the present application is more flexible than the method in the prior art for identifying and processing a packet by using a field in a packet.
  • FIG. 1 is a schematic flowchart of a packet processing method according to Embodiment 1 of the present application.
  • FIG. 2 is a schematic diagram of a format of a service header according to Embodiment 2 of the present application.
  • FIG. 3 is a schematic diagram of another format of a service header according to Embodiment 2 of the present application.
  • FIG. 4 is a schematic flowchart of a packet processing method according to Embodiment 3 of the present application.
  • FIG. 5 is a schematic flowchart of a flow forwarding process of a clouded CPE solution according to Embodiment 3 of the present application;
  • FIG. 6 is a schematic structural diagram of a flow classifier according to Embodiment 1 and Embodiment 2 disclosed in Embodiment 5 of the present application;
  • FIG. 7 is a schematic structural diagram of a physical structure of a flow classifier according to Embodiment 5 of the present application.
  • FIG. 8 is a schematic structural diagram of a service function example according to Embodiment 3 disclosed in Embodiment 5 of the present application.
  • FIG. 9 is a schematic diagram of an entity structure of a service function example according to Embodiment 5 of the present application.
  • FIG. 10 is a schematic structural diagram of a message processing system according to Embodiment 5 of the present application.
  • IP Internet Protocol, Internet Protocol
  • MAC Media Access Control, media access control
  • NSH Network Service Header, network service header
  • SFC Service Function Chaining, business function chain
  • SFF Service Function Forwarder, service function forwarder
  • SFP Service Function Path, service function path
  • FC Flow Classifier, stream classifier
  • FW Fire Wall, firewall
  • TTL Time To Live, the time to live value.
  • the forwarding device of the prior art uses only the fields in the message to identify and process the message, which is not flexible enough.
  • the embodiment of the present application discloses a technical solution for packet processing, which is determined according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index in the process of processing the message.
  • the service function instance sends the encapsulated packet to the specific service function instance.
  • the message is identified and processed, and the packet is processed according to the identifier of the flow allocated by the network control device, and the processing manner is more flexible.
  • the specific implementation process is described in detail by the following embodiments.
  • FIG. 1 it is a schematic flowchart of a packet processing method disclosed in Embodiment 1 of the present application.
  • the message processing method is performed by a stream classifier (FC).
  • the FC may be a network device capable of communicating with one of the plurality of service function instances corresponding to the first service function (SF) in the service function chain (SF), or the SF may be the SFC The first SF.
  • the message processing method includes the following steps:
  • the flow table is used to indicate that the FC identifies a message of the flow.
  • the flow table contains rules for the flow, the information of the SFC to which the flow is bound, and the identification of the flow (the ID of the flow) assigned by the network control device.
  • the SFC to which the stream is bound means that the stream needs to be processed by the SFC.
  • the ID of the stream is allocated by the network control device for the stream.
  • the ID of the stream is used to identify the stream within the process that the stream is processed by the SFC.
  • the ID of the stream can be a field, and the field can be a number.
  • the network control device may assign an ID of the flow to the flow based on the application of the forwarding device.
  • the network control device releases the ID of the flow when the flow is revoked or the flow session is terminated.
  • the network control device may allocate an ID of the multiple flows for multiple flows.
  • the plurality of streams and the IDs of the plurality of streams are in one-to-one correspondence.
  • the information of the SFC includes a service index, a service function path identifier (SFP ID) corresponding to the SFC, a network address of multiple service function instances corresponding to the first SF of the SFC, and an instance of the multiple service function instances.
  • Tunnel information ;
  • the information of the SFC includes a service index, an SFP ID corresponding to the SFC, a network address of multiple service function instances corresponding to a next SF of the first SF of the SFC, and an instance of the multiple service function instances. Tunnel information.
  • the service index mentioned above is used to provide a location in the service path.
  • the service index is a field in a service path header.
  • the service path header may also include a service path ID field. Refer to section 3.3 on page 11 of the standard document draft-quinn-sfc-nsh-07 for service indexing, service path identification, and service path headers.
  • the service index is a time-to-live value (TTL) of the service function chain.
  • TTL is equal to the number of service functions included in the service function chain.
  • the service function chain includes at least N service functions, and N is a positive integer greater than 1.
  • the tunnel information mentioned above includes: a tunnel endpoint identifier (for example, an IP address), a tunnel type (for example, NSH OVER UDP), and a TTL (for example, a service index of the NSH).
  • a tunnel endpoint identifier for example, an IP address
  • a tunnel type for example, NSH OVER UDP
  • a TTL for example, a service index of the NSH
  • one SF is composed of at least one data link layer or a service function instance of the same service type reachable by the network layer.
  • the business function example is a combination of SF and SFF, for example: NSH aware VAS.
  • the service function instance has forwarding information.
  • the forwarding information includes routing information or interface information.
  • the routing table is searched based on the routing information, or the media access control (MAC) table is searched based on the interface information.
  • S104 Encapsulate the first packet as a second packet.
  • the second packet includes a service header and a tunnel header.
  • the service header includes the SFP ID, an ID of the flow, and a first value.
  • the first value is equal to the TTL minus one.
  • SFP-id For the SFP ID (SFP-id), refer to the standard document “draft-ietf-sfc-control-plane-03" published by the IETF on January 21, 2016. The name of the standard document is "Service Function Chaining (SFC) Control Plane Components&Requirements".
  • SFC Service Function Chaining
  • the embodiment of the application refers to the standard document Draft-ietf-sfc-control-plane-03, and the standard document draft-ietf-sfc-control-plane-03 is included as part of the disclosure of the present application;
  • the tunnel header is generated based on the tunnel information obtained in step S101.
  • the tunnel header includes a network address of the first service function instance.
  • the first service function instance is one of the plurality of service function instances.
  • the network address of the first service function instance is determined by the SFP ID, the ID of the stream, and the first value;
  • the network address of the first service function instance includes an IP address or a MAC protocol address.
  • the NSH header may be generated based on a Payload (net load) of a UDP packet, or may be generated based on a Payload of a transit frame.
  • the NSH may include a Base Header, a Service Path Header, and a context header.
  • base headers, service path headers, and context headers refer to section 3 on page 9-15 of the standard document draft-quinn-sfc-nsh-07.
  • the standard document “draft-quinn-sfc-nsh-07” is named "Network Service Header”. The standard document was published on February 24, 2015. The publisher of the standard document is the IETF.
  • the standard document “draft-quinn-sfc-nsh-07” is referred to in the embodiment of the present application, and the standard document “draft-quinn-sfc-nsh-07” is taken as an integral part of the content disclosed in the embodiment of the present application.
  • the FC performing the foregoing S101 to S105 is a network device capable of communicating with one of the plurality of service function instances corresponding to the first service function in the service function chain
  • the first The service function instance is one of multiple service function instances corresponding to the first SF of the SFC.
  • the FC of the foregoing S101 is the first SF of the SFC
  • the first service function instance is one of the plurality of service function instances corresponding to the next SF on the SFC.
  • S101-S105 describes the processing of a stream. When multiple flows exist in the network, you can process multiple flows by referring to the preceding steps and implement load balancing. The following describes how to implement the scenario of multiple streams in combination with S101-S105. The technical content not mentioned below can be referred to the description of S101-S105 above.
  • the flow table includes rules of the multiple flows, information of a service function chain to which the multiple flows are bound, and the multiple flows allocated by the network control device to the multiple flows Logo.
  • the plurality of streams are bound to the same business function chain.
  • the FC may identify the plurality of flows according to rules of the plurality of flows. For example, the FC may parse the message using the rules of the flow to determine the characteristics of the message.
  • the identifiers of the plurality of streams are in one-to-one correspondence with the plurality of streams.
  • a stream in this application refers to a collection of messages having the same characteristics.
  • the feature can be a port for receiving a message or a field in a packet header.
  • the feature may be a port for receiving a message, and a field in the header of the message.
  • the field in the message header can be a field or multiple fields.
  • the set of packets received by the same inbound interface can be considered to belong to the same flow. It can also be considered that the set of packets with the same quintuple (source IP address, destination IP address, source port, destination port, and protocol number) belongs to the same stream. It can also be considered that the set of packets in which the binary group (source IP address and destination IP address) are the same belongs to the same stream.
  • the FC acquires multiple messages. For example, the FC acquires message 1 and message 2. Specifically, the FC can receive the message 1 and the message 2 through the ingress port. The FC can also generate message 1 and message 2. Message 1 and Message 2 belong to Stream 1 and Stream 2, respectively.
  • the FC determines that the plurality of packets match the flow table. For example, the FC determines that the message 1 matches the stream 1 according to the rules of the multiple flows. Determining, according to the rules of the multiple flows, the packet 2 and the stream 2 Match. Specifically, the rules of the multiple flows include a rule of flow 1 and a rule of flow 2. The FC determines that the packet 1 matches the rule of the stream 1 by using the quintuple of the packet 1 as a search key. The FC determines that the packet 2 matches the rule of the stream 2 by using the quintuple of the packet 2 as a search key. The matching field of the rule of stream 1 contains the quintuple of message 1. The matching field of the rule of stream 2 contains the quintuple of message 2.
  • the FC encapsulates multiple packets to obtain multiple encapsulated packets.
  • the plurality of messages are aligned with the plurality of encapsulated messages.
  • the FC encapsulates the packet 1 into the packet 3 and the packet 2 into the packet 4.
  • the tunnel header contained in packet 3 contains the IP address of service function instance 1.
  • the tunnel header contained in packet 4 contains the IP address of service function instance 2.
  • the FC determines an IP address of the service function instance 1 according to the service function path identifier, the identifier of the stream 1 and the first value.
  • the FC determines an IP address of the service function instance 2 according to the service function path identifier, the identifier of the stream 2, and the first value.
  • the service function instance 1 and the service function instance 2 correspond to the same service function. Therefore, the service function instance 1 and the service function instance 2 can load balance traffic.
  • a business function instance can perform a corresponding business function.
  • a business function instance can include a processor and a memory coupled to the processor.
  • a computer program is included in the memory.
  • the processor performs a business function by executing the computer program.
  • a business function instance can be a router, a network switch, or a hardware firewall.
  • the FC sends a message 1 to the service function instance 1 and a message 2 to the service function instance 2, respectively. That is to say, different flows are sent to different service function instances, and load sharing of traffic is realized.
  • the load sharing of traffic can be achieved by using the method shown in FIG. 1 in a scenario of multiple flows.
  • Embodiment 1 of the present application is to receive a flow table sent by a network control device, where the flow table includes a rule of a flow, information of an SFC to which the flow is bound, and a flow allocated by the network control device. ID.
  • the packet processing process according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index determine a specific service function instance, and send the encapsulated to the determined specific service function instance.
  • the packet is processed and processed according to the identifier of the flow allocated by the network control device, and the processing manner is more flexible.
  • the embodiment of the present application refers to the standard document RFC7665, and the standard document RFC7665 is taken as an integral part of the content disclosed in the present application.
  • the method for processing a message according to the above-mentioned first embodiment of the present application, before performing the step S101 of receiving the flow table sent by the network control device, further includes:
  • the FC first sends a request to the network control apparatus to allocate an ID of the flow for the flow, where the request includes information of the flow;
  • the ID of the network control device to allocate the flow based on the FC request may be implemented, and the network control device may pre-save a mapping table of the ID of the flow and the information of the flow;
  • the information of the flow may be acquired.
  • the information of the stream can The port that the FC receives the packet belonging to the flow.
  • the information of the flow may also be a field in the message belonging to the flow. For example, the destination IP address. It can also be a combination of the above information, such as port and destination IP address.
  • the request may be sent to the network control device.
  • the request includes a port and a destination IP address.
  • the port and the destination IP address are used as search keys, and the entry matching the port and the destination IP address is searched in the pre-stored mapping table to obtain the ID of the stream. ;
  • a response including the ID of the flow is sent to the FC.
  • the identifier of the flow is obtained from the response.
  • the flow table is generated based on the ID of the flow.
  • the behavior of sending the identifier of the flow to the network device (corresponding SF) of the FC or the FC is referred to as an identifier of the flow distribution flow.
  • the network control device may allocate the ID of the flow to the flow by statically assigning the ID of the flow, or may assign the ID of the flow to the flow by dynamically assigning the ID of the flow.
  • the network control device predetermines a mapping relationship between the user identifier and the ID of the stream, and saves;
  • the FC After receiving the packet, the FC obtains the user information and sends the user information, and then the network control device searches for the mapping relationship and delivers a forwarding table containing the ID of the stream (the ID of the stream is assigned to the stream).
  • the network control device does not predetermine and save the mapping relationship between the user identifier and the ID of the stream;
  • the FC After the FC receives the packet, the FC obtains the user information and sends the user information, and then the network control device searches for the mapping relationship from the resource pool, and delivers a forwarding table containing the ID of the stream (the ID of the stream is assigned to the stream) .
  • Embodiment 1 of the present application discloses a message processing method.
  • the network address of the first service function instance included in the tunnel header of the second packet obtained in step S104, the network address of the first service function embodiment is the SFP ID, the ID of the stream, and The first value is determined.
  • the process of determining specifically includes the following two methods:
  • the FC receives the distribution of the traffic sent by the network control device:
  • the FC searches for an entry matching the SFP ID and the first value in the score publication with the SFP ID and the first value as a search key.
  • the entry in the flow distribution that matches the SFP ID and the first value includes a network address of the first SF and multiple service function instances corresponding to the first SF; or, the flow score
  • the entry in the publication that matches the SFP ID and the first value includes a network address of multiple service function instances corresponding to the next SF and the next SF;
  • the FC does not receive the distribution of the distribution issued by the network control device:
  • the FC determines, by the SFP ID and the first value, a network address of the first SF and multiple service function instances corresponding to the first SF. Or, the FC determines, by using the SFP ID and the first value, a network address of multiple service function instances corresponding to the next SF and the next SF;
  • the network address of the first service function instance is determined from the network addresses of the plurality of service function instances corresponding to the first SF or the next SF by using the SFP ID and the ID of the stream as a hash key.
  • the FC can determine the first SFC in different ways according to the content sent by the network control device.
  • the network address of the service function instance of the SF or the next SF That is, if the FC receives the distribution of the traffic sent by the network control device.
  • the FC publishes, according to the flow distribution, a network address of the first service function instance in the network address of the multiple service function instances of the first or next SF of the SFC, and sends the encapsulated second packet to the first Business function instance;
  • the FC may determine, by using the SFP ID and the ID of the stream as a hash key, from a network address of multiple service function instances corresponding to the first SF or the next SF. A network address of the service function instance, and the encapsulated second packet is sent to the first service function instance.
  • the NSH needs to be extended.
  • the location of the service flow ID in the service header includes:
  • FIG. 1 A schematic diagram of the format of the service header shown in FIG.
  • the service header is extended. That is to extend a new TLV-Class.
  • the TLV-Class includes a Type Code and an ID of the stream.
  • the Type Code is used to indicate that the TLV-Class carries an ID of the stream. That is, carrying the ID of the stream in the TLV;
  • FIG. 1 A schematic diagram of the format of the service header shown in FIG.
  • the value of the MD-type field in the service header is equal to 0x1 (representing 1 in hexadecimal)
  • the Mandatory Context Header in the traffic header carries the ID of the stream.
  • the embodiment of the present application determines a specific service function instance according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index in the message processing process, and The determined specific service function instance sends the encapsulated message.
  • the packet is processed and processed according to the identifier of the flow allocated by the network control device, and the processing manner is more flexible.
  • FIG. 4 shows another packet processing method.
  • the packet processing method is performed by the first service function instance corresponding to the first SF of the SFC.
  • the first SF is the last SF on the non-SFC. As shown in Figure 4, the following steps are included:
  • the service header in the second packet includes an SFP ID corresponding to the SFC, an ID of the stream allocated by the network control device, and a first value.
  • the first value is equal to the service index minus one.
  • the tunnel header in the second packet includes a network address of the first service function instance corresponding to the first SF.
  • the second packet includes a first packet.
  • the second message involved in S201 may be the second message involved in S104.
  • the execution entity first service function instance of the method described in FIG. 4 may be the first service function instance involved in S105.
  • the first packet involved in S201 may be the first packet involved in S101. Therefore, for the first packet, the second packet, and the first service function instance, reference may be made to the description of the method shown in FIG. 1 in the embodiment, and details are not described herein again.
  • the service index mentioned above is used to provide a location in the service path.
  • the service index is a field in a service path header.
  • the service path header may also include a service path ID field. Refer to section 3.3 on page 11 of the standard document draft-quinn-sfc-nsh-07 for service indexing, service path identification, and service path headers.
  • the service index is a time-to-live value (TTL) of the service function chain.
  • TTL is equal to the number of service functions included in the service function chain.
  • the business function chain includes at least N Business function, N is a positive integer greater than 1.
  • the tunnel information mentioned above includes: a tunnel endpoint identifier (for example, an IP address), a tunnel type (for example, NSH OVER UDP), and a TTL (for example, a service index of the NSH).
  • a tunnel endpoint identifier for example, an IP address
  • a tunnel type for example, NSH OVER UDP
  • a TTL for example, a service index of the NSH
  • S202 Determine, according to the SFP ID, the network address of the second service function instance corresponding to the next SF of the first SF, and the first value.
  • S203 Perform service processing on the first packet according to the service header in the second packet.
  • the first packet is encapsulated into a third packet.
  • the service header in the third packet includes the SFP ID, an ID of the stream, and a second value.
  • the second value is equal to the first value minus one.
  • the tunnel header in the third packet includes a network address of the second service function instance corresponding to the next SF of the first SF.
  • the network address of the second service function instance is determined by the SFP ID, the ID of the stream, and the second value.
  • a message processing method is disclosed based on the above-mentioned Embodiment 3 of the present application.
  • the network address of the second service function instance included in the tunnel header of the third packet obtained in S204 is executed.
  • the network address of the second service function embodiment is determined by the SFP ID, the ID of the stream, and the second value.
  • the process of determining specifically includes the following three methods:
  • the first service function instance may receive the SFP ID including the flow application, the service index, and a next service function corresponding to the first service function selected for the ID of the flow.
  • the first service instance may determine a service function instance to be forwarded to the next SF of the SFC based on the information included in the information table, and perform service processing and forwarding. After the third packet, the service header and the tunnel header of the third packet are updated.
  • the first service function instance receives the distribution of the traffic sent by the network control device:
  • the entry that matches the SFP ID and the second value includes a next SF of the first SF, and a network address of multiple service function instances corresponding to the next SF;
  • the first service function instance does not receive the score distribution sent by the network control device:
  • the network address of the second service function instance is determined from the network addresses of the plurality of service function instances corresponding to the next SF by using the SFP ID and the ID of the stream as a hash key.
  • the first service function instance that receives the second packet is a service function instance of the last SF on the SFC, in the process of performing the forwarding in the manner of receiving the distribution of the distribution or not receiving the distribution of the distribution.
  • Time The service header of the second packet is removed, and the forwarding is performed according to the L2/L3 routing mode.
  • the packet processing method disclosed in the foregoing embodiment of the present application is performed by the first service function instance of the non-last SF on the SFC of the streaming application.
  • the second message includes an identifier of the stream allocated by the network control device.
  • the packet processing process according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index determine a specific service function instance, and send the encapsulated to the determined specific service function instance. Message.
  • the packet is processed and processed according to the identifier of the flow allocated by the network control device, and the processing manner is more flexible.
  • FC execution message processing method disclosed in the first embodiment of the present application the FC execution message processing method disclosed in the second embodiment, and the first service function instance of the non-last SF on the SFC are disclosed in the third embodiment.
  • the packet processing method is described in the fourth embodiment of the present application.
  • FIG. 5 it is a schematic block diagram of the structure of the clouded CPE solution.
  • the process of performing flow forwarding in the solution includes:
  • STATION1 The network operation and maintenance personnel pull up a set of corresponding NAT and FW service instances on the remote end (for example, the server in the metropolitan area network DC) and pre-configure them to provide network connectivity.
  • AAA DB Add authentication and authorization information in the authentication, authorization and accounting data base (AAA DB). For example, configure authentication mode, domain information, fine binding circuit information, and authorized service chain ID.
  • AAA DB is equivalent to a network control device.
  • the broadband remote access server (BRAS) according to the circuit information of any uplink message from the L2CPE (access interface + QinQ, for example, the L2CPE and the OLT shown in FIG. 5 layer each layer of the message) VLAN tag) triggers authentication.
  • the authentication request message carries the information such as the access domain, the user information, and the network access identifier to the authentication, authorization, and accounting server (AAA Server) authentication.
  • BRAS can be used to implement FC.
  • BRAS can also be the first service node on the service chain.
  • the BRAS After receiving the authentication and authorization result, the BRAS generates a corresponding user table.
  • the flow rule table information of the L2CPE upstream traffic identifier (access interface + QinQ) to the SFC ID and the ID mapping of the flow is reflected (the flow rule table here is used to implement the flow table in S101).
  • the S4:vCPE control and management device can load and preload the service function instances of the service function according to NAT, FW (NAT and FW are equivalent to service nodes of the service chain).
  • the load balancing policy is used to generate a specific service function instance that is sent to the BRAS, the NAT, and the FW, and is used to guide the newly-introduced L2CPE traffic to each suitable service function instance in the service function chain, or to adjust the existing part of the migration.
  • L2CPE traffic of the service function instance (in the case where there is a synchronization of the service session data between the old and new service function instances that require service traffic migration).
  • the SFC controller can be set to issue the default stream distribution.
  • the BRAS or NAT, FW service instance check score publication does not hit, it can be distributed according to the default stream distribution.
  • the BRAS is the NSH (service header) of the L2CPE uplink traffic encapsulation service packet, and carries the corresponding SFC ID, service index, and flow ID, and is forwarded to the corresponding next service function according to the traffic distribution of the service function chain.
  • NSH service header
  • SFC ID service index
  • flow ID flow ID
  • a business function such as CGN 1, or CGN2, ..., or CGN N in Figure 5
  • the service flow of the L2CPE whose circuit information is (P+V+V:1/100/200) is accessed from the BRAS, and the ID (Flow ID) of the assigned flow is 1, specifying The application service chain business chain BRAS ⁇ CGN ⁇ FW, the corresponding SFC ID is 2.
  • the BRAS forwards the uplink traffic of the L2CPE to the CGN service instance CGN1 according to the flow distribution
  • the CGN1 forwards the uplink traffic to the L2CPE to the FW service instance FW1 according to the flow distribution.
  • the packet processing method disclosed in the embodiment of the present application determines the specificity according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index in the packet processing process.
  • the service function instance sends the encapsulated packet to the specific service function instance.
  • the packet is processed and processed according to the identifier of the flow allocated by the network control device, and the processing manner is more flexible.
  • the corresponding fifth embodiment of the present application further discloses an FC that executes the foregoing packet processing method.
  • the FC may be a network device capable of communicating with one of a plurality of service function instances corresponding to the first SF in the SFC.
  • the FC can be The first SF of the SFC.
  • the FC mainly includes a receiving unit 11, a processing unit 12, and a transmitting unit 13.
  • the receiving unit 11 is configured to receive a flow table sent by the network control device, and obtain the first packet;
  • the flow table includes rules of the flow, information of the SFC to which the flow is bound, and an ID of the flow allocated by the network control device.
  • the information of the SFC includes a service index, an SFP ID corresponding to the SFC, a network address of multiple service function instances corresponding to the first SF of the SFC, and tunnel information of the multiple service function instances.
  • the information of the SFC includes a service index, an SFP ID corresponding to the SFC, a network address of multiple service function instances corresponding to a next SF of the first SF of the SFC, and an instance of the multiple service function instances. Tunnel information.
  • the service index is a lifetime time value of the SFC.
  • the time to live value is equal to the number of SFs included on the SFC;
  • the processing unit 12 is configured to determine that the first packet obtained by the receiving unit 11 matches the flow table, and encapsulate the first packet into a second packet.
  • the second packet includes a service header and a tunnel header.
  • the service header includes the SFP ID, an ID of the flow, and a first value.
  • the first value is equal to the service index minus one.
  • the tunnel header is generated based on the tunnel information.
  • the tunnel header includes a network address of the first service function instance.
  • the first service function instance is one of the plurality of service function instances.
  • the network address of the first service function instance is determined by the SFP ID, the ID of the stream, and the first value.
  • the sending unit 13 is configured to send the second packet to the first service function instance determined by the processing unit 12.
  • the processing unit is further configured to: send, to the network control apparatus, a request for allocating an identifier of the flow to the flow, where the request includes the flow And receiving, by the network control device, a response of the identifier of the flow that is allocated by the network control device, where the response includes an identifier of the flow, where the identifier of the flow is different from the information of the flow.
  • the network address of the first service function instance is identified by the service function path, and the identifier of the flow and the processing unit 12 determined by the first value are sent by the network control device.
  • the flow distribution is published, and the determination of the network address of the first service function instance has two different execution modes:
  • the FC receives the distribution of the traffic sent by the network control device:
  • the processing unit 12 is configured to search, in the score distribution, an entry matching the SFP ID and the first value by using the SFP ID and the first value as a search key.
  • the entry in the distribution publication that matches the SFP ID and the first value includes a network address of the first SF and multiple service function instances corresponding to the first SF.
  • the entry in the distribution publication that matches the SFP ID and the first value includes a network address of multiple service function instances corresponding to the next SF and the next SF. Determining, by using the SFP ID and the ID of the stream as a search key, from a network address of multiple service function instances included in the entry that matches the SFP ID and the first value in the distribution publication a network address of the first service function instance;
  • the FC does not receive the distribution of the traffic sent by the network control device:
  • the processing unit 12 is configured to determine, by using the SFP ID and the first value, a network address of the first SF and multiple service function instances corresponding to the first SF. Or determining, by using the SFP ID and the first value, a network address of multiple service function instances corresponding to the next SF and the next SF.
  • the network address of the first service function instance is determined from the network addresses of the plurality of service function instances corresponding to the first SF or the next SF by using the SFP ID and the ID of the stream as a hash key.
  • the processing header obtained when the foregoing encapsulation is performed is further configured to: when the service header is an NSH network service header, when the value of the MD-type field in the service header is equal to 0x2, the service header includes a TLV-Class.
  • the TLV-Class includes a Type Code and an identifier of the stream.
  • the Type Code is used to indicate that the TLV-Class carries an identifier of the flow;
  • the service header is an NSH network service header
  • the value of the MD-type field in the service header is equal to 0x1
  • the Mandatory Context Header in the service header carries the identifier of the flow.
  • each unit in the FC disclosed above may be integrated into an entity in a practical application, as shown in FIG. 7, including a receiver 101, a processor 102, and a transmitter 103.
  • the receiving unit 11 may be the receiver 101
  • the sending unit 13 may be the transmitter 103
  • the processing unit 12 may be the processor 102.
  • the processor 101 and the transmitter 103 are controlled by the processor 102 to perform corresponding operations.
  • the processor 2 may be a central processing unit CPU, or a specific integrated circuit ASIC, or one configured to implement the embodiments of the present application. Multiple integrated circuits.
  • the embodiment of the present application further discloses a storage device, where the storage device is applicable to the FC, and the storage device includes a memory and a processor connected to the memory through a bus. ;
  • the memory stores program code for performing message processing, the program code includes computer operation instructions, and the processor is configured to run the program code;
  • the program code for performing message processing includes:
  • the flow table contains rules for the flow, information of the SFC to which the flow is bound, and the ID of the flow assigned by the network control device.
  • the information of the SFC includes a service index, an SFP ID corresponding to the SFC, a network address of multiple service function instances corresponding to the first SF of the SFC, and tunnel information of the multiple service function instances.
  • the information of the SFC includes a service index, an SFP ID corresponding to the SFC, a network address of multiple service function instances corresponding to a next SF of the first SF of the SFC, and an instance of the multiple service function instances.
  • the service index is a lifetime time value of the SFC. The lifetime time value is equal to the number of SFs included on the SFC;
  • the first packet is encapsulated into a second packet.
  • the second packet includes a service header and a tunnel header.
  • the service header includes the SFP ID, an ID of the flow, and a first value.
  • the first value is equal to the service index minus one.
  • the tunnel header is generated based on the tunnel information.
  • the tunnel header includes a network address of the first service function instance.
  • the first service function instance is one of the plurality of service function instances.
  • the network address of the first service function instance is determined by the SFP ID, the ID of the stream, and the first value.
  • the above mentioned memory may include a high speed RAM memory, and may also include a nonvolatile memory such as at least one disk memory;
  • the processor may be a central processing unit CPU, or a specific integrated circuit ASIC, or one or more integrated circuits configured to implement embodiments of the present application.
  • the corresponding fifth embodiment of the present application further corresponding to the first service function instance corresponding to the first SF of the SFC that executes the packet processing method, the first The SF is not the last SF on the SFC.
  • the first service function instance 20 mainly includes: a receiving unit 21, a processing unit 22, and a sending unit 23.
  • the receiving unit 21 is configured to receive a second packet forwarded by the first service function instance corresponding to the previous service function of the first service function in the FC or the SFC.
  • the service header in the second packet includes an SFP ID corresponding to the SFC, an ID of a stream allocated by the network control device, and a first value.
  • the first value is equal to the service index minus one.
  • the tunnel header in the second packet includes a network address of the first service function instance corresponding to the first service function.
  • the second packet includes a first packet.
  • the service index is a lifetime time value of the SFC.
  • the time to live value is equal to the number of service functions included on the SFC;
  • the processing unit 22 is configured to determine, according to the SFP ID received by the receiving unit 21, the ID of the stream and the second value, a network of a second service function instance corresponding to a next SF of the first SF. address. And performing service processing on the first packet according to the service header in the second packet received by the receiving unit, and encapsulating the first packet into a third packet.
  • the service header in the third packet includes the SFP ID, an ID of the stream, and a second value.
  • the second value is equal to the first value minus one.
  • the tunnel header in the third packet includes a network address of the second service function instance corresponding to the next SF of the first SF.
  • the network address of the second service function instance is determined by the SFP ID, the ID of the stream, and the second value.
  • the sending unit 23 is configured to send the third packet to the second service function instance determined by the processing unit 22.
  • the receiving unit 21 is further configured to receive the SFP ID including the flow application, the service index, and the selected for the ID of the flow.
  • the processing unit 22 that determines the network address of the second service function instance by using the SFP ID, the ID of the stream, and the second value further includes:
  • the processing unit 22 is further configured to search, in the score distribution, an entry matching the SFP ID and the second value by using the SFP ID and the second value as a search key.
  • the entry matching the SFP ID and the second value in the flow distribution includes the next SF of the first SF and the network address of the multiple service function instances corresponding to the next SF. Determining, by using the SFP ID and the ID of the stream as a search key, a network address of multiple service function instances included in the entry that matches the SFP ID and the second value in the distribution publication The network address of the second service function instance;
  • the processing unit 22 is further configured to determine, by the SFP ID and the second value, a next SF of the first SF, and a network address of multiple service function instances corresponding to the next SF.
  • the network address of the second service function instance is determined from the network addresses of the plurality of service function instances corresponding to the next SF by using the SFP ID and the ID of the stream as a hash key.
  • each module in the foregoing disclosed service function instance may be integrated into an entity, as shown in FIG. 9, including the receiver 201, the processor 202, and Transmitter 203.
  • the receiving unit 21 may be the receiver 201
  • the processing unit 22 may be the processor 202
  • the sending unit 23 may be the transmitter 203.
  • the receiver 201 and the transmitter 203 are controlled by the processor 202 to perform corresponding operations.
  • the processor 202 may be a central processing unit CPU, or a specific integrated circuit ASIC, or one configured to implement the embodiments of the present application. Multiple integrated circuits.
  • the embodiment of the present application further discloses a storage device, where the storage device is applicable to the service function instance, where the storage device includes a memory and a bus and the memory. Connected processor
  • the memory stores program code for performing message processing, the program code includes computer operation instructions, and the processor is configured to run the program code;
  • the program code for performing message processing includes:
  • the service header in the second packet includes a service function path identifier corresponding to the service function chain, an identifier of the stream allocated by the network control device, and a first value.
  • the first value is equal to the service index minus one.
  • the tunnel header in the second packet includes a network address of the first service function instance corresponding to the first service function.
  • the second packet includes a first packet.
  • the service index is a lifetime time value of the service function chain. The lifetime time value is equal to the number of service functions included in the service function chain;
  • the first packet is encapsulated into a third packet.
  • the service header in the third packet includes the service function path identifier, the identifier of the stream, and a second value.
  • the second value is equal to the first value minus one.
  • the tunnel header in the third packet includes a network address of the second service function instance corresponding to the next service function of the first service function.
  • the network address of the second service function instance is identified by the service function path, and the identifier of the flow and the second value are determined;
  • the embodiment of the present application further discloses a message processing system 40, as shown in FIG. 10, including the FC disclosed in FIG. 6 or FIG. 7 or the FC applicable to the storage device disclosed in the embodiment of the present application.
  • the network control device 30 is a network controller or an AAA server, and the ID control unit 31 of the flow is provided in the network control device 30.
  • a packet processing system disclosed in the embodiment of the present application determines the specificity according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index in the packet processing process.
  • the service function instance sends the encapsulated packet to the determined specific service function instance.
  • the technical solution disclosed in the embodiment of the present application is used to identify and process a packet according to a field in a packet, and the packet is processed according to the identifier of the stream allocated by the network control device. The way is more flexible.

Abstract

Disclosed in embodiments of the present invention are a packet processing method, traffic classifier, and service function instance. The method comprises: receiving, by a traffic classifier, a flow table sent by a network control device and flow identifiers allocated by the network control device; acquiring a first packet; determining that the first packet matches the flow table; packaging the first packet as a second packet, wherein the second packet comprises a service header and a tunnel header, the service header comprises a service function path identifier, a flow identifier, and a first value, and the tunnel header comprises a network address of a first service function instance; and sending the second packet to the first service function instance. The technical solution disclosed in the embodiments of the present application processes packets according to the flow identifier allocated by a network control device, enabling more flexible processing.

Description

一种报文处理方法、流分类器和业务功能实例A packet processing method, a stream classifier, and a service function instance
本申请要求于2016年2月6日提交中国专利局、申请号为CN 201610083925.6、发明名称为“一种报文处理方法、流分类器和业务功能实例”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed on February 6, 2016, the Chinese Patent Office, the application number is CN 201610083925.6, and the invention name is “a message processing method, a stream classifier, and a business function example”. The content is incorporated herein by reference.
技术领域Technical field
本发明涉及通信技术领域。更具体地,涉及一种报文处理方法、流分类器和业务功能实例。The invention relates to the field of communication technology. More specifically, it relates to a message processing method, a stream classifier, and a service function instance.
背景技术Background technique
业务功能链(Service Function Chaining,SFC)是一种部署增值业务的机制。Service Function Chaining (SFC) is a mechanism for deploying value-added services.
在现有技术中,业务功能链中的一个业务功能可能对应多个业务功能实例。所述多个业务功能实例能够对流量进行负载分担。如,对于防火墙这一业务功能,可能对应防火墙1、防火墙2和防火墙3三个业务功能实例。In the prior art, one service function in a service function chain may correspond to multiple service function instances. The multiple service function instances are capable of load balancing traffic. For example, for the service function of the firewall, it may correspond to three service function instances of firewall 1, firewall 2 and firewall 3.
多个业务功能实例进行流量负载分担的过程中,转发装置仅使用报文中的字段(例如五元组)来区分不同会话,从而实现对流量的负载分担。In the process of load balancing of multiple service function instances, the forwarding device uses only the fields in the packet (for example, a quintuple) to distinguish different sessions, thereby implementing load balancing on traffic.
现有技术中转发装置仅使用报文中的字段来对报文进行识别以及处理,不够灵活。In the prior art, the forwarding device only uses the fields in the packet to identify and process the packet, which is not flexible enough.
发明内容Summary of the invention
本申请实施例提供一种报文处理方法、流分类器和业务功能实例,以解决现有技术中转发装置对报文进行处理不够灵活的问题。The embodiment of the present invention provides a packet processing method, a traffic classifier, and a service function instance, so as to solve the problem that the forwarding device does not process the packet flexibly in the prior art.
为解决上述问题,本申请实施例提供了如下技术方案:To solve the above problem, the embodiment of the present application provides the following technical solutions:
本申请实施例第一方面公开了一种报文处理方法,所述方法由流分类器执行,所述方法包括:A first aspect of the embodiments of the present application discloses a packet processing method, where the method is performed by a flow classifier, and the method includes:
接收网络控制装置发送的流表,所述流表包含流的规则,所述流被绑定到的业务功能链的信息,以及所述网络控制装置分配的所述流的标识,所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,或者所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能的下一个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,所述业务索引是所述业务功能链的生存时间值,所述生存时间值等于所述业务功能链上所包含的业务功能的数量;Receiving a flow table sent by the network control device, where the flow table includes rules of the flow, information of the service function chain to which the flow is bound, and an identifier of the flow allocated by the network control device, the service function The information of the chain includes a service index, a service function path identifier corresponding to the service function chain, a network address of multiple service function instances corresponding to the first service function of the service function chain, and a tunnel of the multiple service function instances. The information, or the information of the service function chain, includes a service index, a service function path identifier corresponding to the service function chain, and a network of multiple service function instances corresponding to the next service function of the first service function of the service function chain. An address, and the tunnel information of the multiple service function instances, where the service index is a lifetime value of the service function chain, where the lifetime time value is equal to the number of service functions included in the service function chain;
获取第一报文;Obtain the first message;
确定所述第一报文与所述流表匹配;Determining that the first packet matches the flow table;
将所述第一报文封装为第二报文,所述第二报文包括业务头以及隧道头,所述业务头包括所述业务功能路径标识,所述流的标识以及第一值,所述第一值等于所述业务索引减1,所述隧道头是基于所述隧道信息生成的,所述隧道头中包括第一业务功能实例的网络地址,所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定; The first packet is encapsulated into a second packet, where the second packet includes a service header and a tunnel header, and the service header includes the service function path identifier, the identifier of the stream, and a first value. The first value is equal to the service index minus 1. The tunnel header is generated based on the tunnel information, where the tunnel header includes a network address of a first service function instance, and the first service function instance is the An example of a service function of the plurality of service function instances, where a network address of the first service function instance is identified by the service function path, and the identifier of the flow and the first value are determined;
向所述第一业务功能实例发送所述第二报文;Sending the second packet to the first service function instance;
其中,所述流分类器是能够与所述业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者,所述流分类器是所述业务功能链的首个业务功能。The flow classifier is a network device capable of communicating with one of the plurality of service function instances corresponding to the first service function in the service function chain, or the flow classifier is the service The first business function of the function chain.
在本申请实施例第一方面的第一种实现方式中,在所述接收网络控制装置发送的流表之前,还包括:In the first implementation manner of the first aspect of the embodiment, before the receiving the flow table sent by the network control device, the method further includes:
向所述网络控制装置发送为所述流分配所述流的标识的请求,所述请求中包含所述流的信息;Sending, to the network control apparatus, a request for assigning an identifier of the flow to the flow, where the request includes information of the flow;
接收所述网络控制装置为所述流分配的所述流的标识的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。Receiving a response of the identifier of the flow that is allocated by the network control device to the flow, where the response includes an identifier of the flow, where the identifier of the flow is different from the information of the flow.
在本申请实施例第一方面的第二种实现方式中,由所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能实例的网络地址,包括:In a second implementation manner of the first aspect of the embodiment, the identifier of the flow and the first value determine a network address of the first service function instance, where:
所述流分类器以所述业务功能路径标识和所述第一值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第一值匹配的表项,所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或者所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址;The flow classifier searches for, in the flow distribution publication, an entry matching the service function path identifier and the first value in the flow distribution publication by using the service function path identifier and the first value as a search key, the flow score The entry in the publication that matches the service function path identifier and the first value includes the first service function and a network address of multiple service function instances corresponding to the first service function, or the flow distribution is published. The entry that matches the service function path identifier and the first value includes a network address of the next service function and multiple service function instances corresponding to the next service function;
以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址;Determining, by the service function path identifier and the identifier of the flow, a plurality of service function instances included in the entry that matches the service function path identifier and the first value in the flow distribution Determining a network address of the first service function instance in the network address;
或者,or,
所述流分类器以所述业务功能路径标识和所述第一值确定所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址;Determining, by the traffic classifier identifier and the first value, the first service function and a network address of multiple service function instances corresponding to the first service function, or the next service function And a network address of multiple service function instances corresponding to the next service function;
以所述业务功能路径标识和所述流的标识为哈希键,从所述首个业务功能或所述下一个业务功能对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。Determining, by the service function path identifier and the identifier of the flow, a hash key, and determining, by the first service function or a network address of multiple service function instances corresponding to the next service function, a first service function instance website address.
在本申请实施例第一方面的第三种实现方式中,所述业务头是NSH网络服务头,所述流的标识在所述业务头中的位置包括:In a third implementation manner of the first aspect of the embodiment, the service header is an NSH network service header, and the location of the identifier of the flow in the service header includes:
当所述业务头中的MD-type字段的值等于0x2时,所述业务头包含TLV-Class,所述TLV-Class包含Type Code和所述流的标识,所述Type Code用于表示所述TLV-Class携带所述流的标识;When the value of the MD-type field in the service header is equal to 0x2, the service header includes a TLV-Class, and the TLV-Class includes a Type Code and an identifier of the stream, where the Type Code is used to indicate the The TLV-Class carries the identifier of the stream;
或者,or,
当所述业务头中的MD-type字段的值等于0x1时,所述业务头中的Mandatory Context Header携带所述流的标识。When the value of the MD-type field in the service header is equal to 0x1, the Mandatory Context Header in the service header carries the identifier of the flow.
本申请实施例第二方面公开了一种流分类器,所述流分类器是能够与业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者所述流分类器是所述业务功能链的首个业务功能,所述流分类器包括:The second aspect of the embodiment of the present application discloses a flow classifier, which is a network device capable of communicating with one of a plurality of service function instances corresponding to the first service function in the service function chain, Or the flow classifier is the first service function of the service function chain, and the flow classifier includes:
接收单元,用于接收网络控制装置发送的流表,以及获取第一报文,所述流表包含流的规则,所述流被绑定到的业务功能链的信息,以及所述网络控制装置分配的所述流的标 识,所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,或者所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能的下一个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,所述业务索引是所业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;a receiving unit, configured to receive a flow table sent by the network control device, and obtain a first packet, where the flow table includes a rule of the flow, information of the service function chain to which the flow is bound, and the network control device The assigned label of the stream The information of the service function chain includes a service index, a service function path identifier corresponding to the service function chain, a network address of multiple service function instances corresponding to the first service function of the service function chain, and the multiple The tunnel information of the service function instance, or the information of the service function chain, includes a service index, a service function path identifier corresponding to the service function chain, and a next service function corresponding to the first service function of the service function chain. The network address of the service function instance, and the tunnel information of the plurality of service function instances, where the service index is a lifetime time value of the service function chain, and the lifetime time value is equal to the service function included in the service function chain. Quantity
处理单元,用于确定所述接收单元获取的第一报文与所述流表匹配,并将所述第一报文封装为第二报文,所述第二报文包括业务头以及隧道头,所述业务头包括所述业务功能路径标识,所述流的标识以及第一值,所述第一值等于所述业务索引减1,所述隧道头是基于所述隧道信息生成的,所述隧道头中包括第一业务功能实例的网络地址,所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定;a processing unit, configured to determine that the first packet obtained by the receiving unit matches the flow table, and encapsulate the first packet into a second packet, where the second packet includes a service header and a tunnel header The service header includes the service function path identifier, the identifier of the flow, and a first value, where the first value is equal to the service index minus 1, and the tunnel header is generated based on the tunnel information. The network header includes a network address of the first service function instance, where the first service function instance is one of the multiple service function instances, and the network address of the first service function instance is used by the service a function path identifier, the identifier of the stream and the first value determination;
发送单元,用于向所述处理单元确定的第一业务功能实例发送所述第二报文。And a sending unit, configured to send the second packet to the first service function instance determined by the processing unit.
在本申请实施例第二方面的第一种实现方式中,所述处理单元还用于:In a first implementation manner of the second aspect of the embodiment, the processing unit is further configured to:
向所述网络控制装置发送为所述流分配所述流的标识的请求,所述请求中包含所述流的信息,以及接收所述网络控制装置为所述流分配的所述流的标识的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。Sending, to the network control device, a request to allocate an identifier of the flow to the flow, the request including information of the flow, and receiving an identifier of the flow allocated by the network control device for the flow In response, the response includes an identifier of the flow, and the identifier of the flow is different from the information of the flow.
在本申请实施例第二方面的第二种实现方式中,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定的所述处理单元,包括:In a second implementation manner of the second aspect of the embodiment, the network address of the first service function instance is identified by the service function path, and the identifier of the stream and the processing determined by the first value are Units, including:
所述处理单元,用于以所述业务功能路径标识和所述第一值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第一值匹配的表项,所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或者所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含的多个业务功能实例的网络地址中确定所述第一业务功能实例的网络地址;The processing unit is configured to: in the flow distribution publication, look up an entry matching the service function path identifier and the first value by using the service function path identifier and the first value as a search key, The entry in the score publication that matches the service function path identifier and the first value includes the network address of the first service function and multiple service function instances corresponding to the first service function, or the flow The entry in the sub-publishing that matches the service function path identifier and the first value includes the network address of the next service function and the multiple service function instances corresponding to the next service function, and the service function The path identifier and the identifier of the flow are search keywords, and the network address of the plurality of service function instances included in the entry that matches the service function path identifier and the first value in the flow distribution is determined. Describe the network address of the first service function instance;
或者,or,
所述处理单元,用于以所述业务功能路径标识和所述第一值确定所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为哈希键,从所述首个业务功能或下一个业务功能对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。The processing unit is configured to determine, by the service function path identifier and the first value, a network address of the first service function and multiple service function instances corresponding to the first service function, or the next one a service function and a network address of the plurality of service function instances corresponding to the next service function, where the service function path identifier and the identifier of the stream are hash keys, from the first service function or the next service function The network address of the first service function instance is determined in the network address of the corresponding multiple service function instances.
在本申请实施例第二方面的第三种实现方式中,所述处理单元还用于:In a third implementation manner of the second aspect of the embodiment, the processing unit is further configured to:
在所述业务头是NSH网络服务头的情况下,当所述业务头中的MD-type字段的值等于0x2时,所述业务头包含TLV-Class,所述TLV-Class包含Type Code和所述流的标识,所述Type Code用于表示所述TLV-Class携带所述流的标识;In the case that the service header is an NSH network service header, when the value of the MD-type field in the service header is equal to 0x2, the service header includes a TLV-Class, and the TLV-Class includes a Type Code and a An identifier of the flow, the Type Code is used to indicate that the TLV-Class carries an identifier of the flow;
或者,or,
在所述业务头是NSH网络服务头的情况下,当所述业务头中的MD-type字段的值等于0x1时,所述业务头中的Mandatory Context Header携带所述流的标识。 In the case that the service header is an NSH network service header, when the value of the MD-type field in the service header is equal to 0x1, the Mandatory Context Header in the service header carries the identifier of the flow.
本申请实施例第三方面公开了一种流分类器,包括:所述流分类器可以是能够与业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者所述流分类器可以是所述业务功能链的首个业务功能,所述流分类器包括:The third aspect of the embodiment of the present application discloses a flow classifier, which includes: the flow classifier may be a communication function instance that can communicate with one of a plurality of service function instances corresponding to the first service function in the service function chain. The network device, or the flow classifier, may be the first service function of the service function chain, and the flow classifier includes:
接收器,用于接收网络控制装置发送的流表,以及获取第一报文,所述流表包含流的规则,所述流被绑定到的业务功能链的信息,以及所述网络控制装置分配的流的标识,所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,或者所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能的下一个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,所述业务索引是所业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;a receiver, configured to receive a flow table sent by the network control device, and obtain a first packet, where the flow table includes a rule of the flow, information of the service function chain to which the flow is bound, and the network control device An identifier of the allocated service, where the information of the service function chain includes a service index, a service function path identifier corresponding to the service function chain, and a network address of multiple service function instances corresponding to the first service function of the service function chain, And the tunnel information of the multiple service function instances, or the information of the service function chain, including a service index, a service function path identifier corresponding to the service function chain, and a next service of the first service function of the service function chain a network address of the plurality of service function instances corresponding to the function, and tunnel information of the plurality of service function instances, where the service index is a lifetime time value of the service function chain, where the lifetime time value is equal to that included in the service function chain The number of business functions;
处理器,用于确定所述接收器获取的第一报文与所述流表匹配,并将所述第一报文封装为第二报文,所述第二报文包括业务头以及隧道头,所述业务头包括所述业务功能路径标识,所述流的标识以及第一值,所述第一值等于所述业务索引减1,所述隧道头是基于所述隧道信息生成的,所述隧道头中包括第一业务功能实例的网络地址,所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例,所述第一业务功能实例的网际协议或多媒体接入控制地址由所述业务功能路径标识,所述流的标识和所述第一值确定;a processor, configured to determine that the first packet obtained by the receiver matches the flow table, and encapsulate the first packet into a second packet, where the second packet includes a service header and a tunnel header The service header includes the service function path identifier, the identifier of the flow, and a first value, where the first value is equal to the service index minus 1, and the tunnel header is generated based on the tunnel information. The network header includes a network address of the first service function instance, where the first service function instance is one of the multiple service function instances, and the first service function instance is an Internet protocol or multimedia access. The control address is identified by the service function path, and the identifier of the flow and the first value are determined;
发送器,用于向所述处理器确定的第一业务功能实例发送所述第二报文。And a transmitter, configured to send the second packet to the first service function instance determined by the processor.
本申请实施例第四方面公开了一种存储设备,所述存储设备适用于流分类器,所述流分类器可以是能够与业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者所述流分类器可以是所述业务功能链的首个业务功能,所述存储设备包括存储器和通过总线与所述存储器连接的处理器;A fourth aspect of the embodiments of the present disclosure discloses a storage device, where the storage device is applicable to a traffic classifier, where the traffic classifier may be in multiple service function instances corresponding to the first service function in the service function chain. a network function of a service function instance communication, or the flow classifier may be the first service function of the service function chain, the storage device comprising a memory and a processor connected to the memory through a bus;
所述存储器存储有用于进行报文处理的程序代码,所述程序代码包括计算机操作指令,所述处理器用于运行上述程序代码;The memory stores program code for performing message processing, the program code includes computer operation instructions, and the processor is configured to run the program code;
所述用于进行报文处理的程序代码包括:接收网络控制装置发送的流表,所述流表包含流的规则,所述流被绑定到的业务功能链的信息,以及所述网络控制装置分配的流的标识,所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,或者所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能的下一个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,所述业务索引是所述业务功能链的生存时间值,所述生存时间值等于所述业务功能链上所包含的业务功能的数量;The program code for performing message processing includes: receiving a flow table sent by a network control device, the flow table includes a rule of a flow, information of a service function chain to which the flow is bound, and the network control An identifier of the flow of the service function, where the information of the service function chain includes a service index, a service function path identifier corresponding to the service function chain, and a network address of multiple service function instances corresponding to the first service function of the service function chain And the tunnel information of the multiple service function instances, or the information of the service function chain includes a service index, a service function path identifier corresponding to the service function chain, and a next service function of the service function chain a network address of the plurality of service function instances corresponding to the service function, and tunnel information of the plurality of service function instances, where the service index is a lifetime value of the service function chain, and the lifetime time value is equal to the service function The number of business functions contained in the chain;
获取第一报文;Obtain the first message;
确定所述第一报文与所述流表匹配;Determining that the first packet matches the flow table;
将所述第一报文封装为第二报文,所述第二报文包括业务头以及隧道头,所述业务头包括所述业务功能路径标识,所述流的标识以及第一值,所述第一值等于所述业务索引减1,所述隧道头是基于所述隧道信息生成的,所述隧道头中包括第一业务功能实例的网络地址,所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定;The first packet is encapsulated into a second packet, where the second packet includes a service header and a tunnel header, and the service header includes the service function path identifier, the identifier of the stream, and a first value. The first value is equal to the service index minus 1. The tunnel header is generated based on the tunnel information, where the tunnel header includes a network address of a first service function instance, and the first service function instance is the An example of a service function of the plurality of service function instances, where a network address of the first service function instance is identified by the service function path, and the identifier of the flow and the first value are determined;
向所述第一业务功能实例发送所述第二报文。 Sending the second packet to the first service function instance.
本申请实施例第五方面公开了一种报文处理方法,所述报文处理方法由业务功能链的第一业务功能对应的第一业务功能实例执行,所述报文处理方法包括:The fifth aspect of the embodiment of the present application discloses a packet processing method, where the packet processing method is performed by a first service function instance corresponding to a first service function of a service function chain, where the packet processing method includes:
接收流分类器或所述业务功能链中所述第一业务功能的前一个业务功能对应的第一业务功能实例转发的第二报文,所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值,所述第一值等于业务索引减1,所述第二报文中的隧道头包括所述第一业务功能对应的所述第一业务功能实例的网络地址,所述第二报文包含第一报文,所述业务索引是业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;Receive a second packet forwarded by the first service function instance corresponding to the previous service function of the first service function in the service classifier, where the service header in the second packet includes the service a service function path identifier corresponding to the function chain, an identifier of the stream allocated by the network control device, and a first value, where the first value is equal to the service index minus 1, and the tunnel header in the second packet includes the first service function And corresponding to the network address of the first service function instance, where the second packet includes a first packet, where the service index is a lifetime value of the service function chain, and the lifetime time value is equal to that included in the service function chain. The number of business functions;
根据所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址;Determining, according to the service function path identifier, the identifier of the flow and the first value, determining a network address of a second service function instance corresponding to a next service function of the first service function;
依据所述第二报文中的业务头对所述第一报文进行业务处理;Performing service processing on the first packet according to the service header in the second packet;
将所述第一报文封装为第三报文,所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值,所述第二值等于所述第一值减1,所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址,所述第二业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;The first packet is encapsulated into a third packet, and the service header in the third packet includes the service function path identifier, the identifier of the stream, and a second value, where the second value is equal to the The first value is decremented by 1. The tunnel header in the third packet includes a network address of the second service function instance corresponding to a next service function of the first service function, and a network of the second service function instance. The address is identified by the service function path, and the identifier of the flow and the second value are determined;
向所述第二业务功能实例发送所述第三报文。Sending the third packet to the second service function instance.
在本申请第五方面的第一种实现方式中,还包括:In the first implementation manner of the fifth aspect of the application, the method further includes:
接收包括所述流应用的所述业务功能路径标识、所述业务索引和为所述流的标识选定的所述第一业务功能的下一个业务功能对应的多个业务功能实例的隧道信息的信息表。Receiving, by the service function path identifier of the flow application, the service index, and tunnel information of multiple service function instances corresponding to a next service function of the first service function selected for the identifier of the flow Information Sheet.
在本申请第五方面的第二种实现方式中,由所述业务功能路径标识,所述流的标识和所述第二值确定所述第二业务功能实例的网络地址,包括:In a second implementation manner of the fifth aspect of the present application, the identifier of the flow and the second value determine a network address of the second service function instance, where:
以所述业务功能路径标识和所述第二值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第二值匹配的表项包含所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址;The entry that matches the service function path identifier and the second value in the flow distribution publication with the service function path identifier and the second value as a lookup key includes the next one of the first service function a service function, and a network address of multiple service function instances corresponding to the next service function;
以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第二值匹配的表项包含的所述多个业务功能实例的网络地址中确定第二业务功能实例的网络地址;Determining, by the service function path identifier and the identifier of the flow, the plurality of service functions included in the entry that matches the service function path identifier and the second value in the distribution publication Determining a network address of the second service function instance in the network address of the instance;
或者,or,
以所述业务功能路径标识和所述第二值确定所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址;Determining, by the service function path identifier and the second value, a next service function of the first service function, and a network address of multiple service function instances corresponding to the next service function;
以所述业务功能路径标识和所述流的标识为哈希键,从所述下一个业务功能对应的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。The network function address of the second service function instance is determined from the network address of the multiple service function instances corresponding to the next service function by using the service function path identifier and the identifier of the flow as a hash key.
本申请实施例第六方面公开了一种业务功能实例,所述业务功能实例为业务功能链的第一业务功能对应的第一业务功能实例,包括:The sixth aspect of the embodiment of the present application discloses an example of a service function, where the service function instance is a first service function instance corresponding to the first service function of the service function chain, and includes:
接收单元,用于接收流分类器或所述业务功能链中所述第一业功能的前一个业务功能对应的第一业务功能实例转发的第二报文,所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值,所述第一值等于业务索引减1,所述第二报文中的隧道头包括所述第一业务功能对应的第一业务功能实例的网络地址,所述第二报文包含第一报文,所述业务索引是业务功能链的生存时间值,所述 生存时间值等于业务功能链上所包含的业务功能的数量;a receiving unit, configured to receive a second packet forwarded by the first service function instance corresponding to the previous service function of the first service function in the service classifier, and the service in the second packet The header includes a service function path identifier corresponding to the service function chain, an identifier of the stream allocated by the network control device, and a first value, where the first value is equal to the service index minus 1, and the tunnel header in the second packet includes a network address of the first service function instance corresponding to the first service function, where the second packet includes a first packet, where the service index is a lifetime value of the service function chain, The lifetime value is equal to the number of business functions included in the business function chain;
处理单元,用于根据所述接收单元接收到的所述业务功能路径标识,所述流的标识和所述第二值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址,依据所述接收单元接收到的所述第二报文中的业务头对所述第一报文进行业务处理,将所述第一报文封装为第三报文,所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值,所述第二值等于所述第一值减1,所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址,所述第二业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;a processing unit, configured to determine, according to the service function path identifier that is received by the receiving unit, the identifier of the stream and the second value determine a second service function instance corresponding to a next service function of the first service function The network address is processed according to the service header in the second packet received by the receiving unit, and the first packet is encapsulated into a third packet, where the first packet is encapsulated into a third packet. The traffic header in the third packet includes the service function path identifier, the identifier of the flow, and the second value, where the second value is equal to the first value minus 1, and the tunnel header in the third packet includes The network address of the second service function instance corresponding to the next service function of the first service function, the network address of the second service function instance is identified by the service function path, the identifier of the flow and the The second value is determined;
发送单元,用于向所述处理单元确定的所述第二业务功能实例发送所述第三报文。And a sending unit, configured to send the third packet to the second service function instance determined by the processing unit.
在本申请实施例第六方面的第一种实现方式中,还包括:In a first implementation manner of the sixth aspect of the embodiments, the method further includes:
所述接收单元,还用于接收包括所述流应用的所述业务功能路径标识、所述业务索引和为所述流的标识选定的所述第一业务功能的下一个业务功能对应的多个业务功能实例的隧道信息的信息表。The receiving unit is further configured to receive, according to the service function path identifier of the flow application, the service index, and a next service function corresponding to the first service function selected for the identifier of the flow Information table of tunnel information for business function instances.
在本申请实施例第六方面的第二种实现方式中,由所述业务功能路径标识,所述流的标识和所述第二值确定所述第二业务功能实例的网络地址的处理单元,还包括:In a second implementation manner of the sixth aspect of the embodiment of the present application, the processing unit that is identified by the service function path, the identifier of the flow, and the second value determines a network address of the second service function instance, Also includes:
所述处理单元,还用于以所述业务功能路径标识和所述第二值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第二值匹配的表项包含所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第二值匹配的表项包含的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址;The processing unit is further configured to: use the service function path identifier and the second value as a search key to search for a table item that matches the service function path identifier and the second value in a stream distribution publication. a next service function of the first service function, and a network address of the plurality of service function instances corresponding to the next service function, where the service function path identifier and the identifier of the stream are search keywords, Determining, in the network address of the plurality of service function instances included in the entry that matches the service function path identifier and the second value, the network address of the second service function instance;
或者,or,
所述处理单元,还用于以所述业务功能路径标识和所述第二值确定所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为哈希键,从所述下一个业务功能对应的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。The processing unit is further configured to determine, by the service function path identifier and the second value, a next service function of the first service function, and a network of multiple service function instances corresponding to the next service function. The address is determined by using the service function path identifier and the identifier of the flow as a hash key, and determining a network address of the second service function instance from the network addresses of the multiple service function instances corresponding to the next service function.
本申请实施例第七方面公开了一种业务功能实例,所述业务功能实例为业务功能链的第一业务功能对应的第一业务功能实例,包括:The seventh aspect of the embodiment of the present application discloses an example of a service function, where the service function instance is a first service function instance corresponding to the first service function of the service function chain, and includes:
接收器,用于接收流分类器或所述业务功能链中所述第一业功能的前一个业务功能对应的第一业务功能实例转发的第二报文,所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值,所述第一值等于业务索引减1,所述第二报文中的隧道头包括所述第一业务功能对应的第一业务功能实例的网络地址,所述第二报文包含第一报文,所述业务索引是业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;a receiver, configured to receive a second packet forwarded by the first service function instance corresponding to the previous service function of the first service function in the service classifier, and the service in the second packet The header includes a service function path identifier corresponding to the service function chain, an identifier of the stream allocated by the network control device, and a first value, where the first value is equal to the service index minus 1, and the tunnel header in the second packet includes a network address of the first service function instance corresponding to the first service function, where the second packet includes a first packet, where the service index is a lifetime value of the service function chain, and the lifetime time value is equal to the service function chain. The number of business functions contained on;
处理器,用于根据所述接收器接收到的所述业务功能路径标识,所述流的标识和所述第二值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址,依据所述接收单元接收到的所述第二报文中的业务头对所述第一报文进行业务处理,将所述第一报文封装为第三报文,所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值,所述第二值等于所述第一值减1,所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址,所述第二业务 功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;a processor, configured to determine, according to the service function path identifier that is received by the receiver, the identifier of the stream and the second value determine a second service function instance corresponding to a next service function of the first service function The network address is processed according to the service header in the second packet received by the receiving unit, and the first packet is encapsulated into a third packet, where the first packet is encapsulated into a third packet. The traffic header in the third packet includes the service function path identifier, the identifier of the flow, and the second value, where the second value is equal to the first value minus 1, and the tunnel header in the third packet includes a network address of the second service function instance corresponding to a next service function of the first service function, the second service The network address of the function instance is identified by the service function path, and the identifier of the stream and the second value are determined;
发送器,用于向所述处理器确定的所述第二业务功能实例发送所述第三报文。And a transmitter, configured to send the third packet to the second service function instance determined by the processor.
本申请实施例第八方面公开了一种存储设备,所述存储设备适用于业务功能链的第一业务功能对应的第一业务功能实例,所述存储设备包括存储器和通过总线与所述存储器连接的处理器;The eighth aspect of the embodiment of the present application discloses a storage device, where the storage device is applicable to a first service function instance corresponding to a first service function of a service function chain, where the storage device includes a memory and is connected to the memory through a bus. Processor
所述存储器存储有用于进行报文处理的程序代码,所述程序代码包括计算机操作指令,所述处理器用于运行上述程序代码;The memory stores program code for performing message processing, the program code includes computer operation instructions, and the processor is configured to run the program code;
所述用于进行报文处理的程序代码包括:The program code for performing message processing includes:
接收流分类器或所述业务功能链中所述第一业务功能的前一个业务功能对应的第一业务功能实例转发的第二报文,所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值,所述第一值等于业务索引减1,所述第二报文中的隧道头包括所述第一业务功能对应的所述第一业务功能实例的网络地址,所述第二报文包含第一报文,所述业务索引是业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;Receive a second packet forwarded by the first service function instance corresponding to the previous service function of the first service function in the service classifier, where the service header in the second packet includes the service a service function path identifier corresponding to the function chain, an identifier of the stream allocated by the network control device, and a first value, where the first value is equal to the service index minus 1, and the tunnel header in the second packet includes the first service function And corresponding to the network address of the first service function instance, where the second packet includes a first packet, where the service index is a lifetime value of the service function chain, and the lifetime time value is equal to that included in the service function chain. The number of business functions;
根据所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址;Determining, according to the service function path identifier, the identifier of the flow and the first value, determining a network address of a second service function instance corresponding to a next service function of the first service function;
依据所述第二报文中的业务头对所述第一报文进行业务处理;Performing service processing on the first packet according to the service header in the second packet;
将所述第一报文封装为第三报文,所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值,所述第二值等于所述第一值减1,所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址,所述第二业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;The first packet is encapsulated into a third packet, and the service header in the third packet includes the service function path identifier, the identifier of the stream, and a second value, where the second value is equal to the The first value is decremented by 1. The tunnel header in the third packet includes a network address of the second service function instance corresponding to a next service function of the first service function, and a network of the second service function instance. The address is identified by the service function path, and the identifier of the flow and the second value are determined;
向所述第二业务功能实例发送所述第三报文。Sending the third packet to the second service function instance.
本申请实施例第九方面公开了一种报文处理系统,包括流分类器、业务功能实例和网络控制装置;A ninth aspect of the embodiment of the present application discloses a message processing system, including a stream classifier, a service function instance, and a network control device;
所述流分类器包括本申请实施例第二方面或本申请实施例第三方面公开的流分类器,或者,所述流分类器中包括本申请实施例第四方面公开的存储设备;The flow classifier includes the flow classifier disclosed in the second aspect of the embodiment of the present application or the third aspect of the embodiment of the present application, or the flow classifier includes the storage device disclosed in the fourth aspect of the embodiment of the present application;
所述业务功能实例包括本申请实施例第六方面或本申请实施例第七方面公开的业务功能实例,或者,所述业务功能实例中包括本申请实施例第八方面公开的存储设备;The service function example includes the service function example disclosed in the sixth aspect of the embodiment of the present application or the seventh aspect of the embodiment of the present application, or the service function instance includes the storage device disclosed in the eighth aspect of the embodiment of the present application;
所述网络控制装置是网络控制器或AAA服务器,用于接收所述流分类器发送的为流分配所述流的标识的请求,所述请求中包含所述流的信息,并为所述流分配所述流的标识的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。The network control device is a network controller or an AAA server, configured to receive a request sent by the flow classifier to allocate an identifier of the flow for a flow, where the request includes information about the flow, and is the flow A response to assign an identifier of the flow, the response including an identifier of the flow, the identifier of the flow being different from the information of the flow.
通过以上本申请实施例公开的技术方案可知,本申请实施例提供的一种报文处理方法、流分类器及业务功能实例。在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后的报文。本申请实施例公开的技术方案,相较于现有技术中仅限于使用报文中的字段来对报文进行识别以及处理,本申请提供的对报文进行处理的方式更加灵活。The packet processing method, the flow classifier, and the service function example provided by the embodiment of the present application are known from the technical solutions disclosed in the foregoing application. In the packet processing process, according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index determine a specific service function instance, and send the encapsulated to the determined specific service function instance. Message. The technical solution disclosed in the embodiment of the present application is more flexible than the method in the prior art for identifying and processing a packet by using a field in a packet.
附图说明 DRAWINGS
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings to be used in the embodiments or the prior art description will be briefly described below. Obviously, the drawings in the following description are only It is a certain embodiment of the present invention, and other drawings can be obtained from those skilled in the art without any creative work.
图1为本申请实施例一公开的一种报文处理方法的流程示意图;1 is a schematic flowchart of a packet processing method according to Embodiment 1 of the present application;
图2为本申请实施例二示出的业务头的格式示意图;2 is a schematic diagram of a format of a service header according to Embodiment 2 of the present application;
图3为本申请实施例二示出的另一种业务头的格式示意图;FIG. 3 is a schematic diagram of another format of a service header according to Embodiment 2 of the present application;
图4为本申请实施例三公开的一种报文处理方法的流程示意图;4 is a schematic flowchart of a packet processing method according to Embodiment 3 of the present application;
图5为本申请实施例三公开的一种云化CPE的方案在流转发的流程示意图;FIG. 5 is a schematic flowchart of a flow forwarding process of a clouded CPE solution according to Embodiment 3 of the present application;
图6为本申请实施例五公开的对应实施例一和实施例二公开的一种流分类器的结构示意图;FIG. 6 is a schematic structural diagram of a flow classifier according to Embodiment 1 and Embodiment 2 disclosed in Embodiment 5 of the present application;
图7为本申请实施例五公开的一种流分类器的实体结构示意图;FIG. 7 is a schematic structural diagram of a physical structure of a flow classifier according to Embodiment 5 of the present application;
图8为本申请实施例五公开的对应实施例三公开的一种业务功能实例的结构示意图;FIG. 8 is a schematic structural diagram of a service function example according to Embodiment 3 disclosed in Embodiment 5 of the present application;
图9为本申请实施例五公开的一种业务功能实例的实体结构示意图;9 is a schematic diagram of an entity structure of a service function example according to Embodiment 5 of the present application;
图10为本申请实施例五公开的一种报文处理系统的结构示意图。FIG. 10 is a schematic structural diagram of a message processing system according to Embodiment 5 of the present application.
具体实施方式detailed description
以下为本申请实施例中所使用到的英文缩写的全称和相关解释:The following is the full name and related explanation of the English abbreviation used in the embodiment of the present application:
IP:Internet Protocol,网际协议;IP: Internet Protocol, Internet Protocol;
MAC:Media Access Control,媒体访问控制;MAC: Media Access Control, media access control;
NSH:Network Service Header,网络业务头;NSH: Network Service Header, network service header;
SFC:Service Function Chaining,业务功能链;SFC: Service Function Chaining, business function chain;
SF:Service Function,业务功能;SF: Service Function, business function;
SFF:Service Function Forwarder,业务功能转发器;SFF: Service Function Forwarder, service function forwarder;
SFP:Service Function Path,业务功能路径;SFP: Service Function Path, service function path;
FC:Flow Classifier,流分类器;FC: Flow Classifier, stream classifier;
NAT:Network Address Translation,网络地址转换;NAT: Network Address Translation, network address translation;
FW:Fire Wall,防火墙;FW: Fire Wall, firewall;
TTL:Time To Live,生存时间值。TTL: Time To Live, the time to live value.
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be clearly described below with reference to the accompanying drawings in the embodiments of the present application. It is apparent that the described embodiments are only a part of the embodiments of the present application, and not all of them. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present application without departing from the inventive scope are the scope of the present application.
现有技术的转发装置仅使用报文中的字段来对报文进行识别以及处理,不够灵活。本申请实施例公开了一种报文处理的技术方案,通过在在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后的报文。相较于现有技术中仅限于使用报文中的字段来对报文进行识别以及处理,根据网络控制装置分配的流的标识对报文进行处理,处理的方式更加灵活。具体实现过程通过以下实施例进行详细说明。The forwarding device of the prior art uses only the fields in the message to identify and process the message, which is not flexible enough. The embodiment of the present application discloses a technical solution for packet processing, which is determined according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index in the process of processing the message. The service function instance sends the encapsulated packet to the specific service function instance. Compared with the field in the prior art, the message is identified and processed, and the packet is processed according to the identifier of the flow allocated by the network control device, and the processing manner is more flexible. The specific implementation process is described in detail by the following embodiments.
实施例一 Embodiment 1
如图1所示,为本申请实施例一公开的一种报文处理方法的流程示意图。该报文处理方法由流分类器(FC)执行。所述FC可以是能够与业务功能链(SFC)中的首个业务功能(SF)对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者,所述SF可以是所述SFC的首个SF。该报文处理方法包括以下步骤:As shown in FIG. 1 , it is a schematic flowchart of a packet processing method disclosed in Embodiment 1 of the present application. The message processing method is performed by a stream classifier (FC). The FC may be a network device capable of communicating with one of the plurality of service function instances corresponding to the first service function (SF) in the service function chain (SF), or the SF may be the SFC The first SF. The message processing method includes the following steps:
S101,接收网络控制装置发送的流表;S101. Receive a flow table sent by the network control device.
在S101中,该流表用于指示所述FC识别流的报文。所述流表包含流的规则,所述流被绑定到的SFC的信息和所述网络控制装置分配的流的标识(流的ID)。In S101, the flow table is used to indicate that the FC identifies a message of the flow. The flow table contains rules for the flow, the information of the SFC to which the flow is bound, and the identification of the flow (the ID of the flow) assigned by the network control device.
举例来说,所述流被绑定到的SFC是指流需要被SFC处理。流的ID是所述网络控制装置为流分配的。流的ID用于流被该SFC处理的过程内标识流。该流的ID可以是一个字段,这个字段具体可以为一个数字。所述网络控制装置可以基于转发装置的申请,为流分配流的ID。所述网络控制装置在流的规则撤销或者流会话终结时释放该流的ID。可选地,所述网络控制装置可以为多个流分配所述多个流的ID。所述多个流和所述多个流的ID一一对应。For example, the SFC to which the stream is bound means that the stream needs to be processed by the SFC. The ID of the stream is allocated by the network control device for the stream. The ID of the stream is used to identify the stream within the process that the stream is processed by the SFC. The ID of the stream can be a field, and the field can be a number. The network control device may assign an ID of the flow to the flow based on the application of the forwarding device. The network control device releases the ID of the flow when the flow is revoked or the flow session is terminated. Optionally, the network control device may allocate an ID of the multiple flows for multiple flows. The plurality of streams and the IDs of the plurality of streams are in one-to-one correspondence.
所述SFC的信息包括业务索引,所述SFC对应的业务功能路径标识(SFP ID),所述SFC的首个SF对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息;The information of the SFC includes a service index, a service function path identifier (SFP ID) corresponding to the SFC, a network address of multiple service function instances corresponding to the first SF of the SFC, and an instance of the multiple service function instances. Tunnel information;
或者,所述SFC的信息包括业务索引,所述SFC对应的SFP ID,所述SFC的首个SF的下一个SF对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息。Or the information of the SFC includes a service index, an SFP ID corresponding to the SFC, a network address of multiple service function instances corresponding to a next SF of the first SF of the SFC, and an instance of the multiple service function instances. Tunnel information.
上述提到的业务索引(service index)用于提供业务路径中的位置。所述业务索引是业务路径头(service path header)中的字段。业务路径头还可以包括业务路径标识(service path ID)字段。关于业务索引、业务路径标识以及业务路径头,请参考标准文档draft-quinn-sfc-nsh-07的第11页第3.3节。The service index mentioned above is used to provide a location in the service path. The service index is a field in a service path header. The service path header may also include a service path ID field. Refer to section 3.3 on page 11 of the standard document draft-quinn-sfc-nsh-07 for service indexing, service path identification, and service path headers.
在本申请实施例中该业务索引是所述业务功能链的生存时间值(TTL)。该TTL等于所述业务功能链上所包含的业务功能的数量。需要说明的是,业务功能链上至少包含N个业务功能,N为大于1的正整数;In the embodiment of the present application, the service index is a time-to-live value (TTL) of the service function chain. The TTL is equal to the number of service functions included in the service function chain. It should be noted that the service function chain includes at least N service functions, and N is a positive integer greater than 1.
上述提到的隧道信息中包括:隧道端点标识(例如IP地址)、隧道类型(例如NSH OVER UDP)、TTL(例如NSH的业务索引)。The tunnel information mentioned above includes: a tunnel endpoint identifier (for example, an IP address), a tunnel type (for example, NSH OVER UDP), and a TTL (for example, a service index of the NSH).
需要说明的是,一个所述SF至少由一个或多个数据链路层或网络层可达的相同业务类型的业务功能实例组成。该业务功能实例为SF和SFF的组合,例如:NSH aware VAS。该业务功能实例上具有转发信息。该转发信息包括路由信息或接口信息。在业务功能实例执行转发时,基于该路由信息查找路由表,或基于该接口信息查找媒体访问控制(MAC)表。It should be noted that one SF is composed of at least one data link layer or a service function instance of the same service type reachable by the network layer. The business function example is a combination of SF and SFF, for example: NSH aware VAS. The service function instance has forwarding information. The forwarding information includes routing information or interface information. When the service function instance performs forwarding, the routing table is searched based on the routing information, or the media access control (MAC) table is searched based on the interface information.
S102,获取第一报文;S102. Acquire a first packet.
S103,确定所述第一报文与所述流表匹配;S103. Determine that the first packet matches the flow table.
S104,将所述第一报文封装为第二报文;S104. Encapsulate the first packet as a second packet.
在S104中,所述第二报文包括业务头及隧道头。所述业务头包括所述SFP ID,所述流的ID以及第一值。所述第一值等于所述TTL减1。In S104, the second packet includes a service header and a tunnel header. The service header includes the SFP ID, an ID of the flow, and a first value. The first value is equal to the TTL minus one.
其中,关于SFP ID(SFP Identifier,SFP-id),可以参考IETF在2016年1月21日发布的标准文档“draft-ietf-sfc-control-plane-03”。该标准文档的名称为“Service Function Chaining(SFC)Control Plane Components&Requirements”。本申请实施例引用标准文档 draft-ietf-sfc-control-plane-03,并且将标准文档draft-ietf-sfc-control-plane-03作为本申请公开的内容的组成部分;For the SFP ID (SFP-id), refer to the standard document "draft-ietf-sfc-control-plane-03" published by the IETF on January 21, 2016. The name of the standard document is "Service Function Chaining (SFC) Control Plane Components&Requirements". The embodiment of the application refers to the standard document Draft-ietf-sfc-control-plane-03, and the standard document draft-ietf-sfc-control-plane-03 is included as part of the disclosure of the present application;
所述隧道头是基于执行步骤S101获得的所述隧道信息生成的。所述隧道头中包括第一业务功能实例的网络地址。所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例。所述第一业务功能实例的网络地址由所述SFP ID,所述流的ID和所述第一值确定;The tunnel header is generated based on the tunnel information obtained in step S101. The tunnel header includes a network address of the first service function instance. The first service function instance is one of the plurality of service function instances. The network address of the first service function instance is determined by the SFP ID, the ID of the stream, and the first value;
其中,所述第一业务功能实例的网络地址包括IP地址或MAC协议地址。The network address of the first service function instance includes an IP address or a MAC protocol address.
需要说明的是,当业务头为NSH头时,所述NSH头可以基于UDP报文的Payload(净负荷)生成,也可以基于太网帧的Payload生成。It should be noted that, when the service header is an NSH header, the NSH header may be generated based on a Payload (net load) of a UDP packet, or may be generated based on a Payload of a transit frame.
其中,NSH可以包括基础头(Base Header)、业务路径头(Service Path Header)以及上下文头(context headers)。关于网络业务头、基础头、业务路径头以及上下文头,请参考标准文档draft-quinn-sfc-nsh-07的第9-15页第3节。The NSH may include a Base Header, a Service Path Header, and a context header. For network heads, base headers, service path headers, and context headers, refer to section 3 on page 9-15 of the standard document draft-quinn-sfc-nsh-07.
标准文档“draft-quinn-sfc-nsh-07”的名称为“Network Service Header”。该标准文档的发布日期为2015年2月24日。标准文档的发布者是IETF。本申请实施例中引用标准文档“draft-quinn-sfc-nsh-07”,并且将标准文档“draft-quinn-sfc-nsh-07”作为本申请实施例公开的内容的组成部分。The standard document "draft-quinn-sfc-nsh-07" is named "Network Service Header". The standard document was published on February 24, 2015. The publisher of the standard document is the IETF. The standard document "draft-quinn-sfc-nsh-07" is referred to in the embodiment of the present application, and the standard document "draft-quinn-sfc-nsh-07" is taken as an integral part of the content disclosed in the embodiment of the present application.
S105,向所述第一业务功能实例发送所述第二报文。S105. Send the second packet to the first service function instance.
需要说明的是,当执行上述S101至S105的FC是能够与所述业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置时,所述第一业务功能实例是所述SFC的首个SF对应的多个业务功能实例中的一个。当执行上述S101至S105的FC是所述SFC的首个SF时,所述第一业务功能实例是SFC上的下一个SF对应的多个业务功能实例中的一个业务功能实例。It should be noted that, when the FC performing the foregoing S101 to S105 is a network device capable of communicating with one of the plurality of service function instances corresponding to the first service function in the service function chain, the first The service function instance is one of multiple service function instances corresponding to the first SF of the SFC. When the FC of the foregoing S101 is the first SF of the SFC, the first service function instance is one of the plurality of service function instances corresponding to the next SF on the SFC.
需要说明的是,S101-S105对一个流的处理过程进行了描述。当网络中存在多个流时,可以参照上述步骤对多个流进行处理,并实现负载分担。下面结合S101-S105对多个流的场景如何实现进行说明。下文中没有提及的技术内容可以参见上文中对S101-S105的描述。It should be noted that S101-S105 describes the processing of a stream. When multiple flows exist in the network, you can process multiple flows by referring to the preceding steps and implement load balancing. The following describes how to implement the scenario of multiple streams in combination with S101-S105. The technical content not mentioned below can be referred to the description of S101-S105 above.
对于S101,所述流表包含所述多个流的规则,所述多个流被绑定到的业务功能链的信息以及所述网络控制装置为所述多个流分配的所述多个流的标识。所述多个流被绑定到同一个业务功能链。所述FC可以根据所述多个流的规则对所述多个流进行识别。例如,所述FC可以使用流的规则对报文进行解析,从而确定报文的特征。所述多个流的标识与所述多个流一一对应。本申请中的流是指具有相同特征的报文的集合。特征可以是用于接收报文的端口,也可以是报文头中的字段。或者,特征可以是用于接收报文的端口,以及报文头中的字段。报文头中的字段可以是一个字段或者多个字段。例如,可以认为被同一个入接口接收的报文的集合属于同一个流。也可以认为五元组(源IP地址、目的IP地址、源端口、目的端口以及协议号)相同的报文的集合属于同一个流。也可以认为二元组(源IP地址和目的IP地址)相同的报文的集合属于同一个流。For S101, the flow table includes rules of the multiple flows, information of a service function chain to which the multiple flows are bound, and the multiple flows allocated by the network control device to the multiple flows Logo. The plurality of streams are bound to the same business function chain. The FC may identify the plurality of flows according to rules of the plurality of flows. For example, the FC may parse the message using the rules of the flow to determine the characteristics of the message. The identifiers of the plurality of streams are in one-to-one correspondence with the plurality of streams. A stream in this application refers to a collection of messages having the same characteristics. The feature can be a port for receiving a message or a field in a packet header. Alternatively, the feature may be a port for receiving a message, and a field in the header of the message. The field in the message header can be a field or multiple fields. For example, the set of packets received by the same inbound interface can be considered to belong to the same flow. It can also be considered that the set of packets with the same quintuple (source IP address, destination IP address, source port, destination port, and protocol number) belongs to the same stream. It can also be considered that the set of packets in which the binary group (source IP address and destination IP address) are the same belongs to the same stream.
对于S102,所述FC获取多个报文。例如,所述FC获取报文1以及报文2。具体地,所述FC可以通过入端口接收报文1以及报文2。所述FC也可以生成报文1以及报文2。报文1和报文2分别属于流1和流2。For S102, the FC acquires multiple messages. For example, the FC acquires message 1 and message 2. Specifically, the FC can receive the message 1 and the message 2 through the ingress port. The FC can also generate message 1 and message 2. Message 1 and Message 2 belong to Stream 1 and Stream 2, respectively.
对于S103,所述FC确定所述多个报文与所述流表匹配。例如,所述FC根据所述多个流的规则确定报文1与流1匹配。所述FC根据所述多个流的规则确定报文2与流2匹 配。具体地,所述多个流的规则包括流1的规则以及流2的规则。所述FC以报文1的五元组为查找关键字确定报文1与流1的规则匹配。所述FC以报文2的五元组为查找关键字确定报文2与流2的规则匹配。流1的规则的匹配域中包含报文1的五元组。流2的规则的匹配域中包含报文2的五元组。For S103, the FC determines that the plurality of packets match the flow table. For example, the FC determines that the message 1 matches the stream 1 according to the rules of the multiple flows. Determining, according to the rules of the multiple flows, the packet 2 and the stream 2 Match. Specifically, the rules of the multiple flows include a rule of flow 1 and a rule of flow 2. The FC determines that the packet 1 matches the rule of the stream 1 by using the quintuple of the packet 1 as a search key. The FC determines that the packet 2 matches the rule of the stream 2 by using the quintuple of the packet 2 as a search key. The matching field of the rule of stream 1 contains the quintuple of message 1. The matching field of the rule of stream 2 contains the quintuple of message 2.
对于S104,所述FC将多个报文分别进行封装,得到多个经封装的报文。所述多个报文与所述多个经封装的报文一一对于。例如,所述FC将报文1封装为报文3,将报文2封装为报文4。报文3包含的隧道头中包含业务功能实例1的IP地址。报文4包含的隧道头中包含业务功能实例2的IP地址。具体地,所述FC根据所述业务功能路径标识,流1的标识和所述第一值确定业务功能实例1的IP地址。所述FC根据所述业务功能路径标识,流2的标识和所述第一值确定业务功能实例2的IP地址。业务功能实例1和业务功能实例2对应同一个业务功能。因此,业务功能实例1和业务功能实例2能够对流量进行负载分担。For S104, the FC encapsulates multiple packets to obtain multiple encapsulated packets. The plurality of messages are aligned with the plurality of encapsulated messages. For example, the FC encapsulates the packet 1 into the packet 3 and the packet 2 into the packet 4. The tunnel header contained in packet 3 contains the IP address of service function instance 1. The tunnel header contained in packet 4 contains the IP address of service function instance 2. Specifically, the FC determines an IP address of the service function instance 1 according to the service function path identifier, the identifier of the stream 1 and the first value. The FC determines an IP address of the service function instance 2 according to the service function path identifier, the identifier of the stream 2, and the first value. The service function instance 1 and the service function instance 2 correspond to the same service function. Therefore, the service function instance 1 and the service function instance 2 can load balance traffic.
本申请中,业务功能实例能够执行对应的业务功能。业务功能实例可以包含处理器以及与处理器耦合的存储器。存储器中包含计算机程序。所述处理器通过执行所述计算机程序执行业务功能。例如,业务功能实例可以是路由器、网络交换机或者硬件防火墙。In this application, a business function instance can perform a corresponding business function. A business function instance can include a processor and a memory coupled to the processor. A computer program is included in the memory. The processor performs a business function by executing the computer program. For example, a business function instance can be a router, a network switch, or a hardware firewall.
对于S105所述FC分别向业务功能实例1发送报文1,向业务功能实例2发送报文2。也就是说,不同的流被发送至不同的业务功能实例,实现了对流量的负载分担。The FC sends a message 1 to the service function instance 1 and a message 2 to the service function instance 2, respectively. That is to say, different flows are sent to different service function instances, and load sharing of traffic is realized.
从上述描述可以看出,在多个流的场景中使用图1所示的方法,能实现对流量的负载分担。As can be seen from the above description, the load sharing of traffic can be achieved by using the method shown in FIG. 1 in a scenario of multiple flows.
本申请实施例一公开的技术方案,通过接收网络控制装置发送的流表,该流表中包含流的规则,所述流被绑定到的SFC的信息,以及所述网络控制装置分配的流的ID。在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后的报文。本申请实施例公开的技术方案,相较于仅限于使用报文中的字段来对报文进行识别以及处理,根据网络控制装置分配的流的标识对报文进行处理,处理的方式更加灵活。The technical solution disclosed in Embodiment 1 of the present application is to receive a flow table sent by a network control device, where the flow table includes a rule of a flow, information of an SFC to which the flow is bound, and a flow allocated by the network control device. ID. In the packet processing process, according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index determine a specific service function instance, and send the encapsulated to the determined specific service function instance. Message. In the technical solution disclosed in the embodiment of the present application, the packet is processed and processed according to the identifier of the flow allocated by the network control device, and the processing manner is more flexible.
需要说明的是,关于本申请实施例中涉及的SFC、SF、SFF以及SFP,请参考IETF在2015年10月发布的标准文档RFC7665。该标准文档的名称为“Service Function Chaining(SFC)Architecture”。It should be noted that, regarding the SFC, SF, SFF, and SFP involved in the embodiments of the present application, please refer to the standard document RFC7665 published by the IETF in October 2015. The name of the standard document is "Service Function Chaining (SFC) Architecture".
本申请实施例引用标准文档RFC7665,并且将标准文档RFC7665作为本申请公开的内容的组成部分。The embodiment of the present application refers to the standard document RFC7665, and the standard document RFC7665 is taken as an integral part of the content disclosed in the present application.
实施例二 Embodiment 2
基于上述本申请实施例一公开的一种报文处理方法,在执行步骤S101接收网络控制装置下发的流表之前,还包括:The method for processing a message according to the above-mentioned first embodiment of the present application, before performing the step S101 of receiving the flow table sent by the network control device, further includes:
FC首先向所述网络控制装置发送为所述流分配所述流的ID的请求,所述请求中包含所述流的信息;The FC first sends a request to the network control apparatus to allocate an ID of the flow for the flow, where the request includes information of the flow;
然后接收所述网络控制装置为所述流分配的所述流的ID的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。And receiving a response of the ID of the flow that is allocated by the network control device to the flow, where the response includes an identifier of the flow, and the identifier of the flow is different from the information of the flow.
在本申请实施例公开的技术方案中,能够实现网络控制装置基于FC的请求分配流的ID,是基于所述网络控制装置可以预先保存所述流的ID与所述流的信息的映射表;In the technical solution disclosed in the embodiment of the present application, the ID of the network control device to allocate the flow based on the FC request may be implemented, and the network control device may pre-save a mapping table of the ID of the flow and the information of the flow;
当所述FC接收到属于所述流的报文时,可以获取所述流的信息。所述流的信息可以 是所述FC接收所述属于所述流的报文的端口。所述流的信息也可以是所述属于所述流的报文中的字段。例如,目的IP地址。也可以是上述信息的组合,例如端口和目的IP地址。When the FC receives the packet belonging to the flow, the information of the flow may be acquired. The information of the stream can The port that the FC receives the packet belonging to the flow. The information of the flow may also be a field in the message belonging to the flow. For example, the destination IP address. It can also be a combination of the above information, such as port and destination IP address.
在所述FC获取所述流的信息后,可以向所述网络控制装置发送所述请求。例如,所述请求中包含端口和目的IP地址。After the FC acquires the information of the flow, the request may be sent to the network control device. For example, the request includes a port and a destination IP address.
在所述网络控制装置接收到所述请求后,以端口和目的IP地址为查找关键字,在预先保存的映射表中查找与端口和目的IP地址匹配的表项,从而获得所述流的ID;After the network control device receives the request, the port and the destination IP address are used as search keys, and the entry matching the port and the destination IP address is searched in the pre-stored mapping table to obtain the ID of the stream. ;
在所述网络控制装置获得所述流的标识后,向所述FC发送包含所述流的ID的响应。After the network control device obtains the identifier of the flow, a response including the ID of the flow is sent to the FC.
在所述FC收到所述响应后,从所述响应中获得所述流的标识。从而,根据所述流的ID,生成所述流表。After the FC receives the response, the identifier of the flow is obtained from the response. Thus, the flow table is generated based on the ID of the flow.
在本申请实施例中,将所述网络控制装置向FC或者FC后续的网络装置(对应SF)发送流的标识的行为称为为流分配流的标识。In the embodiment of the present application, the behavior of sending the identifier of the flow to the network device (corresponding SF) of the FC or the FC is referred to as an identifier of the flow distribution flow.
网络控制装置可以采用静态分配流的ID的方式为所述流分配流的ID,也可以采用动态分配流的ID的方式为所述流分配流的ID。The network control device may allocate the ID of the flow to the flow by statically assigning the ID of the flow, or may assign the ID of the flow to the flow by dynamically assigning the ID of the flow.
其中,静态分配流的ID的过程为:The process of statically assigning the ID of the stream is:
网络控制装置预先确定用户标识与流的ID的映射关系,并保存;The network control device predetermines a mapping relationship between the user identifier and the ID of the stream, and saves;
当FC接收到报文后,FC获得用户信息,并将用户信息上送,然后网络控制装置查找映射关系,并下发包含流的ID的转发表(为流分配了流的ID)。After receiving the packet, the FC obtains the user information and sends the user information, and then the network control device searches for the mapping relationship and delivers a forwarding table containing the ID of the stream (the ID of the stream is assigned to the stream).
动态分配流的ID的过程为:The process of dynamically assigning the ID of a stream is:
网络控制装置没有预先确定并保存用户标识与流的ID的映射关系;The network control device does not predetermine and save the mapping relationship between the user identifier and the ID of the stream;
当FC接收到报文后,FC获得用户信息,并将用户信息上送,然后网络控制装置从资源池查找映射关系,并下发包含流的ID的转发表(为流分配了流的ID)。After the FC receives the packet, the FC obtains the user information and sends the user information, and then the network control device searches for the mapping relationship from the resource pool, and delivers a forwarding table containing the ID of the stream (the ID of the stream is assigned to the stream) .
本申请实施例一公开了一种报文处理方法。其中,在执行步骤S104中得到的第二报文的隧道头中包含的第一业务功能实例的网络地址,该第一业务功能实施例的网络地址由所述SFP ID,所述流的ID和所述第一值确定。确定的过程具体包括以下两种方式: Embodiment 1 of the present application discloses a message processing method. The network address of the first service function instance included in the tunnel header of the second packet obtained in step S104, the network address of the first service function embodiment is the SFP ID, the ID of the stream, and The first value is determined. The process of determining specifically includes the following two methods:
第一种方式,所述FC接收到所述网络控制装置发送的流分发表:In the first mode, the FC receives the distribution of the traffic sent by the network control device:
所述FC以所述SFP ID和所述第一值为查找关键字在流分发表中查找与所述SFP ID以及所述第一值匹配的表项。所述流分发表中与所述SFP ID以及所述第一值匹配的表项包含所述首个SF以及所述首个SF对应的多个业务功能实例的网络地址;或者,所述流分发表中与所述SFP ID以及所述第一值匹配的表项包含所述下一个SF及所述下一个SF对应的多个业务功能实例的网络地址;The FC searches for an entry matching the SFP ID and the first value in the score publication with the SFP ID and the first value as a search key. The entry in the flow distribution that matches the SFP ID and the first value includes a network address of the first SF and multiple service function instances corresponding to the first SF; or, the flow score The entry in the publication that matches the SFP ID and the first value includes a network address of multiple service function instances corresponding to the next SF and the next SF;
以所述SFP ID和所述流的ID为查找关键字,从所述流分发表中与所述SFP ID以及所述第一值匹配的表项包含的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。Determining, by using the SFP ID and the ID of the stream as a search key, from a network address of multiple service function instances included in the entry that matches the SFP ID and the first value in the distribution publication The network address of the first service function instance.
第二种方式,所述FC未接收到所述网络控制装置下发的流分发表:In the second mode, the FC does not receive the distribution of the distribution issued by the network control device:
所述FC以所述SFP ID和所述第一值确定所述首个SF以及所述首个SF对应的多个业务功能实例的网络地址。或,所述FC以所述SFP ID和所述第一值确定所述下一个SF及所述下一个SF对应的多个业务功能实例的网络地址;The FC determines, by the SFP ID and the first value, a network address of the first SF and multiple service function instances corresponding to the first SF. Or, the FC determines, by using the SFP ID and the first value, a network address of multiple service function instances corresponding to the next SF and the next SF;
以所述SFP ID和所述流的ID为哈希键,从所述首个SF或所述下一个SF对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。The network address of the first service function instance is determined from the network addresses of the plurality of service function instances corresponding to the first SF or the next SF by using the SFP ID and the ID of the stream as a hash key.
由上述可知,FC可以根据网络控制装置发送的内容,采用不同的方式确定SFC首个 SF或下一个SF的业务功能实例的网络地址。即,若FC接收到网络控制设备发送的流分发表。所述FC按照流分发表确定SFC的首个或下一个SF的多个业务功能实例的网络地址中的第一业务功能实例的网络地址,并将封装后的第二报文发送给该第一业务功能实例;As can be seen from the above, the FC can determine the first SFC in different ways according to the content sent by the network control device. The network address of the service function instance of the SF or the next SF. That is, if the FC receives the distribution of the traffic sent by the network control device. The FC publishes, according to the flow distribution, a network address of the first service function instance in the network address of the multiple service function instances of the first or next SF of the SFC, and sends the encapsulated second packet to the first Business function instance;
若FC未接收到网络控制装置发送的流分发表。则所述FC可以以所述SFP ID和所述流的ID为哈希键(hash key),从所述首个SF或所述下一个SF对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址,并将封装后的第二报文发送给该第一业务功能实例。If the FC does not receive the distribution of the traffic sent by the network control device. The FC may determine, by using the SFP ID and the ID of the stream as a hash key, from a network address of multiple service function instances corresponding to the first SF or the next SF. A network address of the service function instance, and the encapsulated second packet is sent to the first service function instance.
基于上述本申请实施例公开的内容,当SFC转发采用的所述业务头是NSH时,需要对NSH进行扩展。具体的所述业务流ID在所述业务头中的位置包括:Based on the content disclosed in the foregoing embodiment of the present application, when the service header used by the SFC forwarding is an NSH, the NSH needs to be extended. Specifically, the location of the service flow ID in the service header includes:
如图2示出的业务头的格式示意图。当所述业务头中的MD-type字段的值等于0x2(在16进制中表示2)时,对所述业务头进行扩展。即扩展一个新的TLV-Class。所述TLV-Class包含Type Code和所述流的ID。所述Type Code用于表示所述TLV-Class携带所述流的ID。即在该TLV中携带流的ID;A schematic diagram of the format of the service header shown in FIG. When the value of the MD-type field in the service header is equal to 0x2 (representing 2 in hexadecimal), the service header is extended. That is to extend a new TLV-Class. The TLV-Class includes a Type Code and an ID of the stream. The Type Code is used to indicate that the TLV-Class carries an ID of the stream. That is, carrying the ID of the stream in the TLV;
如图3示出的业务头的格式示意图。当所述业务头中的MD-type字段的值等于0x1(在16进制中表示1)时,所述业务头中的Mandatory Context Header携带所述流的ID。A schematic diagram of the format of the service header shown in FIG. When the value of the MD-type field in the service header is equal to 0x1 (representing 1 in hexadecimal), the Mandatory Context Header in the traffic header carries the ID of the stream.
本申请实施例通过上述公开的技术方案,在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后的报文。本申请实施例公开的技术方案,相较于仅使用报文中的字段来对报文进行识别以及处理,根据网络控制装置分配的流的标识对报文进行处理,处理的方式更加灵活。Through the technical solution disclosed in the foregoing, the embodiment of the present application determines a specific service function instance according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index in the message processing process, and The determined specific service function instance sends the encapsulated message. In the technical solution disclosed in the embodiment of the present application, the packet is processed and processed according to the identifier of the flow allocated by the network control device, and the processing manner is more flexible.
实施例三 Embodiment 3
针对上述本申请实施例一和实施例二公开的一种由FC执行的报文处理方法,图4示出了另一种报文处理方法。该报文处理方法由SFC的第一SF对应的第一业务功能实例执行。该第一SF非SFC上的最后一个SF。如图4所示,包括以下步骤:For the packet processing method performed by the FC disclosed in the first embodiment and the second embodiment of the present application, FIG. 4 shows another packet processing method. The packet processing method is performed by the first service function instance corresponding to the first SF of the SFC. The first SF is the last SF on the non-SFC. As shown in Figure 4, the following steps are included:
S201,接收FC或所述SFC中所述第一SF的前一个SF对应的第一业务功能实例转发的第二报文;S201. Receive a second packet forwarded by the first service function instance corresponding to the previous SF of the first SF in the FC or the SFC.
在S201中,所述第二报文中的业务头包括所述SFC对应的SFP ID,网络控制装置分配的流的ID以及第一值。所述第一值等于业务索引减1。所述第二报文中的隧道头包括所述第一SF对应的所述第一业务功能实例的网络地址。所述第二报文包含第一报文。举例来说,S201中涉及的第二报文可以是S104中涉及的第二报文。举例来说,图4所述的方法的执行主体第一业务功能实例可以是S105涉及的第一业务功能实例。S201中涉及的第一报文可以是S101涉及的第一报文。因此,关于第一报文、第二报文以及第一业务功能实例,可以参考实施例一对图1所示的方法的描述,此处不再赘述。In S201, the service header in the second packet includes an SFP ID corresponding to the SFC, an ID of the stream allocated by the network control device, and a first value. The first value is equal to the service index minus one. The tunnel header in the second packet includes a network address of the first service function instance corresponding to the first SF. The second packet includes a first packet. For example, the second message involved in S201 may be the second message involved in S104. For example, the execution entity first service function instance of the method described in FIG. 4 may be the first service function instance involved in S105. The first packet involved in S201 may be the first packet involved in S101. Therefore, for the first packet, the second packet, and the first service function instance, reference may be made to the description of the method shown in FIG. 1 in the embodiment, and details are not described herein again.
上述提到的业务索引(service index)用于提供业务路径中的位置。所述业务索引是业务路径头(service path header)中的字段。业务路径头还可以包括业务路径标识(service path ID)字段。关于业务索引、业务路径标识以及业务路径头,请参考标准文档draft-quinn-sfc-nsh-07的第11页第3.3节。The service index mentioned above is used to provide a location in the service path. The service index is a field in a service path header. The service path header may also include a service path ID field. Refer to section 3.3 on page 11 of the standard document draft-quinn-sfc-nsh-07 for service indexing, service path identification, and service path headers.
在本申请实施例中该业务索引是所述业务功能链的生存时间值(TTL)。该TTL等于所述业务功能链上所包含的业务功能的数量。需要说明的是,业务功能链上至少包含N个 业务功能,N为大于1的正整数。In the embodiment of the present application, the service index is a time-to-live value (TTL) of the service function chain. The TTL is equal to the number of service functions included in the service function chain. It should be noted that the business function chain includes at least N Business function, N is a positive integer greater than 1.
上述提到的隧道信息中包括:隧道端点标识(例如IP地址)、隧道类型(例如NSH OVER UDP)、TTL(例如NSH的业务索引)。The tunnel information mentioned above includes: a tunnel endpoint identifier (for example, an IP address), a tunnel type (for example, NSH OVER UDP), and a TTL (for example, a service index of the NSH).
S202,根据所述SFP ID,所述流的ID和所述第一值确定所述第一SF的下一个SF对应的第二业务功能实例的网络地址。S202. Determine, according to the SFP ID, the network address of the second service function instance corresponding to the next SF of the first SF, and the first value.
S203,依据所述第二报文中的业务头对所述第一报文进行业务处理;S203. Perform service processing on the first packet according to the service header in the second packet.
S204,将所述第一报文封装为第三报文;S204, the first packet is encapsulated into a third packet.
在S204中,所述第三报文中的业务头包括所述SFP ID,所述流的ID以及第二值。所述第二值等于所述第一值减1。所述第三报文中的隧道头包括所述第一SF的下一个SF对应的所述第二业务功能实例的网络地址。所述第二业务功能实例的网络地址由所述SFP ID,所述流的ID和所述第二值确定。In S204, the service header in the third packet includes the SFP ID, an ID of the stream, and a second value. The second value is equal to the first value minus one. The tunnel header in the third packet includes a network address of the second service function instance corresponding to the next SF of the first SF. The network address of the second service function instance is determined by the SFP ID, the ID of the stream, and the second value.
S205,向所述第二业务功能实例发送所述第三报文。S205. Send the third packet to the second service function instance.
基于上述本申请实施例三公开的一种报文处理方法。其中,在执行S204中得到的第三报文的隧道头中包含的第二业务功能实例的网络地址。该第二业务功能实施例的网络地址由所述SFP ID,所述流的ID和所述第二值确定。确定的过程具体包括以下三种方式:A message processing method is disclosed based on the above-mentioned Embodiment 3 of the present application. The network address of the second service function instance included in the tunnel header of the third packet obtained in S204 is executed. The network address of the second service function embodiment is determined by the SFP ID, the ID of the stream, and the second value. The process of determining specifically includes the following three methods:
第一种方式,该第一业务功能实例可以接收包括所述流应用的所述SFP ID、所述业务索引和为所述流的ID选定的所述第一业务功能的下一个业务功能对应的多个业务功能实例的隧道信息的信息表。In a first mode, the first service function instance may receive the SFP ID including the flow application, the service index, and a next service function corresponding to the first service function selected for the ID of the flow. An information table of tunnel information for multiple business function instances.
在本申请实施例公开的技术方案中,所述第一业务实例可以基于所述信息表中所包含的信息确定待转发给SFC的下一个SF的一个业务功能实例,并在进行业务处理和转发第三报文后,更新所述第三报文的业务头和隧道头。In the technical solution disclosed in the embodiment of the present application, the first service instance may determine a service function instance to be forwarded to the next SF of the SFC based on the information included in the information table, and perform service processing and forwarding. After the third packet, the service header and the tunnel header of the third packet are updated.
第二种方式,第一业务功能实例接收网络控制装置发送的流分发表:In the second mode, the first service function instance receives the distribution of the traffic sent by the network control device:
以所述SFP ID和所述第二值为查找关键字在流分发表中查找与所述SFP ID以及所述第二值匹配的表项。与所述SFP ID以及所述第二值匹配的表项包含所述第一SF的下一个SF,以及所述下一个SF对应的多个业务功能实例的网络地址;And searching for the entry matching the SFP ID and the second value in the score publication with the SFP ID and the second value as a search key. The entry that matches the SFP ID and the second value includes a next SF of the first SF, and a network address of multiple service function instances corresponding to the next SF;
以所述SFP ID和所述流的ID为查找关键字,从所述流分发表中与所述SFP ID以及所述第二值匹配的表项包含的所述多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。Determining, by the SFP ID and the ID of the stream, a network address of the multiple service function instances included in the entry that matches the SFP ID and the second value in the distribution of the distribution The network address of the second service function instance is determined.
第三种方式,第一业务功能实例未接收到网络控制装置发送的流分发表:In the third mode, the first service function instance does not receive the score distribution sent by the network control device:
以所述SFP ID和所述第二值确定所述第一SF的下一个SF,以及所述下一个SF对应的多个业务功能实例的网络地址;Determining, by the SFP ID and the second value, a next SF of the first SF, and a network address of multiple service function instances corresponding to the next SF;
以所述SFP ID和所述流的ID为哈希键,从所述下一个SF对应的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。The network address of the second service function instance is determined from the network addresses of the plurality of service function instances corresponding to the next SF by using the SFP ID and the ID of the stream as a hash key.
基于上述公开的接收到流分发表或者没有接收流分发表的方式执行转发的过程中,当接收所述第二报文的第一业务功能实例为所述SFC上的最后一个SF的业务功能实例时:去掉所述第二报文的业务头,依据L2/L3路由方式进行转发。The first service function instance that receives the second packet is a service function instance of the last SF on the SFC, in the process of performing the forwarding in the manner of receiving the distribution of the distribution or not receiving the distribution of the distribution. Time: The service header of the second packet is removed, and the forwarding is performed according to the L2/L3 routing mode.
通过上述本申请实施例公开的报文处理方法,该方法由流应用的SFC上非最后一个SF的第一业务功能实例执行。同样的,第二报文中包含网络控制装置分配的流的标识。在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后 的报文。本申请实施例公开的技术方案,相较于仅使用报文中的字段来对报文进行识别以及处理,根据网络控制装置分配的流的标识对报文进行处理,处理的方式更加灵活。The packet processing method disclosed in the foregoing embodiment of the present application is performed by the first service function instance of the non-last SF on the SFC of the streaming application. Similarly, the second message includes an identifier of the stream allocated by the network control device. In the packet processing process, according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index determine a specific service function instance, and send the encapsulated to the determined specific service function instance. Message. In the technical solution disclosed in the embodiment of the present application, the packet is processed and processed according to the identifier of the flow allocated by the network control device, and the processing manner is more flexible.
实施例四 Embodiment 4
关于上述本申请实施例一公开的由FC执行报文处理方法、实施例二公开的由FC执行报文处理方法,以及实施例三公开的由SFC上非最后一个SF的第一业务功能实例执行的报文处理方法,本申请实施例四对上述报文处理方法进行举例说明。The FC execution message processing method disclosed in the first embodiment of the present application, the FC execution message processing method disclosed in the second embodiment, and the first service function instance of the non-last SF on the SFC are disclosed in the third embodiment. The packet processing method is described in the fourth embodiment of the present application.
针对一种云化用户驻地设备(customer premises equipment,CPE)的方案。该云化CPE仅保留基础的层2(layer 2,L2)、设备管理等功能,使传统CPE的NAT和FW功能形成CPE流量的业务链。如图5所示,为该云化CPE方案的结构示意框图。利用本申请实施例公开的负载均衡方法,该方案执行流转发的过程包括:A solution for cloud customer premises equipment (CPE). The cloud CPE only retains the basic layer 2 (L2) and device management functions, so that the NAT and FW functions of the traditional CPE form a service chain of CPE traffic. As shown in FIG. 5, it is a schematic block diagram of the structure of the clouded CPE solution. With the load balancing method disclosed in the embodiment of the present application, the process of performing flow forwarding in the solution includes:
首先,需要进行两个预先的设置:First, you need to make two pre-sets:
STATION1:网络运维人员为开通的L2CPE在远端(例如城域网DC内的服务器上)拉起一组对应的NAT、FW业务实例,并进行预配置,提供网络连通性。STATION1: The network operation and maintenance personnel pull up a set of corresponding NAT and FW service instances on the remote end (for example, the server in the metropolitan area network DC) and pre-configure them to provide network connectivity.
STATION2:在认证授权计费数据库(authentication,authorization and accounting data base,AAA DB)中添加认证授权信息。例如配置认证方式,域信息,精绑定电路信息,授权的业务链ID。该AAA DB相当于网络控制设备。STATION2: Add authentication and authorization information in the authentication, authorization and accounting data base (AAA DB). For example, configure authentication mode, domain information, fine binding circuit information, and authorized service chain ID. The AAA DB is equivalent to a network control device.
在L2CPE上电后,开始执行下述步骤:After the L2CPE is powered on, the following steps are performed:
S1:宽带远程接入服务器(broadband remote access server,BRAS)根据来自L2CPE任何上行报文的电路信息(接入接口+QinQ,例如图5中示出的L2CPE和OLT各为该报文打一层VLAN tag)触发认证。认证请求消息中携带接入域、用户信息、网络接入标识等信息到认证授权计费服务器(authentication,authorization and accounting server,AAA Server)认证。BRAS可以用于实现FC。BRAS也可以作为业务链上的首个业务节点。S1: The broadband remote access server (BRAS) according to the circuit information of any uplink message from the L2CPE (access interface + QinQ, for example, the L2CPE and the OLT shown in FIG. 5 layer each layer of the message) VLAN tag) triggers authentication. The authentication request message carries the information such as the access domain, the user information, and the network access identifier to the authentication, authorization, and accounting server (AAA Server) authentication. BRAS can be used to implement FC. BRAS can also be the first service node on the service chain.
S2:AAA Server(相当于网络控制设备)认证通过后,发送认证应答消息给BRAS,并告知认证是否通过的结果,同时携带该L2CPE(表示家庭用户或企业用户)相关的授权信息和分配的流的ID。S2: After the AAA Server (equivalent to the network control device) passes the authentication, the authentication response message is sent to the BRAS, and the result of the authentication is passed, and the L2CPE (representing the home user or the enterprise user) is associated with the authorization information and the assigned flow. ID.
S3:BRAS收到认证授权结果后,生成对应的用户表。上行流量的用户表中体现L2CPE上行流量标识(接入接口+QinQ)到SFC ID、流的ID映射的流规则表信息(这里的流规则表用于实现S101中的流表)。S3: After receiving the authentication and authorization result, the BRAS generates a corresponding user table. In the user table of the uplink traffic, the flow rule table information of the L2CPE upstream traffic identifier (access interface + QinQ) to the SFC ID and the ID mapping of the flow is reflected (the flow rule table here is used to implement the flow table in S101).
可选的,S4:vCPE的控制和管理设备(例如SFC控制器,相当于网络控制设备)可以根据NAT、FW(NAT和FW相当于业务链的业务节点)各个业务功能实例的负荷情况和预置负载均衡策略,生成流分发表下发给BRAS、NAT、FW的具体业务功能实例,用于引导新上线的L2CPE流量到业务功能链上各个合适的业务功能实例,或调整迁移已有的部分业务功能实例的L2CPE流量(存在需要业务流量迁移的新旧业务功能实例间配合同步业务会话数据的情况)。Optionally, the S4:vCPE control and management device (for example, the SFC controller, which is equivalent to the network control device) can load and preload the service function instances of the service function according to NAT, FW (NAT and FW are equivalent to service nodes of the service chain). The load balancing policy is used to generate a specific service function instance that is sent to the BRAS, the NAT, and the FW, and is used to guide the newly-introduced L2CPE traffic to each suitable service function instance in the service function chain, or to adjust the existing part of the migration. L2CPE traffic of the service function instance (in the case where there is a synchronization of the service session data between the old and new service function instances that require service traffic migration).
其中,同时SFC控制器可以设置下发默认流分发表。在BRAS或NAT、FW的业务实例查流分发表没有命中时可以按默认流分发表进行分发。Among them, the SFC controller can be set to issue the default stream distribution. When the BRAS or NAT, FW service instance check score publication does not hit, it can be distributed according to the default stream distribution.
S5:BRAS为L2CPE上行流量封装业务报文的NSH(业务头),并携带对应的SFC ID、业务索引和流的ID,根据业务功能链的流分发表转发给对应的下一个业务功能的具体业务功能实例(例如图5中的CGN 1,或CGN2,……,或CGN N);S5: The BRAS is the NSH (service header) of the L2CPE uplink traffic encapsulation service packet, and carries the corresponding SFC ID, service index, and flow ID, and is forwarded to the corresponding next service function according to the traffic distribution of the service function chain. Example of a business function (such as CGN 1, or CGN2, ..., or CGN N in Figure 5);
S6:由具体业务功能实例(CGN 1,或CGN2、……,或CGN N)依据接收到的流分 发表和业务报文继续执行转发至下一个业务功能的具体业务功能实例(例如图5中的FW1,或FW2,……或FW N)。S6: According to the specific service function instance (CGN 1, or CGN2, ..., or CGN N), based on the received score The publication and service messages continue to execute specific business function instances that are forwarded to the next business function (eg, FW1, or FW2, ... or FW N in Figure 5).
如下表1所示,为业务链BRAS→CGN→FW上,BRAS的流规则表,及如下表2所示,为BRAS的流分发表。As shown in Table 1 below, the flow rules table of the BRAS for the service chain BRAS→CGN→FW, and the flow table of the BRAS are published as shown in Table 2 below.
表1:Table 1:
Figure PCTCN2017072783-appb-000001
Figure PCTCN2017072783-appb-000001
表2:Table 2:
Figure PCTCN2017072783-appb-000002
Figure PCTCN2017072783-appb-000002
如下表3所示,为业务链BRAS→CGN→FW上,CGN的流分发表。As shown in Table 3 below, the CGN distribution is published for the service chain BRAS→CGN→FW.
表3:table 3:
Figure PCTCN2017072783-appb-000003
Figure PCTCN2017072783-appb-000003
由上述流表和流分发表可知,如电路信息为(P+V+V:1/100/200)的L2CPE的业务流从BRAS接入,分配的流的ID(Flow ID)是1,指定的应用业务链业务链BRAS→CGN→FW,对应的SFC ID是2。在执行上述过程时,BRAS根据流分发表将该L2CPE的上行流量转发给CGN业务实例CGN1,CGN1根据流分发表将给L2CPE的上行流量转发给FW业务实例FW1。It can be known from the above flow table and the flow distribution that the service flow of the L2CPE whose circuit information is (P+V+V:1/100/200) is accessed from the BRAS, and the ID (Flow ID) of the assigned flow is 1, specifying The application service chain business chain BRAS → CGN → FW, the corresponding SFC ID is 2. When performing the above process, the BRAS forwards the uplink traffic of the L2CPE to the CGN service instance CGN1 according to the flow distribution, and the CGN1 forwards the uplink traffic to the L2CPE to the FW service instance FW1 according to the flow distribution.
通过上述具体应用距离,本申请实施例公开的报文处理方法,在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后的报文。本申请实施例公开的技术方案,相较于仅使用报文中的字段来对报文进行识别以及处理,根据网络控制装置分配的流的标识对报文进行处理,处理的方式更加灵活。The packet processing method disclosed in the embodiment of the present application determines the specificity according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index in the packet processing process. The service function instance sends the encapsulated packet to the specific service function instance. In the technical solution disclosed in the embodiment of the present application, the packet is processed and processed according to the identifier of the flow allocated by the network control device, and the processing manner is more flexible.
实施例五 Embodiment 5
基于上述本申请实施例一和实施例二公开的一种报文处理方法,对应的本申请实施例五还对应公开了执行上述报文处理方法的FC。所述FC可以是能够与SFC中的首个SF对应的多个业务功能实例中的一个业务功能实例通信的网络装置。或者,所述FC可以是所 述SFC的首个SF。如图6所示,该FC主要包括:接收单元11,处理单元12和发送单元13。Based on the packet processing method disclosed in the first embodiment and the second embodiment of the present application, the corresponding fifth embodiment of the present application further discloses an FC that executes the foregoing packet processing method. The FC may be a network device capable of communicating with one of a plurality of service function instances corresponding to the first SF in the SFC. Alternatively, the FC can be The first SF of the SFC. As shown in FIG. 6, the FC mainly includes a receiving unit 11, a processing unit 12, and a transmitting unit 13.
接收单元11,用于接收网络控制装置发送的流表,以及获取第一报文;The receiving unit 11 is configured to receive a flow table sent by the network control device, and obtain the first packet;
其中,所述流表包含流的规则,所述流被绑定到的SFC的信息,以及所述网络控制装置分配的流的ID。所述SFC的信息包括业务索引,所述SFC对应的SFP ID,所述SFC的首个SF对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息。或者,所述SFC的信息包括业务索引,所述SFC对应的SFP ID,所述SFC的首个SF的下一个SF对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息。The flow table includes rules of the flow, information of the SFC to which the flow is bound, and an ID of the flow allocated by the network control device. The information of the SFC includes a service index, an SFP ID corresponding to the SFC, a network address of multiple service function instances corresponding to the first SF of the SFC, and tunnel information of the multiple service function instances. Or the information of the SFC includes a service index, an SFP ID corresponding to the SFC, a network address of multiple service function instances corresponding to a next SF of the first SF of the SFC, and an instance of the multiple service function instances. Tunnel information.
所述业务索引是所SFC的生存时间值。所述生存时间值等于SFC上所包含的SF的数量;The service index is a lifetime time value of the SFC. The time to live value is equal to the number of SFs included on the SFC;
处理单元12,用于确定所述接收单元11获取的第一报文与所述流表匹配,并将所述第一报文封装为第二报文;The processing unit 12 is configured to determine that the first packet obtained by the receiving unit 11 matches the flow table, and encapsulate the first packet into a second packet.
其中,所述第二报文包括业务头以及隧道头。所述业务头包括所述SFP ID,所述流的ID以及第一值。所述第一值等于所述业务索引减1。The second packet includes a service header and a tunnel header. The service header includes the SFP ID, an ID of the flow, and a first value. The first value is equal to the service index minus one.
所述隧道头是基于所述隧道信息生成的。所述隧道头中包括第一业务功能实例的网络地址。所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例。所述第一业务功能实例的网络地址由所述SFP ID,所述流的ID和所述第一值确定。The tunnel header is generated based on the tunnel information. The tunnel header includes a network address of the first service function instance. The first service function instance is one of the plurality of service function instances. The network address of the first service function instance is determined by the SFP ID, the ID of the stream, and the first value.
发送单元13,用于向所述处理单元12确定的第一业务功能实例发送所述第二报文。The sending unit 13 is configured to send the second packet to the first service function instance determined by the processing unit 12.
在本申请实施例公开的技术方案中,优选的,所述处理单元还用于:向所述网络控制装置发送为所述流分配所述流的标识的请求,所述请求中包含所述流的信息;接收所述网络控制装置为所述流分配的所述流的标识的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。In the technical solution disclosed in the embodiment of the present application, preferably, the processing unit is further configured to: send, to the network control apparatus, a request for allocating an identifier of the flow to the flow, where the request includes the flow And receiving, by the network control device, a response of the identifier of the flow that is allocated by the network control device, where the response includes an identifier of the flow, where the identifier of the flow is different from the information of the flow.
需要说明的是,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定的所述处理单元12针对是否接收到网络控制装置发送的流分发表,对于第一业务功能实例的网络地址的确定具有两种不同的执行方式:It should be noted that the network address of the first service function instance is identified by the service function path, and the identifier of the flow and the processing unit 12 determined by the first value are sent by the network control device. The flow distribution is published, and the determination of the network address of the first service function instance has two different execution modes:
第一种方式,所述FC接收到所述网络控制装置发送的流分发表:In the first mode, the FC receives the distribution of the traffic sent by the network control device:
所述处理单元12,用于以所述SFP ID和所述第一值为查找关键字在流分发表中查找与所述SFP ID以及所述第一值匹配的表项。所述流分发表中与所述SFP ID以及所述第一值匹配的表项包含所述首个SF以及所述首个SF对应的多个业务功能实例的网络地址。或者,所述流分发表中与所述SFP ID以及所述第一值匹配的表项包含所述下一个SF及所述下一个SF对应的多个业务功能实例的网络地址。以所述SFP ID和所述流的ID为查找关键字,从所述流分发表中与所述SFP ID以及所述第一值匹配的表项包含的多个业务功能实例的网络地址中确定所述第一业务功能实例的网络地址;The processing unit 12 is configured to search, in the score distribution, an entry matching the SFP ID and the first value by using the SFP ID and the first value as a search key. The entry in the distribution publication that matches the SFP ID and the first value includes a network address of the first SF and multiple service function instances corresponding to the first SF. Alternatively, the entry in the distribution publication that matches the SFP ID and the first value includes a network address of multiple service function instances corresponding to the next SF and the next SF. Determining, by using the SFP ID and the ID of the stream as a search key, from a network address of multiple service function instances included in the entry that matches the SFP ID and the first value in the distribution publication a network address of the first service function instance;
第二种方式,所述FC未接收到所述网络控制装置发送的流分发表:In the second mode, the FC does not receive the distribution of the traffic sent by the network control device:
所述处理单元12,用于以所述SFP ID和所述第一值确定所述首个SF以及所述首个SF对应的多个业务功能实例的网络地址。或,以所述SFP ID和所述第一值确定所述下一个SF及所述下一个SF对应的多个业务功能实例的网络地址。以所述SFP ID和所述流的ID为哈希键,从所述首个SF或下一个SF对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。The processing unit 12 is configured to determine, by using the SFP ID and the first value, a network address of the first SF and multiple service function instances corresponding to the first SF. Or determining, by using the SFP ID and the first value, a network address of multiple service function instances corresponding to the next SF and the next SF. The network address of the first service function instance is determined from the network addresses of the plurality of service function instances corresponding to the first SF or the next SF by using the SFP ID and the ID of the stream as a hash key.
在本申请实施例公开的技术方案中,针对上述进行封装时得到的业务头,所述处理单 元12还用于,在所述业务头是NSH网络服务头的情况下,当所述业务头中的MD-type字段的值等于0x2时,所述业务头包含TLV-Class。所述TLV-Class包含Type Code和所述流的标识。所述Type Code用于表示所述TLV-Class携带所述流的标识;In the technical solution disclosed in the embodiment of the present application, the processing header obtained when the foregoing encapsulation is performed, the processing order The element 12 is further configured to: when the service header is an NSH network service header, when the value of the MD-type field in the service header is equal to 0x2, the service header includes a TLV-Class. The TLV-Class includes a Type Code and an identifier of the stream. The Type Code is used to indicate that the TLV-Class carries an identifier of the flow;
或者,or,
在所述业务头是NSH网络服务头的情况下,当所述业务头中的MD-type字段的值等于0x1时,所述业务头中的Mandatory Context Header携带所述流的标识。In the case that the service header is an NSH network service header, when the value of the MD-type field in the service header is equal to 0x1, the Mandatory Context Header in the service header carries the identifier of the flow.
基于上述本申请实施例公开的一种FC,在实际应用中可以将上述公开的FC中的各个单元集成至实体中,如图7所示,包括接收器101、处理器102和发送器103。具体的,上述接收单元11可以是接收器101,上述发送单元13可以是发送器103,上述处理单元12可以是处理器102。由处理器102控制接收器101和发送器103执行相应的操作,该处理器2具体可以是一个中央处理器CPU,或者是特定集成电路ASIC,或者是被配置成实施本申请实施例的一个或多个集成电路。Based on an FC disclosed in the above embodiment of the present application, each unit in the FC disclosed above may be integrated into an entity in a practical application, as shown in FIG. 7, including a receiver 101, a processor 102, and a transmitter 103. Specifically, the receiving unit 11 may be the receiver 101, the sending unit 13 may be the transmitter 103, and the processing unit 12 may be the processor 102. The processor 101 and the transmitter 103 are controlled by the processor 102 to perform corresponding operations. The processor 2 may be a central processing unit CPU, or a specific integrated circuit ASIC, or one configured to implement the embodiments of the present application. Multiple integrated circuits.
基于上述本申请实施例公开的一种FC,本申请实施例还对应公开了一种存储设备,该存储设备适用于该FC,所述存储设备包括存储器和通过总线与所述存储器连接的处理器;Based on the above-mentioned FC disclosed in the embodiment of the present application, the embodiment of the present application further discloses a storage device, where the storage device is applicable to the FC, and the storage device includes a memory and a processor connected to the memory through a bus. ;
所述存储器存储有用于进行报文处理的程序代码,所述程序代码包括计算机操作指令,所述处理器用于运行上述程序代码;The memory stores program code for performing message processing, the program code includes computer operation instructions, and the processor is configured to run the program code;
所述用于进行报文处理的程序代码包括:The program code for performing message processing includes:
接收网络控制装置发送的流表。所述流表包含流的规则,所述流被绑定到的SFC的信息,以及所述网络控制装置分配的流的ID。所述SFC的信息包括业务索引,所述SFC对应的SFP ID,所述SFC的首个SF对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息。或者,所述SFC的信息包括业务索引,所述SFC对应的SFP ID,所述SFC的首个SF的下一个SF对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息。所述业务索引是所述SFC的生存时间值。所述生存时间值等于所述SFC上所包含的SF的数量;Receive a flow table sent by the network control device. The flow table contains rules for the flow, information of the SFC to which the flow is bound, and the ID of the flow assigned by the network control device. The information of the SFC includes a service index, an SFP ID corresponding to the SFC, a network address of multiple service function instances corresponding to the first SF of the SFC, and tunnel information of the multiple service function instances. Or the information of the SFC includes a service index, an SFP ID corresponding to the SFC, a network address of multiple service function instances corresponding to a next SF of the first SF of the SFC, and an instance of the multiple service function instances. Tunnel information. The service index is a lifetime time value of the SFC. The lifetime time value is equal to the number of SFs included on the SFC;
获取第一报文;Obtain the first message;
确定所述第一报文与所述流表匹配;Determining that the first packet matches the flow table;
将所述第一报文封装为第二报文。所述第二报文包括业务头以及隧道头。所述业务头包括所述SFP ID,所述流的ID以及第一值。所述第一值等于所述业务索引减1。所述隧道头是基于所述隧道信息生成的。所述隧道头中包括第一业务功能实例的网络地址。所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例。所述第一业务功能实例的网络地址由所述SFP ID,所述流的ID和所述第一值确定。The first packet is encapsulated into a second packet. The second packet includes a service header and a tunnel header. The service header includes the SFP ID, an ID of the flow, and a first value. The first value is equal to the service index minus one. The tunnel header is generated based on the tunnel information. The tunnel header includes a network address of the first service function instance. The first service function instance is one of the plurality of service function instances. The network address of the first service function instance is determined by the SFP ID, the ID of the stream, and the first value.
向所述第一业务功能实例发送所述第二报文。Sending the second packet to the first service function instance.
上述提到的存储器可能包含高速RAM存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器;The above mentioned memory may include a high speed RAM memory, and may also include a nonvolatile memory such as at least one disk memory;
处理器可能是一个中央处理器CPU,或者是特定集成电路ASIC,或者是被配置成实施本申请实施例的一个或多个集成电路。The processor may be a central processing unit CPU, or a specific integrated circuit ASIC, or one or more integrated circuits configured to implement embodiments of the present application.
基于上述本申请实施例三公开的一种报文处理方法,对应的本申请实施例五还对应公开了执行该报文处理方法的SFC的第一SF对应的第一业务功能实例,该第一SF非所述SFC上最后一个SF,如图8所示,该第一业务功能实例20主要包括:接收单元21、处理单元22和发送单元23。 Based on the above-mentioned packet processing method disclosed in the third embodiment of the present application, the corresponding fifth embodiment of the present application further corresponding to the first service function instance corresponding to the first SF of the SFC that executes the packet processing method, the first The SF is not the last SF on the SFC. As shown in FIG. 8, the first service function instance 20 mainly includes: a receiving unit 21, a processing unit 22, and a sending unit 23.
接收单元21,用于接收FC或所述SFC中所述第一业功能的前一个业务功能对应的第一业务功能实例转发的第二报文。所述第二报文中的业务头包括所述SFC对应的SFP ID,网络控制装置分配的流的ID以及第一值。所述第一值等于业务索引减1。所述第二报文中的隧道头包括所述第一业务功能对应的第一业务功能实例的网络地址。所述第二报文包含第一报文。所述业务索引是SFC的生存时间值。所述生存时间值等于SFC上所包含的业务功能的数量;The receiving unit 21 is configured to receive a second packet forwarded by the first service function instance corresponding to the previous service function of the first service function in the FC or the SFC. The service header in the second packet includes an SFP ID corresponding to the SFC, an ID of a stream allocated by the network control device, and a first value. The first value is equal to the service index minus one. The tunnel header in the second packet includes a network address of the first service function instance corresponding to the first service function. The second packet includes a first packet. The service index is a lifetime time value of the SFC. The time to live value is equal to the number of service functions included on the SFC;
处理单元22,用于根据所述接收单元21接收到的所述SFP ID,所述流的ID和所述第二值确定所述第一SF的下一个SF对应的第二业务功能实例的网络地址。依据所述接收单元接收到的所述第二报文中的业务头对所述第一报文进行业务处理,将所述第一报文封装为第三报文。所述第三报文中的业务头包括所述SFP ID,所述流的ID以及第二值。所述第二值等于所述第一值减1。所述第三报文中的隧道头包括所述第一SF的下一个SF对应的所述第二业务功能实例的网络地址。所述第二业务功能实例的网络地址由所述SFP ID,所述流的ID和所述第二值确定。The processing unit 22 is configured to determine, according to the SFP ID received by the receiving unit 21, the ID of the stream and the second value, a network of a second service function instance corresponding to a next SF of the first SF. address. And performing service processing on the first packet according to the service header in the second packet received by the receiving unit, and encapsulating the first packet into a third packet. The service header in the third packet includes the SFP ID, an ID of the stream, and a second value. The second value is equal to the first value minus one. The tunnel header in the third packet includes a network address of the second service function instance corresponding to the next SF of the first SF. The network address of the second service function instance is determined by the SFP ID, the ID of the stream, and the second value.
发送单元23,用于向所述处理单元22确定的所述第二业务功能实例发送所述第三报文。The sending unit 23 is configured to send the third packet to the second service function instance determined by the processing unit 22.
在本申请实施例公开的技术方案中,优选的,该接收单元21,还用于接收包括所述流应用的所述SFP ID、所述业务索引和为所述流的ID选定的所述第一SF的下一个SF对应的多个业务功能实例的隧道信息的信息表。In the technical solution disclosed in the embodiment of the present application, preferably, the receiving unit 21 is further configured to receive the SFP ID including the flow application, the service index, and the selected for the ID of the flow. An information table of tunnel information of a plurality of service function instances corresponding to the next SF of the first SF.
在本申请实施例公开的技术方案中,由所述SFP ID,所述流的ID和所述第二值确定所述第二业务功能实例的网络地址的处理单元22,还包括:In the technical solution disclosed in the embodiment of the present application, the processing unit 22 that determines the network address of the second service function instance by using the SFP ID, the ID of the stream, and the second value, further includes:
所述处理单元22,还用于以所述SFP ID和所述第二值为查找关键字在流分发表中查找与所述SFP ID以及所述第二值匹配的表项。在流分发表中与所述SFP ID以及所述第二值匹配的表项包含所述第一SF的下一个SF,以及所述下一个SF对应的多个业务功能实例的网络地址。以所述SFP ID和所述流的ID为查找关键字,从所述流分发表中与所述SFP ID以及所述第二值匹配的表项包含的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址;The processing unit 22 is further configured to search, in the score distribution, an entry matching the SFP ID and the second value by using the SFP ID and the second value as a search key. The entry matching the SFP ID and the second value in the flow distribution includes the next SF of the first SF and the network address of the multiple service function instances corresponding to the next SF. Determining, by using the SFP ID and the ID of the stream as a search key, a network address of multiple service function instances included in the entry that matches the SFP ID and the second value in the distribution publication The network address of the second service function instance;
或者,or,
所述处理单元22,还用于以所述SFP ID和所述第二值确定所述第一SF的下一个SF,以及所述下一个SF对应的多个业务功能实例的网络地址。以所述SFP ID和所述流的ID为哈希键,从所述下一个SF对应的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。The processing unit 22 is further configured to determine, by the SFP ID and the second value, a next SF of the first SF, and a network address of multiple service function instances corresponding to the next SF. The network address of the second service function instance is determined from the network addresses of the plurality of service function instances corresponding to the next SF by using the SFP ID and the ID of the stream as a hash key.
基于上述本申请实施例公开的一种业务功能实例,在实际应用中可以将上述公开的业务功能实例中的各个模块集成至实体中,如图9所示,包括接收器201、处理器202和发送器203。具体的,上述接收单元21可以是接收器201,上述处理单元22可以是处理器202,上述发送单元23可以是发送器203。由处理器202控制接收器201和发送器203执行相应的操作,该处理器202具体可以是一个中央处理器CPU,或者是特定集成电路ASIC,或者是被配置成实施本申请实施例的一个或多个集成电路。Based on the foregoing business function example disclosed in the embodiment of the present application, in the actual application, each module in the foregoing disclosed service function instance may be integrated into an entity, as shown in FIG. 9, including the receiver 201, the processor 202, and Transmitter 203. Specifically, the receiving unit 21 may be the receiver 201, the processing unit 22 may be the processor 202, and the sending unit 23 may be the transmitter 203. The receiver 201 and the transmitter 203 are controlled by the processor 202 to perform corresponding operations. The processor 202 may be a central processing unit CPU, or a specific integrated circuit ASIC, or one configured to implement the embodiments of the present application. Multiple integrated circuits.
基于上述本申请实施例公开的一种业务功能实例,本申请实施例还对应公开了一种存储设备,该存储设备适用于该业务功能实例,所述存储设备包括存储器和通过总线与所述存储器连接的处理器; Based on the foregoing service function example disclosed in the embodiment of the present application, the embodiment of the present application further discloses a storage device, where the storage device is applicable to the service function instance, where the storage device includes a memory and a bus and the memory. Connected processor
所述存储器存储有用于进行报文处理的程序代码,所述程序代码包括计算机操作指令,所述处理器用于运行上述程序代码;The memory stores program code for performing message processing, the program code includes computer operation instructions, and the processor is configured to run the program code;
所述用于进行报文处理的程序代码包括:The program code for performing message processing includes:
接收流分类器或所述业务功能链中所述第一业务功能的前一个业务功能对应的第一业务功能实例转发的第二报文。所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值。所述第一值等于业务索引减1。所述第二报文中的隧道头包括所述第一业务功能对应的所述第一业务功能实例的网络地址。所述第二报文包含第一报文。所述业务索引是业务功能链的生存时间值。所述生存时间值等于业务功能链上所包含的业务功能的数量;Receiving a second packet forwarded by the first service function instance corresponding to the previous service function of the first service function in the traffic classifier or the service function chain. The service header in the second packet includes a service function path identifier corresponding to the service function chain, an identifier of the stream allocated by the network control device, and a first value. The first value is equal to the service index minus one. The tunnel header in the second packet includes a network address of the first service function instance corresponding to the first service function. The second packet includes a first packet. The service index is a lifetime time value of the service function chain. The lifetime time value is equal to the number of service functions included in the service function chain;
根据所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址;Determining, according to the service function path identifier, the identifier of the flow and the first value, determining a network address of a second service function instance corresponding to a next service function of the first service function;
依据所述第二报文中的业务头对所述第一报文进行业务处理;Performing service processing on the first packet according to the service header in the second packet;
将所述第一报文封装为第三报文。所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值。所述第二值等于所述第一值减1。所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址。所述第二业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;The first packet is encapsulated into a third packet. The service header in the third packet includes the service function path identifier, the identifier of the stream, and a second value. The second value is equal to the first value minus one. The tunnel header in the third packet includes a network address of the second service function instance corresponding to the next service function of the first service function. The network address of the second service function instance is identified by the service function path, and the identifier of the flow and the second value are determined;
向所述第二业务功能实例发送所述第三报文。Sending the third packet to the second service function instance.
此外,本申请实施例还公开了一种报文处理系统40,如图10所示,包括上述如图6或图7公开的FC,或适用于本申请实施例公开的存储设备的FC,上述图8或图9公开的业务功能实例20,或适用于本申请实施例公开的存储设备的业务功能实例20,以及,用于发送流表的网络控制装置30;In addition, the embodiment of the present application further discloses a message processing system 40, as shown in FIG. 10, including the FC disclosed in FIG. 6 or FIG. 7 or the FC applicable to the storage device disclosed in the embodiment of the present application. The service function example 20 disclosed in FIG. 8 or FIG. 9 or the service function example 20 applicable to the storage device disclosed in the embodiment of the present application, and the network control device 30 for transmitting the flow table;
其中,所述网络控制装置30为网络控制器或AAA服务器,在所述网络控制装置30中设置有流的ID管理单元31。The network control device 30 is a network controller or an AAA server, and the ID control unit 31 of the flow is provided in the network control device 30.
综上所述,本申请实施例公开的一种报文处理系统,在报文处理过程中,根据网络控制装置分配的流的标识,结合业务功能链的业务功能路径标识,及业务索引确定具体的业务功能实例,并向该确定的具体的业务功能实例发送封装后的报文。本申请实施例公开的技术方案,相较于现有技术中仅限于使用报文中的字段来对报文进行识别以及处理,根据网络控制装置分配的流的标识对报文进行处理,处理的方式更加灵活。In summary, a packet processing system disclosed in the embodiment of the present application determines the specificity according to the identifier of the flow allocated by the network control device, the service function path identifier of the service function chain, and the service index in the packet processing process. The service function instance sends the encapsulated packet to the determined specific service function instance. The technical solution disclosed in the embodiment of the present application is used to identify and process a packet according to a field in a packet, and the packet is processed according to the identifier of the stream allocated by the network control device. The way is more flexible.
本申请说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。The various embodiments in the specification of the present application are described in a progressive manner, and each embodiment focuses on differences from other embodiments, and the same similar parts between the various embodiments may be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part. The steps of a method or algorithm described in connection with the embodiments disclosed herein can be implemented directly in hardware, a software module executed by a processor, or a combination of both. The software module can be placed in random access memory (RAM), memory, read only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or technical field. Any other form of storage medium known.
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见。 The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be apparent to those skilled in the art.

Claims (14)

  1. 一种报文处理方法,其特征在于,所述方法由流分类器执行,所述方法包括:A packet processing method, characterized in that the method is performed by a stream classifier, the method comprising:
    接收网络控制装置发送的流表,所述流表包含流的规则,所述流被绑定到的业务功能链的信息,以及所述网络控制装置分配的所述流的标识,所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,或者所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能的下一个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,所述业务索引是所述业务功能链的生存时间值,所述生存时间值等于所述业务功能链上所包含的业务功能的数量;Receiving a flow table sent by the network control device, where the flow table includes rules of the flow, information of the service function chain to which the flow is bound, and an identifier of the flow allocated by the network control device, the service function The information of the chain includes a service index, a service function path identifier corresponding to the service function chain, a network address of multiple service function instances corresponding to the first service function of the service function chain, and a tunnel of the multiple service function instances. The information, or the information of the service function chain, includes a service index, a service function path identifier corresponding to the service function chain, and a network of multiple service function instances corresponding to the next service function of the first service function of the service function chain. An address, and the tunnel information of the multiple service function instances, where the service index is a lifetime value of the service function chain, where the lifetime time value is equal to the number of service functions included in the service function chain;
    获取第一报文;Obtain the first message;
    确定所述第一报文与所述流表匹配;Determining that the first packet matches the flow table;
    将所述第一报文封装为第二报文,所述第二报文包括业务头以及隧道头,所述业务头包括所述业务功能路径标识,所述流的标识以及第一值,所述第一值等于所述业务索引减1,所述隧道头是基于所述隧道信息生成的,所述隧道头中包括第一业务功能实例的网络地址,所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定;The first packet is encapsulated into a second packet, where the second packet includes a service header and a tunnel header, and the service header includes the service function path identifier, the identifier of the stream, and a first value. The first value is equal to the service index minus 1. The tunnel header is generated based on the tunnel information, where the tunnel header includes a network address of a first service function instance, and the first service function instance is the An example of a service function of the plurality of service function instances, where a network address of the first service function instance is identified by the service function path, and the identifier of the flow and the first value are determined;
    向所述第一业务功能实例发送所述第二报文;Sending the second packet to the first service function instance;
    其中,所述流分类器是能够与所述业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者,所述流分类器是所述业务功能链的首个业务功能。The flow classifier is a network device capable of communicating with one of the plurality of service function instances corresponding to the first service function in the service function chain, or the flow classifier is the service The first business function of the function chain.
  2. 根据权利要求1所述的方法,其特征在于,在所述接收网络控制装置发送的流表之前,还包括:The method according to claim 1, wherein before the receiving the flow table sent by the network control device, the method further comprises:
    向所述网络控制装置发送为所述流分配所述流的标识的请求,所述请求中包含所述流的信息;Sending, to the network control apparatus, a request for assigning an identifier of the flow to the flow, where the request includes information of the flow;
    接收所述网络控制装置为所述流分配的所述流的标识的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。Receiving a response of the identifier of the flow that is allocated by the network control device to the flow, where the response includes an identifier of the flow, where the identifier of the flow is different from the information of the flow.
  3. 根据权利要求1所述的方法,其特征在于,由所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能实例的网络地址,包括:The method according to claim 1, wherein the identifier of the flow and the first value determine a network address of the first service function instance, and the method includes:
    所述流分类器以所述业务功能路径标识和所述第一值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第一值匹配的表项,所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或者所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址;The flow classifier searches for, in the flow distribution publication, an entry matching the service function path identifier and the first value in the flow distribution publication by using the service function path identifier and the first value as a search key, the flow score The entry in the publication that matches the service function path identifier and the first value includes the first service function and a network address of multiple service function instances corresponding to the first service function, or the flow distribution is published. The entry that matches the service function path identifier and the first value includes a network address of the next service function and multiple service function instances corresponding to the next service function;
    以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址;Determining, by the service function path identifier and the identifier of the flow, a plurality of service function instances included in the entry that matches the service function path identifier and the first value in the flow distribution Determining a network address of the first service function instance in the network address;
    或者,or,
    所述流分类器以所述业务功能路径标识和所述第一值确定所述首个业务功能以及所 述首个业务功能对应的多个业务功能实例的网络地址,或所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址;Determining, by the traffic classifier, the first service function and the location by using the service function path identifier and the first value a network address of the plurality of service function instances corresponding to the first service function, or a network address of the next service function and multiple service function instances corresponding to the next service function;
    以所述业务功能路径标识和所述流的标识为哈希键,从所述首个业务功能或所述下一个业务功能对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。Determining, by the service function path identifier and the identifier of the flow, a hash key, and determining, by the first service function or a network address of multiple service function instances corresponding to the next service function, a first service function instance website address.
  4. 根据权利要求1所述的方法,其特征在于,所述业务头是NSH网络服务头,所述流的标识在所述业务头中的位置包括:The method according to claim 1, wherein the service header is an NSH network service header, and the location of the identifier of the flow in the service header includes:
    当所述业务头中的MD-type字段的值等于0x2时,所述业务头包含TLV-Class,所述TLV-Class包含Type Code和所述流的标识,所述Type Code用于表示所述TLV-Class携带所述流的标识;When the value of the MD-type field in the service header is equal to 0x2, the service header includes a TLV-Class, and the TLV-Class includes a Type Code and an identifier of the stream, where the Type Code is used to indicate the The TLV-Class carries the identifier of the stream;
    或者,or,
    当所述业务头中的MD-type字段的值等于0x1时,所述业务头中的Mandatory Context Header携带所述流的标识。When the value of the MD-type field in the service header is equal to 0x1, the Mandatory Context Header in the service header carries the identifier of the flow.
  5. 一种流分类器,其特征在于,所述流分类器是能够与业务功能链中的首个业务功能对应的多个业务功能实例中的一个业务功能实例通信的网络装置,或者所述流分类器是所述业务功能链的首个业务功能,所述流分类器包括:A flow classifier, wherein the flow classifier is a network device capable of communicating with one of a plurality of service function instances corresponding to a first service function in a service function chain, or the flow classification The first business function of the service function chain, the flow classifier includes:
    接收单元,用于接收网络控制装置发送的流表,以及获取第一报文,所述流表包含流的规则,所述流被绑定到的业务功能链的信息,以及所述网络控制装置分配的所述流的标识,所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,或者所述业务功能链的信息包括业务索引,所述业务功能链对应的业务功能路径标识,所述业务功能链的首个业务功能的下一个业务功能对应的多个业务功能实例的网络地址,及所述多个业务功能实例的隧道信息,所述业务索引是所业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;a receiving unit, configured to receive a flow table sent by the network control device, and obtain a first packet, where the flow table includes a rule of the flow, information of the service function chain to which the flow is bound, and the network control device And the identifier of the service function chain, where the information of the service function chain includes a service index, a service function path identifier corresponding to the service function chain, and a network of multiple service function instances corresponding to the first service function of the service function chain. The address, and the tunnel information of the multiple service function instances, or the information of the service function chain includes a service index, a service function path identifier corresponding to the service function chain, and a first service function of the service function chain a network address of a plurality of service function instances corresponding to a service function, and tunnel information of the plurality of service function instances, where the service index is a lifetime value of the service function chain, and the lifetime time value is equal to the service function chain The number of business functions included;
    处理单元,用于确定所述接收单元获取的第一报文与所述流表匹配,并将所述第一报文封装为第二报文,所述第二报文包括业务头以及隧道头,所述业务头包括所述业务功能路径标识,所述流的标识以及第一值,所述第一值等于所述业务索引减1,所述隧道头是基于所述隧道信息生成的,所述隧道头中包括第一业务功能实例的网络地址,所述第一业务功能实例是所述多个业务功能实例中的一个业务功能实例,所述第一业务功能实例的网际协议或多媒体接入控制地址由所述业务功能路径标识,所述流的标识和所述第一值确定;a processing unit, configured to determine that the first packet obtained by the receiving unit matches the flow table, and encapsulate the first packet into a second packet, where the second packet includes a service header and a tunnel header The service header includes the service function path identifier, the identifier of the flow, and a first value, where the first value is equal to the service index minus 1, and the tunnel header is generated based on the tunnel information. The network header includes a network address of the first service function instance, where the first service function instance is one of the multiple service function instances, and the first service function instance is an Internet protocol or multimedia access. The control address is identified by the service function path, and the identifier of the flow and the first value are determined;
    发送单元,用于向所述处理单元确定的第一业务功能实例发送所述第二报文。And a sending unit, configured to send the second packet to the first service function instance determined by the processing unit.
  6. 根据权利要求5所述的流分类器,其特征在于,所述处理单元还用于:The stream classifier according to claim 5, wherein the processing unit is further configured to:
    向所述网络控制装置发送为所述流分配所述流的标识的请求,所述请求中包含所述流的信息;Sending, to the network control apparatus, a request for assigning an identifier of the flow to the flow, where the request includes information of the flow;
    接收所述网络控制装置为所述流分配的所述流的标识的响应,所述响应中包含所述流的标识,所述流的标识与所述流的信息不同。Receiving a response of the identifier of the flow that is allocated by the network control device to the flow, where the response includes an identifier of the flow, where the identifier of the flow is different from the information of the flow.
  7. 根据权利要求5所述的流分类器,其特征在于,所述第一业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第一值确定的所述处理单元,包括:The stream classifier according to claim 5, wherein the network address of the first service function instance is identified by the service function path, the identifier of the stream and the processing unit determined by the first value ,include:
    所述处理单元,用于以所述业务功能路径标识和所述第一值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第一值匹配的表项,所述流分发表中与所述业务 用能路径标识以及所述第一值匹配的表项包含所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或者所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第一值匹配的表项包含的多个业务功能实例的网络地址中确定所述第一业务功能实例的网络地址;The processing unit is configured to: in the flow distribution publication, look up an entry matching the service function path identifier and the first value by using the service function path identifier and the first value as a search key, The flow of the publication and the business The entry with the energy path identifier and the first value matching includes the first service function and a network address of multiple service function instances corresponding to the first service function, or the traffic distribution and the service The function path identifier and the entry matching the first value include a network address of the next service function and multiple service function instances corresponding to the next service function, and the service function path identifier and the flow Determining, as a lookup key, determining, by the network address of the plurality of service function instances included in the entry that matches the service function path identifier and the first value in the flow distribution, determining the first service function instance website address;
    或者,or,
    所述处理单元,用于以所述业务功能路径标识和所述第一值确定所述首个业务功能以及所述首个业务功能对应的多个业务功能实例的网络地址,或所述下一个业务功能及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为哈希键,从所述首个业务功能或下一个业务功能对应的多个业务功能实例的网络地址中确定第一业务功能实例的网络地址。The processing unit is configured to determine, by the service function path identifier and the first value, a network address of the first service function and multiple service function instances corresponding to the first service function, or the next one a service function and a network address of the plurality of service function instances corresponding to the next service function, where the service function path identifier and the identifier of the stream are hash keys, from the first service function or the next service function The network address of the first service function instance is determined in the network address of the corresponding multiple service function instances.
  8. 根据权利要求5所述的流分类器,其特征在于,所述处理单元还用于:The stream classifier according to claim 5, wherein the processing unit is further configured to:
    在所述业务头是NSH网络服务头的情况下,当所述业务头中的MD-type字段的值等于0x2时,所述业务头包含TLV-Class,所述TLV-Class包含Type Code和所述流的标识,所述Type Code用于表示所述TLV-Class携带所述流的标识;In the case that the service header is an NSH network service header, when the value of the MD-type field in the service header is equal to 0x2, the service header includes a TLV-Class, and the TLV-Class includes a Type Code and a An identifier of the flow, the Type Code is used to indicate that the TLV-Class carries an identifier of the flow;
    或者,or,
    在所述业务头是NSH网络服务头的情况下,当所述业务头中的MD-type字段的值等于0x1时,所述业务头中的Mandatory Context Header携带所述流的标识。In the case that the service header is an NSH network service header, when the value of the MD-type field in the service header is equal to 0x1, the Mandatory Context Header in the service header carries the identifier of the flow.
  9. 一种报文处理方法,其特征在于,所述方法由业务功能链的第一业务功能对应的第一业务功能实例执行,所述方法包括:A packet processing method, where the method is performed by a first service function instance corresponding to a first service function of a service function chain, where the method includes:
    接收流分类器或所述业务功能链中所述第一业务功能的前一个业务功能对应的第一业务功能实例转发的第二报文,所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值,所述第一值等于业务索引减1,所述第二报文中的隧道头包括所述第一业务功能对应的所述第一业务功能实例的网络地址,所述第二报文包含第一报文,所述业务索引是业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;Receive a second packet forwarded by the first service function instance corresponding to the previous service function of the first service function in the service classifier, where the service header in the second packet includes the service a service function path identifier corresponding to the function chain, an identifier of the stream allocated by the network control device, and a first value, where the first value is equal to the service index minus 1, and the tunnel header in the second packet includes the first service function And corresponding to the network address of the first service function instance, where the second packet includes a first packet, where the service index is a lifetime value of the service function chain, and the lifetime time value is equal to that included in the service function chain. The number of business functions;
    根据所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址;Determining, according to the service function path identifier, the identifier of the flow and the first value, determining a network address of a second service function instance corresponding to a next service function of the first service function;
    依据所述第二报文中的业务头对所述第一报文进行业务处理;Performing service processing on the first packet according to the service header in the second packet;
    将所述第一报文封装为第三报文,所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值,所述第二值等于所述第一值减1,所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址,所述第二业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;The first packet is encapsulated into a third packet, and the service header in the third packet includes the service function path identifier, the identifier of the stream, and a second value, where the second value is equal to the The first value is decremented by 1. The tunnel header in the third packet includes a network address of the second service function instance corresponding to a next service function of the first service function, and a network of the second service function instance. The address is identified by the service function path, and the identifier of the flow and the second value are determined;
    向所述第二业务功能实例发送所述第三报文。Sending the third packet to the second service function instance.
  10. 根据权利要求9所述的方法,其特征在于,还包括:The method of claim 9 further comprising:
    接收包括所述流应用的所述业务功能路径标识、所述业务索引和为所述流的标识选定的所述第一业务功能的下一个业务功能对应的多个业务功能实例的隧道信息的信息表。Receiving, by the service function path identifier of the flow application, the service index, and tunnel information of multiple service function instances corresponding to a next service function of the first service function selected for the identifier of the flow Information Sheet.
  11. 根据权利要求9所述的方法,其特征在于,由所述业务功能路径标识,所述流的 标识和所述第二值确定所述第二业务功能实例的网络地址,包括:The method of claim 9 wherein said traffic function path identifies said stream The identifier and the second value determine a network address of the second service function instance, including:
    以所述业务功能路径标识和所述第二值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第二值匹配的表项包含所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址;The entry that matches the service function path identifier and the second value in the flow distribution publication with the service function path identifier and the second value as a lookup key includes the next one of the first service function a service function, and a network address of multiple service function instances corresponding to the next service function;
    以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第二值匹配的表项包含的所述多个业务功能实例的网络地址中确定第二业务功能实例的网络地址;Determining, by the service function path identifier and the identifier of the flow, the plurality of service functions included in the entry that matches the service function path identifier and the second value in the distribution publication Determining a network address of the second service function instance in the network address of the instance;
    或者,or,
    以所述业务功能路径标识和所述第二值确定所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址;Determining, by the service function path identifier and the second value, a next service function of the first service function, and a network address of multiple service function instances corresponding to the next service function;
    以所述业务功能路径标识和所述流的标识为哈希键,从所述下一个业务功能对应的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。The network function address of the second service function instance is determined from the network address of the multiple service function instances corresponding to the next service function by using the service function path identifier and the identifier of the flow as a hash key.
  12. 一种业务功能实例,其特征在于,所述业务功能实例为业务功能链的第一业务功能对应的第一业务功能实例,包括:An example of a service function, where the service function instance is a first service function instance corresponding to a first service function of a service function chain, and includes:
    接收单元,用于接收流分类器或所述业务功能链中所述第一业功能的前一个业务功能对应的第一业务功能实例转发的第二报文,所述第二报文中的业务头包括所述业务功能链对应的业务功能路径标识,网络控制装置分配的流的标识以及第一值,所述第一值等于业务索引减1,所述第二报文中的隧道头包括所述第一业务功能对应的第一业务功能实例的网络地址,所述第二报文包含第一报文,所述业务索引是业务功能链的生存时间值,所述生存时间值等于业务功能链上所包含的业务功能的数量;a receiving unit, configured to receive a second packet forwarded by the first service function instance corresponding to the previous service function of the first service function in the service classifier, and the service in the second packet The header includes a service function path identifier corresponding to the service function chain, an identifier of the stream allocated by the network control device, and a first value, where the first value is equal to the service index minus 1, and the tunnel header in the second packet includes a network address of the first service function instance corresponding to the first service function, where the second packet includes a first packet, where the service index is a lifetime value of the service function chain, and the lifetime time value is equal to the service function chain. The number of business functions contained on;
    处理单元,用于根据所述接收单元接收到的所述业务功能路径标识,所述流的标识和所述第一值确定所述第一业务功能的下一个业务功能对应的第二业务功能实例的网络地址,依据所述接收单元接收到的所述第二报文中的业务头对所述第一报文进行业务处理,将所述第一报文封装为第三报文,所述第三报文中的业务头包括所述业务功能路径标识,所述流的标识以及第二值,所述第二值等于所述第一值减1,所述第三报文中的隧道头包括所述第一业务功能的下一个业务功能对应的所述第二业务功能实例的网络地址,所述第二业务功能实例的网络地址由所述业务功能路径标识,所述流的标识和所述第二值确定;a processing unit, configured to determine, according to the service function path identifier that is received by the receiving unit, the identifier of the stream and the first value determine a second service function instance corresponding to a next service function of the first service function The network address is processed according to the service header in the second packet received by the receiving unit, and the first packet is encapsulated into a third packet, where the first packet is encapsulated into a third packet. The traffic header in the third packet includes the service function path identifier, the identifier of the flow, and the second value, where the second value is equal to the first value minus 1, and the tunnel header in the third packet includes The network address of the second service function instance corresponding to the next service function of the first service function, the network address of the second service function instance is identified by the service function path, the identifier of the flow and the The second value is determined;
    发送单元,用于向所述处理单元确定的所述第二业务功能实例发送所述第三报文。And a sending unit, configured to send the third packet to the second service function instance determined by the processing unit.
  13. 根据权利要求12所述的业务功能实例,其特征在于,还包括:The service function instance according to claim 12, further comprising:
    所述接收单元,还用于接收包括所述流应用的所述业务功能路径标识、所述业务索引和为所述流的标识选定的所述第一业务功能的下一个业务功能对应的多个业务功能实例的隧道信息的信息表。The receiving unit is further configured to receive, according to the service function path identifier of the flow application, the service index, and a next service function corresponding to the first service function selected for the identifier of the flow Information table of tunnel information for business function instances.
  14. 根据权利要求12所述的业务功能实例,其特征在于,由所述业务功能路径标识,所述流的标识和所述第二值确定所述第二业务功能实例的网络地址的处理单元,还包括:The service function instance according to claim 12, wherein the identifier of the flow and the second value determine a processing unit of a network address of the second service function instance, include:
    所述处理单元,还用于以所述业务功能路径标识和所述第二值为查找关键字在流分发表中查找与所述业务功能路径标识以及所述第二值匹配的表项包含所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为查找关键字,从所述流分发表中与所述业务功能路径标识以及所述第二值匹配的表项包含的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址; The processing unit is further configured to: use the service function path identifier and the second value as a search key to search for a table item that matches the service function path identifier and the second value in a stream distribution publication. a next service function of the first service function, and a network address of the plurality of service function instances corresponding to the next service function, where the service function path identifier and the identifier of the stream are search keywords, Determining, in the network address of the plurality of service function instances included in the entry that matches the service function path identifier and the second value, the network address of the second service function instance;
    或者,or,
    所述处理单元,还用于以所述业务功能路径标识和所述第二值确定所述第一业务功能的下一个业务功能,以及所述下一个业务功能对应的多个业务功能实例的网络地址,以所述业务功能路径标识和所述流的标识为哈希键,从所述下一个业务功能对应的多个业务功能实例的网络地址中确定第二业务功能实例的网络地址。 The processing unit is further configured to determine, by the service function path identifier and the second value, a next service function of the first service function, and a network of multiple service function instances corresponding to the next service function. The address is determined by using the service function path identifier and the identifier of the flow as a hash key, and determining a network address of the second service function instance from the network addresses of the multiple service function instances corresponding to the next service function.
PCT/CN2017/072783 2016-02-06 2017-01-26 Packet processing method, traffic classifier, and service function instance WO2017133647A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610083925.6A CN107046506B (en) 2016-02-06 2016-02-06 Message processing method, flow classifier and service function example
CN201610083925.6 2016-02-06

Publications (1)

Publication Number Publication Date
WO2017133647A1 true WO2017133647A1 (en) 2017-08-10

Family

ID=59500605

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/072783 WO2017133647A1 (en) 2016-02-06 2017-01-26 Packet processing method, traffic classifier, and service function instance

Country Status (2)

Country Link
CN (1) CN107046506B (en)
WO (1) WO2017133647A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111224872A (en) * 2018-11-24 2020-06-02 南宁富桂精密工业有限公司 Packet forwarding method and apparatus
CN114363257A (en) * 2021-12-29 2022-04-15 杭州迪普信息技术有限公司 Five-tuple matching method and device for tunnel message
CN115150420A (en) * 2021-03-29 2022-10-04 中移(上海)信息通信科技有限公司 Service processing method, device and related equipment

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109922005B (en) * 2017-12-13 2022-08-19 中兴通讯股份有限公司 Load sharing method, device and system and computer readable storage medium
US10880206B2 (en) * 2018-06-13 2020-12-29 Futurewei Technologies, Inc. Multipath selection system and method for datacenter-centric metro networks
CN115426267A (en) 2019-12-31 2022-12-02 华为技术有限公司 Method and device for acquiring network slice identifier
CN111262762B (en) * 2020-01-20 2021-08-03 烽火通信科技股份有限公司 vCPE tenant-based SFC service chain multi-WAN service realization method and system
CN111464443B (en) * 2020-03-10 2022-06-28 中移(杭州)信息技术有限公司 Message forwarding method, device, equipment and storage medium based on service function chain
CN112491739A (en) * 2020-07-10 2021-03-12 中兴通讯股份有限公司 Service flow processing method and device
CN113037632B (en) * 2021-02-26 2021-12-17 中国电子科技集团公司第五十四研究所 Space-based network resource scheduling method based on path identification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104869065A (en) * 2014-02-26 2015-08-26 中兴通讯股份有限公司 Method and device for processing data message
CN104954245A (en) * 2014-03-27 2015-09-30 中兴通讯股份有限公司 Service function chaining (SFC) processing method and device
WO2016004556A1 (en) * 2014-06-17 2016-01-14 华为技术有限公司 Service flow processing method, apparatus and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104869065A (en) * 2014-02-26 2015-08-26 中兴通讯股份有限公司 Method and device for processing data message
CN104954245A (en) * 2014-03-27 2015-09-30 中兴通讯股份有限公司 Service function chaining (SFC) processing method and device
WO2016004556A1 (en) * 2014-06-17 2016-01-14 华为技术有限公司 Service flow processing method, apparatus and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WANG, C. ET AL.: "IPv6 Service Function Chain draft-wang-6man-ipv6-service-function-chain-00", IETF, 2 July 2015 (2015-07-02) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111224872A (en) * 2018-11-24 2020-06-02 南宁富桂精密工业有限公司 Packet forwarding method and apparatus
CN115150420A (en) * 2021-03-29 2022-10-04 中移(上海)信息通信科技有限公司 Service processing method, device and related equipment
CN115150420B (en) * 2021-03-29 2024-04-09 中移(上海)信息通信科技有限公司 Service processing method and device and related equipment
CN114363257A (en) * 2021-12-29 2022-04-15 杭州迪普信息技术有限公司 Five-tuple matching method and device for tunnel message
CN114363257B (en) * 2021-12-29 2023-10-17 杭州迪普信息技术有限公司 Five-tuple matching method and device for tunnel message

Also Published As

Publication number Publication date
CN107046506A (en) 2017-08-15
CN107046506B (en) 2020-02-14

Similar Documents

Publication Publication Date Title
WO2017133647A1 (en) Packet processing method, traffic classifier, and service function instance
US10158568B2 (en) Method and apparatus for service function forwarding in a service domain
TWI744359B (en) Method for data transmission and network equipment
US10230627B2 (en) Service path allocation method, router and service execution entity
CN112422393B (en) Method for transmitting message of extensible virtual local area network, computer equipment and readable medium
US8619779B2 (en) Scalable architecture for enterprise extension in a cloud topology
US20160301603A1 (en) Integrated routing method based on software-defined network and system thereof
US20140153577A1 (en) Session-based forwarding
US10742697B2 (en) Packet forwarding apparatus for handling multicast packet
US20150188802A1 (en) System for supporting multi-tenant based on private ip address in virtual private cloud networks and operating method thereof
WO2014176740A1 (en) Stream classifier, service routing trigger, and message processing method and system
WO2016177145A1 (en) Packet transmission method and device
US10848457B2 (en) Method and system for cross-zone network traffic between different zones using virtual network identifiers and virtual layer-2 broadcast domains
WO2018036254A1 (en) Packet forwarding method and device
EP2869510B1 (en) Express header for packets with hierarchically structured variable-length identifiers
WO2021083332A1 (en) Method, apparatus and system for sending message
US11012412B2 (en) Method and system for network traffic steering towards a service device
US10855733B2 (en) Method and system for inspecting unicast network traffic between end points residing within a same zone
US10165092B2 (en) Using a network service header to manage a network-as-a-system
JP2019510406A (en) Addressing for customer premises LAN expansion
WO2014139157A1 (en) Method for packet processing and packet device and system
CN109246016B (en) Cross-VXLAN message processing method and device
KR20180007898A (en) Method for separating groups within tenent in virtual private cloud network
CN109714259B (en) Traffic processing method and device
JP5535254B2 (en) Network system, terminal identification method, and program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17746967

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17746967

Country of ref document: EP

Kind code of ref document: A1