WO2015196849A1 - 一种数据报文的处理方法、业务节点以及引流点 - Google Patents

一种数据报文的处理方法、业务节点以及引流点 Download PDF

Info

Publication number
WO2015196849A1
WO2015196849A1 PCT/CN2015/076778 CN2015076778W WO2015196849A1 WO 2015196849 A1 WO2015196849 A1 WO 2015196849A1 CN 2015076778 W CN2015076778 W CN 2015076778W WO 2015196849 A1 WO2015196849 A1 WO 2015196849A1
Authority
WO
WIPO (PCT)
Prior art keywords
service node
data packet
service
uplink data
point
Prior art date
Application number
PCT/CN2015/076778
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 EP15811011.4A priority Critical patent/EP3145131B1/en
Priority to ES15811011T priority patent/ES2739204T3/es
Publication of WO2015196849A1 publication Critical patent/WO2015196849A1/zh
Priority to US15/385,470 priority patent/US10439931B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a data packet processing method, a service node, and a drain point.
  • a data center usually refers to a set of integrated information technology (Information Technology, abbreviation: IT) application environment for centralized processing, storage, transmission, exchange, and management of data information in a physical space.
  • IT Information Technology, abbreviation: IT
  • Key equipment in the data center computer room includes computer equipment, server equipment, network equipment, storage equipment, and the like.
  • the existing service chaining scheme includes a controller, a sink node, and a service node.
  • the service node is a value-added service device and is drained.
  • the point is deployed at the front end of the server 1 and the server 2, and the service node 1 and the service node 2 are directly connected to the drainage point. Both the drain point and the service node are centrally configured by the controller.
  • the drainage point determines which data streams from the client or server need to be sent to the service node for processing and to which service nodes need to be sent.
  • the process of processing the uplink data stream through the service chain is as follows: the controller first sends the service chain configuration parameter to the traffic diversion point, and when the client initiates the access to the server 2, the traffic point receives the matching service chain sent by the client. Configuring a first data packet of the parameter, and sending the first data packet to the service node 1 for processing, the service section After processing the first data packet, the first data packet is sent to the traffic diversion point, and then the third data packet is sent to the service node 2, and the service node 2 pairs the After the second data packet is processed, the third packet processed is sent back to the drainage point. Finally, the third data packet is sent to the server 2 by the drainage point.
  • the processing of the downlink data stream through the service chain is similar to the uplink data stream.
  • the inventor of the present invention finds in the process of implementing the present invention that in the prior art, every time a service is processed, the data packet processed by the service node must first return to the drainage point, and then the traffic point is sent to the next service node. That is, the centralized control of the data flow direction is realized by the drainage point. However, since the data packet needs to be repeatedly passed through the drainage point, if the service chain includes more service nodes, the processing efficiency of the data packet is very low.
  • the invention provides a data packet processing method, a service node and a drainage point, which are used for improving the processing efficiency of the data packet.
  • the embodiment of the present invention provides the following technical solutions:
  • the present invention provides a method for processing a data packet, including:
  • the second service node receives the first uplink data packet sent by the first service node, where the first uplink data packet carries the service node information corresponding to the service chain determined by the first drainage point, where the first service node is the a previous hop service node adjacent to the second service node in the service chain, where the first drainage point is an uplink entry drainage point of the service chain;
  • the second service node performs service processing on the first uplink data packet to obtain a second uplink data packet
  • the second service node determines, according to the service node information, that the second service node is the last service node in the uplink direction in the service chain, the second service node sends the service node information from the Deleting the second uplink data packet to obtain a third uplink data packet;
  • the second service node sends the third uplink data packet to the second drainage point, where the second drainage point is an uplink outlet drainage point of the service chain.
  • the method further includes:
  • the second service node queries the uplink egress point of the third uplink data packet according to the bidirectional flow table
  • the second service node sends the third uplink data packet to The second traffic diversion point is specifically: the second service node sends the third uplink data packet to the second drainage point according to the forwarding route;
  • the second service node sends the second uplink data packet to the second drainage point, where The flow table sends the third uplink data message to the second drainage point.
  • the method further includes:
  • the second service node encapsulates the service node information of the second service node into the third uplink data packet
  • the sending, by the second service node, the third uplink data packet to the second drainage point includes:
  • the second service node sends the third uplink data packet that encapsulates the service node information of the second service node to the second drainage point.
  • the method further includes:
  • the second service node performs service processing on the first downlink data packet to obtain a second downlink data packet.
  • the second service node encapsulates the service node information of the service chain into the second downlink data packet to obtain a third downlink data packet.
  • the second service node sends the third downlink data packet to the first service node.
  • the method further includes:
  • the second service node saves the drainage point information of the second drainage point to the bidirectional flow table.
  • the present invention provides a method for processing a data packet, including:
  • the second drainage node receives the third uplink data packet sent by the second service node, where the second service node is the last service node in the uplink direction in the service chain determined by the first drainage point, and the second traffic point is The business chain And the third uplink data packet is sent by the second service data packet to the first uplink data packet after the second service node receives the first uplink data packet sent by the first service node. And obtaining, by the second uplink data packet, the service node information of the service chain from the second uplink data packet;
  • the second drainage point sends the third uplink data packet to the destination device, and the second drainage point is deployed at the front end of the destination device.
  • the method further includes:
  • the second drainage point parses the service node information of the second service node from the third uplink data packet
  • the second drainage point saves the service node information of the second service node into the bidirectional flow table.
  • the second traffic point resolves the service node information of the second service node from the third uplink data packet. Thereafter, the method further includes:
  • the second drainage point queries the Internet Protocol IP address corresponding to the device index of the second service node according to the mapping relationship table set by the controller;
  • the second drainage point saves the service node information of the second service node to the bidirectional flow table, specifically:
  • the second drainage point saves the IP address corresponding to the device index of the second service node in the bidirectional flow table.
  • the method further includes:
  • the method further includes:
  • the second drainage point sends the first downlink data packet to the second service node.
  • the second draining point sends the first downlink data packet to the second service Node, specifically:
  • the second drainage point sends the first downlink data packet to the second service node according to the bidirectional flow table.
  • an embodiment of the present invention provides a service node, where the service node is specifically a second service node, and the second service node includes:
  • a receiving module configured to receive a first uplink data packet sent by the first service node, where the first uplink data packet carries service node information corresponding to the service chain determined by the first drainage point, where the first service node is a first hop service node adjacent to the second service node in the service chain, where the first drainage point is an uplink entry drainage point of the service chain;
  • a service processing module configured to perform service processing on the first uplink data packet to obtain a second uplink data packet
  • Decapsulating module configured to: when the second service node determines, according to the service node information, that the second service node is the last service node in the uplink direction in the service chain, Deleting the second uplink data packet to obtain a third uplink data packet;
  • the sending module is configured to send the third uplink data packet to the second drainage point, where the second drainage point is an upstream outlet drainage point for the service chain.
  • the second service node further includes: a query module, where
  • the querying module is configured to query the uplink egress point of the third uplink data packet according to the bidirectional flow table before the sending module sends the third uplink data packet to the second drainage point;
  • the sending module is configured to send the third uplink data packet to the second drainage point according to the forwarding route;
  • the sending module is configured to send the third uplink data packet to the second drainage point according to the bidirectional flow table, if the uplink egress point is the second diversion point.
  • the second service node further includes: a first encapsulation module, where
  • the first encapsulating module is configured to encapsulate, by the sending module, the service node information of the second service node to the third uplink data packet, before sending the third uplink data packet to the second drainage point In the text;
  • the sending module is configured to send the third uplink data packet that encapsulates the service node information of the second service node to the second drainage point.
  • the second service node further includes: a second encapsulation module, where
  • the receiving module is further configured to send, by the sending module, the third uplink data packet to the second drainage point After receiving the first downlink data packet sent by the second drainage point;
  • the service processing module is further configured to perform service processing on the first downlink data packet to obtain a second downlink data packet;
  • the second encapsulating module is configured to encapsulate the service node information of the service chain into the second downlink data packet to obtain a third downlink data packet;
  • the sending module is further configured to send the third downlink data packet to the first service node.
  • the second service node further includes: a saving module, configured to: after the sending module determines, according to the bidirectional flow table, that the second downlink data packet is a downlink data packet of the service chain, the second draining The drainage point information of the point is saved in the bidirectional flow table.
  • a saving module configured to: after the sending module determines, according to the bidirectional flow table, that the second downlink data packet is a downlink data packet of the service chain, the second draining The drainage point information of the point is saved in the bidirectional flow table.
  • the present invention provides a drainage point, where the drainage point is specifically a second drainage point, and the second drainage point includes:
  • a receiving module configured to receive a third uplink data packet sent by the second service node, where the second service node is the last service node in the uplink direction in the service chain determined by the first drainage point, and the second traffic point is
  • the first uplink data packet is the first uplink data packet sent by the first service node
  • the first uplink data packet is the first uplink data packet sent by the first service node.
  • the uplink data packet is processed by the service to obtain the second uplink data packet, and the service node information of the service chain is deleted from the second uplink data packet;
  • a sending module configured to send the third uplink data packet to the destination device, where the second draining point is deployed at a front end of the destination device.
  • the second drainage point further includes: a parsing module and a saving module, where
  • the parsing module after the receiving module receives the third uplink data packet sent by the second service node, parsing the service node information of the second service node from the third uplink data packet;
  • the saving module is configured to save the service node information of the second service node into the bidirectional flow table.
  • the second drainage point further includes: a query module, where
  • the querying module is configured to query the device of the second service node according to the mapping relationship table set by the controller, after the parsing module parses the service node information of the second service node from the third uplink data packet The IP address of the Internet Protocol corresponding to the index;
  • the saving module is specifically configured to save the IP address corresponding to the device index of the second service node to the double To the flow table.
  • the sending module is further configured to: after the parsing module parses the service node information of the second service node from the third uplink data packet, send the service node information of the second service node to the third drain Point, the third drainage point is another upstream outlet drainage point in the service chain except the second drainage point.
  • the receiving module is further configured to: after the sending module sends the third uplink data packet to the destination device, receive the first downlink data packet returned by the destination device according to the third uplink data packet ;
  • the sending module is further configured to send the first downlink data packet to the second service node.
  • the sending module is specifically configured to send the first downlink data packet to the second service node according to the bidirectional flow table.
  • the first service node sends the first uplink data packet to the next hop service node according to the service node information corresponding to the service chain, and the first uplink data packet arrives at the service.
  • the last service node in the uplink direction of the chain ie, the second service node
  • the last service node performs service processing on the first uplink data packet, obtains a second uplink data packet, and then uses the service node information from the first
  • the third uplink data packet obtained by deleting the service node information is sent to the second drainage point; the second drainage point is used as the uplink export drainage point of the service chain, and the third uplink is received.
  • the third uplink data packet is sent to the destination device.
  • the first drainage point and the second drainage point are respectively used as the uplink import drainage point and the uplink exit drainage point of the uplink data packet, that is, the data packet, when the service processing of the uplink data packet is performed in the data packet processing system.
  • the diversion point is designed in a distributed manner, and the inbound and outbound traffic of the upstream data packet is performed by the two diversion points, so that the uplink data packet only needs to pass once in the first drainage point and the second drainage point. Improve the processing efficiency of data packets.
  • FIG. 1 is a schematic diagram of a processing procedure of a data packet provided by the prior art
  • FIG. 2 is a schematic flowchart of a method for processing a data packet according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of an implementation manner of a controller configuration service chain according to an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart diagram of another method for processing a data packet according to an embodiment of the present invention.
  • FIG. 5 is a schematic flowchart of another method for processing a data packet according to an embodiment of the present disclosure
  • FIG. 6 is a schematic flowchart of another method for processing a data packet according to an embodiment of the present disclosure
  • FIG. 7 is a schematic diagram of an implementation manner of a multi-outlet drainage point according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of processing of a bidirectional data stream through a distributed drainage point according to an embodiment of the present invention.
  • Figure 9-a is a schematic diagram of a process of processing an uplink data packet
  • Figure 9-b is a schematic diagram of a processing procedure of a downlink data packet
  • FIG. 10 is a schematic diagram of an interaction process between a drainage point and a service node for processing a bidirectional data packet according to an embodiment of the present invention
  • 11-a is a schematic structural diagram of a service node according to an embodiment of the present invention.
  • 11-b is a schematic structural diagram of another service node according to an embodiment of the present invention.
  • 11-c is a schematic structural diagram of another service node according to an embodiment of the present invention.
  • 11-d is a schematic structural diagram of another service node according to an embodiment of the present invention.
  • 11-e is a schematic structural diagram of another service node according to an embodiment of the present invention.
  • 12-a is a schematic structural diagram of a drainage point according to an embodiment of the present invention.
  • 12-b is a schematic structural diagram of another drainage point according to an embodiment of the present invention.
  • 12-c is a schematic structural diagram of another drainage point according to an embodiment of the present invention.
  • FIG. 13 is a schematic structural diagram of another service node according to an embodiment of the present disclosure.
  • FIG. 14 is a schematic structural diagram of another drainage point according to an embodiment of the present invention.
  • the embodiment of the invention provides a data packet processing method, a drainage point and a service node, which are used to improve the processing efficiency of the data packet.
  • a method for processing a data packet may include:
  • the first drainage point receives an uplink data packet sent by the source device.
  • the first traffic diversion point is an uplink ingress traffic point of the service chain corresponding to the uplink data packet, where the service chain includes: multiple service nodes that need to perform service processing on the uplink data packet in sequence.
  • the controller may centrally configure the drainage point and the service node.
  • the controller needs to use all the drainage points and
  • the service nodes are centrally configured, and the controller, the traffic diversion point, and the service nodes are all in an interworking basic network.
  • the traffic diversion point determines which data packets need to be sent to the service node for processing according to the policy configured by the controller, and which service nodes need to be sent to the service node for processing.
  • the service node provided by the embodiment of the present invention may also be referred to as a value-added service node.
  • the first drainage point is used as the uplink data importing point, and the first power distribution point first receives the uplink data packet from the source device through the external network.
  • the first drainage point is only used as the uplink data packet. After the inbound data packet is sent from the first drainage point, it does not need to go back to the first drainage point.
  • the end that actively initiates the access is referred to as a “source device”, and the end to be accessed is referred to as a “destination device”, and the data sent by the source device and the destination device are separately distinguished.
  • the data packet sent by the source device is called the "uplink data packet”
  • the ingress leading point for the upstream data packet is referred to as the "uplink entry point”
  • the uplink datagram is reported.
  • the egress of the egress is referred to as the "upstream egress point”, and the data packet sent by the destination device is referred to as “downlink data packet”, and the ingress diversion point for diverting the downlink data packet is called
  • the "downstream entry diversion point” is called the “downstream exit diversion point”
  • the first drainage point and the second drainage point are used for the uplink data packet and the downlink data packet.
  • the traffic is formed by the traffic of the two-way flow, and the service node of the first service node, the intermediate service node, and the second service node for the uplink data packet and the downlink data packet Constitute the two-way flow of business processes.
  • the intermediate service node may be 0 (ie, does not exist), one or more.
  • the drainage point of the uplink data packet sent by the source device is referred to as a “first drainage point”, and the first drainage point is used to complete the exit drainage point for draining the uplink data packet. Call it the "second drainage point.” See the description of the second drainage point in the subsequent embodiments for details.
  • multiple drainage points in the data processing system are distinguished by "first”, “second”, “third”, etc., "first", “second”, The “third” does not represent the sequence or the logical sequence.
  • the processing system for the data message is “first”, “second”, “third”, etc. The service nodes are distinguished. The “first”, “second”, and “third” do not represent sequential or logical sequence.
  • the controller configures a traffic diversion policy at the ingress diversion point, where the drainage policy includes which diversion point directs the data packet, and the service chain corresponding to the data packet, where the first drainage point is received from the source device.
  • the traffic policy configured by the controller can determine which service chain the uplink data packet needs to enter.
  • the uplink data packet enters a service chain determined by the first traffic diversion point through the ingress traffic point.
  • each service node in the service chain performs service processing on the data packet, the data packet is further processed from the service chain.
  • the data flows in the direction of the egress, and the data packet in each direction only needs to pass through the ingress and egress points, and the ingress and egress of the same diversion point is not required. Processing efficiency.
  • the data center network includes: controller, drainage point 1, drainage point 2, drainage point 3, drainage point 4, service node 1, and service node. 2.
  • Service node 3 The front end of the server 1 and the server 2 are deployed with a traffic diversion point 3, and the front end of the server 3 and the server 4 are deployed with a traffic diversion point 4, wherein the controller allocates three service chains according to the needs of service processing, and the three service chains are configured. They are business chain 1, business chain 2, and business chain 3.
  • the implementation of the service chain 1 is taken as an example.
  • the client 1 serves as the source device
  • the server 2 serves as the destination device
  • the drain point 1 serves as the upstream portal drain point
  • the drain point 3 serves as the uplink egress point
  • the uplink egress point is that the service chain that the egress 1 sends the uplink data packet sent by the client 1 is the service chain 1, and the service node 1 and the service node 2 need to perform the service processing on the uplink data packet in sequence;
  • the downlink data packet, the traffic point 3 is used as the downlink ingress, and the service node 2 and the service node 1 need to perform service processing on the downlink data packet in turn, and the traffic diversion point 2 serves as the downlink outlet drainage point.
  • the uplink data packet needs to go to the server 4 through the traffic point 1-> service node 1-> service node 3-> drain point 4.
  • the switching operation between the server 2 and the server 3 the uplink data packet sent by the server 2 matches the service chain 3.
  • the data packet entering the traffic diversion point 1 is consistent with the traffic diversion policy configured on the traffic diversion point 1, the data packet is forwarded to the service chain corresponding to the traffic diversion policy for service processing.
  • the corresponding service chain 1 is the service node 1 -> the service node 2, that is, the uplink data packet hitting the policy1 is sent by the traffic point 1 to the service node 1 for service processing, and then sent to the service node 2 for service processing.
  • the corresponding downlink data packet is first sent to the service node 2 for service processing, and then sent to the service node 1 for service processing.
  • the corresponding service chain 2 is the service node 1 -> service node 3, that is, the uplink data packet hitting the policy 2 is sent by the traffic point 1 to the service node 1 for service processing, and then sent to the service node 3 for service processing.
  • the corresponding downlink data packet is first sent to the service node 3 for service processing, and then sent to the service node 1 for service processing.
  • the source device may be a client (referred to as a client in English), and the destination device may be a server (called a server in English), such as the client 1 and the server 2 described in FIG. 3 above; the source device
  • the source device and the destination device may be servers, for example, the server 4 and the client 1 described in FIG.
  • the traffic point associated with the server is usually a virtual switch, the network interface of the south to the server, and the northbound data packet.
  • the processing network of the external network of the system, and a plurality of drainage points are deployed in the processing system of the data message.
  • the first drainage point encapsulates the service node information of the service chain into an uplink data packet.
  • the first drainage point after the first drainage point determines, according to the drainage policy, which service chain the uplink data packet should enter, the first drainage point encapsulates the service node information of the determined service chain into the uplink data packet.
  • the service node information of the service chain refers to the service node information of multiple service nodes included in the service chain.
  • the service node information may specifically refer to the Internet protocol of the service node (English: Internet Protocol, abbreviation: IP)
  • the service node information may also be a specific identifier of the service node.
  • the service node information may be a device index of the service node.
  • the first drainage point in step 202 encapsulates the service node information of the service chain into the uplink data packet, which may include the following steps:
  • the first traffic diversion point encapsulates the IP addresses of all the service nodes in the service chain into the uplink data packets in the order of service processing.
  • the first traffic point can encapsulate the IP address of all the service nodes of the service chain into the uplink data packet.
  • the first drainage point encapsulates multiple IP addresses in the uplink data packet to form a routing letter of the service chain.
  • the information is used to indicate how the last hop service node in the service chain forwards the data packet to the next hop service node.
  • the first drainage point in step 202 encapsulates the service node information of the service chain into the uplink data packet, which may include the following steps:
  • the first drainage point encapsulates the device indexes of all the service nodes in the service chain into the uplink data packets in the order of service processing.
  • the first traffic point can encapsulate the device index of all the service nodes of the service chain into the uplink data packet.
  • the multiple device indexes encapsulated in the uplink data packet by the first traffic point may be used to indicate which service nodes should be processed by the service node, and the last hop service node in the service chain may also be based on The mapping between the device index and the IP address determines the next hop service node to which the upstream data packet should be forwarded.
  • the first traffic point encapsulates the service node information into the uplink data packet.
  • the first traffic point may encapsulate the service node information into the packet header of the uplink data packet.
  • the first drainage point can modify the IP option (English: Option) field of the uplink data packet, and add the service node information therein.
  • the service node information encapsulated in the uplink data packet by the first traffic point is used for the service node to be parsed, so the first drain point only needs to be encapsulated according to the agreement with the service node.
  • Business node information can be.
  • the first traffic directing point sends the uplink data packet that is encapsulated with the service node information to the first service node.
  • the first service node is the first service node in the service chain that performs service processing on the uplink data packet.
  • the first drainage point determines which service chain is used to forward the uplink data packet, encapsulates the service node information of the determined service chain in the uplink data packet, and encapsulates the service chain.
  • the uplink data packet of the service node information is sent to the first service node in the service chain.
  • the uplink data packet after the uplink data packet enters the service chain and reaches the first service node, the uplink data packet does not return to the first traffic point, that is, a flow direction.
  • the data packet only needs to pass through a traffic diversion point.
  • the uplink data packet flows out from the service chain and reaches the exit drainage point.
  • the data packets in the direction only need to pass through the ingress and egress points, which can improve the processing efficiency of data packets.
  • the processing of the data packet may be a processing of a bidirectional data stream, and a network based on a hypertext transfer protocol (English: Hypertext Transfer Protocol, abbreviation: HTTP) (English: Web) service, for example, there are two-way data streams in each access process: the upstream data flow from the client to the server, and the downstream data flow from the server to the client.
  • HTTP Hypertext Transfer Protocol
  • FTP File Transfer Protocol
  • the method may further include the following steps:
  • the first drainage point receives the downlink data packet sent by the first service node, where the downlink data packet carries the service node information of the service chain. At this time, the first drainage point is to drain the downlink data packet. Downstream exit diversion point;
  • the first drainage point deletes the service node information from the downlink data packet.
  • the first drainage point sends the downlink data packet that deletes the service node information to the source device.
  • the downlink data packet is a data packet returned by the destination device according to the uplink data packet, and the downlink data packet forwarding process is opposite to the uplink data packet.
  • the downlink data packet is in the service chain according to the opposite of the uplink data packet.
  • the service processing flow is symmetrically processed. After the downlink data packet arrives at the first service node, the first service node sends the downlink data packet to the first traffic point, because the downlink data packet arrives at the service chain and arrives at the first one. When the service node processing the downlink data packet, the service node encapsulates the service node information for the downlink data packet. After the first traffic point receives the downlink data packet, the first traffic point needs to delete the encapsulated service node information.
  • the first traffic point After the service node information is deleted, the first traffic point sends the data packet to the source device, thereby completing the symmetric processing of the bidirectional flow of the data packet.
  • the downlink data packet flows out of the service chain and reaches the downstream egress point (that is, the first diversion point). Therefore, the data packet in each direction only needs to go through an egress point, which can improve the processing efficiency of the data packet.
  • the automatic association processing of the bidirectional data stream can be implemented, the difficulty of the controller configuration is reduced, and the processing performance of the system is improved.
  • the source device sends an uplink data packet to the first drainage point, and the first drainage point encapsulates the service node information of the service chain into the uplink data packet, and then the first drainage point is encapsulated.
  • the uplink data packet of the service node information is sent to the first service node in the service chain; the first service node sends the first uplink data packet to the next hop service node according to the service node information corresponding to the service chain.
  • the first uplink data packet is sent to the last service node in the uplink direction of the service chain (ie, the second service node), and the last service node performs service processing on the first uplink data packet to obtain the second Upstream data packet, the service node information is deleted from the second uplink data packet, and the third uplink data packet obtained by deleting the service node information is sent to the second drainage point; the second drainage point is used as the service The upstream exit of the chain, the receiving point, received After the third uplink data packet, the third uplink data packet is sent to the destination device.
  • the first drainage point and the second drainage point are respectively used as the uplink import drainage point and the uplink exit drainage point of the uplink data packet, that is, the data packet, when the service processing of the uplink data packet is performed in the data packet processing system.
  • the diversion point is designed in a distributed manner, and the inbound and outbound traffic of the upstream data packet is performed by the two diversion points, so that the uplink data packet only needs to pass once in the first drainage point and the second drainage point. Improve the processing efficiency of data packets.
  • the method for processing the data packet provided by the embodiment of the present invention may include:
  • the first service node receives an uplink data packet sent by the first drainage point.
  • the uplink data packet carries the service node information of the service chain determined by the first drainage point.
  • the first drainage point in the data packet processing system directs the uplink data packet to the first service node that performs service processing on the uplink data packet in the service chain determined by the first drainage point.
  • the first traffic diversion point and the first service point are both in the same internal network, and the first service node first receives the uplink data packet sent by the first drainage point, because the first drainage point carries the uplink data packet.
  • the service node information the first service node can obtain the service node information from the uplink data packet by parsing the uplink data packet.
  • the service node information may be specifically the IP address of the service node.
  • the service node information may also refer to a specific identifier of the service node.
  • the service node information may be a device index of the service node. .
  • the first service node performs service processing on the uplink data packet.
  • the first service node after the first service node receives the uplink data packet, the first service node performs service processing on the uplink data packet, and in the data packet processing system provided by the embodiment of the present invention, the service chain
  • Each service node included in the service needs to process the data packet, but the service processing performed by the different service nodes on the data packet is different.
  • some service nodes are anti-virus (English: Anti -Virus, abbreviation: AV) processing
  • some business nodes are processed by Intrusion Prevention System (English: Intrusion Prevention System, abbreviation: IPS).
  • IPS Intrusion Prevention System
  • the first service node sends the uplink data packet processed by the service to the intermediate service node or the second service node according to the service node information.
  • the intermediate service node is a next hop service node adjacent to the first service node in the service chain. If there is no intermediate service node between the first service node and the second service node in the service chain, the first service node directly The uplink data packet is sent to the second service node.
  • the first service node may send the uplink data packet processed by the service to the intermediate service node according to the service node information.
  • the first service node is the first service node in the service chain that performs service processing on the uplink data packet. After the first service node completes the service processing on the data packet, the first service node needs to follow the service of the service chain.
  • the service node sends an uplink data packet to the service node of the next hop.
  • the intermediate service node is the next hop service node adjacent to the first service node in the service chain, and the intermediate service node sends the uplink data packet according to the service mode of the service node.
  • each service node may further determine, according to the service node information carried in the uplink data packet, whether the service node is the last one in the service chain determined by the first drainage point to perform uplink data packets.
  • the service node of the service processing as long as the service node is not the last service node in the service chain that performs service processing on the uplink data packet, the service node needs to continue to send the uplink to the next hop service node of the service node according to the service node. Data message.
  • the method for processing the data packet may further include the following steps:
  • the first service node queries the IP address corresponding to the device index of the intermediate service node according to the mapping relationship table set by the controller.
  • a service node needs to query the mapping table configured by the controller according to the device index information to obtain an IP address corresponding to the intermediate service node, so that the first service node can send the uplink data packet to the intermediate service node according to the queried IP address.
  • the processing of the data packet may be the processing of the bidirectional data stream, and the HTTP-based web service is taken as an example.
  • the problem of the bidirectional data stream exists in each access process: the uplink from the client to the server.
  • the method may further include the following steps:
  • the first service node receives the downlink data packet sent by the intermediate service node, where the downlink data packet carries the service node information of the service chain determined by the first drainage point;
  • the first service node performs service processing on the downlink data packet
  • the first service node determines, according to the service node information, that the first service node is the last service node in the uplink direction of the service chain, the first service node sends the downlink data packet processed by the service to the first traffic point.
  • the first drainage point is a downlink exit drainage point for draining data packets.
  • the downlink data packet is a data packet returned by the destination device according to the uplink data packet, and the downlink data packet forwarding process is opposite to the uplink data packet.
  • the downlink data packet is in the service chain according to the opposite of the uplink data packet.
  • the service processing flow is symmetrically processed.
  • the first service node acts as the next hop service node of the intermediate service node when the downlink service data packet is processed in the service chain, and the intermediate service node
  • the downlink data packet is sent to the first service node. If there is no intermediate service node between the first service node and the second service node in the service chain in step B1, the first service node may receive downlink data from the second service node. Message.
  • the service node When the downlink data packet enters the first service node that processes the downlink data packet, the service node encapsulates the service node information for the downlink data packet, and the intermediate service node may send the downlink according to the service node information. The data packet is sent to the first service node.
  • the source device sends an uplink data packet to the first drainage point, and the first drainage point encapsulates the service node information of the service chain into the uplink data packet, and then the first drainage point is encapsulated.
  • the uplink data packet of the service node information is sent to the first service node in the service chain; the first service node sends the first uplink data packet to the next hop service node according to the service node information corresponding to the service chain.
  • the first uplink data packet is sent to the last service node in the uplink direction of the service chain (ie, the second service node), and the last service node performs service processing on the first uplink data packet to obtain the second Upstream data packet, the service node information is deleted from the second uplink data packet, and the third uplink data packet obtained by deleting the service node information is sent to the second drainage point; the second drainage point is used as the service
  • the uplink egress header of the chain sends the third uplink data packet to the destination device after receiving the third uplink data packet.
  • the first drainage point and the second drainage point are respectively used as the uplink import drainage point and the uplink exit drainage point of the uplink data packet, that is, the data packet, when the service processing of the uplink data packet is performed in the data packet processing system.
  • Distributing the drainage points in the central system The design of the inbound and outbound traffic of the upstream data packet is performed by the two traffic diversion points, so that the uplink data packet needs to be processed only once in the first drainage point and the second drainage point, which can improve the processing efficiency of the data packet.
  • the foregoing embodiment describes the processing method of the data packet provided by the embodiment of the present invention from the perspective of the first service node in the data processing system, if the service chain is between the first service node and the second service node.
  • There is also an intermediate service node and the intermediate service node receives the uplink data packet sent by the first service node, and the processing method of the data packet that can be executed by the intermediate service node can be as follows:
  • the intermediate service node receives the first uplink data packet sent by the first service node.
  • the first uplink data packet carries the service node information corresponding to the service chain determined by the first traffic point, and the first service node is a previous hop service node in the service chain adjacent to the intermediate service node, where the first traffic point is The upstream entry diversion point of the service chain.
  • the intermediate service node for the uplink direction of the data packet, if there is an intermediate service node, the intermediate service node is a previous hop service node adjacent to the second service node in the service chain, and the first service node is configured according to the present
  • the first uplink data packet is sent to the intermediate service node, and the intermediate service node receives the first uplink data packet sent by the first service node, because the first traffic point is
  • the service node information is encapsulated in the first uplink data packet, and the intermediate service node can obtain the service node information from the first uplink data packet by parsing the first uplink data packet.
  • the service node information may be specifically the IP address of the service node.
  • the service node information may also refer to a specific identifier of the service node.
  • the service node information may be a device index of the service node. .
  • the intermediate service node performs service processing on the first uplink data packet, and obtains the first uplink data packet after the service processing.
  • the intermediate service node may perform service processing on the first uplink data packet.
  • each service node included in the service chain needs to perform service processing on the data packet, but the content of the service processing performed by the different service node on the data packet is Different, for example, some service nodes perform anti-virus processing, and some service nodes perform intrusion prevention system processing.
  • each service chain includes which service nodes need to be included.
  • each service node in the service chain can perform multiple service processing separately, and the service node pairs data.
  • the service processing performed by the packet can be implemented in combination with a specific scenario, and is only described herein.
  • the intermediate service node sends the first uplink data packet processed by the service to the second service node.
  • each service node in the data packet processing system after each service node in the data packet processing system receives the uplink data packet from the service node of the last hop, each service node can also be based on the service node carried in the uplink data packet.
  • the information is used to determine whether the service node is the last service node in the service chain determined by the first traffic point to perform service processing on the uplink data packet, as long as the service node is not the last service in the service chain that performs service processing on the uplink data packet.
  • the node and the service node need to continue to send uplink data packets to the next hop service node of the service node according to the service node information.
  • the intermediate service node After the intermediate service node parses the service node information from the uplink data packet, the intermediate service node also needs to determine, according to the service node information, whether the service node is the last service node in the uplink direction in the service chain, in the embodiment of the present invention. Only the second service node determines that the service node is the last service node in the service chain that performs service processing on the uplink data packet by determining the service node information, and the second service node does not exist in the service chain. The next hop service node of the second service node.
  • the first service node uses the first uplink data packet according to the service node information corresponding to the service chain.
  • the next hop service node sends the first uplink data packet, and the first uplink data packet arrives at the last service node (ie, the second service node) in the uplink direction in the service chain, and the last service node pairs the first
  • the uplink data packet is processed by the service to obtain the second uplink data packet, and then the service node information is deleted from the second uplink data packet, and the third uplink data packet obtained by deleting the service node information is sent to the second
  • the third drainage point is used as the uplink egress point of the service chain, and the third uplink data packet is sent to the destination device after receiving the third uplink data packet.
  • the foregoing description of the intermediate service node indicates that the intermediate service node performs service processing on the received uplink data packet, and then the intermediate service node sends uplink data to the next hop service node of the intermediate service node according to the service node information corresponding to the service chain.
  • the first drainage point and the second drainage point are respectively used as the uplink import drainage point and the uplink exit drainage point of the uplink data packet, that is, the data packet, when the service processing of the uplink data packet is performed in the data packet processing system.
  • the diversion point is designed in a distributed manner, and the inbound and outbound traffic of the upstream data packet is performed by the two diversion points, so that the uplink data packet only needs to pass once in the first drainage point and the second drainage point. Improve the processing efficiency of data packets.
  • the first service processing node directly sends the data packet to the second after processing the uplink data packet.
  • the service node in this implementation scenario, describes the processing method of the data packet provided by the embodiment of the present invention from the perspective of the second service node.
  • a method for processing a data packet may include:
  • the second service node receives the first uplink data packet sent by the first service node.
  • the first uplink data packet carries the service node information corresponding to the service chain determined by the first drainage point, and the first service node is the previous hop service node adjacent to the second service node in the service chain, and the first drainage point is The upstream entry diversion point of the service chain.
  • the second service node is a previous hop service node adjacent to the second service node in the service chain, and the first service node is in accordance with the service mode of the service node.
  • the first uplink data packet is sent to the second service node, and the second service node receives the first uplink data packet sent by the first service node, because the first traffic point is on the first uplink.
  • the service node information is encapsulated in the data packet, and the second service node can obtain the service node information from the first uplink data packet by parsing the first uplink data packet.
  • the service node information may be specifically the IP address of the service node.
  • the service node information may also refer to a specific identifier of the service node.
  • the service node information may be a device index of the service node. .
  • the second service node performs service processing on the first uplink data packet to obtain a second uplink data packet.
  • the second service node may perform service processing on the first uplink data packet.
  • the second service node after the second service node receives the first uplink data packet, the second service node performs service processing on the first uplink data packet.
  • the specific service processing manner refer to the description in the foregoing embodiment.
  • each service node included in the service chain needs to perform service processing on the data packet, but the content of the service processing performed by the different service node on the data packet It is different.
  • the second service node determines, according to the service node information, that the second service node is the last service node in the uplink direction in the service chain, the second service node deletes the service node information from the second uplink data packet to obtain the first Three uplink data messages.
  • each service node in the data packet processing system receives the uplink data packet from the service node of the last hop, each service node can also be based on the service node carried in the uplink data packet.
  • the information is used to determine whether the service node is the last service node in the service chain determined by the first traffic point to perform service processing on the uplink data packet, as long as the service node is not the last service in the service chain that performs service processing on the uplink data packet.
  • the node and the service node need to continue to send uplink data packets to the next hop service node of the service node according to the service node information.
  • the second service node parses the service node information from the uplink data packet.
  • the second service node also needs to determine, according to the service node information, whether the service node is the last service node in the uplink direction in the service chain.
  • the second service node determines the service node by determining the service node information. It is the last service node in the service chain that performs service processing on the uplink data packet. For the second service node, there is no next hop service node of the second service node in the service chain.
  • the second service node determines that the service node is the last service node in the uplink direction in the service chain, and for the second service node, there is no need for the second uplink data in the service chain.
  • the packet continues to be processed by the next hop service node. Therefore, after the second service node performs the service processing on the second pair of uplink data packets, the service node information can be deleted from the second uplink data packet to obtain the third uplink data. Message.
  • the second service node sends the third uplink data packet to the second drainage point.
  • the second drainage point is an upstream outlet drainage point for the service chain.
  • the second service node is the last service node in the uplink direction of the service chain, and the second service node obtains the third uplink data packet after deleting the service node information for the second uplink data packet.
  • the third uplink data packet flows out of the service chain, and the second service data node sends the third uplink data packet to the uplink egress flow point.
  • the third egress data packet is drained. Defined as "second drain point.”
  • the method for processing the data packet before the second service node sends the third uplink data packet to the second traffic point, may further include the following steps:
  • the second service node queries the uplink egress point of the third uplink data packet according to the bidirectional flow table
  • the second service node queries the bidirectional flow table, and the obtained result may include two cases: the first one is to query the uplink egress point of the third uplink data packet through the bidirectional flow table, and the second The uplink exit diversion point of the third uplink data packet is not queried through the bidirectional flow table. Then, in the first case, if the uplink egress point is not queried, the second service node sends the third uplink data packet to the second traffic diversion point, where the second service node follows the forwarding route. Sending the third uplink data message to the second drainage point.
  • the second service node sends the third uplink data packet to the second drain point, where the second service node follows the The bidirectional flow table sends the third uplink data message to the second drainage point.
  • the second service node is the last service node in the uplink direction in the service chain, and the second service node can establish a bidirectional flow table to record the destination address of the data packet forwarding.
  • the second service node may query the two-way flow table. If the uplink service flow point is queried through the bidirectional flow table, the second service node may be in the two-way direction.
  • the flow table forwards the third uplink data packet to the uplink outlet drainage point (that is, the second drainage point defined in the embodiment of the present invention), if If the two-way flow table does not query the uplink egress point, the second service node sends the third uplink data packet to the egress point deployed on the front end of the destination device according to the forwarding route (that is, the device connected to the destination device in the embodiment of the present invention. Second drainage point).
  • the second service node For the third uplink data packet sent by the service chain determined by the first drainage point, the second service node does not record the drainage point information of the exit drainage point in the bidirectional flow table, but in the first time When the first downlink data packet corresponding to the third uplink data packet that is sent reaches the second service node, the second service node may record the exit drainage point information of the third uplink data packet, and the subsequent uplink data is used.
  • the packet is queried in the bidirectional flow table, the egress header of the upstream data packet can be queried, so that the uplink data packet can be forwarded to the upstream egress point according to the bidirectional flow table.
  • the bidirectional flow table may specifically include an upstream flow table and a downstream flow table, respectively, used for information flow of data packets in the uplink direction and the downlink direction of the service chain, where
  • the flow table may include quintuple information, for example, the source IP address, the source port, the destination IP address, the destination port, and the transport layer protocol number carried in the data table, and the uplink direction of the service chain.
  • the second service node saves the source IP address, the source port, and the destination IP address carried in the third uplink data packet to the downstream flow table, so that the second service node uses the downstream flow table when processing the downlink data packet of the service chain. Perform forwarding control.
  • the foregoing drainage point information may refer to an IP address of the drainage point.
  • the drainage point information of the second drainage point is specifically an IP address of the second drainage point.
  • the drainage point information may also refer to The specific identifier of the drainage point, for example, the drainage point information may be the device index of the drainage point.
  • the second service node establishes a bidirectional flow table for querying the uplink egress of the third uplink data packet, and only the second service node sends the third uplink data packet.
  • the second service node encapsulates the service node information of the second service node into the third uplink data packet.
  • the step 504 is specifically: the second service node sends the third uplink data packet that encapsulates the service node information of the second service node to the second drainage point.
  • the second service node can send the first downlink data packet corresponding to the third uplink data packet from the ingress and egress point of the first downlink data packet to the second service node, and the second service The node may encapsulate the service node information of the second service node into the third uplink data packet, and after receiving the third uplink data packet, the first downlink data packet of the first downlink data packet, the first downlink data packet
  • the entry point of the ingress can record the service node information of the second service node, and save it in the bidirectional flow table established by the ingress diversion point of the first downlink data packet, so that the ingress flow point of the first downlink data packet
  • the first downlink data packet can be sent to the second service node according to the service node information of the second service node, so that the automatic association processing of the bidirectional data stream can be realized, and the configuration is simplified.
  • the service node information of the second service node may be specifically the IP address of the second service node.
  • the service node information of the second service node may also refer to the specificity of the second service node.
  • the identification, for example, the service node information of the second service node may be the device index of the second service node.
  • the processing of the data packet may be the processing of the bidirectional data stream, and the HTTP-based web service is taken as an example.
  • the problem of the bidirectional data stream exists in each access process: the uplink from the client to the server.
  • the server initiates an upstream data flow to the client and the client replies to the downstream data flow of the server.
  • the two-way data flow is usually required to be symmetrically processed in the service chain.
  • the method may further include the following steps:
  • the first service node receives the first downlink data packet sent by the second traffic directing point, where the second traffic directing point is a downlink entry draining point for draining the first downlink data packet;
  • the second service node performs service processing on the first downlink data packet to obtain a second downlink data packet.
  • the second service node determines, according to the bidirectional flow table, that the second downlink data packet is a downlink data packet of the service chain.
  • the second service node encapsulates the service node information of the service chain into the second downlink data packet to obtain a third downlink data packet.
  • the second service node sends the third downlink data packet to the first service node.
  • the first downlink data packet is a data packet returned by the destination device according to the third uplink data packet, and the first downlink data packet forwarding process is opposite to the foregoing first uplink data packet, the first The data packet is symmetrically processed in the service chain according to the service processing flow opposite to the first uplink data packet.
  • the second traffic point is used as the service.
  • the downlink ingress of the downlink data packet in the chain, and the second traffic diversion point, the second downlink packet is forwarded to the second service node, because the uplink data packet and the downlink are in the embodiment of the present invention.
  • the data packet is symmetrically processed.
  • the second service node In the process of processing the uplink data packet, the second service node is the last service node in the uplink direction in the service chain, and then the second service node is in the process of processing the downlink data packet. It is the first service node in the downlink direction of the service chain.
  • the first downlink data packet is determined by the second service node, and the second service node determines, according to the bidirectional flow table, that the first downlink data packet is a downlink data packet of the service chain, that is, the second service node determines to receive from the second traffic point.
  • the first downlink data packet is the downlink data packet that is opposite to the processing flow of the first uplink data packet. Therefore, the first downlink data packet needs to perform the opposite service of the first uplink data packet in the service chain.
  • the second service node is the first service node in the service chain that performs service processing on the downlink data packet, so that the first downlink data packet can be sequentially accessed into each service node in the service chain for service processing.
  • the second service node may encapsulate the service node information of the service chain determined by the first drainage point into the first downlink data packet, where the service node information of the service chain refers to multiple service nodes included in the service chain.
  • the service node information specifically, the service node information may specifically refer to the IP address of the service node. In the embodiment of the present invention, the service node information may also refer to the service.
  • Identifying a particular node e.g., the information service node may be a device index of service nodes.
  • the first service node is the next hop service node adjacent to the second service node in the service chain, and the second service node sends the third downlink data packet to the first service node. .
  • the method further includes:
  • the second service node saves the drainage point information of the second drainage point into the bidirectional flow table.
  • the bidirectional flow table established by the second service node may include an upstream flow table and a downstream flow table. After the third uplink data packet reaches the second service node, the second service node records the information of the third uplink data packet in the downlink. In the flow table, after receiving the first downlink data packet, the second service node may determine, by using the downstream flow table, that the first downlink data packet is a data packet that is opposite to the third uplink data packet processing flow. After receiving the first downlink data packet, the second service node saves the drainage point information of the second drainage point of the first downlink data packet to the upstream flow table, so that the second service node receives the first The upstream table can be queried after the third uplink data packet.
  • the drainage point information of the second drainage point saved by the second service node may be an IP address of the second drainage point, or may be a specific identifier of the second drainage point, for example, a device index of the second drainage point.
  • the first service node sends the first uplink data packet to the next hop service node according to the service node information corresponding to the service chain, and the first uplink data packet is sent.
  • the text arrives at the last service node in the uplink direction of the service chain (ie, the second service node), and the last service node performs service processing on the first uplink data packet to obtain a second uplink data packet, and then the service node
  • the information is deleted from the second uplink data packet, and the third uplink data packet obtained by deleting the service node information is sent to the second drainage point; the second drainage point is used as the uplink outlet drainage point of the service chain, and the second drainage point is received.
  • the third uplink data packet is sent to the destination device.
  • the first drainage point and the second drainage point are respectively used as uplink entries of the uplink data packet when the uplink data packet is processed in the data packet processing system.
  • the drainage point and the upstream egress point that is, the data packet center system, the distributed design of the diversion point, and the ingress and egress of the upstream data packet are carried out by the two diversion points, so that the uplink data packet is at the first drainage point. And only one time is needed in the second drainage point, which can improve the processing efficiency of the data packet.
  • the foregoing embodiment describes the processing method of the data packet provided by the embodiment of the present invention from the perspective of the second service node in the data processing system, and then provides the data provided by the embodiment of the present invention from the perspective of the second traffic point.
  • the method for processing the data packet provided by the embodiment of the present invention may include:
  • the second drainage point receives the third uplink data packet sent by the second service node.
  • the second service node is the last service node in the uplink direction in the service chain determined by the first drainage point, and the second drainage point is the uplink exit drainage point of the service chain, and the third uplink data is After receiving the first uplink data packet sent by the first service node, the second service node performs service processing on the first uplink data packet to obtain a second uplink data packet, and obtains a second uplink data packet from the Obtaining, after deleting the service node information of the service chain in the uplink data packet;
  • the second service node is the last service node in the uplink direction in the service chain, and the third uplink data packet flows out from the second service node. Then, the third uplink data packet enters an uplink egress flow point for diverting the third uplink service packet, and the uplink data packet is sent to the first traffic diversion point, the first service node, and the second service node by using the foregoing embodiment.
  • the processing flow shows that the uplink data packet only passes through the first drainage point once, and does not return a drainage point multiple times and then sends it out from the drainage point, thereby greatly improving the processing system data of the data packet. The processing efficiency of the message.
  • the second drainage point sends the third uplink data packet to the destination device.
  • the second drainage point is deployed at the front end of the destination device.
  • the second drainage point is a drainage point deployed at the front end of the current device. After the second drainage point receives the third uplink data packet from the service chain, the second drainage point may use the third uplink. The data packet is diverted to the destination device, thereby completing the processing process of the data packet processing system for the uplink data packet.
  • the second service node may further encapsulate the service node information of the second service node into the third uplink data packet, and then the second drainage point receives the third message sent by the second service node.
  • the data packet processing method provided by the embodiment of the present invention may further include the following steps:
  • the second drainage point parses the service node information of the second service node from the third uplink data packet.
  • the second drainage point saves the service node information of the second service node to the bidirectional flow table.
  • a bidirectional flow table is established in the second drainage point, and after the second drainage point parses the service node information (ie, the second service node information) of the last service node in the service chain from the third uplink data packet, Second drainage
  • the point is saved to the second service node information, and is saved to the bidirectional flow table established by the second drainage point, so that the second drainage point can receive the first downlink data packet after receiving the first downlink data packet sent by the destination device.
  • the data packet is sent to the service node (that is, the second service node) that performs the service processing on the downlink data packet in the service chain, so that the automatic association processing of the bidirectional data stream can be realized, and the data packet processing system is improved. Processing performance.
  • the service node information of the second service node may be specifically the IP address of the second service node.
  • the service node information of the second service node may also refer to the specificity of the second service node.
  • the identifier, for example, the second service node information of the second service node may be a device index of the second service node.
  • the bidirectional flow table may specifically include an upstream flow table and a downstream flow table, respectively, used for information flow of data packets in the uplink direction and the downlink direction of the service chain, where
  • the flow table may include quintuple information, for example, the source IP address, the source port, the destination IP address, the destination port, and the transport layer protocol number carried in the data table, and the uplink direction of the service chain.
  • the second traffic diversion point After receiving the third uplink data packet, saves the source IP address, the source port, and the destination IP address carried in the third uplink data packet to the downstream flow table, so that the second drainage point is When the downlink data packet of the service chain is processed, the downstream flow table is used for forwarding control.
  • the second service node encapsulates the second uplink data packet in the second uplink data packet for the first uplink data packet sent by the service chain determined by the first traffic point.
  • the service node information of the service node but for the subsequent third uplink data message, since the second traffic point has already recorded the service node information of the second service node in the bidirectional flow table, the second service node does not need to be
  • the third uplink data packet encapsulates the service node information of the second service node, and the second traffic diversion point does not need to perform step D1 and step D2 again, that is, only the second service node uses the service chain to transmit the third time.
  • the second drain point needs to execute D1 and D2.
  • the second drainage point of step D1 is parsed from the third uplink data packet.
  • the data packet processing method provided by the embodiment of the present invention may further include the following steps:
  • the second drainage point queries the IP address corresponding to the device index of the second service node according to the mapping relationship table set by the controller;
  • the second drainage point of step D2 saves the service node information of the second service node to the bidirectional flow table, specifically:
  • the second drainage point saves the IP address corresponding to the device index of the second service node in the bidirectional flow table.
  • the second service node encapsulates the service node information in the third uplink data packet, it is not the second industry.
  • the IP address of the service node is the device index value of the second service node
  • the second traffic diversion point needs to query the mapping relationship table configured by the controller according to the device index information after parsing the third uplink data packet.
  • the IP address corresponding to the second service node is obtained, so that the second drainage point can be saved in the bidirectional flow table according to the IP address of the queried second service node.
  • the data packet processing method may further include the following steps:
  • the second drainage point sends the service node information of the second service node to the third drainage point, wherein the third drainage point is another uplink outlet drainage point in the service chain except the second drainage point.
  • the service chain there are two exit diversion points in the service chain, which are the second drainage point and the third drainage point respectively. If the third uplink data packet flows out from the service chain through the second drainage point, then the third uplink data is used.
  • the first downlink data packet corresponding to the packet may enter the service chain through the third traffic diversion point.
  • the second traffic point may be the service chain.
  • the service node information of the last service node ie, the service node information of the second service node
  • FIG. 7 a schematic diagram of an implementation manner of a multi-outlet drainage point provided by an embodiment of the present invention, in which an uplink data packet from the server 1 to the client 2 flows out through the drainage point 1 , but The downlink data message from client 2 to server 1 may flow through the diversion point 2.
  • the service node information also referred to as tail service node information
  • the first step the upstream data packet flows out from the traffic diversion point 1.
  • the second step: the traffic diversion point 1 will be the tail service node of the upstream data packet.
  • the information is synchronized to the drainage point 2
  • the downlink data packet of the server 1 is accessed from the client 2, and may enter the intranet from the traffic diversion point 1 or enter the intranet from the traffic diversion point 2.
  • the drainage point 1 and the drainage point 2 may be considered to be the same.
  • Different traffic diversion units within a logical drainage point that is, within the same logical drainage point, realize synchronization of service node information between different drainage units, and are applicable to an application scenario in which the service chain has multiple exit drainage points.
  • the processing of the data packet may be the processing of the bidirectional data stream, and the HTTP-based web service is taken as an example.
  • the problem of the bidirectional data stream exists in each access process: the uplink from the client to the server. Data flow, and reply to the client from the server Row data stream.
  • the server initiates an upstream data flow to the client and the client replies to the downlink data flow of the server. Because of the need for business processing on the service node, the two-way data flow is usually required to be symmetrically processed in the service chain.
  • the data packet processing method provided by the embodiment of the present invention may further include the following steps:
  • the second drainage point receives the first downlink data packet returned by the destination device according to the third uplink data packet, where the second drainage point is a downlink entry drainage point for draining the downlink data packet;
  • the second traffic diversion point sends the first downlink data packet to the second service node, where the second service node is the first service node in the downlink direction of the service chain.
  • the first downlink data packet is a data packet returned by the destination device according to the third uplink data packet, and the first downlink data packet forwarding process is opposite to the first uplink data packet, and the first downlink data packet is opposite.
  • the packet is symmetrically processed in the service chain according to the service processing procedure opposite to the first uplink data packet.
  • the destination device After the destination device receives the third uplink data packet, the destination device generates the first packet according to the third uplink data packet.
  • the data packet is sent, and the first downlink data packet is sent to the traffic diversion point at the front end of the destination device (ie, the second traffic diversion point), and the second service node is the first one in the service chain to perform service processing on the downlink data packet.
  • the service node sends a first downlink data packet to the second service node, where the processing process of the first downlink data packet by the second service node can refer to the second service in the foregoing embodiment. The description of the node is not described here.
  • the second drainage point of the step E2 sends the first downlink data packet to the second service node, specifically:
  • the second drainage point sends the first downlink data packet to the second service node according to the bidirectional flow table.
  • the second drainage point is configured with a bidirectional flow table.
  • the second drainage point After receiving the third uplink data packet, the second drainage point extracts the source IP address, the source port, and the destination IP address from the third uplink data packet.
  • the address and the destination port are saved in the downstream flow table, that is, the active IP address is recorded as the second service node in the downstream flow table, so when the second drainage point queries the downstream flow table, the source IP address is the second for the uplink.
  • the service node, then the destination IP address is the second service node, and the second traffic point can send the first downlink data packet to the second service node according to the information recorded in the downstream flow table, and the second service node serves as the service.
  • the first service node in the downlink direction of the chain can receive the first downlink data packet from the second drainage point.
  • the second drainage point is used as the uplink outlet drainage point, and the third uplink data packet arrives at the destination device only once from the second drainage point, and does not need to repeatedly return to the second drainage point.
  • the second drainage point is sent out.
  • the first downlink data packet sent by the destination device only reaches the second service node after passing through the second drainage point, and does not need to repeatedly return to the second drainage point.
  • the second drainage point is sent out, so this The processing efficiency of the data packet in the embodiment of the invention is much improved compared to the prior art.
  • the first service node sends the third uplink data packet obtained by deleting the service node information to the second drainage point; the second drainage point serves as the uplink outlet drainage point of the service chain. After receiving the third uplink data packet, the third uplink data packet is sent to the destination device.
  • the first drainage point and the second drainage point are respectively used as the uplink import drainage point and the uplink exit drainage point of the uplink data packet, that is, the data packet, when the service processing of the uplink data packet is performed in the data packet processing system.
  • the diversion point is designed in a distributed manner, and the inbound and outbound traffic of the upstream data packet is performed by the two diversion points, so that the uplink data packet only needs to pass once in the first drainage point and the second drainage point. Improve the processing efficiency of data packets.
  • the data packet processing method provided by the embodiment of the present invention is applied to the distributed traffic point of the Service Chaining technology, and only needs to be configured with a traffic diversion policy at the ingress diversion point to implement automatic association processing of the bidirectional data stream, simplify configuration, and improve datagram.
  • the processing performance of the data processing system for the data processing system is applied to the distributed traffic point of the Service Chaining technology, and only needs to be configured with a traffic diversion policy at the ingress diversion point to implement automatic association processing of the bidirectional data stream, simplify configuration, and improve datagram.
  • FIG. 8 is a schematic diagram of processing of a bidirectional data stream through a distributed drainage point according to an embodiment of the present invention.
  • the paired drainage points are used to process bidirectional traffic in the service chain, and the controller configures the diversion point and the service.
  • the node implements traffic forwarding control by the traffic diversion point and the service node.
  • the following describes the processing principle of the data packet in the embodiment of the present invention, where the controller, the drainage point 1, the drainage point 2, the drainage point 3, the drainage point 4, the service node 1, the service node 2, and the service node 3 are all illustrated.
  • the uplink data packet of the client 1 to the server 2 is diverted from the traffic diversion point 1 to the service chain, and after the service chain is processed, it is forwarded to the traffic diversion point 3, and the traffic diversion point 3 is forwarded to the server 2.
  • the corresponding downlink data packet is diverted from the traffic diversion point 3 to the service chain. After the service chain is processed, it is forwarded to the traffic diversion point 1, and the traffic diversion point 1 is forwarded to the client 1.
  • Figure 9-a and Figure 9-b are schematic diagrams of the processing of the uplink data packet and the downlink. Schematic diagram of the processing of data messages.
  • the first step the uplink data message arrives at the entrance diversion point.
  • the second step the traffic diversion point 1 determines all the service nodes of the service chain according to the configured traffic diversion policy, and sends them to the corresponding service chain for processing.
  • the method provided by the embodiment of the present invention may further include the following steps:
  • the traffic diversion point 1 encapsulates the tunnel header into an uplink data packet.
  • the traffic control point 1 and the service node 1 use the tunnel technology to send uplink data packets.
  • the traffic point 1 Before using the tunnel technology, the traffic point 1 first encapsulates the tunnel header in the uplink data packet.
  • the tunnel header carries information about the tunnel protocol.
  • the encapsulated forward data packet is forwarded between the two endpoints of the tunnel (ie, the traffic diversion point 1 and the service node 1) through the basic routing network.
  • GRE Generic Routing Encapsulation
  • NVGRE Network Virtual GRE
  • VXLAN Virtual Extensible Local Area Network
  • the traffic between the traffic point and the service node, between the service node and the service node, can be directly transmitted from the point-to-point of the packet through a tunneling technology (such as a GRE tunnel).
  • the ingress diversion point modifies the packet header of the uplink data packet, adds a specific field, and includes the routing information of the service node that needs to pass through in the uplink data packet, and each service node can parse the specificity of the uplink data packet. Field, obtaining the service node information of the service node of the next hop.
  • the third step the last service node of the service chain adds the information of the service node to the head of the uplink data packet and sends the uplink data packet.
  • the drainage point 1 needs to store the server list associated with the drainage point 3 and the drainage point 4.
  • the processing of the data packet may require virtual machine switching operations, such as the server under the traffic point 3
  • the service on 2 needs to be switched to the server 3 under the traffic diversion point 4, and the traffic diversion point 1 also needs to refresh the association list of other drainage points and the corresponding server in real time.
  • only the service node in the service chain can be configured at the ingress diversion point, and the egress diversion point is not configured.
  • the upstream data packet is modified by the ingress diversion point, and the service node information is encapsulated, and the packet is sent to the service node of the next hop through the tunnel.
  • the service node parses the uplink data packet, obtains the service node information of the next hop, and sends the uplink data packet to the service node of the next hop through the tunnel.
  • the last service node in the service chain adds its own service node information, such as its own IP address or its own device index, to the header of the upstream data packet, and directly sends the upstream data packet. Send it out.
  • service node 2 forwards the first packet of the uplink data packet, it does not know the drainage point information of the exit drainage point.
  • the upstream data packet is forwarded through the normal route and reaches the exit diversion point.
  • the fourth step the uplink data packet arrives at the exit diversion point of the service association, and the egress drainage point creates a bidirectional flow table, and the bidirectional flow table records the service node information of the last service node.
  • the egress diversion point receives the uplink data packet sent by the last service node of the service chain to establish a bidirectional flow table.
  • the service node information of the last service node of the service chain is obtained by parsing the uplink data packet, and is stored in the bidirectional flow table. If the device data index is obtained by parsing the uplink data packet, the IP address corresponding to the device index value can be obtained through the mapping relationship table configured by the controller.
  • the description of the present invention by the above embodiment shows that the client 1 sends an uplink data packet to the traffic diversion point 1, and the traffic diversion point 1 determines the service chain corresponding to the uplink data packet according to the traffic diversion policy configured by the controller, and then the traffic 1 points the traffic.
  • the service node information of the chain is encapsulated into the uplink data packet, and then the traffic point 1 transmits the uplink data packet encapsulated with the service node information to the service node 1 in the service chain; the service node 1 performs the received uplink data packet.
  • the service node 1 sends the service-processed uplink data message to the service node 2, and after receiving the uplink data message sent by the service node 1, the service node 2 determines that the service node 2 is based on the service node information.
  • the traffic data is sent to the traffic point 3;
  • the stream point 3 serves as an uplink egress point for diverting the upstream data packet, and sends the data packet to the server 2 after receiving the uplink data packet.
  • the traffic control system uses the traffic diversion point 1 and the traffic diversion point 3 as the upstream ingress and inbound egress points of the uplink data packet, that is, the data packet center system. In the distributed design of the drainage points, the inbound and outbound traffic of the upstream data packets are carried out through the two drainage points.
  • the uplink data packets only need to be processed once in the drainage point 1 and the drainage point 3, and the processing efficiency of the data packets is processed. Can be effectively improved.
  • the first step the downlink data message arrives at the associated entry diversion point.
  • the second step the ingress diversion point queries the bidirectional flow table, and obtains the service node information of the last service node (that is, the first service node of the downlink data packet) of the uplink data packet from the service node information recorded in the bidirectional flow table. Send a downlink data message.
  • the downstream packet reaches the egress header of the uplink data packet, that is, the ingress diversion point of the downlink data packet, hits the bidirectional flow table, and sends the service node information of the service node 2 in the bidirectional flow table as the destination address of the forwarding, and sends the tunnel through the tunnel. , the automatic association processing of the square bidirectional flow is realized.
  • Step 3 The service chain processes downlink data packets, and the service nodes send downlink data packets through the tunnel.
  • the fourth step is: the egress of the downlink data packet, parsing the downlink data packet, and sending the downlink data packet.
  • the client 1 sends an uplink data packet to the traffic diversion point 1.
  • the traffic diversion point 1 determines the service chain corresponding to the uplink data packet according to the traffic diversion policy configured by the controller, and then the traffic point 1 is
  • the service node information of the service chain is encapsulated into the uplink data packet, and then the traffic point 1 sends the uplink data packet encapsulated with the service node information to the service node 1 in the service chain; the service node 1 receives the received uplink datagram.
  • the service processing is performed, and the service node 1 transmits the uplink data packet processed by the service to the service node 2 according to the service node information.
  • the service node 2 After receiving the uplink data packet sent by the service node 1, the service node 2 determines the service node according to the service node information. 2 is the last service node in the service chain that performs service processing on the uplink data packet, and then the service node 2 performs service processing on the uplink data packet, and then the service node 2 receives the service node information from the uplink data packet after the service processing. Deleted, the service node 2 sends the uplink data packet with the information of the service node to the traffic point 3; the traffic point 3 serves as the upstream traffic drain point for the uplink data packet, and after receiving the uplink data packet, The data message is sent to server 2.
  • the traffic control system uses the traffic diversion point 1 and the traffic diversion point 3 as the upstream ingress and inbound egress points of the uplink data packet, that is, the data packet center system.
  • the inbound and outbound traffic of the upstream data packets are carried out through the two drainage points.
  • the uplink data packets only need to be processed once in the drainage point 1 and the drainage point 3, and the processing efficiency of the data packets is processed. Can be effectively improved.
  • the method for processing the data packet provided by the embodiment of the present invention is described in another application scenario. Referring to FIG. 10, the method for processing the diversion data packet and the service node provided by the embodiment of the present invention are provided. Schematic diagram of the interaction process between.
  • the data packet processing system includes: a controller, a drain point 1, a drain point 2, a drain point 3, a drain point 4, a service node 1, a service node 2, a service node 3, and a front end of the server 1 and the server 2 are deployed. Drainage point 3, the front end of the server 3 and the server 4 are deployed with the drainage point 4, wherein all the drainage points and all the service nodes are configured by the controller, and the controller, all the drainage points, and all the service nodes are located.
  • the implementation of the service chain 1 is taken as an example. In the process of the client 1 initiating the access to the server 2, the client 1 serves as the source device, and the service chain matched to the data packet is the service.
  • the drainage point 1 is used as the upstream entrance drainage point, and the service node 1 and the service node 2 need to perform service processing on the uplink data packet in turn, the drainage point 3 serves as the uplink outlet drainage point, and the server 2 is the destination device, the service node 1 and the service.
  • the service node information of the node 2 corresponds to the service chain 1, and the downlink data packet sent by the server 2 is used as the downlink entry drainage point, the service node 2 and the service. 1 needs to sequentially point the downlink data packet service processing, point 2 as drainage outlet downstream drainage points.
  • the embodiments of the present invention include two parts of uplink processing and downstream processing, which are described in detail as follows:
  • the uplink data packet 1 sent by the client 1 is described, which mainly includes the following steps:
  • the traffic diversion point 1 receives the uplink data packet 1.
  • the uplink data message 1 arrives at the ingress gateway as the first packet, and the ingress gateway can serve as the ingress drainage point.
  • the client 1 accesses the uplink data packet of the server 2 and reaches the drainage point 1.
  • the traffic diversion policy is queried by the traffic diversion point 1 to obtain the service chain corresponding to the uplink data packet 1, and the service data of the service chain is encapsulated for the uplink data packet 1 and the uplink data packet of the service node information is encapsulated through the tunnel. 1 is sent to service node 1.
  • the traffic diversion point 1 implements the following function: The uplink data packet 1 matching the drainage policy is sent to the service chain associated with the drainage policy. If the traffic diversion policy is an uplink data packet from the client 1 to the server 2, the service processing of the service node 1 and the service node 2 needs to be sequentially performed. The traffic point 1 modifies the corresponding uplink data packet, encapsulates the service node information of the service node 1 and the service node 2 to the packet header, and passes the uplink data packet encapsulating the service node information of the service node 1 and the service node 2 The tunnel is sent to service node 1.
  • the implementation of the service node information is encapsulated in the packet header of the upstream data packet, where the service node 1 and the service are respectively encapsulated in the packet header of the uplink data packet.
  • the service node information of node 2 and defines the data length and type of the package respectively.
  • the service node 1 parses the uplink data packet 1 and obtains the service node information of the next hop.
  • the local service processing is sent to the service node 2 through the tunnel.
  • the intermediate service node of the service chain after parsing the uplink data packet, obtains the original packet and performs corresponding service processing.
  • the service node information obtained by the uplink data packet is parsed, and the uplink data packet is sent to the next hop through the tunnel.
  • Business node. The service node in the service chain can determine whether the service node is the last service node in the uplink direction of the service chain according to the data in the service node information header of the uplink data packet. Business node.
  • the service node 2 serves as the tail service node of the service chain, establishes a bidirectional flow table, adds the tail service node information, and sends the uplink data packet 1.
  • the last service node of the service chain as the endpoint of the tunnel, first deletes the outer tunnel information of the uplink data packet, and secondly deletes the information of the service node added by the entry diversion point.
  • the last service node in the service chain needs to establish a bidirectional flow table to record the routing information of the service chain.
  • the service node at the end of the service chain does not specify the IP information of the egress point of the egress, and cannot directly send it to the egress diversion point through the tunnel.
  • the service end node of the service chain modifies the uplink data packet, adds the local information header, and sends the packet normally without passing through the tunnel.
  • the purpose of the local information header is to notify the egress outlet node of the tail service node information of the uplink data packet. For the subsequent packets of the uplink data packet, if the address information of the egress drain point cannot be queried from the bidirectional flow table, the processing flow is the same as the first packet process; if the address information of the egress drain point can be queried from the bidirectional flow table, then The tail service node information header needs to be added and sent directly to the exit drain point through the tunnel.
  • the address information of the egress diversion point recorded in the bidirectional flow table is initialized to zero when the bidirectional flow table is created, and the legal value is processed by the downlink data packet.
  • the downlink data packet returned from the exit diversion point is obtained.
  • the service node 2 encapsulates the service node information in the packet header of the uplink data packet, where the packet header of the uplink data packet encapsulates the last one in the service chain.
  • the service node information of the service node and defines the data length and type of the package respectively.
  • the Drainage Point 2 identifies the uplink data packet sent by the tail service node, establishes a bidirectional flow table, records the service information of the tail node, and sends the uplink data packet to the destination device.
  • the egress draining point can identify the received uplink data packet sent by the service node at the end of the service chain. For such packets, the egress diversion point establishes a bidirectional flow table, and records the information of the tail service node in the downstream table to implement automatic association of the bidirectional flow. The head of the service node of the uplink data packet is deleted, and the uplink data packet is sent to the corresponding destination device.
  • the processing procedure for the uplink data packet N may further include the following steps:
  • the SN1 and the traffic diversion point 1 receive the uplink data packet N.
  • the SN2 and the traffic point 1 query the record of the bidirectional flow table, obtain the service chain corresponding to the data packet, and encapsulate the service node information, and send the information to the service node 1 through the tunnel.
  • the SN3 and the service node 1 parse the uplink data packet N, obtain the service node information of the next hop, and the local service processing is sent to the service node 2 through the tunnel.
  • SN4 and service node 2 are used as the tail service nodes of the service chain to query the bidirectional flow table. If there is no egress flow point information, the tail service node information is added, and the uplink data packet N is sent.
  • the SN5 and the Drainage Point 2 identify the uplink data packet sent by the tail service node, query the bidirectional flow table, and send the uplink data packet to the destination device.
  • the downstream data packet M (M is a non-zero natural number) sent by the server 2 is described, which mainly includes the following steps:
  • SM1 and Drainage Point 2 receive the downlink data message M.
  • the SM2 and the Drainage Point 2 query the bidirectional flow table to identify the downlink data packet, and obtain the information of the tail service node recorded in the bidirectional flow table, and send the information to the service node 2 through the tunnel.
  • the downlink data packet is sent by the destination device to the traffic diversion point 2, and the traffic diversion point 2 queries the bidirectional flow table according to the downlink data packet. According to the flow table information, the downlink data packet corresponding to the uplink data packet M can be identified. According to the tail service node information recorded in the bidirectional flow table, the traffic diversion point 2 sends the downlink data packet M to the tail service node (ie, the service node 2) through the tunnel.
  • the tail service node ie, the service node 2
  • SM3 and service node 2 serve as the tail service node of the uplink data packet of the service chain, and refresh the exit drainage point information recorded in the bidirectional flow table.
  • the downlink data packet M reaches the first service node (that is, the tail service node of the uplink data packet), and the service node 2 queries the bidirectional flow table to identify that it is a downlink data packet.
  • the information of the local bidirectional flow table is refreshed.
  • the information of the ingress and egress point of the downlink data packet that is, the egress of the egress packet of the uplink data packet
  • the subsequent uplink data packet hits the upstream flow table.
  • the information of the egress point is directly obtained.
  • the information of the service node is added to the downlink data packet, and the tunnel is sent to the next hop service node to process the service chain.
  • the service chain processes downlink data packets.
  • the intermediate service node of the service chain queries the bidirectional flow table to identify that it is a downlink data packet. After the service processing is completed, the service node information is obtained by parsing the data packet, and the downlink data packet is sent to the service node of the next hop through the tunnel.
  • the tail service node of the downlink data packet can obtain the next hop egress tunnel by querying the local bidirectional flow table, and send the downlink data packet to the egress drain point.
  • the egress-extracting point parses the tunnel, deletes the tunnel header, and deletes the service node information header to forward the downlink data packets to the source device.
  • the example of the present invention shows that the tail service node of the service chain adds an identifier to the head of the data packet, carries the information of the tail service node, and sends the information to the exit drainage point normally.
  • the egress diversion point establishes a bidirectional flow table, identifies and records the tail service node information in the data message in the bidirectional flow table, and implements automatic association of the bidirectional data stream.
  • the automatic association processing of the bidirectional data stream can be realized, the configuration difficulty is reduced, and the processing performance of the system is improved.
  • a service node 1100 is provided.
  • the service node is specifically a second service node, and the second service node includes: a receiving module 1101, a service processing module 1102, and a decapsulation.
  • the receiving module 1101 is configured to receive a first uplink data packet that is sent by the first service node, where the first uplink data packet carries service node information corresponding to the service chain determined by the first traffic point, and the first service node is a first hop service node adjacent to the second service node in the service chain, where the first drainage point is an uplink entry drainage point of the service chain;
  • the service processing module 1102 is configured to perform service processing on the first uplink data packet to obtain a second uplink data packet.
  • the decapsulation module 1103 is configured to: when the second service node determines, according to the service node information, that the second service node is the last service node in the uplink direction in the service chain, Deleting the second uplink data packet to obtain a third uplink data packet;
  • the sending module 1104 is configured to send the third uplink data packet to the second draining point, where the second draining point is an upstream egress point for the service chain.
  • the second service node 1100 further includes: a query module 1105, wherein, with respect to the service node shown in FIG.
  • the querying module 1105 is configured to: before the sending, by the sending module, the third uplink data packet to the second drainage point, query the uplink export drainage point of the third uplink data packet according to the bidirectional flow table;
  • the sending module 1104 is specifically configured to send the third uplink data packet to the second drain point according to the forwarding route.
  • the sending module 1104 is configured to send the third uplink data packet to the second drainage point according to the bidirectional flow table, if the uplink egress point is the second egress point.
  • the second service node 1100 further includes: a first encapsulation module 1106, wherein the second service node 1100 further includes: ,
  • the first encapsulating module 1106 is configured to encapsulate the service node information of the second service node to the third uplink before the sending module 1104 sends the third uplink data packet to the second drainage point.
  • the data message In the data message;
  • the sending module 1104 is specifically configured to send the third uplink data packet that encapsulates the service node information of the second service node to the second drainage point.
  • the second service node 1100 further includes: a second encapsulation module 1107, wherein the second service node 1107 further includes: ,
  • the receiving module 1101 is further configured to: after the sending module sends the third uplink data packet to the second drainage point, and receive the first downlink data packet sent by the second drainage point;
  • the service processing module 1102 is further configured to perform service processing on the first downlink data packet to obtain a second downlink data packet.
  • the second encapsulating module 1107 is configured to encapsulate the service node information of the service chain into the second downlink data packet to obtain a third downlink data packet.
  • the sending module 1104 is further configured to send the third downlink data packet to the first service node.
  • the second service node 1100 further includes a save module 1108 for the service node shown in Figure 11-d. After the sending module determines that the second downlink data packet is the downlink data packet of the service chain, the sending module saves the drainage point information of the second drainage point to the bidirectional flow table.
  • the first service node sends the first uplink data packet to the next hop service node according to the service node information corresponding to the service chain, and the first uplink data packet is sent.
  • the text arrives at the last service node in the uplink direction of the service chain (ie, the second service node), and the last service node performs service processing on the first uplink data packet to obtain a second uplink data packet, and then the service node
  • the information is deleted from the second uplink data packet, and the third uplink data packet obtained by deleting the service node information is sent to the second drainage point; the second drainage point is used as the uplink outlet drainage point of the service chain, and the second drainage point is received.
  • the third uplink data packet is sent to the destination device.
  • the first drainage point and the second drainage point are respectively used as the uplink import drainage point and the uplink exit drainage point of the uplink data packet, that is, the data packet, when the service processing of the uplink data packet is performed in the data packet processing system.
  • the diversion point is designed in a distributed manner, and the inbound and outbound traffic of the upstream data packet is performed by the two diversion points, so that the uplink data packet only needs to pass once in the first drainage point and the second drainage point. Improve the processing efficiency of data packets.
  • a drainage point 1200 is provided in the embodiment of the present invention.
  • the drainage point is specifically a second drainage point, and the second drainage point includes: a receiving module 1201 and a sending module 1202, where
  • the receiving module 1201 is configured to receive a third uplink data packet sent by the second service node, where the second service node is the last service node in the uplink direction in the service chain determined by the first drainage point, and the second traffic is The point is an uplink egress flow point for the service chain, and the third uplink data packet is sent by the second service node after receiving the first uplink data packet sent by the first service node.
  • An uplink data packet is processed by the service to obtain a second uplink data packet, and the service node information of the service chain is deleted from the second uplink data packet. of;
  • the sending module 1202 is configured to send the third uplink data packet to the destination device, where the second draining point is deployed at a front end of the destination device.
  • the second drainage point 1200 further includes: a parsing module 1203 and a saving module 1204, with respect to the drainage point as shown in FIG. ,among them,
  • the parsing module 1203 is configured to: after receiving, by the receiving module, the third uplink data packet sent by the second service node, parsing the service node information of the second service node from the third uplink data packet;
  • the saving module 1204 is configured to save the service node information of the second service node into the bidirectional flow table.
  • the service node information of the second service node is specifically the second service node, with respect to the drainage point as shown in FIG. 12-b.
  • the second drainage point 1200 further includes: a query module 1205, where
  • the querying module 1205 is configured to query, by the parsing module, the service node information of the second service node from the third uplink data packet, and query the second service node according to the mapping relationship table set by the controller.
  • the saving module 1204 is specifically configured to save the IP address corresponding to the device index of the second service node in the bidirectional flow table.
  • the sending module 1202 is further configured to: after the parsing module parses the service node information of the second service node from the third uplink data packet, the second service The service node information of the node is sent to the third drainage point, and the third drainage point is another upstream outlet drainage point except the second drainage point in the service chain.
  • the receiving module 1201 is further configured to: after the sending module sends the third uplink data packet to a destination device, receive the destination device according to the third uplink datagram.
  • the sending module 1202 is further configured to send the first downlink data packet to the second service node.
  • the sending module 1202 is specifically configured to send the first downlink data packet to the second service node according to the bidirectional flow table.
  • the first service node sends the first uplink data packet to the next hop service node according to the service node information corresponding to the service chain, and the first uplink data packet is sent.
  • the text arrives at the last service node in the uplink direction of the service chain (ie, the second service node), and the last service node performs service processing on the first uplink data packet to obtain a second uplink data packet, and then the service node
  • the information is deleted from the second uplink data packet, and the third uplink data packet obtained by deleting the service node information is sent.
  • the second traffic diversion point is used as the uplink egress point of the service chain, and the third uplink data packet is sent to the destination device after receiving the third uplink data packet.
  • the first drainage point and the second drainage point are respectively used as the uplink import drainage point and the uplink exit drainage point of the uplink data packet, that is, the data packet, when the service processing of the uplink data packet is performed in the data packet processing system.
  • the diversion point is designed in a distributed manner, and the inbound and outbound traffic of the upstream data packet is performed by the two diversion points, so that the uplink data packet only needs to pass once in the first drainage point and the second drainage point. Improve the processing efficiency of data packets.
  • the embodiment of the present invention further provides a computer storage medium, wherein the computer storage medium stores a program, and the program executes some or all of the steps described in the foregoing method embodiments.
  • the service node is specifically a second service node.
  • the second service node 1300 includes:
  • the input device 1301, the output device 1302, the processor 1303, and the memory 1304 (wherein the number of the processors 1303 in the second service node 1300 may be one or more, and one processor in FIG. 13 is taken as an example).
  • the input device 1301, the output device 1302, the processor 1303, and the memory 1304 may be connected by a bus or other means, wherein the bus connection is taken as an example in FIG.
  • the processor 1303 is configured to perform the following steps:
  • the first uplink data packet carries the service node information corresponding to the service chain determined by the first drainage point, where the first service node is in the service chain
  • the service node information is sent from the second uplink datagram. Deleted in the text to obtain a third uplink data message;
  • the processor 1303 is further configured to perform the following steps:
  • the processor 1303 is configured to: send the third uplink data packet to the second drainage point according to the forwarding route;
  • the processor 1303 is configured to perform the following steps: And sending the third uplink data packet to the second drainage point according to the bidirectional flow table.
  • the processor 1303 is further configured to perform the following steps:
  • the service node information of the second service node is encapsulated into the third uplink data packet;
  • the processor 1303 is specifically configured to perform the following steps:
  • the third uplink data packet that encapsulates the service node information of the second service node is sent to the second drainage point.
  • the processor 1303 is further configured to perform the following steps:
  • processor 1303 is further configured to perform the following steps:
  • the first service node sends the first uplink data packet to the next hop service node according to the service node information corresponding to the service chain, and the first uplink data packet is sent.
  • the text arrives at the last service node in the uplink direction of the service chain (ie, the second service node), and the last service node performs service processing on the first uplink data packet to obtain a second uplink data packet, and then the service node
  • the information is deleted from the second uplink data packet, and the third uplink data packet obtained by deleting the service node information is sent to the second drainage point; the second drainage point is used as the uplink outlet drainage point of the service chain, and the second drainage point is received.
  • the third uplink data packet is sent to the destination device.
  • the first drainage point and the second drainage point are respectively used as the uplink import drainage point and the uplink exit drainage point of the uplink data packet, that is, the data packet, when the service processing of the uplink data packet is performed in the data packet processing system.
  • the diversion point is designed in a distributed manner, and the inbound and outbound traffic of the upstream data packet is performed by the two diversion points, so that the uplink data packet only needs to pass once in the first drainage point and the second drainage point. Improve the processing efficiency of data packets.
  • the drainage point is specifically a second drainage point.
  • the second drainage point 1400 includes:
  • the input device 1401, the output device 1402, the processor 1403, and the memory 1404 (wherein the number of the processors 1403 in the second drainage point 1400 may be one or more, and one processor in FIG. 14 is taken as an example).
  • the input device 1401, the output device 1402, the processor 1403, and the memory 1404 may be connected by a bus or other means, wherein the bus connection is taken as an example in FIG.
  • the processor 1403 is configured to perform the following steps:
  • the second service node Receiving, by the second service node, a third uplink data packet, where the second service node is the last service node in the uplink direction in the service chain determined by the first traffic point, and the second traffic point is the service chain And the third uplink data packet is sent by the second service data packet to the first uplink data packet after the second service node receives the first uplink data packet sent by the first service node. And obtaining, by the second uplink data packet, the service node information of the service chain from the second uplink data packet;
  • the processor 1403 is further configured to perform the following steps:
  • the processor 1403 is further configured to: when the service node information of the second service node is specifically a device index of the second service node, from the third uplink datagram After the service node information of the second service node is parsed, the Internet Protocol IP address corresponding to the device index of the second service node is queried according to the mapping relationship table set by the controller;
  • the processor 1403 is configured to: save the IP address corresponding to the device index of the second service node into the bidirectional flow table.
  • the processor 1403 is further configured to perform the following steps:
  • the processor 1403 is further configured to perform the following steps:
  • the first downlink data packet returned by the destination device according to the third uplink data packet is received;
  • the processor 1403 is specifically configured to perform the following steps:
  • the first service node sends the first uplink data packet to the next hop service node according to the service node information corresponding to the service chain, and the first uplink data packet is sent.
  • the text arrives at the last service node in the uplink direction of the service chain (ie, the second service node), and the last service node performs service processing on the first uplink data packet to obtain a second uplink data packet, and then the service node
  • the information is deleted from the second uplink data packet, and the third uplink data packet obtained by deleting the service node information is sent to the second drainage point; the second drainage point is used as the uplink outlet drainage point of the service chain, and the second drainage point is received.
  • the third uplink data packet is sent to the destination device.
  • the first drainage point and the second drainage point are respectively used as the uplink import drainage point and the uplink exit drainage point of the uplink data packet, that is, the data packet, when the service processing of the uplink data packet is performed in the data packet processing system.
  • the diversion point is designed in a distributed manner, and the inbound and outbound traffic of the upstream data packet is performed by the two diversion points, so that the uplink data packet only needs to pass once in the first drainage point and the second drainage point. Improve the processing efficiency of data packets.
  • the device embodiments described above are merely illustrative, wherein 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 can be located in one place or distributed to multiple network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • the connection relationship between the modules indicates that there is a communication connection between them, and specifically, one or more communication buses or signal lines can be realized.
  • the present invention can be implemented by means of software plus necessary general hardware, and of course, dedicated hardware, dedicated CPU, dedicated memory, dedicated memory, Special components and so on.
  • functions performed by computer programs can be easily implemented with the corresponding hardware, and the specific hardware structure used to implement the same function can be various, such as analog circuits, digital circuits, or dedicated circuits. Circuits, etc.
  • software program implementation is a better implementation in more cases.
  • the technical solution of the present invention which is essential or contributes to the prior art, can be embodied in the form of a software product stored in a readable storage medium, such as a floppy disk of a computer.
  • U disk mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc., including a number of instructions to make a computer device (may be A personal computer, server, or network device, etc.) performs the methods described in various embodiments of the present invention.
  • a computer device may be A personal computer, server, or network device, etc.

