WO2016033729A1 - 一种确定服务功能路径的方法及装置 - Google Patents

一种确定服务功能路径的方法及装置 Download PDF

Info

Publication number
WO2016033729A1
WO2016033729A1 PCT/CN2014/085690 CN2014085690W WO2016033729A1 WO 2016033729 A1 WO2016033729 A1 WO 2016033729A1 CN 2014085690 W CN2014085690 W CN 2014085690W WO 2016033729 A1 WO2016033729 A1 WO 2016033729A1
Authority
WO
WIPO (PCT)
Prior art keywords
service function
data stream
data packet
data
information
Prior art date
Application number
PCT/CN2014/085690
Other languages
English (en)
French (fr)
Inventor
陆伟
周汉
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2014/085690 priority Critical patent/WO2016033729A1/zh
Priority to CN201480022265.XA priority patent/CN105745874B/zh
Publication of WO2016033729A1 publication Critical patent/WO2016033729A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a method and apparatus for determining a service function path.
  • the service function processing device is connected in series with the fixed or mobile user access device, as shown in FIG. 1 , wherein the user access device may be a GGSN (Gateway General Packet Radio Service Support Node, Gateway General Packet Radio Service Support Node)/P-GW (Packet Data Network GateWay) or Fixed Access BNG (Broadband Network Gateway Control Device) or ToR (The Onion Router in Data Center) , onion router).
  • GGSN General Packet Radio Service Support Node, Gateway General Packet Radio Service Support Node
  • P-GW Packet Data Network GateWay
  • Fixed Access BNG Broadband Network Gateway Control Device
  • ToR The Onion Router in Data Center
  • onion router Some users' data streams may need to be anti-virus processed.
  • Some users' data streams need to be NATed, and some user data streams (such as video or Web access data streams only) need to be cached and accelerated by the application.
  • all users' data streams need to flow through multiple service function processing devices connected
  • FIG. 1 causes the data flow that does not need to pass through the service function device to pass through each service function processing device, and the processing capacity requirement of the service function processing device becomes large, thereby increasing unnecessary network device investment. At the same time, it causes an increase in the number of faults in the networking. A service function processing device failure may cause the overall data flow to be interrupted or failed.
  • the industry proposes a service function chain concept,
  • the order in which a data stream passes through the service functions and the required service functions is defined as the service function chain, for example: (antivirus, firewall, NAT address translation), (application caching and acceleration, firewall, NAT address translation) And (firewall, NAT address translation, anti-virus) belong to different service function chains, respectively, so that according to the service function chain, the data stream can be sent to the service function processing device corresponding to the data stream.
  • the network architecture shown in Figure 2 includes controllers, classifiers, switches, and service functions (Service An instance of the function, an instance of the service function refers to a device that processes the data stream when the service function is executed, such as a service function processing device.
  • service function may have multiple instances to perform the service function.
  • the service function 1 shown in FIG. 2 may include two instances of A and B, and the service function 2 Contains C, D, E, and three instances. Therefore, in the actual data stream transmission process, the same service function chain can correspond to multiple service function paths.
  • the corresponding service function path can be (service) Function 1 - instance A, service function 2 - instance C), may also be (service function 1 - instance B, service function 2 - instance E) and the like.
  • the controller and the classifier need to perform multiple signaling interactions to determine the service function path.
  • a method and apparatus for determining a service function path are provided, which can reduce control signaling in determining a service function path.
  • a method for determining a service function path comprising: a service function path generating device acquiring information of a data stream data packet and a service function chain of the data stream data packet, the information of the service function chain including the The identifier of the service function that the data stream packet needs to pass;
  • the service function path generating means determines a service function path of the data stream data packet according to the service function chain information.
  • the service function path generating apparatus acquires information of a data stream data packet and a service function chain of the data stream data packet, including:
  • the service function path generating means receives the data stream data packet and the information of the service function chain transmitted by the service function chain selecting means.
  • the service function path generating apparatus acquires information of a data stream data packet and a service function chain of the data stream data packet, including:
  • the service function path generating device receives the data stream data packet
  • the service function path generating means acquires information of the service function chain of the data stream data packet.
  • the service function path generating apparatus acquires information about the service function chain of the data stream data packet, including :
  • the service function path generating means determines a letter of the service function chain according to a service function selection policy interest
  • the service function path generating means receives information of the service function chain.
  • the service function selection policy is determined by using a PCC rule or an ADC rule.
  • the service function path generating apparatus determines the data stream data according to information of the service function chain.
  • the service function path of the package includes:
  • the service function path generating means determines the service function path based on at least one of an instance selection parameter and an instance selection algorithm and information of the service function chain.
  • the data stream data packet carries the network topology state information; the service function path generating device determines the service function path according to at least one of the instance selection parameter and the instance selection algorithm and the information of the service function chain, including:
  • the service function path generating device determines an instance in the service function of the data stream data packet according to the information of the service function chain, the instance selection parameter, and the instance selection algorithm corresponding to the network topology.
  • the instance selection parameter includes a load weight of each instance in a service function of the data stream data packet .
  • the instance selection algorithm is an IMSI-based hash algorithm, an IP quintuple-based hash. Algorithm and any one of hash algorithms based on IMSI and service function chain identification.
  • the data stream data packet carries a data stream identifier, where the method further includes:
  • the service function path generating device saves a correspondence between the data stream identifier and the service function path.
  • the service function path generating device saves the correspondence between the data flow identifier and the service function path, including:
  • the service function path generating device saves a correspondence between the data stream identifier and the service function path when the data stream data packet carries a start identifier, where the start identifier is used to indicate that the data stream data packet is in data The beginning of the flow.
  • the method further includes:
  • the service function path generating device receives a data stream intermediate data packet, where the data stream intermediate data packet carries the data stream identifier;
  • the service function path generating device determines the service function path of the data stream intermediate data packet according to the saved correspondence between the data stream identifier and the service function path.
  • the method further includes:
  • the service function path generating device receives a data stream end data packet, where the data stream end data packet carries the data stream identifier and an end identifier, where the end identifier is used to indicate that the data stream ends the data packet at the end of the data stream stage;
  • the service function path generating means deletes the correspondence between the saved data stream identifier and the service function path.
  • the service function path generating device is a switch, a PCEF or a TDF.
  • the method further includes:
  • the service function path generating means transmits the service function path to the switch.
  • the identifier of the service function that the data stream data packet needs to pass is the data flow Any of a string of service functions through which the packet is to pass, a list of instance groups of service functions through which the data stream packet is required, and a numeric tag representing the service function of the data stream packet form.
  • a method of determining a service function path including:
  • the service function chain selection device receives the data stream data packet
  • the service function chain selection device acquires information of a service function chain of the data stream data packet, where the information of the service function chain includes an identifier of a service function that the data stream data packet needs to pass;
  • the service function chain selection means transmits the data stream data packet and the information of the service function chain to the service function path generating means, so that the service function path generating means determines the location according to the information of the service function chain The service function path of the data stream packet.
  • the information that the service function chain selection device acquires the service function chain of the data flow data packet includes:
  • the service function chain selection device determines information of the service function chain according to a service function selection policy
  • the service function chain selection means receives information of a service function chain of the data stream data packet.
  • the service function selection policy is determined by using a PCC rule or an ADC rule.
  • the method further includes:
  • the service function chain selection means carries a start identifier in the data stream data packet when the data stream data packet is in a beginning phase of the data stream.
  • the method further includes:
  • the service function chain selection means carries an end identifier in the data stream data packet when the data stream data packet is in an end phase of the data stream.
  • the method further includes:
  • the service function chain selection device receives a network topology status indication
  • the service function chain selecting means sets network topology state information in the data stream data packet according to the network topology state indication.
  • the service function chain selection device is a PCEF or a TDF.
  • the identifier of the service function that the data stream data packet needs to pass is the data stream data packet A string of service functions to be passed, a list of instance groups of service functions through which the data stream packets need to pass, and any one of digital tags representing the service functions that the data stream packets need to pass.
  • a service function path generating apparatus including:
  • a data and information obtaining module configured to acquire information of a data stream data packet and a service function chain of the data stream data packet, where the information of the service function chain includes an identifier of a service function that the data stream data packet needs to pass;
  • the service function path determining module is configured to determine a service function path of the data stream data packet according to the service function chain information.
  • the data and information acquiring module is specifically configured to receive the data stream data packet sent by the service function chain selection device and the information of the service function chain.
  • the data and information acquiring module is specifically configured to receive the data stream data packet, and obtain information about the service function chain of the data stream data packet. .
  • the data and information acquiring module is specifically configured to determine the service function chain according to a service function selection policy. Information; or, receiving information of the service function chain.
  • the service function selection policy is determined by using a PCC rule or an ADC rule.
  • the service function path determining module is specifically configured to select a parameter according to an instance and an instance selection algorithm. At least one and information of the service function chain determines the service function path.
  • the data stream data packet carries network topology structure information, where the service function path determining module is specifically used to Determining, according to the network topology, the instance selection algorithm corresponding to the network topology; determining, according to the service function chain information, the instance selection parameter, and the instance selection algorithm corresponding to the network topology structure, An instance of the service function of the data stream packet.
  • the instance selection parameter includes a load weight of each instance in a service function of the data flow data packet.
  • the instance selection algorithm is an IMSI-based hash algorithm, an IP quintuple-based hash. Algorithm and any one of hash algorithms based on IMSI and service function chain identification.
  • the data stream data packet carries the data stream identifier, and further includes:
  • the relationship storage module is configured to save a correspondence between the data flow identifier and the service function path, where the data flow data packet carries the data flow identifier.
  • the relationship storage module is specifically configured to: when the data flow data packet carries a start identifier, save the location Corresponding relationship between the data flow identifier and the service function path, where the start identifier is used to indicate that the data stream data packet is in a beginning stage of the data flow.
  • the data and information acquiring module is further configured to receive a data stream intermediate data packet, where the data
  • the service function path determination module is specifically configured to determine, according to the correspondence between the data flow identifier and the service function path saved by the data and information acquisition module, The service function path of the data stream intermediate data packet.
  • the method further includes:
  • a relationship deleting module configured to delete, when the data and information acquiring module receives the data stream end data packet, a correspondence between the saved data stream identifier and the service function path; where the data stream ends the data
  • the packet carries the data flow identifier and the end identifier, and the end identifier is used to indicate that the data flow end data packet is in an end phase of the data flow.
  • the service function path generating device is a switch, a PCEF or a TDF.
  • the method further includes: a forwarding module, configured to send the service function path to the switch.
  • the identifier of the service function that the data stream data packet needs to pass is the data flow Packet required A string of service function functions, a list of instance groups of service functions through which the data stream packets are required, and a digital tag representing a service function of the data stream packets.
  • a service function chain selection apparatus including:
  • a data packet receiving module configured to receive a data stream data packet
  • a service function chain information acquiring module configured to acquire information of a service function chain of the data stream data packet, where the information of the service function chain includes an identifier of a service function that the data stream data packet needs to pass;
  • a data and information sending module configured to send, to the service function path generating device, the data stream data packet and the information of the service function chain, so that the service function path generating device determines according to the information of the service function chain The service function path of the data stream packet.
  • the information that the service function chain selection device obtains the service function chain of the data stream data packet includes:
  • the service function chain selection device determines information of the service function chain according to a service function selection policy
  • the service function chain selection means receives information of a service function chain of the data stream data packet.
  • the service function selection policy is determined by using a PCC rule or an ADC rule.
  • the method further includes:
  • a start identifier setting module configured to: when the data stream data packet is in a beginning stage of the data stream, the service function chain selecting apparatus carries a start identifier in the data stream data packet.
  • the method further includes:
  • the identifier setting module configured to: when the data stream data packet is in an end phase of the data stream, the service function chain selection device carries an end identifier in the data stream data packet.
  • the method further includes: a topology indication receiving module, configured to receive a network topology state indication;
  • a topology information setting module configured to set network topology state information in the data flow data packet according to the network topology state indication.
  • the service function chain selection device is a PCEF or a TDF.
  • the identifier of the service function that the data stream data packet needs to pass is the data stream data packet A string of service functions to be passed, a list of instance groups of service functions through which the data stream packets need to pass, and any one of digital tags representing the service functions that the data stream packets need to pass.
  • a fifth aspect provides a service function path generating apparatus, including: a processor, a memory, a bus, and a communication interface;
  • the memory is configured to store a computer execution instruction
  • the processor is connected to the memory through the bus, and when the service function path generation device is in operation, the processor executes the computer execution instruction stored in the memory And causing the service function path generating means to perform the method of determining the service function path in the aforementioned first aspect.
  • a sixth aspect provides a service function chain selection apparatus, including: a processor, a memory, a bus, and a communication interface;
  • the memory is configured to store a computer execution instruction
  • the processor is coupled to the memory via the bus, and when the service function chain selection device is in operation, the processor executes the computer execution instruction stored in the memory And causing the service function chain selection means to perform the method of determining a service function path in the aforementioned second aspect.
  • a computer readable medium comprising computer executed instructions for executing, by a processor of a computer, the method of determining a service function path in the first aspect.
  • a computer readable medium comprising computer executed instructions for executing, by a processor of a computer, the method of determining a service function path in the second aspect.
  • the service function path generating device acquires the data stream data packet and the information of the service function chain of the data stream data packet, where the information of the service function chain includes the service function that the data stream data packet needs to pass.
  • the identifier, the service function path generating means is capable of determining a service function path of the data stream data packet according to the information of the service function chain. It can be seen that, in the process of determining the service function path, the service function path of the data stream data packet can be directly determined by the service function path generating device, and no multiple control signaling is required. Mutual, so that the control signaling in determining the service function path process is greatly reduced.
  • Figure 1 is a schematic diagram of a serial value-added data device
  • Figure 2 shows a schematic diagram of the network architecture
  • FIG. 3 is a flow chart showing an embodiment of a method for determining a service function path provided by the present invention
  • FIG. 4 is a flowchart of a method for determining a service function path when a network topology changes according to an embodiment of the present invention
  • FIG. 5 is a flowchart of still determining a service function path according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of a method for determining a service function path when a network topology changes according to an embodiment of the present invention
  • FIG. 7 is a schematic diagram of a network architecture before a change in an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of a network architecture after a change in an embodiment of the present invention.
  • FIG. 9 is a flowchart of determining a service function path in a scenario in which a data flow is first initiated according to an embodiment of the present invention.
  • FIG. 10 is a flowchart of determining a service function path in a scenario of an intermediate transmission phase of a data flow according to an embodiment of the present invention
  • FIG. 11 is a flowchart of determining a service function path in a scenario of a data flow technology phase according to an embodiment of the present invention.
  • FIG. 12 is a flowchart of determining a service function path in a scenario in which a network topology changes in an embodiment of the present invention
  • FIG. 13 is a schematic structural diagram of a service function path generating apparatus according to an embodiment of the present invention.
  • FIG. 14 is a schematic structural diagram of another service function path generating apparatus according to an embodiment of the present invention.
  • FIG. 15 is a schematic structural diagram of a service function chain selection apparatus according to an embodiment of the present invention.
  • 16 is a schematic structural diagram of another service function chain selection apparatus according to an embodiment of the present invention.
  • FIG. 17 is a schematic structural diagram of another service function path generating apparatus according to an embodiment of the present invention.
  • FIG. 18 is a schematic structural diagram of another service function chain selection apparatus according to an embodiment of the present invention.
  • the service function chain generating device is responsible for generating a service function chain, which may be a Policy and Charging Rules Function (PCRF), a Traffic Detection Function (TDF), a policy, and a charging in the communication network.
  • a service function chain which may be a Policy and Charging Rules Function (PCRF), a Traffic Detection Function (TDF), a policy, and a charging in the communication network.
  • the service function chain of the data stream data packet may be based on the network information, the subscription information of the user, the identifier of the data stream, or the data stream corresponding to the data stream.
  • the application type and the like are determined, and the data flow data packet only needs to be routed in the order of the service functions required by the service function chain.
  • the service function chain selecting device selects a service function data link for the data stream, and may be a device such as a PCRF, a TDF, a PCEF or a controller in the communication network;
  • the service function chain control executing device is responsible for data stream data packets according to the selected service function link, and may be a PCRF or a controller device in the communication network;
  • the service function path generating device is responsible for generating a service path, and may also be a device such as a TDF or a switch in the communication network.
  • the above device may be a stand-alone device or integrated with other devices in the communication network.
  • a service function chain is a service function that a data stream data packet needs to pass through and a sequence of service functions that need to pass, such as: (antivirus, firewall, NAT address translation), (Application caching and acceleration, firewall, NAT address translation) and (firewall, NAT address translation, anti-virus) belong to different service function chains.
  • Service Function Path is the sequence of service function chains that a data flow packet needs to pass through and the order of instances of the service function chain that it needs to pass.
  • service function chain and service function path please also refer to the IETF draft "Network Service”. Headerdraft-quinn-sfc-nsh-03".
  • an embodiment of a method for determining a service function path may include the following steps:
  • Step 301 The service function path generating device acquires information of a data stream data packet and a service function chain of the data stream data packet, where the information of the service function chain includes an identifier of a service function that the data stream data packet needs to pass.
  • Step 302 The service function path generating device determines a service function path of the data stream data packet according to the information of the service function chain.
  • the service function path may include network attribute information of an instance of a service function that the data stream data packet needs to pass and an order of an instance of a service function that the data stream data packet needs to pass; or the service function path
  • the sequence of the instance of the service function that the data stream data packet needs to pass and the sequence of the service function that the data stream data packet needs to pass through may be included in the embodiment of the present invention, which may be limited according to the service function path.
  • the data stream data packet can be routed/forwarded to an instance of the corresponding service function.
  • the network attribute information of the instance includes attribute information such as various routing/forwarding identifiers of the network in the service function, such as an IP address and port number information. For convenience of description, the information is referred to as network attribute information.
  • information of the service function chain of the data stream data packet may be determined by a service function chain selecting device, and the service function chain selecting device may carry information of the service function chain to the data packet. And transmitting the information to the service power path generating device, and transmitting the information of the service function chain and the data packet to the service function path generating device. And the service power path generating apparatus may receive the data stream data packet sent by the service function chain selection device and the information of the service function chain.
  • the service function path generating device and the service function chain selecting device may also be configured as the same device, and the service function path generating device may receive the data stream data packet and acquire the data stream data packet.
  • the information of the service function chain for example, the service function path generating means may determine the information of the service function chain according to the service function selection policy; or the service function path generating means may receive the information of the service function chain sent by the PCRF.
  • the service function selection policy refers to a data flow processing policy, and the service function selection policy may be from an activated policy and charging control (PCC) rule or an application detection and control (ADC). Obtained in the rules. For example: a user has signed up for antivirus The service function, and the compression processing service function is signed for the video data stream, wherein the anti-virus and compression processing belong to the service function selection policy. After the service function path generating device receives these policies, the specific service function chain can be determined according to the characteristics and order of various processing functions.
  • PCC policy and charging control
  • ADC application detection and control
  • the data packets are classified according to the data flow identifier, and the obtained service function chain identifier corresponding to the service type of the data flow is added to the data packet header to facilitate the service.
  • the functional path generating device can adopt a corresponding routing policy according to the service function chain identifier.
  • the service function chain is classified based on the service type, the service type needs to be parsed according to the data flow identifier, and the service function chain identifier corresponding to the service type is set in the data packet of the different service type; if the service function chain is based on five If the tuple information is classified, the data stream is classified based on the quintuple information, and the corresponding service function chain identifier is set in the data packet of the data stream.
  • the service function path of the data stream data packet may be determined according to the information of the service function chain.
  • the service function path generating device may be a switch, a PCEF, or a TDF.
  • the service function path generating device may be configured to be independent of the functional entity of the switch, or may be integrated with the switch, and the embodiment of the present invention is not specifically limited.
  • the service function path generating device adopts a setting form integrated with the switch, the service function path generating device may directly route the data stream data packet to the corresponding service function instance according to the service function path to perform corresponding processing.
  • the service function path generating device may further send the service function path to the switch, and the switch follows the service function path. Route ⁇ Forward the data stream packet to the corresponding service function instance.
  • the identifier representation of the service function that the data stream data packet needs to pass may include: a character string of a service function that the data stream data packet needs to pass, and a data packet that the data stream data packet needs to pass through.
  • the identifier of the service function that the data stream data packet needs to pass may be characters such as antivirus, firewall, and NAT address translation.
  • the service function chain information can be: (antivirus, firewall, NAT address translation).
  • the information of the service function chain may be a numeric character sequence number corresponding to the service function chain.
  • the numeric function serial numbers such as 1, 2, 3, ... 10 are used to represent each service function chain.
  • the information of the service function chain may be a numeric character number such as 1 or 2.
  • various service functions can contain multiple instances for load sharing.
  • the service function is considered to be a set of instances, so that the identifier of the service function that the data stream data packet needs to pass may be represented by a list of instance groups.
  • the service function 1 is represented by Group1. Therefore, the information of the service function chain may also be a representation of a service function instance group list similar to [Group1 (antivirus), Group2 (Waterproof Wall), Group4 (NAT Address Translation)].
  • the service function path generating device acquires the data stream data packet and the information of the service function chain of the data stream data packet, where the information of the service function chain includes the service function that the data stream data packet needs to pass.
  • the identifier, the service function path generating means is capable of determining a service function path of the data stream data packet according to the information of the service function chain. It can be seen that, in the process of determining the service function path, the service function path of the data stream data packet can be directly determined by the service function path generating device, and the control signaling interaction in the process of determining the service function path is greatly cut back.
  • one or several instances of a certain service function may be heavily loaded, while other devices are lightly loaded, and even no idle data stream. How to make the load sharing of the instances in each service function according to the load ratio is a problem to be solved.
  • each service function usually includes multiple service function processing devices (ie, instances) to process a large number of data streams
  • service function 1 includes two instances of A and B.
  • Service function 2 includes three service function instances of C, D, and E.
  • Service function 3 includes four service function instances of F, G, H, and I.
  • the same service function chain can correspond to multiple service function paths.
  • the service function chain is (service function 1, service function 2, service function 3), but the actual service function path may be There are a variety of, including: (service function 1-A, service function 2-C, service function 3-F); (service function 1-B, service function 2-C, service function 3-F); (service function 1 -A, service function 2-D, service function 3-H) and other routing paths. Therefore, when the service function path generating device determines the service function path of the data stream data packet, in addition to the information of the service function chain of the data stream data packet, the load sharing situation of each instance in the service function may be considered, thereby The service function path is determined according to the load sharing situation of each instance in the service function that the data flow data packet needs to pass.
  • the service function path generating means may determine a service function path of the data stream data packet according to at least one of an instance selection parameter and an instance selection algorithm, and the service function chain information, for example, the service function path generation device Determining, according to the obtained information of the service function chain, a service function that the data flow data packet needs to pass and a sequence of service functions that the data flow data packet needs to pass, and then selecting parameters and/or instance selection according to the instance.
  • the algorithm may further determine an order of an instance of the service function that the data stream data packet needs to pass and an instance of the service function that the data stream data packet needs to pass, that is, determine a service function path.
  • the instance selection parameter and/or the instance selection algorithm are related to the load of each instance in the service function.
  • the instance selection parameter may include a load weight of each instance in the service function that the data flow data packet needs to pass, the service function path.
  • the generating device may determine the service function path of the data stream data packet according to the instance selection parameter and the information of the service function chain; or the service function path generating device may load according to each instance when determining the service function instance selection algorithm The proportion of the data flow packets is determined. For example, if a service function includes two service function instances, the load sharing ratio of the two instances is 2:3. Therefore, the service function path generation device determines the service function.
  • the instance selection rule algorithm realizes that the data streams are relatively evenly distributed on the two service function instances according to the ratio of 2:3.
  • the service function path generating apparatus may perform a hash algorithm on the quintuple information of the data stream, where the hash algorithm is an implementation form of the service function instance selection rule algorithm, according to the hash function, the service function The path generation device distributes the data stream to each service function instance according to the load sharing ratio of each service function instance.
  • the specific hash algorithm is not limited.
  • the hash algorithm may be performed according to the International Mobile Subscriber Identity (IMSI), and the user is allocated according to the corresponding load sharing ratio on the corresponding service function instance.
  • IMSI International Mobile Subscriber Identity
  • the hash algorithm is executed, and the user and the corresponding service function chain are allocated to the corresponding service function instance according to the corresponding load sharing ratio.
  • the data stream data packet may further carry a data stream identifier
  • the service function path generating device may further save the data stream identifier and the service after determining a service function path of the data stream data packet.
  • the service function path generating device may directly according to the saved data.
  • data stream data packet transmission In the process of data stream data packet transmission, according to different transmission phases, it can be divided into three stages: data stream first initiation, data stream intermediate transmission, and data stream end.
  • the service function chain selecting means may set a phase indicator indicating the phase position of the data stream in which the data stream data packet is located in the data stream.
  • the stage identifier may include: a start identifier, which may include, but is not limited to, information such as “start” or “begin”.
  • the identifier may also include: an end identifier, which may include, but is not limited to, “end” and the like.
  • the start identifier and the end identifier may be encapsulated in a packet header, for example, encapsulated in a service function chain identifier, when the data stream is first initiated and the data stream is terminated.
  • a service function chain identifier when the data stream is first initiated and the data stream is terminated.
  • the service function chain selection means may not perform any processing to keep the data stream packet content unchanged. Therefore, when the service function path generating means does not identify the stage identifier indicating the phase position of the entire data stream in which the data stream data packet is located in the data stream data packet, it is determined that the data stream data packet is in the intermediate transmission phase of the entire data stream.
  • the service function path generating device may also delete the correspondence between the saved data stream identifier and the service function path, for example, if the service function path generating device establishes the service function path table at the beginning of the data flow. To save the correspondence between the data flow identifier and the service function path, at the end of the data stream transmission, the service function path table established at the beginning of the data flow may be deleted.
  • the aging timer can also be set on the service function path generating device. After the timer expires, the service function path table is deleted.
  • the timer of the time may be slightly longer than the aging timer set on the classifier, and the timer may be configured on the service function path generating device.
  • the network topology state information may be set in the data stream data packet, and the data stream data may be set in the data stream data packet, in order to facilitate the service function path generating device to determine the service function path in the case where the network topology changes.
  • the package carries network topology status information.
  • the instance selection algorithm needs to indicate the network topology state corresponding to the algorithm, and thus, the service function path
  • the generating device can correspond to different instance selection algorithms according to the received network topology state information.
  • the correspondence between the instance selection algorithm and the network topology state may include, but is not limited to, the following forms:
  • FIG. 4 An execution flow of this embodiment is shown in FIG. 4, and includes:
  • Step 401 The service function path generating apparatus acquires information of a data stream data packet and a service function chain of the data stream data packet, where the data stream data packet carries network topology structure state information; the service function chain information includes: data The identifier of the service function that the stream packet needs to pass;
  • Step 402 The service function path generating device determines an instance selection algorithm corresponding to the current network topology structure according to the current network topology structure.
  • Step 403 The service function path generating device determines an instance in the service function of the data stream data packet according to the information of the service function chain, the instance selection parameter, and the instance selection algorithm corresponding to the network topology structure, where the instance selection parameter includes: The load weight of each instance in the service function of the stream packet.
  • the instance selection algorithm is combined with the network topology state through the correspondence.
  • the service function chain selection device can obtain the latest service function chain information according to the changed network topology, and obtain network topology structure status information.
  • the service function chain selection device may carry the information of the service function chain and the network topology state information in the data stream data packet when the data stream data packet is sent to the service function path generation device.
  • the service function chain selection device may obtain the network topology state information by implementing the service function chain control execution device to indicate the service function chain selection device network topology structure information, for example, when the network topology changes, the service function chain controls execution.
  • the device sends a network topology status indication to the service function chain selection device, indicating that the current network topology of the service function chain selection device changes, and the indication carries the changed network topology structure information.
  • the service function chain control execution device indicates that the service function chain selection device is not limited.
  • the service function chain control execution device may send an event notification message to the service function chain selection device, where the notification message may be Contains an indicator bit to indicate different stages of the network topology change.
  • the indicator bit is 0 when the network is running. The value is incremented by 1 each time the network topology changes.
  • the name of the indicator is defined.
  • Stage (Stage).
  • the data stream is first initiated, numbered According to the three stages of the intermediate transmission and the end of the data stream, the data stream can carry the indication bit indicating the state of the network topology.
  • the service function path generating device can determine the service function device selection algorithm corresponding to the current network topology state according to the correspondence between the instance selection algorithm and the network topology state. Further, the service function path generating device determines the service function sequence according to the information of the service function chain carried in the data stream data packet, and further determines the data stream data packet requirement according to the instance selection algorithm that should be adopted under the current network topology structure.
  • the passed service function chain corresponds to specific service function instances in each service function.
  • the service function chain selection device may be in the data stream in addition to the network topology state information in the data stream.
  • a phase identifier that indicates the phase location of the entire data stream in which the data stream packet is located.
  • the service function path determined by the service function path generating device may be a path indicating only the identifier of the specific instance, and may also be a path including a specific IP address of the network attribute information.
  • the information of the service function chain may include: network attribute information of each instance in the service function, and network attribute information of each instance in the service function includes various routing/forwarding identifiers of each instance in the service function in the network.
  • attribute information such as: IP address, port number information, and so on.
  • the information is referred to as network attribute information.
  • the above embodiment describes the relevant execution flow in the process of determining the service function path from the service function path generating device side.
  • the present invention also describes the related execution flow from the service function chain selection module side. As shown in Figure 5, the following steps are performed:
  • Step 501 The service function chain selecting apparatus receives the data stream data packet.
  • Step 502 The service function chain selection device acquires information about a service function chain of the data flow data packet, where the information of the service function chain includes an identifier of a service function that the data flow data packet needs to pass;
  • Step 503 The service function chain selection device sends the data stream data packet and the service function chain information to the service function path generating device, so that the service function path generating device is configured according to the information of the service function chain. Determining a service function path of the data stream packet.
  • the service function chain selection means may be PCEF or TDF.
  • the service function chain selection device obtains the information of the service function chain, and may be determined according to the service function selection policy, or may be directly obtained. Pass Often, according to the operator's policy, for example, according to the type of the user, the user's subscription data, and the network status, different service function links are established for different data flows, and the service is represented by different service function identifiers. Functional chain information.
  • the service function selection policy refers to a processing strategy of the data flow, and the policy can be obtained from an activated, PCC rule or an ADC rule.
  • the policy can be obtained from an activated, PCC rule or an ADC rule.
  • a user subscribes to the anti-virus service function, and subscribes to the compression processing service function for the video data stream, wherein the anti-virus and compression processing are all service function selection policies.
  • the specific service function chain can be determined according to the characteristics and order of various processing functions.
  • a service function chain generating device such as a PCRF
  • a PCRF generates a service function chain based on subscription data or configuration information. For example, if a user signs up to perform anti-virus processing, the PCRF can install the service function selection policy (anti-virus) to the service function chain selection device through the PCC rule or the ADC rule, so that the service function chain selection device is based on the received service.
  • a function selection strategy that determines the order of function instances required for processing to generate a service function chain.
  • the service function chain selection device classifies the data packet according to the classification principle of the service function chain, and adds the acquired service function chain identifier corresponding to the service type to the data packet header, so that the service function path generation device can be based on the service
  • the function chain identifier adopts the corresponding routing policy. For example, if the service function chain is classified based on the service type, the service type needs to be parsed, and the service function chain identifier corresponding to the service type is identified in the data packet of the different service type; if the service function chain is classified based on the quintuple information The data stream is classified based on the quintuple information, and the corresponding service function chain identifier is included in the data packet of the data stream.
  • Other classification methods are similar to mechanism processing.
  • the information of the data packet and the service function chain can be sent separately or combined.
  • the information of the service function chain may be set in the data packet, for example, the service function chain identifier is added into the data packet header.
  • the data stream may be divided into three stages: data stream first initiation, data stream intermediate transmission, and data stream end.
  • the classifier may carry a stage in the data stream indicating the phase position of the entire data stream in which the data stream data packet is located.
  • the stage identifier may include: a start identifier, which may include but is not limited to The information such as "start” or "begin” may include, in addition to the start identifier, an end identifier, which may include but is not limited to information such as "end”.
  • the start identifier and the end identifier may be encapsulated in a packet header, for example, in a service function chain identifier, when the data stream is first initiated and the data stream is terminated.
  • the service function path generating means recognizes the start identifier carried by the classifier in the data stream packet, it is determined that the data stream packet is at the beginning of the entire data stream; when the service function path generating means recognizes the classifier When the end identifier carried in the data stream packet is determined, the data stream packet is determined to be at the end of the entire data stream.
  • the "start" and "end” flags are not included. Therefore, when the service function path generating means does not identify the stage identifier indicating the phase position of the entire data stream in which the data stream data packet is located in the data stream data packet, it is determined that the data stream data packet is in the intermediate transmission phase of the entire data stream.
  • process of the service function chain selection device may also be the process shown in FIG.
  • Step 601 The service function chain selecting device receives the data stream data packet.
  • Step 602 The service function chain selection device acquires information about a service function chain of the data flow data packet, where the information of the service function chain includes an identifier of a service function that the data flow data packet needs to pass;
  • Step 603 The service function chain selecting apparatus receives a network topology status indication.
  • Step 604 The service function chain selection device sets network topology state information in the data flow data packet according to the network topology state indication.
  • Step 605 The service function chain selecting apparatus sends, to the service function path generating apparatus, information of a data stream data packet carrying the network topology structure status information and the service function chain, so that the service function path generating apparatus is configured according to the The information of the service function chain determines a service function path of the data stream data packet.
  • the service function chain control execution device may send the network topology state indication to the service function chain selection device, or the service function chain control execution device may serve the service through the third-party device.
  • the function chain selection device sends a network topology status indication. The indication is sent to the service function chain to select the current network topology status information of the device.
  • the service function chain control execution device indicates that the service function chain selection device is not limited.
  • the service function chain control execution device may send an event notification message to the service function chain selection device, where the notification message may be Contains an indication to indicate the status change status of the network topology.
  • the indicator bit is 0 when the network is running.
  • the value is incremented by 1 each time the network topology changes.
  • the name of the indicator bit is not limited. Can Thought "Stage”. In the three stages of data stream initial initiation, data stream intermediate transmission, and data stream termination, the data stream carries the indication bit indicating the changed network topology state.
  • the service function chain selection device obtains the identifier of the service function and acquires the changed network topology state.
  • the service function chain selecting means sends the data stream data packet to the service function path generating means, the data stream data packet may carry the service function identifier and the network topology structure status information at the same time.
  • the identifier representation of the service function that the data stream data packet needs to pass may include: a string of service functions that the data stream data packet needs to pass, and a service function that the data stream data packet needs to pass.
  • the service function path is (service function 1-1, service function 2-2, service function 3-4).
  • service function 1 -1 is transferred to switch 2, but to ensure that the data stream remains unchanged, the data flow can be achieved without interruption by using the above-mentioned method of adding a Stage identifier.
  • the service function chain control execution module obtains information about the changed service functions, including: information about the location and port of each service function instance; and the service function chain control execution module generates the service function path.
  • the device including all controlled switches, such as switch 1 and switch 2 in FIG.
  • Figure 9 shows the process of determining the service function path in the scenario where the data flow is first initiated, including:
  • Step 901 The service function chain control execution device acquires information of the service function chain, where the information of the service function chain may further include network attribute information of each instance in the service function.
  • Step 902 The service function chain control execution device sends the service function chain information and the instance selection parameter or the instance selection algorithm to the service function path generation device.
  • Step 903 The service function chain selection device obtains the information of the service function chain, and may obtain the information from the PCRF or locally.
  • Step 904 The service function chain selecting apparatus receives the data stream data packet.
  • Step 905 The service function chain selecting device identifies the current data stream as a starting phase
  • Step 906 setting a start flag in a data packet starting from a data flow of the service function chain selection device
  • Step 907 The service function chain selecting device adds an identifier of the service function to the data stream packet header, and sends a data stream data packet carrying the identifier of the service function to the service function path generating device.
  • Step 908 The service function path generating apparatus receives the data stream data packet, determines a service function path of the data stream data packet according to the received information of the service function chain, and an instance selection parameter or an implementation selection algorithm. Meanwhile, the data stream identifier may be recorded. Generating a service function path table corresponding to the service function path;
  • Step 909 The service function path generating device forwards the data stream data packet to the corresponding service function instance according to the service function path.
  • Figure 10 shows the process of determining the service function path in the scenario of the intermediate transmission phase of the data flow, including:
  • Step 1001 The service function chain selecting apparatus receives the data stream data packet.
  • Step 1002 The service function chain selecting device identifies that the current data stream is an intermediate transmission phase
  • Step 1003 The service function chain selecting apparatus does not perform any processing on the current data stream data packet
  • Step 1004 The service function chain selecting device adds an identifier of the service function to the data stream packet header, and sends a data stream data packet carrying the service function chain identifier to the service function path generating device.
  • Step 1005 The service function path generating device determines, according to the service function path table, a service function path corresponding to the data stream data packet.
  • Step 1006 The service function path generating device forwards the data stream data packet to the corresponding service function instance according to the service function path.
  • Figure 11 shows the process of determining the service function path in the scenario of the end of the data flow, including:
  • Step 1101 The service function chain selecting apparatus receives the data stream data packet.
  • Step 1102 The service function chain selecting device identifies that the current data stream is an end phase
  • Step 1103 The service function chain selecting apparatus carries an end flag in the data stream data packet.
  • Step 1104 The service function chain selecting device adds an identifier of the service function to the data stream packet header, and sends a data stream data packet carrying the service function chain identifier to the service function path generating device.
  • Step 1105 The service function path generating device determines, according to the service function path table, a service function path corresponding to the data stream data packet;
  • Step 1106 The service function path generating device forwards the data stream data packet to the corresponding service function instance according to the service function path.
  • Step 1107 The service function path generating device deletes the service function path table corresponding to the current data stream.
  • Figure 12 shows the process of determining the service function path in the scenario where the network topology changes, including:
  • Step 1201 The service function chain control execution device obtains the latest network topology information according to the changed network topology.
  • Step 1202 The service function chain control execution device sends network topology information to the service function path generating device, and an instance selection algorithm corresponding to the network topology structure;
  • Step 1203 The service function chain control execution device indicates that the network topology of the service function chain selection device changes.
  • Steps 1204 to 1206, the service function path generating device receives the data stream data packet of the different transmission phase sent by the service function chain selecting device, where the data stream data packet carries the identifier of the service function and the changed network topology structure state information, and is determined.
  • the service function path corresponding to the data stream packet and forwarding the data stream data packet to the corresponding service function instance according to the service function path.
  • the present invention provides a corresponding device embodiment.
  • the service function path generating device may include:
  • the data and information obtaining module 1301 is configured to obtain information about a data stream packet and a service function chain of the data stream data packet, where the information of the service function chain includes an identifier of a service function that the data stream data packet needs to pass ;
  • the service function path determining module 1302 is configured to determine a service function path of the data stream data packet according to the information of the service function chain.
  • the service function path may include network attribute information of an instance of a service function that the data stream data packet needs to pass and an order of an instance of a service function that the data stream data packet needs to pass; or the service function path
  • the sequence of the instance of the service function that the data stream data packet needs to pass and the sequence of the service function that the data stream data packet needs to pass through may be included in the embodiment of the present invention, which may be limited according to the service function path.
  • the data stream data packet can be routed/forwarded to an instance of the corresponding service function.
  • the data and information acquiring module is specifically configured to receive the data stream data packet sent by the service function chain selection device and the information of the service function chain.
  • the data and information acquiring module is specifically configured to receive the data stream data packet, and obtain information about the service function chain of the data stream data packet.
  • the service function path generating means and the service function chain selecting means are provided as the same device.
  • the data and information obtaining module is specifically configured to determine information of the service function chain according to a service function selection policy and a data flow identifier of the data stream data packet; or receive the service function chain sent by the PCRF Information.
  • the service function selection policy refers to a data flow processing policy, and the policy can be obtained from an activated PCC (Policy and Charging Control) rule or an ADC (Application Detection and Control) rule.
  • PCC Policy and Charging Control
  • ADC Application Detection and Control
  • a user subscribes to the anti-virus service function, and subscribes to the compression processing service function for the video data stream, wherein the anti-virus and compression processing are all service function selection policies. After the service function path generating device receives these policies, the specific service function chain can be determined according to the characteristics and order of various processing functions.
  • the data packets are classified according to the data flow identifier, and the obtained service function chain identifier corresponding to the service type is added to the data packet header, so that the service function path is generated.
  • the device can adopt a corresponding routing policy according to the service function chain identifier.
  • the service function chain is classified based on the service type, the service type needs to be parsed according to the data flow identifier, and the service function chain identifier corresponding to the service type is set in the data packet of the different service type; if the service function chain is based on five If the tuple information is classified, the data stream is classified based on the quintuple information, and the corresponding service function chain identifier is set in the data packet of the data stream.
  • the identifier representation of the service function that the data stream data packet needs to pass may include: a string of service functions that the data stream data packet needs to pass, and a service function that the data stream data packet needs to pass.
  • the service function path determining module determines the service function path of the data stream data packet, in addition to the information of the service function chain of the data stream data packet, the load sharing situation of each instance in the service function may be considered, thereby The service function path is determined according to the load sharing situation of each instance in the service function that the data flow data packet needs to pass.
  • the service function path determining module may determine the service function path according to at least one of an instance selection parameter and an instance selection algorithm and information of the service function chain.
  • the service function path determining module may determine, according to the acquired information of the service function chain, a service function that the data stream data packet needs to pass and a sequence of service functions that the data stream data packet needs to pass, according to
  • the instance selection parameter and/or the instance selection algorithm may further determine an instance of the service function that the data stream data packet needs to pass and an order of the instance of the service function that the data stream data packet needs to pass, that is, determine the service function path .
  • the instance selection parameter and/or the instance selection algorithm are related to the load of each instance in the service function.
  • the instance selection parameter may include a load weight of each instance in the service function that the data flow data packet needs to pass, the service function path.
  • the determining module may determine the service function path of the data stream data packet according to the instance selection parameter and the information of the service function chain; or the service function path determining module may load according to each instance when determining the service function instance selection algorithm The proportion of the data flow packets is determined. For example, if a service function includes two service function instances, the load sharing ratio of the two instances is 2:3. Therefore, the service function path determination module determines the service function.
  • the instance selection rule algorithm realizes that the data streams are relatively evenly distributed on the two service function instances according to the ratio of 2:3.
  • the service function path determining module may perform a hash algorithm on the quintuple information of the data stream, where the hash algorithm is an implementation form of the service function instance selection rule algorithm, according to the hash algorithm, the service function The path determination module distributes the data flow to each service function instance according to the load sharing ratio of each service function instance.
  • the specific hash algorithm is not limited.
  • the hash algorithm may be performed according to the International Mobile Subscriber Identity (IMSI), and the user is allocated according to the corresponding load sharing ratio on the corresponding service function instance.
  • IMSI International Mobile Subscriber Identity
  • the hash algorithm is executed, and the user and the corresponding service function chain are allocated to the corresponding service function instance according to the corresponding load sharing ratio.
  • the data stream data packet may further carry a data stream identifier.
  • the method may further include: a relationship storage module 1303, configured to save the data stream identifier and the Corresponding relationship of service function paths, where the data stream data packet carries the data stream identifier. Therefore, when the data and information obtaining module receives the data stream data packet, the service function path generating device may query the correspondence between the saved data stream identifier and the service function path according to the data stream identifier corresponding to the current data stream data packet. Determine the service function path corresponding to the current data stream packet.
  • the service function path generating means may directly determine the service function path according to the saved correspondence between the data stream identifier and the service function path.
  • the corresponding service function path can be quickly determined for the data stream data packet, and it is not necessary to perform the service function path according to the information of the service function chain for each data stream data packet.
  • the service function path determining module may be configured according to the saved data stream. Identifying a correspondence relationship with the service function path, and determining the service function path of the data stream intermediate data packet.
  • data stream data packet transmission In the process of data stream data packet transmission, according to different transmission phases, it can be divided into three stages: data stream first initiation, data stream intermediate transmission, and data stream end.
  • the service function chain selecting means may set a phase indicator indicating the phase position of the entire data stream in which the data stream data packet is located in the data stream.
  • the stage identifier may include: a start identifier, which may include, but is not limited to, information such as “start” or “begin”.
  • the identifier may also include: an end identifier, which may include, but is not limited to, “end” and the like.
  • the start identifier and the end identifier may be encapsulated in a packet header, for example, encapsulated in a service function chain identifier, when the data stream is first initiated and the data stream is terminated.
  • a service function chain identifier when the data stream is first initiated and the data stream is terminated.
  • the service function path generating means recognizes the start identifier carried by the classifier in the data stream packet, it is determined that the data stream packet is at the beginning of the entire data stream; when the service function path generating means recognizes the classifier
  • the end identifier carried in the data stream packet is determined, the data stream packet is determined to be at the end of the entire data stream.
  • the service function path generating means does not identify the stage identifier indicating the phase position of the entire data stream in which the data stream data packet is located in the data stream data packet, it is determined that the data stream data packet is in the intermediate transmission phase of the entire data stream.
  • the service function path generating means may record the correspondence between the data stream identifier and the data service function path, for example, the correspondence between the quintuple information and the service function path.
  • the method may further include:
  • the relationship deletion module 1304 is configured to: when the data and information acquisition module receives the data flow end data packet, delete the corresponding relationship between the saved data flow identifier and the service function path; where the data flow ends The data packet carries the data flow identifier and the end identifier.
  • the network topology may change, for example: The number of instances in the service function is increased or decreased, or the location of the service function instance is changed.
  • the network topology state information may be carried by the data stream data packet. Since the service function instance selection algorithm is different from the service function device change before the service function instance changes, in this case, the instance selection algorithm needs to indicate the network topology state corresponding to the algorithm, and thus, the service function path The generating device can correspond to different instance selection algorithms according to the received network topology state information.
  • the service function path determining module may specifically determine the instance selection algorithm corresponding to the network topology according to the network topology; and then, according to the information of the service function chain, the instance selection parameter and the The instance selection algorithm corresponding to the network topology determines an instance of the service function of the data stream packet.
  • the service function chain selection device may obtain the network topology state information by implementing the service function chain control execution device to indicate the service function chain selection device network topology structure information, for example, when the network topology changes, the service function chain controls execution.
  • the device sends a network topology status indication to the service function chain selection device, indicating that the current network topology of the service function chain selection device changes, and the indication carries the changed network topology structure information.
  • the service function chain control execution device indicates that the service function chain selection device is not limited.
  • the service function chain control execution device may send an event notification message to the service function chain selection device, where the notification message may be Contains an indicator bit to indicate the different stages of the network topology change.
  • the service function path generation device is a switch, PCEF or TDF.
  • the service function path generating device may be configured to be independent of the functional entity of the switch, or may be integrated with the switch, and the embodiment of the present invention is not specifically limited.
  • the service function path generating device adopts the setting form integrated with the switch, the service function path generating device can directly route the forwarding data packet to the corresponding service function instance according to the service function path information.
  • the service function path generating device is set to be independent of the functional entity of the switch, after determining the service function path of the data stream data packet, the service function path generating device needs to send the service function path to the switch through a forwarding module.
  • the switch routes and forwards the data packet to the corresponding service function instance according to the service function path information.
  • the service function chain selection device may include:
  • a data packet receiving module 1501 configured to receive a data stream data packet
  • the information acquiring module 1502 of the service function chain is configured to acquire information about a service function chain of the data stream data packet, where the information of the service function chain includes an identifier of a service function that the data stream data packet needs to pass;
  • a data and information sending module 1503 configured to send the data stream data packet and the information of the service function chain to the service function path generating device, so that the service function path generating device is configured according to the information of the service function chain, Determining a service function path of the data stream packet.
  • the service function chain selection means may be PCEF or TDF.
  • the information acquiring module of the service function chain is configured to determine information of the service function chain according to a service function selection policy; or the service function chain selecting device receives a service function chain of the data stream data packet Information. That is, the information of the service function chain can be determined according to the service function selection policy, or can be directly obtained from the PCRF. Generally, according to the operator's policy, for example, according to the type of the user, the user's subscription data, and the network status, different service function links are established for different data flows, and the service is represented by different service function identifiers. Functional chain information.
  • a service function selection policy refers to a processing strategy of a data stream, which can be obtained from an activated PCC rule or an ADC rule. In addition, the service function selection policy can be obtained by the PCRF through user subscription data.
  • the classifier may carry a stage in the data stream indicating the phase position of the entire data stream in which the data stream data packet is located.
  • the stage identifier may include: a start identifier and an end identifier.
  • the start identifier may be encapsulated in the packet header by starting the identifier setting module; and, in the end phase of the data stream, the end identifier is encapsulated in the packet header by, for example, encapsulating the end of the data stream, for example, encapsulation In the service function chain identifier.
  • the service function path generating means recognizes the start identifier carried by the classifier in the data stream packet, it is determined that the data stream packet is at the beginning of the entire data stream; when the service function path generating means recognizes the classifier When the end identifier carried in the data stream packet is determined, the data stream packet is determined to be at the end of the entire data stream.
  • the "start" and "end” flags are not included. Therefore, when the service function path generating means does not identify the stage identifier indicating the phase position of the entire data stream in which the data stream data packet is located in the data stream data packet, it is determined that the data stream data packet is in the intermediate transmission phase of the entire data stream.
  • the method may further include:
  • the topology indication receiving module 1504 is configured to receive a network topology status indication.
  • the topology information setting module 1505 is configured to set network topology state information in the data flow data packet according to the network topology state indication.
  • the service function chain control execution device may send the network topology state indication to the service function chain selection device, or the service function chain control execution device may serve the service through the third-party device.
  • the function chain selection device sends a network topology status indication. The indication is sent to the service function chain to select the current network topology status information of the device.
  • how the service function chain control execution device indicates that the service function chain selection device is not limited.
  • the service function chain selecting means sends the data stream data packet to the service function path generating means, in the data stream data packet, the network topology structure state information may be set in the data stream data packet by the topology information setting module, thereby making the data
  • the stream packet can carry the identifier of the service function and the network topology status information at the same time.
  • the identifier representation of the service function that the data stream packet needs to pass may include: a string of service functions that the data stream packet needs to pass, and an instance group of service functions that the data stream packet needs to pass. A list and a numeric tag that represents the service functions that the data stream packet needs to pass through. It will not be repeated here.
  • the present invention further provides a service function path generation device based on a computer system.
  • the device may include: a processor 1701, a memory 1702, a bus 1703, and a communication interface 1704; 1702 is for storing computer execution instructions, the processor 1701 is connected to the memory 1702 via the bus 1703, and when the service function path generating device is running, the processor 1701 executes the storage stored by the memory 1702
  • the computer executes the instructions to cause the service function path generating means to perform the method flow of determining the service function path as described in any of Figures 3-4 or 9-12.
  • the present invention further provides a service function chain selection device based on a computer system.
  • the device may include: a processor 1801, a memory 1802, a bus 1803, and a communication interface 1804;
  • the memory 1802 is configured to store computer execution instructions, the processor 1801 is connected to the memory 1802 via the bus 1803, and when the service function chain selection device is in operation, the processor 1801 executes the memory 1802 to store
  • the computer executes instructions to cause the service function chain selection device to perform the method flow of determining a service function path as described in any of Figures 5-6 or 9-12.
  • the processor may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or the like.
  • the computer storage medium may store a program, and the program may include a part of each embodiment of the method for data transmission provided by the embodiment of the present invention. Minute or all steps.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
  • the embodiment of the present invention further provides a computer readable medium, comprising: computer executed instructions, when the processor of the computer executes the computer to execute an instruction, the computer performs any one of FIG. 3-4 or 9-12 The method of determining the service function path.
  • Embodiments also provide a computer readable medium comprising computer executable instructions for execution by a processor of a computer to perform the determination of any of Figures 5-6 or 9-12 Method flow for the service function path.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the function can be implemented in the form of a software functional unit and sold or used as a stand-alone product. Stored in a computer readable storage medium.
  • a computer readable storage medium including The instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

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

