US20170208532A1 - Service path generation method and apparatus - Google Patents

Service path generation method and apparatus Download PDF

Info

Publication number
US20170208532A1
US20170208532A1 US15/473,379 US201715473379A US2017208532A1 US 20170208532 A1 US20170208532 A1 US 20170208532A1 US 201715473379 A US201715473379 A US 201715473379A US 2017208532 A1 US2017208532 A1 US 2017208532A1
Authority
US
United States
Prior art keywords
service
identifier
uplink
downlink
service path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US15/473,379
Other versions
US10390285B2 (en
Inventor
Han Zhou
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of US20170208532A1 publication Critical patent/US20170208532A1/en
Assigned to HUAWEI TECHNOLOGIES CO., LTD. reassignment HUAWEI TECHNOLOGIES CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ZHOU, Han
Application granted granted Critical
Publication of US10390285B2 publication Critical patent/US10390285B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/26Connectivity information management, e.g. connectivity discovery or connectivity update for hybrid routing by combining proactive and reactive routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04W76/021
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/11Allocation or use of connection identifiers

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a service path generation method and apparatus.
  • network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web (web) optimization service, and a NAT (Network Address Translation, network address translation) service.
  • an antivirus service e.g., a firewall service
  • an application cache and acceleration service e.g., a web (web) optimization service
  • a NAT Network Address Translation, network address translation
  • the network server sends a downlink service flow to the user equipment
  • the network server sends the downlink service flow to service devices on a downlink service path
  • the service devices on the downlink service path perform service processing on the downlink service flow and send a processed downlink service flow to the user equipment. Therefore, before the uplink service flow is transmitted, a classifier needs to generate an uplink service path, and the uplink service flow is transmitted according to the uplink service path. Before the downlink service flow is transmitted, the classifier needs to generate a downlink service path, and the downlink service flow is transmitted according to the downlink service path.
  • the classifier is a device that identifies and classifies a service flow and that generates a service path according to the service flow.
  • the classifier may be a PCEF (Policy and Charging Enforcement Function), a PGW (Packet Gateway), or the like.
  • the prior art provides a service path generation method.
  • the service path generation method may be as follows: A classifier receives an uplink service flow sent by user equipment, where the uplink service flow includes at least a user equipment identifier; obtains subscription information of a user from a correspondence between the user equipment identifier and the subscription information of the user equipment according to the user equipment identifier; and obtains uplink service types according to the subscription information of the user. To share load, multiple service devices may be deployed for each service type. Therefore, when obtaining the uplink service types, the classifier separately and randomly selects a service device from the service devices corresponding to each uplink service type, and forms an uplink service path according to the selected service devices. Likewise, when a downlink service flow is received, a downlink service path is generated according to the foregoing method.
  • a service device included in the uplink service path After the uplink service path is generated, a service device included in the uplink service path establishes a TCP (Transmission Control Protocol) connection to a network server, and transmits the uplink service flow to the network server by using the TCP connection.
  • TCP Transmission Control Protocol
  • a service device included in the downlink service path may be different from a service device included in the uplink service path. As a result, the service device included in the downlink service path does not establish a TCP connection to the network server. Therefore, the downlink service flow cannot be transmitted, thereby causing transmission interruption of the downlink service flow.
  • the present invention provides a service path generation method and apparatus.
  • the technical solutions are as follows:
  • the present invention provides a service path generation apparatus, where the apparatus includes:
  • a first receiving module configured to receive a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain;
  • a first processing module configured to: obtain uplink service path information, and obtain, according to the uplink service path information, identifiers of service devices on the uplink service path, where
  • the first processing module is further configured to select, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain;
  • the first processing module is further configured to generate a downlink service path according to the selected identifier of the service device.
  • the uplink service path information is an identifier of the uplink service path
  • the first processing module is specifically configured to: obtain the identifier of the uplink service path from the downlink service path request, where the downlink service path request carries the identifier of the uplink service path; or obtain the identifier of the uplink service path from a correspondence between the identifier of the downlink service chain and the identifier of the uplink service path according to the identifier of the downlink service chain.
  • the uplink service path information is the identifier of the uplink service path
  • the first processing module is specifically configured to: obtain the uplink service path from a correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path, and obtain, according to the uplink service path, the identifiers of service devices on the uplink service path.
  • the uplink service path information is uplink service flow information
  • the first processing module is specifically configured to obtain the uplink service flow information from the downlink service path request, where the downlink service path request carries the uplink service flow information.
  • the uplink service path information is the uplink service flow information
  • the first processing module is specifically configured to calculate, according to a preset algorithm and the uplink service flow information, the identifiers of service devices on the uplink service path.
  • the first processing module is specifically configured to: obtain, according to the identifier of the downlink service chain, downlink service types included in the downlink service chain, and select, according to the downlink service types and from the identifiers of service devices on the uplink service path, identifiers of service devices corresponding to the downlink service types.
  • the first processing module is specifically configured to: remove, from the downlink service types included in the downlink service chain, service types corresponding to the selected identifiers of the service devices, to obtain remaining service types; obtain identifiers of service devices corresponding to the remaining service types; and form the downlink service path according to the selected identifiers of downlink service devices and the identifiers of service devices corresponding to the remaining service types.
  • the first receiving module is further configured to receive an uplink service path request sent by the classifier, where the uplink service path request carries an identifier of an uplink service chain;
  • the first processing module is further configured to obtain the uplink service path according to the identifier of the uplink service chain;
  • the first processing module is further configured to: obtain the identifier of the uplink service path, and establish the correspondence between the identifier of the uplink service path and the uplink service path.
  • the first processing module is specifically configured to: obtain, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain; select, from service devices corresponding to the service types, service devices according to the uplink service types included in the uplink service chain; and form the uplink service path according to the selected service devices.
  • the first processing module is specifically configured to: obtain, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain; obtain the uplink service flow information, and obtain, according to the uplink service flow information, the identifiers of service devices on the uplink service path; select service devices according to the uplink service types included in the uplink service chain and the identifiers of service devices on the uplink service path; and form the uplink service path according to the selected service devices.
  • the present invention provides a service path generation apparatus, where the apparatus includes:
  • a second receiving module configured to receive a downlink service flow sent by a network server
  • a second processing module configured to obtain an identifier of a downlink service chain according to the downlink service flow
  • a second sending module configured to send a downlink service path request to a controller, where the downlink service path request carries the identifier of the downlink service chain, so that the controller selects, from service devices on an uplink service path, service devices according to the identifier of the downlink service chain, and generates a downlink service path according to the selected service devices, where
  • the second receiving module is further configured to receive the downlink service path sent by the controller.
  • the downlink service path request further carries uplink service path information
  • the second processing module is further configured to obtain a user equipment identifier from the downlink service flow.
  • the second processing module is further configured to obtain an identifier of the uplink service path from a correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier, where the identifier of the uplink service path is the uplink service path information.
  • the downlink service path request further carries uplink service path information
  • the second processing module is further configured to obtain downlink service flow information according to the downlink service flow.
  • the second processing module is further configured to obtain uplink service flow information according to the downlink service flow information, where the uplink service flow information is the uplink service path information.
  • the second receiving module is further configured to receive an uplink service flow sent by user equipment;
  • the second processing module is further configured to obtain the identifier of the uplink service path according to the uplink service flow;
  • the second processing module is further configured to establish the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • the second processing module is specifically configured to: obtain the uplink service flow information and an identifier of an uplink service chain according to the uplink service flow, obtain, according to the uplink service flow information, identifiers of service devices on the uplink service path, generate the uplink service path according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and obtain the identifier of the uplink service path from a correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • the second processing module is specifically configured to: obtain an identifier of an uplink service chain according to the uplink service flow, and obtain the identifier of the uplink service path from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • the present invention provides a service path generation method, where the method includes:
  • uplink service path information obtaining uplink service path information, and obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path;
  • the uplink service path information is an identifier of the uplink service path
  • the obtaining uplink service path information includes:
  • the downlink service path request carries the identifier of the uplink service path; or obtaining the identifier of the uplink service path from a correspondence between the identifier of the downlink service chain and the identifier of the uplink service path according to the identifier of the downlink service chain.
  • the uplink service path information is the identifier of the uplink service path
  • the obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path includes:
  • the uplink service path information is uplink service flow information
  • the obtaining uplink service path information includes:
  • the downlink service path request carries the uplink service flow information.
  • the uplink service path information is the uplink service flow information
  • the obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path includes:
  • the selecting, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain includes:
  • the generating a downlink service path according to the selected identifier of the service device includes:
  • the method further includes:
  • the classifier receiving an uplink service path request sent by the classifier, where the uplink service path request carries an identifier of an uplink service chain;
  • the obtaining the uplink service path according to the identifier of the uplink service chain includes:
  • the obtaining the uplink service path according to the identifier of the uplink service chain includes:
  • the present invention provides a service path generation method, where the method includes:
  • the downlink service path request further carries uplink service path information
  • the method further includes:
  • the identifier of the uplink service path is the uplink service path information.
  • the downlink service path request further carries the uplink service path information
  • the method further includes:
  • uplink service flow information is the uplink service path information.
  • the method further includes:
  • the obtaining the identifier of the uplink service path according to the uplink service flow includes:
  • the uplink service flow information and an identifier of an uplink service chain according to the uplink service flow obtaining, according to the uplink service flow information, identifiers of service devices on the uplink service path, generating the uplink service path according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and obtaining the identifier of the uplink service path from a correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • obtaining an identifier of an uplink service chain according to the uplink service flow and obtaining the identifier of the uplink service path from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • the present invention provides a service path generation apparatus, where the apparatus includes: a first memory; and a first processor, configured to execute the service path generation method according to the first aspect.
  • the present invention provides a service path generation apparatus, where the apparatus includes: a second memory; and a second processor, configured to execute the service path generation method according to the second aspect.
  • a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device.
  • an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • FIG. 1 is a schematic structural diagram of a service path generation apparatus according to Embodiment 1 of the present invention.
  • FIG. 2 is a schematic structural diagram of a service path generation apparatus according to Embodiment 2 of the present invention.
  • FIG. 3-1 is a flowchart of a service path generation method according to Embodiment 3 of the present invention.
  • FIG. 3-2 is a flowchart of a service path generation method according to Embodiment 3 of the present invention.
  • FIG. 4A and FIG. 4B are a flowchart of a service path generation method according to Embodiment 4 of the present invention.
  • FIG. 5A and FIG. 5B are a flowchart of a service path generation method according to Embodiment 5 of the present invention.
  • FIG. 6 is a schematic structural diagram of a service path generation apparatus according to Embodiment 6 of the present invention.
  • FIG. 7 is a schematic structural diagram of a service path generation apparatus according to Embodiment 7 of the present invention.
  • This embodiment of the present invention provides a service path generation apparatus.
  • network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • various services such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller.
  • the controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path.
  • the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller.
  • the controller generates a service path according to the downlink service path request by using the method provided in the embodiments of the present invention.
  • the classifier is a device that identifies and classifies a service flow.
  • the classifier may be a PCEF, a PGW, or the like.
  • the controller is a device that generates a service path.
  • the controller may be an MME (Mobility Management Entity) or the like.
  • the uplink service path includes identifiers of service devices.
  • the uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow.
  • the downlink service path includes identifiers of service devices.
  • the downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • a service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall->NAT address translation, the service chain may be antivirus->firewall->NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain.
  • the service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device 2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path.
  • the identifier of the service path may be a sequence of the service devices on the service path, or the like.
  • the uplink service flow is network data uploaded to the network server.
  • the downlink service flow is network data downloaded from the network server.
  • Service flow information is information used to describe a service flow.
  • the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • the apparatus may be a controller. Referring to FIG. 1 , the apparatus includes a first receiving module 101 and a first processing module 102 .
  • the first receiving module 101 is configured to receive a downlink service path request sent by a classifier.
  • the downlink service path request carries an identifier of a downlink service chain.
  • the classifier receives a downlink service flow sent by a network server, obtains the identifier of the downlink service chain according to the downlink service flow, and sends the downlink service path request to the first receiving module 101 .
  • the downlink service path request may further carry uplink service path information.
  • the first receiving module 101 receives the downlink service path request sent by the classifier.
  • the first processing module 102 is configured to: obtain the uplink service path information, and obtain, according to the uplink service path information, identifiers of service devices on the uplink service path.
  • the uplink service path information may be an identifier of the uplink service path or uplink service flow information.
  • the first processing module 102 is specifically configured to obtain the identifier of the uplink service path from the downlink service path request.
  • the downlink service path request carries the identifier of the uplink service path.
  • the first processing module 102 is specifically configured to obtain the identifier of the uplink service path from a correspondence between the identifier of the downlink service chain and the identifier of the uplink service path according to the identifier of the downlink service chain.
  • the first processing module 102 previously establishes a correspondence between the identifier of the uplink service chain and the identifier of the downlink service path.
  • the uplink service path information is the identifier of the uplink service path.
  • the first processing module 102 is specifically configured to: obtain the uplink service path from a correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path, and obtain, according to the uplink service path, the identifiers of service devices on the uplink service path.
  • That the apparatus needs to establish the correspondence between the identifier of the uplink service path and the uplink service path may be specifically as follows:
  • the first receiving module 101 is further configured to receive an uplink service path request sent by the classifier.
  • the uplink service path request carries an identifier of an uplink service chain.
  • the classifier receives the uplink service flow sent by user equipment, and obtains the identifier of the uplink service chain according to the uplink service flow.
  • the classifier sends the uplink service path request to the first receiving module 101 .
  • the uplink service path request carries the identifier of the uplink service chain.
  • the first receiving module 101 receives the uplink service path request sent by the classifier.
  • the user equipment When the user equipment sends the uplink service flow to the network server, the user equipment sends the uplink service flow to the classifier.
  • the classifier generates the uplink service path, and sends the uplink service flow to uplink service devices on the uplink service path.
  • the uplink service devices perform service processing on the uplink service flow and send a processed uplink service flow to the network server.
  • a first manner or a second manner may be used by the classifier to receive the uplink service flow sent by the user equipment, and obtain the identifier of the uplink service chain according to the uplink service flow.
  • the first manner may be as follows:
  • the user equipment sends the uplink service flow to the classifier.
  • the uplink service flow carries at least a user equipment identifier.
  • the classifier receives the uplink service flow sent by the user equipment, obtains the user equipment identifier carried in the uplink service flow, and obtains subscription information of the user equipment according to the user equipment identifier.
  • the subscription information of the user equipment includes user-subscribed uplink services. Therefore, user-subscribed uplink service types can be obtained from the subscription information of the user equipment.
  • the uplink service chain is formed according to the user-subscribed uplink service types. The identifier of the uplink service chain is obtained.
  • user-subscribed uplink services are an antivirus service, a firewall service, and a NAT address translation service.
  • Service types obtained from the subscription information of the user equipment are an antivirus type, a firewall type, and a NAT address translation type.
  • Antivirus type- 22 firewall type->NAT address translation type forms an uplink service chain. An identifier of the uplink service chain, for example, 1, is obtained.
  • the classifier previously obtains each user equipment identifier and subscription information of each user equipment, and establishes a correspondence between each user equipment identifier and the subscription information of each user equipment.
  • the step of obtaining subscription information of the user equipment according to the user equipment identifier may be: obtaining the subscription information corresponding to the user equipment from a correspondence between the user equipment identifier and the subscription information of the user equipment according to the user equipment identifier.
  • the user equipment identifier may be a GUID (Globally Unique Identifier) of the user equipment, or the like.
  • the second implementation method may be as follows:
  • the user equipment sends the uplink service flow to the classifier.
  • the uplink service flow carries at least a user equipment identifier.
  • the classifier receives the uplink service flow sent by the user equipment, obtains the user equipment identifier carried in the downlink service flow, and obtains the identifier of the uplink service chain from a correspondence between the user equipment identifier and the identifier of the uplink service chain according to the user equipment identifier.
  • the classifier previously establishes the correspondence between the user equipment identifier and the identifier of the uplink service chain by using the following steps, including:
  • a PCRF Policy and Charging Rules Function
  • the subscription information of the user equipment includes user-subscribed uplink services. Therefore, user-subscribed uplink service types can be obtained according to the subscription information of the user equipment.
  • the uplink service chain is formed according to the uplink service types.
  • the identifier of the uplink service chain is obtained.
  • the user equipment identifier and the identifier of the uplink service chain are sent to the classifier.
  • the classifier receives the user equipment identifier and the identifier of the uplink service chain that are sent by the PCRF, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service chain.
  • the uplink service path request may further carry the identifier of the uplink service path. Therefore, the classifier needs to obtain the identifier of the uplink service path from a correspondence between the user identifier and the identifier of the uplink service path according to the user identifier of the user.
  • the classifier obtains the identifier of the uplink service path according to the uplink service flow, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • That the classifier obtains the identifier of the uplink service path according to the uplink service flow may be: The uplink service flow information and the identifier of the uplink service chain are obtained according to the uplink service flow, the identifiers of service devices on the uplink service path are obtained according to the uplink service flow information, the uplink service path is generated according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and the identifier of the uplink service path is obtained from the correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • the identifier of the uplink service chain is obtained according to the uplink service flow, and the identifier of the uplink service path is obtained from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • the first processing module 102 is further configured to obtain the uplink service path according to the identifier of the uplink service chain.
  • the first processing module 102 is specifically configured to: obtain, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain; select, from service devices corresponding to the service types, service devices according to the uplink service types included in the uplink service chain; and form the uplink service path according to the selected service devices.
  • the first processing module 102 is specifically configured to: obtain, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain; obtain the uplink service flow information, and obtain, according to the uplink service flow information, the identifiers of service devices on the uplink service path; select service devices according to the uplink service types included in the uplink service chain and the identifiers of service devices on the uplink service path; and form the uplink service path according to the selected service devices.
  • the first processing module 102 is configured to: obtain the identifier of the uplink service chain according to the uplink service path request, and obtain, according to the identifier of the uplink service chain, the uplink service types included in the uplink service chain.
  • the first processing module 102 is configured to: obtain the identifier of the uplink service chain according to the uplink service path request, obtain the uplink service chain according to the identifier of the uplink service chain, and obtain, according to the uplink service chain, the uplink service types included in the uplink service chain.
  • the first processing module 102 is configured to previously establish a correspondence between the identifier of the uplink service chain and the uplink service chain.
  • the step of obtaining the uplink service chain according to the identifier of the uplink service chain may be: obtaining, from the correspondence between the identifier of the uplink service chain and the uplink service chain according to the identifier of the uplink service chain, the uplink service chain corresponding to the identifier of the uplink service chain.
  • the first processing module 102 is configured to select, from the service devices corresponding to the service types, identifiers of service devices according to the uplink service types included in the uplink service chain, and form the uplink service path according to the selected identifiers of the service devices.
  • Each service type is corresponding to at least one service device.
  • the controller randomly selects, from identifiers of service devices corresponding to service types, identifiers of service devices according to the uplink service types, and forms the uplink service path according to the randomly selected identifiers of the service devices.
  • the first processing module 102 is further configured to: obtain the identifier of the uplink service path, and establish the correspondence between the identifier of the uplink service path and the uplink service path.
  • the first processing module 102 is configured to establish the correspondence between the identifier of the uplink service path and the uplink service path.
  • the uplink service path may be obtained from the correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path.
  • the apparatus further includes a first sending module.
  • the first sending module is configured to send an uplink service path response to the classifier.
  • the uplink service path response carries the uplink service path.
  • the classifier receives the uplink service path response sent by the first sending module, sends the uplink service path and the uplink service flow to a switch, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • the classifier receives the uplink service path response sent by the first sending module, and obtains the uplink service path, adds the uplink service path to the uplink service flow, and sends, to the switch, the uplink service flow to which the uplink service path is added.
  • the classifier establishes the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • the identifier of the uplink service path may be obtained from the correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier.
  • the switch receives the uplink service path and the uplink service flow that are sent by the classifier, and transmits the uplink service flow according to the uplink service path.
  • the switch receives the uplink service flow that is sent by the classifier and to which the uplink service path is added, obtains the uplink service path, and sends, according to the uplink service path, the uplink service flow to the service devices on the uplink service path.
  • the service devices on the uplink service path receive the uplink service flow sent by the switch, perform service processing on the uplink service flow, and send a processed uplink service flow to the network server.
  • the uplink service path information is the uplink service flow information.
  • the first processing module 102 is specifically configured to obtain the uplink service flow information from the downlink service path request.
  • the downlink service path request carries the uplink service flow information.
  • the uplink service path information is the uplink service flow information.
  • the first processing module 102 is specifically configured to calculate, according to a preset algorithm and the uplink service flow information, the identifiers of service devices on the uplink service path.
  • the preset algorithm may be set and changed as required.
  • the preset algorithm is a hash operation or an MD5 (Message Digest Algorithm MD5, message digest algorithm 5) algorithm.
  • the hash operation is performed on the uplink service flow information to obtain a hash result, and the identifiers of service devices on the uplink service path are selected in a load balancing manner according to the hash result.
  • the identifiers of the service devices on the uplink service path that are obtained by means of calculation according to the preset algorithm and the uplink service flow information is an identifier of each service device, that is, only the identifiers of the service devices are obtained, and an identifier of a service device needs to be selected according to an uplink service type.
  • the identifiers of the service devices on the uplink service path that are obtained by means of calculation according to the preset algorithm and the service flow information are 1. Then, an identifier of each service device is 1, and an identifier of a service device needs to be selected according to a service type.
  • the first processing module 102 is further configured to select, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain.
  • Each service type is corresponding to at least one service device.
  • the identifiers of service devices on the uplink service path are selected according to the uplink service types and from the identifiers of the service devices corresponding to the service types.
  • the first processing module 102 is specifically configured to: obtain, according to the identifier of the downlink service chain, downlink service types included in the downlink service chain, and select, according to the downlink service types and from the identifiers of service devices on the uplink service path, identifiers of service devices corresponding to the downlink service types.
  • the first processing module 102 is specifically configured to: obtain the downlink service chain according to the identifier of the downlink service chain, and obtain, according to the downlink service chain, the downlink service types included in the downlink service chain.
  • the first processing module 102 previously establishes a correspondence between the identifier of the downlink service chain and the downlink service chain.
  • the step of obtaining the downlink service chain according to the identifier of the downlink service chain may be: obtaining, from the correspondence between the identifier of the downlink service chain and the downlink service chain according to the identifier of the downlink service chain, the downlink service chain corresponding to the identifier of the downlink service chain.
  • the downlink service chain includes the downlink service types, and the downlink service types included in the downlink service chain may be obtained according to the downlink service chain.
  • the first processing module 102 is further configured to generate a downlink service path according to the selected identifier of the service device.
  • the first processing module 102 is specifically configured to: remove, from the downlink service types included in the downlink service chain, service types corresponding to the selected identifiers of the service devices, to obtain remaining service types; obtain identifiers of service devices corresponding to the remaining service types; and form the downlink service path according to the selected identifiers of downlink service devices and the identifiers of service devices corresponding to the remaining service types.
  • the first processing module 102 is specifically configured to: obtain, according to the selected identifier of the service device, the service types corresponding to the selected service devices; remove, from the service types included in the downlink service chain, the service types corresponding to the selected service devices, to obtain the remaining service types; and randomly select, from the identifiers of service devices corresponding to the remaining service types, identifiers of service devices according to the remaining service types.
  • the downlink service path is formed according to the selected identifiers of the service devices.
  • the first sending module is further configured to send a downlink service path response to the classifier.
  • the classifier receives the downlink service path response sent by the first sending module, and sends the downlink service path and the downlink service flow to the switch.
  • the classifier receives the downlink service path response sent by the first sending module, obtains the downlink service path from the downlink service path response, adds the downlink service path to the downlink service flow, and sends, to the switch, the downlink service flow to which the downlink service path is added.
  • the switch receives the downlink service path and the downlink service flow that are sent by the classifier, and transmits the downlink service flow according to the downlink service path.
  • the switch receives the downlink service flow that is sent by the classifier and to which the downlink service path is added, obtains the downlink service path from the downlink service flow to which the downlink service path is added, obtains the identifiers of service devices on the downlink service path, and sends the downlink service flow to service devices on the downlink service path.
  • the service devices on the downlink service path receive the downlink service flow sent by the switch, perform service processing on the downlink service flow, and send a processed downlink service flow to the user equipment.
  • a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device.
  • an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • This embodiment of the present invention provides a service path generation apparatus.
  • network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • various services such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller.
  • the controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path.
  • the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller.
  • the controller generates a service path according to the downlink service path request by using the method provided in the embodiments of the present invention.
  • the classifier is a device that identifies and classifies a service flow.
  • the classifier may be a PCEF, a PGW, or the like.
  • the controller is a device that generates a service path.
  • the controller may be an MME or the like.
  • the uplink service path includes identifiers of service devices.
  • the uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow.
  • the downlink service path includes identifiers of service devices.
  • the downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • a service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall->NAT address translation, the service chain may be antivirus->firewall->NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain.
  • the service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device 2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path.
  • the identifier of the service path may be a sequence of the service devices on the service path, or the like.
  • the uplink service flow is network data uploaded to the network server.
  • the downlink service flow is network data downloaded from the network server.
  • Service flow information is information used to describe a service flow.
  • the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • the apparatus may be a classifier.
  • the apparatus includes a second receiving module 201 , a second processing module 202 , and a second sending module 203 .
  • the second receiving module 201 is configured to receive a downlink service flow sent by a network server.
  • the network server sends the downlink service flow to the second receiving module 201 .
  • the second receiving module 201 receives the downlink service flow sent by the network server.
  • the downlink service flow carries at least a user equipment identifier.
  • the user equipment identifier is obtained from the downlink service flow.
  • the second processing module 202 is configured to obtain an identifier of a downlink service chain according to the downlink service flow.
  • a first manner or a second manner may be used by the second processing module 202 to obtain the identifier of the downlink service chain according to the downlink service flow.
  • the first manner may be as follows:
  • the second processing module 202 obtains the user equipment identifier from the downlink service flow, and obtains subscription information of the user equipment according to the user equipment identifier.
  • the subscription information of the user equipment includes user-subscribed downlink services. Therefore, user-subscribed downlink service types can be obtained according to the subscription information of the user equipment.
  • the downlink service chain is formed according to the downlink service types. The identifier of the downlink service chain is obtained.
  • the second implementation manner may be as follows:
  • the second processing module 202 obtains the user equipment identifier from the downlink service flow, and obtains the identifier of the downlink service chain from a correspondence between the user equipment identifier and the identifier of the downlink service chain according to the user equipment identifier.
  • the classifier previously establishes the correspondence between the user equipment identifier and the identifier of the downlink service chain.
  • the second sending module 203 is configured to send a downlink service path request to a controller.
  • the downlink service path request carries the identifier of the downlink service chain. Therefore, the controller selects, from service devices on an uplink service path, service devices according to the identifier of the downlink service chain, and generates a downlink service path according to the selected service devices.
  • the second receiving module 201 is further configured to receive the downlink service path sent by the controller.
  • the downlink service path request further carries uplink service path information. Therefore, the second processing module 202 further needs to obtain the uplink service path information.
  • the second processing module 202 is further configured to obtain the user equipment identifier from the downlink service flow.
  • the downlink service flow includes at least the user equipment identifier.
  • the second processing module 202 obtains the user equipment identifier from the downlink service flow.
  • the second processing module 202 is further configured to obtain an identifier of the uplink service path from a correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier.
  • the identifier of the uplink service path is the uplink service path information.
  • the second processing module 202 When obtaining the uplink service path, the second processing module 202 establishes the correspondence between the user equipment identifier and the identifier of the uplink service path. Therefore, the second processing module 202 obtains, from the correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier, the identifier that is of the uplink service path and corresponding to the user equipment identifier.
  • the identifier of the uplink service path is the uplink service path information.
  • the establishing the correspondence between the user equipment identifier and the identifier of the uplink service path may be as follows:
  • the second receiving module 201 is further configured to receive an uplink service flow sent by the user equipment.
  • the user equipment sends the uplink service flow to the second receiving module 201 .
  • the second receiving module 201 receives the uplink service flow sent by the user equipment.
  • the uplink service flow carries at least the user equipment identifier.
  • the second processing module 202 is further configured to obtain the identifier of the uplink service path according to the uplink service flow.
  • the second processing module 202 is specifically configured to: obtain the uplink service flow information and an identifier of an uplink service chain according to the uplink service flow, obtain, according to the uplink service flow information, identifiers of service devices on the uplink service path, generate the uplink service path according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and obtain the identifier of the uplink service path from a correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • the second processing module 202 is specifically configured to: obtain an identifier of an uplink service chain according to the uplink service flow, and obtain the identifier of the uplink service path from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • the second processing module 202 is further configured to establish the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • the second processing module 202 is further configured to obtain downlink service flow information according to the downlink service flow.
  • the downlink service flow carries the downlink service flow information.
  • the downlink service flow information carried in the downlink service flow is obtained from the downlink service flow.
  • the second processing module 202 is further configured to obtain the uplink service flow information according to the downlink service flow information.
  • the uplink service flow information is the uplink service path information.
  • inverse processing is performed on the downlink service flow information to obtain the uplink service flow information.
  • the downlink service flow information is a quintet of the downlink service flow.
  • Inverse processing is performed on the quintet of the downlink service flow to obtain a quintet of the uplink service flow.
  • a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device.
  • an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • This embodiment of the present invention provides a service path generation method.
  • network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • various services such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller.
  • the controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path.
  • the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller.
  • the controller generates a service path according to the downlink service path request by using the method provided in this embodiment of the present invention.
  • the classifier is a device that identifies and classifies a service flow.
  • the classifier may be a PCEF, a PGW, or the like.
  • the controller is a device that generates a service path.
  • the controller may be an MME or the like.
  • the uplink service path includes identifiers of service devices.
  • the uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow.
  • the downlink service path includes identifiers of service devices.
  • the downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • a service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall->NAT address translation, the service chain may be antivirus->firewall- 22 NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain.
  • the service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device 2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path.
  • the identifier of the service path may be a sequence of the service devices on the service path, or the like.
  • the uplink service flow is network data uploaded to the network server.
  • the downlink service flow is network data downloaded from the network server.
  • Service flow information is information used to describe a service flow.
  • the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • the method may be executed by a controller, that is, may be executed by the apparatus in Embodiment 1.
  • the method includes the following steps.
  • Step 301 a Receive a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain.
  • the classifier receives a downlink service flow sent by a network server, obtains the identifier of the downlink service chain according to the downlink service flow, and sends the downlink service path request to the controller.
  • the downlink service path request may further carry uplink service path information.
  • Step 302 a Obtain uplink service path information, and obtain, according to the uplink service path information, identifiers of service devices on the uplink service path.
  • the uplink service path is an identifier of the uplink service path or uplink service flow information.
  • the step of obtaining uplink service path information may be:
  • the downlink service path request carries the identifier of the uplink service path; or obtaining the identifier of the uplink service path from a correspondence between the identifier of the downlink service chain and the identifier of the uplink service path according to the identifier of the downlink service chain.
  • the step of obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path may be:
  • the uplink service path from a correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path; and obtaining, according to the uplink service path, the identifiers of service devices on the uplink service path.
  • the controller needs to establish the correspondence between the identifier of the uplink service path and the uplink service path by using the following steps, including:
  • the controller receives an uplink service path request sent by the classifier, where the uplink service path request carries an identifier of an uplink service chain; obtains the uplink service path according to the identifier of the uplink service chain; and obtains the identifier of the uplink service path, and establishes the correspondence between the identifier of the uplink service path and the uplink service path.
  • the step of obtaining the uplink service path according to the identifier of the uplink service chain may be:
  • uplink service types included in the uplink service chain obtaining, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain; selecting, from service devices corresponding to the service types, service devices according to the uplink service types included in the uplink service chain; and forming the uplink service path according to the selected service devices.
  • the step of obtaining the uplink service path according to the identifier of the uplink service chain may be:
  • the step of obtaining uplink service path information may be:
  • the downlink service path request carries the uplink service flow information.
  • the step of obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path may be:
  • Step 303 a Select, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain.
  • downlink service types included in the downlink service chain are obtained according to the identifier of the downlink service chain.
  • Identifiers of service devices corresponding to the downlink service types are selected according to the downlink service types and from the identifiers of service devices on the uplink service path.
  • An identifier of a service device is selected according to the identifier of the downlink service chain and from the identifiers of service devices on the uplink service path. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • Step 304 a Generate a downlink service path according to the selected identifier of the service device.
  • service types corresponding to the selected identifiers of the service devices are removed from the downlink service types included in the downlink service chain, to obtain remaining service types.
  • Identifiers of service devices corresponding to the remaining service types are obtained.
  • the downlink service path is generated according to the selected identifiers of downlink service devices and the identifiers of service devices corresponding to the remaining service types.
  • a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device.
  • an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • the foregoing steps 301 a to 304 a are steps of generating a downlink service path on a controller side.
  • the present invention further provides a service path generation method on a classifier side corresponding to the controller side.
  • the method may be executed by a classifier, that is, may be executed by the apparatus in Embodiment 2.
  • the method includes the following steps.
  • Step 301 b Receive a downlink service flow sent by a network server.
  • the network server sends the downlink service flow to the classifier.
  • the downlink service flow carries a user equipment identifier.
  • the classifier receives the downlink service flow sent by the network server.
  • Step 302 b Obtain an identifier of a downlink service chain according to the downlink service flow.
  • the user equipment identifier is obtained from the downlink service flow.
  • Subscription information of the user equipment is obtained from a correspondence between the user equipment identifier and the subscription information of the user equipment according to the user equipment identifier.
  • the subscription information of the user equipment includes user-subscribed downlink services. Therefore, user-subscribed downlink service types can be obtained according to the subscription information of the user equipment.
  • the downlink service chain is formed according to the downlink service types.
  • the identifier of the downlink service chain is obtained. Alternatively,
  • the user equipment identifier is obtained from the downlink service flow.
  • the identifier of the downlink service chain is obtained from a correspondence between the user equipment identifier and the identifier of the down service chain according to the user equipment identifier.
  • Step 303 b Send a downlink service path request to a controller, where the downlink service path request carries the identifier of the downlink service chain, so that the controller selects, from service devices on an uplink service path, service devices according to the identifier of the downlink service chain, and generates a downlink service path according to the selected service devices.
  • the downlink service path request further carries uplink service path information.
  • the uplink service path information may be an identifier of the uplink service path or uplink service flow information.
  • the step of obtaining the uplink service path information may be:
  • the identifier of the uplink service path is the uplink service path information.
  • the classifier needs to establish the correspondence between the user equipment identifier and the identifier of the uplink service path according to the following steps, including:
  • the classifier receives the uplink service flow sent by the user equipment, obtains the identifier of the uplink service path according to the uplink service flow, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • the step of obtaining the identifier of the uplink service path according to the uplink service flow may be:
  • the uplink service flow information and an identifier of an uplink service chain according to the uplink service flow obtaining, according to the uplink service flow information, identifiers of service devices on the uplink service path, generating the uplink service path according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and obtaining the identifier of the uplink service path from a correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • obtaining an identifier of an uplink service chain according to the uplink service flow and obtaining the identifier of the uplink service path from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • the correspondence between the user equipment identifier and the identifier of the uplink service path is established by using the foregoing steps. Therefore, the classifier can obtain the identifier of the uplink service path from the correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier.
  • the step of obtaining the uplink service path information may be:
  • the uplink service flow information is the uplink service path information.
  • the downlink service path request is sent to the controller.
  • the downlink service path request carries the identifier of the downlink service chain.
  • the controller selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • Step 304 b Receive the downlink service path sent by the controller.
  • a classifier sends a downlink service path request to a controller.
  • the downlink service path request carries an identifier of a downlink service chain.
  • the controller selects an identifier of a service device from identifiers of service devices on an uplink service path according to the identifier of the downlink service chain. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • Embodiment 4 of the present invention provides a service path generation method.
  • network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • various services such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller.
  • the controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path.
  • the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller.
  • the controller generates a service path according to the downlink service path request by using the method provided in this embodiment of the present invention.
  • the classifier is a device that identifies and classifies a service flow.
  • the classifier may be a PCEF, a PGW, or the like.
  • the controller is a device that generates a service path.
  • the controller may be an MME or the like.
  • the uplink service path includes identifiers of service devices.
  • the uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow.
  • the downlink service path includes identifiers of service devices.
  • the downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • a service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall- 22 NAT address translation, the service chain may be antivirus->firewall->NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain.
  • the service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device-2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path.
  • the identifier of the service path may be a sequence of the service devices on the service path, or the like.
  • the uplink service flow is network data uploaded to the network server.
  • the downlink service flow is network data downloaded from the network server.
  • Service flow information is information used to describe a service flow.
  • the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • the classifier in a process in which a classifier receives a downlink service flow sent by a network server, the classifier sends a downlink service path request to a controller.
  • the downlink service path request carries an identifier of a downlink service chain.
  • the classifier obtains an identifier of an uplink service path, obtains, according to the identifier of the uplink service path, identifiers of service devices on the uplink service path, selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain, and generates a downlink service path according to the selected identifier of the service device.
  • the method includes the following steps.
  • Step 401 A classifier receives an uplink service flow sent by user equipment, and obtains an identifier of an uplink service chain according to the uplink service flow.
  • the user equipment When the user equipment sends the uplink service flow to a network server, the user equipment sends the uplink service flow to the classifier.
  • the classifier generates an uplink service path, and sends the uplink service flow to uplink service devices on the uplink service path.
  • the uplink service devices perform service processing on the uplink service flow and send a processed uplink service flow to the network server.
  • Step 401 may be implemented in a first manner or a second manner.
  • the first manner may be as follows:
  • the user equipment sends the uplink service flow to the classifier.
  • the uplink service flow carries at least a user equipment identifier.
  • the classifier receives the uplink service flow sent by the user equipment, obtains the user equipment identifier carried in the uplink service flow, and obtains subscription information of the user equipment according to the user equipment identifier.
  • the subscription information of the user equipment includes user-subscribed uplink services. Therefore, user-subscribed uplink service types can be obtained from the subscription information of the user equipment.
  • the uplink service chain is formed according to the user-subscribed uplink service types. The identifier of the uplink service chain is obtained.
  • user-subscribed uplink services are an antivirus service, a firewall service, and a NAT address translation service.
  • Service types obtained from the subscription information of the user equipment are an antivirus type, a firewall type, and a NAT address translation type.
  • An uplink service chain is formed according to antivirus type->firewall type->NAT address translation type.
  • An identifier of the uplink service chain, for example, 1, is obtained.
  • the classifier previously obtains each user equipment identifier and subscription information of each user equipment, and establishes a correspondence between each user equipment identifier and the subscription information of each user equipment.
  • the step of obtaining subscription information of the user equipment according to the user equipment identifier may be: obtaining the subscription information corresponding to the user equipment from the correspondence between the user equipment identifier and the subscription information of the user equipment according to the user equipment identifier.
  • the user equipment identifier may be a GUID (Globally Unique Identifier, global unique identifier) of the user equipment, or the like.
  • the second implementation method may be as follows:
  • the user equipment sends the uplink service flow to the classifier.
  • the uplink service flow carries at least a user equipment identifier.
  • the classifier receives the uplink service flow sent by the user equipment, obtains the user equipment identifier carried in the downlink service flow, and obtains the identifier of the uplink service chain from a correspondence between the user equipment identifier and the identifier of the uplink service chain according to the user equipment identifier.
  • the classifier previously establishes the correspondence between the user equipment identifier and the identifier of the uplink service chain by using the following steps, including:
  • a PCRF Policy and Charging Rules Function, policy and charging rules function unit
  • the subscription information of the user equipment includes user-subscribed uplink services. Therefore, user-subscribed uplink service types can be obtained according to the subscription information of the user equipment.
  • the uplink service chain is formed according to the uplink service types.
  • the identifier of the uplink service chain is obtained.
  • the user equipment identifier and the identifier of the uplink service chain are sent to the classifier.
  • the classifier receives the user equipment identifier and the identifier of the uplink service chain that are sent by the PCRF, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service chain.
  • Step 402 The classifier sends an uplink service path request to a controller, where the uplink service path request carries the identifier of the uplink service chain.
  • the classifier generates the uplink service path request according to the identifier of the uplink service chain, where the uplink service path request carries the identifier of the uplink service chain; and sends the uplink service path request to the controller, so that the controller generates the uplink service path.
  • the uplink service path request may further carry an identifier of the uplink service path. Therefore, the classifier needs to obtain the identifier of the uplink service path from a correspondence between the user identifier and the identifier of the uplink service path according to the user identifier of the user.
  • the classifier obtains the identifier of the uplink service path according to the uplink service flow, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • That the classifier obtains the identifier of the uplink service path according to the uplink service flow may be: The uplink service flow information and the identifier of the uplink service chain are obtained according to the uplink service flow, the identifiers of service devices on the uplink service path are obtained according to the uplink service flow information, the uplink service path is generated according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and the identifier of the uplink service path is obtained from the correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • the identifier of the uplink service chain is obtained according to the uplink service flow, and the identifier of the uplink service path is obtained from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • Step 403 The controller receives the uplink service path request sent by the classifier, and obtains an uplink service path according to the uplink service path request.
  • Step 403 may be implemented by using the following steps (1) to (2), including:
  • the controller obtains the identifier of the uplink service chain according to the uplink service path request, and obtains, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain.
  • the controller obtains the identifier of the uplink service chain according to the uplink service path request, obtains the uplink service chain according to the identifier of the uplink service chain, and obtains, according to the uplink service chain, the uplink service types included in the uplink service chain.
  • the controller previously establishes a correspondence between the identifier of the uplink service chain and the uplink service chain.
  • the step of obtaining the uplink service chain according to the identifier of the uplink service chain may be: obtaining, from the correspondence between the identifier of the uplink service chain and the uplink service chain according to the identifier of the uplink service chain, the uplink service chain corresponding to the identifier of the uplink service chain.
  • Each service type is corresponding to at least one service device.
  • the controller randomly selects, from identifiers of service devices corresponding to service types, identifiers of service devices according to the uplink service types, and forms the uplink service path according to the randomly selected identifiers of the service devices.
  • Step 404 The controller sends an uplink service path response to the classifier, where the uplink service path response carries the uplink service path; and establishes a correspondence between an identifier of the uplink service path and the uplink service path.
  • the controller After obtaining the uplink service path, the controller generates the uplink service path response according to the uplink service path.
  • the uplink service path response carries the uplink service path.
  • the controller establishes the correspondence between the identifier of the uplink service path and the uplink service path.
  • the uplink service path may be obtained from the correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path.
  • Step 405 The classifier receives the uplink service path response sent by the controller, sends the uplink service path and the uplink service flow to a switch, and establishes a correspondence between a user equipment identifier and the identifier of the uplink service path.
  • the step may be as follows: The classifier receives the uplink service path response sent by the controller, obtains the uplink service path, adds the uplink service path to the uplink service flow, and sends, to the switch, the uplink service flow to which the uplink service path is added.
  • the classifier establishes the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • the identifier of the uplink service path may be obtained from the correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier.
  • Step 406 The switch receives the uplink service path and the uplink service flow that are sent by the classifier, and transmits the uplink service flow according to the uplink service path.
  • the switch receives the uplink service flow that is sent by the classifier and to which the uplink service path is added, obtains the uplink service path, and sends, according to the uplink service path, the uplink service flow to the service devices on the uplink service path.
  • the service devices on the uplink service path receive the uplink service flow sent by the switch, perform service processing on the uplink service flow, and send a processed uplink service flow to the network server.
  • Step 407 The classifier receives a downlink service flow sent by a network server, and obtains an identifier of a downlink service chain according to the downlink service flow.
  • a first manner or a second manner may be used by the classifier to obtain the identifier of the downlink service chain according to the downlink service flow.
  • the first manner may be as follows:
  • the network server sends the downlink service flow to the classifier.
  • the downlink service flow carries at least the user equipment identifier.
  • the classifier receives the downlink service flow sent by the network server, obtains the user equipment identifier carried in the downlink service flow, and obtains subscription information of the user equipment according to the user equipment identifier.
  • the subscription information of the user equipment includes user-subscribed downlink services. Therefore, user-subscribed downlink service types can be obtained according to the subscription information of the user equipment.
  • the downlink service chain is formed according to the downlink service types. The identifier of the downlink service chain is obtained.
  • the second implementation manner may be as follows:
  • the network server sends the downlink service flow to the classifier.
  • the downlink service flow carries at least the user equipment identifier.
  • the classifier receives the downlink service flow sent by the network server, obtains the user equipment identifier carried in the downlink service flow, and obtains the identifier of the downlink service chain from a correspondence between the user equipment identifier and the identifier of the downlink service chain according to the user equipment identifier.
  • the classifier previously establishes the correspondence between the user equipment identifier and the identifier of the downlink service chain.
  • the establishing the correspondence between the user equipment identifier and the identifier of the downlink service chain is the same as the establishing the correspondence between the user equipment identifier and the identifier of the uplink service chain in step 401 . Details are not described herein again.
  • the classifier may further obtain the identifier of the uplink service path according to the downlink service flow by using the following steps (1) and (2), including:
  • the downlink service flow includes at least the user equipment identifier.
  • the user equipment identifier is obtained from the downlink service flow.
  • the classifier When obtaining the uplink service path, the classifier establishes the correspondence between the user equipment identifier and the identifier of the uplink service path. Therefore, in this step, the identifier that is of the uplink service path and corresponding to the user equipment identifier is obtained from the correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier.
  • Step 408 The classifier sends a downlink service path request to the controller, where the downlink service path request carries the identifier of the downlink service chain.
  • the downlink service path request may further carry the identifier of the uplink service path.
  • the controller generates a downlink service path. Therefore, when receiving the downlink service flow sent by the network server, the classifier obtains the identifier of the downlink service chain and the identifier of the uplink service path; generates the downlink service path request according to the identifier of the downlink service chain and the identifier of the uplink service path, where the downlink service path request carries the identifier of the downlink service chain and the identifier of the uplink service path; and sends the downlink service path request to the controller.
  • Step 409 The controller receives the downlink service path request sent by the classifier, obtains the identifier of the uplink service path, and obtains, according to the identifier of the uplink service path, identifiers of service devices on the uplink service path.
  • Step 409 may be implemented by using the following steps (1) to (3), including:
  • the controller receives the downlink service path request sent by the classifier, and obtains the identifier of the uplink service path.
  • the identifier of the uplink service path is obtained from the downlink service path request.
  • the identifier of the uplink service path is obtained from a correspondence between the identifier of the uplink service chain and the identifier of the downlink service path according to the identifier of the downlink service chain.
  • the controller previously establishes the correspondence between the identifier of the uplink service chain and the identifier of the downlink service path.
  • step 404 The correspondence between the identifier of the uplink service path and the uplink service path is established in step 404 .
  • the uplink service path corresponding to the identifier of the uplink service path is obtained from the established correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path.
  • Step 410 The controller selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain.
  • Step 410 may be implemented by using the following steps (1) and (2), including:
  • the downlink service chain is obtained according to the identifier of the downlink service chain.
  • the downlink service types included in the downlink service chain are obtained according to the downlink service chain.
  • the controller previously establishes a correspondence between the identifier of the downlink service chain and the downlink service chain.
  • the step of obtaining the downlink service chain according to the identifier of the downlink service chain may be: obtaining, from the correspondence between the identifier of the downlink service chain and the downlink service chain according to the identifier of the downlink service chain, the downlink service chain corresponding to the identifier of the downlink service chain.
  • the downlink service chain includes the downlink service types.
  • the downlink service types included in the downlink service chain may be obtained according to the downlink service chain.
  • Step 411 The controller generates a downlink service path according to the selected identifier of the service device, and sends a downlink service path response to the classifier, where the downlink service path response carries the downlink service path.
  • the controller may generate the downlink service path according to the selected identifier of the service device by using the following steps (1) to (3), including:
  • the service types corresponding to the selected service devices are obtained according to the selected identifier of the service device, and the service types corresponding to the selected service devices are removed from the downlink service types included in the downlink service chain, to obtain the remaining service types.
  • identifiers of service devices are randomly selected according to the remaining service types and from the identifiers of service devices corresponding to the remaining service types.
  • the downlink service path is formed according to the selected identifier of the service device.
  • Step 412 The classifier receives the downlink service path response sent by the controller, and sends the downlink service path and the downlink service flow to the switch.
  • the classifier receives the downlink service path response sent by the controller, obtains the downlink service path from the downlink service path response, adds the downlink service path to the downlink service flow, and sends, to the switch, the downlink service flow to which the downlink service path is added.
  • Step 413 The switch receives the downlink service path and the downlink service flow that are sent by the classifier, and transmits the downlink service flow according to the downlink service path.
  • the switch receives the downlink service flow that is sent by the classifier and to which the downlink service path is added, obtains the downlink service path from the downlink service flow to which the downlink service path is added, obtains the identifiers of service devices on the downlink service path, and sends the downlink service flow to service devices on the downlink service path.
  • the service devices on the downlink service path receive the downlink service flow sent by the switch, perform service processing on the downlink service flow, and send a processed downlink service flow to the user equipment.
  • a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device.
  • an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • Embodiment 5 of the present invention provides a service path generation method.
  • network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • various services such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller.
  • the controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path.
  • the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller.
  • the controller generates a service path according to the downlink service path request by using the method provided in this embodiment of the present invention.
  • the classifier is a device that identifies and classifies a service flow.
  • the classifier may be a PCEF, a PGW, or the like.
  • the controller is a device that generates a service path.
  • the controller may be an MME or the like.
  • the uplink service path includes identifiers of service devices.
  • the uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow.
  • the downlink service path includes identifiers of service devices.
  • the downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • a service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall->NAT address translation, the service chain may be antivirus->firewall->NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain.
  • the service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device 2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path.
  • the identifier of the service path may be a sequence of the service devices on the service path, or the like.
  • the uplink service flow is network data uploaded to the network server.
  • the downlink service flow is network data downloaded from the network server.
  • Service flow information is information used to describe a service flow.
  • the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • the classifier in a process in which a classifier receives a downlink service flow sent by a network server, the classifier sends a downlink service path request to a controller.
  • the downlink service path request carries an identifier of a downlink service chain and uplink service flow information.
  • the classifier obtains, from the downlink service path request, the identifier of the downlink service chain and the uplink service flow information, and obtains, according to the uplink service flow information, identifiers of service devices on the uplink service path; and selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain, and generates a downlink service path according to the selected identifier of the service device.
  • the method includes the following steps.
  • Step 501 A classifier receives an uplink service flow sent by user equipment, and obtains an identifier of an uplink service chain and uplink service flow information according to the uplink service flow.
  • the user equipment When the user equipment sends the uplink service flow to a network server, the user equipment sends the uplink service flow to the classifier.
  • the classifier generates an uplink service path, and sends the uplink service flow to uplink service devices on the uplink service path.
  • the uplink service devices perform service processing on the uplink service flow and send a processed uplink service flow to the network server.
  • Step 501 may be implemented in a first manner or a second manner.
  • the first manner may be as follows:
  • the user equipment sends the uplink service flow to the classifier.
  • the uplink service flow carries at least a user equipment identifier and the uplink service flow information.
  • the classifier receives the uplink service flow sent by the user equipment, obtains the user equipment identifier and the uplink service flow information that are carried in the uplink service flow, and obtains subscription information of the user equipment according to the user equipment identifier.
  • the subscription information of the user equipment includes user-subscribed uplink services. Therefore, user-subscribed uplink service types can be obtained from the subscription information of the user equipment.
  • the uplink service chain is formed according to the uplink service types. The identifier of the uplink service chain is obtained.
  • user-subscribed uplink services are an antivirus service, a firewall service, and a NAT address translation service.
  • Service types obtained from the subscription information of the user equipment are an antivirus type, a firewall type, and a NAT address translation type.
  • Antivirus type->firewall type->NAT address translation type forms an uplink service chain. An identifier of the uplink service chain, for example, 1, is obtained.
  • the classifier previously obtains each user equipment identifier and subscription information of each user equipment, and establishes a correspondence between each user equipment identifier and the subscription information of each user equipment.
  • the step of obtaining subscription information of the user equipment according to the user equipment identifier may be: obtaining the subscription information corresponding to the user equipment from a correspondence between the user equipment identifier and the subscription information of the user equipment according to the user equipment identifier.
  • the user equipment may be a GUID of the user equipment, or the like.
  • the second implementation method may be as follows:
  • the user equipment sends the uplink service flow to the classifier.
  • the uplink service flow carries at least a user equipment identifier and the uplink service flow information.
  • the classifier receives the uplink service flow sent by the user equipment, obtains the user equipment identifier and the uplink service flow information that are carried in the downlink service flow, and obtains the identifier of the uplink service chain from a correspondence between the user equipment identifier and the identifier of the uplink service chain according to the user equipment identifier.
  • the classifier previously establishes the correspondence between the user equipment identifier and the identifier of the uplink service chain by using the following steps, including:
  • a PCRF obtains subscription information of the user equipment according to the user equipment identifier.
  • the subscription information of the user equipment includes user-subscribed uplink services. Therefore, uplink service types can be obtained according to the subscription information of the user equipment.
  • the uplink service chain is formed according to the uplink service types.
  • the identifier of the uplink service chain is obtained.
  • the user equipment identifier and the identifier of the uplink service chain are sent to the classifier.
  • the classifier receives the user equipment identifier and the identifier of the uplink service chain that are sent by the PCRF, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service chain.
  • Step 502 The classifier sends an uplink service path request to a controller, where the uplink service path request carries the identifier of the uplink service chain and the uplink service flow information.
  • the classifier generates the uplink service path request according to the identifier of the uplink service chain and the uplink service flow information, where the uplink service path request carries the identifier of the uplink service chain and the uplink service flow information; and sends the uplink service path request to the controller, so that the controller generates the uplink service path.
  • Step 503 The controller receives the uplink service path request sent by the classifier, and obtains an uplink service path according to the uplink service path request.
  • Step 503 may be implemented by using the following steps (1) to (3), including:
  • the controller obtains the identifier of the uplink service chain and the uplink service flow information according to the uplink service path request, and obtains, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain.
  • the controller obtains the identifier of the uplink service chain and the uplink service flow information according to the uplink service path request, obtains the uplink service chain according to the identifier of the uplink service chain, and obtains, according to the uplink service chain, the uplink service types included in the uplink service chain.
  • the controller previously establishes a correspondence between the identifier of the uplink service chain and the uplink service chain.
  • the step of obtaining the uplink service chain according to the identifier of the uplink service chain may be: obtaining, from the correspondence between the identifier of the uplink service chain and the uplink service chain according to the identifier of the uplink service chain, the uplink service chain corresponding to the identifier of the uplink service chain.
  • the preset algorithm may be set and changed as required. In this embodiment of the present invention, no specific limitation is set on the preset algorithm. If the preset algorithm is a hash operation or an MD5 (Message Digest Algorithm MD5, message digest algorithm 5) algorithm, the step (2) may be:
  • the identifiers of the service devices on the uplink service path that are obtained by means of calculation according to the preset algorithm and the uplink service flow information are an identifier of each service device, that is, only the identifiers of the service devices are obtained, and step (3) needs to be performed to select an identifier of a service device according to an uplink service type.
  • the identifiers of the service devices on the uplink service path that are obtained by means of calculation according to the preset algorithm and the service flow information are 1. Then, an identifier of each service device is 1, and an identifier of a service device needs to be selected according to a service type.
  • Each service type is corresponding to at least one service device.
  • the controller selects, according to the uplink service types and from the identifiers of the service device corresponding to the service types, the identifiers of service devices on the uplink service path, and forms the uplink service path according to the selected identifier of the service device.
  • the identifiers of the service devices are 1, and the uplink service types are a firewall type and an antivirus type
  • a firewall device 1 is selected from devices corresponding to the firewall type
  • an antivirus device 1 is selected from devices corresponding to the antivirus type
  • the firewall device 1 and the antivirus device 1 form the uplink service path.
  • Step 504 The controller sends an uplink service path response to the classifier, where the uplink service path response carries the uplink service path.
  • the controller After obtaining the uplink service path, the controller generates the uplink service path response according to the uplink service path.
  • the uplink service path response carries the uplink service path.
  • Step 505 The classifier receives the uplink service path response sent by the controller, and sends the uplink service path and the uplink service flow to a switch.
  • the step may be as follows: The classifier receives the uplink service path response sent by the controller, obtains the uplink service path, adds the uplink service path to the uplink service flow, and sends, to the switch, the uplink service flow to which the uplink service path is added.
  • Step 506 The switch receives the uplink service path and the uplink service flow that are sent by the classifier, and transmits the uplink service flow according to the uplink service path.
  • the switch receives the uplink service flow that is sent by the classifier and to which the uplink service path is added, obtains the uplink service path, and sends, according to the uplink service path, the uplink service flow to the service devices on the uplink service path.
  • the service devices on the uplink service path receive the uplink service flow sent by the switch, perform service processing on the uplink service flow, and send a processed uplink service flow to the network server.
  • Step 507 The classifier receives a downlink service flow sent by a network server, and obtains an identifier of a downlink service chain and the uplink service flow information according to the downlink service flow.
  • a first manner or a second manner may be used by the classifier to obtain the identifier of the downlink service chain according to the downlink service flow.
  • the first manner may be as follows:
  • the network server sends the downlink service flow to the classifier.
  • the downlink service flow carries at least the user equipment identifier.
  • the classifier receives the downlink service flow sent by the network server, obtains the user equipment identifier carried in the downlink service flow, and obtains subscription information of the user equipment according to the user equipment identifier.
  • the subscription information of the user equipment includes user-subscribed downlink services. Therefore, user-subscribed downlink service types can be obtained according to the subscription information of the user equipment.
  • the downlink service chain is formed according to the downlink service types. The identifier of the downlink service chain is obtained.
  • the second implementation manner may be as follows:
  • the network server sends the downlink service flow to the classifier.
  • the downlink service flow carries at least the user equipment identifier.
  • the classifier receives the downlink service flow sent by the network server, obtains the user equipment identifier carried in the downlink service flow, and obtains the identifier of the downlink service chain from a correspondence between the user equipment identifier and the identifier of the downlink service chain according to the user equipment identifier.
  • the classifier previously establishes the correspondence between the user equipment identifier and the identifier of the downlink service chain.
  • the establishing the correspondence between the user equipment identifier and the identifier of the downlink service chain is the same as the establishing the correspondence between the user equipment identifier and the identifier of the uplink service chain in step 501 . Details are not described herein again.
  • the classifier may obtain the uplink service flow information according to the downlink service flow by using the following steps (1) and (2), including:
  • the downlink service flow carries the downlink service flow information.
  • the downlink service flow information carried in the downlink service flow is obtained from the downlink service flow.
  • inverse processing is performed on the downlink service flow information to obtain the uplink service flow information.
  • the downlink service flow information is a quintet of the downlink service flow.
  • Inverse processing is performed on the quintet of the downlink service flow to obtain a quintet of the uplink service flow.
  • Step 508 The classifier sends a downlink service path request to the controller, where the downlink service path request carries the identifier of the downlink service chain and the uplink service flow information.
  • the controller generates a downlink service path. Therefore, when receiving the downlink service flow sent by the network server, the classifier obtains the identifier of the downlink service chain and the uplink service flow information; generates the downlink service path request according to the identifier of the downlink service chain and the uplink service flow information, where the downlink service path request carries the identifier of the downlink service chain and the uplink service flow information; and sends the downlink service path request to the controller.
  • Step 509 The controller receives the downlink service path request sent by the classifier, and obtains, according to the uplink service flow information, identifiers of service devices on the uplink service path.
  • the controller receives the downlink service path request sent by the classifier, and obtains the uplink service flow information included in the downlink service path request.
  • the identifiers of service devices on the uplink service path are calculated according to the preset algorithm and the uplink service flow information.
  • the preset algorithm may be set and changed as required. In this embodiment of the present invention, no specific limitation is set on the preset algorithm. If the preset algorithm is a hash operation or an MD5 algorithm, the step (2) may be:
  • Step 510 The controller selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain.
  • Step 510 may be implemented by using the following steps (1) and (2), including:
  • the downlink service chain is obtained according to the identifier of the downlink service chain.
  • the downlink service types included in the downlink service chain are obtained according to the downlink service chain.
  • the controller previously establishes a correspondence between the identifier of the downlink service chain and the downlink service chain.
  • the step of obtaining the downlink service chain according to the identifier of the downlink service chain may be: obtaining, from the correspondence between the identifier of the downlink service chain and the downlink service chain according to the identifier of the downlink service chain, the downlink service chain corresponding to the identifier of the downlink service chain.
  • the downlink service chain includes the downlink service types.
  • the downlink service types included in the downlink service chain may be obtained according to the downlink service chain.
  • Step 511 The controller generates a downlink service path according to the selected identifier of the service device, and sends a downlink service path response to the classifier, where the downlink service path response carries the downlink service path.
  • the controller may generate the downlink service path according to the selected identifier of the service device by using the following steps (1) to (3), including:
  • the service types corresponding to the selected service devices are obtained according to the selected identifier of the service device.
  • the service types corresponding to the selected service devices are removed from the service types included in the downlink service chain, to obtain the remaining service types.
  • identifiers of service devices are randomly selected according to the remaining service types and from the identifiers of service devices corresponding to the remaining service types.
  • the downlink service path is formed according to the selected identifier of the service device.
  • Step 512 The classifier receives the downlink service path response sent by the controller, and sends the downlink service path and the downlink service flow to the switch.
  • the classifier receives the downlink service path response sent by the controller, obtains the downlink service path from the downlink service path response, adds the downlink service path to the downlink service flow, and sends, to the switch, the downlink service flow to which the downlink service path is added.
  • Step 513 The switch receives the downlink service path and the downlink service flow that are sent by the classifier, and transmits the downlink service flow according to the downlink service path.
  • the switch receives the downlink service flow that is sent by the classifier and to which the downlink service path is added, obtains the downlink service path from the downlink service flow to which the downlink service path is added, obtains the identifiers of service devices on the downlink service path, and sends the downlink service flow to service devices on the downlink service path.
  • the service devices on the downlink service path receive the downlink service flow sent by the switch, perform service processing on the downlink service flow, and send a processed downlink service flow to the user equipment.
  • a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device.
  • an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • this embodiment of the present invention provides a service path generation apparatus.
  • network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • various services such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller.
  • the controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path.
  • the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller.
  • the controller generates a service path according to the downlink service path request by using the method provided in the embodiments of the present invention.
  • the classifier is a device that identifies and classifies a service flow.
  • the classifier may be a PCEF, a PGW, or the like.
  • the controller is a device that generates a service path.
  • the controller may be an MME or the like.
  • the uplink service path includes identifiers of service devices.
  • the uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow.
  • the downlink service path includes identifiers of service devices.
  • the downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • a service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall->NAT address translation, the service chain may be antivirus->firewall->NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain.
  • the service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device 2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path.
  • the identifier of the service path may be a sequence of the service devices on the service path, or the like.
  • the uplink service flow is network data uploaded to the network server.
  • the downlink service flow is network data downloaded from the network server.
  • Service flow information is information used to describe a service flow.
  • the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • the apparatus includes: a first memory 601 ; and a first processor 602 , configured to execute the following service path generation method:
  • uplink service path information obtaining uplink service path information, and obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path;
  • the uplink service path information is an identifier of the uplink service path.
  • the obtaining uplink service path information includes:
  • the downlink service path request carries the identifier of the uplink service path; or obtaining the identifier of the uplink service path from a correspondence between the identifier of the downlink service chain and the identifier of the uplink service path according to the identifier of the downlink service chain.
  • the uplink service path information is the identifier of the uplink service path.
  • the obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path includes:
  • the uplink service path information is uplink service flow information.
  • the obtaining uplink service path information includes:
  • the downlink service path request carries the uplink service flow information.
  • the uplink service path information is the uplink service flow information.
  • the obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path includes:
  • the selecting, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain includes:
  • the generating a downlink service path according to the selected identifier of the service device includes:
  • the method further includes:
  • the classifier receiving an uplink service path request sent by the classifier, where the uplink service path request carries an identifier of an uplink service chain;
  • the obtaining the uplink service path according to the identifier of the uplink service chain includes:
  • the obtaining the uplink service path according to the identifier of the uplink service chain includes:
  • a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device.
  • an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • this embodiment of the present invention provides a service path generation apparatus.
  • network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • various services such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service.
  • the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller.
  • the controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path.
  • the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller.
  • the controller generates a service path according to the downlink service path request by using the method provided in the embodiments of the present invention.
  • the classifier is a device that identifies and classifies a service flow.
  • the classifier may be a PCEF, a PGW, or the like.
  • the controller is a device that generates a service path.
  • the controller may be an MME or the like.
  • the uplink service path includes identifiers of service devices.
  • the uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow.
  • the downlink service path includes identifiers of service devices.
  • the downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • a service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall->NAT address translation, the service chain may be antivirus->firewall->NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain.
  • the service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device 2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path.
  • the identifier of the service path may be a sequence of the service devices on the service path, or the like.
  • the uplink service flow is network data uploaded to the network server.
  • the downlink service flow is network data downloaded from the network server.
  • Service flow information is information used to describe a service flow.
  • the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • the apparatus includes: a second memory 701 ; and a second processor 702 , configured to execute the following service path generation method:
  • the downlink service path request further carries uplink service path information
  • the method further includes:
  • the identifier of the uplink service path is the uplink service path information.
  • the downlink service path request further carries uplink service path information
  • the method further includes:
  • uplink service flow information is the uplink service path information.
  • the method further includes:
  • the obtaining the identifier of the uplink service path according to the uplink service flow includes:
  • the uplink service flow information and an identifier of an uplink service chain according to the uplink service flow obtaining, according to the uplink service flow information, identifiers of service devices on the uplink service path, generating the uplink service path according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and obtaining the identifier of the uplink service path from a correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • obtaining an identifier of an uplink service chain according to the uplink service flow and obtaining the identifier of the uplink service path from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device.
  • an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • the program may be stored in a computer-readable storage medium.
  • the above-described storage medium may be a read-only memory, a magnetic disk, an optical disc, or the like.

Landscapes

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

Abstract

The present invention discloses a service path generation method and apparatus. The method includes: receiving a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtaining uplink service path information, and obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path; selecting, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generating a downlink service path according to the selected identifier of the service device.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of International Application No. PCT/CN2014/087946, filed on Sep. 30, 2014, the disclosure of which is hereby incorporated by reference in its entirety.
  • TECHNICAL FIELD
  • The present invention relates to the field of communications technologies, and in particular, to a service path generation method and apparatus.
  • BACKGROUND
  • To meet a higher-level information need of a user, network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web (web) optimization service, and a NAT (Network Address Translation, network address translation) service. When user equipment sends an uplink service flow to a network server, the user equipment sends the uplink service flow to service devices on an uplink service path, and the service devices on the uplink service path perform service processing on the uplink service flow and send a processed uplink service flow to the network server. Likewise, when the network server sends a downlink service flow to the user equipment, the network server sends the downlink service flow to service devices on a downlink service path, and the service devices on the downlink service path perform service processing on the downlink service flow and send a processed downlink service flow to the user equipment. Therefore, before the uplink service flow is transmitted, a classifier needs to generate an uplink service path, and the uplink service flow is transmitted according to the uplink service path. Before the downlink service flow is transmitted, the classifier needs to generate a downlink service path, and the downlink service flow is transmitted according to the downlink service path. The classifier is a device that identifies and classifies a service flow and that generates a service path according to the service flow. For example, the classifier may be a PCEF (Policy and Charging Enforcement Function), a PGW (Packet Gateway), or the like.
  • The prior art provides a service path generation method. The service path generation method may be as follows: A classifier receives an uplink service flow sent by user equipment, where the uplink service flow includes at least a user equipment identifier; obtains subscription information of a user from a correspondence between the user equipment identifier and the subscription information of the user equipment according to the user equipment identifier; and obtains uplink service types according to the subscription information of the user. To share load, multiple service devices may be deployed for each service type. Therefore, when obtaining the uplink service types, the classifier separately and randomly selects a service device from the service devices corresponding to each uplink service type, and forms an uplink service path according to the selected service devices. Likewise, when a downlink service flow is received, a downlink service path is generated according to the foregoing method.
  • In a process of implementing the present invention, the inventor finds that the prior art has at least the following problem:
  • After the uplink service path is generated, a service device included in the uplink service path establishes a TCP (Transmission Control Protocol) connection to a network server, and transmits the uplink service flow to the network server by using the TCP connection. However, for a same service type, a service device included in the downlink service path may be different from a service device included in the uplink service path. As a result, the service device included in the downlink service path does not establish a TCP connection to the network server. Therefore, the downlink service flow cannot be transmitted, thereby causing transmission interruption of the downlink service flow.
  • SUMMARY
  • To resolve a prior-art problem, the present invention provides a service path generation method and apparatus. The technical solutions are as follows:
  • According to a first aspect, the present invention provides a service path generation apparatus, where the apparatus includes:
  • a first receiving module, configured to receive a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; and
  • a first processing module, configured to: obtain uplink service path information, and obtain, according to the uplink service path information, identifiers of service devices on the uplink service path, where
  • the first processing module is further configured to select, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and
  • the first processing module is further configured to generate a downlink service path according to the selected identifier of the service device.
  • With reference to the first aspect, in a first possible implementation manner of the first aspect, the uplink service path information is an identifier of the uplink service path; and
  • the first processing module is specifically configured to: obtain the identifier of the uplink service path from the downlink service path request, where the downlink service path request carries the identifier of the uplink service path; or obtain the identifier of the uplink service path from a correspondence between the identifier of the downlink service chain and the identifier of the uplink service path according to the identifier of the downlink service chain.
  • With reference to the first aspect or the first possibility of the first aspect, in a second possible implementation manner of the first aspect, the uplink service path information is the identifier of the uplink service path; and
  • the first processing module is specifically configured to: obtain the uplink service path from a correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path, and obtain, according to the uplink service path, the identifiers of service devices on the uplink service path.
  • With reference to the first aspect, in a third possible implementation manner of the first aspect, the uplink service path information is uplink service flow information; and
  • the first processing module is specifically configured to obtain the uplink service flow information from the downlink service path request, where the downlink service path request carries the uplink service flow information.
  • With reference to the first aspect or the third possibility of the first aspect, in a fourth possible implementation manner of the first aspect, the uplink service path information is the uplink service flow information; and
  • the first processing module is specifically configured to calculate, according to a preset algorithm and the uplink service flow information, the identifiers of service devices on the uplink service path.
  • With reference to any one of the first aspect to the fourth possibility of the first aspect, in a fifth possible implementation manner of the first aspect, the first processing module is specifically configured to: obtain, according to the identifier of the downlink service chain, downlink service types included in the downlink service chain, and select, according to the downlink service types and from the identifiers of service devices on the uplink service path, identifiers of service devices corresponding to the downlink service types.
  • With reference to any one of the first aspect to the fifth possibility of the first aspect, in a sixth possible implementation manner of the first aspect, the first processing module is specifically configured to: remove, from the downlink service types included in the downlink service chain, service types corresponding to the selected identifiers of the service devices, to obtain remaining service types; obtain identifiers of service devices corresponding to the remaining service types; and form the downlink service path according to the selected identifiers of downlink service devices and the identifiers of service devices corresponding to the remaining service types.
  • With reference to any one of the first aspect to the sixth possibility of the first aspect, in a seventh possible implementation manner of the first aspect, the first receiving module is further configured to receive an uplink service path request sent by the classifier, where the uplink service path request carries an identifier of an uplink service chain;
  • the first processing module is further configured to obtain the uplink service path according to the identifier of the uplink service chain; and
  • the first processing module is further configured to: obtain the identifier of the uplink service path, and establish the correspondence between the identifier of the uplink service path and the uplink service path.
  • With reference to the seventh possibility of the first aspect, in an eighth possible implementation manner of the first aspect, the first processing module is specifically configured to: obtain, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain; select, from service devices corresponding to the service types, service devices according to the uplink service types included in the uplink service chain; and form the uplink service path according to the selected service devices.
  • With reference to the seventh possibility of the first aspect, in a ninth possible implementation manner of the first aspect, the first processing module is specifically configured to: obtain, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain; obtain the uplink service flow information, and obtain, according to the uplink service flow information, the identifiers of service devices on the uplink service path; select service devices according to the uplink service types included in the uplink service chain and the identifiers of service devices on the uplink service path; and form the uplink service path according to the selected service devices.
  • According to a second aspect, the present invention provides a service path generation apparatus, where the apparatus includes:
  • a second receiving module, configured to receive a downlink service flow sent by a network server;
  • a second processing module, configured to obtain an identifier of a downlink service chain according to the downlink service flow; and
  • a second sending module, configured to send a downlink service path request to a controller, where the downlink service path request carries the identifier of the downlink service chain, so that the controller selects, from service devices on an uplink service path, service devices according to the identifier of the downlink service chain, and generates a downlink service path according to the selected service devices, where
  • the second receiving module is further configured to receive the downlink service path sent by the controller.
  • With reference to the second aspect, in a first possible implementation manner of the second aspect, the downlink service path request further carries uplink service path information;
  • the second processing module is further configured to obtain a user equipment identifier from the downlink service flow; and
  • the second processing module is further configured to obtain an identifier of the uplink service path from a correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier, where the identifier of the uplink service path is the uplink service path information.
  • With reference to the second aspect, in a second possible implementation manner of the second aspect, the downlink service path request further carries uplink service path information;
  • the second processing module is further configured to obtain downlink service flow information according to the downlink service flow; and
  • the second processing module is further configured to obtain uplink service flow information according to the downlink service flow information, where the uplink service flow information is the uplink service path information.
  • With reference to the first aspect, the first possibility of the second aspect, or the second possibility of the second aspect, in a third possible implementation manner of the second aspect, the second receiving module is further configured to receive an uplink service flow sent by user equipment;
  • the second processing module is further configured to obtain the identifier of the uplink service path according to the uplink service flow; and
  • the second processing module is further configured to establish the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • With reference to the third possibility of the second aspect, in a fourth possible implementation manner of the second aspect, the second processing module is specifically configured to: obtain the uplink service flow information and an identifier of an uplink service chain according to the uplink service flow, obtain, according to the uplink service flow information, identifiers of service devices on the uplink service path, generate the uplink service path according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and obtain the identifier of the uplink service path from a correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • the second processing module is specifically configured to: obtain an identifier of an uplink service chain according to the uplink service flow, and obtain the identifier of the uplink service path from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • According to a third aspect, the present invention provides a service path generation method, where the method includes:
  • receiving a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain;
  • obtaining uplink service path information, and obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path;
  • selecting, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and
  • generating a downlink service path according to the selected identifier of the service device.
  • With reference to the third aspect, in a first possible implementation manner of the third aspect, the uplink service path information is an identifier of the uplink service path; and
  • the obtaining uplink service path information includes:
  • obtaining the identifier of the uplink service path from the downlink service path request, where the downlink service path request carries the identifier of the uplink service path; or obtaining the identifier of the uplink service path from a correspondence between the identifier of the downlink service chain and the identifier of the uplink service path according to the identifier of the downlink service chain.
  • With reference to the third aspect or the first possibility of the third aspect, in a second possible implementation manner of the third aspect, the uplink service path information is the identifier of the uplink service path; and
  • the obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path includes:
  • obtaining the uplink service path from a correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path; and
  • obtaining, according to the uplink service path, the identifiers of service devices on the uplink service path.
  • With reference to the third aspect, in a third possible implementation manner of the third aspect, the uplink service path information is uplink service flow information; and
  • the obtaining uplink service path information includes:
  • obtaining the uplink service flow information from the downlink service path request, where the downlink service path request carries the uplink service flow information.
  • With reference to the third aspect or the third possibility of the third aspect, in a fourth possible implementation manner of the third aspect, the uplink service path information is the uplink service flow information; and
  • the obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path includes:
  • calculating, according to a preset algorithm and the uplink service flow information, the identifiers of service devices on the uplink service path.
  • With reference to any one of the third aspect to the fourth possibility of the third aspect, in a fifth possible implementation manner of the third aspect, the selecting, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain includes:
  • obtaining, according to the identifier of the downlink service chain, downlink service types included in the downlink service chain; and
  • selecting, according to the downlink service types and from the identifiers of service devices on the uplink service path, identifiers of service devices corresponding to the downlink service types.
  • With reference to any one of the third aspect to the fifth possibility of the third aspect, in a sixth possible implementation manner of the third aspect, the generating a downlink service path according to the selected identifier of the service device includes:
  • removing, from the downlink service types included in the downlink service chain, service types corresponding to the selected identifiers of the service devices, to obtain remaining service types;
  • obtaining identifiers of service devices corresponding to the remaining service types;
  • forming the downlink service path according to the selected identifiers of downlink service devices and the identifiers of service devices corresponding to the remaining service types.
  • With reference to any one of the third aspect to the sixth possibility of the third aspect, in a seventh possible implementation manner of the third aspect, the method further includes:
  • receiving an uplink service path request sent by the classifier, where the uplink service path request carries an identifier of an uplink service chain;
  • obtaining the uplink service path according to the identifier of the uplink service chain; and
  • obtaining the identifier of the uplink service path, and establishing the correspondence between the identifier of the uplink service path and the uplink service path.
  • With reference to the seventh possibility of the third aspect, in an eighth possible implementation manner of the third aspect, the obtaining the uplink service path according to the identifier of the uplink service chain includes:
  • obtaining, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain;
  • selecting, from service devices corresponding to the service types, service devices according to the uplink service types included in the uplink service chain; and
  • forming the uplink service path according to the selected service devices.
  • With reference to the seventh possibility of the third aspect, in a ninth possible implementation manner of the third aspect, the obtaining the uplink service path according to the identifier of the uplink service chain includes:
  • obtaining, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain;
  • obtaining the uplink service flow information, and obtaining, according to the uplink service flow information, the identifiers of service devices on the uplink service path;
  • selecting service devices according to the uplink service types included in the uplink service chain and the identifiers of service devices on the uplink service path; and
  • forming the uplink service path according to the selected service devices.
  • According to a fourth aspect, the present invention provides a service path generation method, where the method includes:
  • receiving a downlink service flow sent by a network server;
  • obtaining an identifier of a downlink service chain according to the downlink service flow;
  • sending a downlink service path request to a controller, where the downlink service path request carries the identifier of the downlink service chain, so that the controller selects, from service devices on an uplink service path, service devices according to the identifier of the downlink service chain, and generates a downlink service path according to the selected service devices; and
  • receiving the downlink service path sent by the controller.
  • With reference to the fourth aspect, in a first possible implementation manner of the fourth aspect, the downlink service path request further carries uplink service path information, and the method further includes:
  • obtaining a user equipment identifier from the downlink service flow; and
  • obtaining an identifier of the uplink service path from a correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier, where the identifier of the uplink service path is the uplink service path information.
  • With reference to the fourth aspect, in a second possible implementation manner of the fourth aspect, the downlink service path request further carries the uplink service path information, and the method further includes:
  • obtaining downlink service flow information according to the downlink service flow; and
  • obtaining uplink service flow information according to the downlink service flow information, where the uplink service flow information is the uplink service path information.
  • With reference to the fourth aspect, the first possibility of the fourth aspect, or the second possibility of the fourth aspect, in a third possible implementation manner of the fourth aspect, the method further includes:
  • receiving an uplink service flow sent by user equipment;
  • obtaining the identifier of the uplink service path according to the uplink service flow; and
  • establishing the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • With reference to the third possibility of the fourth aspect, in a fourth possible implementation manner of the fourth aspect, the obtaining the identifier of the uplink service path according to the uplink service flow includes:
  • obtaining the uplink service flow information and an identifier of an uplink service chain according to the uplink service flow, obtaining, according to the uplink service flow information, identifiers of service devices on the uplink service path, generating the uplink service path according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and obtaining the identifier of the uplink service path from a correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • obtaining an identifier of an uplink service chain according to the uplink service flow, and obtaining the identifier of the uplink service path from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • According to the fifth aspect, the present invention provides a service path generation apparatus, where the apparatus includes: a first memory; and a first processor, configured to execute the service path generation method according to the first aspect.
  • According to the sixth aspect, the present invention provides a service path generation apparatus, where the apparatus includes: a second memory; and a second processor, configured to execute the service path generation method according to the second aspect.
  • In the embodiments of the present invention, a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • To describe the technical solutions in the embodiments of the present invention more clearly, the following briefly describes the accompanying drawings required for describing the embodiments. Apparently, the accompanying drawings in the following description show merely some embodiments of the present invention, and a person of ordinary skill in the art may still derive another drawing from these accompanying drawings without creative efforts.
  • FIG. 1 is a schematic structural diagram of a service path generation apparatus according to Embodiment 1 of the present invention;
  • FIG. 2 is a schematic structural diagram of a service path generation apparatus according to Embodiment 2 of the present invention;
  • FIG. 3-1 is a flowchart of a service path generation method according to Embodiment 3 of the present invention;
  • FIG. 3-2 is a flowchart of a service path generation method according to Embodiment 3 of the present invention;
  • FIG. 4A and FIG. 4B are a flowchart of a service path generation method according to Embodiment 4 of the present invention;
  • FIG. 5A and FIG. 5B are a flowchart of a service path generation method according to Embodiment 5 of the present invention;
  • FIG. 6 is a schematic structural diagram of a service path generation apparatus according to Embodiment 6 of the present invention; and
  • FIG. 7 is a schematic structural diagram of a service path generation apparatus according to Embodiment 7 of the present invention.
  • DETAILED DESCRIPTION
  • To make objectives, technical solutions, and advantages of the present invention clearer, the following further describes the embodiments of the present invention in detail with reference to the accompanying drawings.
  • Embodiment 1
  • This embodiment of the present invention provides a service path generation apparatus.
  • To meet a higher-level information need of a user, network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service. In a process in which user equipment sends an uplink service flow to a network server, the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller. The controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path. In a process in which the network server sends a downlink service flow to the user equipment, the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller. To avoid transmission interruption of the downlink service flow, the controller generates a service path according to the downlink service path request by using the method provided in the embodiments of the present invention.
  • The classifier is a device that identifies and classifies a service flow. For example, the classifier may be a PCEF, a PGW, or the like. The controller is a device that generates a service path. For example, the controller may be an MME (Mobility Management Entity) or the like. The uplink service path includes identifiers of service devices. The uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow. The downlink service path includes identifiers of service devices. The downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • A service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall->NAT address translation, the service chain may be antivirus->firewall->NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain. The service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device 2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path. The identifier of the service path may be a sequence of the service devices on the service path, or the like. The uplink service flow is network data uploaded to the network server. The downlink service flow is network data downloaded from the network server. Service flow information is information used to describe a service flow. For example, the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • The apparatus may be a controller. Referring to FIG. 1, the apparatus includes a first receiving module 101 and a first processing module 102.
  • The first receiving module 101 is configured to receive a downlink service path request sent by a classifier. The downlink service path request carries an identifier of a downlink service chain.
  • The classifier receives a downlink service flow sent by a network server, obtains the identifier of the downlink service chain according to the downlink service flow, and sends the downlink service path request to the first receiving module 101. In addition to the identifier of the downlink service chain, the downlink service path request may further carry uplink service path information. The first receiving module 101 receives the downlink service path request sent by the classifier.
  • The first processing module 102 is configured to: obtain the uplink service path information, and obtain, according to the uplink service path information, identifiers of service devices on the uplink service path.
  • The uplink service path information may be an identifier of the uplink service path or uplink service flow information.
  • Preferably, when the uplink service path information is the identifier of the uplink service path, the first processing module 102 is specifically configured to obtain the identifier of the uplink service path from the downlink service path request. The downlink service path request carries the identifier of the uplink service path. Alternatively, when the downlink service path does not carry the identifier of the uplink service path, the first processing module 102 is specifically configured to obtain the identifier of the uplink service path from a correspondence between the identifier of the downlink service chain and the identifier of the uplink service path according to the identifier of the downlink service chain.
  • The first processing module 102 previously establishes a correspondence between the identifier of the uplink service chain and the identifier of the downlink service path.
  • Preferably, the uplink service path information is the identifier of the uplink service path.
  • The first processing module 102 is specifically configured to: obtain the uplink service path from a correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path, and obtain, according to the uplink service path, the identifiers of service devices on the uplink service path.
  • That the apparatus needs to establish the correspondence between the identifier of the uplink service path and the uplink service path may be specifically as follows:
  • The first receiving module 101 is further configured to receive an uplink service path request sent by the classifier. The uplink service path request carries an identifier of an uplink service chain.
  • The classifier receives the uplink service flow sent by user equipment, and obtains the identifier of the uplink service chain according to the uplink service flow. The classifier sends the uplink service path request to the first receiving module 101. The uplink service path request carries the identifier of the uplink service chain. The first receiving module 101 receives the uplink service path request sent by the classifier.
  • When the user equipment sends the uplink service flow to the network server, the user equipment sends the uplink service flow to the classifier. The classifier generates the uplink service path, and sends the uplink service flow to uplink service devices on the uplink service path. The uplink service devices perform service processing on the uplink service flow and send a processed uplink service flow to the network server.
  • A first manner or a second manner may be used by the classifier to receive the uplink service flow sent by the user equipment, and obtain the identifier of the uplink service chain according to the uplink service flow. The first manner may be as follows:
  • The user equipment sends the uplink service flow to the classifier. The uplink service flow carries at least a user equipment identifier. The classifier receives the uplink service flow sent by the user equipment, obtains the user equipment identifier carried in the uplink service flow, and obtains subscription information of the user equipment according to the user equipment identifier. The subscription information of the user equipment includes user-subscribed uplink services. Therefore, user-subscribed uplink service types can be obtained from the subscription information of the user equipment. The uplink service chain is formed according to the user-subscribed uplink service types. The identifier of the uplink service chain is obtained.
  • For example, user-subscribed uplink services are an antivirus service, a firewall service, and a NAT address translation service. Service types obtained from the subscription information of the user equipment are an antivirus type, a firewall type, and a NAT address translation type. Antivirus type-22 firewall type->NAT address translation type forms an uplink service chain. An identifier of the uplink service chain, for example, 1, is obtained.
  • The classifier previously obtains each user equipment identifier and subscription information of each user equipment, and establishes a correspondence between each user equipment identifier and the subscription information of each user equipment. Correspondingly, the step of obtaining subscription information of the user equipment according to the user equipment identifier may be: obtaining the subscription information corresponding to the user equipment from a correspondence between the user equipment identifier and the subscription information of the user equipment according to the user equipment identifier.
  • The user equipment identifier may be a GUID (Globally Unique Identifier) of the user equipment, or the like.
  • The second implementation method may be as follows:
  • The user equipment sends the uplink service flow to the classifier. The uplink service flow carries at least a user equipment identifier. The classifier receives the uplink service flow sent by the user equipment, obtains the user equipment identifier carried in the downlink service flow, and obtains the identifier of the uplink service chain from a correspondence between the user equipment identifier and the identifier of the uplink service chain according to the user equipment identifier.
  • The classifier previously establishes the correspondence between the user equipment identifier and the identifier of the uplink service chain by using the following steps, including:
  • When the user equipment is attached to a network, a PCRF (Policy and Charging Rules Function) obtains subscription information of the user equipment according to the user equipment identifier. The subscription information of the user equipment includes user-subscribed uplink services. Therefore, user-subscribed uplink service types can be obtained according to the subscription information of the user equipment. The uplink service chain is formed according to the uplink service types. The identifier of the uplink service chain is obtained. The user equipment identifier and the identifier of the uplink service chain are sent to the classifier. The classifier receives the user equipment identifier and the identifier of the uplink service chain that are sent by the PCRF, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service chain.
  • In addition to the identifier of the uplink service chain, the uplink service path request may further carry the identifier of the uplink service path. Therefore, the classifier needs to obtain the identifier of the uplink service path from a correspondence between the user identifier and the identifier of the uplink service path according to the user identifier of the user.
  • The classifier obtains the identifier of the uplink service path according to the uplink service flow, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • That the classifier obtains the identifier of the uplink service path according to the uplink service flow may be: The uplink service flow information and the identifier of the uplink service chain are obtained according to the uplink service flow, the identifiers of service devices on the uplink service path are obtained according to the uplink service flow information, the uplink service path is generated according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and the identifier of the uplink service path is obtained from the correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • the identifier of the uplink service chain is obtained according to the uplink service flow, and the identifier of the uplink service path is obtained from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • The first processing module 102 is further configured to obtain the uplink service path according to the identifier of the uplink service chain.
  • The first processing module 102 is specifically configured to: obtain, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain; select, from service devices corresponding to the service types, service devices according to the uplink service types included in the uplink service chain; and form the uplink service path according to the selected service devices.
  • The first processing module 102 is specifically configured to: obtain, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain; obtain the uplink service flow information, and obtain, according to the uplink service flow information, the identifiers of service devices on the uplink service path; select service devices according to the uplink service types included in the uplink service chain and the identifiers of service devices on the uplink service path; and form the uplink service path according to the selected service devices.
  • The first processing module 102 is configured to: obtain the identifier of the uplink service chain according to the uplink service path request, and obtain, according to the identifier of the uplink service chain, the uplink service types included in the uplink service chain.
  • The first processing module 102 is configured to: obtain the identifier of the uplink service chain according to the uplink service path request, obtain the uplink service chain according to the identifier of the uplink service chain, and obtain, according to the uplink service chain, the uplink service types included in the uplink service chain.
  • The first processing module 102 is configured to previously establish a correspondence between the identifier of the uplink service chain and the uplink service chain. Correspondingly, the step of obtaining the uplink service chain according to the identifier of the uplink service chain may be: obtaining, from the correspondence between the identifier of the uplink service chain and the uplink service chain according to the identifier of the uplink service chain, the uplink service chain corresponding to the identifier of the uplink service chain.
  • The first processing module 102 is configured to select, from the service devices corresponding to the service types, identifiers of service devices according to the uplink service types included in the uplink service chain, and form the uplink service path according to the selected identifiers of the service devices.
  • Each service type is corresponding to at least one service device. The controller randomly selects, from identifiers of service devices corresponding to service types, identifiers of service devices according to the uplink service types, and forms the uplink service path according to the randomly selected identifiers of the service devices.
  • The first processing module 102 is further configured to: obtain the identifier of the uplink service path, and establish the correspondence between the identifier of the uplink service path and the uplink service path.
  • The first processing module 102 is configured to establish the correspondence between the identifier of the uplink service path and the uplink service path. When the identifier of the uplink service path is received, the uplink service path may be obtained from the correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path.
  • Preferably, the apparatus further includes a first sending module.
  • The first sending module is configured to send an uplink service path response to the classifier. The uplink service path response carries the uplink service path.
  • The classifier receives the uplink service path response sent by the first sending module, sends the uplink service path and the uplink service flow to a switch, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • Specifically, the classifier receives the uplink service path response sent by the first sending module, and obtains the uplink service path, adds the uplink service path to the uplink service flow, and sends, to the switch, the uplink service flow to which the uplink service path is added.
  • Further, the classifier establishes the correspondence between the user equipment identifier and the identifier of the uplink service path. The identifier of the uplink service path may be obtained from the correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier.
  • Further, the switch receives the uplink service path and the uplink service flow that are sent by the classifier, and transmits the uplink service flow according to the uplink service path.
  • Specifically, the switch receives the uplink service flow that is sent by the classifier and to which the uplink service path is added, obtains the uplink service path, and sends, according to the uplink service path, the uplink service flow to the service devices on the uplink service path. The service devices on the uplink service path receive the uplink service flow sent by the switch, perform service processing on the uplink service flow, and send a processed uplink service flow to the network server.
  • Preferably, the uplink service path information is the uplink service flow information.
  • The first processing module 102 is specifically configured to obtain the uplink service flow information from the downlink service path request. The downlink service path request carries the uplink service flow information.
  • Preferably, the uplink service path information is the uplink service flow information.
  • The first processing module 102 is specifically configured to calculate, according to a preset algorithm and the uplink service flow information, the identifiers of service devices on the uplink service path.
  • The preset algorithm may be set and changed as required. In this embodiment of the present invention, no specific limitation is set on the preset algorithm. For example, the preset algorithm is a hash operation or an MD5 (Message Digest Algorithm MD5, message digest algorithm 5) algorithm.
  • For example, the hash operation is performed on the uplink service flow information to obtain a hash result, and the identifiers of service devices on the uplink service path are selected in a load balancing manner according to the hash result.
  • It should be noted that the identifiers of the service devices on the uplink service path that are obtained by means of calculation according to the preset algorithm and the uplink service flow information is an identifier of each service device, that is, only the identifiers of the service devices are obtained, and an identifier of a service device needs to be selected according to an uplink service type.
  • For example, the identifiers of the service devices on the uplink service path that are obtained by means of calculation according to the preset algorithm and the service flow information are 1. Then, an identifier of each service device is 1, and an identifier of a service device needs to be selected according to a service type.
  • The first processing module 102 is further configured to select, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain.
  • Each service type is corresponding to at least one service device. The identifiers of service devices on the uplink service path are selected according to the uplink service types and from the identifiers of the service devices corresponding to the service types.
  • The first processing module 102 is specifically configured to: obtain, according to the identifier of the downlink service chain, downlink service types included in the downlink service chain, and select, according to the downlink service types and from the identifiers of service devices on the uplink service path, identifiers of service devices corresponding to the downlink service types.
  • The first processing module 102 is specifically configured to: obtain the downlink service chain according to the identifier of the downlink service chain, and obtain, according to the downlink service chain, the downlink service types included in the downlink service chain.
  • The first processing module 102 previously establishes a correspondence between the identifier of the downlink service chain and the downlink service chain. Correspondingly, the step of obtaining the downlink service chain according to the identifier of the downlink service chain may be: obtaining, from the correspondence between the identifier of the downlink service chain and the downlink service chain according to the identifier of the downlink service chain, the downlink service chain corresponding to the identifier of the downlink service chain.
  • The downlink service chain includes the downlink service types, and the downlink service types included in the downlink service chain may be obtained according to the downlink service chain.
  • The first processing module 102 is further configured to generate a downlink service path according to the selected identifier of the service device.
  • The first processing module 102 is specifically configured to: remove, from the downlink service types included in the downlink service chain, service types corresponding to the selected identifiers of the service devices, to obtain remaining service types; obtain identifiers of service devices corresponding to the remaining service types; and form the downlink service path according to the selected identifiers of downlink service devices and the identifiers of service devices corresponding to the remaining service types.
  • The first processing module 102 is specifically configured to: obtain, according to the selected identifier of the service device, the service types corresponding to the selected service devices; remove, from the service types included in the downlink service chain, the service types corresponding to the selected service devices, to obtain the remaining service types; and randomly select, from the identifiers of service devices corresponding to the remaining service types, identifiers of service devices according to the remaining service types.
  • It should be noted that if the downlink service types included in the downlink service chain are the same as the uplink service types included in the uplink service chain, the downlink service path is formed according to the selected identifiers of the service devices.
  • The first sending module is further configured to send a downlink service path response to the classifier. The classifier receives the downlink service path response sent by the first sending module, and sends the downlink service path and the downlink service flow to the switch.
  • The classifier receives the downlink service path response sent by the first sending module, obtains the downlink service path from the downlink service path response, adds the downlink service path to the downlink service flow, and sends, to the switch, the downlink service flow to which the downlink service path is added.
  • The switch receives the downlink service path and the downlink service flow that are sent by the classifier, and transmits the downlink service flow according to the downlink service path.
  • Specifically, the switch receives the downlink service flow that is sent by the classifier and to which the downlink service path is added, obtains the downlink service path from the downlink service flow to which the downlink service path is added, obtains the identifiers of service devices on the downlink service path, and sends the downlink service flow to service devices on the downlink service path. The service devices on the downlink service path receive the downlink service flow sent by the switch, perform service processing on the downlink service flow, and send a processed downlink service flow to the user equipment.
  • In this embodiment of the present invention, a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • Embodiment 2
  • This embodiment of the present invention provides a service path generation apparatus.
  • To meet a higher-level information need of a user, network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service. In a process in which user equipment sends an uplink service flow to a network server, the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller. The controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path. In a process in which the network server sends a downlink service flow to the user equipment, the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller. To avoid transmission interruption of the downlink service flow, the controller generates a service path according to the downlink service path request by using the method provided in the embodiments of the present invention.
  • The classifier is a device that identifies and classifies a service flow. For example, the classifier may be a PCEF, a PGW, or the like. The controller is a device that generates a service path. For example, the controller may be an MME or the like. The uplink service path includes identifiers of service devices. The uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow. The downlink service path includes identifiers of service devices. The downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • A service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall->NAT address translation, the service chain may be antivirus->firewall->NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain. The service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device 2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path. The identifier of the service path may be a sequence of the service devices on the service path, or the like. The uplink service flow is network data uploaded to the network server. The downlink service flow is network data downloaded from the network server. Service flow information is information used to describe a service flow. For example, the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • The apparatus may be a classifier. Referring to FIG. 2, the apparatus includes a second receiving module 201, a second processing module 202, and a second sending module 203.
  • The second receiving module 201 is configured to receive a downlink service flow sent by a network server.
  • When user equipment downloads the downlink service flow, the network server sends the downlink service flow to the second receiving module 201. The second receiving module 201 receives the downlink service flow sent by the network server. The downlink service flow carries at least a user equipment identifier. The user equipment identifier is obtained from the downlink service flow.
  • The second processing module 202 is configured to obtain an identifier of a downlink service chain according to the downlink service flow.
  • A first manner or a second manner may be used by the second processing module 202 to obtain the identifier of the downlink service chain according to the downlink service flow. The first manner may be as follows:
  • The second processing module 202 obtains the user equipment identifier from the downlink service flow, and obtains subscription information of the user equipment according to the user equipment identifier. The subscription information of the user equipment includes user-subscribed downlink services. Therefore, user-subscribed downlink service types can be obtained according to the subscription information of the user equipment. The downlink service chain is formed according to the downlink service types. The identifier of the downlink service chain is obtained.
  • The second implementation manner may be as follows:
  • The second processing module 202 obtains the user equipment identifier from the downlink service flow, and obtains the identifier of the downlink service chain from a correspondence between the user equipment identifier and the identifier of the downlink service chain according to the user equipment identifier.
  • The classifier previously establishes the correspondence between the user equipment identifier and the identifier of the downlink service chain.
  • The second sending module 203 is configured to send a downlink service path request to a controller. The downlink service path request carries the identifier of the downlink service chain. Therefore, the controller selects, from service devices on an uplink service path, service devices according to the identifier of the downlink service chain, and generates a downlink service path according to the selected service devices.
  • The second receiving module 201 is further configured to receive the downlink service path sent by the controller.
  • In addition to the identifier of the downlink service chain, the downlink service path request further carries uplink service path information. Therefore, the second processing module 202 further needs to obtain the uplink service path information.
  • The second processing module 202 is further configured to obtain the user equipment identifier from the downlink service flow.
  • The downlink service flow includes at least the user equipment identifier. The second processing module 202 obtains the user equipment identifier from the downlink service flow.
  • The second processing module 202 is further configured to obtain an identifier of the uplink service path from a correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier. The identifier of the uplink service path is the uplink service path information.
  • When obtaining the uplink service path, the second processing module 202 establishes the correspondence between the user equipment identifier and the identifier of the uplink service path. Therefore, the second processing module 202 obtains, from the correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier, the identifier that is of the uplink service path and corresponding to the user equipment identifier. The identifier of the uplink service path is the uplink service path information.
  • The establishing the correspondence between the user equipment identifier and the identifier of the uplink service path may be as follows:
  • The second receiving module 201 is further configured to receive an uplink service flow sent by the user equipment.
  • In a process in which the user equipment sends the uplink service flow to the network server, the user equipment sends the uplink service flow to the second receiving module 201. The second receiving module 201 receives the uplink service flow sent by the user equipment. The uplink service flow carries at least the user equipment identifier.
  • The second processing module 202 is further configured to obtain the identifier of the uplink service path according to the uplink service flow.
  • The second processing module 202 is specifically configured to: obtain the uplink service flow information and an identifier of an uplink service chain according to the uplink service flow, obtain, according to the uplink service flow information, identifiers of service devices on the uplink service path, generate the uplink service path according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and obtain the identifier of the uplink service path from a correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • the second processing module 202 is specifically configured to: obtain an identifier of an uplink service chain according to the uplink service flow, and obtain the identifier of the uplink service path from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • The second processing module 202 is further configured to establish the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • The second processing module 202 is further configured to obtain downlink service flow information according to the downlink service flow.
  • The downlink service flow carries the downlink service flow information. The downlink service flow information carried in the downlink service flow is obtained from the downlink service flow.
  • The second processing module 202 is further configured to obtain the uplink service flow information according to the downlink service flow information. The uplink service flow information is the uplink service path information.
  • Specifically, inverse processing is performed on the downlink service flow information to obtain the uplink service flow information.
  • For example, the downlink service flow information is a quintet of the downlink service flow. Inverse processing is performed on the quintet of the downlink service flow to obtain a quintet of the uplink service flow.
  • In this embodiment of the present invention, a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • Embodiment 3
  • This embodiment of the present invention provides a service path generation method.
  • To meet a higher-level information need of a user, network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service. In a process in which user equipment sends an uplink service flow to a network server, the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller. The controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path. In a process in which the network server sends a downlink service flow to the user equipment, the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller. To avoid transmission interruption of the downlink service flow, the controller generates a service path according to the downlink service path request by using the method provided in this embodiment of the present invention.
  • The classifier is a device that identifies and classifies a service flow. For example, the classifier may be a PCEF, a PGW, or the like. The controller is a device that generates a service path. For example, the controller may be an MME or the like. The uplink service path includes identifiers of service devices. The uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow. The downlink service path includes identifiers of service devices. The downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • A service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall->NAT address translation, the service chain may be antivirus->firewall-22 NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain. The service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device 2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path. The identifier of the service path may be a sequence of the service devices on the service path, or the like. The uplink service flow is network data uploaded to the network server. The downlink service flow is network data downloaded from the network server. Service flow information is information used to describe a service flow. For example, the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • Referring to FIG. 3-1, the method may be executed by a controller, that is, may be executed by the apparatus in Embodiment 1. The method includes the following steps.
  • Step 301 a: Receive a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain.
  • The classifier receives a downlink service flow sent by a network server, obtains the identifier of the downlink service chain according to the downlink service flow, and sends the downlink service path request to the controller. In addition to the identifier of the downlink service chain, the downlink service path request may further carry uplink service path information.
  • Step 302 a: Obtain uplink service path information, and obtain, according to the uplink service path information, identifiers of service devices on the uplink service path.
  • The uplink service path is an identifier of the uplink service path or uplink service flow information.
  • When the uplink service path information is the identifier of the uplink service path, the step of obtaining uplink service path information may be:
  • obtaining the identifier of the uplink service path from the downlink service path request, where the downlink service path request carries the identifier of the uplink service path; or obtaining the identifier of the uplink service path from a correspondence between the identifier of the downlink service chain and the identifier of the uplink service path according to the identifier of the downlink service chain.
  • Correspondingly, the step of obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path may be:
  • obtaining the uplink service path from a correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path; and obtaining, according to the uplink service path, the identifiers of service devices on the uplink service path.
  • The controller needs to establish the correspondence between the identifier of the uplink service path and the uplink service path by using the following steps, including:
  • The controller receives an uplink service path request sent by the classifier, where the uplink service path request carries an identifier of an uplink service chain; obtains the uplink service path according to the identifier of the uplink service chain; and obtains the identifier of the uplink service path, and establishes the correspondence between the identifier of the uplink service path and the uplink service path.
  • The step of obtaining the uplink service path according to the identifier of the uplink service chain may be:
  • obtaining, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain; selecting, from service devices corresponding to the service types, service devices according to the uplink service types included in the uplink service chain; and forming the uplink service path according to the selected service devices.
  • Alternatively, the step of obtaining the uplink service path according to the identifier of the uplink service chain may be:
  • obtaining, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain; obtaining the uplink service flow information, and obtaining, according to the uplink service flow information, the identifiers of service devices on the uplink service path; selecting service devices according to the uplink service types included in the uplink service chain and the identifiers of service devices on the uplink service path; and forming the uplink service path according to the selected service devices.
  • When the uplink service path information is the uplink service flow information, the step of obtaining uplink service path information may be:
  • obtaining the uplink service flow information from the downlink service path request, where the downlink service path request carries the uplink service flow information.
  • Correspondingly, the step of obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path may be:
  • calculating, according to a preset algorithm and the uplink service flow information, the identifiers of service devices on the uplink service path.
  • Step 303 a: Select, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain.
  • Specifically, downlink service types included in the downlink service chain are obtained according to the identifier of the downlink service chain. Identifiers of service devices corresponding to the downlink service types are selected according to the downlink service types and from the identifiers of service devices on the uplink service path.
  • An identifier of a service device is selected according to the identifier of the downlink service chain and from the identifiers of service devices on the uplink service path. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • Step 304 a: Generate a downlink service path according to the selected identifier of the service device.
  • Specifically, service types corresponding to the selected identifiers of the service devices are removed from the downlink service types included in the downlink service chain, to obtain remaining service types. Identifiers of service devices corresponding to the remaining service types are obtained. The downlink service path is generated according to the selected identifiers of downlink service devices and the identifiers of service devices corresponding to the remaining service types.
  • In this embodiment of the present invention, a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • The foregoing steps 301 a to 304 a are steps of generating a downlink service path on a controller side. The present invention further provides a service path generation method on a classifier side corresponding to the controller side. Referring to FIG. 3-2, the method may be executed by a classifier, that is, may be executed by the apparatus in Embodiment 2. The method includes the following steps.
  • Step 301 b: Receive a downlink service flow sent by a network server.
  • The network server sends the downlink service flow to the classifier. The downlink service flow carries a user equipment identifier. The classifier receives the downlink service flow sent by the network server.
  • Step 302 b: Obtain an identifier of a downlink service chain according to the downlink service flow.
  • Specifically, the user equipment identifier is obtained from the downlink service flow. Subscription information of the user equipment is obtained from a correspondence between the user equipment identifier and the subscription information of the user equipment according to the user equipment identifier. The subscription information of the user equipment includes user-subscribed downlink services. Therefore, user-subscribed downlink service types can be obtained according to the subscription information of the user equipment. The downlink service chain is formed according to the downlink service types. The identifier of the downlink service chain is obtained. Alternatively,
    Figure US20170208532A1-20170720-P00999
  • The user equipment identifier is obtained from the downlink service flow. The identifier of the downlink service chain is obtained from a correspondence between the user equipment identifier and the identifier of the down service chain according to the user equipment identifier.
  • Step 303 b: Send a downlink service path request to a controller, where the downlink service path request carries the identifier of the downlink service chain, so that the controller selects, from service devices on an uplink service path, service devices according to the identifier of the downlink service chain, and generates a downlink service path according to the selected service devices.
  • In addition to the identifier of the downlink service chain, the downlink service path request further carries uplink service path information.
  • If the downlink service path request further carries the uplink service path information, the classifier further needs to obtain the uplink service path information. The uplink service path information may be an identifier of the uplink service path or uplink service flow information.
  • When the uplink service path information is the identifier of the uplink service path, the step of obtaining the uplink service path information may be:
  • obtaining the user equipment identifier from the downlink service flow, and obtaining the identifier of the uplink service path from a correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier, where the identifier of the uplink service path is the uplink service path information.
  • The classifier needs to establish the correspondence between the user equipment identifier and the identifier of the uplink service path according to the following steps, including:
  • The classifier receives the uplink service flow sent by the user equipment, obtains the identifier of the uplink service path according to the uplink service flow, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • The step of obtaining the identifier of the uplink service path according to the uplink service flow may be:
  • obtaining the uplink service flow information and an identifier of an uplink service chain according to the uplink service flow, obtaining, according to the uplink service flow information, identifiers of service devices on the uplink service path, generating the uplink service path according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and obtaining the identifier of the uplink service path from a correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • obtaining an identifier of an uplink service chain according to the uplink service flow, and obtaining the identifier of the uplink service path from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • The correspondence between the user equipment identifier and the identifier of the uplink service path is established by using the foregoing steps. Therefore, the classifier can obtain the identifier of the uplink service path from the correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier.
  • When the uplink service path information is the uplink service flow information, the step of obtaining the uplink service path information may be:
  • obtaining downlink service flow information according to the downlink service flow, obtaining the uplink service flow information according to the downlink service flow information, where the uplink service flow information is the uplink service path information.
  • The downlink service path request is sent to the controller. The downlink service path request carries the identifier of the downlink service chain. The controller selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • Step 304 b: Receive the downlink service path sent by the controller.
  • In this embodiment of the present invention, a classifier sends a downlink service path request to a controller. The downlink service path request carries an identifier of a downlink service chain. The controller selects an identifier of a service device from identifiers of service devices on an uplink service path according to the identifier of the downlink service chain. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • Embodiment 4
  • Based on Embodiment 3, Embodiment 4 of the present invention provides a service path generation method.
  • To meet a higher-level information need of a user, network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service. In a process in which user equipment sends an uplink service flow to a network server, the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller. The controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path. In a process in which the network server sends a downlink service flow to the user equipment, the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller. To avoid transmission interruption of the downlink service flow, the controller generates a service path according to the downlink service path request by using the method provided in this embodiment of the present invention.
  • The classifier is a device that identifies and classifies a service flow. For example, the classifier may be a PCEF, a PGW, or the like. The controller is a device that generates a service path. For example, the controller may be an MME or the like. The uplink service path includes identifiers of service devices. The uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow. The downlink service path includes identifiers of service devices. The downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • A service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall-22 NAT address translation, the service chain may be antivirus->firewall->NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain. The service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device-2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path. The identifier of the service path may be a sequence of the service devices on the service path, or the like. The uplink service flow is network data uploaded to the network server. The downlink service flow is network data downloaded from the network server. Service flow information is information used to describe a service flow. For example, the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • In this embodiment of the present invention, in a process in which a classifier receives a downlink service flow sent by a network server, the classifier sends a downlink service path request to a controller. The downlink service path request carries an identifier of a downlink service chain. The classifier obtains an identifier of an uplink service path, obtains, according to the identifier of the uplink service path, identifiers of service devices on the uplink service path, selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain, and generates a downlink service path according to the selected identifier of the service device.
  • Referring to FIG. 4A and FIG. 4B, the method includes the following steps.
  • Step 401: A classifier receives an uplink service flow sent by user equipment, and obtains an identifier of an uplink service chain according to the uplink service flow.
  • When the user equipment sends the uplink service flow to a network server, the user equipment sends the uplink service flow to the classifier. The classifier generates an uplink service path, and sends the uplink service flow to uplink service devices on the uplink service path. The uplink service devices perform service processing on the uplink service flow and send a processed uplink service flow to the network server.
  • Step 401 may be implemented in a first manner or a second manner. The first manner may be as follows:
  • The user equipment sends the uplink service flow to the classifier. The uplink service flow carries at least a user equipment identifier. The classifier receives the uplink service flow sent by the user equipment, obtains the user equipment identifier carried in the uplink service flow, and obtains subscription information of the user equipment according to the user equipment identifier. The subscription information of the user equipment includes user-subscribed uplink services. Therefore, user-subscribed uplink service types can be obtained from the subscription information of the user equipment. The uplink service chain is formed according to the user-subscribed uplink service types. The identifier of the uplink service chain is obtained.
  • For example, user-subscribed uplink services are an antivirus service, a firewall service, and a NAT address translation service. Service types obtained from the subscription information of the user equipment are an antivirus type, a firewall type, and a NAT address translation type. An uplink service chain is formed according to antivirus type->firewall type->NAT address translation type. An identifier of the uplink service chain, for example, 1, is obtained.
  • The classifier previously obtains each user equipment identifier and subscription information of each user equipment, and establishes a correspondence between each user equipment identifier and the subscription information of each user equipment. Correspondingly, the step of obtaining subscription information of the user equipment according to the user equipment identifier may be: obtaining the subscription information corresponding to the user equipment from the correspondence between the user equipment identifier and the subscription information of the user equipment according to the user equipment identifier.
  • The user equipment identifier may be a GUID (Globally Unique Identifier, global unique identifier) of the user equipment, or the like.
  • The second implementation method may be as follows:
  • The user equipment sends the uplink service flow to the classifier. The uplink service flow carries at least a user equipment identifier. The classifier receives the uplink service flow sent by the user equipment, obtains the user equipment identifier carried in the downlink service flow, and obtains the identifier of the uplink service chain from a correspondence between the user equipment identifier and the identifier of the uplink service chain according to the user equipment identifier.
  • The classifier previously establishes the correspondence between the user equipment identifier and the identifier of the uplink service chain by using the following steps, including:
  • When the user equipment is attached to a network, a PCRF (Policy and Charging Rules Function, policy and charging rules function unit) obtains subscription information of the user equipment according to the user equipment identifier. The subscription information of the user equipment includes user-subscribed uplink services. Therefore, user-subscribed uplink service types can be obtained according to the subscription information of the user equipment. The uplink service chain is formed according to the uplink service types. The identifier of the uplink service chain is obtained. The user equipment identifier and the identifier of the uplink service chain are sent to the classifier. The classifier receives the user equipment identifier and the identifier of the uplink service chain that are sent by the PCRF, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service chain.
  • Step 402: The classifier sends an uplink service path request to a controller, where the uplink service path request carries the identifier of the uplink service chain.
  • Specifically, the classifier generates the uplink service path request according to the identifier of the uplink service chain, where the uplink service path request carries the identifier of the uplink service chain; and sends the uplink service path request to the controller, so that the controller generates the uplink service path.
  • The uplink service path request may further carry an identifier of the uplink service path. Therefore, the classifier needs to obtain the identifier of the uplink service path from a correspondence between the user identifier and the identifier of the uplink service path according to the user identifier of the user.
  • The classifier obtains the identifier of the uplink service path according to the uplink service flow, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • That the classifier obtains the identifier of the uplink service path according to the uplink service flow may be: The uplink service flow information and the identifier of the uplink service chain are obtained according to the uplink service flow, the identifiers of service devices on the uplink service path are obtained according to the uplink service flow information, the uplink service path is generated according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and the identifier of the uplink service path is obtained from the correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • the identifier of the uplink service chain is obtained according to the uplink service flow, and the identifier of the uplink service path is obtained from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • Step 403: The controller receives the uplink service path request sent by the classifier, and obtains an uplink service path according to the uplink service path request.
  • Step 403 may be implemented by using the following steps (1) to (2), including:
  • (1) The controller obtains the identifier of the uplink service chain according to the uplink service path request, and obtains, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain.
  • Specifically, the controller obtains the identifier of the uplink service chain according to the uplink service path request, obtains the uplink service chain according to the identifier of the uplink service chain, and obtains, according to the uplink service chain, the uplink service types included in the uplink service chain.
  • The controller previously establishes a correspondence between the identifier of the uplink service chain and the uplink service chain. Correspondingly, the step of obtaining the uplink service chain according to the identifier of the uplink service chain may be: obtaining, from the correspondence between the identifier of the uplink service chain and the uplink service chain according to the identifier of the uplink service chain, the uplink service chain corresponding to the identifier of the uplink service chain.
  • (2) Select, from service devices corresponding to the service types, identifiers of service devices according to the uplink service types included in the uplink service chain, and form the uplink service path according to the selected identifiers of the service devices.
  • Each service type is corresponding to at least one service device. The controller randomly selects, from identifiers of service devices corresponding to service types, identifiers of service devices according to the uplink service types, and forms the uplink service path according to the randomly selected identifiers of the service devices.
  • Step 404: The controller sends an uplink service path response to the classifier, where the uplink service path response carries the uplink service path; and establishes a correspondence between an identifier of the uplink service path and the uplink service path.
  • After obtaining the uplink service path, the controller generates the uplink service path response according to the uplink service path. The uplink service path response carries the uplink service path.
  • The controller establishes the correspondence between the identifier of the uplink service path and the uplink service path. When the identifier of the uplink service path is received, the uplink service path may be obtained from the correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path.
  • Step 405: The classifier receives the uplink service path response sent by the controller, sends the uplink service path and the uplink service flow to a switch, and establishes a correspondence between a user equipment identifier and the identifier of the uplink service path.
  • The step may be as follows: The classifier receives the uplink service path response sent by the controller, obtains the uplink service path, adds the uplink service path to the uplink service flow, and sends, to the switch, the uplink service flow to which the uplink service path is added.
  • Further, the classifier establishes the correspondence between the user equipment identifier and the identifier of the uplink service path. The identifier of the uplink service path may be obtained from the correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier.
  • Step 406: The switch receives the uplink service path and the uplink service flow that are sent by the classifier, and transmits the uplink service flow according to the uplink service path.
  • Specifically, the switch receives the uplink service flow that is sent by the classifier and to which the uplink service path is added, obtains the uplink service path, and sends, according to the uplink service path, the uplink service flow to the service devices on the uplink service path. The service devices on the uplink service path receive the uplink service flow sent by the switch, perform service processing on the uplink service flow, and send a processed uplink service flow to the network server.
  • Step 407: The classifier receives a downlink service flow sent by a network server, and obtains an identifier of a downlink service chain according to the downlink service flow.
  • A first manner or a second manner may be used by the classifier to obtain the identifier of the downlink service chain according to the downlink service flow. The first manner may be as follows:
  • The network server sends the downlink service flow to the classifier. The downlink service flow carries at least the user equipment identifier. The classifier receives the downlink service flow sent by the network server, obtains the user equipment identifier carried in the downlink service flow, and obtains subscription information of the user equipment according to the user equipment identifier. The subscription information of the user equipment includes user-subscribed downlink services. Therefore, user-subscribed downlink service types can be obtained according to the subscription information of the user equipment. The downlink service chain is formed according to the downlink service types. The identifier of the downlink service chain is obtained.
  • The second implementation manner may be as follows:
  • The network server sends the downlink service flow to the classifier. The downlink service flow carries at least the user equipment identifier. The classifier receives the downlink service flow sent by the network server, obtains the user equipment identifier carried in the downlink service flow, and obtains the identifier of the downlink service chain from a correspondence between the user equipment identifier and the identifier of the downlink service chain according to the user equipment identifier.
  • The classifier previously establishes the correspondence between the user equipment identifier and the identifier of the downlink service chain. In addition, the establishing the correspondence between the user equipment identifier and the identifier of the downlink service chain is the same as the establishing the correspondence between the user equipment identifier and the identifier of the uplink service chain in step 401. Details are not described herein again.
  • In this step, the classifier may further obtain the identifier of the uplink service path according to the downlink service flow by using the following steps (1) and (2), including:
  • (1) Obtain the user equipment identifier according to the downlink service flow.
  • The downlink service flow includes at least the user equipment identifier. The user equipment identifier is obtained from the downlink service flow.
  • (2) Obtain the identifier of the uplink service path from the correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier.
  • When obtaining the uplink service path, the classifier establishes the correspondence between the user equipment identifier and the identifier of the uplink service path. Therefore, in this step, the identifier that is of the uplink service path and corresponding to the user equipment identifier is obtained from the correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier.
  • Step 408: The classifier sends a downlink service path request to the controller, where the downlink service path request carries the identifier of the downlink service chain.
  • The downlink service path request may further carry the identifier of the uplink service path.
  • In this embodiment of the present invention, the controller generates a downlink service path. Therefore, when receiving the downlink service flow sent by the network server, the classifier obtains the identifier of the downlink service chain and the identifier of the uplink service path; generates the downlink service path request according to the identifier of the downlink service chain and the identifier of the uplink service path, where the downlink service path request carries the identifier of the downlink service chain and the identifier of the uplink service path; and sends the downlink service path request to the controller.
  • Step 409: The controller receives the downlink service path request sent by the classifier, obtains the identifier of the uplink service path, and obtains, according to the identifier of the uplink service path, identifiers of service devices on the uplink service path.
  • Step 409 may be implemented by using the following steps (1) to (3), including:
  • (1) The controller receives the downlink service path request sent by the classifier, and obtains the identifier of the uplink service path.
  • If the downlink service path request carries the identifier of the uplink service path, the identifier of the uplink service path is obtained from the downlink service path request.
  • If the downlink service path request does not carry the identifier of the uplink service path, the identifier of the uplink service path is obtained from a correspondence between the identifier of the uplink service chain and the identifier of the downlink service path according to the identifier of the downlink service chain.
  • The controller previously establishes the correspondence between the identifier of the uplink service chain and the identifier of the downlink service path.
  • (2) Obtain the uplink service path from the correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path.
  • The correspondence between the identifier of the uplink service path and the uplink service path is established in step 404. In this step, the uplink service path corresponding to the identifier of the uplink service path is obtained from the established correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path.
  • (3) Obtain, according to the uplink service path, the identifiers of service devices on the uplink service path.
  • Step 410: The controller selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain.
  • Step 410 may be implemented by using the following steps (1) and (2), including:
  • (1) Obtain, according to the identifier of the downlink service chain, downlink service types included in the downlink service chain.
  • Specifically, the downlink service chain is obtained according to the identifier of the downlink service chain. The downlink service types included in the downlink service chain are obtained according to the downlink service chain.
  • The controller previously establishes a correspondence between the identifier of the downlink service chain and the downlink service chain. Correspondingly, the step of obtaining the downlink service chain according to the identifier of the downlink service chain may be: obtaining, from the correspondence between the identifier of the downlink service chain and the downlink service chain according to the identifier of the downlink service chain, the downlink service chain corresponding to the identifier of the downlink service chain.
  • The downlink service chain includes the downlink service types. The downlink service types included in the downlink service chain may be obtained according to the downlink service chain.
  • (2) Select, according to the downlink service types and from the identifiers of service devices on the uplink service path, identifiers of service devices corresponding to the downlink service types.
  • Step 411: The controller generates a downlink service path according to the selected identifier of the service device, and sends a downlink service path response to the classifier, where the downlink service path response carries the downlink service path.
  • The controller may generate the downlink service path according to the selected identifier of the service device by using the following steps (1) to (3), including:
  • (1) Remove, from the downlink service types included in the downlink service chain, service types corresponding to the selected service devices, to obtain remaining service types.
  • Specifically, the service types corresponding to the selected service devices are obtained according to the selected identifier of the service device, and the service types corresponding to the selected service devices are removed from the downlink service types included in the downlink service chain, to obtain the remaining service types.
  • (2) Obtain identifiers of service devices corresponding to the remaining service types.
  • Specifically, identifiers of service devices are randomly selected according to the remaining service types and from the identifiers of service devices corresponding to the remaining service types.
  • (3) Form the downlink service path according to the selected identifiers of downlink service devices and the identifiers of service devices corresponding to the remaining service types.
  • It should be noted that if the downlink service types included in the downlink service chain are the same as the uplink service types included in the uplink service chain, the downlink service path is formed according to the selected identifier of the service device.
  • Step 412: The classifier receives the downlink service path response sent by the controller, and sends the downlink service path and the downlink service flow to the switch.
  • Specifically, the classifier receives the downlink service path response sent by the controller, obtains the downlink service path from the downlink service path response, adds the downlink service path to the downlink service flow, and sends, to the switch, the downlink service flow to which the downlink service path is added.
  • Step 413: The switch receives the downlink service path and the downlink service flow that are sent by the classifier, and transmits the downlink service flow according to the downlink service path.
  • Specifically, the switch receives the downlink service flow that is sent by the classifier and to which the downlink service path is added, obtains the downlink service path from the downlink service flow to which the downlink service path is added, obtains the identifiers of service devices on the downlink service path, and sends the downlink service flow to service devices on the downlink service path. The service devices on the downlink service path receive the downlink service flow sent by the switch, perform service processing on the downlink service flow, and send a processed downlink service flow to the user equipment.
  • In this embodiment of the present invention, a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • Embodiment 5
  • Based on Embodiment 3, Embodiment 5 of the present invention provides a service path generation method.
  • To meet a higher-level information need of a user, network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service. In a process in which user equipment sends an uplink service flow to a network server, the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller. The controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path. In a process in which the network server sends a downlink service flow to the user equipment, the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller. To avoid transmission interruption of the downlink service flow, the controller generates a service path according to the downlink service path request by using the method provided in this embodiment of the present invention.
  • The classifier is a device that identifies and classifies a service flow. For example, the classifier may be a PCEF, a PGW, or the like. The controller is a device that generates a service path. For example, the controller may be an MME or the like. The uplink service path includes identifiers of service devices. The uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow. The downlink service path includes identifiers of service devices. The downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • A service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall->NAT address translation, the service chain may be antivirus->firewall->NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain. The service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device 2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path. The identifier of the service path may be a sequence of the service devices on the service path, or the like. The uplink service flow is network data uploaded to the network server. The downlink service flow is network data downloaded from the network server. Service flow information is information used to describe a service flow. For example, the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • In this embodiment of the present invention, in a process in which a classifier receives a downlink service flow sent by a network server, the classifier sends a downlink service path request to a controller. The downlink service path request carries an identifier of a downlink service chain and uplink service flow information. The classifier obtains, from the downlink service path request, the identifier of the downlink service chain and the uplink service flow information, and obtains, according to the uplink service flow information, identifiers of service devices on the uplink service path; and selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain, and generates a downlink service path according to the selected identifier of the service device.
  • Referring to FIG. 5A and FIG. 5B, the method includes the following steps.
  • Step 501: A classifier receives an uplink service flow sent by user equipment, and obtains an identifier of an uplink service chain and uplink service flow information according to the uplink service flow.
  • When the user equipment sends the uplink service flow to a network server, the user equipment sends the uplink service flow to the classifier. The classifier generates an uplink service path, and sends the uplink service flow to uplink service devices on the uplink service path. The uplink service devices perform service processing on the uplink service flow and send a processed uplink service flow to the network server.
  • Step 501 may be implemented in a first manner or a second manner. The first manner may be as follows:
  • The user equipment sends the uplink service flow to the classifier. The uplink service flow carries at least a user equipment identifier and the uplink service flow information. The classifier receives the uplink service flow sent by the user equipment, obtains the user equipment identifier and the uplink service flow information that are carried in the uplink service flow, and obtains subscription information of the user equipment according to the user equipment identifier. The subscription information of the user equipment includes user-subscribed uplink services. Therefore, user-subscribed uplink service types can be obtained from the subscription information of the user equipment. The uplink service chain is formed according to the uplink service types. The identifier of the uplink service chain is obtained.
  • For example, user-subscribed uplink services are an antivirus service, a firewall service, and a NAT address translation service. Service types obtained from the subscription information of the user equipment are an antivirus type, a firewall type, and a NAT address translation type. Antivirus type->firewall type->NAT address translation type forms an uplink service chain. An identifier of the uplink service chain, for example, 1, is obtained.
  • The classifier previously obtains each user equipment identifier and subscription information of each user equipment, and establishes a correspondence between each user equipment identifier and the subscription information of each user equipment. Correspondingly, the step of obtaining subscription information of the user equipment according to the user equipment identifier may be: obtaining the subscription information corresponding to the user equipment from a correspondence between the user equipment identifier and the subscription information of the user equipment according to the user equipment identifier.
  • The user equipment may be a GUID of the user equipment, or the like.
  • The second implementation method may be as follows:
  • The user equipment sends the uplink service flow to the classifier. The uplink service flow carries at least a user equipment identifier and the uplink service flow information. The classifier receives the uplink service flow sent by the user equipment, obtains the user equipment identifier and the uplink service flow information that are carried in the downlink service flow, and obtains the identifier of the uplink service chain from a correspondence between the user equipment identifier and the identifier of the uplink service chain according to the user equipment identifier.
  • The classifier previously establishes the correspondence between the user equipment identifier and the identifier of the uplink service chain by using the following steps, including:
  • When the user equipment is attached to a network, a PCRF obtains subscription information of the user equipment according to the user equipment identifier. The subscription information of the user equipment includes user-subscribed uplink services. Therefore, uplink service types can be obtained according to the subscription information of the user equipment. The uplink service chain is formed according to the uplink service types. The identifier of the uplink service chain is obtained. The user equipment identifier and the identifier of the uplink service chain are sent to the classifier. The classifier receives the user equipment identifier and the identifier of the uplink service chain that are sent by the PCRF, and establishes the correspondence between the user equipment identifier and the identifier of the uplink service chain.
  • Step 502: The classifier sends an uplink service path request to a controller, where the uplink service path request carries the identifier of the uplink service chain and the uplink service flow information.
  • Specifically, the classifier generates the uplink service path request according to the identifier of the uplink service chain and the uplink service flow information, where the uplink service path request carries the identifier of the uplink service chain and the uplink service flow information; and sends the uplink service path request to the controller, so that the controller generates the uplink service path.
  • Step 503: The controller receives the uplink service path request sent by the classifier, and obtains an uplink service path according to the uplink service path request.
  • Step 503 may be implemented by using the following steps (1) to (3), including:
  • (1) The controller obtains the identifier of the uplink service chain and the uplink service flow information according to the uplink service path request, and obtains, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain.
  • Specifically, the controller obtains the identifier of the uplink service chain and the uplink service flow information according to the uplink service path request, obtains the uplink service chain according to the identifier of the uplink service chain, and obtains, according to the uplink service chain, the uplink service types included in the uplink service chain.
  • The controller previously establishes a correspondence between the identifier of the uplink service chain and the uplink service chain. Correspondingly, the step of obtaining the uplink service chain according to the identifier of the uplink service chain may be: obtaining, from the correspondence between the identifier of the uplink service chain and the uplink service chain according to the identifier of the uplink service chain, the uplink service chain corresponding to the identifier of the uplink service chain.
  • (2) Calculate, according to a preset algorithm and the uplink service flow information, identifiers of service devices on the uplink service path.
  • The preset algorithm may be set and changed as required. In this embodiment of the present invention, no specific limitation is set on the preset algorithm. If the preset algorithm is a hash operation or an MD5 (Message Digest Algorithm MD5, message digest algorithm 5) algorithm, the step (2) may be:
  • performing the hash operation on the uplink service flow information to obtain a hash result, and selecting, in a load balancing manner according to the hash result, the identifiers of service devices on the uplink service path.
  • It should be noted that the identifiers of the service devices on the uplink service path that are obtained by means of calculation according to the preset algorithm and the uplink service flow information are an identifier of each service device, that is, only the identifiers of the service devices are obtained, and step (3) needs to be performed to select an identifier of a service device according to an uplink service type.
  • For example, the identifiers of the service devices on the uplink service path that are obtained by means of calculation according to the preset algorithm and the service flow information are 1. Then, an identifier of each service device is 1, and an identifier of a service device needs to be selected according to a service type.
  • (3) Select identifiers of service devices according to the uplink service types included in the uplink service chain and the identifiers of service devices on the uplink service path, and form the uplink service path according to the selected identifier of the service device.
  • Each service type is corresponding to at least one service device. The controller selects, according to the uplink service types and from the identifiers of the service device corresponding to the service types, the identifiers of service devices on the uplink service path, and forms the uplink service path according to the selected identifier of the service device.
  • For example, if the identifiers of the service devices are 1, and the uplink service types are a firewall type and an antivirus type, a firewall device 1 is selected from devices corresponding to the firewall type, an antivirus device 1 is selected from devices corresponding to the antivirus type, and the firewall device 1 and the antivirus device 1 form the uplink service path.
  • Step 504: The controller sends an uplink service path response to the classifier, where the uplink service path response carries the uplink service path.
  • After obtaining the uplink service path, the controller generates the uplink service path response according to the uplink service path. The uplink service path response carries the uplink service path.
  • Step 505: The classifier receives the uplink service path response sent by the controller, and sends the uplink service path and the uplink service flow to a switch.
  • The step may be as follows: The classifier receives the uplink service path response sent by the controller, obtains the uplink service path, adds the uplink service path to the uplink service flow, and sends, to the switch, the uplink service flow to which the uplink service path is added.
  • Step 506: The switch receives the uplink service path and the uplink service flow that are sent by the classifier, and transmits the uplink service flow according to the uplink service path.
  • Specifically, the switch receives the uplink service flow that is sent by the classifier and to which the uplink service path is added, obtains the uplink service path, and sends, according to the uplink service path, the uplink service flow to the service devices on the uplink service path. The service devices on the uplink service path receive the uplink service flow sent by the switch, perform service processing on the uplink service flow, and send a processed uplink service flow to the network server.
  • Step 507: The classifier receives a downlink service flow sent by a network server, and obtains an identifier of a downlink service chain and the uplink service flow information according to the downlink service flow.
  • A first manner or a second manner may be used by the classifier to obtain the identifier of the downlink service chain according to the downlink service flow. The first manner may be as follows:
  • The network server sends the downlink service flow to the classifier. The downlink service flow carries at least the user equipment identifier. The classifier receives the downlink service flow sent by the network server, obtains the user equipment identifier carried in the downlink service flow, and obtains subscription information of the user equipment according to the user equipment identifier. The subscription information of the user equipment includes user-subscribed downlink services. Therefore, user-subscribed downlink service types can be obtained according to the subscription information of the user equipment. The downlink service chain is formed according to the downlink service types. The identifier of the downlink service chain is obtained.
  • The second implementation manner may be as follows:
  • The network server sends the downlink service flow to the classifier. The downlink service flow carries at least the user equipment identifier. The classifier receives the downlink service flow sent by the network server, obtains the user equipment identifier carried in the downlink service flow, and obtains the identifier of the downlink service chain from a correspondence between the user equipment identifier and the identifier of the downlink service chain according to the user equipment identifier.
  • The classifier previously establishes the correspondence between the user equipment identifier and the identifier of the downlink service chain. In addition, the establishing the correspondence between the user equipment identifier and the identifier of the downlink service chain is the same as the establishing the correspondence between the user equipment identifier and the identifier of the uplink service chain in step 501. Details are not described herein again.
  • The classifier may obtain the uplink service flow information according to the downlink service flow by using the following steps (1) and (2), including:
  • (1) Obtain downlink service flow information according to the downlink service flow.
  • The downlink service flow carries the downlink service flow information. The downlink service flow information carried in the downlink service flow is obtained from the downlink service flow.
  • (2) Obtain the uplink service flow information according to the downlink service flow information.
  • Specifically, inverse processing is performed on the downlink service flow information to obtain the uplink service flow information.
  • For example, the downlink service flow information is a quintet of the downlink service flow. Inverse processing is performed on the quintet of the downlink service flow to obtain a quintet of the uplink service flow.
  • Step 508: The classifier sends a downlink service path request to the controller, where the downlink service path request carries the identifier of the downlink service chain and the uplink service flow information.
  • In this embodiment of the present invention, the controller generates a downlink service path. Therefore, when receiving the downlink service flow sent by the network server, the classifier obtains the identifier of the downlink service chain and the uplink service flow information; generates the downlink service path request according to the identifier of the downlink service chain and the uplink service flow information, where the downlink service path request carries the identifier of the downlink service chain and the uplink service flow information; and sends the downlink service path request to the controller.
  • Step 509: The controller receives the downlink service path request sent by the classifier, and obtains, according to the uplink service flow information, identifiers of service devices on the uplink service path.
  • (1) The controller receives the downlink service path request sent by the classifier, and obtains the uplink service flow information included in the downlink service path request.
  • (2) Obtain, according to the uplink service flow information, the identifiers of service devices on the uplink service path.
  • Specifically, the identifiers of service devices on the uplink service path are calculated according to the preset algorithm and the uplink service flow information.
  • The preset algorithm may be set and changed as required. In this embodiment of the present invention, no specific limitation is set on the preset algorithm. If the preset algorithm is a hash operation or an MD5 algorithm, the step (2) may be:
  • performing the hash operation on the uplink service flow information to obtain a hash result, and selecting, in a load balancing manner according to the hash result, the identifiers of service devices on the uplink service path.
  • Step 510: The controller selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain.
  • Step 510 may be implemented by using the following steps (1) and (2), including:
  • (1) Obtain, according to the identifier of the downlink service chain, downlink service types included in the downlink service chain.
  • Specifically, the downlink service chain is obtained according to the identifier of the downlink service chain. The downlink service types included in the downlink service chain are obtained according to the downlink service chain.
  • The controller previously establishes a correspondence between the identifier of the downlink service chain and the downlink service chain. Correspondingly, the step of obtaining the downlink service chain according to the identifier of the downlink service chain may be: obtaining, from the correspondence between the identifier of the downlink service chain and the downlink service chain according to the identifier of the downlink service chain, the downlink service chain corresponding to the identifier of the downlink service chain.
  • The downlink service chain includes the downlink service types. The downlink service types included in the downlink service chain may be obtained according to the downlink service chain.
  • (2) Select, according to the downlink service types and from the identifiers of service devices on the uplink service path, identifiers of service devices corresponding to the downlink service types.
  • Step 511: The controller generates a downlink service path according to the selected identifier of the service device, and sends a downlink service path response to the classifier, where the downlink service path response carries the downlink service path.
  • The controller may generate the downlink service path according to the selected identifier of the service device by using the following steps (1) to (3), including:
  • (1) Remove, from the downlink service types included in the downlink service chain, service types corresponding to the selected service devices, to obtain remaining service types.
  • Specifically, the service types corresponding to the selected service devices are obtained according to the selected identifier of the service device. The service types corresponding to the selected service devices are removed from the service types included in the downlink service chain, to obtain the remaining service types.
  • (2) Obtain identifiers of service devices corresponding to the remaining service types.
  • Specifically, identifiers of service devices are randomly selected according to the remaining service types and from the identifiers of service devices corresponding to the remaining service types.
  • (3) Form the downlink service path according to the selected identifiers of downlink service devices and the identifiers of service devices corresponding to the remaining service types.
  • It should be noted that if the downlink service types included in the downlink service chain are the same as the uplink service types included in the uplink service chain, the downlink service path is formed according to the selected identifier of the service device.
  • Step 512: The classifier receives the downlink service path response sent by the controller, and sends the downlink service path and the downlink service flow to the switch.
  • Specifically, the classifier receives the downlink service path response sent by the controller, obtains the downlink service path from the downlink service path response, adds the downlink service path to the downlink service flow, and sends, to the switch, the downlink service flow to which the downlink service path is added.
  • Step 513: The switch receives the downlink service path and the downlink service flow that are sent by the classifier, and transmits the downlink service flow according to the downlink service path.
  • Specifically, the switch receives the downlink service flow that is sent by the classifier and to which the downlink service path is added, obtains the downlink service path from the downlink service flow to which the downlink service path is added, obtains the identifiers of service devices on the downlink service path, and sends the downlink service flow to service devices on the downlink service path. The service devices on the downlink service path receive the downlink service flow sent by the switch, perform service processing on the downlink service flow, and send a processed downlink service flow to the user equipment.
  • In this embodiment of the present invention, a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • Embodiment 6
  • Referring to Embodiment 4 and Embodiment 5, this embodiment of the present invention provides a service path generation apparatus.
  • To meet a higher-level information need of a user, network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service. In a process in which user equipment sends an uplink service flow to a network server, the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller. The controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path. In a process in which the network server sends a downlink service flow to the user equipment, the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller. To avoid transmission interruption of the downlink service flow, the controller generates a service path according to the downlink service path request by using the method provided in the embodiments of the present invention.
  • The classifier is a device that identifies and classifies a service flow. For example, the classifier may be a PCEF, a PGW, or the like. The controller is a device that generates a service path. For example, the controller may be an MME or the like. The uplink service path includes identifiers of service devices. The uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow. The downlink service path includes identifiers of service devices. The downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • A service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall->NAT address translation, the service chain may be antivirus->firewall->NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain. The service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device 2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path. The identifier of the service path may be a sequence of the service devices on the service path, or the like. The uplink service flow is network data uploaded to the network server. The downlink service flow is network data downloaded from the network server. Service flow information is information used to describe a service flow. For example, the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • Referring to FIG. 6, the apparatus includes: a first memory 601; and a first processor 602, configured to execute the following service path generation method:
  • receiving a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain;
  • obtaining uplink service path information, and obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path;
  • selecting, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and
  • generating a downlink service path according to the selected identifier of the service device.
  • Preferably, the uplink service path information is an identifier of the uplink service path.
  • The obtaining uplink service path information includes:
  • obtaining the identifier of the uplink service path from the downlink service path request, where the downlink service path request carries the identifier of the uplink service path; or obtaining the identifier of the uplink service path from a correspondence between the identifier of the downlink service chain and the identifier of the uplink service path according to the identifier of the downlink service chain.
  • Preferably, the uplink service path information is the identifier of the uplink service path.
  • The obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path includes:
  • obtaining the uplink service path from a correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path; and
  • obtaining, according to the uplink service path, the identifiers of service devices on the uplink service path.
  • Preferably, the uplink service path information is uplink service flow information.
  • The obtaining uplink service path information includes:
  • obtaining the uplink service flow information from the downlink service path request, where the downlink service path request carries the uplink service flow information.
  • Preferably, the uplink service path information is the uplink service flow information.
  • The obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path includes:
  • calculating, according to a preset algorithm and the uplink service flow information, the identifiers of service devices on the uplink service path.
  • Preferably, the selecting, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain includes:
  • obtaining, according to the identifier of the downlink service chain, downlink service types included in the downlink service chain; and
  • selecting, according to the downlink service types and from the identifiers of service devices on the uplink service path, identifiers of service devices corresponding to the downlink service types.
  • Preferably, the generating a downlink service path according to the selected identifier of the service device includes:
  • removing, from the downlink service types included in the downlink service chain, service types corresponding to the selected identifiers of the service devices, to obtain remaining service types;
  • obtaining identifiers of service devices corresponding to the remaining service types;
  • forming the downlink service path according to the selected identifiers of downlink service devices and the identifiers of service devices corresponding to the remaining service types.
  • Preferably, the method further includes:
  • receiving an uplink service path request sent by the classifier, where the uplink service path request carries an identifier of an uplink service chain;
  • obtaining the uplink service path according to the identifier of the uplink service chain; and
  • obtaining the identifier of the uplink service path, and establishing the correspondence between the identifier of the uplink service path and the uplink service path.
  • Preferably, the obtaining the uplink service path according to the identifier of the uplink service chain includes:
  • obtaining, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain;
  • selecting, from service devices corresponding to the service types, service devices according to the uplink service types included in the uplink service chain; and
  • forming the uplink service path according to the selected service devices.
  • Preferably, the obtaining the uplink service path according to the identifier of the uplink service chain includes:
  • obtaining, according to the identifier of the uplink service chain, uplink service types included in the uplink service chain;
  • obtaining the uplink service flow information, and obtaining, according to the uplink service flow information, the identifiers of service devices on the uplink service path;
  • selecting service devices according to the uplink service types included in the uplink service chain and the identifiers of service devices on the uplink service path; and
  • forming the uplink service path according to the selected service devices.
  • In this embodiment of the present invention, a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • Embodiment 7
  • Referring to Embodiment 4 and Embodiment 5, this embodiment of the present invention provides a service path generation apparatus.
  • To meet a higher-level information need of a user, network operators provide the user with various services, such as an antivirus service, a firewall service, an application cache and acceleration service, a web optimization service, and a NAT service. In a process in which user equipment sends an uplink service flow to a network server, the user equipment sends the uplink service flow to a classifier, and the classifier sends an uplink service path request to a controller. The controller generates an uplink service path for the uplink service flow, and establishes a correspondence between an identifier of the uplink service path and the uplink service path. In a process in which the network server sends a downlink service flow to the user equipment, the network server sends the downlink service flow to the classifier, and the classifier sends a downlink service path request to the controller. To avoid transmission interruption of the downlink service flow, the controller generates a service path according to the downlink service path request by using the method provided in the embodiments of the present invention.
  • The classifier is a device that identifies and classifies a service flow. For example, the classifier may be a PCEF, a PGW, or the like. The controller is a device that generates a service path. For example, the controller may be an MME or the like. The uplink service path includes identifiers of service devices. The uplink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the uplink service path, and the service devices corresponding to the identifiers of service devices on the uplink service path perform service processing on the uplink service flow. The downlink service path includes identifiers of service devices. The downlink service flow needs to be transmitted by using service devices corresponding to the identifiers of service devices on the downlink service path, and the service devices corresponding to the identifiers of service devices on the downlink service path perform service processing on the downlink service flow.
  • A service chain indicates service types that a service flow needs to pass through and a sequence for passing through the service types. For example, if the service flow passes through antivirus->firewall->NAT address translation, the service chain may be antivirus->firewall->NAT address translation. An identifier of the service chain is used to uniquely identify the service chain. The identifier of the service chain may be a sequence of the service types included in the service chain. The service path indicates service devices that the service flow needs to pass through and a sequence for passing through the service devices. For example, if the service flow passes through service devices: antivirus device 1->firewall device 2->NAT address translation device 2, the service path may be antivirus device 1->firewall device 2->NAT address translation device 2. An identifier of the service path is used to uniquely identify the service path. The identifier of the service path may be a sequence of the service devices on the service path, or the like. The uplink service flow is network data uploaded to the network server. The downlink service flow is network data downloaded from the network server. Service flow information is information used to describe a service flow. For example, the service flow information is a source address and a destination address of the service flow, triplet information or quintet information of the service flow, or the like.
  • Referring to FIG. 7, the apparatus includes: a second memory 701; and a second processor 702, configured to execute the following service path generation method:
  • receiving a downlink service flow sent by a network server;
  • obtaining an identifier of a downlink service chain according to the downlink service flow;
  • sending a downlink service path request to a controller, where the downlink service path request carries the identifier of the downlink service chain, so that the controller selects, from service devices on an uplink service path, service devices according to the identifier of the downlink service chain, and generates a downlink service path according to the selected service devices; and
  • receiving the downlink service path sent by the controller.
  • Preferably, the downlink service path request further carries uplink service path information, and the method further includes:
  • obtaining a user equipment identifier from the downlink service flow; and
  • obtaining an identifier of the uplink service path from a correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier, where the identifier of the uplink service path is the uplink service path information.
  • Preferably, the downlink service path request further carries uplink service path information, and the method further includes:
  • obtaining downlink service flow information according to the downlink service flow; and
  • obtaining uplink service flow information according to the downlink service flow information, where the uplink service flow information is the uplink service path information.
  • Preferably, the method further includes:
  • receiving an uplink service flow sent by user equipment;
  • obtaining the identifier of the uplink service path according to the uplink service flow; and
  • establishing the correspondence between the user equipment identifier and the identifier of the uplink service path.
  • Preferably, the obtaining the identifier of the uplink service path according to the uplink service flow includes:
  • obtaining the uplink service flow information and an identifier of an uplink service chain according to the uplink service flow, obtaining, according to the uplink service flow information, identifiers of service devices on the uplink service path, generating the uplink service path according to the identifiers of service devices on the uplink service path and the identifier of the uplink service chain, and obtaining the identifier of the uplink service path from a correspondence between the uplink service path and the identifier of the uplink service path according to the uplink service path; or
  • obtaining an identifier of an uplink service chain according to the uplink service flow, and obtaining the identifier of the uplink service path from a correspondence between the identifier of the uplink service chain and the identifier of the uplink service path according to the identifier of the uplink service chain.
  • In this embodiment of the present invention, a controller receives a downlink service path request sent by a classifier, where the downlink service path request carries an identifier of a downlink service chain; obtains uplink service path information, and obtains, according to the uplink service path information, identifiers of service devices on the uplink service path; selects, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and generates a downlink service path according to the selected identifier of the service device. Therefore, it is ensured that for a same service type, an identifier of a service device on a downlink service path is the same as an identifier of a service device on an uplink service path, thereby ensuring that a downlink service flow can be successfully transmitted.
  • A person of ordinary skill in the art may understand that all or some of the steps of the foregoing embodiments may be implemented by using hardware or a program instructing related hardware. The program may be stored in a computer-readable storage medium. The above-described storage medium may be a read-only memory, a magnetic disk, an optical disc, or the like.
  • The foregoing descriptions are merely examples of embodiments of the present invention, but are not intended to limit the present invention. Any modification, equivalent replacement, improvement, and the like made without departing from the spirit and principle of the present invention shall fall within the protection scope of the present invention.

Claims (16)

What is claimed is:
1. A service path generation apparatus, comprising:
a first receiving module, configured to receive a downlink service path request sent by a classifier, wherein the downlink service path request carries an identifier of a downlink service chain; and
a first processing module, configured to:
obtain uplink service path information, and obtain, according to the uplink service path information, identifiers of service devices on the uplink service path,
select, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain, and
generate a downlink service path according to the selected identifier of the service device.
2. The apparatus according to claim 1, wherein:
the uplink service path information is an identifier of the uplink service path; and
the first processing module is configured to:
obtain the identifier of the uplink service path from the downlink service path request, wherein the downlink service path request carries the identifier of the uplink service path, or
obtain the identifier of the uplink service path from a correspondence between the identifier of the downlink service chain and the identifier of the uplink service path according to the identifier of the downlink service chain.
3. The apparatus according to claim 1, wherein:
the uplink service path information is the identifier of the uplink service path; and
the first processing module is configured to:
obtain the uplink service path from a correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path, and
obtain, according to the uplink service path, the identifiers of service devices on the uplink service path.
4. The apparatus according to claim 1, wherein:
the uplink service path information is uplink service flow information; and
the first processing module is configured to obtain the uplink service flow information from the downlink service path request, wherein the downlink service path request carries the uplink service flow information.
5. The apparatus according to claim 1, wherein the first processing module is configured to:
obtain, according to the identifier of the downlink service chain, downlink service types comprised in the downlink service chain; and
select, according to the downlink service types and from the identifiers of service devices on the uplink service path, identifiers of service devices corresponding to the downlink service types.
6. The apparatus according to claim 1, wherein:
the first receiving module is further configured to receive an uplink service path request sent by the classifier, wherein the uplink service path request carries an identifier of an uplink service chain; and
the first processing module is further configured to:
obtain the uplink service path according to the identifier of the uplink service chain, and
obtain the identifier of the uplink service path, and establish the correspondence between the identifier of the uplink service path and the uplink service path.
7. A service path generation apparatus, comprising:
a second receiving module, configured to receive a downlink service flow sent by a network server;
a second processing module, configured to obtain an identifier of a downlink service chain according to the downlink service flow;
a second sending module, configured to send a downlink service path request to a controller, wherein the downlink service path request carries the identifier of the downlink service chain, so that the controller selects, from service devices comprised in an uplink service path, service devices according to the identifier of the downlink service chain, and generates a downlink service path according to the selected service devices and
wherein the second receiving module is further configured to receive the downlink service path sent by the controller.
8. The apparatus according to claim 7, wherein:
the downlink service path request further carries uplink service path information; and
the second processing module is further configured to:
obtain a user equipment identifier from the downlink service flow, and
obtain an identifier of the uplink service path from a correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier, wherein the identifier of the uplink service path is the uplink service path information.
9. The apparatus according to claim 7, wherein:
the downlink service path request further carries uplink service path information; and
the second processing module is further configured to:
obtain downlink service flow information according to the downlink service flow, and
obtain uplink service flow information according to the downlink service flow information, wherein the uplink service flow information is the uplink service path information.
10. A service path generation method, comprising:
receiving a downlink service path request sent by a classifier, wherein the downlink service path request carries an identifier of a downlink service chain;
obtaining uplink service path information, and obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path;
selecting, from the identifiers of service devices on the uplink service path, an identifier of a service device according to the identifier of the downlink service chain; and
generating a downlink service path according to the selected identifier of the service device.
11. The method according to claim 10, wherein:
the uplink service path information is an identifier of the uplink service path; and
obtaining uplink service path information comprises:
obtaining the identifier of the uplink service path from the downlink service path request, wherein the downlink service path request carries the identifier of the uplink service path, or
obtaining the identifier of the uplink service path from a correspondence between the identifier of the downlink service chain and the identifier of the uplink service path according to the identifier of the downlink service chain.
12. The method according to claim 10, wherein:
the uplink service path information is the identifier of the uplink service path; and
obtaining, according to the uplink service path information, identifiers of service devices on the uplink service path comprises:
obtaining the uplink service path from a correspondence between the identifier of the uplink service path and the uplink service path according to the identifier of the uplink service path, and
obtaining, according to the uplink service path, the identifiers of service devices on the uplink service path.
13. The method according to claim 10, wherein:
the uplink service path information is uplink service flow information; and
obtaining uplink service path information comprises:
obtaining the uplink service flow information from the downlink service path request, wherein the downlink service path request carries the uplink service flow information.
14. A service path generation method, comprising:
receiving a downlink service flow sent by a network server;
obtaining an identifier of a downlink service chain according to the downlink service flow;
sending a downlink service path request to a controller, wherein the downlink service path request carries the identifier of the downlink service chain, so that the controller selects, from service devices comprised in an uplink service path, service devices according to the identifier of the downlink service chain, and generates a downlink service path according to the selected service devices; and
receiving the downlink service path sent by the controller.
15. The method according to claim 14, wherein the downlink service path request further carries uplink service path information, and the method further comprises:
obtaining a user equipment identifier from the downlink service flow; and
obtaining an identifier of the uplink service path from a correspondence between the user equipment identifier and the identifier of the uplink service path according to the user equipment identifier, wherein the identifier of the uplink service path is the uplink service path information.
16. The method according to claim 14, wherein the downlink service path request further carries uplink service path information, and the method further comprises:
obtaining downlink service flow information according to the downlink service flow; and
obtaining uplink service flow information according to the downlink service flow information, wherein the uplink service flow information is the uplink service path information.
US15/473,379 2014-09-30 2017-03-29 Service path generation method and apparatus Active 2034-12-20 US10390285B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/087946 WO2016049853A1 (en) 2014-09-30 2014-09-30 Method and apparatus for generating service path

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/087946 Continuation WO2016049853A1 (en) 2014-09-30 2014-09-30 Method and apparatus for generating service path

Publications (2)

Publication Number Publication Date
US20170208532A1 true US20170208532A1 (en) 2017-07-20
US10390285B2 US10390285B2 (en) 2019-08-20

Family

ID=55629280

Family Applications (1)

Application Number Title Priority Date Filing Date
US15/473,379 Active 2034-12-20 US10390285B2 (en) 2014-09-30 2017-03-29 Service path generation method and apparatus

Country Status (7)

Country Link
US (1) US10390285B2 (en)
EP (1) EP3190750B1 (en)
JP (1) JP6481909B2 (en)
KR (1) KR20170061162A (en)
CN (1) CN107078948B (en)
BR (1) BR112017006377A2 (en)
WO (1) WO2016049853A1 (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11042397B2 (en) 2019-02-22 2021-06-22 Vmware, Inc. Providing services with guest VM mobility
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11212356B2 (en) 2020-04-06 2021-12-28 Vmware, Inc. Providing services at the edge of a network using selected virtual tunnel interfaces
US11223494B2 (en) 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11265187B2 (en) 2018-01-26 2022-03-01 Nicira, Inc. Specifying and utilizing paths through a network
US11272555B2 (en) * 2017-10-17 2022-03-08 Huawei Technologies Co., Ltd. Data transmission channel processing method, apparatus, and system
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11296930B2 (en) 2014-09-30 2022-04-05 Nicira, Inc. Tunnel-enabled elastic service model
US11405431B2 (en) 2015-04-03 2022-08-02 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US11438267B2 (en) 2013-05-09 2022-09-06 Nicira, Inc. Method and system for service switching using service tags
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11722367B2 (en) 2014-09-30 2023-08-08 Nicira, Inc. Method and apparatus for providing a service with a plurality of service nodes
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11750476B2 (en) 2017-10-29 2023-09-05 Nicira, Inc. Service operation chaining
US11805036B2 (en) 2018-03-27 2023-10-31 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020136742A (en) * 2019-02-13 2020-08-31 日本電信電話株式会社 Communication control method

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102036132B (en) * 2009-09-30 2013-04-24 华为技术有限公司 Method, device and system for allocating time slot port number
JP5424818B2 (en) * 2009-10-30 2014-02-26 三菱電機株式会社 Route control method, node, and communication system
CN102404192B (en) * 2010-09-17 2014-12-24 华为终端有限公司 Message transmission method and network equipment
JP5897699B2 (en) 2012-03-02 2016-03-30 富士通株式会社 Terminal, route generation method, and route generation program
CN104205943B (en) * 2012-03-05 2018-03-09 富士通株式会社 Communication system and communication means
US10097452B2 (en) * 2012-04-16 2018-10-09 Telefonaktiebolaget Lm Ericsson (Publ) Chaining of inline services using software defined networking
KR20150030644A (en) * 2012-05-22 2015-03-20 록스타 컨소시엄 유에스 엘피 Tie-breaking in shortest path determination
JP5758354B2 (en) * 2012-07-04 2015-08-05 株式会社Nttドコモ Wireless communication system
US20140126445A1 (en) * 2012-11-07 2014-05-08 Qualcomm Incorporated Apparatus and method for dcch-aligned receive diversity
CN103974429B (en) * 2013-02-05 2018-03-16 电信科学技术研究院 A kind of path establishment method and equipment of the adjacent communication of terminal room
US9450817B1 (en) * 2013-03-15 2016-09-20 Juniper Networks, Inc. Software defined network controller
CN103179311A (en) * 2013-03-26 2013-06-26 华为终端有限公司 Facsimile transmission method and device
US9258243B2 (en) * 2013-05-10 2016-02-09 Cisco Technology, Inc. Symmetric service chain binding
CN103812778B (en) * 2014-02-21 2017-06-27 华为技术有限公司 Flow table item generation method and device
CN103905447B (en) * 2014-04-01 2017-06-27 华为技术有限公司 Service link selects control method and equipment
US9398486B2 (en) * 2014-06-10 2016-07-19 Cisco Technology, Inc. Conveying subscriber information to service chain services using tunnel protocol header encapsulation for mobile network applications in a network environment
JP2017518710A (en) * 2014-06-17 2017-07-06 華為技術有限公司Huawei Technologies Co.,Ltd. Service flow processing method, apparatus, and device
CN104022951B (en) * 2014-06-18 2018-03-23 中国人民解放军信息工程大学 A kind of method for building up and system in network service path
CN107078957B (en) * 2014-09-19 2021-04-09 诺基亚通信公司 Linking of network service functions in a communication network

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11805056B2 (en) 2013-05-09 2023-10-31 Nicira, Inc. Method and system for service switching using service tags
US11438267B2 (en) 2013-05-09 2022-09-06 Nicira, Inc. Method and system for service switching using service tags
US11722367B2 (en) 2014-09-30 2023-08-08 Nicira, Inc. Method and apparatus for providing a service with a plurality of service nodes
US11496606B2 (en) 2014-09-30 2022-11-08 Nicira, Inc. Sticky service sessions in a datacenter
US11296930B2 (en) 2014-09-30 2022-04-05 Nicira, Inc. Tunnel-enabled elastic service model
US11405431B2 (en) 2015-04-03 2022-08-02 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US11272555B2 (en) * 2017-10-17 2022-03-08 Huawei Technologies Co., Ltd. Data transmission channel processing method, apparatus, and system
US11750476B2 (en) 2017-10-29 2023-09-05 Nicira, Inc. Service operation chaining
US11265187B2 (en) 2018-01-26 2022-03-01 Nicira, Inc. Specifying and utilizing paths through a network
US11805036B2 (en) 2018-03-27 2023-10-31 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
US11360796B2 (en) 2019-02-22 2022-06-14 Vmware, Inc. Distributed forwarding for performing service chain operations
US11467861B2 (en) 2019-02-22 2022-10-11 Vmware, Inc. Configuring distributed forwarding for performing service chain operations
US11074097B2 (en) 2019-02-22 2021-07-27 Vmware, Inc. Specifying service chains
US11288088B2 (en) 2019-02-22 2022-03-29 Vmware, Inc. Service control plane messaging in service data plane
US11294703B2 (en) 2019-02-22 2022-04-05 Vmware, Inc. Providing services by using service insertion and service transport layers
US11249784B2 (en) * 2019-02-22 2022-02-15 Vmware, Inc. Specifying service chains
US11301281B2 (en) 2019-02-22 2022-04-12 Vmware, Inc. Service control plane messaging in service data plane
US11321113B2 (en) 2019-02-22 2022-05-03 Vmware, Inc. Creating and distributing service chain descriptions
US11354148B2 (en) 2019-02-22 2022-06-07 Vmware, Inc. Using service data plane for service control plane messaging
US11042397B2 (en) 2019-02-22 2021-06-22 Vmware, Inc. Providing services with guest VM mobility
US11086654B2 (en) 2019-02-22 2021-08-10 Vmware, Inc. Providing services by using multiple service planes
US11397604B2 (en) 2019-02-22 2022-07-26 Vmware, Inc. Service path selection in load balanced manner
US11119804B2 (en) 2019-02-22 2021-09-14 Vmware, Inc. Segregated service and forwarding planes
US11609781B2 (en) 2019-02-22 2023-03-21 Vmware, Inc. Providing services with guest VM mobility
US11604666B2 (en) 2019-02-22 2023-03-14 Vmware, Inc. Service path generation in load balanced manner
US11194610B2 (en) 2019-02-22 2021-12-07 Vmware, Inc. Service rule processing and path selection at the source
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11722559B2 (en) 2019-10-30 2023-08-08 Vmware, Inc. Distributed service chain across multiple clouds
US11223494B2 (en) 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11212356B2 (en) 2020-04-06 2021-12-28 Vmware, Inc. Providing services at the edge of a network using selected virtual tunnel interfaces
US11438257B2 (en) 2020-04-06 2022-09-06 Vmware, Inc. Generating forward and reverse direction connection-tracking records for service paths at a network edge
US11743172B2 (en) 2020-04-06 2023-08-29 Vmware, Inc. Using multiple transport mechanisms to provide services at the edge of a network
US11277331B2 (en) 2020-04-06 2022-03-15 Vmware, Inc. Updating connection-tracking records at a network edge using flow programming
US11792112B2 (en) 2020-04-06 2023-10-17 Vmware, Inc. Using service planes to perform services at the edge of a network
US11368387B2 (en) 2020-04-06 2022-06-21 Vmware, Inc. Using router as service node through logical service plane
US11528219B2 (en) 2020-04-06 2022-12-13 Vmware, Inc. Using applied-to field to identify connection-tracking records for different interfaces
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers

Also Published As

Publication number Publication date
WO2016049853A1 (en) 2016-04-07
EP3190750B1 (en) 2020-11-25
CN107078948A (en) 2017-08-18
US10390285B2 (en) 2019-08-20
KR20170061162A (en) 2017-06-02
BR112017006377A2 (en) 2018-06-26
EP3190750A4 (en) 2017-10-25
EP3190750A1 (en) 2017-07-12
JP2017533641A (en) 2017-11-09
CN107078948B (en) 2019-11-29
JP6481909B2 (en) 2019-03-13

Similar Documents

Publication Publication Date Title
US10390285B2 (en) Service path generation method and apparatus
US10609181B2 (en) Method and apparatus for controlling service chain of service flow
US9537775B2 (en) Methods, systems, and computer readable media for diameter load and overload information and virtualization
EP2750343B1 (en) Dynamic network device processing using external components
US9807016B1 (en) Reducing service disruption using multiple virtual IP addresses for a service load balancer
WO2015116538A1 (en) Session-based packet routing for facilitating analytics
EP3148125A1 (en) Setting method, server device and service chain system
CN106254235B (en) Load sharing method and equipment
EP3485608B1 (en) Methods and servers for managing traffic steering policies
WO2021083281A1 (en) Load balancing method and apparatus, and medium and device
US20160330569A1 (en) Service Processing Method and Network Device
US11671405B2 (en) Dynamic filter generation and distribution within computer networks
CN105745874B (en) Method and device for determining service function path
CN112825524B (en) Method, device and system for determining network service node
EP2833588B1 (en) Remotely updating routing tables
US10541911B2 (en) Method, apparatus, and system for deploying service flow forwarding function
CN108199965B (en) Flow spec table item issuing method, network device, controller and autonomous system
US9667728B2 (en) Controller offloading
KR101794959B1 (en) Hacking protection system for smart phone
CN104618262A (en) Message processing method and equipment
CN115412481A (en) Network slice generation method, slice controller, network system, and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: HUAWEI TECHNOLOGIES CO., LTD., CHINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZHOU, HAN;REEL/FRAME:043703/0673

Effective date: 20170914

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: AWAITING TC RESP, ISSUE FEE PAYMENT VERIFIED

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4