Landscapes

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

Abstract

本发明公开了一种数据报文的处理方法、业务节点以及引流点,用于提高数据报文的处理效率。第二业务节点接收第一业务节点发送的第一上行数据报文;所述第二业务节点对所述第一上行数据报文进行业务处理,得到第二上行数据报文;当所述第二业务节点根据业务节点信息确定所述第二业务节点为所述业务链中上行方向上的最后一个业务节点时,所述第二业务节点将所述业务节点信息从所述第二上行数据报文中删除,得到第三上行数据报文;所述第二业务节点将所述第三上行数据报文发送给第二引流点,所述第二引流点为所述业务链的上行出口引流点。

Description

一种数据报文的处理方法、业务节点以及引流点
本申请要求于2014年6月27日提交中国专利局、申请号为201410301535.2、发明名称为“一种数据报文的处理方法、业务节点以及引流点”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术领域,尤其涉及一种数据报文的处理方法、业务节点以及引流点。
背景技术
随着互联网经济的发展,电子商务、企业信息系统外包以及移动互联网等新的业务日益增加。这些业务促进了对数据中心(英文:data center)的市场需求,使得数据中心技术获得了快速的发展,新技术层出不穷。
数据中心通常是指在一个物理空间内实现数据信息的集中处理、存储、传输、交换、管理的一整套集成信息技术(英文:Information Technology,缩写:IT)应用环境。数据中心机房的关键设备包括计算机设备、服务器设备、网络设备、存储设备等。随着用户需求的发展,数据中心的规模和组网复杂性不断增加,多样化的IT应用对数据中心网络提出了更高要求。
在当前的数据中心网络中部署有多种增值业务设备,现有技术中通过业务链(英文:service chaining)方案解决在数据中心网络中灵活部署增值业务设备的问题。请参阅图1,在现有的service chaining方案中,包括有控制器(controller)、引流点(英文:deliver node)、业务节点(英文:service node),其中,业务节点为增值业务设备,引流点部署在服务器1和服务器2的前端,业务节点1和业务节点2直接与引流点连接。引流点和业务节点都由控制器集中配置。引流点确定来自客户端或者服务器的哪些数据流需要送至业务节点处理,以及需要送至哪些业务节点处理。在数据中心中对于每次访问过程都存在双向流的问题,例如从客户端到服务器方向的上行流,以及从服务器到客户端的下行流。因为业务节点上业务处理的需要,通常要求在业务链中对双向流进行对称处理。
现有技术中上行数据流经过业务链的处理过程如下:控制器首先将业务链配置参数发送给引流点,当客户端发起对服务器2的访问时,引流点接收客户端发送的匹配该业务链配置参数的第一数据报文,将所述第一数据报文先发送到业务节点1处理,业务节 点1处理完所述第一数据报文后,将处理得到的第二数据报文发送到引流点,然后,引流点将该第二数据报文发送到业务节点2,业务节点2对所述第二数据报文进行处理后,将处理得到的第三报文发送回引流点,最后,引流点将所述第三数据报文发送给服务器2。下行数据流经过业务链的处理过程与上行数据流类似。
本发明的发明人在实现本发明的过程中发现:现有技术中每做一次业务处理,经过业务节点处理的数据报文都要先返回引流点,再由引流点发送到下一个业务节点,即由引流点实现对数据流向的集中控制。但是由于数据报文需要多次的反复经过引流点,如果业务链包括较多业务节点时,数据报文的处理效率很低。
发明内容
本发明提供了一种数据报文的处理方法、业务节点以及引流点,用于提高数据报文的处理效率。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明提供一种数据报文的处理方法,包括:
第二业务节点接收第一业务节点发送的第一上行数据报文,所述第一上行数据报文携带第一引流点确定的业务链对应的业务节点信息,所述第一业务节点是所述业务链中与所述第二业务节点相邻的上一跳业务节点,所述第一引流点为所述业务链的上行入口引流点;
所述第二业务节点对所述第一上行数据报文进行业务处理,得到第二上行数据报文;
当所述第二业务节点根据所述业务节点信息确定所述第二业务节点为所述业务链中上行方向上的最后一个业务节点时,所述第二业务节点将所述业务节点信息从所述第二上行数据报文中删除,得到第三上行数据报文;
所述第二业务节点将所述第三上行数据报文发送给第二引流点,所述第二引流点为所述业务链的上行出口引流点。
结合第一方面,在第一方面的第一种可能的实现方式中,
所述第二业务节点将所述第三上行数据报文发送给第二引流点之前,所述方法还包括:
所述第二业务节点根据双向流表查询所述第三上行数据报文的上行出口引流点;
若没有查询到上行出口引流点,所述第二业务节点将所述第三上行数据报文发送给 第二引流点,具体为:所述第二业务节点按照转发路由将所述第三上行数据报文发送至所述第二引流点;
若查询到上行出口引流点为所述第二引流点,所述第二业务节点将所述第三上行数据报文发送给第二引流点,具体为:所述第二业务节点按照所述双向流表将所述第三上行数据报文发送至所述第二引流点。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,
所述第二业务节点将所述第三上行数据报文发送给第二引流点之前,所述方法还包括:
所述第二业务节点将所述第二业务节点的业务节点信息封装到所述第三上行数据报文中;
所述第二业务节点将所述第三上行数据报文发送给第二引流点包括:
所述第二业务节点将封装了所述第二业务节点的业务节点信息的所述第三上行数据报文发送给所述第二引流点。
结合第一方面,在第一方面的第三种可能的实现方式中,
所述第二业务节点将所述第三上行数据报文发送给第二引流点之后,所述方法还包括:
所述第二业务节点接收所述第二引流点发送的第一下行数据报文;
所述第二业务节点对所述第一下行数据报文进行业务处理,得到第二下行数据报文;
所述第二业务节点根据双向流表确定所述第二下行数据报文为所述业务链的下行数据报文;
所述第二业务节点将所述业务链的业务节点信息封装到所述第二下行数据报文中,得到第三下行数据报文;
所述第二业务节点将所述第三下行数据报文发送给所述第一业务节点。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,
所述第二业务节点根据双向流表确定所述第二下行数据报文为所述业务链的下行数据报文之后,所述方法还包括:
所述第二业务节点将所述第二引流点的引流点信息保存到所述双向流表中。
第二方面,本发明提供一种数据报文的处理方法,包括:
第二引流点接收第二业务节点发送的第三上行数据报文,所述第二业务节点是第一引流点确定的业务链中上行方向上的最后一个业务节点,所述第二引流点为所述业务链 的上行出口引流点,所述第三上行数据报文为所述第二业务节点收到第一业务节点发送的第一上行数据报文后,对所述第一上行数据报文进行业务处理得到第二上行数据报文,并从所述第二上行数据报文中删除所述业务链的业务节点信息后得到的;
所述第二引流点将所述第三上行数据报文发送给目的设备,所述第二引流点部署在所述目的设备的前端。
结合第二方面,在第二方面的第一种可能的实现方式中,
所述第二引流点接收第二业务节点发送的第三上行数据报文之后,所述方法还包括:
所述第二引流点从所述第三上行数据报文中解析出所述第二业务节点的业务节点信息;
所述第二引流点将所述第二业务节点的业务节点信息保存到双向流表中。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,
当所述第二业务节点的业务节点信息具体为第二业务节点的设备索引时,所述第二引流点从所述第三上行数据报文中解析出所述第二业务节点的业务节点信息之后,所述方法还包括:
所述第二引流点根据控制器设置的映射关系表查询所述第二业务节点的设备索引对应的互联网协议IP地址;
所述第二引流点将所述第二业务节点的业务节点信息保存到双向流表中,具体为:
所述第二引流点将所述第二业务节点的设备索引对应的IP地址保存到双向流表中。
结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,
所述第二引流点从所述第三上行数据报文中解析出所述第二业务节点的业务节点信息之后,所述方法还包括:
所述第二引流点将所述第二业务节点的业务节点信息发送给第三引流点,所述第三引流点为对所述业务链中除所述第二引流点以外的另一个上行出口引流点。
结合第二方面,在第二方面的第四种可能的实现方式中,
所述第二引流点将所述第三上行数据报文发送给目的设备之后,所述方法还包括:
所述第二引流点接收所述目的设备根据所述第三上行数据报文返回的第一下行数据报文;
所述第二引流点将所述第一下行数据报文发送给所述第二业务节点。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第二引流点将所述第一下行数据报文发送给所述第二业务节点,具体为:
所述第二引流点按照双向流表将所述第一下行数据报文发送给所述第二业务节点。
第三方面,本发明实施例提供一种业务节点,所述业务节点具体为第二业务节点,所述第二业务节点,包括:
接收模块,用于接收第一业务节点发送的第一上行数据报文,所述第一上行数据报文携带第一引流点确定的业务链对应的业务节点信息,所述第一业务节点是所述业务链中与所述第二业务节点相邻的上一跳业务节点,所述第一引流点为所述业务链的上行入口引流点;
业务处理模块,用于对所述第一上行数据报文进行业务处理,得到第二上行数据报文;
解封装模块,用于当所述第二业务节点根据所述业务节点信息确定所述第二业务节点为所述业务链中上行方向上的最后一个业务节点时,将所述业务节点信息从所述第二上行数据报文中删除,得到第三上行数据报文;
发送模块,用于将所述第三上行数据报文发送给第二引流点,所述第二引流点为对所述所述业务链的上行出口引流点。
结合第三方面,在第三方面的第一种可能的实现方式中,
所述第二业务节点,还包括:查询模块,其中,
所述查询模块,用于所述发送模块将所述第三上行数据报文发送给第二引流点之前,根据双向流表查询所述第三上行数据报文的上行出口引流点;
若没有查询到上行出口引流点,所述发送模块,具体用于按照转发路由将所述第三上行数据报文发送至所述第二引流点;
若查询到上行出口引流点为所述第二引流点,所述发送模块,具体用于按照所述双向流表将所述第三上行数据报文发送至所述第二引流点。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,
所述第二业务节点,还包括:第一封装模块,其中,
所述第一封装模块,用于所述发送模块将所述第三上行数据报文发送给第二引流点之前,将所述第二业务节点的业务节点信息封装到所述第三上行数据报文中;
所述发送模块,具体用于将封装了所述第二业务节点的业务节点信息的所述第三上行数据报文发送给所述第二引流点。
结合第三方面,在第三方面的第三种可能的实现方式中,
所述第二业务节点,还包括:第二封装模块,其中,
所述接收模块,还用于所述发送模块将所述第三上行数据报文发送给第二引流点之 后,接收所述第二引流点发送的第一下行数据报文;
所述业务处理模块,还用于对所述第一下行数据报文进行业务处理,得到第二下行数据报文;
所述第二封装模块,用于将所述业务链的业务节点信息封装到所述第二下行数据报文中,得到第三下行数据报文;
所述发送模块,还用于将所述第三下行数据报文发送给所述第一业务节点。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,
所述第二业务节点,还包括:保存模块,用于所述发送模块根据双向流表确定所述第二下行数据报文为所述业务链的下行数据报文之后,将所述第二引流点的引流点信息保存到所述双向流表中。
第四方面,本发明提供一种引流点,所述引流点具体为第二引流点,所述第二引流点,包括:
接收模块,用于接收第二业务节点发送的第三上行数据报文,所述第二业务节点是第一引流点确定的业务链中上行方向上的最后一个业务节点,所述第二引流点为对所述所述业务链的上行出口引流点,所述第三上行数据报文为所述第二业务节点收到第一业务节点发送的第一上行数据报文后,对所述第一上行数据报文进行业务处理得到第二上行数据报文,并从所述第二上行数据报文中删除所述业务链的业务节点信息后得到的;
发送模块,用于将所述第三上行数据报文发送给目的设备,所述第二引流点部署在所述目的设备的前端。
结合第四方面,在第四方面的第一种可能的实现方式中,
所述第二引流点,还包括:解析模块和保存模块,其中,
所述解析模块,用于所述接收模块接收第二业务节点发送的第三上行数据报文之后,从所述第三上行数据报文中解析出所述第二业务节点的业务节点信息;
所述保存模块,用于将所述第二业务节点的业务节点信息保存到双向流表中。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,
当所述第二业务节点的业务节点信息具体为第二业务节点的设备索引时,所述第二引流点,还包括:查询模块,其中,
所述查询模块,用于所述解析模块从所述第三上行数据报文中解析出第二业务节点的业务节点信息之后,根据控制器设置的映射关系表查询所述第二业务节点的设备索引对应的互联网协议IP地址;
所述保存模块,具体用于将所述第二业务节点的设备索引对应的IP地址保存到双 向流表中。
结合第四方面的第一种可能的实现方式,在第四方面的第三种可能的实现方式中,
所述发送模块,还用于所述解析模块从所述第三上行数据报文中解析出第二业务节点的业务节点信息之后,将所述第二业务节点的业务节点信息发送给第三引流点,所述第三引流点为对所述业务链中除所述第二引流点以外的另一个上行出口引流点。
结合第四方面,在第四方面的第四种可能的实现方式中,
所述接收模块,还用于所述发送模块将所述第三上行数据报文发送给目的设备之后,接收所述目的设备根据所述第三上行数据报文返回的第一下行数据报文;
所述发送模块,还用于将所述第一下行数据报文发送给所述第二业务节点。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,
所述发送模块,具体用于按照双向流表将所述第一下行数据报文发送给所述第二业务节点。
从以上技术方案可以看出,本发明实施例具有以下优点:
在本发明实施例中,第一业务节点将第一上行数据报文按照业务链对应的业务节点信息向下一跳业务节点发送第一上行数据报文,并使第一上行数据报文到达业务链中上行方向上的最后一个业务节点(即第二业务节点),最后一个业务节点对所述第一上行数据报文进行业务处理,得到第二上行数据报文,然后将业务节点信息从第二上行数据报文中删除掉,将删除掉业务节点信息得到的第三上行数据报文发送给第二引流点;第二引流点作为所述业务链的上行出口引流点,接收到第三上行数据报文之后将第三上行数据报文发送给目的设备。由于在数据报文的处理系统中对上行数据报文进行业务处理时采用了第一引流点、第二引流点分别作为上行数据报文的上行入口引流点和上行出口引流点,即数据报文中心系统中对引流点进行分布式设计,通过两个引流点对上行数据报文进行入口引流和出口引流,使上行数据报文在第一引流点和第二引流点中只需要经过一次,能够提高数据报文的处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。
图1为现有技术提供的一种数据报文的处理过程示意图;
图2为本发明实施例提供的一种数据报文的处理方法的流程示意图;
图3为本发明实施例提供的控制器配置业务链的实现方式示意图;
图4本发明实施例提供的另一种数据报文的处理方法的流程示意图;
图5为本发明实施例提供的另一种数据报文的处理方法的流程示意图;
图6为本发明实施例提供的另一种数据报文的处理方法的流程示意图;
图7为本发明实施例提供的多出口引流点的实现方式示意图;
图8为本发明实施例提供的双向数据流经过分布式引流点的处理示意图;
图9-a为上行数据报文的处理过程示意图;
图9-b为下行数据报文的处理过程示意图;
图10为本发明实施例提供的对双向数据报文进行处理的引流点和业务节点之间的交互过程示意图;
图11-a为本发明实施例提供的一种业务节点的结构示意图;
图11-b为本发明实施例提供的另一种业务节点的结构示意图;
图11-c为本发明实施例提供的另一种业务节点的结构示意图;
图11-d为本发明实施例提供的另一种业务节点的结构示意图;
图11-e为本发明实施例提供的另一种业务节点的结构示意图;
图12-a为本发明实施例提供的一种引流点的结构示意图;
图12-b为本发明实施例提供的另一种引流点的结构示意图;
图12-c为本发明实施例提供的另一种引流点的结构示意图;
图13为本发明实施例提供的另一种业务节点的结构示意图;
图14为本发明实施例提供的另一种引流点的结构示意图。
具体实施方式
本发明实施例提供了一种数据报文的处理方法、引流点以及业务节点,用于提高数据报文的处理效率。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本发明的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的对于这些过程、方法、产品或设备而言是固有的其它单元。
以下分别对本发明各实施例进行详细说明。
本发明数据报文的处理方法的一个实施例,可应用于数据报文的处理系统中,请参阅图2所示,本发明一个实施例提供的数据报文的处理方法,可以包括:
201、第一引流点接收源设备发送的上行数据报文。
其中,上述第一引流点为上行数据报文对应的业务链的上行入口引流点,其中,上述业务链包括:需要对上行数据报文依次进行业务处理的多个业务节点。
在本发明实施例中,可以由控制器对引流点和业务节点进行集中配置,当数据报文的处理系统中有多个引流点和多个业务节点时,控制器需要对所有的引流点和业务节点进行集中配置,控制器、引流点、业务节点都在一个互通的基础网络中。引流点按照控制器配置的策略确定哪些数据报文需要送至业务节点处理,以及需要送至哪些业务节点处理。在本发明的一些应用场景中,本发明实施例提供的业务节点也可以称之为增值业务节点。
在本发明实施例中,第一引流点作为上行入口引流点,第一引流点首先通过外网从源设备接收上行数据报文,本发明实施例中第一引流点只作为上行数据报文的入口引流点,上行数据报文从第一引流点发送出去后,不需要再回到所述第一引流点。
需要说明的是,在本发明实施例中将主动发起访问的一端称之为“源设备”,将被访问的一端称之为“目的设备”,并且为了区分源设备和目的设备分别发送的数据报文,将由源设备发送出去的数据报文称之为“上行数据报文”,并且将对上行数据报文进行引流的入口引流点称之为“上行入口引流点”,将对上行数据报文进行引流的出口引流点称之为“上行出口引流点”,将由目的设备发送出去的数据报文称之为“下行数据报文”,并且将对下行数据报文进行引流的入口引流点称之为“下行入口引流点”,将对下行数据报文进行引流的出口引流点称之为“下行出口引流点”,第一引流点和第二引流点对上行数据报文、下行数据报文的引流构成了对双向流的引流,第一业务节点、中间业务节点、第二业务节点对上行数据报文、下行数据报文的业务处理构成了对双向流的业务处理。所述中间业务节点可以是0个(即不存在),1个或多个。
另外需要说明的是,本发明实施例中提供的数据报文的处理系统中部署有多个引流点,由多个引流点中的两个引流点相互配合以完成对数据报文的引流,本发明实施例中将接收到源设备发送的上行数据报文的引流点称之为“第一引流点”,而将与第一引流点配合用以完成对上行数据报文进行引流的出口引流点称之为“第二引流点”。详见后续实施例中对第二引流点的描述。另外,本发明实施例中,用“第一”、“第二”、“第三”等对数据报文的处理系统中的多个引流点加以区分,“第一”、“第二”、“第三”并不代表时序或者逻辑上的先后顺序,同样的,本发明实施例中,用“第一”、“第二”、“第三”等对数据报文的处理系统中的多个业务节点加以区分,“第一”、“第二”、“第三”并不代表时序或者逻辑上的先后顺序。
在本发明实施例中,控制器在入口引流点配置了引流策略,引流策略包括由哪个引流点对数据报文进行引流,以及数据报文对应的业务链,第一引流点从源设备接收到上行数据报文之后,根据控制器配置的引流策略就可以确定该上行数据报文需要进入哪条业务链。上行数据报文经由入口引流点进入由第一引流点确定的一条业务链,当所述业务链中的各个业务节点都对数据报文进行业务处理之后,数据报文再从所述业务链中流出,到达出口引流点,每个方向的数据报文只需要经过一次入口引流点和出口引流点,而无需反复多次的进出同一个引流点,故本发明实施例可以提高对数据报文的处理效率。
请参阅如图3所示的控制器配置业务链的实现方式示意图,其中,数据中心网络包括:控制器、引流点1、引流点2、引流点3、引流点4、业务节点1、业务节点2、业务节点3。服务器1和服务器2的前端部署的是引流点3,服务器3和服务器4的前端部署的是引流点4,其中,控制器按照业务处理的需要共配置了3条业务链,这3条业务链分别为业务链1、业务链2、业务链3。以业务链1的实现为例进行说明,在客户端1发起到服务器2的访问过程中,客户端1作为源设备,服务器2作为目的设备,引流点1作为上行入口引流点,引流点3作为上行出口引流点,引流点1为客户端1发送的上行数据报文匹配出的业务链就是业务链1,业务节点1和业务节点2需要依次对上行数据报文进行业务处理;对于服务器2发送的下行数据报文,引流点3作为下行入口引流点,业务节点2和业务节点1需要依次对下行数据报文进行业务处理,引流点2作为下行出口引流点。同样的,对于业务链2,客户端1发起到服务器4的访问过程中,需要上行数据报文依次经过引流点1->业务节点1->业务节点3->引流点4,到达服务器4。对于业务链3,服务器2和服务器3之间的切换操作中,服务器2发送出去的上行数据报文就会匹配到业务链3。
举例说明,对于进入引流点1的数据报文,如果符合引流点1上已经配置的引流策略,数据报文会被转发到该引流策略对应的业务链中进行业务处理。例如对于策略Policy1,对应的业务链1是业务节点1->业务节点2,即命中Policy1的上行数据报文由引流点1发送至业务节点1进行业务处理,然后送至业务节点2进行业务处理;对应的下行数据报文先要送至业务节点2进行业务处理,然后送至业务节点1进行业务处理。如果命中策略Policy2,对应的业务链2是业务节点1->业务节点3,即命中Policy2的上行数据报文由引流点1发送至业务节点1进行业务处理,然后送至业务节点3进行业务处理;相应的下行数据报文先要送至业务节点3进行业务处理,然后送至业务节点1进行业务处理。
在本发明的一些实施例中,源设备可以是客户端(英文称为Client),目的设备可以是服务器(英文称为Server),例如前述图3中描述的客户端1和服务器2;源设备可以是服务器,目的设备可以是客户端,例如前述图3中描述的服务器4和客户端1,另外,对于数据报文的处理系统的内部相互访问,源设备和目的设备都可以是服务器,例如前述图3中描述的服务器2和服务器3。在数据报文的处理系统的实际应用中,网络较为复杂,Server可能部署在虚拟机上,此时与Server关联的引流点通常为虚拟交换机,南向对Server的网络接口,北向对数据报文的处理系统外网的网络接口,并且在数据报文的处理系统中部署有多个引流点。
202、第一引流点将所述业务链的业务节点信息封装到上行数据报文中。
在本发明实施例中,第一引流点根据引流策略确定了上行数据报文应该进入哪条业务链之后,第一引流点将确定出的业务链的业务节点信息封装到上行数据报文中。其中,业务链的业务节点信息指的是业务链中包括的多个业务节点的业务节点信息,具体的,业务节点信息具体可以指的是业务节点的互联网协议(英文:Internet Protocol,缩写:IP)地址,在本发明实施例中,业务节点信息还可以是业务节点的特定标识,例如,业务节点信息可以是业务节点的设备索引。
在本发明的一些实施例中,当业务节点信息具体为IP地址时,步骤202第一引流点将业务链的业务节点信息封装到上行数据报文中,具体可以包括如下步骤:
第一引流点将业务链中所有业务节点的IP地址按照业务处理的顺序依次封装到上行数据报文中。
其中,用业务节点的IP地址表示业务节点信息时,当第一引流点确定了一个业务链之后,第一引流点就可以将该业务链的所有业务节点的IP地址都封装到上行数据报文中,则第一引流点封装到上行数据报文中的多个IP地址就可以构成业务链的路由信 息,用于指示业务链中的上一跳业务节点如何转发数据报文到下一跳的业务节点。
在本发明的另一些实施例中,当业务节点信息具体为业务节点的设备索引时,步骤202第一引流点将业务链的业务节点信息封装到上行数据报文中,具体可以包括如下步骤:
第一引流点将业务链中所有业务节点的设备索引按照业务处理的顺序依次封装到上行数据报文中。
其中,用业务节点的设备索引表示业务节点信息时,当第一引流点确定了一个业务链之后,第一引流点就可以将该业务链的所有业务节点的设备索引都封装到上行数据报文中,则第一引流点封装到上行数据报文中的多个设备索引可以用于指示该上行数据报文应该由哪些业务节点来进行业务处理,业务链中的上一跳业务节点也可以根据设备索引与IP地址的映射关系确定出上行数据报文应该被转发到的下一跳业务节点。
在本发明的一些实施例中,第一引流点将业务节点信息封装到上行数据报文中,例如,第一引流点可以将业务节点信息封装到上行数据报文的报文头部中,具体的,第一引流点可以修改上行数据报文的IP选项(英文:Option)字段,在其中增加业务节点信息。需要说明的是,本发明实施例中第一引流点在上行数据报文中封装的业务节点信息是为了业务节点能够解析使用,故第一引流点只需要按照和业务节点的约定的方式来封装业务节点信息即可。
203、第一引流点将封装有业务节点信息的上行数据报文发送给第一业务节点。
其中,上述第一业务节点是业务链中第一个对上行数据报文进行业务处理的业务节点。
在本发明实施例中,第一引流点确定了使用哪条业务链对上行数据报文进行转发之后,在上行数据报文中封装所确定的业务链的业务节点信息,并将封装了业务链的业务节点信息的上行数据报文发送给业务链中的第一业务节点。
在本发明实施例中,上行数据报文经由上行入口引流点(即第一引流点)进入业务链到达第一业务节点之后,该上行数据报文不会再返回第一引流点,即一个流向的数据报文只需要经过一次引流点,当业务链中的各个业务节点都对上行数据报文进行业务处理之后,上行数据报文再从所述业务链中流出,到达出口引流点,每个方向的数据报文只需要经过一次入口引流点和出口引流点,能够提高对数据报文的处理效率。
前述实施例对上行数据报文的引流过程进行了说明,接下来对下行数据报文的引流过程进行说明。在本发明实施例中,数据报文的处理过程可以为双向数据流的处理,以超文本转移协议(英文:Hypertext Transfer Protocol,缩写:HTTP)为基础的网络 (英文:Web)业务为例,每次访问过程都存在双向数据流:从Client到Server方向的上行数据流,以及从Server回复Client的下行数据流。对于部分应用场景,比如文件传输协议(英文:File Transfer Protocol,缩写:FTP)的主动模式,也可能存在Server先发起向Client的上行数据流,Client回复Server的下行数据流的情况。
本发明实施例中对于第一引流点对下行数据报文的引流方法,请参阅如下实施例的说明。
在本发明的一些实施例中,步骤203之后,所述方法还可以包括如下步骤:
A1、第一引流点接收第一业务节点发送的下行数据报文,其中,下行数据报文携带所述业务链的业务节点信息,此时,第一引流点为对下行数据报文进行引流的下行出口引流点;
A2、第一引流点将业务节点信息从下行数据报文中删除;
A3、第一引流点将删除业务节点信息的下行数据报文发送给源设备。
其中,下行数据报文是由目的设备根据上行数据报文返回的数据报文,下行数据报文转发过程与上行数据报文恰好相反,下行数据报文在业务链中按照与上行数据报文相反的业务处理流程进行对称处理,当下行数据报文到达第一业务节点之后,由第一业务节点将下行数据报文发送给第一引流点,由于下行数据报文在进入业务链到达第一个对下行数据报文进行处理的业务节点时由该业务节点对下行数据报文封装了业务节点信息,第一引流点接收到下行数据报文之后,第一引流点需要将封装的业务节点信息删除掉删除掉业务节点信息之后第一引流点将数据报文发送给源设备,从而完成对数据报文的双向流的对称处理。下行数据报文从业务链中流出,到达下行出口引流点(即第一引流点),故每个方向的数据报文只需要经过一次出口引流点,能够提高对数据报文的处理效率。并且在本发明实施例提供的数据报文的处理系统中可以实现双向数据流的自动关联处理,降低了控制器配置的难度,提高了系统的处理性能。
通过以上实施例对本发明的描述可知,源设备发送上行数据报文到第一引流点,第一引流点将业务链的业务节点信息封装到上行数据报文中,然后第一引流点将封装有业务节点信息的上行数据报文发送给业务链中的第一业务节点;第一业务节点将第一上行数据报文按照业务链对应的业务节点信息向下一跳业务节点发送第一上行数据报文,并使第一上行数据报文到达业务链中上行方向上的最后一个业务节点(即第二业务节点),最后一个业务节点对所述第一上行数据报文进行业务处理,得到第二上行数据报文,然后将业务节点信息从第二上行数据报文中删除掉,将删除掉业务节点信息得到的第三上行数据报文发送给第二引流点;第二引流点作为所述业务链的上行出口引流点,接收到 第三上行数据报文之后将第三上行数据报文发送给目的设备。由于在数据报文的处理系统中对上行数据报文进行业务处理时采用了第一引流点、第二引流点分别作为上行数据报文的上行入口引流点和上行出口引流点,即数据报文中心系统中对引流点进行分布式设计,通过两个引流点对上行数据报文进行入口引流和出口引流,使上行数据报文在第一引流点和第二引流点中只需要经过一次,能够提高数据报文的处理效率。
上述实施例从数据报文的处理系统中的第一引流点的角度对本发明实施例提供的数据报文的处理方法进行了说明,接下来从第一业务节点的角度对本发明实施例提供的数据报文的处理方法进行说明,请参阅图4所示,本发明一个实施例提供的数据报文的处理方法,可以包括:
401、第一业务节点接收第一引流点发送的上行数据报文。
其中,上行数据报文携带第一引流点确定的业务链的业务节点信息。
在本发明实施例中,数据报文的处理系统中的第一引流点将上行数据报文引流到由第一引流点确定的业务链中第一个对上行数据报文进行业务处理的业务节点,其中,第一引流点和第一业务点都处在互通的同一内部网络中,第一业务节点首先接收第一引流点发送的上行数据报文,由于第一引流点在上行数据报文携带业务节点信息,第一业务节点通过对上行数据报文的解析,可以从中获取到业务节点信息。具体的,业务节点信息具体可以指的是业务节点的IP地址,在本发明实施例中,业务节点信息还可以指的是业务节点的特定标识,例如,业务节点信息可以是业务节点的设备索引。
402、第一业务节点对上行数据报文进行业务处理。
在本发明实施例中,第一业务节点接收到上行数据报文之后,第一业务节点对上行数据报文进行业务处理,并且在本发明实施例提供的数据报文的处理系统中,业务链中包括的每个业务节点都需要对数据报文进行业务处理,但是不同的业务节点对数据报文所做的业务处理的内容是不同的,例如有的业务节点是进行反病毒(英文:Anti-Virus,缩写:AV)处理,有的业务节点是进行入侵防御系统(英文:Intrusion Prevention System,缩写:IPS)处理,控制器在对各个业务节点进行配置时,各个业务链中分别包括有需要由哪几个业务节点进行什么样的业务处理,并且各个业务节点之间进行业务处理的先后顺序等,并且在不同的应用场景中,业务链中各个业务节点可以分别进行多种业务处理,业务节点对数据报文进行的业务处理可结合具体的场景来具体实现,此处仅作说明。
403、第一业务节点根据业务节点信息将业务处理后的上行数据报文发送到中间业务节点或者第二业务节点。
其中,中间业务节点是业务链中与第一业务节点相邻的下一跳业务节点,若在业务链中第一业务节点和第二业务节点之间没有中间业务节点,第一业务节点直接将上行数据报文发送给第二业务节点。
在本发明实施例中,第一业务节点对上行数据报文按照本业务节点的业务模式处理完成之后,第一业务节点可以根据业务节点信息将业务处理后的上行数据报文发送到中间业务节点,由于第一业务节点是业务链中第一个对上行数据报文进行业务处理的业务节点,第一业务节点在完成对数据报文的业务处理之后,第一业务节点需要按照业务链的业务节点信息向下一跳的业务节点发送上行数据报文,中间业务节点是业务链中与第一业务节点相邻的下一跳业务节点,中间业务节点按照本业务节点的业务模式对上行数据报文进行业务处理,并按照业务节点信息继续向中间业务节点的下一跳业务节点发送上行数据报文。另外,在本发明的一些实施例中,每个业务节点还可以根据上行数据报文携带的业务节点信息判断本业务节点是否是第一引流点确定的业务链中最后一个对上行数据报文进行业务处理的业务节点,只要本业务节点不是业务链中最后一个对上行数据报文进行业务处理的业务节点,本业务节点都需要根据业务节点继续向本业务节点的下一跳业务节点继续发送上行数据报文。
根据前述对业务节点信息的说明可知,若业务节点信息具体为业务节点的IP地址时,第一业务节点可以直接根据该IP地址将上行数据报文转发到中间业务节点,当业务节点信息具体为业务节点的设备索引时,步骤402第一业务节点对上行数据报文进行业务处理之后,本发明实施例提供的数据报文的处理方法还可以包括如下步骤:
第一业务节点根据控制器设置的映射关系表查询中间业务节点的设备索引对应的IP地址。
也就是说,当第一引流点在上行数据报文中封装的业务节点信息不是业务节点的IP地址,而是业务节点的设备索引值时,第一业务节点在解析上行数据报文之后,第一业务节点需要根据设备索引信息查询控制器配置的映射关系表,获取到中间业务节点对应的IP地址,从而第一业务节点可以根据查询到的IP地址发送上行数据报文至中间业务节点。
前述实施例中说明了第一业务节点对上行数据报文进行业务处理的实现流程,接下来对下行数据报文的业务处理过程进行说明。在本发明实施例中,数据报文的处理过程可以为双向数据流的处理,以HTTP为基础的Web业务为例,每次访问过程都存在双向数据流的问题:从Client到Server方向的上行数据流,以及从Server回复Client的下行数据流。对于部分应用,比如FTP的主动模式,也可能存在Server先发起向Client 的上行数据流,Client回复Server的下行数据流的情况。因为业务节点上对业务处理的需要,通常要求双向数据流在业务链中进行对称处理。
本发明实施例中对于第一业务节点对下行数据报文的业务处理方法,请参阅如下实施例的说明。在本发明的一些实施例中,步骤403第一业务节点根据业务节点信息将业务处理后的上行数据报文发送到中间业务节点之后,还可以包括如下步骤:
B1、第一业务节点接收中间业务节点发送的下行数据报文,其中,下行数据报文携带第一引流点确定的业务链的业务节点信息;
B2、第一业务节点对下行数据报文进行业务处理;
B3、当第一业务节点根据业务节点信息确定第一业务节点为业务链中上行方向上的最后一个业务节点时,第一业务节点将业务处理后的下行数据报文发送给第一引流点,其中,第一引流点为对数据报文进行引流的下行出口引流点。
其中,下行数据报文是由目的设备根据上行数据报文返回的数据报文,下行数据报文转发过程与上行数据报文恰好相反,下行数据报文在业务链中按照与上行数据报文相反的业务处理流程进行对称处理,当下行数据报文到达中间业务节点之后,第一业务节点作为业务链中对下行数据报文进行业务处理时中间业务节点的下一跳业务节点,中间业务节点将下行数据报文发送到第一业务节点,步骤B1中若在业务链中第一业务节点和第二业务节点之间没有中间业务节点,则第一业务节点可以从第二业务节点接收到下行数据报文。由于下行数据报文在进入业务链到达第一个对下行数据报文进行处理的业务节点时由该业务节点对下行数据报文封装了业务节点信息,中间业务节点可以根据该业务节点信息发送下行数据报文到第一业务节点。
通过以上实施例对本发明的描述可知,源设备发送上行数据报文到第一引流点,第一引流点将业务链的业务节点信息封装到上行数据报文中,然后第一引流点将封装有业务节点信息的上行数据报文发送给业务链中的第一业务节点;第一业务节点将第一上行数据报文按照业务链对应的业务节点信息向下一跳业务节点发送第一上行数据报文,并使第一上行数据报文到达业务链中上行方向上的最后一个业务节点(即第二业务节点),最后一个业务节点对所述第一上行数据报文进行业务处理,得到第二上行数据报文,然后将业务节点信息从第二上行数据报文中删除掉,将删除掉业务节点信息得到的第三上行数据报文发送给第二引流点;第二引流点作为所述业务链的上行出口引流点,接收到第三上行数据报文之后将第三上行数据报文发送给目的设备。由于在数据报文的处理系统中对上行数据报文进行业务处理时采用了第一引流点、第二引流点分别作为上行数据报文的上行入口引流点和上行出口引流点,即数据报文中心系统中对引流点进行分布式 设计,通过两个引流点对上行数据报文进行入口引流和出口引流,使上行数据报文在第一引流点和第二引流点中只需要经过一次,能够提高数据报文的处理效率。
上述实施例从数据报文的处理系统中的第一业务节点的角度对本发明实施例提供的数据报文的处理方法进行了说明,若业务链中在第一业务节点和第二业务节点之间还存在中间业务节点,则中间业务节点接收第一业务节点发送的上行数据报文,中间业务节点具体可以执行的数据报文的处理方法可以如下:
首先,中间业务节点接收第一业务节点发送的第一上行数据报文。
其中,第一上行数据报文携带第一引流点确定的业务链对应的业务节点信息,第一业务节点是业务链中与中间业务节点相邻的上一跳业务节点,第一引流点为所述业务链的上行入口引流点。
在本发明实施例中,对于数据报文的上行方向而言,若存在中间业务节点,中间业务节点是业务链中与第二业务节点相邻的上一跳业务节点,第一业务节点根据本业务节点的业务模式对上行数据报文进行业务处理之后将第一上行数据报文发送给中间业务节点,中间业务节点接收第一业务节点发送的第一上行数据报文,由于第一引流点在第一上行数据报文中封装了业务节点信息,中间业务节点通过对第一上行数据报文的解析,可以从中获取到业务节点信息。
具体的,业务节点信息具体可以指的是业务节点的IP地址,在本发明实施例中,业务节点信息还可以指的是业务节点的特定标识,例如,业务节点信息可以是业务节点的设备索引。
其次,中间业务节点对第一上行数据报文进行业务处理,得到业务处理后的第一上行数据报文。
在本发明实施例中,中间业务节点接收到第一业务节点发送的上行数据报文之后,中间业务节点就可以对第一上行数据报文进行业务处理了。
在本发明实施例中,中间业务节点接收到第一上行数据报文之后,中间业务节点对第一上行数据报文进行业务处理,中间业务节点对第一上行数据报文进行业务处理,并且在本发明实施例提供的数据报文的处理系统中,业务链中包括的每个业务节点都需要对数据报文进行业务处理,但是不同的业务节点对数据报文所做的业务处理的内容是不同的,例如有的业务节点是进行反病毒处理,有的业务节点是进行入侵防御系统处理,控制器在对各个业务节点进行配置时,各个业务链中分别包括有需要由哪几个业务节点进行什么样的业务处理,并且各个业务节点之间进行业务处理的先后顺序等,并且在不同的应用场景中,业务链中各个业务节点可以分别进行多种业务处理,业务节点对数据 报文进行的业务处理可结合具体的场景来具体实现,此处仅作说明。
最后,中间业务节点将业务处理后的第一上行数据报文发送给第二业务节点。
在本发明实施例中,数据报文的处理系统中的每个业务节点在从上一跳的业务节点接收到上行数据报文之后,每个业务节点还可以根据上行数据报文携带的业务节点信息判断本业务节点是否是第一引流点确定的业务链中最后一个对上行数据报文进行业务处理的业务节点,只要本业务节点不是业务链中最后一个对上行数据报文进行业务处理的业务节点,本业务节点都需要根据业务节点信息继续向本业务节点的下一跳业务节点继续发送上行数据报文。每个中间业务节点从上行数据报文中解析出业务节点信息之后,中间业务节点也需要根据业务节点信息判断本业务节点是否是业务链中上行方向上的最后一个业务节点,本发明实施例中只有第二业务节点通过对业务节点信息的判断确定本业务节点是业务链中最后一个对上行数据报文进行业务处理的业务节点,则对于第二业务节点而言,在业务链中就不存在第二业务节点的下一跳业务节点。
基于前述对第一引流点和第一业务节点执行的数据报文处理方法,通过以上实施例对本发明的描述可知,第一业务节点将第一上行数据报文按照业务链对应的业务节点信息向下一跳业务节点发送第一上行数据报文,并使第一上行数据报文到达业务链中上行方向上的最后一个业务节点(即第二业务节点),最后一个业务节点对所述第一上行数据报文进行业务处理,得到第二上行数据报文,然后将业务节点信息从第二上行数据报文中删除掉,将删除掉业务节点信息得到的第三上行数据报文发送给第二引流点;第二引流点作为所述业务链的上行出口引流点,接收到第三上行数据报文之后将第三上行数据报文发送给目的设备。
通过以上对中间业务节点的描述可知,中间业务节点对接收到的上行数据报文进行业务处理,然后中间业务节点按照业务链对应的业务节点信息向中间业务节点的下一跳业务节点发送上行数据报文。由于在数据报文的处理系统中对上行数据报文进行业务处理时采用了第一引流点、第二引流点分别作为上行数据报文的上行入口引流点和上行出口引流点,即数据报文中心系统中对引流点进行分布式设计,通过两个引流点对上行数据报文进行入口引流和出口引流,使上行数据报文在第一引流点和第二引流点中只需要经过一次,能够提高数据报文的处理效率。
在本发明的另一些应用场景中,若业务链中在第一业务节点和第二业务节点之间不存在中间业务节点,即第一业务处理节点对上行数据报文处理之后直接发送给第二业务节点,在这种实现场景下,从第二业务节点的角度对本发明实施例提供的数据报文的处理方法进行说明。
请参阅图5所示,本发明一个实施例提供的数据报文的处理方法,可以包括:
501、第二业务节点接收第一业务节点发送的第一上行数据报文。
其中,第一上行数据报文携带第一引流点确定的业务链对应的业务节点信息,第一业务节点是业务链中与第二业务节点相邻的上一跳业务节点,第一引流点为所述业务链的上行入口引流点。
在本发明实施例中,对于数据报文的上行方向而言,第二业务节点是业务链中与第二业务节点相邻的上一跳业务节点,第一业务节点根据本业务节点的业务模式对上行数据报文进行业务处理之后将第一上行数据报文发送给第二业务节点,第二业务节点接收第一业务节点发送的第一上行数据报文,由于第一引流点在第一上行数据报文中封装了业务节点信息,第二业务节点通过对第一上行数据报文的解析,可以从中获取到业务节点信息。
具体的,业务节点信息具体可以指的是业务节点的IP地址,在本发明实施例中,业务节点信息还可以指的是业务节点的特定标识,例如,业务节点信息可以是业务节点的设备索引。
502、第二业务节点对第一上行数据报文进行业务处理,得到第二上行数据报文。
在本发明实施例中,第二业务节点接收到第一业务节点发送的第一上行数据报文之后,第二业务节点就可以对第一上行数据报文进行业务处理了。
在本发明实施例中,第二业务节点接收到第一上行数据报文之后,第二业务节点对第一上行数据报文进行业务处理,具体业务处理的方式可参阅前述实施例中的描述,在本发明实施例提供的数据报文的处理系统中,业务链中包括的每个业务节点都需要对数据报文进行业务处理,但是不同的业务节点对数据报文所做的业务处理的内容是不同的。
503、当第二业务节点根据业务节点信息确定第二业务节点为业务链中上行方向上的最后一个业务节点时,第二业务节点将业务节点信息从第二上行数据报文中删除,得到第三上行数据报文。
在本发明实施例中,数据报文的处理系统中的每个业务节点在从上一跳的业务节点接收到上行数据报文之后,每个业务节点还可以根据上行数据报文携带的业务节点信息判断本业务节点是否是第一引流点确定的业务链中最后一个对上行数据报文进行业务处理的业务节点,只要本业务节点不是业务链中最后一个对上行数据报文进行业务处理的业务节点,本业务节点都需要根据业务节点信息继续向本业务节点的下一跳业务节点继续发送上行数据报文。同样的,第二业务节点从上行数据报文中解析出业务节点信息 之后,第二业务节点也需要根据业务节点信息判断本业务节点是否是业务链中上行方向上的最后一个业务节点,本发明实施例中第二业务节点通过对业务节点信息的判断确定本业务节点是业务链中最后一个对上行数据报文进行业务处理的业务节点,则对于第二业务节点而言,在业务链中就不存在第二业务节点的下一跳业务节点。
在本发明实施例中,第二业务节点确定本业务节点是业务链中上行方向上的最后一个业务节点,则对于第二业务节点而言,在业务链中就不存在需要对第二上行数据报文继续进行业务处理的下一跳业务节点,故第二业务节点在第二对上行数据报文进行业务处理后可以将业务节点信息从第二上行数据报文中删除,得到第三上行数据报文。
504、第二业务节点将第三上行数据报文发送给第二引流点。
其中,第二引流点为对业务链的上行出口引流点。
在本发明实施例中,第二业务节点作为业务链中上行方向上的最后一个业务节点,当第二业务节点对第二上行数据报文删除业务节点信息后得到第三上行数据报文,第三上行数据报文从业务链中流出,由第二业务节点将第三上行数据报文发送到上行出口引流点,本发明实施例中将对第三上行数据报文进行引流的上行出口引流点定义为“第二引流点”。
在本发明的一些实施例中,步骤504第二业务节点将第三上行数据报文发送给第二引流点之前,本发明实施例提供的数据报文的处理方法还可以包括如下步骤:
第二业务节点根据双向流表查询第三上行数据报文的上行出口引流点;
在这种应用场景下,第二业务节点查询双向流表,得到的结果可以包括两种情况:第一种是通过双向流表可以查询到第三上行数据报文的上行出口引流点,第二种是通过双向流表没有查询到第三上行数据报文的上行出口引流点。则对于第一种情况,若没有查询到出上行出口引流点,则步骤504第二业务节点将所述第三上行数据报文发送给第二引流点,具体为:第二业务节点按照转发路由将所述第三上行数据报文发送至所述第二引流点。对于第二种,若查询到上行出口引流点为第二引流点,则步骤504第二业务节点将所述第三上行数据报文发送给第二引流点,具体为:第二业务节点按照所述双向流表将所述第三上行数据报文发送至所述第二引流点。
也就是说,在本发明的一些实施例中,第二业务节点作为业务链中上行方向上的最后一个业务节点,第二业务节点可以建立双向流表,以记录数据报文转发的目的地址,第二业务节点将第三上行数据报文从业务链中发送出去之前,第二业务节点可以查询该双向流表,若通过双向流表查询到了上行出口引流点,则第二业务节点可以按照双向流表转发第三上行数据报文到上行出口引流点(即本发明实施例定义的第二引流点),若 通过双向流表没有查询到上行出口引流点,则第二业务节点根据转发路由将第三上行数据报文发送到部署在目的设备前端的引流点(也就是本发明实施例中与目的设备连接的第二引流点)。对于经过第一引流点确定的业务链第一次发送的第三上行数据报文,第二业务节点中并没有在双向流表中记录下出口引流点的引流点信息,但是在与第一次发送的第三上行数据报文相对应的第一下行数据报文到达第二业务节点时,第二业务节点可以记录下第三上行数据报文的出口引流点信息,则对于以后的上行数据报文在查询双向流表时,就可以查询到上行数据报文的出口引流点,从而可按照双向流表来转发上行数据报文到上行出口引流点。
需要说明的是,在本发明实施例中,双向流表具体可以包括上行流表和下行流表,分别用于在业务链的上行方向上和下行方向上的数据报文流向的信息,其中,流表中具体可以包括五元组信息,例如,流表中记录有数据报文携带的源IP地址,源端口,目的IP地址,目的端口和传输层协议号,对于业务链的上行方向,第二业务节点将第三上行数据报文携带的源IP地址、源端口、目的IP地址保存到下行流表中,以使第二业务节点在处理业务链的下行数据报文时使用该下行流表进行转发控制。另外,前述的引流点信息可以指的是引流点的IP地址,例如,第二引流点的引流点信息具体为第二引流点的IP地址,除此之外,引流点信息还可以指的是引流点的特定标识,例如,引流点信息可以是引流点的设备索引。
需要说明的是,在本发明的一些实施例中,第二业务节点中建立双向流表以供查询第三上行数据报文的上行出口引流点只是第二业务节点发送第三上行数据报文的一种实现方式,在本发明的另一些实施例中,步骤504第二业务节点将第三上行数据报文发送给第二引流点之前,本发明实施例提供的数据报文的处理方法还可以包括如下步骤:
第二业务节点将第二业务节点的业务节点信息封装到第三上行数据报文中。
在这种实现场景下,步骤504具体为:第二业务节点将封装了第二业务节点的业务节点信息的所述第三上行数据报文发送给所述第二引流点。
也就是说,第二业务节点为了使与第三上行数据报文相对应的第一下行数据报文能够从第一下行数据报文的入口引流点发送至第二业务节点,第二业务节点可以将第二业务节点的业务节点信息封装到第三上行数据报文中,当第一下行数据报文的入口引流点接收到第三上行数据报文之后,第一下行数据报文的入口引流点就可以记录下该第二业务节点的业务节点信息,保存到第一下行数据报文的入口引流点建立的双向流表中,从而第一下行数据报文的入口引流点就可以按照第二业务节点的业务节点信息将第一下行数据报文发送至第二业务节点,可以实现双向数据流的自动关联处理,简化配置,提 高数据报文的处理系统的处理性能。具体的,第二业务节点的业务节点信息具体可以指的是第二业务节点的IP地址,在本发明实施例中,第二业务节点的业务节点信息还可以指的是第二业务节点的特定标识,例如,第二业务节点的业务节点信息可以是第二业务节点的设备索引。
前述实施例中说明了第二业务节点对第三上行数据报文进行业务处理的实现流程,接下来对下行数据报文的业务处理过程进行说明。在本发明实施例中,数据报文的处理过程可以为双向数据流的处理,以HTTP为基础的Web业务为例,每次访问过程都存在双向数据流的问题:从Client到Server方向的上行数据流,以及从Server回复Client的下行数据流。对于部分应用场景,比如FTP的主动模式,也可能存在Server先发起向Client的上行数据流,Client回复Server的下行数据流的情况。因为业务节点上对业务处理的需要,通常要求双向数据流在业务链中进行对称处理。
本发明实施例中对于第二业务节点对第一下行数据报文的业务处理方法,请参阅如下实施例的说明。在本发明的一些实施例中,步骤504第二业务节点将第三上行数据报文发送给第二引流点之后,还可以包括如下步骤:
C1、第二业务节点接收第二引流点发送的第一下行数据报文,其中,第二引流点为对第一下行数据报文进行引流的下行入口引流点;
C2、第二业务节点对第一下行数据报文进行业务处理,得到第二下行数据报文;
C3、第二业务节点根据双向流表确定第二下行数据报文为业务链的下行数据报文;
C4、第二业务节点将业务链的业务节点信息封装到第二下行数据报文中,得到第三下行数据报文;
C5、第二业务节点将第三下行数据报文发送给第一业务节点。
其中,第一下行数据报文是由目的设备根据第三上行数据报文返回的数据报文,第一下行数据报文转发过程与前述的第一上行数据报文恰好相反,第一下行数据报文在业务链中按照与第一上行数据报文相反的业务处理流程进行对称处理,当第一下行数据报文由目的设备发送到第二引流点之后,第二引流点作为业务链中对下行数据报文进行业务处理的下行入口引流点,第二引流点可以将第一下行数据报文引流到第二业务节点中,由于本发明实施例中对上行数据报文和下行数据报文进行的是对称处理,在对上行数据报文的处理过程中第二业务节点是业务链中上行方向上的最后一个业务节点,那么在下行数据报文的处理过程中第二业务节点就是业务链中下行方向上的第一个业务节点。
第二业务节点接收到第二引流点发送的第一下行数据报文之后,第二业务节点对接 收到的第一下行数据报文进行判断,第二业务节点根据双向流表确定第一下行数据报文是业务链的下行数据报文,即第二业务节点确定从第二引流点接收到的第一下行数据报文是与第一上行数据报文的处理流向相反的下行数据报文,故第一下行数据报文需要执行第一上行数据报文在业务链中相反的业务流向处理,由于第二业务节点是业务链中第一个对下行数据报文进行业务处理的业务节点,为了使第一下行数据报文能够依次进入业务链中的各个业务节点进行业务处理,第二业务节点可以将第一引流点确定的业务链的业务节点信息封装到第一下行数据报文中,其中,业务链的业务节点信息指的是业务链中包括的多个业务节点的业务节点信息,具体的,业务节点信息具体可以指的是业务节点的IP地址,在本发明实施例中,业务节点信息还可以指的是业务节点的特定标识,例如,业务节点信息可以是业务节点的设备索引。在对下行数据报文的处理过程中,第一业务节点作为业务链中与第二业务节点相邻的下一跳业务节点,第二业务节点将第三下行数据报文发送给第一业务节点。
在本发明的一些实施例中,步骤C2第二业务节点根据双向流表确定地儿下行数据报文为所述业务链的下行数据报文之后,所述方法还包括:
第二业务节点将第二引流点的引流点信息保存到双向流表中。
其中,第二业务节点建立的双向流表可包括上行流表和下行流表,第三上行数据报文到达第二业务节点之后,第二业务节点将第三上行数据报文的信息记录在下行流表中,则第二业务节点接收到第一下行数据报文之后就可以通过下行流表判定该第一下行数据报文是与第三上行数据报文处理流向相反的数据报文,第二业务节点接收到第一下行数据报文之后,将发送第一下行数据报文的第二引流点的引流点信息保存到上行流表中,以便于第二业务节点再接收到第三上行数据报文之后可以查询该上行流表。其中,第二业务节点保存的第二引流点的引流点信息可以是第二引流点的IP地址,也可以是第二引流点的特定标识,例如第二引流点的设备索引等。
通过以上实施例对本发明的描述可知,第一业务节点将第一上行数据报文按照业务链对应的业务节点信息向下一跳业务节点发送第一上行数据报文,并使第一上行数据报文到达业务链中上行方向上的最后一个业务节点(即第二业务节点),最后一个业务节点对所述第一上行数据报文进行业务处理,得到第二上行数据报文,然后将业务节点信息从第二上行数据报文中删除掉,将删除掉业务节点信息得到的第三上行数据报文发送给第二引流点;第二引流点作为所述业务链的上行出口引流点,接收到第三上行数据报文之后将第三上行数据报文发送给目的设备。由于在数据报文的处理系统中对上行数据报文进行业务处理时采用了第一引流点、第二引流点分别作为上行数据报文的上行入口 引流点和上行出口引流点,即数据报文中心系统中对引流点进行分布式设计,通过两个引流点对上行数据报文进行入口引流和出口引流,使上行数据报文在第一引流点和第二引流点中只需要经过一次,能够提高数据报文的处理效率。
上述实施例从数据报文的处理系统中的第二业务节点的角度对本发明实施例提供的数据报文的处理方法进行了说明,接下来从第二引流点的角度对本发明实施例提供的数据报文的处理方法进行说明,请参阅图6所示,本发明一个实施例提供的数据报文的处理方法,可以包括:
601、第二引流点接收第二业务节点发送的第三上行数据报文。
其中,所述第二业务节点是第一引流点确定的业务链中上行方向上的最后一个业务节点,所述第二引流点为所述业务链的上行出口引流点,所述第三上行数据报文为所述第二业务节点收到第一业务节点发送的第一上行数据报文后,对所述第一上行数据报文进行业务处理得到第二上行数据报文,并从所述第二上行数据报文中删除所述业务链的业务节点信息后得到的;
在本发明实施例中,基于前述实施例对第二业务节点的描述可知,第二业务节点是业务链中上行方向上的最后一个业务节点,第三上行数据报文从第二业务节点中流出之后,第三上行数据报文进入对该第三上行业务报文进行引流的上行出口引流点,通过前述实施例对第一引流点、第一业务节点、第二业务节点对上行数据报文的处理流程可知,上行数据报文只经过了第一引流点一次,而不会反复多次的返回一个引流点再从该引流点发送出去,从而可以极大的提高数据报文的处理系统对数据报文的处理效率。
602、第二引流点将第三上行数据报文发送给目的设备。
其中,第二引流点部署在目的设备的前端。
在本发明实施例中,第二引流点是部署在目前设备前端的引流点,当第二引流点接收到来自业务链的第三上行数据报文之后,第二引流点可以将该第三上行数据报文引流到目的设备中,从而完成数据报文的处理系统对上行数据报文的处理过程。
在本发明的一些实施例中,第二业务节点还可以将第二业务节点的业务节点信息封装到第三上行数据报文中,则步骤601第二引流点接收第二业务节点发送的第三上行数据报文之后,本发明实施例提供的数据报文的处理方法还可以包括如下步骤:
D1、第二引流点从第三上行数据报文中解析出第二业务节点的业务节点信息;
D2、第二引流点将第二业务节点的业务节点信息保存到双向流表中。
也就是说,第二引流点中建立有双向流表,第二引流点从第三上行数据报文中解析出业务链中最后一个业务节点的业务节点信息(即第二业务节点信息)之后,第二引流 点对该第二业务节点信息保存,保存到第二引流点建立的双向流表中,以使第二引流点在接收到目的设备发送的第一下行数据报文之后可以将该第一下行数据报文向业务链中第一个对该下行数据报文进行业务处理的业务节点(即第二业务节点)发送,从而可以实现双向数据流的自动关联处理,提高数据报文的处理系统的处理性能。具体的,第二业务节点的业务节点信息具体可以指的是第二业务节点的IP地址,在本发明实施例中,第二业务节点的业务节点信息还可以指的是第二业务节点的特定标识,例如,第二业务节点的第二业务节点信息可以是第二业务节点的设备索引。
需要说明的是,在本发明实施例中,双向流表具体可以包括上行流表和下行流表,分别用于在业务链的上行方向上和下行方向上的数据报文流向的信息,其中,流表中具体可以包括五元组信息,例如,流表中记录有数据报文携带的源IP地址,源端口,目的IP地址,目的端口和传输层协议号,对于业务链的上行方向,第二引流点从第二业务节点接收第三上行数据报文之后,将第三上行数据报文携带的源IP地址、源端口、目的IP地址保存到下行流表中,以使第二引流点在处理业务链的下行数据报文时使用该下行流表进行转发控制。
需要说明的是,在本发明实施例中,对于经过第一引流点确定的业务链第一次发送的上行数据报文,第二业务节点才会在第三上行数据报文中封装上第二业务节点的业务节点信息,但是对于以后的第三上行数据报文由于第二引流点已经在双向流表中记录有了第二业务节点的业务节点信息,故第二业务节点也就无需再次对第三上行数据报文封装第二业务节点的业务节点信息,第二引流点也就无需再次执行步骤D1和步骤D2,也就是说,只有在第二业务节点第一次使用业务链传输第三上行数据报文时,第二引流点才需要执行D1和D2。
需要说明的是,在本发明的一些实施例中,当第二业务节点的业务节点信息具体为第二业务节点的设备索引时,步骤D1第二引流点从第三上行数据报文中解析出第二业务节点的业务节点信息之后,本发明实施例提供的数据报文的处理方法还可以包括如下步骤:
第二引流点根据控制器设置的映射关系表查询第二业务节点的设备索引对应的IP地址;
在这种实现场景下,步骤D2第二引流点将第二业务节点的业务节点信息保存到双向流表中,具体为:
第二引流点将第二业务节点的设备索引对应的IP地址保存到双向流表中。
也就是说,当第二业务节点在第三上行数据报文中封装的业务节点信息不是第二业 务节点的IP地址,而是第二业务节点的设备索引值时,第二引流点在解析第三上行数据报文之后,第二引流点需要根据设备索引信息查询控制器配置的映射关系表,获取到第二业务节点对应的IP地址,从而第二引流点可以根据查询到的第二业务节点的IP地址保存在双向流表中。
在本发明的一些实施例中,对于一个业务链可能存在多出口引流点时,可能存在下行数据报文的入口引流点与上行数据报文的出口引流点不同的场景,结合前述的实现场景,当第二引流点从上行数据报文中解析出第二业务节点信息之后,本发明实施例提供的数据报文的处理方法还可以进一步的包括如下步骤:
第二引流点将第二业务节点的业务节点信息发送给第三引流点,其中,第三引流点为业务链中除第二引流点以外的另一个上行出口引流点。
也就是说,业务链存在两个出口引流点,分别为是第二引流点和第三引流点,若第三上行数据报文通过第二引流点从业务链中流出,那么与第三上行数据报文相对应的第一下行数据报文可能通过第三引流点进入业务链,为了使第三引流点能够将第一下行数据报文送入业务链,第二引流点可以将业务链中最后一个业务节点的业务节点信息(即第二业务节点的业务节点信息)发送给第三引流点,从而可以保持引流点之间业务节点信息的同步。
举例说明如下,请参阅如图7所示,为本发明实施例提供的多出口引流点的实现方式示意图,其中,从服务器1到客户端2的上行数据报文,经引流点1流出,但是从客户端2到服务器1的下行数据报文,可能经引流点2流入。在出口引流点1处理上行数据报文的时候,需要将对应的业务节点1的业务节点信息(也可以称之为尾业务节点信息)同步至引流点2。这种场景一般应用在路由多出口的组网中,如图7所示,第一步:上行数据报文从引流点1流出,第二步:引流点1将上行数据报文的尾业务节点信息同步至引流点2,第三步:下行数据报文从引流点2流入,引流点2查询双向流表获取尾业务节点信息。从客户端2访问服务器1的下行数据报文,可以由引流点1进入内网,也可能由引流点2进入内网,当然本发明实施例中也可以认为引流点1和引流点2是同一个逻辑引流点内的不同引流单元,即在同一个逻辑引流点内部,实现不同的引流单元之间的业务节点信息同步,适用于业务链有多出口引流点的应用场景中。
前述实施例中说明了第二引流点对上行数据报文进行业务处理的实现流程,接下来对下行数据报文的业务处理过程进行说明。在本发明实施例中,数据报文的处理过程可以为双向数据流的处理,以HTTP为基础的Web业务为例,每次访问过程都存在双向数据流的问题:从Client到Server方向的上行数据流,以及从Server回复Client的下 行数据流。对于部分应用,比如FTP的主动模式,也可能存在Server先发起向Client的上行数据流,Client回复Server的下行数据流的情况。因为业务节点上对业务处理的需要,通常要求双向数据流在业务链中进行对称处理。
本发明实施例中对于第二引流点对下行数据报文的业务处理方法,请参阅如下实施例的说明。在本发明的一些实施例中,步骤602第二引流点将三上行数据报文发送给目的设备之后,本发明实施例提供的数据报文的处理方法还可以进一步的包括如下步骤:
E1、第二引流点接收目的设备根据第三上行数据报文返回的第一下行数据报文,其中,第二引流点为对下行数据报文进行引流的下行入口引流点;
E2、第二引流点将第一下行数据报文发送给第二业务节点,其中,第二业务节点为业务链中下行方向上的第一业务节点。
其中,第一下行数据报文是由目的设备根据第三上行数据报文返回的数据报文,第一下行数据报文转发过程与第一上行数据报文恰好相反,第一下行数据报文在业务链中按照与第一上行数据报文相反的业务处理流程进行对称处理,当目的设备接收到第三上行数据报文之后,目的设备根据该第三上行数据报文生成第一下行数据报文,并将第一下行数据报文发送到该目的设备前端的引流点(即第二引流点),第二业务节点作为业务链中第一个对下行数据报文进行业务处理的业务节点,第二引流点将第一下行数据报文发送到第二业务节点,其中,第二业务节点对第一下行数据报文的处理过程可参阅前述实施例中对第二业务节点的描述,此处不再赘述。
进一步的,步骤E2第二引流点将第一下行数据报文发送给第二业务节点,具体为:
第二引流点按照双向流表将第一下行数据报文发送给第二业务节点。
通过前述说明可知,第二引流点建立有双向流表,当第二引流点在接收到第三上行数据报文之后,从第三上行数据报文中提取出源IP地址、源端口和目的IP地址、目的端口保存到了下行流表中,即在下行流表中记录有源IP地址为第二业务节点,故第二引流点在查询下行流表时,对于上行来说源IP地址为第二业务节点,那么下行来说目的IP地址就是第二业务节点,根据此下行流表记录的信息第二引流点可以将第一下行数据报文发送到第二业务节点,第二业务节点作为业务链中下行方向上的第一个业务节点,可以从第二引流点接收到第一下行数据报文。
在本发明实施例中,第二引流点作为上行出口引流点,第三上行数据报文从第二引流点中只经过一次就到达目的设备,而无需多次反复的返回第二引流点再从第二引流点发送出去,同样的,目的设备发送出去的第一下行数据报文也只经过第二引流点一次就到达第二业务节点,而无需多次反复的返回第二引流点再从第二引流点发送出去,故本 发明实施例对数据报文的处理效率相对于现有技术提高很多。
通过以上实施例对本发明的描述可知,第一业务节点将删除掉业务节点信息得到的第三上行数据报文发送给第二引流点;第二引流点作为所述业务链的上行出口引流点,接收到第三上行数据报文之后将第三上行数据报文发送给目的设备。由于在数据报文的处理系统中对上行数据报文进行业务处理时采用了第一引流点、第二引流点分别作为上行数据报文的上行入口引流点和上行出口引流点,即数据报文中心系统中对引流点进行分布式设计,通过两个引流点对上行数据报文进行入口引流和出口引流,使上行数据报文在第一引流点和第二引流点中只需要经过一次,能够提高数据报文的处理效率。
为便于更好的理解和实施本发明实施例的上述方案,下面举例相应的应用场景来进行具体说明。
本发明实施例提供的数据报文的处理方法应用在Service Chaining技术分布式引流点的场景下,只需要在入口引流点配置引流策略,实现双向数据流的自动关联处理,简化配置,提高数据报文的处理系统对数据报文的处理性能。
请参阅如图8所示,为本发明实施例提供的双向数据流经过分布式引流点的处理示意图,由成对的引流点实现业务链中双向流量的处理,由控制器配置引流点和业务节点,由引流点和业务节点实现流量转发控制。接下来对本发明实施例中数据报文的处理原理进行示意说明,其中,控制器、引流点1、引流点2、引流点3、引流点4、业务节点1、业务节点2、业务节点3都在一互通的基础网络中,客户端1到服务器2的上行数据报文由引流点1引流到业务链处理,业务链处理完毕之后转发到引流点3,引流点3再转发至服务器2。对应的下行数据报文,由引流点3引流到业务链处理,业务链处理完毕之后转发到引流点1,引流点1再转发至客户端1。
接下来分别对上行数据报文的处理方法和下行数据报文的处理方法进行举例说明,请参阅如图9-a和图9-b所示,分别为上行数据报文的处理过程示意图和下行数据报文的处理过程示意图。
首先描述上行数据报文的处理过程,请参阅如图9-a所示:
第一步:上行数据报文到达入口引流点。
第二步:引流点1根据配置的引流策略,确定业务链的全部业务节点,送至相应的业务链处理。
在本发明实施例中,为了能够使用隧道技术,本发明实施例提供的方法还可以包括如下步骤:
引流点1将隧道头部封装到上行数据报文中;
也就是说,在本发明实施例中,引流点1和业务节点1之间通过隧道技术来发送上行数据报文,在使用隧道技术之前,引流点1先在上行数据报文中封装隧道头部,隧道头部中携带有隧道协议的信息,被封装的正向数据报文在隧道的两个端点(即引流点1和业务节点1)之间通过基础路由网络进行转发。具体的,可以使用通用路由封装(英文:Generic Routing Encapsulation,缩写:GRE)隧道来实现,也可以使用其他的隧道技术来实现,比如网络虚拟通用路由封装(英文:Network Virtual GRE,缩写:NVGRE)、虚拟可扩展局域网(英文:Virtual eXtensible Local Area Network,缩写:VXLAN)等来实现。
在引流点上,对进入某业务链处理的上行数据报文,需要明确业务链包含的业务节点。引流点与业务节点之间、业务节点与业务节点之间都可以通过隧道技术(比如GRE隧道)实现报文的点到点直接发送。入口引流点修改上行数据报文的报文头部,增加特定字段,将需要经过的业务节点的路由信息包含在上行数据报文中,则每一个业务节点都可以通过解析上行数据报文的特定字段,获取下一跳的业务节点的业务节点信息。
第三步:业务链的最后一个业务节点,将本业务节点信息增加在上行数据报文头部,发送上行数据报文。
通常情况下,对于入口引流点的上行数据报文,在业务链的入口引流点要明确其出口引流点通常是很困难的。例如图9-a中,首先引流点1需要存储引流点3和引流点4对应关联的服务器列表;其次,数据报文的处理系统中可能需要进行虚拟机切换的操作,比如引流点3下服务器2上的业务,需要切换到引流点4下的服务器3上处理,那么引流点1还需要实时刷新其他引流点和对应服务器的关联列表。本发明实施例可以在入口引流点只配置业务链中的业务节点,而不配置出口引流点。由入口引流点修改上行数据报文,封装业务节点信息,通过隧道将报文发送到下一跳的业务节点。业务节点解析上行数据报文,获取下一跳的业务节点信息,通过隧道将上行数据报文发送到下一跳的业务节点。
业务链中的最后一个业务节点(即业务节点2),将自身的业务节点信息,比如自身IP地址或者自身的设备索引,增加到上行数据报文的报文头部,直接将上行数据报文发送出去。最后一个业务节点在转发上行数据报文首包的时候,并不知道出口引流点的引流点信息。上行数据报文通过正常的路由转发,到达出口引流点。
第四步:上行数据报文到达业务联的出口引流点,出口引流点创建双向流表,双向流表中记录最后一个业务节点的业务节点信息。
出口引流点收到业务链最后一个业务节点发送过来的上行数据报文,建立双向流表。通过解析上行数据报文,获取业务链最后一个业务节点的业务节点信息,存放在双向流表中。这里如果解析上行数据报文获取的是设备索引,可通过控制器配置的映射关系表,获取设备索引值对应的IP地址。
通过以上实施例对本发明的描述可知,客户端1发送上行数据报文到引流点1,引流点1根据控制器配置的引流策略确定上行数据报文对应的业务链,然后引流点1将上述业务链的业务节点信息封装到上行数据报文中,然后引流点1将封装有业务节点信息的上行数据报文发送给业务链中的业务节点1;业务节点1对接收到的上行数据报文进行业务处理,根据业务节点信息业务节点1将业务处理后的上行数据报文发送到业务节点2,业务节点2接收到业务节点1发送的上行数据报文之后,根据业务节点信息确定业务节点2为业务链中最后一个对上行数据报文进行业务处理的业务节点,然后业务节点2对上行数据报文进行业务处理,接下来业务节点2将业务节点信息从业务处理后的上行数据报文中删除掉,业务节点2将删除掉业务节点信息的上行数据报文发送给引流点3;引流点3作为对上行数据报文进行引流的上行出口引流点,接收到上行数据报文之后将该数据报文发送给服务器2。由于在数据报文的处理系统中对上行数据报文进行业务处理时采用了引流点1、引流点3分别作为上行数据报文的上行入口引流点和上行出口引流点,即数据报文中心系统中对引流点进行分布式设计,通过两个引流点对上行数据报文进行入口引流和出口引流,上行数据报文在引流点1和引流点3中只需要经过一次,数据报文的处理效率可以得到有效提高。
接下来描述下行数据报文的处理过程,请参阅如图9-b所示:
第一步:下行数据报文到达关联的入口引流点。
第二步:入口引流点查询双向流表,从双向流表中记录的业务节点信息,获取上行数据报文的最后一个业务节点(即下行数据报文的第一个业务节点)的业务节点信息,发送下行数据报文。
下行报文到达上行数据报文的出口引流点,即下行数据报文的入口引流点,命中双向流表,按照双向流表中的业务节点2的业务节点信息作为转发的目的地址,通过隧道发送,就实现了正方双向流的自动关联处理。
第三步:业务链处理下行数据报文,业务节点之间通过隧道发送下行数据报文。
第四步:下行数据报文的出口引流点,解析下行数据报文,发送下行数据报文出去。
通过以上实施例对本发明的描述可知,客户端1发送上行数据报文到引流点1,引流点1根据控制器配置的引流策略确定上行数据报文对应的业务链,然后引流点1将上 述业务链的业务节点信息封装到上行数据报文中,然后引流点1将封装有业务节点信息的上行数据报文发送给业务链中的业务节点1;业务节点1对接收到的上行数据报文进行业务处理,根据业务节点信息业务节点1将业务处理后的上行数据报文发送到业务节点2,业务节点2接收到业务节点1发送的上行数据报文之后,根据业务节点信息确定业务节点2为业务链中最后一个对上行数据报文进行业务处理的业务节点,然后业务节点2对上行数据报文进行业务处理,接下来业务节点2将业务节点信息从业务处理后的上行数据报文中删除掉,业务节点2将删除掉业务节点信息的上行数据报文发送给引流点3;引流点3作为对上行数据报文进行引流的上行出口引流点,接收到上行数据报文之后将该数据报文发送给服务器2。由于在数据报文的处理系统中对上行数据报文进行业务处理时采用了引流点1、引流点3分别作为上行数据报文的上行入口引流点和上行出口引流点,即数据报文中心系统中对引流点进行分布式设计,通过两个引流点对上行数据报文进行入口引流和出口引流,上行数据报文在引流点1和引流点3中只需要经过一次,数据报文的处理效率可以得到有效提高。
接下来以另一个应用场景对本发明实施例提供的数据报文的处理方法进行说明,请参阅如图10所示,为本发明实施例提供的对双向数据报文进行处理的引流点和业务节点之间的交互过程示意图。
数据报文的处理系统中包括:控制器、引流点1、引流点2、引流点3、引流点4、业务节点1、业务节点2、业务节点3,服务器1和服务器2的前端部署的是引流点3,服务器3和服务器4的前端部署的是引流点4,其中,所有的引流点、所有的业务节点都由控制器进行配置,控制器、所有的引流点、所有的业务节点都处在一个互通的基础网络中,以业务链1的实现为例进行说明,在客户端1发起到服务器2的访问过程中,客户端1作为源设备,向数据报文匹配出的业务链为业务链1,引流点1作为上行入口引流点,业务节点1和业务节点2需要依次对上行数据报文进行业务处理,引流点3作为上行出口引流点,服务器2就是目的设备,业务节点1和业务节点2的业务节点信息对应于业务链1,对于服务器2发送出去的下行数据报文,引流点3作为下行入口引流点,业务节点2和业务节点1需要依次对下行数据报文进行业务处理,引流点2作为下行出口引流点。
接下来对双向数据报文进行处理的引流点和业务节点之间的交互过程进行详细说明:
本发明实施例包括上行流处理和下行流处理两大部分,详细描述如下:
首先对客户端1发送出去的上行数据报文1进行说明,主要包括如下步骤:
S11、引流点1接收上行数据报文1。
上行数据报文1作为首包到达入口网关处,入口网关可作为入口引流点。客户端1访问服务器2的上行数据报文,到达引流点1处。
S12、引流点1查询引流策略,获取上行数据报文1对应的业务链,为上行数据报文1封装所述业务链的业务节点信息,通过隧道,将封装了业务节点信息的上行数据报文1发送至业务节点1。
引流点1根据控制器的配置,实现如下功能:将匹配引流策略的上行数据报文1送至关联该引流策略的业务链。如果引流策略是从客户端1到服务器2的上行数据报文,需要依次经过业务节点1和业务节点2的业务处理。引流点1修改相应的上行数据报文,封装业务节点1和业务节点2的业务节点信息到报文头部,并将封装了业务节点1和业务节点2的业务节点信息的上行数据报文通过隧道发送至业务节点1。请参阅如下表1所示,为引流点1在上行数据报文的报文头部中封装业务节点信息的实现方式,其中,在上行数据报文的报文头部分别封装业务节点1和业务节点2的业务节点信息,并分别对封装的数据长度、类型进行定义。
Figure PCTCN2015076778-appb-000001
S13、业务节点1解析上行数据报文1,获取下一跳的业务节点信息,本地业务处理,通过隧道,发送至业务节点2。
业务链的中间业务节点,解析上行数据报文之后,获取原始报文,并作相应的业务处理,由解析上行数据报文获取的业务节点信息,通过隧道将上行数据报文发送至下一跳的业务节点。业务链中的业务节点,根据上行数据报文的业务节点信息头部中的数据,可以判断本业务节点对于该流上行数据报文,是否是业务链上行方向上的最后一个业务节点,即尾业务节点。
S14、业务节点2作为业务链的尾业务节点,建立双向流表,增加尾业务节点信息,发送上行数据报文1。
业务链的最后一个业务节点,作为隧道的终结点,首先删除上行数据报文外层隧道信息,其次需删除入口引流点增加的业务节点信息。业务链的最后一个业务节点需要建立双向流表,记录业务链的路由信息。对于上行数据报文的首包,业务链尾业务节点并不明确其出口引流点的IP信息,无法通过隧道直接发送至出口引流点。业务链尾业务节点修改上行数据报文,增加本地信息头部,不通过隧道,将报文正常发送出去。增加 本地信息头部的目的是通知出口引流点本条上行数据报文的尾业务节点信息。对于上行数据报文的后续包,如果不能从双向流表中查询到出口引流点的地址信息,处理流程同首包流程;如果可以从双向流表中查询到出口引流点的地址信息,则不需要增加尾业务节点信息头部,直接通过隧道发送到出口引流点。尾业务节点在处理上行数据报文首包的时候创建,双向流表中记录的出口引流点的地址信息,双向流表创建的时候初始化为零,其合法值由下行数据报文的处理流程中,从出口引流点回来的下行数据报文获取。请参阅如下表2所示,为业务节点2在上行数据报文的报文头部中封装业务节点信息的实现方式,其中,在上行数据报文的报文头部分别封装业务链中最后一个业务节点的业务节点信息,并分别对封装的数据长度、类型进行定义。
Figure PCTCN2015076778-appb-000002
S15、引流点2识别是尾业务节点发送过来的上行数据报文,建立双向流表,记录尾节点业务节点信息,发送上行数据报文到目的设备。
出口引流点根据上行数据报文的头部信息,可识别收到的是业务链尾业务节点发送过来的上行数据报文。对于此类报文,出口引流点建立双向流表,并在下行流表中记录尾业务节点的信息,实现双向流的自动关联。删除上行数据报文的尾业务节点信息头部,正常发送上行数据报文到对应的目的设备。
前述举例说明了对上行数据报文1的处理过程,同样的,本发明实施例中对于上行数据报文N(N是一个大于1的自然数)的处理过程,主要可以还包括如下步骤:
SN1、引流点1接收上行数据报文N。
SN2、引流点1查询双向流表的记录,获取所述数据报文对应的业务链,封装业务节点信息,通过隧道,发送至业务节点1。
SN3、业务节点1解析上行数据报文N,获取下一跳的业务节点信息,本地业务处理,通过隧道,发送至业务节点2。
SN4、业务节点2作为业务链的尾业务节点,查询双向流表,若没有出口引流点信息,增加尾业务节点信息,发送上行数据报文N。
SN5、引流点2识别是尾业务节点发送过来的上行数据报文,查询双向流表,发送上行数据报文到目的设备。
接下来对服务器2发送出去的下行数据报文M(M为一个非0自然数)进行说明,主要包括如下步骤:
SM1、引流点2接收下行数据报文M。
SM2、引流点2查询到双向流表,识别是下行数据报文,获取双向流表中记录的尾业务节点信息,通过隧道,发送至业务节点2。
下行数据报文由目的设备发送到达引流点2,引流点2根据下行数据报文查询双向流表。根据流表信息,可识别出是上行数据报文M相对应的下行数据报文。根据双向流表中记录的尾业务节点信息,引流点2将下行数据报文M通过隧道发送至尾业务节点(即业务节点2)。
SM3、业务节点2作为业务链的上行数据报文的尾业务节点,刷新双向流表中记录的出口引流点信息。
下行数据报文M到达首业务节点(即上行数据报文的尾业务节点),业务节点2查询双向流表,识别其是下行数据报文。首先刷新本地双向流表的信息,在上行流表中,记录下行数据报文的入口引流点(即上行数据报文的出口引流点)的信息,后续上行数据报文命中该上行流表,可直接获取出口引流点信息;其次,在下行数据报文中增加业务节点信息,通过隧道发送至下一跳业务节点,进行业务链的处理流程。
SM4、业务链处理下行数据报文。
业务链的中间业务节点,查询双向流表,可识别其是下行数据报文。在做完业务处理之后,由解析数据报文获取业务节点信息,通过隧道将下行数据报文发送至下一跳的业务节点。
SM5、引流点1发送下行数据报文M。
下行数据报文的尾业务节点,可通过查询本地双向流表,获取下一跳的出口隧道,将下行数据报文发送至出口引流点。出口引流点解析隧道,删除隧道头部,同时删除业务节点信息头部,将下行数据报文正常转发到源设备。
通过以上实施例对本发明的举例说明可知,业务链的尾业务节点在数据报文的头部增加标识,携带尾业务节点信息,正常发送至出口引流点。出口引流点建立双向流表,识别并在双向流表中记录数据报文中的尾业务节点信息,实现双向数据流的自动关联。在数据报文的处理系统中可以实现双向数据流的自动关联处理,降低配置的难度,提高系统的处理性能。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图11-a所示,本发明实施例提供的一种业务节点1100,业务节点具体为第二业务节点,所述第二业务节点,包括:接收模块1101、业务处理模块1102、解封装模块1103、发送模块1104,其中,
接收模块1101,用于接收第一业务节点发送的第一上行数据报文,所述第一上行数据报文携带第一引流点确定的业务链对应的业务节点信息,所述第一业务节点是所述业务链中与所述第二业务节点相邻的上一跳业务节点,所述第一引流点为所述业务链的上行入口引流点;
业务处理模块1102,用于对所述第一上行数据报文进行业务处理,得到第二上行数据报文;
解封装模块1103,用于当所述第二业务节点根据所述业务节点信息确定所述第二业务节点为所述业务链中上行方向上的最后一个业务节点时,将所述业务节点信息从所述第二上行数据报文中删除,得到第三上行数据报文;
发送模块1104,用于将所述第三上行数据报文发送给第二引流点,所述第二引流点为对所述所述业务链的上行出口引流点。
请参阅如图11-b所示,在本发明的一些实施例中,相对于如图11-a所示的业务节点,所述第二业务节点1100,还包括:查询模块1105,其中,
所述查询模块1105,用于所述发送模块将所述第三上行数据报文发送给第二引流点之前,根据双向流表查询所述第三上行数据报文的上行出口引流点;
若没有查询到出上行出口引流点,所述发送模块1104,具体用于按照转发路由将所述第三上行数据报文发送至所述第二引流点;
若查询到上行出口引流点为第二引流点,所述发送模块1104,具体用于按照所述双向流表将所述第三上行数据报文发送至所述第二引流点。
请参阅如图11-c所示,在本发明的一些实施例中,相对于如图11-a所示的业务节点,所述第二业务节点1100,还包括:第一封装模块1106,其中,
所述第一封装模块1106,用于所述发送模块1104将所述第三上行数据报文发送给第二引流点之前,将所述第二业务节点的业务节点信息封装到所述第三上行数据报文中;
所述发送模块1104,具体用于将封装了所述第二业务节点的业务节点信息的所述第三上行数据报文发送给所述第二引流点。
请参阅如图11-d所示,在本发明的一些实施例中,相对于如图11-a所示的业务节点,所述第二业务节点1100,还包括:第二封装模块1107,其中,
所述接收模块1101,还用于所述发送模块将所述第三上行数据报文发送给第二引流点之后,接收所述第二引流点发送的第一下行数据报文;
所述业务处理模块1102,还用于对所述第一下行数据报文进行业务处理,得到第二下行数据报文;
所述第二封装模块1107,用于将所述业务链的业务节点信息封装到所述第二下行数据报文中,得到第三下行数据报文;
所述发送模块1104,还用于将所述第三下行数据报文发送给所述第一业务节点。
请参阅如图11-e所示,在本发明的一些实施例中,相对于如图11-d所示的业务节点,所述第二业务节点1100,还包括:保存模块1108,用于所述发送模块根据双向流表确定所述第二下行数据报文为所述业务链的下行数据报文之后,将所述第二引流点的引流点信息保存到所述双向流表中。
通过以上实施例对本发明的描述可知,第一业务节点将第一上行数据报文按照业务链对应的业务节点信息向下一跳业务节点发送第一上行数据报文,并使第一上行数据报文到达业务链中上行方向上的最后一个业务节点(即第二业务节点),最后一个业务节点对所述第一上行数据报文进行业务处理,得到第二上行数据报文,然后将业务节点信息从第二上行数据报文中删除掉,将删除掉业务节点信息得到的第三上行数据报文发送给第二引流点;第二引流点作为所述业务链的上行出口引流点,接收到第三上行数据报文之后将第三上行数据报文发送给目的设备。由于在数据报文的处理系统中对上行数据报文进行业务处理时采用了第一引流点、第二引流点分别作为上行数据报文的上行入口引流点和上行出口引流点,即数据报文中心系统中对引流点进行分布式设计,通过两个引流点对上行数据报文进行入口引流和出口引流,使上行数据报文在第一引流点和第二引流点中只需要经过一次,能够提高数据报文的处理效率。
请参阅图12-a所示,本发明实施例提供的一种引流点1200,引流点具体为第二引流点,所述第二引流点,包括:接收模块1201、发送模块1202,其中,
接收模块1201,用于接收第二业务节点发送的第三上行数据报文,所述第二业务节点是第一引流点确定的业务链中上行方向上的最后一个业务节点,所述第二引流点为对所述所述业务链的上行出口引流点,所述第三上行数据报文为所述第二业务节点收到第一业务节点发送的第一上行数据报文后,对所述第一上行数据报文进行业务处理得到第二上行数据报文,并从所述第二上行数据报文中删除所述业务链的业务节点信息后得到 的;
发送模块1202,用于将所述第三上行数据报文发送给目的设备,所述第二引流点部署在所述目的设备的前端。
请参阅如图12-b所示,在本发明的一些实施例中,相对于如图12-a所示的引流点,所述第二引流点1200,还包括:解析模块1203和保存模块1204,其中,
所述解析模块1203,用于所述接收模块接收第二业务节点发送的第三上行数据报文之后,从所述第三上行数据报文中解析出所述第二业务节点的业务节点信息;
所述保存模块1204,用于将所述第二业务节点的业务节点信息保存到双向流表中。
请参阅如图12-c所示,在本发明的一些实施例中,相对于如图12-b所示的引流点,当所述第二业务节点的业务节点信息具体为第二业务节点的设备索引时,所述第二引流点1200,还包括:查询模块1205,其中,
所述查询模块1205,用于所述解析模块从所述第三上行数据报文中解析出第二业务节点的业务节点信息之后,根据控制器设置的映射关系表查询所述第二业务节点的设备索引对应的互联网协议IP地址;
所述保存模块1204,具体用于将所述第二业务节点的设备索引对应的IP地址保存到双向流表中。
在本发明的一些实施例中,所述发送模块1202,还用于所述解析模块从所述第三上行数据报文中解析出第二业务节点的业务节点信息之后,将所述第二业务节点的业务节点信息发送给第三引流点,所述第三引流点为对所述业务链中除所述第二引流点以外的另一个上行出口引流点。
在本发明的一些实施例中,所述接收模块1201,还用于所述发送模块将所述第三上行数据报文发送给目的设备之后,接收所述目的设备根据所述第三上行数据报文返回的第一下行数据报文;
所述发送模块1202,还用于将所述第一下行数据报文发送给所述第二业务节点。
进一步的,所述发送模块1202,具体用于按照双向流表将所述第一下行数据报文发送给所述第二业务节点。
通过以上实施例对本发明的描述可知,第一业务节点将第一上行数据报文按照业务链对应的业务节点信息向下一跳业务节点发送第一上行数据报文,并使第一上行数据报文到达业务链中上行方向上的最后一个业务节点(即第二业务节点),最后一个业务节点对所述第一上行数据报文进行业务处理,得到第二上行数据报文,然后将业务节点信息从第二上行数据报文中删除掉,将删除掉业务节点信息得到的第三上行数据报文发送 给第二引流点;第二引流点作为所述业务链的上行出口引流点,接收到第三上行数据报文之后将第三上行数据报文发送给目的设备。由于在数据报文的处理系统中对上行数据报文进行业务处理时采用了第一引流点、第二引流点分别作为上行数据报文的上行入口引流点和上行出口引流点,即数据报文中心系统中对引流点进行分布式设计,通过两个引流点对上行数据报文进行入口引流和出口引流,使上行数据报文在第一引流点和第二引流点中只需要经过一次,能够提高数据报文的处理效率。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的部分或全部步骤。
接下来介绍本发明实施例提供的另一种业务节点,该业务节点具体为第二业务节点,,请参阅图13所示,第二业务节点1300包括:
输入装置1301、输出装置1302、处理器1303和存储器1304(其中第二业务节点1300中的处理器1303的数量可以一个或多个,图13中以一个处理器为例)。在本发明的一些实施例中,输入装置1301、输出装置1302、处理器1303和存储器1304可通过总线或其它方式连接,其中,图13中以通过总线连接为例。
其中,处理器1303,用于执行如下步骤:
接收第一业务节点发送的第一上行数据报文,所述第一上行数据报文携带第一引流点确定的业务链对应的业务节点信息,所述第一业务节点是所述业务链中与所述第二业务节点相邻的上一跳业务节点,所述第一引流点为所述业务链的上行入口引流点;
对所述第一上行数据报文进行业务处理,得到第二上行数据报文;
当所述第二业务节点根据所述业务节点信息确定所述第二业务节点为所述业务链中上行方向上的最后一个业务节点时,将所述业务节点信息从所述第二上行数据报文中删除,得到第三上行数据报文;
将所述第三上行数据报文发送给第二引流点,所述第二引流点为所述业务链的上行出口引流点。
在本发明的一些实施例中,处理器1303,还用于执行如下步骤:
将所述第三上行数据报文发送给第二引流点之前,根据双向流表查询所述第三上行数据报文的上行出口引流点;
若没有查询到上行出口引流点,处理器1303,具体用于执行如下步骤:按照转发路由将所述第三上行数据报文发送至所述第二引流点;
若查询到上行出口引流点为所述第二引流点,处理器1303,具体用于执行如下步骤: 按照所述双向流表将所述第三上行数据报文发送至所述第二引流点。
在本发明的一些实施例中,处理器1303,还用于执行如下步骤:
将所述第三上行数据报文发送给第二引流点之前,将所述第二业务节点的业务节点信息封装到所述第三上行数据报文中;
处理器1303,具体用于执行如下步骤:
将封装了所述第二业务节点的业务节点信息的所述第三上行数据报文发送给所述第二引流点。
在本发明的一些实施例中,处理器1303,还用于执行如下步骤:
将所述第三上行数据报文发送给第二引流点之后,接收所述第二引流点发送的第一下行数据报文;
对所述第一下行数据报文进行业务处理,得到第二下行数据报文;
根据双向流表确定所述第二下行数据报文为所述业务链的下行数据报文;
将所述业务链的业务节点信息封装到所述第二下行数据报文中,得到第三下行数据报文;
将所述第三下行数据报文发送给所述第一业务节点。
在这种情况下,处理器1303,还用于执行如下步骤:
根据双向流表确定所述第二下行数据报文为所述业务链的下行数据报文之后,将所述第二引流点的引流点信息保存到所述双向流表中。
通过以上实施例对本发明的描述可知,第一业务节点将第一上行数据报文按照业务链对应的业务节点信息向下一跳业务节点发送第一上行数据报文,并使第一上行数据报文到达业务链中上行方向上的最后一个业务节点(即第二业务节点),最后一个业务节点对所述第一上行数据报文进行业务处理,得到第二上行数据报文,然后将业务节点信息从第二上行数据报文中删除掉,将删除掉业务节点信息得到的第三上行数据报文发送给第二引流点;第二引流点作为所述业务链的上行出口引流点,接收到第三上行数据报文之后将第三上行数据报文发送给目的设备。由于在数据报文的处理系统中对上行数据报文进行业务处理时采用了第一引流点、第二引流点分别作为上行数据报文的上行入口引流点和上行出口引流点,即数据报文中心系统中对引流点进行分布式设计,通过两个引流点对上行数据报文进行入口引流和出口引流,使上行数据报文在第一引流点和第二引流点中只需要经过一次,能够提高数据报文的处理效率。
接下来介绍本发明实施例提供的另一种引流点,该引流点具体为第二引流点,请参阅图14所示,第二引流点1400包括:
输入装置1401、输出装置1402、处理器1403和存储器1404(其中第二引流点1400中的处理器1403的数量可以一个或多个,图14中以一个处理器为例)。在本发明的一些实施例中,输入装置1401、输出装置1402、处理器1403和存储器1404可通过总线或其它方式连接,其中,图14中以通过总线连接为例。
其中,处理器1403,用于执行如下步骤:
接收第二业务节点发送的第三上行数据报文,所述第二业务节点是第一引流点确定的业务链中上行方向上的最后一个业务节点,所述第二引流点为所述业务链的上行出口引流点,所述第三上行数据报文为所述第二业务节点收到第一业务节点发送的第一上行数据报文后,对所述第一上行数据报文进行业务处理得到第二上行数据报文,并从所述第二上行数据报文中删除所述业务链的业务节点信息后得到的;
将所述第三上行数据报文发送给目的设备,所述第二引流点部署在所述目的设备的前端。
在本发明的一些实施例中,处理器1403,还用于执行如下步骤:
接收第二业务节点发送的第三上行数据报文之后,从所述第三上行数据报文中解析出所述第二业务节点的业务节点信息;
将所述第二业务节点的业务节点信息保存到双向流表中。
在本发明的一些实施例中,处理器1403,还用于执行如下步骤:当所述第二业务节点的业务节点信息具体为第二业务节点的设备索引时,从所述第三上行数据报文中解析出所述第二业务节点的业务节点信息之后,根据控制器设置的映射关系表查询所述第二业务节点的设备索引对应的互联网协议IP地址;
在本发明的一些实施例中,处理器1403,具体用于执行如下步骤:将所述第二业务节点的设备索引对应的IP地址保存到双向流表中。
在本发明的一些实施例中,处理器1403,还用于执行如下步骤:
从所述第三上行数据报文中解析出所述第二业务节点的业务节点信息之后,将所述第二业务节点的业务节点信息发送给第三引流点,所述第三引流点为对所述业务链中除所述第二引流点以外的另一个上行出口引流点。
在本发明的一些实施例中,处理器1403,还用于执行如下步骤:
将所述第三上行数据报文发送给目的设备之后,接收所述目的设备根据所述第三上行数据报文返回的第一下行数据报文;
将所述第一下行数据报文发送给所述第二业务节点。
在本发明的一些实施例中,处理器1403,具体用于执行如下步骤:
按照双向流表将所述第一下行数据报文发送给所述第二业务节点。
通过以上实施例对本发明的描述可知,第一业务节点将第一上行数据报文按照业务链对应的业务节点信息向下一跳业务节点发送第一上行数据报文,并使第一上行数据报文到达业务链中上行方向上的最后一个业务节点(即第二业务节点),最后一个业务节点对所述第一上行数据报文进行业务处理,得到第二上行数据报文,然后将业务节点信息从第二上行数据报文中删除掉,将删除掉业务节点信息得到的第三上行数据报文发送给第二引流点;第二引流点作为所述业务链的上行出口引流点,接收到第三上行数据报文之后将第三上行数据报文发送给目的设备。由于在数据报文的处理系统中对上行数据报文进行业务处理时采用了第一引流点、第二引流点分别作为上行数据报文的上行入口引流点和上行出口引流点,即数据报文中心系统中对引流点进行分布式设计,通过两个引流点对上行数据报文进行入口引流和出口引流,使上行数据报文在第一引流点和第二引流点中只需要经过一次,能够提高数据报文的处理效率。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上 述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (22)

  1. 一种数据报文的处理方法,其特征在于,包括:
    第二业务节点接收第一业务节点发送的第一上行数据报文,所述第一上行数据报文携带第一引流点确定的业务链对应的业务节点信息,所述第一业务节点是所述业务链中与所述第二业务节点相邻的上一跳业务节点,所述第一引流点为所述业务链的上行入口引流点;
    所述第二业务节点对所述第一上行数据报文进行业务处理,得到第二上行数据报文;
    当所述第二业务节点根据所述业务节点信息确定所述第二业务节点为所述业务链中上行方向上的最后一个业务节点时,所述第二业务节点将所述业务节点信息从所述第二上行数据报文中删除,得到第三上行数据报文;
    所述第二业务节点将所述第三上行数据报文发送给第二引流点,所述第二引流点为所述业务链的上行出口引流点。
  2. 根据权利要求1所述的方法,其特征在于,所述第二业务节点将所述第三上行数据报文发送给第二引流点之前,所述方法还包括:
    所述第二业务节点根据双向流表查询所述第三上行数据报文的上行出口引流点;
    若没有查询到上行出口引流点,所述第二业务节点将所述第三上行数据报文发送给第二引流点,具体为:所述第二业务节点按照转发路由将所述第三上行数据报文发送至所述第二引流点;
    若查询到上行出口引流点为所述第二引流点,所述第二业务节点将所述第三上行数据报文发送给第二引流点,具体为:所述第二业务节点按照所述双向流表将所述第三上行数据报文发送至所述第二引流点。
  3. 根据权利要求2所述的方法,其特征在于,
    所述第二业务节点将所述第三上行数据报文发送给第二引流点之前,所述方法还包括:
    所述第二业务节点将所述第二业务节点的业务节点信息封装到所述第三上行数据报文中;
    所述第二业务节点将所述第三上行数据报文发送给第二引流点包括:
    所述第二业务节点将封装了所述第二业务节点的业务节点信息的所述第三上行数据报文发送给所述第二引流点。
  4. 根据权利要求1所述的方法,其特征在于,所述第二业务节点将所述第三上行 数据报文发送给第二引流点之后,所述方法还包括:
    所述第二业务节点接收所述第二引流点发送的第一下行数据报文;
    所述第二业务节点对所述第一下行数据报文进行业务处理,得到第二下行数据报文;
    所述第二业务节点根据双向流表确定所述第二下行数据报文为所述业务链的下行数据报文;
    所述第二业务节点将所述业务链的业务节点信息封装到所述第二下行数据报文中,得到第三下行数据报文;
    所述第二业务节点将所述第三下行数据报文发送给所述第一业务节点。
  5. 根据权利要求4所述的方法,其特征在于,所述第二业务节点根据双向流表确定所述第二下行数据报文为所述业务链的下行数据报文之后,所述方法还包括:
    所述第二业务节点将所述第二引流点的引流点信息保存到所述双向流表中。
  6. 一种数据报文的处理方法,其特征在于,包括:
    第二引流点接收第二业务节点发送的第三上行数据报文,所述第二业务节点是第一引流点确定的业务链中上行方向上的最后一个业务节点,所述第二引流点为所述业务链的上行出口引流点,所述第三上行数据报文为所述第二业务节点收到第一业务节点发送的第一上行数据报文后,对所述第一上行数据报文进行业务处理得到第二上行数据报文,并从所述第二上行数据报文中删除所述业务链的业务节点信息后得到的;
    所述第二引流点将所述第三上行数据报文发送给目的设备,所述第二引流点部署在所述目的设备的前端。
  7. 根据权利要求6所述的方法,其特征在于,所述第二引流点接收第二业务节点发送的第三上行数据报文之后,所述方法还包括:
    所述第二引流点从所述第三上行数据报文中解析出所述第二业务节点的业务节点信息;
    所述第二引流点将所述第二业务节点的业务节点信息保存到双向流表中。
  8. 根据权利要求7所述的方法,其特征在于,当所述第二业务节点的业务节点信息具体为第二业务节点的设备索引时,所述第二引流点从所述第三上行数据报文中解析出所述第二业务节点的业务节点信息之后,所述方法还包括:
    所述第二引流点根据控制器设置的映射关系表查询所述第二业务节点的设备索引对应的互联网协议IP地址;
    所述第二引流点将所述第二业务节点的业务节点信息保存到双向流表中,具体为:
    所述第二引流点将所述第二业务节点的设备索引对应的IP地址保存到双向流表中。
  9. 根据权利要求7所述的方法,其特征在于,所述第二引流点从所述第三上行数据报文中解析出所述第二业务节点的业务节点信息之后,所述方法还包括:
    所述第二引流点将所述第二业务节点的业务节点信息发送给第三引流点,所述第三引流点为对所述业务链中除所述第二引流点以外的另一个上行出口引流点。
  10. 根据权利要求6所述的方法,其特征在于,所述第二引流点将所述第三上行数据报文发送给目的设备之后,所述方法还包括:
    所述第二引流点接收所述目的设备根据所述第三上行数据报文返回的第一下行数据报文;
    所述第二引流点将所述第一下行数据报文发送给所述第二业务节点。
  11. 根据权利要求10所述的方法,其特征在于,所述第二引流点将所述第一下行数据报文发送给所述第二业务节点,具体为:
    所述第二引流点按照双向流表将所述第一下行数据报文发送给所述第二业务节点。
  12. 一种业务节点,其特征在于,所述业务节点具体为第二业务节点,包括:
    接收模块,用于接收第一业务节点发送的第一上行数据报文,所述第一上行数据报文携带第一引流点确定的业务链对应的业务节点信息,所述第一业务节点是所述业务链中与所述第二业务节点相邻的上一跳业务节点,所述第一引流点为所述业务链的上行入口引流点;
    业务处理模块,用于对所述第一上行数据报文进行业务处理,得到第二上行数据报文;
    解封装模块,用于当所述第二业务节点根据所述业务节点信息确定所述第二业务节点为所述业务链中上行方向上的最后一个业务节点时,将所述业务节点信息从所述第二上行数据报文中删除,得到第三上行数据报文;
    发送模块,用于将所述第三上行数据报文发送给第二引流点,所述第二引流点为对所述所述业务链的上行出口引流点。
  13. 根据权利要求12所述的业务节点,其特征在于,还包括:查询模块,其中,
    所述查询模块,用于所述发送模块将所述第三上行数据报文发送给第二引流点之前,根据双向流表查询所述第三上行数据报文的上行出口引流点;
    若没有查询到上行出口引流点,所述发送模块,具体用于按照转发路由将所述第三上行数据报文发送至所述第二引流点;
    若查询到上行出口引流点为所述第二引流点,所述发送模块,具体用于按照所述双 向流表将所述第三上行数据报文发送至所述第二引流点。
  14. 根据权利要求13所述的业务节点,其特征在于,还包括:第一封装模块,其中,
    所述第一封装模块,用于所述发送模块将所述第三上行数据报文发送给第二引流点之前,将所述第二业务节点的业务节点信息封装到所述第三上行数据报文中;
    所述发送模块,具体用于将封装了所述第二业务节点的业务节点信息的所述第三上行数据报文发送给所述第二引流点。
  15. 根据权利要求12所述的业务节点,其特征在于,还包括:第二封装模块,其中,
    所述接收模块,还用于所述发送模块将所述第三上行数据报文发送给第二引流点之后,接收所述第二引流点发送的第一下行数据报文;
    所述业务处理模块,还用于对所述第一下行数据报文进行业务处理,得到第二下行数据报文;
    所述第二封装模块,用于将所述业务链的业务节点信息封装到所述第二下行数据报文中,得到第三下行数据报文;
    所述发送模块,还用于将所述第三下行数据报文发送给所述第一业务节点。
  16. 根据权利要求15所述的业务节点,其特征在于,还包括:保存模块,用于所述发送模块根据双向流表确定所述第二下行数据报文为所述业务链的下行数据报文之后,将所述第二引流点的引流点信息保存到所述双向流表中。
  17. 一种引流点,其特征在于,所述引流点具体为第二引流点,包括:
    接收模块,用于接收第二业务节点发送的第三上行数据报文,所述第二业务节点是第一引流点确定的业务链中上行方向上的最后一个业务节点,所述第二引流点为对所述所述业务链的上行出口引流点,所述第三上行数据报文为所述第二业务节点收到第一业务节点发送的第一上行数据报文后,对所述第一上行数据报文进行业务处理得到第二上行数据报文,并从所述第二上行数据报文中删除所述业务链的业务节点信息后得到的;
    发送模块,用于将所述第三上行数据报文发送给目的设备,所述第二引流点部署在所述目的设备的前端。
  18. 根据权利要求17所述的引流点,其特征在于,还包括:解析模块和保存模块,其中,
    所述解析模块,用于所述接收模块接收第二业务节点发送的第三上行数据报文之后,从所述第三上行数据报文中解析出所述第二业务节点的业务节点信息;
    所述保存模块,用于将所述第二业务节点的业务节点信息保存到双向流表中。
  19. 根据权利要求18所述的引流点,其特征在于,当所述第二业务节点的业务节点信息具体为第二业务节点的设备索引时,所述第二引流点,还包括:查询模块,用于在所述解析模块从所述第三上行数据报文中解析出第二业务节点的业务节点信息之后,根据控制器设置的映射关系表查询所述第二业务节点的设备索引对应的互联网协议IP地址;
    所述保存模块,具体用于将所述第二业务节点的设备索引对应的IP地址保存到双向流表中。
  20. 根据权利要求18所述的引流点,其特征在于,所述发送模块,还用于在所述解析模块从所述第三上行数据报文中解析出第二业务节点的业务节点信息之后,将所述第二业务节点的业务节点信息发送给第三引流点,所述第三引流点为对所述业务链中除所述第二引流点以外的另一个上行出口引流点。
  21. 根据权利要求16所述的引流点,其特征在于,所述接收模块,还用于在所述发送模块将所述第三上行数据报文发送给目的设备之后,接收所述目的设备根据所述第三上行数据报文返回的第一下行数据报文;
    所述发送模块,还用于将所述第一下行数据报文发送给所述第二业务节点。
  22. 根据权利要求21所述的引流点,其特征在于,所述发送模块,具体用于按照双向流表将所述第一下行数据报文发送给所述第二业务节点。