Abstract

公开一种确定服务功能路径的方法及装置。其中,确定服务功能路径的方法可以包括:服务功能路径生成装置获取数据流数据包和所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识;所述服务功能路径生成装置根据所述服务功能链的信息,确定所述数据流数据包的服务功能路径。通过本公开,能够减少确定服务功能路径过程中的控制信令。

Description

一种确定服务功能路径的方法及装置 技术领域
本发明涉及通信技术领域,特别涉及一种确定服务功能路径的方法及装置。
背景技术
在固定或移动宽带接入领域及数据中心应用中,会存在很多基于4层到7层的服务功能,包括防病毒、防火墙、应用缓存和加速、Web优化、NAT(Network Address Translation,网络地址转换)、家庭控制等服务功能。
在现有常用组网中往往在固定或移动用户接入设备后面串接服务功能处理设备,如图1所示,其中用户接入设备可以是移动宽带的GGSN(Gateway General Packet Radio Service Support Node,网关通用分组无线服务支持节点)/P-GW(Packet data network GateWay,分组数据网网关)或固定接入的BNG(Broadband Network Gateway,宽带网络网关控制设备)或数据中心中的ToR(The Onion Router,洋葱路由器)。在实际应用中,可能部分用户的数据流需要进行防病毒处理,部分用户的数据流需要进行NAT,部分用户数据流(如:仅视频或Web访问数据流)需要进行应用缓存和加速。但在图1所示组网技术中,所有用户的数据流都需要流经串接的多个服务功能处理设备,不管这些数据流是否需要进行相应的服务功能处理。
可见,图1的组网技术方案导致本来不需要经过服务功能设备的数据流都需要经过每个服务功能处理设备,对服务功能处理设备的处理容量需求变大,增加了不必要的网络设备投资,同时导致了组网中故障点的增加,某个服务功能处理设备故障可能会导致整体数据流中断或故障。
为解决串接多个服务功能组网时,本来不需要流经服务功能设备的数据流都需要经过每个服务功能处理设备而带来的问题,业界提出了一种服务功能链的概念,将某个数据流所需经过的服务功能以及所需经过的服务功能的顺序定义为服务功能链,例如:(防病毒,防火墙,NAT地址转换)、(应用缓存和加速,防火墙,NAT地址转换)和(防火墙,NAT地址转换,防病毒)分别属于不同的服务功能链,从而根据服务功能链,可以将数据流发送到该数据流对应需要经过的服务功能处理设备。
如图2所示的网络构架中,包括控制器、分类器、交换机以及服务功能(Service  Function)的实例,该服务功能的实例是指对数据流执行服务功能时对该数据流进行相应处理的设备,例如服务功能处理设备。实际应用中,为了处理大量的数据流,每个服务功能可以有多个实例能够执行该服务功能,例如如图2所示的服务功能1中可以包含A、B两个实例,服务功能2中包含有C、D、E、三个实例。因而在实际的数据流传输过程中,同一个服务功能链可以对应到多种服务功能路径,例如当服务功能链为(服务功能1,服务功能2)时,对应的服务功能路径可以是(服务功能1-实例A,服务功能2-实例C),还可以是(服务功能1-实例B,服务功能2-实例E)等。然而,现在技术中,控制器与分类器需要经过多次信令交互才能确定服务功能路径。
发明内容
本发明的实施例中提供了一种确定服务功能路径的方法及装置,能够减少确定服务功能路径过程中的控制信令。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面,提供一种确定服务功能路径的方法,包括:服务功能路径生成装置获取数据流数据包和所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识;
所述服务功能路径生成装置根据所述服务功能链信息,确定所述数据流数据包的服务功能路径。
结合上述第一方面,在第一种可能的实现方式中,所述服务功能路径生成装置获取数据流数据包和所述数据流数据包的服务功能链的信息,包括:
所述服务功能路径生成装置接收服务功能链选择装置发送的所述数据流数据包和所述服务功能链的信息。
结合上述第一方面,在第二种可能的实现方式中,所述服务功能路径生成装置获取数据流数据包和所述数据流数据包的服务功能链的信息,包括:
所述服务功能路径生成装置接收所述数据流数据包;
所述服务功能路径生成装置获取所述数据流数据包的所述服务功能链的信息。
结合上述第一方面,和第二种可能的实现方式中,在第三种可能的实现方式中,所述服务功能路径生成装置获取所述数据流数据包的所述服务功能链的信息,包括:
所述服务功能路径生成装置根据服务功能选择策略,确定所述服务功能链的信 息;
或者,所述服务功能路径生成装置接收所述服务功能链的信息。
结合上述第一方面,和第三种可能的实现方式中,在第四种可能的实现方式中,所述服务功能选择策略是通过PCC规则或者ADC规则确定的。
结合上述第一方面,和第一至第四种可能的实现方式中,在第五种可能的实现方式中,所述服务功能路径生成装置根据所述服务功能链的信息确定所述数据流数据包的服务功能路径包括:
所述服务功能路径生成装置根据实例选择参数和实例选择算法中的至少一种以及所述服务功能链的信息确定所述服务功能路径。
结合上述第一方面,和第五种可能的实现方式中,在第六种可能的实现方式中,
所述数据流数据包携带网络拓扑结构状态信息;所述服务功能路径生成装置根据实例选择参数和实例选择算法中的至少一种以及所述服务功能链的信息确定所述服务功能路径包括:
所述服务功能路径生成装置根据所述网络拓扑结构,确定所述网络拓扑结构对应的所述实例选择算法;
所述服务功能路径生成装置根据所述服务功能链的信息、所述实例选择参数和所述网络拓扑结构对应的所述实例选择算法,确定所述数据流数据包的服务功能中的实例。
结合上述第一方面,和第五、第六种可能的实现方式中,在第七种可能的实现方式中,所述实例选择参数包括所述数据流数据包的服务功能中各实例的负荷权重。
结合上述第一方面,和第五、第六种可能的实现方式中,在第八种可能的实现方式中,所述实例选择算法为基于IMSI的哈希算法、基于IP五元组的哈希算法和基于IMSI与服务功能链标识的哈希算法中的任一种。
结合上述第一方面,和第一至第八种可能的实现方式中,在第九种可能的实现方式中,所述数据流数据包携带数据流标识,所述方法还包括:
所述服务功能路径生成装置保存所述数据流标识与所述服务功能路径的对应关系。
结合上述第一方面,和第九种可能的实现方式中,在第十种可能的实现方式中, 所述服务功能路径生成装置保存所述数据流标识与所述服务功能路径的对应关系包括:
所述服务功能路径生成装置在所述数据流数据包携带开始标识时,保存所述数据流标识与所述服务功能路径的对应关系,所述开始标识用于指示所述数据流数据包处于数据流的开始阶段。
结合上述第一方面,和第九、第十种可能的实现方式中,在第十一种可能的实现方式中,还包括:
所述服务功能路径生成装置接收数据流中间数据包,所述数据流中间数据包携带所述数据流标识;
所述服务功能路径生成装置根据所述保存的所述数据流标识与所述服务功能路径的对应关系,确定所述数据流中间数据包的所述服务功能路径。
结合上述第一方面,和第九至第十一种可能的实现方式中,在第十二种可能的实现方式中,还包括:
所述服务功能路径生成装置接收数据流结束数据包,所述数据流结束数据包携带所述数据流标识和结束标识,所述结束标识用于指示所述数据流结束数据包处于数据流的结束阶段;
所述服务功能路径生成装置删除所述保存的所述数据流标识与所述服务功能路径的对应关系。
结合上述第一方面,和第一至第十二种可能的实现方式中,在第十三种可能的实现方式中,所述服务功能路径生成装置为交换机、PCEF或TDF。
结合上述第一方面,和第一至第十二种可能的实现方式中,在第十四种可能的实现方式中,还包括:
所述服务功能路径生成装置将所述服务功能路径发送给交换机。
结合上述第一方面,和第一至第十四种可能的实现方式中,在第十五种可能的实现方式中,所述数据流数据包所需经过的服务功能的标识为所述数据流数据包所需经过的服务功能的字符串、所述数据流数据包所需经过的服务功能的实例组列表和表示所述数据流数据包所需经过的服务功能的数字标签中的任一种形式。
第二方面,提供一种确定服务功能路径的方法,包括:
服务功能链选择装置接收数据流数据包;
所述服务功能链选择装置获取所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识;
所述服务功能链选择装置向所述服务功能路径生成装置发送所述数据流数据包和所述服务功能链的信息,以便所述服务功能路径生成装置根据所述服务功能链的信息,确定所述数据流数据包的服务功能路径。
结合上述第二方面,在第一种可能的实现方式中,所述服务功能链选择装置获取所述数据流数据包的服务功能链的信息包括:
所述服务功能链选择装置根据服务功能选择策略,确定所述服务功能链的信息;
或者,所述服务功能链选择装置接收所述数据流数据包的服务功能链的信息。
结合上述第二方面,和第一种可能的实现方式,在第二种可能的实现方式中,所述服务功能选择策略是通过PCC规则或者ADC规则确定的。
结合上述第二方面,和第一至第二种可能的实现方式,在第三种可能的实现方式中,还包括:
当所述数据流数据包处于数据流的开始阶段时,所述服务功能链选择装置在所述数据流数据包中携带开始标识。
结合上述第二方面,和第一至第二种可能的实现方式,在第四种可能的实现方式中,还包括:
当所述数据流数据包处于数据流的结束阶段时,所述服务功能链选择装置在所述数据流数据包中携带结束标识。
结合上述第二方面,和第一至第四种可能的实现方式,在第五种可能的实现方式中,还包括:
所述服务功能链选择装置接收网络拓扑结构状态指示;
所述服务功能链选择装置根据所述网络拓扑结构状态指示,在所述数据流数据包中设置网络拓扑结构状态信息。
结合上述第二方面,和第一至第五种可能的实现方式,在第六种可能的实现方式中,所述服务功能链选择装置为PCEF或TDF。
结合上述第二方面,和第一至第六种可能的实现方式,在第七种可能的实现方式中,所述数据流数据包所需经过的服务功能的标识为所述数据流数据包所需经过的服务功能的字符串、所述数据流数据包所需经过的服务功能的实例组列表和表示所述数据流数据包所需经过的服务功能的数字标签中的任一种形式。
第三方面,提供一种服务功能路径生成装置,包括:
数据及信息获取模块,用于获取数据流数据包和所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识;
服务功能路径确定模块,用于根据所述服务功能链信息,确定所述数据流数据包的服务功能路径。
结合上述第三方面,在第一种可能的实现方式中,所述数据及信息获取模块,具体用于接收服务功能链选择装置发送的所述数据流数据包和所述服务功能链的信息。
结合上述第三方面,在第二种可能的实现方式中,所述数据及信息获取模块,具体用于接收所述数据流数据包;获取所述数据流数据包的所述服务功能链的信息。
结合上述第三方面,和第二种可能的实现方式中,在第三种可能的实现方式中,所述数据及信息获取模块,具体用于根据服务功能选择策略,确定所述服务功能链的信息;或者,接收所述服务功能链的信息。
结合上述第三方面,和第三种可能的实现方式中,在第四种可能的实现方式中,所述服务功能选择策略是通过PCC规则或者ADC规则确定的。
结合上述第三方面,和第一至第四种可能的实现方式中,在第五种可能的实现方式中,所述服务功能路径确定模块,具体用于根据实例选择参数和实例选择算法中的至少一种以及所述服务功能链的信息确定所述服务功能路径。
结合上述第三方面,和第五种可能的实现方式中,在第六种可能的实现方式中,所述数据流数据包携带网络拓扑结构状态信息;所述服务功能路径确定模块,具体用于根据所述网络拓扑结构,确定所述网络拓扑结构对应的所述实例选择算法;根据所述服务功能链的信息、所述实例选择参数和所述网络拓扑结构对应的所述实例选择算法,确定所述数据流数据包的服务功能中的实例。
结合上述第三方面,和第五、第六种可能的实现方式中,在第七种可能的实现 方式中,所述实例选择参数包括所述数据流数据包的服务功能中各实例的负荷权重。
结合上述第三方面,和第五、第六种可能的实现方式中,在第八种可能的实现方式中,所述实例选择算法为基于IMSI的哈希算法、基于IP五元组的哈希算法和基于IMSI与服务功能链标识的哈希算法中的任一种。
结合上述第三方面,和第一至第八种可能的实现方式中,在第九种可能的实现方式中,所述数据流数据包携带数据流标识,还包括:
关系存储模块,用于保存数据流标识与所述服务功能路径的对应关系,所述数据流数据包携带所述数据流标识。
结合上述第三方面,和第九种可能的实现方式中,在第十种可能的实现方式中,所述关系存储模块,具体用于,在所述数据流数据包携带开始标识时,保存所述数据流标识与所述服务功能路径的对应关系,所述开始标识用于指示所述数据流数据包处于数据流的开始阶段。
结合上述第三方面,和第九、第十种可能的实现方式中,在第十一种可能的实现方式中,所述数据及信息获取模块还用于接收数据流中间数据包,所述数据流中间数据包携带所述数据流标识时;则所述服务功能路径确定模块具体用于根据所述数据及信息获取模块保存的所述数据流标识与所述服务功能路径的对应关系,确定所述数据流中间数据包的所述服务功能路径。
结合上述第三方面,和第九至第十一种可能的实现方式中,在第十二种可能的实现方式中,还包括:
关系删除模块,用于在所述数据及信息获取模块接收数据流结束数据包时,删除所述保存的所述数据流标识与所述服务功能路径的对应关系;其中,所述数据流结束数据包携带所述数据流标识和结束标识,所述结束标识用于指示所述数据流结束数据包处于数据流的结束阶段。
结合上述第三方面,和第一至第十二种可能的实现方式中,在第十三种可能的实现方式中,所述服务功能路径生成装置为交换机、PCEF或TDF。
结合上述第三方面,和第一至第十二种可能的实现方式中,在第十四种可能的实现方式中,还包括:转发模块,用于将所述服务功能路径发送给交换机。
结合上述第三方面,和第一至第十四种可能的实现方式中,在第十五种可能的实现方式中,所述数据流数据包所需经过的服务功能的标识为所述数据流数据包所需 经过的服务功能的字符串、所述数据流数据包所需经过的服务功能的实例组列表和表示所述数据流数据包所需经过的服务功能的数字标签中的任一种形式。
第四方面,提供一种服务功能链选择装置,包括:
数据包接收模块,用于接收数据流数据包;
服务功能链信息获取模块,用于获取所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识;
数据及信息发送模块,用于向所述服务功能路径生成装置发送所述数据流数据包和所述服务功能链的信息,以便所述服务功能路径生成装置根据所述服务功能链的信息,确定所述数据流数据包的服务功能路径。
结合上述第四方面,在第一种可能的实现方式中,所述服务功能链选择装置获取所述数据流数据包的服务功能链的信息包括:
所述服务功能链选择装置根据服务功能选择策略,确定所述服务功能链的信息;
或者,所述服务功能链选择装置接收所述数据流数据包的服务功能链的信息。
结合上述第四方面,和第一种可能的实现方式,在第二种可能的实现方式中,所述服务功能选择策略是通过PCC规则或者ADC规则确定的。
结合上述第四方面,和第一至第二种可能的实现方式,在第三种可能的实现方式中,还包括:
开始标识设置模块,用于当所述数据流数据包处于数据流的开始阶段时,所述服务功能链选择装置在所述数据流数据包中携带开始标识。
结合上述第四方面,和第一至第二种可能的实现方式,在第四种可能的实现方式中,还包括:
结束标识设置模块,用于当所述数据流数据包处于数据流的结束阶段时,所述服务功能链选择装置在所述数据流数据包中携带结束标识。
结合上述第四方面,和第一至第四种可能的实现方式,在第五种可能的实现方式中,还包括:拓扑指示接收模块,用于接收网络拓扑结构状态指示;
拓扑信息设置模块,用于根据所述网络拓扑结构状态指示,在所述数据流数据包中设置网络拓扑结构状态信息。
结合上述第四方面,和第一至第五种可能的实现方式,在第六种可能的实现方式中,所述服务功能链选择装置为PCEF或TDF。
结合上述第四方面,和第一至第六种可能的实现方式,在第七种可能的实现方式中,所述数据流数据包所需经过的服务功能的标识为所述数据流数据包所需经过的服务功能的字符串、所述数据流数据包所需经过的服务功能的实例组列表和表示所述数据流数据包所需经过的服务功能的数字标签中的任一种形式。
第五方面,提供一种服务功能路径生成装置,包括:包括处理器、存储器、总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述服务功能路径生成装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述服务功能路径生成装置执行前述第一方面中确定服务功能路径的方法。
第六方面,提供一种服务功能链选择装置,包括:包括处理器、存储器、总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述服务功能链选择装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述服务功能链选择装置执行前述第二方面中确定服务功能路径的方法。
第七方面,提供一种计算机可读介质,包括计算机执行指令,以供计算机的处理器执行所述计算机执行指令时,所述计算机执行前述第一方面中确定服务功能路径的方法。
第八方面,提供一种计算机可读介质,包括计算机执行指令,以供计算机的处理器执行所述计算机执行指令时,所述计算机执行前述第二方面中确定服务功能路径的方法。
本发明实施例中,服务功能路径生成装置获取数据流数据包和所述数据流数据包的服务功能链的信息,服务功能链的信息中包括所述数据流数据包所需经过的服务功能的标识,所述服务功能路径生成装置能够根据该服务功能链的信息,确定数据流数据包的服务功能路径。可见,在确定服务功能路径的过程中,可以由服务功能路径生成装置直接确定数据流数据包的服务功能路径,无需进行多次控制信令交 互,使得确定服务功能路径过程中的控制信令大大减少。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1所示为串接增值数据设备的示意图;
图2所示为网络架构示意图;
图3所示为本发明提供的一种确定服务功能路径的方法实施例流程图;
图4所示为本发明实施例中,当网络拓扑发生变化时,确定服务功能路径的方法流程图;
图5所示为本发明实施例提供的又一种确定服务功能路径的流程图;
图6所示为本发明实施例中,当网络拓扑发生变化时,确定服务功能路径的方法流程图;
图7所示为本发明实施例中变化之前的网络架构示意图;
图8所示为本发明实施例中变化之后的网络架构示意图;
图9所示为本发明实施例中,数据流首次发起的场景下,确定服务功能路径的流程图;
图10所示为本发明实施例中,数据流中间传输阶段的场景下,确定服务功能路径的流程图;
图11所示为本发明实施例中,数据流技术阶段的场景下,确定服务功能路径的流程图;
图12所示为本发明实施例中,网络拓扑发生变化的场景下,确定服务功能路径的流程图;
图13所示为本发明实施例中一种服务功能路径生成装置的结构示意图;
图14所示为本发明实施例中另一种服务功能路径生成装置的结构示意图;
图15所示为本发明实施例中一种服务功能链选择装置的结构示意图;
图16所示为本发明实施例中另一种服务功能链选择装置的结构示意图;
图17所示为本发明实施例中另一种服务功能路径生成装置的结构示意图;
图18所示为本发明实施例中另一种服务功能链选择装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
首先,对本发明实施例所涉及到的装置进行简单说明。服务功能链生成装置,负责生成服务功能链,在通信网中可以是策略与计费规则功能单元(Policy and Charging Rules Function,PCRF)、流量检测功能(Traffic Detection Function,TDF)、策略及计费执行功能(Policy and Charging Enforcement Function,PCEF)或者控制器等设备;本发明实施例中,数据流数据包的服务功能链可以根据网络信息、用户的签约信息、数据流的标识或者该数据流对应的应用类型等确定,数据流数据包仅须按照服务功能链规定的所需经过的服务功能的顺序路由即可。
服务功能链选择装置,为数据流选择服务功能数据链,在通信网中可以是PCRF、TDF、PCEF或者控制器等设备;
服务功能链控制执行装置,负责按照所选择的服务功能链路由数据流数据包,在通信网中可以是PCRF或者控制器等设备;
服务功能路径生成装置,负责生成服务路径,在通信网中也可以是TDF、交换机等设备。
上述装置可以是一个独立的设备,也可以与通信网中的其它的设备集成在一起。
本发明实施例中,服务功能链(Service Function Chain)即某个数据流数据包所需经过的服务功能以及所需经过的服务功能的顺序,如:(防病毒,防火墙,NAT地址转换)、(应用缓存和加速,防火墙,NAT地址转换)和(防火墙,NAT地址转换,防病毒)分别属于不同的服务功能链。服务功能路径(Service Function Path)即某个数据流数据包所需经过的服务功能链的实例以及所需经过的服务功能链的实例的顺序。关于服务功能链和服务功能路径的定义也可以参考IETF草案“Network Service  Headerdraft-quinn-sfc-nsh-03”。
如图3所示,为本发明提供的一种确定服务功能路径的方法实施例,该方法可以包括以下执行步骤:
步骤301、服务功能路径生成装置获取数据流数据包和所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识。
步骤302、所述服务功能路径生成装置根据所述服务功能链的信息,确定所述数据流数据包的服务功能路径。
所述服务功能路径可以包括所述数据流数据包所需经过的服务功能的实例的网络属性信息和所述数据流数据包所需经过的服务功能的实例的顺序;或者,所述服务功能路径可以包括所述数据流数据包所需经过的服务功能的实例的标识和所述数据流数据包所需经过的服务功能的实例的顺序,本发明实施例在此不作限定,可以根据服务功能路径将所述数据流数据包路由/转发到相应的服务功能的实例即可。其中,实例的网络属性信息包括服务功能内各实例在所处网络的各种路由/转发标识等属性信息,例如:IP地址、端口号信息等。为了描述方便,将所述信息称为网络属性信息。
上述步骤301中,可以由服务功能链选择装置确定所述数据流数据包的所述服务功能链的信息,所述服务功能链选择装置可以将所述服务功能链的信息携带于所述数据包中发送给所述服务功路径生成装置,也可以将所述服务功能链的信息和所述数据包分别发送给所述服务功能路径生成装置。则所述服务功路径生成装置可以接收所述服务功能链选择装置发送的所述数据流数据包和所述服务功能链的信息。
需要说明的是,服务功能路径生成装置和服务功能链选择装置还可以设置为同一装置,此时所述服务功能路径生成装置可以接收所述数据流数据包,并获取所述数据流数据包的所述服务功能链的信息,例如,服务功能路径生成装置可以根据服务功能选择策略,确定所述服务功能链的信息;或者,由服务功能路径生成装置可以接收PCRF发送的服务功能链的信息。
其中,服务功能选择策略是指数据流的处理策略,该服务功能选择策略可以从激活的策略与计费控制(Policy and Charging Control,PCC)规则或应用探测与控制(Application Detection and Control,ADC)规则中获取。例如:某用户签约了防病毒 服务功能,且对于视频数据流签约了压缩处理服务功能,其中,防病毒与压缩处理都属于服务功能选择策略。当服务功能路径生成装置接收到这些策略后,即可根据各种处理功能的特点与顺序,确定具体的服务功能链。当确定服务功能链之后,基于服务功能链的分类原则,将数据包按照数据流标识进行分类,并将获取的对应该数据流的业务类型的服务功能链标识加入到数据包头中,以便于服务功能路径生成装置能够根据该服务功能链标识采用相应的路由策略。例如,如果服务功能链是基于业务类型分类,则需要根据数据流标识解析业务类型,并且在不同的业务类型的数据包中设置该业务类型对应的服务功能链标识;如果服务功能链是基于五元组信息分类的,则基于五元组信息将数据流分类,并在该数据流的数据包中设置对应的服务功能链标识。
上述步骤302中,服务功能路径生成装置获取到服务功能链的信息之后,即可根据该服务功能链的信息,确定数据流数据包的服务功能路径。
实际应用场景中,服务功能路径生成装置可以为交换机、PCEF或TDF。具体地,服务功能路径生成装置可以设置为独立于交换机的功能实体,也可以与交换机集成为一体,对此,本发明实施例并不做具体限定。当服务功能路径生成装置采用与交换机集成为一体的设置形式时,服务功能路径生成装置可以直接按照服务功能路径路由\转发该数据流数据包至对应的服务功能的实例,以进行相应的处理。而当服务功能路径生成装置设置为独立于交换机的功能实体时,服务功能路径生成装置在确定数据流数据包的服务功能路径之后,还可以将服务功能路径发送至交换机,由交换机按照服务功能路径路由\转发该数据流数据包至对应的服务功能实例。
可选地,所述数据流数据包所需经过的服务功能的标识表现形式,可以包括:所述数据流数据包所需经过的服务功能的字符串、所述数据流数据包所需经过的服务功能的实例组列表和表示所述数据流数据包所需经过的服务功能的数字标签等形式。
例如,当采用所述数据流数据包所需经过的服务功能的字符串的表现形式时,所述数据流数据包所需经过的服务功能的标识可以为防病毒、防火墙和NAT地址转换等字符串,此时服务功能链的信息可以为:(防病毒,防火墙,NAT地址转换)。
当采用表示所述数据流数据包所需经过的服务功能的数字标签的表现形式时,服务功能链的信息可以是与服务功能链对应的数字字符序号。例如:有十条服务功能链,采用1,2,3……10这样的数字字符序号来表示各服务功能链,此时,服务功能链的信息可以是1或2等数字字符序号。
此外,各类服务功能均可以包含多个实例以便负荷分担,由此,可以将各类服 务功能认为是一组实例的集合,从而所述数据流数据包所需经过的服务功能的标识可以采用实例组列表的形式进行表示,例如:服务功能1采用Group1表示。因此,服务功能链的信息也可以是采用类似【Group1(防病毒),Group2(防水墙),Group4(NAT地址转换)】这样的服务功能实例组列表的表示形式。
本发明实施例中,服务功能路径生成装置获取数据流数据包和所述数据流数据包的服务功能链的信息,服务功能链的信息中包括所述数据流数据包所需经过的服务功能的标识,所述服务功能路径生成装置能够根据该服务功能链的信息,确定数据流数据包的服务功能路径。可见,在确定服务功能路径的过程中,可以由服务功能路径生成装置直接确定数据流数据包的服务功能路径,无需进行多次控制信令交互,使得确定服务功能路径过程中的控制信令大大减少。
进一步,由于在数据流数据包传输过程中,可能造成某个服务功能中某个或某几个实例负荷较重,而其它的设备轻负荷,甚至闲置没有数据流。如何使每个服务功能中的实例按照负荷比例实现负荷分担是一个要解决的问题。
具体地,以图2所示网络架构为例,每个服务功能中通常包含有多台服务功能处理设备(即实例)以便处理大量的数据流,例如服务功能1中包含A和B两个实例,服务功能2中包含有C、D、E三台服务功能实例,服务功能3中包含有F、G、H、I四台服务功能实例。在实际的数据流传输过程中,同一个服务功能链可以对应到多种服务功能路径,例如:服务功能链是(服务功能1,服务功能2,服务功能3),但是实际的服务功能路径可能有多种,包括:(服务功能1-A,服务功能2-C,服务功能3-F);(服务功能1-B,服务功能2-C,服务功能3-F);(服务功能1-A,服务功能2-D,服务功能3-H)等路由路径。因此,所述服务功能路径生成装置在确定数据流数据包的服务功能路径时,除了需要该数据流数据包的服务功能链的信息,还可以考虑服务功能中各实例的负荷分担情况,从而可以根据数据流数据包所需经过的服务功能中各实例的负荷分担情况,来确定服务功能路径。
所述服务功能路径生成装置可以根据实例选择参数和实例选择算法中的至少一种,以及所述服务功能链的信息确定所述数据流数据包的服务功能路径,例如所述服务功能路径生成装置可以根据获取到的服务功能链的信息,确定所述数据流数据包所需经过的服务功能和所述数据流数据包所需经过的服务功能的顺序,再根据实例选择参数和/或实例选择算法,可以进一步确定所述数据流数据包所需经过的服务功能的实例和所述数据流数据包所需经过的服务功能的实例的顺序,即确定服务功能路径。 其中,实例选择参数和/或实例选择算法与服务功能中各实例的负荷有关,例如,实例选择参数可以包括数据流数据包所需经过的服务功能中各实例的负荷权重,所述服务功能路径生成装置可以根据实例选择参数以及所述服务功能链的信息确定所述数据流数据包的服务功能路径;或者,所述服务功能路径生成装置在确定服务功能实例选择算法时,可以根据各个实例负荷分担的比例,确定数据流数据包的分配方式,例如:如果某一个服务功能包括两个服务功能实例,两实例的负荷分担比例为2:3,由此,服务功能路径生成装置通过确定服务功能实例选择规则算法,实现将数据流按照2:3的比例相对均衡地分布在两个服务功能实例上。具体地,服务功能路径生成装置可以对数据流的五元组信息执行哈希算法,此处,哈希算法即为服务功能实例选择规则算法的一种实现形式,根据该哈希算法,服务功能路径生成装置会按照各服务功能实例的负荷分担比例将数据流分发到各个服务功能实例。本发明实施例中,具体哈希算法不限制,例如:可以根据国际移动用户识别码(International Mobile Subscriber Identity,IMSI)执行哈希算法,将用户按照相应的负荷分担比分配在相应服务功能实例上;或者,基于IMSI与服务功能链标识执行哈希算法,将用户以及相应的服务功能链按照相应的负荷分担比例分配到相应服务功能实例。
可选地,所述数据流数据包还可以携带数据流标识,所述服务功能路径生成装置在确定所述数据流数据包的服务功能路径之后,还可以保存所述数据流标识与所述服务功能路径的对应关系,从而在接收到携带相同数据流标识的数据流数据包(即同一个数据流中的数据包)时,所述服务功能路径生成装置可以直接根据所述保存的所述数据流标识与所述服务功能路径的对应关系,确定服务功能路径,可以快速为数据流数据包确定相应的服务功能路径,无需为每个数据流数据包执行根据服务功能链的信息去确定服务功能路径,大大提高了效率,能够避免由此带来的服务功能路径生成装置性能下降的缺陷。
在数据流数据包传输的过程中,根据传输阶段的不同,可以划分为数据流首次发起、数据流中间传输以及数据流结束三个阶段。
为了便于服务功能路径生成装置对接收到的数据流数据包确定服务功能路径,可以由服务功能链选择装置在数据流中设置表示该数据流数据包所处数据流的阶段位置的阶段标识。具体地,阶段标识可以包括:开始标识,可以包含但不限于“start”或“begin”等信息,除开始标识之外,还可以包括:结束标识,可以包含但不限于“end”等信息。在数据流首次发起和数据流结束阶段时,可以分别将该开始标识和结束标识封装在数据包头中,例如:封装在服务功能链标识中。由此,当服务功能路径生成装 置识别出在数据流数据包中携带的开始标识时,确定数据流数据包处于整个数据流的开始阶段;当服务功能路径生成装置识别出由分类器在数据流数据包中携带的结束标识时,确定数据流数据包处于整个数据流的结束阶段。
对于处于中间传输阶段的数据流数据包,所述服务功能链选择装置可以不做任何处理,保持数据流数据包内容不变。因此,当服务功能路径生成装置未在数据流数据包中识别出表示数据流数据包所处整个数据流的阶段位置的阶段标识时,确定数据流数据包处于整个数据流的中间传输阶段。
此外,在数据流传输的结束阶段,服务功能路径生成装置还可以删除已保存的数据流标识与服务功能路径的对应关系,例如:如果服务功能路径生成装置在数据流开始建立了服务功能路径表,以保存数据流标识与服务功能路径的对应关系,则在数据流传输的结束阶段,可以删除在数据流开始阶段建立的服务功能路径表。
为了防止标识有结束标识的数据包丢失而造成的不能及时删除路由表的问题,也可以在服务功能路径生成装置上设置老化时间定时器,当定时器超时后,删除服务功能路径表,该老化时间的定时器时长可稍大于在分类器上设置的老化时间定时器,定时器可以是配置在服务功能路径生成装置上的。
此外,在应用过程中,可能存在网络拓扑发生改变的情况,例如:服务功能中的实例数量增加或者减少,或者,服务功能实例的位置发生改变,如:服务功能实例从当前的服务功能路径生成装置移动到其它的服务功能路径生成装置或者交换机上。为了在网络拓扑发生改变的情况下,便于服务功能路径生成装置确定服务功能路径,在本发明提供的另一个实施例中,可以在数据流数据包中设置网络拓扑结构状态信息,由数据流数据包携带网络拓扑结构状态信息。由于在服务功能实例情况变化时,服务功能实例选择算法将不同于服务功能设备变化前,因此,该种情形中,实例选择算法需指示该算法所对应的网络拓扑结构状态,从而,服务功能路径生成装置能够根据接收到的网络拓扑结构状态信息对应到不同的实例选择算法。实例选择算法与网络拓扑结构状态的对应关系可以包括但不限于以下形式:
表1服务功能实例选择算法与网络拓扑结构状态的对应关系
Figure PCTCN2014085690-appb-000001
Figure PCTCN2014085690-appb-000002
表1中,“网络拓扑结构状态”的名称不限制,此处,用“0~2”表示不同的网络拓扑结构状态。
该实施例的一种执行流程如图4所示,包括:
步骤401、所述服务功能路径生成装置获取数据流数据包和该数据流数据包的服务功能链的信息,其中,数据流数据包中携带网络拓扑结构状态信息;服务功能链的信息包括:数据流数据包所需经过的服务功能的标识;
步骤402、服务功能路径生成装置根据当前网络拓扑结构,确定当前网络拓扑结构对应的实例选择算法;
步骤403、服务功能路径生成装置根据服务功能链的信息、实例选择参数和网络拓扑结构对应的实例选择算法,确定所述数据流数据包的服务功能中的实例,其中,实例选择参数包括:数据流数据包的服务功能中各实例的负荷权重。
该实施例中,通过对应关系,将实例选择算法与网络拓扑结构状态相结合。
当网络拓扑发生变化时,服务功能链选择装置能够根据变化后的网络拓扑,获得最新的服务功能链的信息,并获取网络拓扑结构状态信息。服务功能链选择装置在向服务功能路径生成装置发送数据流数据包时,在该数据流数据包中,可以携带服务功能链的信息和网络拓扑结构状态信息。
服务功能链选择装置获取网络拓扑结构状态信息的实现方式可以是:由服务功能链控制执行装置指示服务功能链选择装置网络拓扑结构信息,例如:当网络拓扑发生变化时,由服务功能链控制执行装置向服务功能链选择装置发送网络拓扑结构状态指示,指示服务功能链选择装置当前的网络拓扑结构发生变化,指示中携带变化后的网络拓扑结构信息。
本发明实施例中,服务功能链控制执行装置如何指示服务功能链选择装置并不限制,例如:服务功能链控制执行装置可以向服务功能链选择装置发送一个事件通知消息,在该通知消息中可以包含一个指示位用以表示网络拓扑结构变化的不同阶段,如:在网络刚运行时该指示位为0,每发生一次网络拓扑变化,数值就增加1,为了方便描述,该指示位的名称定义为“阶段”(Stage)。可选地,在数据流首次发起、数 据流中间传输以及数据流结束三个阶段中,数据流中均可以携带该表示网络拓扑结构状态的指示位。
服务功能路径生成装置根据实例选择算法与网络拓扑结构状态的对应关系,可确定对应当前网络拓扑结构状态的服务功能设备选择算法。进而,服务功能路径生成装置根据携带在数据流数据包中的服务功能链的信息,确定服务功能序列,进一步,根据当前网络拓扑结构下应采用的实例选择算法,即可确定数据流数据包需要经过的服务功能链对应各服务功能中的具体服务功能实例。
为了便于服务功能路径生成装置对接收到的处于不同传输阶段的数据流数据包确定服务功能路径,服务功能链选择装置除了在数据流中携带网络拓扑结构状态信息之外,还可以在数据流中携带表示该数据流数据包所处整个数据流的阶段位置的阶段标识。具体实现方式已在前面实施例中进行了详细描述,因此,此处不再进行赘述。
需要说明的是,上述各个实施例中,服务功能路径生成装置所确定出的服务功能路径,可能是只指明具体实例的标识的路径,此外,还可能是一个包括网络属性信息具体IP地址的路径。这是由于,服务功能链的信息中,可以包括:服务功能内各实例的网络属性信息,服务功能内各实例的网络属性信息包括服务功能内各实例在所处网络的各种路由/转发标识等属性信息,例如:IP地址、端口号信息等。为了描述方便,将所述信息称为网络属性信息。
上述实施例从服务功能路径生成装置一侧,描述了确定服务功能路径过程中的相关执行流程。相应的,本发明还从服务功能链选择模块一侧,描述了相关执行流程。如图5所示,包括以下执行步骤:
步骤501、服务功能链选择装置接收数据流数据包;
步骤502、所述服务功能链选择装置获取所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识;
步骤503、所述服务功能链选择装置向所述服务功能路径生成装置发送所述数据流数据包和所述服务功能链的信息,以便所述服务功能路径生成装置根据所述服务功能链的信息,确定所述数据流数据包的服务功能路径。
该实施例中,服务功能链选择装置可以为PCEF或TDF。服务功能链选择装置获取服务功能链的信息,可以根据服务功能选择策略进行确定,也可以直接获取。通 常,根据运营商的策略,例如:根据用户的类型、用户的签约数据以及网络状况等信息,为不同的数据流制定不同的服务功能链路由,并采用不同的服务功能的标识表示该服务功能链的信息。
第一种实现方式中,服务功能选择策略是指数据流的处理策略,该策略可以从激活的,PCC规则或ADC规则中获取。例如:某用户签约了防病毒服务功能,且对于视频数据流签约了压缩处理服务功能,其中,防病毒与压缩处理都属于服务功能选择策略。当服务功能路径生成装置接收到这些策略后,即可根据各种处理功能的特点与顺序,确定具体的服务功能链。
第二种实现方式中,由服务功能链生成装置,例如PCRF,根据签约数据或者配置信息等生成服务功能链。比如某个用户签约执行防病毒处理,那么,PCRF可以通过PCC规则或ADC规则将该服务功能选择策略(防病毒)安装到服务功能链选择装置,从而,服务功能链选择装置根据收到的服务功能选择策略,确定处理所需的功能实例顺序,从而生成服务功能链。
具体地,服务功能链选择装置基于服务功能链的分类原则,将数据包分类,并将获取的对应该业务类型的服务功能链标识加入数据包头中,以便于服务功能路径生成装置能够根据该服务功能链标识采用相应的路由策略。例如,如果服务功能链是基于业务类型分类,则需要解析业务类型,并且在不同的业务类型的数据包中标识该业务类型对应的服务功能链标识;如果服务功能链是基于五元组信息分类的,则基于五元组信息将数据流分类,并在该数据流的数据包中包含对应的服务功能链标识。其它分类方式类似机制处理。
数据包和服务功能链的信息可以分别进行发送,也可以将二者合并进行发送。
在将数据包和服务功能链的信息合并发送方式中,可以在数据包中设置服务功能链的信息,如:将服务功能链标识加入数据包头中。
在服务功能链选择装置向服务功能路径生成装置发送数据流数据包的过程中,根据传输阶段的不同,可以划分为数据流首次发起、数据流中间传输以及数据流结束三个阶段。
为了便于服务功能路径生成装置对接收到的处于不同传输阶段的数据流数据包确定服务功能路径,可以由分类器在数据流中携带表示该数据流数据包所处整个数据流的阶段位置的阶段标识。具体地,阶段标识可以包括:开始标识,可以包含但不限 于“start”或“begin”等信息,除开始标识之外,还可以包括:结束标识,可以包含但不限于“end”等信息。在数据流首次发起和数据流结束阶段时,可以分别将该开始标识和结束标识封装在数据包头中,例如封装在服务功能链标识中。由此,当服务功能路径生成装置识别出由分类器在数据流数据包中携带的开始标识时,确定数据流数据包处于整个数据流的开始阶段;当服务功能路径生成装置识别出由分类器在数据流数据包中携带的结束标识时,确定数据流数据包处于整个数据流的结束阶段。
对于处于中间传输阶段的数据流数据包,不包含“开始”与“结束”标志。因此,当服务功能路径生成装置未在数据流数据包中识别出表示数据流数据包所处整个数据流的阶段位置的阶段标识时,确定数据流数据包处于整个数据流的中间传输阶段。
在另一个实施例中,服务功能链选择装置侧的处理流程还可以为图6所示流程,具体可以包括:
步骤601、服务功能链选择装置接收数据流数据包;
步骤602、所述服务功能链选择装置获取所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识;
步骤603、所述服务功能链选择装置接收网络拓扑结构状态指示;
步骤604、所述服务功能链选择装置根据所述网络拓扑结构状态指示,在所述数据流数据包中设置网络拓扑结构状态信息;
步骤605、所述服务功能链选择装置向所述服务功能路径生成装置发送携带所述网络拓扑结构状态信息的数据流数据包和所述服务功能链的信息,以便所述服务功能路径生成装置根据所述服务功能链的信息,确定所述数据流数据包的服务功能路径。
该实施例中,可能存在网络拓扑发生改变的情况,可以由服务功能链控制执行装置向服务功能链选择装置发送网络拓扑结构状态指示,也可以是服务功能链控制执行装置通过第三方设备向服务功能链选择装置发送网络拓扑结构状态指示。通过该指示通知服务功能链选择装置当前网络拓扑结构状态信息。本发明实施例中,服务功能链控制执行装置如何指示服务功能链选择装置并不限制,例如:服务功能链控制执行装置可以向服务功能链选择装置发送一个事件通知消息,在该通知消息中可以包含一个指示用以表示网络拓扑结构变化状态信息,如:在网络刚运行时该指示位为0,每发生一次网络拓扑变化,数值就增加1,为了方便描述,该指示位的名称不限定,可 以为“Stage”。在数据流首次发起、数据流中间传输以及数据流结束三个阶段中,数据流中均携带该表示变化后的网络拓扑结构状态的指示位。服务功能链选择装置获取服务功能的标识,并获取变化后的网络拓扑结构状态。服务功能链选择装置在向服务功能路径生成装置发送数据流数据包时,在该数据流数据包中,可以同时携带服务功能的标识和网络拓扑结构状态信息。
如前所述,所述数据流数据包所需经过的服务功能的标识表现形式,可以包括:数据流数据包所需经过的服务功能的字符串、数据流数据包所需经过的服务功能的实例组列表和表示数据流数据包所需经过的服务功能的数字标签等形式。此处不再进行赘述。
以图7所示的网络架构为例,服务功能路径为(服务功能1-1,服务功能2-2,服务功能3-4),当网络拓扑发生变化,如图8所示,服务功能1-1转移到交换机2,但要保证该数据流保持不变,采用上述增加Stage标识的方式可以实现该数据流不中断。具体为:当网络拓扑发生变化后,服务功能链控制执行模块获取变化后的各个服务功能的信息,包括:各服务功能实例的位置、端口等信息;服务功能链控制执行模块向服务功能路径生成装置(包括所有控制的交换机,如图9中的交换机1与交换机2)发送服务功能链标识以及服务功能设备选择算法,以及网络拓扑结构状态信息,服务功能链选择装置获取变化后的网络拓扑结构状态信息,在该数据流数据包中,携带服务功能的标识,并包含当前变化后的网络拓扑结构状态信息,将数据流数据包发送至服务功能路径生成装置2;服务功能路径生成装置2根据网络拓扑结构状态信息确定相应的实例选择算法,进而,根据该算法确定该数据流数据包的服务功能路径。通过这种方式,数据流在网络拓扑变化后仍然会通过位于服务功能路径生成装置2上的服务功能1-1,从而不会发生中断的问题。
为了便于对本方案的理解,下面通过具体应用场景对上述确定服务功能路径的方法进行详细说明。
图9所示为数据流首次发起的场景下,确定服务功能路径的流程,包括:
步骤901、服务功能链控制执行装置获取服务功能链的信息;其中,服务功能链的信息中还可以包括服务功能内各实例的网络属性信息;
步骤902、服务功能链控制执行装置向服务功能路径生成装置下发服务功能链的信息以及实例选择参数或实例选择算法;
步骤903、服务功能链选择装置获取服务功能链的信息,可以从PCRF获取,也可以在本地进行配置;
步骤904、服务功能链选择装置接收数据流数据包;
步骤905、服务功能链选择装置识别当前数据流为开始阶段;
步骤906、服务功能链选择装置数据流开始的数据包中设置开始标志;
步骤907、服务功能链选择装置在数据流数据包头中加入服务功能的标识,向服务功能路径生成装置发送携带该服务功能的标识的数据流数据包;
步骤908、服务功能路径生成装置接收数据流数据包,根据接收到的服务功能链的信息以及实例选择参数或实施选择算法确定所述数据流数据包的服务功能路径;同时,可以记录数据流标识与服务功能路径的对应关系,生成服务功能路径表;
步骤909、服务功能路径生成装置按照服务功能路径,向对应的服务功能实例转发数据流数据包。
图10所示为数据流中间传输阶段的场景下,确定服务功能路径的流程,包括:
步骤1001、服务功能链选择装置接收数据流数据包;
步骤1002、服务功能链选择装置识别当前数据流为中间传输阶段;
步骤1003、服务功能链选择装置对当前数据流数据包不做任何处理;
步骤1004、服务功能链选择装置在数据流数据包头中加入服务功能的标识,向服务功能路径生成装置发送携带该服务功能链标识的数据流数据包;
步骤1005、服务功能路径生成装置根据服务功能路径表,确定该数据流数据包对应的服务功能路径;
步骤1006、服务功能路径生成装置按照服务功能路径,向对应的服务功能实例转发数据流数据包。
图11所示为数据流结束阶段的场景下,确定服务功能路径的流程,包括:
步骤1101、服务功能链选择装置接收数据流数据包;
步骤1102、服务功能链选择装置识别当前数据流为结束阶段;
步骤1103、服务功能链选择装置在数据流数据包中携带结束标志;
步骤1104、服务功能链选择装置在数据流数据包头中加入服务功能的标识,向服务功能路径生成装置发送携带该服务功能链标识的数据流数据包;
步骤1105、服务功能路径生成装置根据服务功能路径表,确定该数据流数据包对应的服务功能路径;
步骤1106、服务功能路径生成装置按照服务功能路径,向对应的服务功能实例转发数据流数据包;
步骤1107、服务功能路径生成装置删除当前数据流对应的服务功能路径表。
图12所示为网络拓扑发生变化的场景下,确定服务功能路径的流程,包括:
步骤1201、服务功能链控制执行装置根据变化后的网络拓扑,获得最新的网络拓扑结构信息;
步骤1202、服务功能链控制执行装置向服务功能路径生成装置发送网络拓扑结构信息,以及网络拓扑结构对应的实例选择算法;
步骤1203、服务功能链控制执行装置指示服务功能链选择装置网络拓扑结构发生变化;
步骤1204~1206、服务功能路径生成装置接收服务功能链选择装置发送的不同传输阶段的数据流数据包,其中,数据流数据包中携带服务功能的标识以及变化后的网络拓扑结构状态信息,确定该数据流数据包对应的服务功能路径,并按照服务功能路径,向对应的服务功能实例转发该数据流数据包。
相应上述确定服务功能路径的方法实施例,本发明提供了相应的设备实施例。
如图13所示,为本发明提供的一种服务功能路径生成装置实施例。其中,该服务功能路径生成装置可以包括:
数据及信息获取模块1301,用于获取数据流数据包和所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识;
服务功能路径确定模块1302,用于根据所述服务功能链的信息,确定所述数据流数据包的服务功能路径。
所述服务功能路径可以包括所述数据流数据包所需经过的服务功能的实例的网络属性信息和所述数据流数据包所需经过的服务功能的实例的顺序;或者,所述服务功能路径可以包括所述数据流数据包所需经过的服务功能的实例的标识和所述数据流数据包所需经过的服务功能的实例的顺序,本发明实施例在此不作限定,可以根据服务功能路径将所述数据流数据包路由/转发到相应的服务功能的实例即可。
其中,所述数据及信息获取模块,具体用于接收服务功能链选择装置发送的所述数据流数据包和所述服务功能链的信息。
此外,所述数据及信息获取模块,具体用于接收所述数据流数据包;获取所述数据流数据包的所述服务功能链的信息。该实现方式中,服务功能路径生成装置和服务功能链选择装置设置为同一装置。
对于所述数据及信息获取模块,其具体用于根据服务功能选择策略和所述数据流数据包的数据流标识,确定所述服务功能链的信息;或者,接收PCRF发送的所述服务功能链的信息。
其中,服务功能选择策略是指数据流的处理策略,该策略可以从激活的PCC(Policy and Charging Control,策略与计费控制)规则或ADC(Application Detection and Control,应用探测与控制)规则中获取。例如:某用户签约了防病毒服务功能,且对于视频数据流签约了压缩处理服务功能,其中,防病毒与压缩处理都属于服务功能选择策略。当服务功能路径生成装置接收到这些策略后,即可根据各种处理功能的特点与顺序,确定具体的服务功能链。当确定服务功能链之后,基于服务功能链的分类原则,将数据包按照数据流标识进行分类,并将获取的对应该业务类型的服务功能链标识加入到数据包头中,以便于服务功能路径生成装置能够根据该服务功能链标识采用相应的路由策略。例如,如果服务功能链是基于业务类型分类,则需要根据数据流标识解析业务类型,并且在不同的业务类型的数据包中设置该业务类型对应的服务功能链标识;如果服务功能链是基于五元组信息分类的,则基于五元组信息将数据流分类,并在该数据流的数据包中设置对应的服务功能链标识。
实际应用场景中,所述数据流数据包所需经过的服务功能的标识表现形式,可以包括:数据流数据包所需经过的服务功能的字符串、数据流数据包所需经过的服务功能的实例组列表和表示数据流数据包所需经过的服务功能的数字标签等形式。
进一步,由于在数据流数据包传输过程中,可能造成某个服务功能中某个或某几个实例负荷较重,而其它的设备轻负荷,甚至闲置没有数据流。如何使每个服务功 能中的实例按照负荷比例实现负荷分担是一个要解决的问题。因此,所述服务功能路径确定模块在确定数据流数据包的服务功能路径时,除了需要该数据流数据包的服务功能链的信息,还可以考虑服务功能中各实例的负荷分担情况,从而可以根据数据流数据包所需经过的服务功能中各实例的负荷分担情况,来确定服务功能路径。具体地,所述服务功能路径确定模块可以根据实例选择参数和实例选择算法中的至少一种以及所述服务功能链的信息确定所述服务功能路径。例如所述服务功能路径确定模块可以根据获取到的服务功能链的信息,确定所述数据流数据包所需经过的服务功能和所述数据流数据包所需经过的服务功能的顺序,再根据实例选择参数和/或实例选择算法,可以进一步确定所述数据流数据包所需经过的服务功能的实例和所述数据流数据包所需经过的服务功能的实例的顺序,即确定服务功能路径。其中,实例选择参数和/或实例选择算法与服务功能中各实例的负荷有关,例如,实例选择参数可以包括数据流数据包所需经过的服务功能中各实例的负荷权重,所述服务功能路径确定模块可以根据实例选择参数以及所述服务功能链的信息确定所述数据流数据包的服务功能路径;或者,所述服务功能路径确定模块在确定服务功能实例选择算法时,可以根据各个实例负荷分担的比例,确定数据流数据包的分配方式,例如:如果某一个服务功能包括两个服务功能实例,两实例的负荷分担比例为2:3,由此,服务功能路径确定模块通过确定服务功能实例选择规则算法,实现将数据流按照2:3的比例相对均衡地分布在两个服务功能实例上。具体地,服务功能路径确定模块可以对数据流的五元组信息执行哈希算法,此处,哈希算法即为服务功能实例选择规则算法的一种实现形式,根据该哈希算法,服务功能路径确定模块会按照各服务功能实例的负荷分担比例将数据流分发到各个服务功能实例。本发明实施例中,具体哈希算法不限制,例如:可以根据国际移动用户识别码(International Mobile Subscriber Identity,IMSI)执行哈希算法,将用户按照相应的负荷分担比分配在相应服务功能实例上;或者,基于IMSI与服务功能链标识执行哈希算法,将用户以及相应的服务功能链按照相应的负荷分担比例分配到相应服务功能实例。
可选地,所述数据流数据包还可以携带数据流标识,在图14所示的服务功能路径生成装置实施例中,还可以包括:关系存储模块1303,用于保存数据流标识与所述服务功能路径的对应关系,所述数据流数据包携带所述数据流标识。从而,当数据及信息获取模块接收到数据流数据包时,服务功能路径生成装置可以根据当前数据流数据包所对应的数据流标识,查询已保存的数据流标识与服务功能路径的对应关系,确定对应当前数据流数据包的服务功能路径。从而,在接收到携带相同数据流标识的 数据流数据包(即同一个数据流中的数据包)时,所述服务功能路径生成装置可以直接根据所述保存的所述数据流标识与所述服务功能路径的对应关系,确定服务功能路径,可以快速为数据流数据包确定相应的服务功能路径,无需为每个数据流数据包执行根据服务功能链的信息去确定服务功能路径。具体地,当数据及信息获取模块,接收数据流中间数据包,所述数据流中间数据包携带所述数据流标识时,所述服务功能路径确定模块,可以根据所述保存的所述数据流标识与所述服务功能路径的对应关系,确定所述数据流中间数据包的所述服务功能路径。
在数据流数据包传输的过程中,根据传输阶段的不同,可以划分为数据流首次发起、数据流中间传输以及数据流结束三个阶段。
为了便于服务功能路径生成装置对接收到的数据流数据包确定服务功能路径,可以由服务功能链选择装置在数据流中设置表示该数据流数据包所处整个数据流的阶段位置的阶段标识。具体地,阶段标识可以包括:开始标识,可以包含但不限于“start”或“begin”等信息,除开始标识之外,还可以包括:结束标识,可以包含但不限于“end”等信息。在数据流首次发起和数据流结束阶段时,可以分别将该开始标识和结束标识封装在数据包头中,例如:封装在服务功能链标识中。由此,当服务功能路径生成装置识别出由分类器在数据流数据包中携带的开始标识时,确定数据流数据包处于整个数据流的开始阶段;当服务功能路径生成装置识别出由分类器在数据流数据包中携带的结束标识时,确定数据流数据包处于整个数据流的结束阶段。
对于处于中间传输阶段的数据流数据包,可以不做任何处理,保持数据包内容不变。因此,当服务功能路径生成装置未在数据流数据包中识别出表示数据流数据包所处整个数据流的阶段位置的阶段标识时,确定数据流数据包处于整个数据流的中间传输阶段。
在确定了数据流的服务功能路径之后,服务功能路径生成装置可以记录数据流标识与数据服务功能路径的对应关系,例如:五元组信息与服务功能路径的对应关系。
服务功能路径生成装置实施例中,还可以包括:
关系删除模块1304,用于在所述数据及信息获取模块接收数据流结束数据包时,删除所述保存的所述数据流标识与所述服务功能路径的对应关系;其中,所述数据流结束数据包携带所述数据流标识和结束标识。
需要说明的是,实际应用场景中,可能存在网络拓扑发生改变的情况,例如: 服务功能中的实例数量增加或者减少,或者,服务功能实例的位置发生改变。为了在网络拓扑发生改变的情况下,便于服务功能路径生成装置确定服务功能路径,可以由数据流数据包携带网络拓扑结构状态信息。由于在服务功能实例情况变化时,服务功能实例选择算法将不同于服务功能设备变化前,因此,该种情形中,实例选择算法需指示该算法所对应的网络拓扑结构状态,从而,服务功能路径生成装置能够根据接收到的网络拓扑结构状态信息对应到不同的实例选择算法。由此,服务功能路径确定模块,具体可以根据所述网络拓扑结构,确定所述网络拓扑结构对应的所述实例选择算法;继而,根据所述服务功能链的信息、所述实例选择参数和所述网络拓扑结构对应的所述实例选择算法,最终确定所述数据流数据包的服务功能中的实例。
服务功能链选择装置获取网络拓扑结构状态信息的实现方式可以是:由服务功能链控制执行装置指示服务功能链选择装置网络拓扑结构信息,例如:当网络拓扑发生变化时,由服务功能链控制执行装置向服务功能链选择装置发送网络拓扑结构状态指示,指示服务功能链选择装置当前的网络拓扑结构发生变化,指示中携带变化后的网络拓扑结构信息。
本发明实施例中,服务功能链控制执行装置如何指示服务功能链选择装置并不限制,例如:服务功能链控制执行装置可以向服务功能链选择装置发送一个事件通知消息,在该通知消息中可以包含一个指示位用以表示网络拓扑结构变化的不同阶段。
服务功能路径生成装置为交换机、PCEF或TDF。
实际应用中,服务功能路径生成装置可以设置为独立于交换机的功能实体,也可以与交换机集成为一体,对此,本发明实施例并不做具体限定。当服务功能路径生成装置采用与交换机集成为一体的设置形式时,服务功能路径生成装置可以直接按照服务功能路径信息路由\转发数据包至对应的服务功能实例。而当服务功能路径生成装置设置为独立于交换机的功能实体时,服务功能路径生成装置在确定数据流数据包的服务功能路径之后,还需要通过一转发模块,将服务功能路径发送至交换机,由交换机按照服务功能路径信息路由\转发数据包至对应的服务功能实例。
如图15所示,为本发明提供的一种服务功能链选择装置实施例。其中,该服务功能链选择装置可以包括:
数据包接收模块1501,用于接收数据流数据包;
服务功能链的信息获取模块1502,用于获取所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识;
数据及信息发送模块1503,用于向所述服务功能路径生成装置发送所述数据流数据包和所述服务功能链的信息,以便所述服务功能路径生成装置根据所述服务功能链的信息,确定所述数据流数据包的服务功能路径。
该实施例中,服务功能链选择装置可以为PCEF或TDF。
具体地,所述服务功能链的信息获取模块,用于根据服务功能选择策略,确定所述服务功能链的信息;或者,所述服务功能链选择装置接收所述数据流数据包的服务功能链的信息。即:服务功能链的信息,可以根据服务功能选择策略进行确定,也可以从PCRF直接获取。通常,根据运营商的策略,例如:根据用户的类型、用户的签约数据以及网络状况等信息,为不同的数据流制定不同的服务功能链路由,并采用不同的服务功能的标识表示该服务功能链的信息。服务功能选择策略是指数据流的处理策略,该策略可以从激活的PCC规则或ADC规则中获取。此外,服务功能选择策略可以由PCRF通过用户签约数据获取。
为了便于服务功能路径生成装置对接收到的处于不同传输阶段的数据流数据包确定服务功能路径,可以由分类器在数据流中携带表示该数据流数据包所处整个数据流的阶段位置的阶段标识。具体地,阶段标识可以包括:开始标识和结束标识。在数据流首次发起阶段时,可以通过开始标识设置模块,将该开始标识封装在数据包头中;以及,在数据流结束阶段,通过结束标识设置模块,将结束标识封装在数据包头中,例如封装在服务功能链标识中。由此,当服务功能路径生成装置识别出由分类器在数据流数据包中携带的开始标识时,确定数据流数据包处于整个数据流的开始阶段;当服务功能路径生成装置识别出由分类器在数据流数据包中携带的结束标识时,确定数据流数据包处于整个数据流的结束阶段。
对于处于中间传输阶段的数据流数据包,不包含“开始”与“结束”标志。因此,当服务功能路径生成装置未在数据流数据包中识别出表示数据流数据包所处整个数据流的阶段位置的阶段标识时,确定数据流数据包处于整个数据流的中间传输阶段。
在图16所示的服务功能链选择装置实施例中,还可以包括:
拓扑指示接收模块1504,用于接收网络拓扑结构状态指示;
拓扑信息设置模块1505,用于根据所述网络拓扑结构状态指示,在所述数据流数据包中设置网络拓扑结构状态信息。
该实施例中,可能存在网络拓扑发生改变的情况,可以由服务功能链控制执行装置向服务功能链选择装置发送网络拓扑结构状态指示,也可以是服务功能链控制执行装置通过第三方设备向服务功能链选择装置发送网络拓扑结构状态指示。通过该指示通知服务功能链选择装置当前网络拓扑结构状态信息。本发明实施例中,服务功能链控制执行装置如何指示服务功能链选择装置并不限制。服务功能链选择装置在向服务功能路径生成装置发送数据流数据包时,在该数据流数据包中,可以通过拓扑信息设置模块在数据流数据包中设置网络拓扑结构状态信息,从而,使得数据流数据包中可以同时携带服务功能的标识和网络拓扑结构状态信息。
如前所述,数据流数据包所需经过的服务功能的标识表现形式,可以包括:数据流数据包所需经过的服务功能的字符串、数据流数据包所需经过的服务功能的实例组列表和表示数据流数据包所需经过的服务功能的数字标签等形式。此处不再进行赘述。
如图17所示,本发明还提供了一种基于计算机系统实现的服务功能路径生成装置,具体实现中,该装置可以包括:处理器1701、存储器1702、总线1703和通信接口1704;所述存储器1702用于存储计算机执行指令,所述处理器1701与所述存储器1702通过所述总线1703连接,当所述服务功能路径生成装置运行时,所述处理器1701执行所述存储器1702存储的所述计算机执行指令,以使所述服务功能路径生成装置执行图3-4或9-12中任一所述确定服务功能路径的方法流程。
相应地,如图18所示,本发明还提供了一种基于计算机系统实现的服务功能链选择装置,具体实现中,该装置可以包括:处理器1801、存储器1802、总线1803和通信接口1804;所述存储器1802用于存储计算机执行指令,所述处理器1801与所述存储器1802通过所述总线1803连接,当所述服务功能链选择装置运行时,所述处理器1801执行所述存储器1802存储的所述计算机执行指令,以使所述服务功能链选择装置执行图5-6或9-12中任一所述确定服务功能路径的方法流程。
具体实现中,上述处理器可以是中央处理器(central processing unit,CPU)、专用集成电路(application-specific integrated circuit,ASIC)等。计算机存储介质可存储有程序,该程序执行时可包括本发明实施例提供的数据传输的方法的各实施例中的部 分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
本发明实施例还提供了一种计算机可读介质,包括计算机执行指令,以供计算机的处理器执行所述计算机执行指令时,所述计算机执行图3-4或9-12中任一所述的确定服务功能路径的方法。
实施例还提供了一种计算机可读介质,包括计算机执行指令,以供计算机的处理器执行所述计算机执行指令时,所述计算机执行图5-6或9-12中任一所述的确定服务功能路径的方法流程。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可 以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (52)

  1. 一种确定服务功能路径的方法,其特征在于,包括:
    服务功能路径生成装置获取数据流数据包和所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识;
    所述服务功能路径生成装置根据所述服务功能链的信息,确定所述数据流数据包的服务功能路径。
  2. 根据权利要求1所述的方法,其特征在于,所述服务功能路径生成装置获取数据流数据包和所述数据流数据包的服务功能链的信息,包括:
    所述服务功能路径生成装置接收服务功能链选择装置发送的所述数据流数据包和所述服务功能链的信息。
  3. 根据权利要求1所述的方法,其特征在于,所述服务功能路径生成装置获取数据流数据包和所述数据流数据包的服务功能链的信息,包括:
    所述服务功能路径生成装置接收所述数据流数据包;
    所述服务功能路径生成装置获取所述数据流数据包的所述服务功能链的信息。
  4. 根据权利要求3所述的方法,其特征在于,所述服务功能路径生成装置获取所述数据流数据包的所述服务功能链的信息,包括:
    所述服务功能路径生成装置根据服务功能选择策略数据流,确定所述服务功能链的信息;
    或者,所述服务功能路径生成装置接收所述服务功能链的信息。
  5. 根据权利要求4所述的方法,其特征在于,所述服务功能选择策略是通过策略与计费控制PCC规则或者应用探测与控制ADC规则确定的。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述服务功能路径生成装置根据所述服务功能链的信息确定所述数据流数据包的服务功能路径包括:
    所述服务功能路径生成装置根据实例选择参数和实例选择算法中的至少一种以及所述服务功能链的信息确定所述服务功能路径。
  7. 根据权利要求6所述的方法,其特征在于,所述数据流数据包携带网络拓扑结构状态信息;所述服务功能路径生成装置根据实例选择参数和实例选择算 法中的至少一种以及所述服务功能链的信息确定所述服务功能路径包括:
    所述服务功能路径生成装置根据所述网络拓扑结构,确定所述网络拓扑结构对应的所述实例选择算法;
    所述服务功能路径生成装置根据所述服务功能链的信息、所述实例选择参数和所述网络拓扑结构对应的所述实例选择算法,确定所述数据流数据包的服务功能中的实例。
  8. 根据权利要求6或7所述的方法,其特征在于,所述实例选择参数包括所述数据流数据包的服务功能中各实例的负荷权重。
  9. 根据权利要求6或7所述的方法,其特征在于,所述实例选择算法为基于国际移动用户识别码IMSI的哈希算法、基于IP五元组的哈希算法和基于IMSI与服务功能链标识的哈希算法中的任一种。
  10. 根据权利要求1-9所述的方法,其特征在于,所述数据流数据包携带数据流标识,所述方法还包括:
    所述服务功能路径生成装置保存所述数据流标识与所述服务功能路径的对应关系。
  11. 根据权利要求10所述的方法,其特征在于,所述服务功能路径生成装置保存所述数据流标识与所述服务功能路径的对应关系包括:
    所述服务功能路径生成装置在所述数据流数据包携带开始标识时,保存所述数据流标识与所述服务功能路径的对应关系,所述开始标识用于指示所述数据流数据包处于数据流的开始阶段。
  12. 根据权利要求10或11所述的方法,其特征在于,还包括:
    所述服务功能路径生成装置接收数据流中间数据包,所述数据流中间数据包携带所述数据流标识;
    所述服务功能路径生成装置根据所述保存的所述数据流标识与所述服务功能路径的对应关系,确定所述数据流中间数据包的所述服务功能路径。
  13. 根据权利要求10-12任一项所述的方法,其特征在于,还包括:
    所述服务功能路径生成装置接收数据流结束数据包,所述数据流结束数据包携带所述数据流标识和结束标识,所述结束标识用于指示所述数据流结束数据包处于数据流的结束阶段;
    所述服务功能路径生成装置删除所述保存的所述数据流标识与所述服务功能路径的对应关系。
  14. 根据权利要求1-13任一项所述的方法,其特征在于,所述服务功能路 径生成装置为交换机、策略与计费执行功能PCEF或数据流探测功能TDF。
  15. 根据权利要求1-13任一项所述的方法,其特征在于,还包括:
    所述服务功能路径生成装置将所述服务功能路径发送给交换机。
  16. 根据权利要求1-15中任一项所述的方法,其特征在于,所述数据流数据包所需经过的服务功能的标识为所述数据流数据包所需经过的服务功能的字符串、所述数据流数据包所需经过的服务功能的实例组列表和表示所述数据流数据包所需经过的服务功能的数字标签中的任一种形式。
  17. 一种确定服务功能路径的方法,其特征在于,包括:
    服务功能链选择装置接收数据流数据包;
    所述服务功能链选择装置获取所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识;
    所述服务功能链选择装置向所述服务功能路径生成装置发送所述数据流数据包和所述服务功能链的信息,以便所述服务功能路径生成装置根据所述服务功能链的信息,确定所述数据流数据包的服务功能路径。
  18. 根据权利要求17所述的方法,其特征在于,所述服务功能链选择装置获取所述数据流数据包的服务功能链的信息包括:
    所述服务功能链选择装置根据服务功能选择策略,确定所述服务功能链的信息;
    或者,所述服务功能链选择装置接收所述数据流数据包的服务功能链的信息。
  19. 根据权利要求18所述的方法,其特征在于,所述服务功能选择策略是通过策略与计费控制PCC规则或者应用探测与控制ADC规则确定的。
  20. 根据权利要求17-19中所述的方法,其特征在于,还包括:
    当所述数据流数据包处于数据流的开始阶段时,所述服务功能链选择装置在所述数据流数据包中携带开始标识。
  21. 根据权利要求17-19中任一项所述的方法,其特征在于,还包括:
    当所述数据流数据包处于数据流的结束阶段时,所述服务功能链选择装置在所述数据流数据包中携带结束标识。
  22. 根据权利要求17-21中任一项所述的方法,其特征在于,还包括:
    所述服务功能链选择装置接收网络拓扑结构状态指示;
    所述服务功能链选择装置根据所述网络拓扑结构状态指示,在所述数据流数 据包中设置网络拓扑结构状态信息。
  23. 根据权利要求17-22中任一项所述的方法,其特征在于,所述服务功能链选择装置为策略与计费执行功能PCEF或数据流探测功能TDF。
  24. 根据权利要求17-23中任一项所述的方法,其特征在于,所述数据流数据包所需经过的服务功能的标识为所述数据流数据包所需经过的服务功能的字符串、所述数据流数据包所需经过的服务功能的实例组列表和表示所述数据流数据包所需经过的服务功能的数字标签中的任一种形式。
  25. 一种服务功能路径生成装置,其特征在于,包括:
    数据及信息获取模块,用于获取数据流数据包和所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识;
    服务功能路径确定模块,用于根据所述服务功能链的信息,确定所述数据流数据包的服务功能路径。
  26. 根据权利要求25所述的服务功能路径生成装置,其特征在于,所述数据及信息获取模块具体用于接收服务功能链选择装置发送的所述数据流数据包和所述服务功能链的信息。
  27. 根据权利要求25所述的服务功能路径生成装置,其特征在于,所述数据及信息获取模块具体用于接收所述数据流数据包,获取所述数据流数据包的所述服务功能链的信息。
  28. 根据权利要求27所述的服务功能路径生成装置,其特征在于,所述数据及信息获取模块具体用于根据服务功能选择策略数据流确定所述服务功能链的信息;或者,接收所述服务功能链的信息。
  29. 根据权利要求28所述的服务功能路径生成装置,其特征在于,所述服务功能选择策略是通过策略与计费控制PCC规则或者应用探测与控制ADC规则确定的。
  30. 根据权利要求25-29中任一项所述的装置,其特征在于,所述服务功能路径确定模块具体用于根据实例选择参数和实例选择算法中的至少一种以及所述服务功能链的信息确定所述服务功能路径。
  31. 根据权利要求30所述的装置,其特征在于,所述数据流数据包携带网络拓扑结构状态信息;所述服务功能路径确定模块具体用于根据所述网络拓扑结构,确定所述网络拓扑结构对应的所述实例选择算法;根据所述服务功能链的信 息、所述实例选择参数和所述网络拓扑结构对应的所述实例选择算法,确定所述数据流数据包的服务功能中的实例。
  32. 根据权利要求30或31所述的装置,其特征在于,所述实例选择参数包括所述数据流数据包的服务功能中各实例的负荷权重。
  33. 根据权利要求30或31所述的装置,其特征在于,所述实例选择算法为基于国际移动用户识别码IMSI的哈希算法、基于IP五元组的哈希算法和基于IMSI与服务功能链标识的哈希算法中的任一种。
  34. 根据权利要求26-34中任一项所述的装置,其特征在于,数据流还包括:
    关系存储模块,用于保存数据流标识与所述服务功能路径的对应关系,所述数据流数据包携带所述数据流标识。
  35. 根据权利要求34所述的装置,其特征在于,所述关系存储模块具体用于,在所述数据流数据包携带开始标识时,保存所述数据流标识与所述服务功能路径的对应关系,所述开始标识用于指示所述数据流数据包处于数据流的开始阶段。
  36. 根据权利要求34或35所述的装置,其特征在于,所述数据及信息获取模块还用于接收数据流中间数据包,所述数据流中间数据包携带所述数据流标识时;
    则所述服务功能路径确定模块具体用于根据所述数据及信息获取模块保存的所述数据流标识与所述服务功能路径的对应关系,确定所述数据流中间数据包的所述服务功能路径。
  37. 根据权利要求34-36中任一项所述的装置,其特征在于,还包括:
    关系删除模块,用于在所述数据及信息获取模块接收数据流结束数据包时,删除所述保存的所述数据流标识与所述服务功能路径的对应关系;其中,所述数据流结束数据包携带所述数据流标识和结束标识,所述结束标识用于指示所述数据流结束数据包处于数据流的结束阶段。
  38. 根据权利要求25-37中任一项所述的装置,其特征在于,所述服务功能路径生成装置为交换机、策略与计费执行功能PCEF或数据流探测功能TDF。
  39. 根据权利要求25-37中任一项所述的装置,其特征在于,还包括:
    转发模块,用于将所述服务功能路径发送给交换机。
  40. 根据权利要求25-39中任一项所述的装置,其特征在于,所述数据流数据包所需经过的服务功能的标识为所述数据流数据包所需经过的服务功能的字符串、所述数据流数据包所需经过的服务功能的实例组列表和表示所述数据流数 据包所需经过的服务功能的数字标签中的任一种形式。
  41. 一种服务功能链选择装置,其特征在于,包括:
    数据包接收模块,用于接收数据流数据包;
    服务功能链的信息获取模块,用于获取所述数据流数据包的服务功能链的信息,所述服务功能链的信息包括所述数据流数据包所需经过的服务功能的标识;
    数据及信息发送模块,用于向所述服务功能路径生成装置发送所述数据流数据包和所述服务功能链的信息,以便所述服务功能路径生成装置根据所述服务功能链的信息,确定所述数据流数据包的服务功能路径。
  42. 根据权利要求41所述的装置,其特征在于,所述服务功能链的信息获取模块具体用于根据服务功能选择策略,确定所述服务功能链的信息;或者,接收所述数据流数据包的服务功能链的信息。
  43. 根据权利要求42所述的装置,其特征在于,所述服务功能选择策略是通过策略与计费控制PCC规则或者应用探测与控制ADC规则确定的。
  44. 根据权利要求41-43中任一项所述的装置,其特征在于,还包括:
    开始标识设置模块,用于当所述数据流数据包处于数据流的开始阶段时,在所述数据流数据包中携带开始标识。
  45. 根据权利要求41-43中任一项所述的装置,其特征在于,还包括:
    结束标识设置模块,用于当所述数据流数据包处于数据流的结束阶段时,在所述数据流数据包中携带结束标识。
  46. 根据权利要求41-45中任一项所述的装置,其特征在于,还包括:
    拓扑指示接收模块,用于接收网络拓扑结构状态指示;
    拓扑信息设置模块,用于根据所述网络拓扑结构状态指示,在所述数据流数据包中设置网络拓扑结构状态信息。
  47. 根据权利要求41-46中任一项所述的装置,其特征在于,所述服务功能链选择装置为策略与计费执行功能PCEF或数据流探测功能TDF。
  48. 根据权利要求41-47中任一项所述的装置,其特征在于,所述数据流数据包所需经过的服务功能的标识为所述数据流数据包所需经过的服务功能的字符串、所述数据流数据包所需经过的服务功能的实例组列表和表示所述数据流数据包所需经过的服务功能的数字标签中的任一种形式。
  49. 一种服务功能路径生成装置,其特征在于,包括处理器、存储器、总线 和通信接口;
    所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述服务功能路径生成装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述服务功能路径生成装置执行如权利要求1-16中任一项所述的确定服务功能路径的方法。
  50. 一种服务功能链选择装置,其特征在于,包括处理器、存储器、总线和通信接口;
    所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述服务功能链选择装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述服务功能链选择装置执行如权利要求17-24中任一项所述的确定服务功能路径的方法。
  51. 一种计算机可读介质,其特征在于,包括计算机执行指令,以供计算机的处理器执行所述计算机执行指令时,所述计算机执行如权利要求1-16中任一项所述的确定服务功能路径的方法。
  52. 一种计算机可读介质,其特征在于,包括计算机执行指令,以供计算机的处理器执行所述计算机执行指令时,所述计算机执行如权利要求17-24中任一项所述的确定服务功能路径的方法。