PCT/CN2015/076778 2014-06-27 2015-04-16 一种数据报文的处理方法、业务节点以及引流点 WO2015196849A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP15811011.4A EP3145131B1 (en) 2014-06-27 2015-04-16 Data packet processing method, service node and delivery node
ES15811011T ES2739204T3 (es) 2014-06-27 2015-04-16 Método de procesamiento de paquete de datos, nodo de servicio y nodo de entrega
US15/385,470 US10439931B2 (en) 2014-06-27 2016-12-20 Data packet processing method, service node, and delivery node

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410301535.2 2014-06-27
CN201410301535.2A CN105337881B (zh) 2014-06-27 2014-06-27 一种数据报文的处理方法、业务节点以及引流点

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/385,470 Continuation US10439931B2 (en) 2014-06-27 2016-12-20 Data packet processing method, service node, and delivery node

Publications (1)

Publication Number Publication Date
WO2015196849A1 true WO2015196849A1 (zh) 2015-12-30

Family

ID=54936720

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/076778 WO2015196849A1 (zh) 2014-06-27 2015-04-16 一种数据报文的处理方法、业务节点以及引流点

Country Status (5)

Country Link
US (1) US10439931B2 (zh)
EP (1) EP3145131B1 (zh)
CN (1) CN105337881B (zh)
ES (1) ES2739204T3 (zh)
WO (1) WO2015196849A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107493235A (zh) * 2016-06-13 2017-12-19 中兴通讯股份有限公司 一种快速转发报文的方法和装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3304831B1 (en) * 2015-06-03 2021-11-10 VID SCALE, Inc. Enhancing performance of multi-path communications
US10084657B2 (en) * 2015-06-29 2018-09-25 Ca, Inc. Normalized software-defined networking interface
US10003498B2 (en) 2015-06-29 2018-06-19 Ca, Inc. Efficient management of network configuration-dependent network functionality
US10103976B2 (en) * 2015-07-09 2018-10-16 Cisco Technology, Inc. Service bitmask-based service application in service function chaining
KR20170052002A (ko) * 2015-11-03 2017-05-12 한국전자통신연구원 가상 네트워크 기능 체이닝 시스템 및 방법
CN107800626B (zh) * 2016-08-31 2020-10-09 阿里巴巴集团控股有限公司 数据报文的处理方法、装置及设备
CN108075991B (zh) 2016-11-18 2020-09-08 新华三技术有限公司 报文转发方法及装置
US10397144B2 (en) * 2016-12-22 2019-08-27 Intel Corporation Receive buffer architecture method and apparatus
US20180234535A1 (en) * 2017-02-10 2018-08-16 Mediatek Inc. Method and apparatus for communication
CN108762742A (zh) * 2018-05-18 2018-11-06 深圳壹账通智能科技有限公司 数据流向及业务流向的分析方法、装置、设备及介质
CN112840623B (zh) * 2019-01-22 2023-02-03 华为技术有限公司 数据报文传输方法及节点
CN110365577B (zh) * 2019-07-24 2021-10-15 绿盟科技集团股份有限公司 一种安全资源池的引流系统及安全检查方法
CN110865965B (zh) * 2019-11-13 2023-09-19 苏州盛科科技有限公司 一种基于硬件实现流表双向数据同步的方法及装置
US11949589B2 (en) * 2021-05-20 2024-04-02 Pensando Systems Inc. Methods and systems for service state replication using original data packets

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490153B1 (en) * 2004-07-23 2009-02-10 International Business Machines Corporation Smart nodes for providing interoperability among a plurality of web services in a chain and dynamically orchestrating associated processes
CN101772918A (zh) * 2007-08-03 2010-07-07 思科技术公司 服务链的操作、管理和维护(oam)
CN103581018A (zh) * 2013-07-26 2014-02-12 北京华为数字技术有限公司 报文发送方法、路由器以及业务交换器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901258B2 (en) * 2001-12-13 2005-05-31 Samsung Electronics Co., Ltd. System and method for avoiding triangulation delay in a telecommunications network
US8031366B2 (en) * 2007-07-31 2011-10-04 Canon Kabushiki Kaisha Control apparatus, controlling method, program and recording medium
US7860100B2 (en) * 2008-10-01 2010-12-28 Cisco Technology, Inc. Service path selection in a service network
CN101997759B (zh) * 2009-08-10 2013-06-05 中兴通讯股份有限公司 一种业务实现方法及业务系统
US8332517B2 (en) * 2010-03-31 2012-12-11 Incnetworks, Inc. Method, computer program, and algorithm for computing network service value pricing based on communication service experiences delivered to consumers and merchants over a smart multi-services (SMS) communication network
US8743885B2 (en) * 2011-05-03 2014-06-03 Cisco Technology, Inc. Mobile service routing in a network environment
CN104813699B (zh) * 2012-10-02 2019-01-08 瑞典爱立信有限公司 在传输网络内使用主动探测优化无线电服务的方法和系统
EP2993821B1 (en) * 2013-04-28 2018-11-21 Huawei Technologies Co., Ltd. Stream classifier, service routing trigger, and message processing method and system
US9178812B2 (en) * 2013-06-05 2015-11-03 Cisco Technology, Inc. Stacking metadata contexts for service chains
US9444675B2 (en) * 2013-06-07 2016-09-13 Cisco Technology, Inc. Determining the operations performed along a service path/service chain
US9825810B2 (en) * 2014-09-30 2017-11-21 Nicira, Inc. Method and apparatus for distributing load among a plurality of service nodes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490153B1 (en) * 2004-07-23 2009-02-10 International Business Machines Corporation Smart nodes for providing interoperability among a plurality of web services in a chain and dynamically orchestrating associated processes
CN101772918A (zh) * 2007-08-03 2010-07-07 思科技术公司 服务链的操作、管理和维护(oam)
CN103581018A (zh) * 2013-07-26 2014-02-12 北京华为数字技术有限公司 报文发送方法、路由器以及业务交换器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3145131A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107493235A (zh) * 2016-06-13 2017-12-19 中兴通讯股份有限公司 一种快速转发报文的方法和装置