PCT/CN2014/085690 2014-09-01 2014-09-01 一种确定服务功能路径的方法及装置 WO2016033729A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2014/085690 WO2016033729A1 (zh) 2014-09-01 2014-09-01 一种确定服务功能路径的方法及装置
CN201480022265.XA CN105745874B (zh) 2014-09-01 2014-09-01 一种确定服务功能路径的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/085690 WO2016033729A1 (zh) 2014-09-01 2014-09-01 一种确定服务功能路径的方法及装置

Publications (1)

Publication Number Publication Date
WO2016033729A1 true WO2016033729A1 (zh) 2016-03-10

Family

ID=55438979

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/085690 WO2016033729A1 (zh) 2014-09-01 2014-09-01 一种确定服务功能路径的方法及装置

Country Status (2)

Country Link
CN (1) CN105745874B (zh)
WO (1) WO2016033729A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109417556A (zh) * 2016-05-13 2019-03-01 瑞典爱立信有限公司 用于安全服务协作的系统和方法
CN111565125A (zh) * 2020-07-15 2020-08-21 成都数维通信技术有限公司 一种报文穿越网络流量路径的获取方法
CN112956163A (zh) * 2018-10-25 2021-06-11 索尼公司 通信装置、通信方法以及数据结构
CN115086220A (zh) * 2022-06-30 2022-09-20 绿盟科技集团股份有限公司 一种网络报文转发方法、装置、设备及介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3081644A1 (fr) * 2018-06-22 2019-11-29 Orange Procede de decouverte de fonctions intermediaires et de selection d'un chemin entre deux equipements de communication
CN113507411B (zh) * 2021-06-10 2022-10-18 中国联合网络通信集团有限公司 一种路径选择方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585369A (zh) * 2003-08-21 2005-02-23 赵亮 信息化通信的系统及其方法
CN103338150A (zh) * 2013-07-19 2013-10-02 中国人民解放军信息工程大学 信息通信网络体系结构建立方法、装置、服务器和路由器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101291420A (zh) * 2007-04-20 2008-10-22 华为技术有限公司 基于ims的iptv系统及内容保护服务功能实体和方法
US8699417B2 (en) * 2011-04-29 2014-04-15 T-Mobile Usa, Inc. Microwave backhaul arrangements
CN107342952B (zh) * 2014-04-01 2022-03-01 华为技术有限公司 业务链路选择控制方法以及设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585369A (zh) * 2003-08-21 2005-02-23 赵亮 信息化通信的系统及其方法
CN103338150A (zh) * 2013-07-19 2013-10-02 中国人民解放军信息工程大学 信息通信网络体系结构建立方法、装置、服务器和路由器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
P. QUINN ET AL.: "Service Function Chaining (SFC) Architecture draft-quinn-sfc-arch-05", IETF DRAFT, 5 May 2014 (2014-05-05) *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109417556A (zh) * 2016-05-13 2019-03-01 瑞典爱立信有限公司 用于安全服务协作的系统和方法
CN109417556B (zh) * 2016-05-13 2021-08-20 瑞典爱立信有限公司 用于安全服务协作的系统和方法
US11240264B2 (en) 2016-05-13 2022-02-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method for security service collaboration
CN112956163A (zh) * 2018-10-25 2021-06-11 索尼公司 通信装置、通信方法以及数据结构
CN111565125A (zh) * 2020-07-15 2020-08-21 成都数维通信技术有限公司 一种报文穿越网络流量路径的获取方法
CN115086220A (zh) * 2022-06-30 2022-09-20 绿盟科技集团股份有限公司 一种网络报文转发方法、装置、设备及介质
CN115086220B (zh) * 2022-06-30 2024-05-17 绿盟科技集团股份有限公司 一种网络报文转发方法、装置、设备及介质

Also Published As

Publication number Publication date
CN105745874A (zh) 2016-07-06
CN105745874B (zh) 2020-01-10

Similar Documents

Publication Publication Date Title
EP2716097B1 (en) Implementing epc in a cloud computer with openflow data plane
EP2831733B1 (en) Implementing epc in a cloud computer with openflow data plane
US8762501B2 (en) Implementing a 3G packet core in a cloud computer with openflow data and control planes
WO2016033729A1 (zh) 一种确定服务功能路径的方法及装置
US9167501B2 (en) Implementing a 3G packet core in a cloud computer with openflow data and control planes
CN108141416B (zh) 一种报文处理方法、计算设备以及报文处理装置
WO2017070970A1 (zh) 一种确定路由的方法、对应装置及系统
US20160080253A1 (en) Service routing system, device, and method
EP3140964B1 (en) Implementing a 3g packet core in a cloud computer with openflow data and control planes
US10693790B1 (en) Load balancing for multipath group routed flows by re-routing the congested route
WO2015109821A1 (zh) 一种管理业务链的方法、系统及装置
WO2014176740A1 (zh) 流分类器、业务路由触发器、报文处理的方法和系统
WO2017075781A1 (zh) 一种数据报文的处理方法、装置及系统
WO2016107379A1 (zh) 一种发送报文的方法和装置
WO2020259688A1 (zh) 用户面重路由方法及装置
WO2020043200A1 (zh) 建立快速转发表
CN111245740B (zh) 配置业务的服务质量策略方法、装置和计算设备
WO2011097859A1 (zh) 一种实现灵活qinq的方法及装置
WO2015039616A1 (zh) 一种报文处理方法及设备
JP7386961B2 (ja) ポート制御のサポート方法及び機器

Legal Events

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

Ref document number: 14901011

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14901011

Country of ref document: EP

Kind code of ref document: A1