Also Published As

Publication number Publication date
ES2739204T3 (es) 2020-01-29
US10439931B2 (en) 2019-10-08
CN105337881A (zh) 2016-02-17
US20170104671A1 (en) 2017-04-13
EP3145131A4 (en) 2017-07-19
CN105337881B (zh) 2019-10-01
EP3145131B1 (en) 2019-06-12
EP3145131A1 (en) 2017-03-22

Similar Documents

Publication Publication Date Title
WO2015196849A1 (zh) 一种数据报文的处理方法、业务节点以及引流点
US11240065B2 (en) NSH encapsulation for traffic steering
CN109873760B (zh) 处理路由的方法和装置、以及数据传输的方法和装置
US11979322B2 (en) Method and apparatus for providing service for traffic flow
US9860169B1 (en) Neighbor resolution for remote EVPN hosts in IPV6 EVPN environment
US20150085862A1 (en) Forwarding Multicast Data Packets
US10033539B1 (en) Replicating multicast state information between multi-homed EVPN routing devices
US20150326473A1 (en) Service Chain Path Route Reservations
CN106936811B (zh) 安全设备、系统和方法
WO2015165311A1 (zh) 传输数据报文的方法和供应商边缘设备
US20160150043A1 (en) Source ip address transparency systems and methods
WO2017054576A1 (zh) 单播隧道建立方法、装置和系统
US7856014B2 (en) High capacity multicast forwarding
EP3720075B1 (en) Data transmission method and virtual switch
EP3151477B1 (en) Fast path content delivery over metro access networks
Kundel et al. OpenBNG: Central office network functions on programmable data plane hardware
EP3151478B1 (en) Content caching in metro access networks
CN105337884A (zh) 基于逻辑端口实现多级报文编辑业务控制的方法及装置
WO2021093463A1 (zh) 报文转发的方法、第一网络设备以及第一设备组
WO2015165249A1 (zh) 一种建立业务路径的方法和设备
WO2022117018A1 (zh) 报文传输的方法和装置
US8675669B2 (en) Policy homomorphic network extension
WO2015090087A1 (zh) 路由扩散的方法及装置
CN111262762A (zh) 基于vCPE租户SFC业务链多WAN业务的实现方法及系统
WO2022142905A1 (zh) 报文转发的方法、装置和网络系统

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: 15811011

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015811011

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015811011

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE