WO2014176740A1 - 流分类器、业务路由触发器、报文处理的方法和系统 - Google Patents
流分类器、业务路由触发器、报文处理的方法和系统 Download PDFInfo
- Publication number
- WO2014176740A1 WO2014176740A1 PCT/CN2013/075003 CN2013075003W WO2014176740A1 WO 2014176740 A1 WO2014176740 A1 WO 2014176740A1 CN 2013075003 W CN2013075003 W CN 2013075003W WO 2014176740 A1 WO2014176740 A1 WO 2014176740A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- service
- packet
- identifier
- policy information
- trigger
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
Definitions
- the present invention relates to the field of communications, and in particular, the message relates to a method, a device and a system for processing a message.
- IP open systems interconnection
- business processing typically includes providing firewalls, network address translation (NAT), home control, and the like.
- NAT network address translation
- Different packets may require different service processing. Packets may require multiple service processing. For example, some packets may need to be processed by firewall and NAT, while others may require firewall and home control processing. In this way, how to implement the service processing of the packet is a problem that needs to be solved. Summary of the invention
- the object of the embodiments of the present invention is to provide a flow classifier, a service route trigger, and a packet processing method and system, to solve the problem of performing service processing on a packet.
- the embodiment of the present invention provides a packet processing system, including a controller, a flow classifier, and a first service routing trigger.
- the controller is configured to send the first policy information to the flow classifier, where the first policy information includes: a filtering rule, an address of a service routing trigger corresponding to the filtering rule, and the filtering rule Corresponding service identifier, where the filtering rule is used to identify a packet; the service identifier is used to indicate a sequence of service nodes that process the packet;
- the controller is further configured to send the second policy information to the first service routing trigger, where the second policy information includes: the service identifier, and the service identifier Business node sequence;
- the flow classifier is configured to receive the first policy information sent by the controller; the flow classifier is further configured to receive the first packet, according to the first filtering rule that matches the first packet Determining, in the first policy information, a first service identifier that matches the first filtering rule, and an address of the first service routing trigger that matches the first filtering rule; The service routing trigger sends a second packet, where the second packet includes the first service identifier;
- the first service routing trigger is configured to determine, according to the first service identifier carried in the second packet, a first service node sequence that matches the first service identifier in the second policy information. And triggering, in sequence, the service node in the first service node sequence to process the second packet.
- the first policy information further includes a tenant identifier, where the service identifier corresponds to the filtering rule and the tenant identifier.
- the traffic classifier is configured to be used according to the first filtering rule and the first packet Corresponding first tenant identifier, determining, in the first policy information, the first service identifier that matches the first filter rule and the first tenant identifier, and a location that matches the first filter rule Addressing the address of the first service routing trigger; sending the second packet to the first service routing trigger.
- the second policy information further includes: The address of the next hop node after the sequence of service nodes.
- the embodiment of the present invention provides a packet processing system, including: a controller, a flow classifier, a first service routing trigger, and a second service routing trigger; wherein the controller is configured to The traffic classifier sends the first policy information, where the first policy information includes: a filtering rule, an address of a service routing trigger corresponding to the filtering rule, and a service identifier corresponding to the filtering rule, where the filtering rule For identifying a message; the service identifier is used to indicate a service node that processes the message the sequence of;
- the controller is further configured to send the second policy information to the first service routing trigger, where the second policy information includes: the service identifier, the service node sequence corresponding to the service identifier, and the a part of the service node sequence triggered by the service routing trigger; the controller is further configured to send the third policy information to the second service routing trigger, where the third policy information includes: the service identifier, the a part of the service node sequence triggered by the second service route trigger in the service node sequence corresponding to the service identifier; the flow classifier is configured to receive the first policy information sent by the controller; The classifier is further configured to receive the first packet, determine, according to the first filtering rule that the first packet matches, the first service identifier that matches the first filtering rule, and An address of the first service routing trigger matched by the first filtering rule, and an address of the second service routing trigger matched with the first filtering rule; Routing said first service trigger transmitting a second message, said second message comprising the first service identifier;
- the first service routing trigger is configured to determine, according to the first service identifier carried in the second packet, a first service node sequence that matches the first service identifier in the second policy information. After the service node in the first service node sequence is triggered to process the second packet, the processed second packet is sent to the second service route trigger.
- the second service routing trigger is configured to determine, according to the first service identifier carried in the processed second packet, a second that matches the first service identifier in the third policy information.
- the service node sequence sequentially triggers the service node in the second service node sequence to process the second packet.
- the first policy information further includes a tenant identifier, where the service identifier corresponds to the filtering rule and the tenant identifier.
- the flow classifier is specifically configured to use the first filtering rule and the first packet Corresponding first tenant identifier, determining, in the first policy information, the first service target that matches the first filtering rule and the first tenant identifier And the address of the first service routing trigger matching the first filtering rule; sending the second packet to the first service routing trigger.
- the second policy information further includes: The address of the next hop node after the sequence of service nodes.
- a third aspect of the present invention provides a packet processing method, including: a traffic classifier receiving a first packet;
- the flow classifier determines, according to the first filtering rule that the first packet matches, the first service identifier that matches the first filtering rule in the policy information saved by the traffic classifier, and the first The address of the first service routing trigger matched by the filtering rule;
- the policy information includes: a filtering rule, an address of the service routing trigger, and a service identifier corresponding to the filtering rule, where the filtering rule is used to identify the packet;
- the service identifier is used to identify a sequence of service nodes indicating that the packet is processed;
- the flow classifier sends a second packet to the first service routing trigger.
- the second packet is formed by adding the first service identifier to the first packet.
- the policy information further includes a tenant identifier, where the service identifier corresponds to the filtering rule and the tenant identifier;
- the method further includes: the flow classifier receiving the policy information sent by the controller.
- the packet processing method provided by the embodiment of the present invention includes: the service routing trigger receives the first packet, where the first packet carries the first service identifier;
- the service routing trigger determines, according to the first service identifier, a first service node sequence that matches the first service identifier in the policy information saved by the service routing trigger;
- the service routing trigger sequentially triggers the service node in the first service node sequence to process the first packet according to the first service node sequence.
- the method before the service routing trigger receives the first packet sent by the traffic classifier, the method further includes: the service routing trigger receiving the location sent by the controller Strategic information.
- the policy information includes: the service identifier, a service node sequence that matches the service identifier, The service identifier is used to indicate a sequence of service nodes that process messages.
- the policy information further includes: an address of the service node in the service node sequence.
- the policy information further includes: after the service node sequence corresponding to the service identifier The address of the next hop node;
- the method further includes: after the first service node of the first service node sequence processes the first message, the service route trigger sends the processed first message to the service node sequence Next hop node.
- the packet processing method provided by the embodiment of the present invention includes: the first service routing trigger receives the first packet, where the first packet carries the first service identifier;
- the first service routing trigger is based on the first service identifier, in the first Determining, by the service routing trigger, the first policy information that matches the first service node sequence and the address of the second service route trigger;
- the first service routing trigger after triggering the service node in the first service node sequence to process the first packet in sequence according to the first service node sequence, forwarding the first packet to the Second service routing trigger;
- the second service routing trigger determines, according to the first service identifier, a second service node sequence that matches the first service identifier in the second policy information of the second service route trigger.
- the second service routing trigger sequentially triggers the service node in the second service node sequence to process the first packet according to the second service node sequence.
- the method before the first service routing trigger and the second service routing trigger receive the first packet, the method further includes: the first service route The trigger receives the first policy information sent by the controller, and the second service routing trigger receives the second policy information sent by the controller.
- a sixth aspect of the present invention provides a flow classifier, including a receiving unit, a storage unit, a processing unit, and a sending unit, where:
- the receiving unit is configured to receive the first packet
- the storage unit is configured to save policy information
- the processing unit is configured to determine, according to the first filtering rule that the first packet matches, the first service identifier that matches the first filtering rule, and the The first filter rule matches the address of the first service route trigger; the triggering unit sends a second message to the first service route trigger, where the second message is the first service Adding an identifier to the first message;
- the sending unit is configured to send the second packet to the first service routing trigger.
- the receiving unit is further configured to receive the policy information sent by a controller.
- the first policy information includes: a filtering rule, an address of a service routing trigger, and a corresponding a service identifier, where the filtering rule is used to identify a message; and the service identifier is used to indicate a sequence of service nodes that process the message.
- the policy information further includes: a tenant identifier, where the service identifier corresponds to the filtering rule and the tenant identifier;
- the processing unit is specifically configured to:
- a service routing trigger provided by the embodiment of the present invention includes: a receiving unit, a processing unit, and a triggering unit, where
- the receiving unit is configured to receive a first packet, where the first packet carries a first service identifier
- the processing unit determine, in the policy information saved by the service routing trigger, a first service node sequence that matches the first service identifier, and the first service node sequence The address of the business node;
- the triggering unit is configured to sequentially trigger the service node in the first service node sequence to process the first packet according to the first service node sequence.
- the receiving unit is further configured to receive the policy information sent by the controller.
- the policy information includes: a service identifier, a service node sequence that matches the service identifier, and the service Identifies the business section used to represent the processed message The sequence of points.
- the policy information further includes: an address of the service node in the service node sequence.
- the policy information further includes: following the service node sequence The address of a hop node.
- the controller sends the first policy information to the traffic classifier, and sends the second policy information to the service routing trigger, where the traffic classifier and the service routing trigger process the report according to the received policy information.
- the unified management of the controller convection classifier and service routing trigger is implemented.
- the traffic classifier adds a service identifier to the packet that identifies the service to be processed according to the first policy information, and sends the packet with the service identifier to the service route trigger, where the service route trigger control triggers the service identifier.
- the service node in the service node sequence processes the packet, and the processed packet is forwarded according to the routing table, thereby realizing the service processing of the packet.
- the service node since the service node only needs to perform service processing on the packet according to the control of the service route trigger, it can be compatible with service nodes of different service capabilities.
- FIG. 1(a) and 1(b) are diagrams of a message processing system according to a first embodiment of the present invention
- FIG. 2(a) to FIG. 2(c) are the first in a message processing system according to the first embodiment of the present invention
- FIG. 3 is a schematic diagram of a packet processing method according to Embodiment 3 of the present invention.
- FIG. 4 is a flowchart of a packet processing method according to Embodiment 4 of the present invention
- 5 is a schematic structural diagram of a stream classifier according to Embodiment 6 of the present invention
- FIG. 6 is a schematic structural diagram of a service route trigger according to Embodiment 7 of the present invention
- FIG. 7 is a schematic structural diagram of a flow classifier according to Embodiment 8 of the present invention.
- FIG. 8 is a schematic structural diagram of a service routing trigger according to Embodiment 9 of the present invention
- FIG. 9 is a schematic diagram of an application scenario of a technical solution according to Embodiment 10 of the present invention in the field of mobile broadband;
- FIG. 10 is a schematic diagram of application of the technical solution of the eleventh embodiment of the present invention in a multi-tenant data center scene. detailed description
- the user access device may be a gateway GPRS (General Packet Radio Service) support node (GGSN) / PDN gateway (PDN (package data network) in the field of mobile broadband access.
- GGSN General Packet Radio Service
- PDN gateway packet data network
- Packet Data Network Packet Data Network Gateway
- BNG Broadband Network Gateway
- ToR Top Of Rack
- the service node mentioned in the embodiment of the present invention may be a physical entity device, such as a network device such as a router, a switch, or a server, or may be a logical function entity or an application, such as a firewall, a NAT (Network Address Translation, NAT, a network Address translation), the service node may also be a service node instance.
- the service node mentioned in the embodiment of the present invention can be used for value-added services or specific services.
- the flow classifier mentioned in the embodiment of the present invention may be a physical entity device, such as a network device such as a router, a switch, or a server, or a logical function entity or application having a service classification function, and the flow classifier may also be It is a business instance with business classification function.
- the service routing trigger mentioned in the embodiment of the present invention may be a physical entity device, such as a network device such as a router, a switch, or a server, or a logical function entity or application having a service route triggering function, where the service route is triggered.
- the device can also be a service instance with a service route trigger function.
- the controller mentioned in the embodiment of the present invention may be a physical entity device, such as a network device such as a router, a switch, or a server, or may be a logical function entity or an application having a control function, and the controller may also have a control. Functional business instance.
- the address mentioned in the embodiment of the present invention may be an Internet Protocol (IP) address or a Media Access Control (MAC) address of the service routing trigger.
- IP Internet Protocol
- MAC Media Access Control
- a message processing system includes a controller 12, a stream classifier 14, and a service routing trigger 18;
- the controller 12 is configured to send the first policy information to the flow classifier 14.
- the first policy information includes: a filtering rule, an address of a service route trigger matching the first filtering rule, and a service identifier corresponding to the filtering rule.
- the filtering rule is used to identify a message.
- the service identifier is used to indicate a sequence of service nodes that process the message.
- the controller 12 is further configured to send the second policy information to the service routing trigger 18, where the second policy information includes: the service identifier, and a service node sequence corresponding to the service identifier.
- the flow classifier 14 is configured to receive the first policy information sent by the controller 12; the flow classifier 14 is further configured to receive the first packet, according to the first packet matching a filtering rule, determining, in the first policy information, a first service identifier that matches the first filtering rule, and an address of a service routing trigger 18 that matches the first filtering rule; 18: Send a second packet, where the second packet includes the first service identifier.
- the first service routing trigger 18 is configured to determine, according to the first service identifier carried in the second packet, a process that matches the first service identifier in the second policy information.
- the first service node sequence of the second message which in turn triggers the first industry
- the service node in the sequence of service nodes processes the second message.
- the second policy information may further include: an address of the service node in the service node sequence corresponding to the service identifier.
- the second policy information may further include: an address of a next hop node after the service node sequence corresponding to the service identifier.
- the first service routing trigger 18 is configured to determine, according to the first service identifier carried in the second packet, a location that matches the first service identifier in the second policy information. Transmitting, by the address of the next hop node after the first service node sequence, the second packet processed by the service node in the first service node sequence to the next hop after the first service node sequence node.
- the multiple service nodes (16-1, 16-2 16-n) need to register with the controller 12 when joining the network, and report the service node (16-1, 16-2 16-) n ) type and ability.
- the service node may be an ISO layer 3 to layer 7 application, such as a firewall, a network address translation (NAT), the service node may also be a service node instance, or the service node may be Network devices such as routers, switches, and servers.
- the service node may further report the address information of the local service routing trigger 18 corresponding to the service node, and the address of the service routing trigger 18 corresponding to the service node may be a network protocol of the service routing trigger (Internet Protocol) , IP) address or Media Access Control (MAC) address.
- Internet Protocol Internet Protocol
- IP IP address
- MAC Media Access Control
- the traffic classifier 14 needs to register with the controller 12 to report the address of the traffic classifier 14, and the address of the traffic classifier 14 may be an IP address or a MAC address.
- the traffic classifier 14 may be an application of an ISO layer 3 to a layer 7.
- the traffic classifier 14 may also be an application instance, or the traffic classifier 14 may also be a network such as a router, a switch, or a server. device.
- the service routing trigger 18 needs to register with the controller 12 when joining the network, and report the service node information of the service route trigger 18 and the address of the service route trigger 18, the service route trigger.
- the address of 18 can be an IP address or a MAC address.
- the service routing trigger 18 may be an ISO layer 3 to layer 7 application, the service routing trigger 18 may also be an application instance, or the service routing trigger 18 may also be a router, a switch, or Network devices such as servers.
- the service routing trigger 18 can be one or more.
- the plurality of service route triggers may correspond to one or more service node sequences, that is, each service route trigger corresponds to one service node sequence.
- a service route trigger may also correspond to multiple service node sequences or corresponding to all service node sequences.
- the controller 12 may be an ISO three-layer to seven-layer application, the controller 12 may also be an application instance, or the controller 12 may also be a network such as a router, a switch, or a server. device.
- the controller 12 can be one or more.
- the packets with the same service ID are processed by the same service node, and the processed service nodes are processed in the same order.
- Packets with different service IDs are processed by the same service node, and the processed service nodes are processed in different order; or packets with different service IDs are processed by different service nodes.
- a packet with a service ID of 1 is processed by the first service node 16-1 and then processed by the second service node 16-2.
- the packet with the service ID 2 is processed by the second service node 16-2 and processed by the first service node 16-1.
- two different messages in the same packet flow are assigned two different service IDs, it means that although the two different messages need to perform the same service processing, for example, they are all passed first.
- the firewall processes the packets and processes them through the NAT device.
- the two packets are processed by different service nodes, so that load balancing of the text processing can be implemented.
- the packet of the stream can be subdivided to implement load balancing of the same packet stream processing.
- the same source address and the same destination address are used to identify the same stream.
- the packet of the same packet stream can be subdivided according to the protocol number. It is assumed that a service ID is assigned to the packet with the protocol number greater than 50 in the same packet flow, which is used to identify that the packet is processed by the firewall instance 1 and then processed by the NAT device 1.
- a packet with the protocol number less than or equal to 50 in the same packet is assigned with another service ID, which is used to identify that the packet is processed by the firewall 2 and then processed by the NAT device 2.
- This helps to achieve load balancing of the same packet stream processing.
- packet flows such as packet flow 1 and packet flow 2
- packet flow 1 and packet flow 2 need to perform the same service processing, for example, they are processed by the NAT device and then processed by the firewall, which can be the packet flow 1
- the texts of the text and the stream 2 are assigned the same service ID.
- the first filtering rule may include one or more of a source address, a destination address, a source port, a destination port, and a protocol number of the first packet.
- the first packet stream corresponding to the first packet may be identified by the quintuple information (source address, destination address, source port, destination port, and protocol number) of the first text.
- the first filtering rule may be the quintuple information of the first packet, or may be a value obtained by processing according to a quintuple information of the first packet by using a certain algorithm, for example, The hash algorithm processes the resulting value.
- the traffic classifier 24 When the traffic classifier 24 receives the first packet, if the filtering rule in the first policy information is quintuple information, the traffic classifier 24 obtains the first packet from the first packet. The quintuple information of the message obtains the first filtering rule. If the filtering rule in the first policy information is a value obtained by processing the quintuple information by using a specific algorithm, the traffic classifier 24 obtains the quintuple information of the first packet from the first packet, Performing the specific algorithm operation on the quintuple information of the first packet to obtain a value, and the obtained value is the first filtering rule.
- the second packet is formed by adding the first service identifier to the first packet.
- the second packet may be formed by adding the first service identifier to the header of the first packet, or may be added to the first service identifier.
- the first message is formed in the payload.
- the first service identifier may be added to the header option added in the first text, or may be added to the Ethernet packet.
- the existing field in the first packet header may be reused, that is, the meaning of the existing field is changed to indicate that the first packet carries the first service identifier.
- a VLAN identifier also called a VLAN ID
- VLAN Virtual Local Area Network
- QINQ IEEE 802. 1 Q in IEEE 802. 1 Q, also called a Stacked VLAN or a Double VLAN
- LABEL Multi-protocol Label Switching
- MPLS Multi-protocol Label Switching
- the header of the new packet added in the first packet is selected.
- the format of the entry is as shown in Table 1.
- a type field is added between the source MAC address and the VLAN ID to indicate whether the first packet carries the service identifier and the first service identifier. For example, if the value of the type is 0, the first packet does not carry the service identifier. The value of the service ID is 0. If the value is 1, the first packet carries the service identifier. The value of the service ID is the first service identifier carried in the first packet.
- the service routing trigger 18 receives the second packet, and determines, according to the first service identifier, the second policy information that is sent by the controller 12, that the processing that matches the first service identifier is the second packet.
- the first service node sequence of the message Starting from the first service node 16-1 in the first service node sequence, the service route trigger 18 sequentially triggers and controls the sequence of the first service node according to the order of the service nodes in the first service node sequence. All service nodes
- the second policy information further includes an address of the service node in the first service node sequence.
- the second policy information further includes: an address of a next hop node after the service node sequence corresponding to the service identifier, and the service route trigger 18 is configured by the controller 12 according to the first service identifier.
- the second policy information sent determining an address of a next hop node after the first service node sequence, and controlling, by the service routing trigger 18, all service nodes in the first service node sequence to process the second After the message, the processed second message is sent to the next hop node after the sequence of the first service node.
- the first service node 16-1 is configured to receive and process the second packet sent by the service route trigger 18. After processing the second packet, the first service node 16-1 sends the processed second packet to the service routing trigger 18, and the service routing trigger 18 is configured according to each of the first service node sequences.
- the sequence of the service node triggers the second service node 16-2 after the first service node 16-1 to process the second message until the last service node 16-n in the first service node sequence processes the second message After the message, the service route trigger 1 8 forwards the second message to the next after the sequence of the first service node Jump the node.
- the service routing trigger 18 may also: when the first service node 16-1 is triggered, the address of each service node after the first service node 16-1 in the first service node sequence, and the first The address of the next hop node after the sequence of the service node is sent to the first service node 16-1, and the first service node 16-1 is instructed to send the processed second message to the sequence of the first service node.
- the second service node 16-2 receives the second message sent after the first service node 16-1 processes. After the second service node 16-2 processes the second message, if it is determined that the second service node 16-2 is the last service node of the first service node sequence, the second service node 16-2 will process the second service node 16-2.
- the second message is forwarded to the next hop node after the first service node sequence.
- the address of the last service node in the service node sequence is set to a special address, for example, 0.0.0.0, where 0.0.0.0 is used to indicate the service.
- the node is the last service node of the sequence of service nodes that processes the second message.
- the specific next hop may be any unreachable address, as long as it can indicate that a certain service node is the last service node that processes the second packet, which is not specifically limited in the embodiment of the present invention.
- the first service node (16-1, 16-2 16-n) may be a logical functional entity. It should be noted that usually a service node has a reachable address.
- the address of the service node may be an IP address or a MAC address.
- the service node that provides the firewall function can be taken as an example. In general, firewall functions can be installed on many servers, so that servers with firewall functions can provide business processing for firewall functions, and servers with firewall functions have different addresses.
- each server with a firewall function can be called a service node. That is to say, each service node instance includes a reachable address and can process at least one type of service separately.
- the service routing trigger 18 selects which service nodes are to be processed and in which order the first message is processed. If the first service node 16-1 has other backup nodes, the service route touches The sender 18 can select the appropriate service node to process the message according to the processing capability and traffic load status of the first service node 16-1 and its backup node.
- the service routing trigger or the service routing trigger group receiving controller The second policy information that is delivered, where the second policy information includes all service identifiers (service identifier 1, service identifier 2 service identifier n) and a service node sequence corresponding to each service identifier.
- Each service node sequence may include multiple identical service nodes having different processing orders.
- the service node sequence 1 corresponding to the service identifier 1 includes the first service node and the second service node, and the service node sequence 1 processes the sequence of the message. The processing is first processed by the first service node and then forwarded to the second service node.
- the service node sequence 1 corresponding to the service identifier 2 includes the first service node and the second service node, and the service node sequence 2 processes the message in the order of After processing, the second service node forwards the processing to the first service node.
- Each service node sequence may also include a different number of multiple service nodes.
- the service node sequence 3 corresponding to the service identifier 3 includes a first service node, a second service node, and a third service node.
- the traffic classifier adds the first service identifier of the first packet to the service routing trigger, and the service is forwarded to the service routing trigger.
- the routing trigger searches for the second policy information, and obtains a first service node sequence corresponding to the first service identifier, where the service route trigger triggers the service node in the first service node sequence to process the first packet. .
- the service routing trigger group When there is only one service routing trigger group consisting of multiple service routing triggers in the message processing system, the service routing trigger group has a virtual address.
- the traffic classifier adds the first packet of the first packet to the virtual address of the service routing trigger group, and the service routing trigger group specifies a service route according to load balancing.
- the trigger searches for the second policy information, and obtains a first service node sequence corresponding to the first service identifier, where the service route trigger triggers the service node in the first service node sequence to process the first packet.
- the service routing trigger receiving controller sends the message.
- the second policy information includes a service identifier (such as service identifier 1) and a service node sequence corresponding to the service identifier.
- the first policy information may further include a tenant identifier, where the service identifier corresponds to the filtering rule and the tenant identifier.
- the flow classifier 14 is specifically configured to determine, in the first policy information, the first filtering rule according to the first filtering rule and the first tenant identifier corresponding to the first packet. And the first service identifier that matches the first tenant identifier, and an address of the first service routing trigger that matches the first filtering rule; sending the to the first service routing trigger 18 Second message.
- the first policy information when the packet processing system is applied to a scenario of a multi-tenancy service, includes: a service identifier, a tenant identifier, the service identifier, and the The service node sequence corresponding to the tenant identifier, the service identifier, and the address of the service route trigger corresponding to the tenant identifier.
- the flow classifier is specifically configured to determine, in the first policy information, the first filtering rule according to the first filtering rule and the first tenant identifier corresponding to the first packet. The first service identifier that matches the first tenant identifier, and an address of the first service routing trigger that matches the first filtering rule; and the second service to the first service routing trigger Message.
- the controller sends the first policy information to the traffic classifier, and sends the second policy information to the service routing trigger, where the traffic classifier and the service routing trigger are based on the received policy information.
- the unified management of the controller convection classifier and the service route trigger is realized.
- the traffic classifier adds a service identifier to the packet that identifies the service to be processed according to the first policy information, and sends the packet with the service identifier to the service route trigger, where the service route trigger control triggers the service identifier.
- the service node in the service node sequence processes the packet, and the processed packet is forwarded according to the routing table, thereby realizing the service processing of the packet.
- the service node since the service node only needs to perform service processing on the packet according to the control of the service route trigger, it can be compatible with service nodes of different service capabilities.
- the packet processing system may also include multiple service routing triggers.
- a packet processing system includes: a controller, a flow classifier, and a first service. Route trigger, second service route trigger;
- the controller is configured to send the first policy information to the flow classifier, where the first policy information includes: a filtering rule, an address of a service routing trigger corresponding to the filtering rule, and the filtering rule Corresponding service identifier, where the filtering rule is used to identify a packet; the service identifier is used to indicate a sequence of service nodes that process the packet;
- the controller is further configured to send the second policy information to the first service routing trigger, where the second policy information includes: the service identifier, the service node sequence corresponding to the service identifier, and the a part of the service node sequence triggered by the service routing trigger; the controller is further configured to send the third policy information to the second service routing trigger, where the third policy information includes: the service identifier, the a part of the service node sequence triggered by the second service route trigger in the service node sequence corresponding to the service identifier; the flow classifier is configured to receive the first policy information sent by the controller; The classifier is further configured to receive the first packet, determine, according to the first filtering rule that the first packet matches, the first service identifier that matches the first filtering rule, and An address of the first service routing trigger matched by the first filtering rule, and an address of the second service routing trigger matched with the first filtering rule; Routing said first service trigger transmitting a second message, said second message comprising the first service identifier;
- the first service routing trigger is configured to determine, according to the first service identifier carried in the second packet, a first service node sequence that matches the first service identifier in the second policy information. After the service node in the first service node sequence is triggered to process the second packet, the processed second packet is sent to the second service route trigger.
- the second service routing trigger is configured to determine, according to the first service identifier carried in the processed second packet, a second that matches the first service identifier in the third policy information.
- the service node sequence sequentially triggers the service node in the second service node sequence to process the second packet.
- the first policy information may further include a tenant identifier, where the service identifier The identification corresponds to the filtering rule and the tenant identification.
- the flow classifier is specifically configured to determine, in the first policy information, the first filtering rule according to the first filtering rule and the first tenant identifier corresponding to the first packet. And the first service identifier that matches the first tenant identifier, and an address of the first service routing trigger that matches the first filtering rule; sending the first to the first service routing trigger Two messages.
- the second policy information may further include: an address of a next hop node after the service node sequence corresponding to the service identifier.
- the controller sends the first policy information to the traffic classifier, and sends the second policy information to the service routing trigger, where the traffic classifier and the service routing trigger are based on the received policy information.
- the unified management of the controller convection classifier and the service route trigger is realized.
- the traffic classifier adds a service identifier to the packet that identifies the service to be processed according to the first policy information, and sends the packet with the service identifier to the service route trigger, where the service route trigger control triggers the service identifier.
- the service node in the service node sequence processes the packet, and the processed packet is forwarded according to the routing table, thereby realizing the service processing of the packet.
- the service node since the service node only needs to perform service processing on the packet according to the control of the service route trigger, it can be compatible with service nodes of different service capabilities.
- an embodiment of the present invention provides a packet processing method, including: 304: A traffic classifier receives a first packet.
- the first packet may be an IP packet or an Ethernet packet.
- the first packet may be sent from the user side device, or may be sent from the network side device. .
- the flow classifier determines, according to the first filtering rule that the first packet matches, the first service identifier that matches the first filtering rule, and the location information in the policy information saved by the traffic classifier.
- the address of the first service routing trigger matched by the first filtering rule; the policy information includes: a filtering rule, an address of the service routing trigger, and a service identifier corresponding to the filtering rule, where the filtering rule is used to identify a packet; and the service identifier is used to identify a sequence of service nodes indicating that the packet is processed.
- the first filtering rule may include one or more of a source address, a destination address, a source port, a destination port, and a protocol number of the first packet.
- the first packet stream corresponding to the first packet may be identified by the quintuple information (source address, destination address, source port, destination port, and protocol number) of the first text.
- the first filtering rule may be the quintuple information of the first packet, or may be a value obtained by processing according to a quintuple information of the first packet by using a certain algorithm, for example, The value obtained by the hash algorithm.
- the traffic classifier When the traffic classifier receives the first packet, if the filtering rule in the policy information is quintuple information, the traffic classifier obtains the quintuple information from the first packet to obtain the first filtering rule. If the filtering rule in the policy information is a value obtained by processing the quintuple information by using a specific algorithm, the U'J stream classifier obtains the quintuple information of the first packet from the first packet, The quintuple information of the first packet is subjected to a value obtained by the specific algorithm operation, and the obtained value is the first filtering rule.
- the flow classifier sends a second packet to the first service routing trigger, so that the first service routing trigger is based on the first service identifier carried in the second packet. Determining, by the second policy information, a first service node sequence that processes the second packet that matches the first service identifier, and sequentially triggers the service node in the first service node sequence to process the second packet; The second packet is formed by adding the first service identifier to the first packet.
- the second packet may be formed by adding the first service identifier to a packet header of the first packet, or may add the first service identifier to the first packet. Formed in the payload of a message.
- the first service identifier may be added to the header option added in the first text, or may be added to the Ethernet packet.
- the existing field in the first packet header may be reused, that is, the meaning of the existing field is changed to indicate that the first packet carries the first service identifier.
- VLAN Virtual Local Area
- QINQ IEEE 802. 1 Q in IEEE 802.
- VLAN 1 Q also known as Stacked VLAN or Double VLAN
- VLAN ID also known as VLAN ID
- MPLS multi-protocol label switching
- the label ( LABEL ) in Switching (referred to as MPLS) is reused, and some or all of the source MAC address can also be escaped and reused.
- the format of the new packet header option in the first packet is as shown in Table 1.
- a type field is added between the source MAC address and the VLAN ID to indicate whether the first packet carries the service.
- the identifier and the first service identifier For example, if the value of the type is 0, the first packet does not carry the service identifier. The value of the service ID is 0. If the value is 1, the first packet carries the service identifier.
- the value of the service ID is the first service identifier carried in the first packet.
- the method before receiving the first packet, the method further includes: 302.
- the traffic classifier receives the first policy information sent by the controller.
- the packet flows with the same service identifier ID are processed by the same service node, and the processed service nodes are processed in the same order. Packets with different service IDs are processed by the same service node, and the processed service nodes are processed in different order; or packets with different service IDs are processed by different service nodes. Further, in the specific implementation of the embodiment of the present invention, if two different texts in the same stream are assigned two different service IDs, it means that the services required for the two different messages are performed. The processing is the same, but the packet flow is processed by different service nodes, so that load balancing of packet processing can be implemented.
- the processing is performed by the firewall and then processed by the NAT device, but the two packets are processed by different service nodes, so that load balancing of the text processing can be implemented.
- the file stream can be subdivided to implement load balancing on the same packet stream processing.
- the same source address and the same destination address are used to identify the same stream.
- the packet of the same packet stream can be subdivided according to the protocol number.
- a service ID is configured for the packet with the protocol number greater than 50 in the same packet flow.
- the packet is processed by the firewall instance 1 and then processed by the NAT device instance 1.
- Assigning another service ID to the packet with the protocol number less than or equal to 50 in the same packet flow which is used to identify that the packet is processed by the firewall 2 and then passes through the NAT device 2 deal with. This helps to achieve load balancing of the same packet stream processing.
- different packet flows such as packet flow 1 and packet flow 2
- the packets are processed by the NAT device and processed by the firewall, and may be the text of the packet flow 1.
- the same service ID is assigned to the text of the stream 2.
- the first policy information may further include a tenant identifier, where the service identifier corresponds to the filtering rule U'J and the tenant identifier; and the step of determining, by the traffic classifier, the first service identifier, specifically The flow classifier determines, according to the first filtering rule and the first tenant identifier corresponding to the first packet, that the first filtering rule and the first tenant identifier are matched in the policy information.
- the first service identifier, and an address of the first service routing trigger may be used to determine the first service identifier, and an address of the first service routing trigger.
- the policy information when the packet processing method is applied to the scenario of the multi-tenancy service, includes: a service identifier, a tenant identifier, the service identifier, and a service node sequence corresponding to the tenant identifier, and the service Identifies the address of the service route trigger corresponding to the tenant ID.
- the traffic classifier receives the policy information sent by the controller; the traffic classifier adds the service identifier to the packet that needs to be processed by the traffic, and sends the packet carrying the service identifier to the packet
- the service router trigger, the service route trigger control triggers the service node to process the message, and after processing the packet with the service identifier added, the service node may forward the processed packet flow to the service route trigger control.
- the next service node or the normal forwarding according to the routing table implements the service processing of the packet flow.
- the service node only needs to perform service processing on the packet according to the control of the service route trigger, it can be compatible with service nodes of different service capabilities.
- the embodiment of the present invention provides a packet processing method, including: S404: A service routing trigger receives a first packet, where the first packet carries a first packet.
- the service routing trigger determines, according to the first service identifier, a first service node sequence that matches the first service identifier in the policy information saved by the service routing trigger.
- the service routing trigger triggers the service node in the first service node sequence to process the first packet according to the first service node sequence.
- the method before the service routing trigger receives the first packet sent by the traffic classifier, the method further includes:
- the service routing trigger receives the policy information sent by a controller.
- the policy information includes: a service identifier, a service node sequence of the processing message that matches the service identifier, and the service identifier is used to indicate a sequence of the service node that processes the message.
- the policy information may further include: an address of the service node in the service node sequence corresponding to the service identifier.
- the policy information may further include: an address of a next hop node after the service node sequence corresponding to the service identifier.
- the method may further include: the service routing trigger receiving stream classifier, after processing the second packet by the last service node of the first service node sequence, processing the second packet Send to the next hop node after the sequence of service nodes.
- the packet flows with the same service ID are processed by the same service node, and the processed service nodes are processed in the same order. Packets with different service IDs are processed by the same service node, and the order of the processed service nodes is different; or packets with different service IDs are processed by different service nodes. For example, a packet with a service ID of 1 is processed by the first service node 26-1 and processed by the second service node instance 28. The packet with the service ID 2 is processed by the second service node instance 28 and processed by the first service node 26-1.
- the packet of the packet flow may be subdivided to implement load balancing on the same packet flow processing. For example, the same source address and the same destination address are used to identify the same stream. To load balance the packet processing of the same packet, the packet of the same packet can be subdivided according to the protocol number.
- a service ID is assigned to a packet whose protocol number is greater than 50 in the same packet flow, and is used to identify that the packet is processed by the firewall 1 and then processed by the NAT device 1.
- a packet with the protocol number less than or equal to 50 in the same packet is assigned with another service ID, which is used to identify that the packet is processed by the firewall 2 and then processed by the NAT device 2.
- This helps to achieve load balancing of the same packet stream processing.
- packet flows such as packet flow 1 and packet flow 2 need to perform the same service processing, for example, they are processed by the NAT device and then processed by the firewall, which can be the packet flow 1
- the texts of the text and the stream 2 are assigned the same service ID.
- different service IDs may be assigned to the packet of the packet stream 1 and the packet of the packet stream 2, which is helpful for load balancing.
- a service node can be a logical function entity. It should be noted that usually a service node has a reachable address.
- the address of the service node may be an IP address or a MAC address.
- the embodiment of the present invention is not limited as long as the service node has a reachable address and the service node is a physical entity or a logical entity.
- an example of a service node providing a firewall function may be used as an example.
- firewall functionality can be installed on many servers. In this way, a firewall-enabled server can provide business processing for firewall functions, and multiple servers with firewall functions have different addresses. In this way, each server with a firewall function can be called a service node instance.
- each service node instance has a reachable address and can handle at least one service separately.
- the service routing trigger determines which service nodes are selected and in which order the message is processed. For example, the service route trigger can select the appropriate service node instance to process the message based on the processing capabilities of the service node instance and the traffic load condition.
- the service routing trigger receives and carries Obtaining, by the service identifier, a first service node sequence that processes the first packet, and the first service node that matches the first service identifier according to the first service identifier and the policy information that is saved by the first service identifier.
- the address of the first service node in the sequence and the address of the next hop node after the sequence of the first service node implement the service processing of the packet flow.
- a message processing method includes:
- the first service routing trigger receives the first packet, where the first packet carries the first service identifier
- the first service routing trigger determines, according to the first service identifier, a first service node sequence that matches the first service identifier, and a first service information that is saved by the first service routing trigger.
- the first service routing trigger after triggering the service node in the first service node sequence to process the first packet in sequence according to the first service node sequence, forwarding the first packet to the Second service routing trigger;
- the second service routing trigger determines, according to the first service identifier, a second service node sequence that matches the first service identifier, in the second policy information that is saved by the second service routing trigger.
- the second service routing trigger sequentially triggers the service node in the second service node sequence to process the first packet according to the second service node sequence.
- the method may further include: the first service routing trigger receiving the The first policy information, the second service routing trigger receives the second policy information sent by the controller.
- the service routing trigger receives the packet carrying the service identifier, and obtains the processing matching the first service identifier according to the first service identifier and the policy information saved by itself.
- the first service node sequence of the first message, the address of the first service node in the first service node sequence, and the address of the next hop node after the first service node sequence, implement packet flow Business processing.
- FIG. 5 is a schematic diagram of a device of a flow classifier according to an embodiment of the present invention.
- the stream classifier includes an input circuit 51, a processor 52, an output circuit 53, and a memory 54. among them
- the input circuit 51 is configured to receive the first message
- the first packet may be an IP packet or an Ethernet packet.
- the first packet may be sent from the user side device, or may be sent from the network side device.
- the embodiment of the present invention does not limit this.
- the processor 52 is configured to determine, according to the first filtering rule that the first packet matches, the first service identifier that matches the first filtering rule, and the first An address of the first service routing trigger matched by the filtering rule; triggering the output circuit 53 to send a second packet to the first service routing trigger, where the second packet is to add the first service identifier Formed into the first message.
- the first filtering rule may include one or more of a source address, a destination address, a source port, a destination port, and a protocol number of the first packet.
- the first packet flow corresponding to the first packet may be identified by the quintuple information (source address, destination address, source port, destination port, and protocol number) of the first text.
- the first filtering rule may be the quintuple information of the first packet, or may be a value obtained by processing according to a quintuple information of the first packet by using a certain algorithm, for example, The hash algorithm processes the resulting value.
- the processor 52 When the input circuit 51 receives the first packet, if the filtering rule in the policy information is quintuple information, the processor 52 obtains the quintuple information from the first packet. The first filtering rule. If the filtering rule in the policy information is a value obtained by the quintuple information through a specific algorithm, the processor 52 obtains the quintuple information of the first packet from the first packet, The quintuple information of the first message is subjected to the specific algorithm operation to obtain a value, and the obtained value is the first filtering rule.
- the output circuit 53 is configured to send the second packet to the first service routing trigger, so that the first service routing trigger is based on the first service identifier carried by the second packet. Determining, in the second policy information, a first service node sequence that processes the second packet that matches the first service identifier, and sequentially triggers the service node in the first service node sequence to process the second packet .
- the memory 54 is used to save the policy information.
- the second packet is formed by adding the first service identifier to the first packet.
- the second packet may be formed by adding the first service identifier to a packet header of the first packet, or may add the first service identifier to the first packet. Formed in the payload of a message.
- the first service identifier may be added to the header option added in the first text, or may be added to the Ethernet packet.
- the existing field in the first packet header may be reused, that is, the meaning of the existing field is changed to indicate that the first packet carries the first service identifier.
- a VLAN identifier also called a VLAN ID
- VLAN Virtual Local Area Network
- QINQ IEEE 802. 1 Q in IEEE 802. 1 Q, also called a Stacked VLAN or a Double VLAN
- LABEL Multi-protocol Label Switching
- MPLS Multi-protocol Label Switching
- the format of the new packet header option in the first packet is as shown in Table 1.
- a type field is added between the source MAC address and the VLAN ID to indicate whether the first packet carries the service.
- the identifier and the first service identifier For example, if the type value is 0, the first packet does not carry the service identifier.
- the value of the service ID is 0. If the value is 1, the first packet carries the service identifier.
- the value of the service ID is the first service identifier carried in the first packet.
- the input circuit 512 is further configured to receive the first policy information sent by the controller, where the first policy information includes: a filtering rule, an address of a service routing trigger, and a corresponding The service identifier, where the filtering rule is used to identify a packet; the service identifier is used to identify a sequence of service nodes that process the packet.
- the first policy information may further include a tenant identifier, where the service identifier corresponds to the filtering rule and the tenant identifier.
- the processor 52 is specifically configured to: determine, according to the first filtering rule and the first tenant identifier corresponding to the first packet, the first filtering rule in the first policy information And the first service identifier matching the first tenant identifier, and an address of the first service routing trigger matching the first filtering rule and the first tenant identifier; triggering the output circuit 53 to The first service routing trigger sends a second packet.
- the controller may allocate a service processing policy based on the packet flow, and the controller sends the first policy information to the traffic classifier according to the service processing policy corresponding to the packet.
- the first policy information includes: a filtering rule, an address of a service routing trigger, and a service identifier corresponding to the filtering rule, where the filtering rule is used to identify a text; and the service identifier is used to identify that the packet is processed.
- Business node sequence The packet flows with the same service identifier ID are processed by the same service node instance, and the processed service nodes are processed in the same order.
- Packets with different service IDs are processed by the same service node, and the processed service nodes are processed in different order; or packets with different service IDs are processed by different service nodes. Further, in the specific implementation of the embodiment of the present invention, if two different messages in the same stream are assigned two different service IDs, it means that the services required for the two different messages are performed. The processing is the same, but the packet flow is processed by different service node instances, so that load balancing of packet processing can be implemented. For example, the packets are processed by the firewall and then processed by the NAT device. However, the two packets are processed by different service nodes, so that load balancing of packet processing can be implemented.
- the packet of the packet flow may be subdivided to implement load balancing on the same stream processing.
- the same source address and the same destination address are used to identify the same packet flow.
- the packet of the same packet flow can be subdivided according to the protocol number. It is assumed that a service ID is assigned to a packet whose protocol number is greater than 50 in the same packet flow, and is used to identify that the packet is processed by the firewall 1 and then processed by the NAT device 1. A service ID is assigned to the packet with the protocol number less than or equal to 50 in the same packet flow, and is used to identify that the packet is processed by the firewall 2 and then processed by the NAT device 2. This helps Load balancing for the same packet flow processing.
- packet flow 1 and packet flow 2 need to perform the same service processing, for example, the packets are processed by the NAT device and processed by the firewall, and the packet flow 1 can be reported.
- the message of the text and message stream 2 is assigned the same service ID.
- different service IDs may be assigned to the packet of the packet stream 1 and the packet of the packet stream 2, which is helpful for load balancing.
- the traffic classifier adds a service identifier to the received packet according to the policy information, so that the service routing trigger controls the service node corresponding to the service identifier to add the service identifier according to the service identifier.
- the message processing implements the business processing of the message.
- an embodiment of the present invention provides a service routing trigger, including an input circuit 61, a processor 62, and a trigger 63. among them
- the input circuit 61 is configured to receive a first packet, where the first packet carries a first service identifier.
- the first service identifier that matches the first packet may be carried in the packet header of the first packet, and the first service identifier may also be carried in the first packet. Dutch.
- the first service identifier may be added to the header option added in the first text, or may be added to the IP address in the Ethernet packet.
- the existing field in the first packet header may be reused, that is, the meaning of the existing field is changed to indicate that the first packet carries the first service identifier.
- a VLAN identifier also called a VLAN ID
- VLAN Virtual Local Area Network
- QINQ IEEE 802. 1 Q in IEEE 802. 1 Q, also called a Stacked VLAN or a Double VLAN
- LABEL Multi-protocol Label Switching
- the format of the newly added packet header option in the first packet is as shown in Table 1: Adding a class between the source MAC address and the VLAN ID And a type field, configured to indicate whether the first packet carries a service identifier and the first service identifier. For example, if the value of the type is 0, the first packet does not carry the service identifier. The value of the service ID is 0. If the value is 1, the first packet carries the service identifier. The value of the service ID is the first service identifier carried in the first packet.
- the processor 62 determines, in the policy information saved by the service routing trigger, a first service node sequence that matches the first service identifier, and the first service node sequence The address of the business node in .
- the trigger 63 is configured to sequentially trigger the service node in the first service node sequence to process the first packet according to the first service node sequence.
- the service routing trigger may further include a memory 64, where the memory 64 is configured to save the policy information.
- the input circuit 61 is configured to receive policy information sent by the controller.
- the policy information includes: a service identifier, a service node sequence of the processing message that matches the service identifier, and an address of the service node in the service node sequence; the service identifier is used to indicate that the service packet is processed.
- the sequence of business nodes is configured to receive policy information sent by the controller.
- the policy information includes: a service identifier, a service node sequence of the processing message that matches the service identifier, and an address of the service node in the service node sequence; the service identifier is used to indicate that the service packet is processed. The sequence of business nodes.
- the policy information further includes: an address of a next hop node after the service node sequence.
- the controller may allocate a service processing policy based on the packet flow, and the controller sends the policy information to the service node instance according to the service processing policy corresponding to the packet flow.
- the packet of the packet flow may be subdivided to implement processing of the same packet stream. Load balancing. For example, the same source address and the same destination address are used to identify the same packet flow. To load balance the packet processing of the same packet flow, the packet of the same packet flow can be fined according to the protocol number.
- a service ID is assigned to the packet with the protocol number greater than 50 in the same packet flow, which is used to identify that the packet is processed by the firewall instance 1 and then processed by the NAT device instance 1.
- the service packet of the same packet with the protocol number less than or equal to 50 is assigned another service ID, which is used to identify that the packet is processed by the firewall instance 2 and then processed by the NAT device instance 2.
- This helps to achieve load balancing of the same packet stream processing.
- packet flows such as packet flow 1 and packet flow 2 need to perform the same service processing, for example, the packets are processed by the NAT device and processed by the firewall, and the packet flow 1 can be reported.
- the message of the text and message stream 2 is assigned the same service ID.
- different service IDs may be assigned to the packet of the packet stream 1 and the packet of the packet stream 2, which is helpful for load balancing.
- the first service node may be a logical function entity. It should be noted that, usually, a service node instance has a reachable address, such as a reachable IP address or a MAC address, so that the first service node has a reachable address,
- the first service node is a physical entity or a logical entity, which is not limited by the embodiment of the present invention.
- a service node instance that provides firewall functions. Generally, we can install the firewall function on many servers, such as virtual machine VMs. In this way, a server with a firewall function can provide business processing for the firewall function, and servers with firewall functions have different addresses.
- each server with firewall functionality can be called a business node instance. That is, each service node instance includes a reachable address and can handle a single service.
- the controller determines to select the first service node to process the message flow. For example, the controller may select an appropriate service node instance to process the packet flow according to the processing capability of the service node instance and the traffic load status.
- the output circuit 63 is further configured to send, to the controller, a message requesting to acquire the policy information, and correspondingly, the input circuit 61 is further configured to receive, according to the trigger 63, the controller Requesting to obtain the message of the policy information, the issued Strategy information.
- the service routing trigger provided by the embodiment of the present invention receives the packet carrying the service identifier, and controls the service node in the service node sequence that triggers the matching of the service identifier to process the packet, thereby implementing service processing on the packet stream.
- an embodiment of the present invention provides a flow classifier, including a receiving unit 71, a processing unit 72, a transmitting unit 73, and a storage unit 74. among them
- the receiving unit 71 is configured to receive the first packet.
- the first packet may be an IP packet or an Ethernet packet.
- the first packet may be sent from the user side device, or may be sent from the network side device.
- the embodiment of the present invention does not limit this.
- the processing unit 72 is configured to determine, according to the first filtering rule that the first packet matches, the first service identifier that matches the first filtering rule, and the An address of the first service routing trigger matched by the first filtering rule; triggering the sending unit 73 to send a second packet to the first service routing trigger, where the second packet is the first service identifier Added to the first message formed.
- the first filtering rule may include one or more of a source address, a destination address, a source port, a destination port, and a protocol number of the first packet.
- the first packet flow corresponding to the first packet may be identified by the quintuple information (source address, destination address, source port, destination port, and protocol number) of the first packet.
- the first filtering rule may be the quintuple information of the first packet, or may be a value obtained by processing according to a quintuple information of the first packet by using a certain algorithm, for example, The hash algorithm processes the resulting value.
- the processing unit 72 obtains the quintuple information from the first packet.
- the first filtering rule If the filtering rule in the policy information is a value obtained by the quintuple information through a specific algorithm, the processing unit 72 obtains the first packet from the first packet.
- the quintuple information of a message is subjected to the specific algorithm operation on the quintuple information of the first packet to obtain a value, and the obtained value is the first filtering rule.
- the sending unit 73 is configured to send the second packet to the first service routing trigger, so that the first service routing trigger is configured according to the first service identifier carried by the second packet. Determining, in the second policy information, a first service node sequence that processes the second packet that matches the first service identifier, and sequentially triggers the service node in the first service node sequence to process the second packet .
- the storage unit 74 is configured to save the policy information.
- the second packet is formed by adding the first service identifier to the first packet.
- the second packet may be formed by adding the first service identifier to a packet header of the first packet, or may add the first service identifier to the first packet. Formed in the payload of a message.
- the first service identifier may be added to the header option added in the first text, or may be added to the Ethernet packet.
- the existing field in the first packet header may be reused, that is, the meaning of the existing field is changed to indicate that the first packet carries the first service identifier.
- a VLAN identifier also called a VLAN ID
- VLAN Virtual Local Area Network
- QINQ IEEE 802. 1 Q in IEEE 802. 1 Q, also called a Stacked VLAN or a Double VLAN
- LABEL Multi-protocol Label Switching
- MPLS Multi-protocol Label Switching
- the format of the new packet header option in the first packet is as shown in Table 1.
- a type field is added between the source MAC address and the VLAN ID to indicate whether the first packet carries the service.
- the identifier and the first service identifier For example, if the type value is 0, the first packet does not carry the service identifier.
- the value of the service ID is 0. If the value is 1, the first packet carries the service identifier.
- the value of the service ID is the first service identifier carried in the first packet.
- the receiving unit 7-1 is further configured to receive the first policy information sent by the controller.
- the first policy information may include: a filtering rule, an address of a service routing trigger, and a service identifier corresponding to the filtering rule, where the filtering rule is used to identify a packet; the service identifier is used to identify Processing a sequence of service nodes of the message.
- the first policy information may further include a tenant identifier, where the service identifier corresponds to the filtering rule and the tenant identifier.
- the processing unit 72 is specifically configured to: determine, according to the first filtering rule and the first tenant identifier corresponding to the first packet, the first filtering rule in the first policy information And the first service identifier that matches the first tenant identifier, and an address of the first service routing trigger that matches the first filtering rule and the first tenant identifier; triggering the sending unit to the The first service routing trigger sends a second packet.
- the controller may allocate a service processing policy based on the packet flow, and the controller sends the first policy information to the traffic classifier according to the service processing policy corresponding to the packet.
- the first policy information includes: a filtering rule, an address of a service routing trigger, and a service identifier corresponding to the filtering rule, where the filtering rule is used to identify a text; and the service identifier is used to identify that the packet is processed.
- Business node sequence The packet flows with the same service identifier ID are processed by the same service node instance, and the processed service nodes are processed in the same order.
- Packets with different service IDs are processed by the same service node, and the processed service nodes are processed in different order; or packets with different service IDs are processed by different service nodes. Further, in the specific implementation of the embodiment of the present invention, if two different messages in the same stream are assigned two different service IDs, it means that the services required for the two different messages are performed. The processing is the same, but the packet flow is processed by different service node instances, so that load balancing of packet processing can be implemented. For example, the packets are processed by the firewall and then processed by the NAT device. However, the two packets are processed by different service nodes, so that load balancing of packet processing can be implemented.
- the packet of the packet flow may be subdivided to implement load balancing on the same stream processing.
- the same source address and the same destination address are used to identify the same packet flow.
- the packet of the same packet flow can be subdivided according to the protocol number. Assuming that a service ID with a protocol number greater than 50 is assigned to the same packet flow, The packet is first processed by firewall 1 and then processed by NAT device 1. A service ID is assigned to the packet with the protocol number less than or equal to 50 in the same packet flow, and is used to identify that the packet is processed by the firewall 2 and then processed by the NAT device 2. This helps to achieve load balancing of the same packet stream processing.
- packet flow 1 and packet flow 2 need to perform the same service processing, for example, the packets are processed by the NAT device and processed by the firewall, and the packet flow 1 can be reported.
- the message of the text and message stream 2 is assigned the same service ID.
- different service IDs may be assigned to the packet of the packet stream 1 and the packet of the packet stream 2, which is helpful for load balancing.
- the traffic classifier adds a service identifier to the received packet according to the policy information, so that the service routing trigger controls the service node corresponding to the service identifier to add the service identifier according to the service identifier.
- the message processing implements the business processing of the message.
- an embodiment of the present invention provides a service routing trigger including a receiving unit 81, a processing unit 82, and a trigger unit 83. among them
- the receiving unit 81 is configured to receive a first packet, where the first packet carries a first service identifier.
- the first service identifier that matches the first packet may be carried in the packet header of the first packet, and the first service identifier may also be carried in the first packet. Dutch.
- the first service identifier may be added to the header option added in the first text, or may be added to the IP address in the Ethernet packet.
- the existing field in the first packet header may be reused, that is, the meaning of the existing field is changed to indicate that the first packet carries the first service identifier.
- a VLAN identifier also called a VLAN ID
- VLAN Virtual Local Area Network
- QINQ IEEE 802. 1 Q in IEEE 802. 1 Q, also called a Stacked VLAN or a Double VLAN
- Multi-protocol Label Switching referred to as The label ( LABEL ) in MPLS is reused, and some or all of the source MAC address can also be escaped and reused.
- the format of the new packet header option in the first packet is as shown in Table 1.
- a type field is added between the source MAC address and the VLAN ID to indicate whether the first packet carries the service.
- the identifier and the first service identifier For example, if the value of the type is 0, the first packet does not carry the service identifier. The value of the service ID is 0. If the value is 1, the first packet carries the service identifier. The value of the service ID is the first service identifier carried in the first packet.
- the processing unit 82 determines, according to the first service identifier, a first service node sequence that processes the first packet that matches the first service identifier, in the policy information that is saved by the service routing trigger. The address of the service node in the first service node sequence.
- the triggering unit 83 is configured to sequentially trigger the service node in the first service node sequence to process the first packet according to the first service node sequence.
- the service routing trigger may further include a storage unit 84, where the storage unit 84 is configured to save the policy information.
- the receiving unit 8.1 is configured to receive policy information sent by the controller.
- the policy information may include: a service identifier, a service node sequence of the processing message matching the service identifier, and an address of the service node in the service node sequence; the service identifier is used to indicate the processing report The sequence of the business nodes of the text.
- the policy information further includes: an address of a next hop node after the service node sequence.
- the controller may allocate a service processing policy based on the packet flow, and the controller sends the policy information to the service node instance according to the service processing policy corresponding to the packet flow.
- the packet of the packet flow may be subdivided to implement load balancing on the same packet flow processing. For example, the same source address and the same destination address are used to identify the same packet flow. To load balance the packet processing of the same packet flow, the packet of the same packet flow can be fined according to the protocol number.
- a service ID is assigned to the packet with the protocol number greater than 50 in the same packet flow, which is used to identify that the packet is processed by the firewall instance 1 and then processed by the NAT device instance 1.
- the service packet of the same packet with the protocol number less than or equal to 50 is assigned another service ID, which is used to identify that the packet is processed by the firewall instance 2 and then processed by the NAT device instance 2.
- This helps to achieve load balancing of the same packet stream processing.
- packet flows such as packet flow 1 and packet flow 2 need to perform the same service processing, for example, the packets are processed by the NAT device and processed by the firewall, and the packet flow 1 can be reported.
- the message of the text and message stream 2 is assigned the same service ID.
- different service IDs may be assigned to the packet of the packet stream 1 and the packet of the packet stream 2, which is helpful for load balancing.
- the first service node may be a logical function entity. It should be noted that, usually, a service node instance has a reachable address, such as a reachable IP address or a MAC address, so that the first service node has a reachable address,
- the first service node is a physical entity or a logical entity, which is not limited by the embodiment of the present invention.
- each server with a firewall function can be called a service node instance. That is, each service node instance includes a reachable address and can handle a single service.
- the controller determines to select the first service node to process the message flow. For example, the controller can select an appropriate service node according to the processing capability of the service node instance and the traffic load status. For example, the message stream is processed.
- the receiving unit 81 is further configured to receive the policy information sent by the controller.
- the service routing trigger provided by the embodiment of the present invention receives the packet carrying the service identifier, and controls the service node in the service node sequence that triggers the matching of the service identifier to process the packet, thereby implementing service processing on the packet stream.
- FIG. 9 is a schematic diagram of an application of a technical solution according to an embodiment of the present invention in mobile broadband access, wherein a traffic classifier function is deployed on a mobile broadband user access device, such as a GGSN/P-GW, and respectively deployed access
- a traffic classifier function is deployed on a mobile broadband user access device, such as a GGSN/P-GW, and respectively deployed access
- Two service routing triggers for different value-added services are deployed.
- the service route trigger 1 and the access device are in the same local area network.
- Service Routing Trigger 2 is deployed in a centralized metro data center.
- a sequence of service nodes for the message flow of the uplink Web access needs to be processed by three service nodes: application cache acceleration, firewall and NAT address translation.
- the service node sequence 10 includes a service node 1 that processes the application cache acceleration, a service node that performs firewall processing, and a service node 3 that performs NAT address translation processing on the packet.
- the order in which the service nodes in the service node sequence 10 process the packets is the service.
- the address of the service node 1, the address of the service node 2, the address of the service node 3, and the sequence of service nodes 10 may be pre-stored in the controller or stored in a policy database accessible by the controller.
- the controller makes a policy decision according to the service node sequence 10 and the user subscription information, and the physical deployment information of the service node related to the service node sequence, and the physical deployment information of the service node sequence 10 is shown in Table 1:
- the controller 2 sends the first policy information to the traffic classifier, and the controller sends the second policy information to the service routing trigger 1, and the controller sends the third policy information to the service routing trigger 2.
- the first policy information includes: user subscription information of a service node sequence, a flow filtering rule of the service node sequence, a service identifier corresponding to the service node sequence, and address information of a next hop service node of the service node sequence.
- the entries in the first policy information corresponding to the service node sequence 10 include:
- User subscription information of the service node sequence 10 All user subscriptions; Traffic filtering rules of the service node sequence 10 "Web access filtering rules", business identifier: 10
- Address information of the next hop service node instance Address information of the service route trigger 1.
- the second policy information that is sent by the controller to the service route trigger 1 includes: a service identifier, a service node sequence corresponding to the service identifier, an address of a node in the service node sequence corresponding to the service identifier, and the service node sequence Address information of the next hop service node.
- the entries in the second policy information corresponding to the service node sequence 10 include: Service identifier: 10
- Service routing trigger 1 corresponding value-added service node sequence information: first value-added service: application cache and acceleration, application cache and acceleration value-added service node IP address, MAC address;
- Service route trigger 2 address information Address information of the next hop service node: Service route trigger 2 address information.
- the third policy information that is sent by the controller to the service routing trigger 2 includes: a service identifier, a service node sequence corresponding to the service identifier, and a service corresponding to the service identifier.
- the entries in the third policy information corresponding to the service node sequence 10 include:
- Service routing trigger 2 corresponding value-added service node sequence information:
- the first value-added service firewall, firewall value-added service node IP address,
- the second value-added service NAT address translation, NAT address translation value-added service node IP address, MAC address;
- the service chain termination identifier The traffic classifier 1 classifies the received user service packets according to the flow filtering rule "Web access filtering rule" in the first policy information and the information of the user subscription service node sequence 10. If the first packet is filtered by the traffic classifier 1 and determined to be processed by the service node sequence 10 corresponding to the service identifier 10, the service identifier 10 is encapsulated into the first packet, and the service identifier is encapsulated. The first packet of 10 is sent to the next hop service route trigger 1. Optionally, the service identifier 10 may be encapsulated into a source MAC address field in the first packet.
- the service routing trigger 1 receives the first packet carrying the service identifier 10, and determines the address of the service node sequence 10 and the service route trigger 2 corresponding to the service identifier 10 in the second policy information according to the service identifier 10. After the service route trigger 1 triggers the processing of the first packet by the service node 1 corresponding to the service route trigger 1 in the service node sequence 10, the service route trigger 1 will process the node processed by the node in the service node sequence 10. A message is sent to the service route trigger 2.
- the user service packet carrying the service identifier 10 in the source MAC address is sent to the service node 1 for application caching and acceleration processing.
- the service route trigger 1 obtains the service identifier 10 from the source MAC address field of the service packet returned by the service node 1, and sends the service packet carrying the service identifier 10 in the source MAC address to the service route through the previously established VxLAN tunnel.
- the service routing trigger 2 receives the user service packet carrying the service identifier 10 in the source MAC address, and determines, according to the service identifier 10, the service node sequence 10 corresponding to the service identifier 10 in the third policy information, corresponding to the service route trigger 2 In the sequence of service nodes is service node 2 (firewall) -> service node 3 (NAT address translation).
- the service packet carrying the service identifier 10 in the source MAC address is sent to the service node 2 for firewall processing.
- the service identifier 10 is carried, and the service route trigger 2 carries the service packet carrying the service identifier 10 according to the address of the next service node 3 in the service node sequence 10. It is sent to the service node 3 for NAT address translation address processing.
- the NAT address translation service performed by the service node 3 is a non-transparent value-added service.
- the source IP address of the service packet is changed.
- the processed service packet is directly sent to the Internet.
- the technical solution of the present invention can also be applied to a multi-tenant data center scenario.
- a physical data center is leased to multiple tenants.
- the number of tenants may be large.
- VxLAN virtual extensible LAN
- the number of tenants can reach more than 16 million.
- a host or a virtual machine of a different subnet of the same tenant communicates with a value-added service node such as a firewall, different tenants may need different firewall value-added service nodes for processing.
- value-added service node devices such as firewalls
- Some value-added service devices support the virtual local area network (VLAN) tag to support 4K virtual value-added service instances.
- the service route trigger is deployed on the aggregation switch or core switch.
- the traffic classifier function entity is deployed on a ToR switch (Top Of Rack) or a vSwitch (virtual switch) inside the server.
- ToR switch Top Of Rack
- vSwitch virtual switch
- Each service node device in Figure 1 1 has the processing function of the firewall value-added service, and also supports 4K virtualization through VLAN tagging. Value-added business examples.
- a service routing trigger instance is connected to 10 service node devices. Under the control of the controller, traffic of different 40K tenants that need to be subnetted can be directed to different service routing triggers.
- the VLAN tag can be marked according to the VLAN identifier sent by the controller for multi-instance difference processing.
- the following takes the subnet interworking service flow of the tenant 100 as an example to illustrate the specific implementation process.
- the service node sequence 100 (firewall) can be pre-stored in the controller or stored in a policy database accessible to the controller;
- the controller makes a policy decision according to the service node sequence 100 information and the user subscription information, and the physical deployment information of the service node in the service node sequence, and the physical deployment information of the service node sequence 100 is shown in Table 2:
- the controller sends the first policy information to the traffic classifier, and the controller sends the second policy information to the service route trigger.
- the first policy information related to the service node sequence 100 sent by the controller to the stream classifier includes:
- the second policy information that the controller sends to the service route trigger 1 includes:
- Service routing trigger 1 Internal value-added service sequence information:
- the firewall and the sub-network mutual channel are processed, the IP address of the service node 1, the MAC address, and the VLAN ID of the corresponding tenant: 101,
- the traffic classifier performs traffic classification according to the flow filtering rule "tenant 100 subnet mutual filtering rule" of the service node sequence 100 in the first policy information, and encapsulates the service identifier 100 into the user service belonging to the service node sequence 100 classified by the traffic classifier.
- the user service packet encapsulating the service identifier 100 is encapsulated in the VxLAN P-channel, and the tenant identifier 100 is encapsulated into the VxLAN tenant identifier of the VxLAN tunnel, and finally the service identifier 100 and the tenant are encapsulated.
- the user service packet of the identifier 100 is sent to the service route trigger 1.
- the service route trigger 1 receives the user service packet carrying the service identifier 100 and the VxLAN tenant identifier carrying the tenant identifier 100, and the service route trigger is generated according to the service node sequence of the corresponding service identifier 100 in the second policy.
- the value-added service sequence in 1 is triggered by the service (firewall) to decapsulate the VxLAN tunnel, and the Ethernet packet carrying the service identifier 100 in the source MAC address transmitted in the tunnel is marked with the VLAN identifier 101 and sent to the service node 1.
- the source MAC address of the service data returned to the service route trigger 1 carries the service identifier 100
- the VLAN flag field carries the VLAN identifier 101, which is determined to be the end of the service node sequence according to the second policy information.
- the VLAN flag field is removed, the VxLAN tunnel is encapsulated, and the tenant identifier is encapsulated. 100 is encapsulated into the VxLAN tenant ID of the VxLAN tunnel, and then forwarded to another subnet within the tenant.
- the technical solution of the embodiment of the present invention can solve the on-demand serial connection of the value-added service in the service node sequence, and has no additional functional requirements for the value-added service, and is convenient for accessing the third-party value-added service interface.
- the service node in the service chain may use a third-party service node to facilitate inheritance and reuse of the existing service node investment; the service node may be decoupled from the underlying network control, and the service node only needs to care about the specific Business realization makes it possible for more software vendors to enter the business field, enrich the business industry chain, enhance the intensity of competition, and promote value-added service products with high quality and low price.
- the embodiment of the invention also provides a service chain technical solution for supporting the multi-tenancy of the basic network, which can solve the problem of the on-demand concatenation of the value-added service in the service chain of the multi-tenant network when the underlying network supports multi-tenancy, so that the service chain technical solution is supported.
- Multi-tenant network scenarios can be deployed and implemented, and do not require value-added services to support the latest multi-tenant technologies, such as VxLAN (Virtual Extensible Local Area Network) technology, enabling existing value-added service devices or supporting multiple instances.
- the value-added service equipment can still be applied while supporting the latest multi-tenant technology, avoiding the need to upgrade and transform value-added service equipment when supporting the latest multi-tenant technology.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种报文处理的方法,包括:流分类器接收第一报文;所述流分类器根据所述第一报文匹配的第一过滤规则,在所述流分类器的策略信息中确定与所述第一过滤规则匹配的第一业务标识、以及与所述第一过滤规则匹配的第一业务路由触发器的地址;所述策略信息包括:过滤规则、业务路由触发器的地址和所述过滤规则对应的业务标识,其中所述过滤规则用于识别报文;所述业务标识用于标识表示处理所述报文的业务节点序列;所述流分类器向所述第一业务路由触发器发送第二报文;所述第二报文为将所述第一业务标识添加到所述第一报文中形成的。
Description
流分类器、 业务路由触发器、 报文处理的方法和系统 技术领域
本发明涉及通讯领域, 报文尤其涉及一种报文处理的方法、 设 备和系统。
背景技术
在数据中心网络中, 通常需要对报文进行基于开放系统互连
(open systems interconnection , OSI)分层中 4层到 7层的业务处理。 举例来说, 业务处理通常包括提供防火墙, 网络地址转换 ( Network Address Translation , NAT ) , 家庭控制等。 不同的报文可能要求提供 不同的业务处理, 报文可能会要求提供多种业务处理, 比如某些报 文可能需要进行防火墙和 NAT处理, 而另外一些报文可能希望进行 防火墙和家庭控制处理, 这样, 如何实现对报文的业务处理是需要 解决的问题。 发明内容
本发明实施例的目 的在于提供一种流分类器、业务路由触发器、 报文处理的方法和系统, 以解决对报文进行业务处理的问题。
为达到上述目 的, 本发明的实施例采用如下技术方案。
第一方面,本发明实施例提供一种报文处理系统,包括控制器、 流分类器、 第一业务路由触发器; 其中
所述控制器, 用于向所述流分类器发送第一策略信息, 所述第 一策略信息包括: 过滤规则、 与所述过滤规则对应的业务路由触发 器的地址、 以及与所述过滤规则对应的业务标识, 其中所述过滤规 则用于识别报文; 所述业务标识用于表示处理所述报文的业务节点 的序列;
所述控制器, 还用于向所述第一业务路由触发器发送第二策略 信息, 所述第二策略信息包括: 所述业务标识、 所述业务标识对应的
业务节点序列;
所述流分类器,用于接收所述控制器发来的所述第一策略信息; 所述流分类器还用于接收第一报文, 根据所述第一报文匹配的 第一过滤规则, 在所述第一策略信息中确定与所述第一过滤规则匹 配的第一业务标识、 以及与所述第一过滤规则匹配的所述第一业务 路由触发器的地址; 向所述第一业务路由触发器发送第二报文, 所 述第二报文包括所述第一业务标识;
所述第一业务路由触发器, 用于根据所述第二报文携带的所述 第一业务标识, 在所述第二策略信息中确定与所述第一业务标识匹 配的第一业务节点序列, 依次触发所述第一业务节点序列中的业务 节点处理所述第二报文。
在第一方面的第一种可能的实现方式中, 所述第一策略信息还 包括租户标识, 所述业务标识对应所述过滤规则和所述租户标识。
结合第一方面的第一种可能的实现方式, 在第一方面的第二种 可能的实现方式中, 所述流分类器, 具体用于根据所述第一过滤规 则和所述第一报文对应的第一租户标识, 在所述第一策略信息中确 定与所述第一过滤规则和所述第一租户标识匹配的所述第一业务标 识、 以及与所述第一过滤规则匹配的所述第一业务路由触发器的地 址; 向所述第一业务路由触发器发送所述第二报文。
结合第一方面、 第一方面的第一种或第二种可能的实现方式, 在第一方面的第三种可能的实现方式中, 所述第二策略信息还包括: 所述业务标识对应的业务节点序列之后的下一跳节点的地址。 第二方面, 本发明实施例提供一种报文处理系统, 包括: 控制 器、 流分类器、 第一业务路由触发器、 第二业务路由触发器; 其中 所述控制器, 用于向所述流分类器发送第一策略信息, 所述第 一策略信息包括: 过滤规则、 与所述过滤规则对应的业务路由触发 器的地址、 以及与所述过滤规则对应的业务标识, 其中所述过滤规 则用于识别报文; 所述业务标识用于表示处理所述报文的业务节点
的序列;
所述控制器, 还用于向所述第一业务路由触发器发送第二策略 信息, 所述第二策略信息包括: 所述业务标识、 所述业务标识对应的 业务节点序列中由所述第一业务路由触发器触发的部分业务节点序列; 所述控制器, 还用于向所述第二业务路由触发器发送第三策略 信息, 所述第三策略信息包括: 所述业务标识、 所述业务标识对应的 业务节点序列中由所述第二业务路由触发器触发的部分业务节点序列; 所述流分类器,用于接收所述控制器发来的所述第一策略信息; 所述流分类器还用于接收第一报文, 根据所述第一报文匹配的 第一过滤规则, 在所述第一策略信息中确定与所述第一过滤规则匹 配的第一业务标识、 以及与所述第一过滤规则匹配的所述第一业务 路由触发器的地址、 与所述第一过滤规则匹配的所述第二业务路由 触发器的地址; 向所述第一业务路由触发器发送第二报文, 所述第 二报文包括所述第一业务标识;
所述第一业务路由触发器, 用于根据所述第二报文携带的所述 第一业务标识, 在所述第二策略信息中确定与所述第一业务标识匹 配的第一业务节点序列, 依次触发所述第一业务节点序列中的业务 节点处理所述第二报文后, 将处理后的第二报文发送给所述第二业 务路由触发器;
所述第二业务路由触发器, 用于根据所述处理后的第二报文携 带的所述第一业务标识, 在所述第三策略信息中确定与所述第一业 务标识匹配的第二业务节点序列, 依次触发所述第二业务节点序列 中的业务节点处理所述第二报文。
在第二方面的第一种可能的实现方式中, 所述第一策略信息还 包括租户标识, 所述业务标识对应所述过滤规则和所述租户标识。
结合第二方面的第一种可能的实现方式, 在第二方面的第二种 可能的实现方式中, 所述流分类器, 具体用于根据所述第一过滤规 则和所述第一报文对应的第一租户标识, 在所述第一策略信息中确 定与所述第一过滤规则和所述第一租户标识匹配的所述第一业务标
识、 以及与所述第一过滤规则匹配的所述第一业务路由触发器的地 址; 向所述第一业务路由触发器发送所述第二报文。
结合第二方面、 第二方面的第一种或第二种可能的实现方式, 在第二方面的第三种可能的实现方式中, 所述第二策略信息还包括: 所述业务标识对应的业务节点序列之后的下一跳节点的地址。 第三方面, 本发明实施例提供的一种报文处理方法, 包括: 流分类器接收第一报文;
所述流分类器根据所述第一报文匹配的第一过滤规则, 在所述 流分类器保存的策略信息中确定与所述第一过滤规则匹配的第一业 务标识、 以及与所述第一过滤规则匹配的第一业务路由触发器的地 址; 所述策略信息包括: 过滤规则、 业务路由触发器的地址和所述 过滤规则对应的业务标识, 其中所述过滤规则用于识别报文; 所述 业务标识用于标识表示处理所述报文的业务节点序列;
所述流分类器向所述第一业务路由触发器发送第二报文; 所述第二报文为将所述第一业务标识添加到所述第一报文中形 成的。
在第三方面的第一种可能的实现方式中, 所述策略信息还包括 租户标识, 所述业务标识对应所述过滤规则和所述租户标识;
所述流分类器确定所述第一业务标识的步骤, 具体为: 所述流分类器根据所述第一过滤规则和所述第一报文对应的第 一租户标识, 在所述策略信息中确定与所述第一过滤规则和所述第 一租户标识匹配的所述第一业务标识、 以及与所述第一业务路由触 发器的地址。
结合第三方面的第一种可能的实现方式, 在第二方面的第二种 可能的实现方式或第三方面的第二种可能的实现方式中, 在所述流 分类器收到所述第一报文之前, 还包括: 所述流分类器接收控制器 发来的所述策略信息。
第四方面, 本发明实施例提供的一种报文处理方法, 包括: 业务路由触发器接收第一报文, 所述第一报文携带第一业务标 识;
所述业务路由触发器根据所述第一业务标识, 在所述业务路由 触发器保存的策略信息中, 确定与所述第一业务标识匹配的第一业 务节点序列;
所述业务路由触发器, 按照所述第一业务节点序列依次触发所 述第一业务节点序列中的业务节点处理所述第一报文。
在第四方面的第一种可能的实现方式中, 在所述业务路由触发 器接收流分类器发送的所述第一报文之前, 还包括: 所述业务路由 触发器接收控制器发送的所述策略信息。
结合第四方面的第一种可能的实现方式, 在第四方面的第一种 可能的实现方式中, 所述策略信息包括: 所述业务标识、 与所述业 务标识匹配的业务节点序列; 所述业务标识用于表示处理报文的业 务节点的序列。
结合第四方面的第一种可能的实现方式, 在第四方面的第二种 可能的实现方式中, 所述策略信息还包括: 所述业务节点序列中的 业务节点的地址。
结合第四方面的第一种或第二种可能的实现方式, 在第四方面 的第三种可能的实现方式中, 所述策略信息还包括: 所述业务标识 对应的所述业务节点序列之后的下一跳节点的地址;
所述方法还包括: 在所述第一业务节点序列的最后一个业务节点 处理完所述第一报文后, 所述业务路由触发器将处理后第一报文发 送到所述业务节点序列之后的下一跳节点。 第五方面, 本发明实施例提供的一种报文处理方法, 包括: 第一业务路由触发器接收第一报文, 所述第一报文携带第一业 务标识;
所述第一业务路由触发器根据所述第一业务标识, 在所述第一
业务路由触发器保存的第一策略信息中, 确定与所述第一业务标识 匹配的第一业务节点序列及第二业务路由触发器的地址;
所述第一业务路由触发器, 按照所述第一业务节点序列依次触 发所述第一业务节点序列中的业务节点处理所述第一报文之后, 将 所述第一报文转发给所述第二业务路由触发器;
所述第二业务路由触发器根据所述第一业务标识, 在所述第二 业务路由触发器的第二策略信息中, 确定与所述第一业务标识匹配 的第二业务节点序列;
所述第二业务路由触发器, 按照所述第二业务节点序列依次触 发所述第二业务节点序列中的业务节点处理所述第一报文。
在第五方面的第一种可能的实现方式中, 在所述第一业务路由 触发器和所述第二业务路由触发器接收所述第一报文之前, 还包括: 所述第一业务路由触发器接收控制器发送的所述第一策略信息, 所 述第二业务路由触发器接收控制器发送的所述第二策略信息。 第六方面,本发明实施例提供的一种流分类器,包括接收单元、 存储单元、 处理单元和发送单元, 其中:
所述接收单元, 用于接收第一报文;
所述存储单元, 用于保存策略信息;
所述处理单元, 用于根据所述第一报文匹配的第一过滤规则, 在所述存储单元保存的所述策略信息中确定与所述第一过滤规则匹 配的第一业务标识、 以及与所述第一过滤规则匹配的第一业务路由 触发器的地址; 触发所述发送单元向所述第一业务路由触发器发送 第二报文, 所述第二报文为将所述第一业务标识添加到所述第一报 文中形成的;
所述发送单元, 用于向所述第一业务路由触发器发送所述第二 报文。
在第六方面的第一种可能的实现方式中, 所述接收单元, 还用 于接收控制器发来的所述策略信息。
结合第六方面的第一种可能的实现方式, 第六方面的第二种可 能的实现方式中, 所述第一策略信息包括: 过滤规则、 业务路由触 发器的地址、 所述过滤规则对应的业务标识, 其中所述过滤规则用 于识别报文; 所述业务标识用于表示处理所述报文的业务节点序列。
结合第六方面、 第六方面的第一种可能的实现方式或第六方面 的第二种可能的实现方式, 在第六方面的第三种可能的实现方式中, 所述策略信息还包括: 租户标识, 所述业务标识对应所述过滤规则 和所述租户标识;
所述处理单元, 具体用于:
根据所述第一过滤规则和所述第一报文对应的第一租户标识, 在所述策略信息中确定与所述第一过滤规则和所述第一租户标识匹 配的所述第一业务标识、 以及与所述第一过滤规则匹配和所述第一 租户标识的第一业务路由触发器的地址; 触发所述发送单元向所述 第一业务路由触发器发送第二报文。 第七方面, 本发明实施例提供的一种业务路由触发器, 包括: 接收单元、 处理单元和触发单元, 其中
所述接收单元, 用于接收第一报文, 所述第一报文携带第一业 务标识;
所述处理单元, 根据所述第一业务标识, 在所述业务路由触发 器保存的策略信息中, 确定与所述第一业务标识匹配的第一业务节 点序列、 所述第一业务节点序列中的业务节点的地址;
所述触发单元, 用于按照所述第一业务节点序列依次触发所述 第一业务节点序列中的业务节点处理所述第一报文。
在第七方面的第一种可能的实现方式中, 所述接收单元, 还用 于接收控制器发送的所述策略信息。
结合第七方面的第一种可能的实现方式, 在第七方面的第二种 可能的实现方式中, 所述策略信息包括: 业务标识、 与所述业务标 识匹配的业务节点序列; 所述业务标识用于表示处理报文的业务节
点的序列。
结合第七方面的第二种可能的实现方式, 在第七方面的第三种 可能的实现方式中, 所述策略信息还包括: 所述业务节点序列中的 业务节点的地址。
结合第七方面的第二种可能的实现方式或第三种可能的实现方 式,在第七方面的第四种可能的实现方式中,所述策略信息还包括: 所述业务节点序列之后的下一跳节点的地址。
在本发明实施例的技术方案中, 控制器向流分类器发送第一策 略信息, 向业务路由触发器发送第二策略信息, 流分类器和业务路 由触发器根据接收到的策略信息来处理报文, 实现了控制器对流分 类器和业务路由触发器的统一管理。 进一步地, 流分类器根据第一 策略信息对识别出需要进行业务处理的报文添加业务标识, 将添加 业务标识的报文发送给业务路由触发器, 由业务路由触发器控制触 发业务标识所对应的业务节点序列中的业务节点处理所述报文, 将 处理后的报文按照路由表进行正常转发, 实现了对报文的业务处理。 另外, 由于业务节点只需要按照业务路由触发器的控制触发下对报 文进行业务处理, 可以兼容各种不同业务能力的业务节点。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下 面将对实施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例, 对于 本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以 根据这些附图获得其他的附图。
图 1 ( a ) 和图 1 ( b ) 是本发明实施例一的报文处理系统图; 图 2 ( a ) 〜图 2 ( c ) 是本发明实施例一的报文处理系统中的第 一策略信息表的示意图;
图 3是本发明实施例三的报文处理方法示意图;
图 4是本发明实施例四的报文处理方法的流程图;
图 5是本发明实施例六的流分类器的结构示意图;
图 6为本发明实施例七的业务路由触发器的结构示意图; 图 7是本发明实施例八的流分类器的结构示意图;
图 8是本发明实施例九的业务路由触发器的结构示意图; 图 9是本发明实施例十的技术方案在移动宽带领域的应用场景 示意图;
图 10 是本发明实施例十一的技术方案在多租户的数据中心场 景的应用示意图。 具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术 方案进行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明 一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本 领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。
本发明实施例中, 用户接入设备可以是移动宽带接入领域的网关 GPRS支撑节点 ( Gateway GPRS ( General Packet Radio Service , 通用无线 分组业务 ) Support Node , GGSN ) /PDN网关 ( PDN( packet data network , 分组数据网 ) Gateway , P-GW ) 或固定接入领域的宽带网络业务网关 ( Broadband Network Gateway , BNG ) 或数据中心应用中的机架交换机 ( Top Of Rack , ToR )。
本发明实施例提到的业务节点可以是物理实体设备, 比如路由器、 交 换机、服务器等网络设备, 也可以是逻辑功能实体或应用(Application ), 比如防火墙、 NAT ( Network Address Translation , NAT , 网洛地址转换), 所述业务节点也可以是业务节点实例。本发明实施例提到的业务节点可以 用于增值业务或特定业务。
本发明实施例提到的流分类器可以是物理实体设备, 比如路由器、 交 换机、服务器等网络设备, 也可以是具有业务分类功能的逻辑功能实体或 应用 (Application ), 所述流分类器也可以是具有业务分类功能的业务实 例。
本发明实施例提到的业务路由触发器可以是物理实体设备,比如路由 器、 交换机、 服务器等网络设备, 也可以是具有业务路由触发功能的逻辑 功能实体或应用 (Application ) , 所述业务路由触发器也可以是具有业务 路由触发功能的业务实例。
本发明实施例提到的控制器可以是物理实体设备, 比如路由器、 交换 机、 服务器等网络设备, 也可以是具有控制功能的逻辑功能实体或应用 ( Application ), 所述控制器也可以是具有控制功能的业务实例。
本发明实施例提到的地址可以是该业务路由触发器的网络协议 ( Internet Protocol , IP ) 地址或者媒介接入控制 ( Media Access Control , MAC ) 地址。 实施例一:
如图 1所示, 一种报文处理系统包括控制器 12、 流分类器 14、 业务 路由触发器 18 ; 其中
所述控制器 12, 用于向所述流分类器 14发送第一策略信息。 所述第 一策略信息包括: 过滤规则、 与所述第一过滤规则匹配的业务路由触 发器的地址、 以及与所述过滤规则对应的业务标识。 所述过滤规则用 于识别报文。 所述业务标识用于表示处理所述报文的业务节点的序列。
所述控制器 12,还用于向所述业务路由触发器 18发送第二策略信息, 所述第二策略信息包括: 所述业务标识、 所述业务标识对应的业务节点序 列。
所述流分类器 14,用于接收所述控制器 12发来的所述第一策略信息; 所述流分类器 14还用于接收第一报文, 根据所述第一报文匹配的 第一过滤规则, 在所述第一策略信息中确定与所述第一过滤规则匹 配的第一业务标识、 以及与所述第一过滤规则匹配的业务路由触发 器 18 的地址; 向业务路由触发器 18发送第二报文, 所述第二报文 包括所述第一业务标识。
所述第一业务路由触发器 18, 用于根据所述第二报文携带的所述 第一业务标识, 在所述第二策略信息中确定与所述第一业务标识匹 配的处理所述第二报文的第一业务节点序列, 依次触发所述第一业
务节点序列中的业务节点处理所述第二报文。
可选地, 所述第二策略信息还可以包括: 所述业务标识对应的业务节 点序列中的业务节点的地址。
可选地, 所述第二策略信息还可以包括: 所述业务标识对应的业务节 点序列之后的下一跳节点的地址。对应地,所述第一业务路由触发器 18, 用于根据所述第二报文携带的所述第一业务标识, 在所述第二策略 信息中确定与所述第一业务标识匹配的所述第一业务节点序列之后 的下一跳节点的地址,将经过所述第一业务节点序列中的业务节点处理的 所述第二报文转发到所述第一业务节点序列之后的下一跳节点。
具体地, 所述多个业务节点 ( 16- 1, 16-2 16-n ), 在加入网络时需 要向所述控制器 12注册, 上报所述业务节点 ( 16- 1, 16-2 16-n ) 的类 型和能力。 所述业务节点可以是 ISO 三层到七层的应用, 比如防火墙、 NAT ( Network Address Translation, NAT , 网络地址转换), 所述业务节 点也可以是业务节点实例, 或者所述业务节点也可以是路由器、 交换机、 服务器等网络设备。 可选地, 所述业务节点还可以上报自身对应的本地业 务路由触发器 18 的地址信息, 所述业务节点对应的业务路由触发器 18 的地址可以是该业务路由触发器的网络协议( Internet Protocol, IP )地址 或者媒介接入控制 ( Media Access Control , MAC ) 地址。
所述流分类器 14, 在加入网络时需要向所述控制器 12注册, 上报所 述流分类器 14的地址, 所述流分类器 14的地址可以是 IP地址或者 MAC 地址。 可选地, 所述流分类器 14可以是 ISO三层到七层的应用, 所述流 分类器 14也可以是应用实例, 或者所述流分类器 14也可以是路由器、 交 换机、 服务器等网络设备。
所述业务路由触发器 18, 在加入网络时需要向所述控制器 12 注册, 上报所述业务路由触发器 18 的业务节点信息和所述业务路由触发器 18 的地址, 所述业务路由触发器 18的地址可以是 IP地址或者 MAC地址。 可选地, 所述业务路由触发器 18可以是 ISO三层到七层的应用, 所述业 务路由触发器 18也可以是应用实例,或者所述业务路由触发器 18也可以 是路由器、 交换机、 服务器等网络设备。 所述业务路由触发器 18可以是 一个或者多个。 当所述报文处理系统包括多个业务路由触发器时, 所
述多个业务路由触发器可以与一个或多个业务节点序列对应, 即, 每个业务路由触发器对应一个业务节点序列。 可选地, 一个业务路 由触发器也可以对应多个业务节点序列或者对应所有业务节点序歹' J 。
可选地, 所述控制器 12可以是 ISO三层到七层的应用, 所述控制器 12也可以是应用实例, 或者所述控制器 12也可以是路由器、 交换机、 月良 务器等网络设备。 所述控制器 12可以是一个或者多个。
其中, 具有相同业务 ID的报文通过相同的业务节点处理, 且通 过的业务节点处理的顺序相同。具有不同业务 ID的报文通过相同的 业务节点处理, 通过的业务节点处理的顺序不同; 或者具有不同业 务 ID的报文通过不同的业务节点处理。 举例来说, 业务 ID为 1 的 报文先由第一业务节点 16- 1进行处理,再由第二业务节点 16-2进行 处理。 而业务 ID为 2 的报文则先由第二业务节点 16-2进行处理, 再由第一业务节点 16- 1进行处理。 可选地, 如果同一报文流中的两 个不同的 文分配了两个不同的业务 ID, 则意味着虽然所述两个不 同的报文所需进行的业务处理相同, 例如都是先经过防火墙处理, 再经过 NAT设备处理, 但是所述两个报文却由不同的业务节点进行 处理, 这样可以实现 文处理的负载均衡。 可选地, 可以对 文流 的报文进行细分来实现对同一报文流处理的负载均衡。 例如, 以相 同的源地址和相同的目 的地址来标识同一 文流, 为了对该同一才艮 文流的报文处理实现负载均衡, 可以根据协议号对该同一报文流的 报文进行细分, 假设为该同一报文流中协议号大于 50的报文分配一 个业务 ID, 用于标识该报文先经过防火墙实例 1处理, 再经过 NAT 设备 1处理。 为该同一报文流中协议号小于等于 50的报文分配另一 个业务 ID, 用于标识该报文先经过防火墙 2处理, 再经过 NAT设备 2 处理。 这样有助于实现同一报文流处理的负载均衡。 可选地, 如 果不同的报文流, 例如报文流 1 和报文流 2需要进行相同的业务处 理, 例如都是先经过 NAT设备处理, 再经过防火墙处理, 可以为报 文流 1 的^艮文和 文流 2的 文分配相同的业务 ID。 当然, 也可以 为报文流 1 的报文和报文流 2的报文分配不同的业务 ID, 有助于实
现负载均衡。
可选地, 所述第一过滤规则可以包括所述第一报文的源地址、 目 的地址、 源端口、 目 的端口和协议号中的一个或多个。 比如, 可 以通过所述第一 文的五元组信息 (源地址、 目 的地址、 源端口、 目 的端口和协议号) 来标识所述第一报文所对应的第一报文流。 可 选地, 所述第一过滤规则可以是所述第一报文的五元组信息, 也可 以是根据所述第一报文的五元组信息通过一定的算法处理得到的数 值, 例如通过哈希 ( hash ) 算法处理所得到的数值。 当流分类器 24 接收到所述第一报文时, 如果所述第一策略信息中的过滤规则是五 元组信息, 则流分类器 24从所述第一报文中获取所述第一报文的五 元组信息得到所述第一过滤规则。 如果第一策略信息中的过滤规则 是基于五元组信息通过特定的算法处理得到的数值, 则流分类器 24 从所述第一报文中获取所述第一报文的五元组信息, 对所述第一报 文的五元组信息进行该特定的算法运算得到数值, 该得到的数值为 所述第一过滤规则。
其中, 所述第二报文为将所述第一业务标识添加到所述第一报 文中形成的。 比如, 所述第二报文可以为将与所述第一业务标识添 加到所述第一报文的报文头中形成的, 或者也可以为将与所述第一 业务标识添加到所述第一报文的净荷中形成的。
以所述第一^艮文为以太^艮文为例, 所述第一业务标识可以添加 到所述第一 文新增的 文头选项中, 或者, 也可以添加到所述以 太报文中的 IP报文头中, 或者, 也可以对所述第一报文头中的现有 字段重用, 也就是更改现有字段的含义来表示所述第一报文携带所 述第一业务标识。 例如可以对虚拟局域网 ( Virtual Local Area Network , 简称为 VLAN ) 或 QINQ(IEEE 802. 1 Q in IEEE 802. 1 Q, 也 称 Stacked VLAN 或 Double VLAN)中的 VLAN 标识 (也称 VLAN ID ) , 或者多协议标签交换( Multi-protocol Label Switching , 简称为 MPLS ) 中的标签 ( LABEL ) 进行重用, 也可以对源 MAC地址的部 分或全部进行转义重用。 其中, 在所述第一报文中新增的报文头选
项的格式如表一所示: 在源 MAC地址和 VLAN ID之间增加一个类 型字段, 用以指示该第一报文是否携带业务标识以及所述第一业务 标识。 比如可以定义类型值为 0时表示该第一报文未携带业务标识, 这时业务 ID的值为 0 ; 类型值为 1 时表示该第一报文携带有业务标 识。 业务 ID的值即为该第一报文携带的第一业务标识。
业务路由触发器 1 8接收所述第二报文,根据所述第一业务标识, 在控制器 12下发的第二策略信息中, 确定与所述第一业务标识匹配 的处理所述第二报文的第一业务节点序列。 从该第一业务节点序列 中第一个业务节点 16- 1 开始, 业务路由触发器 18按照所述第一业 务节点序列中的各个业务节点的顺序, 依次触发并控制该第一业务 节点序列中的所有业务节点处理该第二报文。
可选地, 所述第二策略信息还包括该第一业务节点序列中的业务 节点的地址。
可选地, 所述第二策略信息还包括: 所述业务标识对应的业务节点 序列之后的下一跳节点的地址, 则业务路由触发器 18根据所述第一业 务标识, 在控制器 12下发的第二策略信息中, 确定所述第一业务节 点序列之后的下一跳节点的地址, 在业务路由触发器 18控制所述第一业 务节点序列中的所有业务节点处理完所述第二报文后,将处理后的第二报 文发送到所述第一业务节点序列之后的下一跳节点。
第一业务节点 16- 1, 用于接收并处理业务路由触发器 1 8 发送 的第二报文。 第一业务节点 16- 1处理完第二报文之后, 将所述处理 后的第二报文发给业务路由触发器 18, 业务路由触发器 18 根据按 照所述第一业务节点序列中的各个业务节点的顺序触发第一业务节 点 16- 1之后的第二业务节点 16-2处理该第二报文,直至所述第一业 务节点序列中的最后一个业务节点 16-n处理该第二报文之后, 业务 路由触发器 1 8将该第二报文转发给所述第一业务节点序列之后的下一
跳节点。
可选地, 业务路由触发器 18 也可以在触发第一业务节点 16- 1 时, 将该第一业务节点序列中第一业务节点 16- 1之后的各个业务节 点的地址、 以及所述第一业务节点序列之后的下一跳节点的地址, 一并发给第一业务节点 16- 1, 并指令第一业务节点 16- 1将处理后的 第二报文发送给该第一业务节点序列中的第二业务节点 16-2。 第二 业务节点 16-2收到第一业务节点 16- 1处理后发送的第二报文。第二 业务节点 16-2对第二报文进行处理后, 如果确定第二业务节点 16-2 是该第一业务节点序列的最后一个业务节点, 则该第二业务节点 16-2 将处理后的第二报文转发给该第一业务节点序列之后的下一跳 节点。 可选地, 在控制器 12下发的第二策略信息中, 业务节点序列 中最后一个业务节点的地址设置为特殊的地址,例如可以是 0.0.0.0, 其中, 0.0.0.0 用于表明该业务节点是业务节点序列的最后一个处理 所述第二报文的业务节点。 该特殊的下一跳可以是任何不可达的地 址, 只要能表明某个业务节点是最后一个处理所述第二报文的业务 节点即可, 本发明实施例不做具体限定。
可选地, 第一业务节点 ( 16- 1、 16-2 16-n ) 可以为逻辑功能 实体。 需要说明的是, 通常一个业务节点具有一个可达的地址。 所 述业务节点的地址可以是 IP地址或 MAC地址。 只要第一业务节点 具有一个可达的地址, 第一业务节点为一个物理实体还是逻辑实体, 本发明实施例并不做限定。 此外, 为了方便理解业务节点实例, 可 以以提供防火墙功能的业务节点为例说明。 通常, 可以把防火墙功 能安装在很多服务器上, 这样安装有防火墙功能的服务器都可以提 供防火墙功能的业务处理, 并且安装有防火墙功能的服务器都有不 同的地址。 这样, 每个安装有防火墙功能的服务器就可以称之为一 个业务节点。 也就是说, 每个业务节点实例包括一个可达的地址, 且能单独处理至少一种业务。 在本发明实施例的具体实现时, 由业 务路由触发器 18 来选择由哪些业务节点以及按照哪种顺序来处理 该第一报文。 如果第一业务节点 16- 1有其他备份节点, 业务路由触
发器 18 可以根据第一业务节点 16- 1 与其备份节点的处理能力和业 务负载状况来选择合适的业务节点来处理该报文。
可选地, 如图 2(a)所示, 当所述 文处理系统中只有一个业务路由触 发器或只有一个业务路由触发器组时,该业务路由触发器或业务路由触发 器组接收控制器下发的所述第二策略信息,所述第二策略信息包括所有业 务标识 (业务标识 1、 业务标识 2 业务标识 n ) 及每个业务标识对应 的业务节点序列。每个业务节点序列可以包括具有不同处理顺序的多个相 同业务节点, 比如, 业务标识 1对应的业务节点序列 1 中包括第一业务节 点和第二业务节点,业务节点序列 1处理报文的顺序为先由第一业务节点 处理后转发给第二业务节点处理;业务标识 2对应的业务节点序列 1 中包 括第一业务节点和第二业务节点,业务节点序列 2处理报文的顺序为先由 第二业务节点处理后转发给第一业务节点处理。每个业务节点序列中也可 能包括不同数量的多个业务节点, 比如业务标识 3对应的业务节点序列 3 中包括第一业务节点、 第二业务节点和第三业务节点。
当所述报文处理系统中只有一个业务路由触发器时,所述流分类器将 第一报文增加所述第一报文的第一业务标识后转发给该业务路由触发器, 由该业务路由触发器查找所述第二策略信息,获取所述第一业务标识对应 的第一业务节点序列,该业务路由触发器依次触发所述第一业务节点序列 中的业务节点处理该第一报文。
当所述报文处理系统中只有一个由多个业务路由触发器组成的业务 路由触发器组时, 所述业务路由触发器组具有一个虚拟地址。 所述流分类 器将第一报文增加所述第一报文的第一业务标识后转发给该业务路由触 发器组的虚拟地址,由该业务路由触发器组内根据负载均衡等指定业务路 由触发器查找所述第二策略信息,获取所述第一业务标识对应的第一业务 节点序列,该业务路由触发器依次触发所述第一业务节点序列中的业务节 点处理该第一报文。
可选地, 如图 2(b)所示, 当所述 文处理系统中有多个业务路由触 发器且每个业务路由触发器对应一个业务标识时,该业务路由触发器接收 控制器下发的所述第二策略信息, 所述第二策略信息包括某个业务标识 (比如业务标识 1 ) 及该业务标识对应的业务节点序列。
可选地, 所述第一策略信息还可以包括租户标识, 所述业务标 识对应所述过滤规则和所述租户标识。 对应地, 所述流分类器 14, 具体用于根据所述第一过滤规则和所述第一报文对应的第一租户标 识, 在所述第一策略信息中确定与所述第一过滤规则和所述第一租 户标识匹配的所述第一业务标识、 以及与所述第一过滤规则匹配的 所述第一业务路由触发器的地址; 向所述第一业务路由触发器 18发 送所述第二报文。
可选地, 如图 2 ( c ) 所示, 当所述报文处理系统应用于多租户业 务的场景时, 所述第一策略信息包括: 业务标识、 租户标识、 所述业务标 识和所述租户标识对应的业务节点序列、所述业务标识和所述租户标识对 应的业务路由触发器的地址。 对应地, 所述流分类器, 具体用于根据 所述第一过滤规则和所述第一报文对应的第一租户标识, 在所述第 一策略信息中确定与所述第一过滤规则和所述第一租户标识匹配的 所述第一业务标识、 以及与所述第一过滤规则匹配的所述第一业务 路由触发器的地址; 向所述第一业务路由触发器发送所述第二报文。
在本发明实施例提供的报文处理系统中, 控制器向流分类器发 送第一策略信息, 向业务路由触发器发送第二策略信息, 流分类器 和业务路由触发器根据接收到的策略信息来处理报文, 实现了控制 器对流分类器和业务路由触发器的统一管理。 进一步地, 流分类器 根据第一策略信息对识别出需要进行业务处理的报文添加业务标识, 将添加业务标识的报文发送给业务路由触发器, 由业务路由触发器 控制触发业务标识所对应的业务节点序列中的业务节点处理所述报 文, 将处理后的报文按照路由表进行正常转发, 实现了对报文的业 务处理。 另外, 由于业务节点只需要按照业务路由触发器的控制触 发下对报文进行业务处理, 可以兼容各种不同业务能力的业务节点。 实施例二
报文处理系统中也可以包括多个业务路由触发器, 在这种情况 下, 一种报文处理系统, 包括包括: 控制器、 流分类器、 第一业务
路由触发器、 第二业务路由触发器; 其中
所述控制器, 用于向所述流分类器发送第一策略信息, 所述第 一策略信息包括: 过滤规则、 与所述过滤规则对应的业务路由触发 器的地址、 以及与所述过滤规则对应的业务标识, 其中所述过滤规 则用于识别报文; 所述业务标识用于表示处理所述报文的业务节点 的序列;
所述控制器, 还用于向所述第一业务路由触发器发送第二策略 信息, 所述第二策略信息包括: 所述业务标识、 所述业务标识对应的 业务节点序列中由所述第一业务路由触发器触发的部分业务节点序列; 所述控制器, 还用于向所述第二业务路由触发器发送第三策略 信息, 所述第三策略信息包括: 所述业务标识、 所述业务标识对应的 业务节点序列中由所述第二业务路由触发器触发的部分业务节点序列; 所述流分类器,用于接收所述控制器发来的所述第一策略信息; 所述流分类器还用于接收第一报文, 根据所述第一报文匹配的 第一过滤规则, 在所述第一策略信息中确定与所述第一过滤规则匹 配的第一业务标识、 以及与所述第一过滤规则匹配的所述第一业务 路由触发器的地址、 与所述第一过滤规则匹配的所述第二业务路由 触发器的地址; 向所述第一业务路由触发器发送第二报文, 所述第 二报文包括所述第一业务标识;
所述第一业务路由触发器, 用于根据所述第二报文携带的所述 第一业务标识, 在所述第二策略信息中确定与所述第一业务标识匹 配的第一业务节点序列, 依次触发所述第一业务节点序列中的业务 节点处理所述第二报文后, 将处理后的第二报文发送给所述第二业 务路由触发器;
所述第二业务路由触发器, 用于根据所述处理后的第二报文携 带的所述第一业务标识, 在所述第三策略信息中确定与所述第一业 务标识匹配的第二业务节点序列, 依次触发所述第二业务节点序列 中的业务节点处理所述第二报文。
可选地, 所述第一策略信息还可以包括租户标识, 所述业务标
识对应所述过滤规则和所述租户标识。
可选地, 所述流分类器, 具体用于根据所述第一过滤规则和所 述第一报文对应的第一租户标识, 在所述第一策略信息中确定与所 述第一过滤规则和所述第一租户标识匹配的所述第一业务标识、 以 及与所述第一过滤规则匹配的所述第一业务路由触发器的地址; 向 所述第一业务路由触发器发送所述第二报文。
可选地, 所述第二策略信息还可以包括: 所述业务标识对应的业务 节点序列之后的下一跳节点的地址。
在本发明实施例提供的报文处理系统中, 控制器向流分类器发 送第一策略信息, 向业务路由触发器发送第二策略信息, 流分类器 和业务路由触发器根据接收到的策略信息来处理报文, 实现了控制 器对流分类器和业务路由触发器的统一管理。 进一步地, 流分类器 根据第一策略信息对识别出需要进行业务处理的报文添加业务标识, 将添加业务标识的报文发送给业务路由触发器, 由业务路由触发器 控制触发业务标识所对应的业务节点序列中的业务节点处理所述报 文, 将处理后的报文按照路由表进行正常转发, 实现了对报文的业 务处理。 另外, 由于业务节点只需要按照业务路由触发器的控制触 发下对报文进行业务处理, 可以兼容各种不同业务能力的业务节点。 实施例三
如图 3所示, 本发明实施例提供一种报文处理方法, 包括: 304、 流分类器接收第一报文。
所述第一报文可以为 IP报文或以太报文, 第一报文可以是从用 户侧设备发来的, 也可以是从网络侧设备发来的, 本发明实施例对 此不做限定。
306、 所述流分类器根据所述第一报文匹配的第一过滤规则, 在 所述流分类器保存的策略信息中确定与所述第一过滤规则匹配的第 一业务标识、 以及与所述第一过滤规则匹配的第一业务路由触发器 的地址; 所述策略信息包括: 过滤规则、 业务路由触发器的地址和
所述过滤规则对应的业务标识, 其中所述过滤规则用于识别报文; 所述业务标识用于标识表示处理所述报文的业务节点序列。
所述第一过滤规则可以包括所述第一报文的源地址、 目 的地址、 源端口、 目 的端口和协议号中的一个或多个。 比如, 可以通过所述 第一 文的五元组信息 (源地址、 目 的地址、 源端口、 目 的端口和 协议号) 来标识所述第一报文所对应的第一报文流。 可选地, 所述 第一过滤规则可以是所述第一报文的五元组信息, 也可以是根据所 述第一报文的五元组信息通过一定的算法处理得到的数值, 例如通 过哈希( hash )算法所得到的数值。 当流分类器接收到第一报文时, 如果策略信息中的过滤规则是五元组信息, 则流分类器从所述第一 报文中获取五元组信息得到所述第一过滤规则。 如果策略信息中的 过滤规则是五元组信息通过特定的算法处理得到的数值, U 'J流分类 器从所述第一报文中获取所述第一报文的五元组信息, 对所述第一 报文的五元组信息进行该特定的算法运算得到的数值, 该得到的数 值为所述第一过滤规则。
308、 所述流分类器向所述第一业务路由触发器发送第二报文, 以使得所述第一业务路由触发器, 根据所述第二报文携带的所述第 一业务标识, 在第二策略信息中确定与所述第一业务标识匹配的处 理所述第二报文的第一业务节点序列, 依次触发所述第一业务节点 序列中的业务节点处理所述第二报文; 所述第二报文为将所述第一 业务标识添加到所述第一报文中形成的。
举例来说, 所述第二报文可以为将所述第一业务标识添加到所 述第一报文的报文头中形成的, 或者也可以将所述第一业务标识添 加到所述第一报文的净荷中形成的。
以所述第一^艮文为以太^艮文为例, 所述第一业务标识可以添加 到所述第一 文新增的 文头选项中, 或者, 也可以添加到所述以 太报文中的 IP报文头中, 或者, 也可以对所述第一报文头中的现有 字段重用, 也就是更改现有字段的含义来表示所述第一报文携带所 述第一业务标识。 例如可以对虚拟局域网 ( Virtual Local Area
Network , 简称为 VLAN ) 或 QINQ(IEEE 802. 1 Q in IEEE 802. 1 Q, 也 称 Stacked VLAN 或 Double VLAN)中的 VLAN 标识 (也称 VLAN ID ) , 或者多协议标签交换( Multi-protocol Label Switching , 简称为 MPLS ) 中的标签 ( LABEL ) 进行重用, 也可以对源 MAC地址的部 分或全部进行转义重用。 其中, 在所述第一报文中新增的报文头选 项的格式如表一所示: 在源 MAC地址和 VLAN ID之间增加一个类 型字段, 用以指示该第一报文是否携带业务标识以及所述第一业务 标识。 比如可以定义类型值为 0时表示该第一报文未携带业务标识, 这时业务 ID的值为 0 ; 类型值为 1 时表示该第一报文携带有业务标 识。 业务 ID的值即为该第一报文携带的第一业务标识。
可选地, 该报文处理方法中, 在接收第一报文之前, 还可以包 括: 302、 流分类器接收控制器发来的所述第一策略信息。
其中,具有相同业务标识 ID的报文流通过相同的业务节点处理, 且通过的业务节点处理的顺序相同。 具有不同业务 ID的报文通过相 同的业务节点处理, 通过的业务节点处理的顺序不同; 或者具有不 同业务 ID的报文通过不同的业务节点处理。 进一步地, 在本发明实 施例的具体实现时, 如果同一 文流中的两个不同的 文分配了两 个不同的业务 ID, 则意味着虽然所述两个不同的报文所需进行的业 务处理相同, 但是所述报文流却由不同的业务节点进行处理, 这样 可以实现报文处理的负载均衡。 例如都是先经过防火墙处理, 再经 过 NAT设备处理,但是所述两个报文却由不同的业务节点进行处理, 这样可以实现 文处理的负载均衡。 可选地, 可以对 文流的 ^艮文 进行细分来实现对同一报文流处理的负载均衡。 例如, 以相同的源 地址和相同的目 的地址来标识同一 文流, 为了对该同一 文流的 报文处理实现负载均衡, 可以根据协议号对该同一报文流的报文进 行细分, 假设为该同一报文流中协议号大于 50的报文分配一个业务 ID , 用于标识该报文先经过防火墙实例 1处理, 再经过 NAT设备实 例 1处理。 为该同一报文流中协议号小于等于 50的报文分配另一个 业务 ID, 用于标识该报文先经过防火墙 2处理, 再经过 NAT设备 2
处理。 这样有助于实现同一报文流处理的负载均衡。 可选地, 如果 不同的报文流,例如报文流 1和报文流 2需要进行相同的业务处理, 例如都是先经过 NAT设备处理, 再经过防火墙处理, 可以为报文流 1 的 文和 文流 2 的 文分配相同的业务 ID。 当然, 也可以为才艮 文流 1 的报文和报文流 2的报文分配不同的业务 ID, 有助于实现负 载均衡。
可选地, 所述第一策略信息还可以包括租户标识, 所述业务标 识对应所述过滤规 U 'J和所述租户标识; 所述流分类器确定所述第一 业务标识的步骤, 具体为: 所述流分类器根据所述第一过滤规则和 所述第一报文对应的第一租户标识, 在所述策略信息中确定与所述 第一过滤规则和所述第一租户标识匹配的所述第一业务标识、 以及 与所述第一业务路由触发器的地址。
可选地, 当所述报文处理方法应用于多租户业务的场景时, 所述策 略信息包括: 业务标识、 租户标识、 所述业务标识和所述租户标识对应的 业务节点序列、所述业务标识和所述租户标识对应的业务路由触发器的地 址。
本发明实施例提供的报文处理方法, 流分类器接收控制器发送 的策略信息; 流分类器将分类后需要业务处理的报文添加业务标识, 并将携带所述业务标识的报文发送给业务路由器触发器, 业务路由 触发器控制触发业务节点处理该报文, 业务节点对所述添加了业务 标识的报文处理后, 可以在业务路由触发器控制下将处理后的报文 流转发给下一个业务节点或者按照路由表进行正常转发, 实现了对 报文流的业务处理。 另外, 由于业务节点只需要按照业务路由触发 器的控制触发下对报文进行业务处理, 可以兼容各种不同业务能力 的业务节点。 实施例四
如图 4所示, 本发明实施例提供一种报文处理方法, 包括: S404、 业务路由触发器接收第一报文, 所述第一报文携带第一
业务标识;
S406、 所述业务路由触发器根据所述第一业务标识, 在所述业 务路由触发器保存的策略信息中, 确定与所述第一业务标识匹配的 第一业务节点序列;
S408、 所述业务路由触发器, 按照所述第一业务节点序列依次 触发所述第一业务节点序列中的业务节点处理所述第一报文。
可选地, 在所述业务路由触发器接收流分类器发送的所述第一 才艮文之前, 还可以包括:
S402、 所述业务路由触发器接收控制器发送的所述策略信息。 可选地, 所述策略信息包括: 业务标识、 与所述业务标识匹配 的处理报文的业务节点序列; 所述业务标识用于表示处理报文的业 务节点的序列。
可选地, 所述策略信息还可以包括: 所述业务标识对应的所述 业务节点序列中的业务节点的地址。
可选地, 所述策略信息还可以包括: 所述业务标识对应的所述 业务节点序列之后的下一跳节点的地址。 对应地, 所述方法还可以包括: 所述业务路由触发器接收流分类器在所第一述业务节点序列的最后 一个业务节点处理完所述第二报文后, 将处理后第二报文发送到所 述业务节点序列之后的下一跳节点。
其中, 具有相同业务 ID的报文流通过相同的业务节点处理, 且 通过的业务节点处理的顺序相同。 具有不同业务 ID的报文通过相同 的业务节点处理, 通过的业务节点处理的顺序不同; 或者具有不同 业务 ID 的报文通过不同的业务节点处理。 举例来说, 业务 ID 为 1 的报文先由第一业务节点 26- 1进行处理,再由第二业务节点实例 28 进行处理。 而业务 ID为 2的报文则先由第二业务节点实例 28进行 处理, 再由第一业务节点 26- 1进行处理。 可选地, 如果同一报文流 中的两个不同的报文分配了两个不同的业务 ID, 则意味着虽然所述 两个不同的报文所需进行的业务处理相同, 例如都是先经过防火墙 处理, 再经过 NAT设备处理, 但是所述两个报文却由不同的业务节
点进行处理, 这样可以实现报文处理的负载均衡。 可选地, 可以对 报文流的报文进行细分来实现对同一报文流处理的负载均衡。 例如, 以相同的源地址和相同的目的地址来标识同一 文流, 为了对该同 一报文流的报文处理实现负载均衡, 可以根据协议号对该同一报文 流的报文进行细分, 假设为该同一报文流中协议号大于 50的报文分 配一个业务 ID, 用于标识该报文先经过防火墙 1处理, 再经过 NAT 设备 1处理。 为该同一报文流中协议号小于等于 50的报文分配另一 个业务 ID, 用于标识该报文先经过防火墙 2处理, 再经过 NAT设备 2 处理。 这样有助于实现同一报文流处理的负载均衡。 可选地, 如 果不同的报文流, 例如报文流 1 和报文流 2需要进行相同的业务处 理, 例如都是先经过 NAT设备处理, 再经过防火墙处理, 可以为报 文流 1 的^艮文和 文流 2的 文分配相同的业务 ID。 当然, 也可以 为报文流 1 的报文和报文流 2的报文分配不同的业务 ID, 有助于实 现负载均衡。
业务节点可以为逻辑功能实体, 需要说明的是, 通常一个业务 节点具有一个可达的地址。 所述业务节点的地址可以是 IP 地址或 MAC地址。 只要业务节点具有一个可达的地址, 业务节点为一个物 理实体还是逻辑实体, 本发明实施例并不做限定。 此外, 为了方便 理解业务节点实例, 可以以提供防火墙功能的业务节点实例进行举 例说明。 通常, 可以把防火墙功能安装在很多服务器上。 这样安装 有防火墙功能的服务器就可以提供防火墙功能的业务处理, 并且安 装有防火墙功能的多个服务器都有不同的地址。 这样, 每个安装有 防火墙功能的服务器就可以称之为一个业务节点实例。 也就是说, 每个业务节点实例具有一个可达的地址, 且能单独处理至少一种业 务。 在本发明实施例的具体实现时, 由业务路由触发器来确定选择 哪些业务节点以及按照哪种顺序来处理该报文。 例如, 业务路由触 发器可以根据业务节点实例的处理能力和业务负载状况来选择合适 的业务节点实例来处理该报文。
本发明实施例提供的报文处理方法, 业务路由触发器接收携带
业务标识的报文, 根据所述第一业务标识及自身保存的策略信息, 获取 与所述第一业务标识匹配的处理所述第一报文的第一业务节点序列、所述 第一业务节点序列中第一个业务节点的地址、以及所述第一业务节点序列 之后的下一跳节点的地址, 实现了对报文流的业务处理。 实施例五
一种报文处理方法, 包括:
第一业务路由触发器接收第一报文, 所述第一报文携带第一业 务标识;
所述第一业务路由触发器根据所述第一业务标识, 在所述第一 业务路由触发器保存的第一策略信息中, 确定与所述第一业务标识 匹配的第一业务节点序列及第二业务路由触发器的地址;
所述第一业务路由触发器, 按照所述第一业务节点序列依次触 发所述第一业务节点序列中的业务节点处理所述第一报文之后, 将 所述第一报文转发给所述第二业务路由触发器;
所述第二业务路由触发器根据所述第一业务标识, 在所述第二 业务路由触发器保存的第二策略信息中, 确定与所述第一业务标识 匹配的第二业务节点序列;
所述第二业务路由触发器, 按照所述第二业务节点序列依次触 发所述第二业务节点序列中的业务节点处理所述第一报文。
可选地, 在所述第一业务路由触发器和所述第二业务路由触发 器接收所述第一报文之前, 还可以包括: 所述第一业务路由触发器 接收控制器发送的所述第一策略信息, 所述第二业务路由触发器接 收控制器发送的所述第二策略信息。
本发明实施例提供的报文处理方法, 业务路由触发器接收携带 业务标识的报文, 根据所述第一业务标识及自身保存的策略信息, 获取 与所述第一业务标识匹配的处理所述第一报文的第一业务节点序列、所述 第一业务节点序列中第一个业务节点的地址、以及所述第一业务节点序列 之后的下一跳节点的地址, 实现了对报文流的业务处理。
实施例六
本发明实施例提供一种流分类器, 如图 5所示, 图 5为本发明 实施例提供的流分类器的装置示意图。
该流分类器包括输入电路 51、 处理器 52、 输出电路 53和存储 器 54。 其中
所述输入电路 5 1, 用于接收第一报文;
所述第一报文可以为 IP报文或以太报文。第一报文可以是从用 户侧设备发来的, 也可以是从网络侧设备发来的, 本发明实施例对 此不做限定。
所述处理器 52, 用于根据所述第一报文匹配的第一过滤规则, 在存储器 54 保存的策略信息中确定与所述第一过滤规则匹配的第 一业务标识、 以及与所述第一过滤规则匹配的第一业务路由触发器 的地址; 触发所述输出电路 53向所述第一业务路由触发器发送第二 报文, 所述第二报文为将所述第一业务标识添加到所述第一报文中 形成的。
所述第一过滤规则可以包括所述第一报文的源地址、 目 的地址、 源端口、 目 的端口和协议号中的一个或多个。 比如, 可以通过所述 第一 文的五元组信息 (源地址、 目 的地址、 源端口、 目 的端口和 协议号) 来标识所述第一报文所对应的第一报文流。 可选地, 所述 第一过滤规则可以是所述第一报文的五元组信息, 也可以是根据所 述第一报文的五元组信息通过一定的算法处理得到的数值, 例如通 过哈希 ( hash ) 算法处理所得到的数值。 当所述输入电路 5 1接收到 所述第一报文时, 如果策略信息中的过滤规则是五元组信息, 则所 述处理器 52 从所述第一报文中获取五元组信息得到所述第一过滤 规则。 如果策略信息中的过滤规则是五元组信息通过特定的算法得 到的数值, 则所述处理器 52从所述第一报文中获取所述第一报文的 五元组信息, 对所述第一报文的五元组信息进行该特定的算法运算 得到数值, 该得到的数值为所述第一过滤规则。
输出电路 53, 用于向所述第一业务路由触发器发送所述第二报 文, 以使得所述第一业务路由触发器, 根据所述第二报文携带的所 述第一业务标识, 在第二策略信息中确定与所述第一业务标识匹配 的处理所述第二报文的第一业务节点序列, 依次触发所述第一业务 节点序列中的业务节点处理所述第二报文。
存储器 54, 用于保存所述策略信息。
所述第二报文为将所述第一业务标识添加到所述第一报文中形 成的。 举例来说, 所述第二报文可以为将所述第一业务标识添加到 所述第一报文的报文头中形成的, 或者也可以将所述第一业务标识 添加到所述第一报文的净荷中形成的。
以所述第一^艮文为以太^艮文为例, 所述第一业务标识可以添加 到所述第一 文新增的 文头选项中, 或者, 也可以添加到所述以 太报文中的 IP报文头中, 或者, 也可以对所述第一报文头中的现有 字段重用, 也就是更改现有字段的含义来表示所述第一报文携带所 述第一业务标识。 例如可以对虚拟局域网 ( Virtual Local Area Network , 简称为 VLAN ) 或 QINQ(IEEE 802. 1 Q in IEEE 802. 1 Q, 也 称 Stacked VLAN 或 Double VLAN)中的 VLAN 标识 (也称 VLAN ID ) , 或者多协议标签交换 ( Multi-protocol Label Switching , 简称为 MPLS ) 中的标签 ( LABEL ) 进行重用, 也可以对源 MAC地址的部 分或全部进行转义重用。 其中, 在所述第一报文中新增的报文头选 项的格式如表一所示: 在源 MAC地址和 VLAN ID之间增加一个类 型字段, 用以指示该第一报文是否携带业务标识以及所述第一业务 标识。 比如可以定义类型值为 0时表示该第一报文未携带业务标识, 这时业务 ID的值为 0 ; 类型值为 1 时表示该第一报文携带有业务标 识。 业务 ID的值即为该第一报文携带的第一业务标识。
可选地, 所述输入电路 5 1, 还用于接收控制器发来的所述第一 策略信息, 所述第一策略信息包括: 过滤规则、 业务路由触发器的 地址、 所述过滤规则对应的业务标识, 其中所述过滤规则用于识别 报文; 所述业务标识用于标识处理所述报文的业务节点序列。
可选地, 所述第一策略信息还可以包括租户标识, 所述业务标 识对应所述过滤规则和所述租户标识。 对应地, 所述处理器 52, 具 体用于: 根据所述第一过滤规则和所述第一报文对应的第一租户标 识, 在所述第一策略信息中确定与所述第一过滤规则和所述第一租 户标识匹配的所述第一业务标识、 以及与所述第一过滤规则匹配和 所述第一租户标识的第一业务路由触发器的地址; 触发所述输出电 路 53向所述第一业务路由触发器发送第二报文。
可选地, 控制器可以基于报文流来分配业务处理策略, 控制器 根据报文对应的业务处理策略, 下发第一策略信息给流分类器。 所 述第一策略信息包括: 过滤规则、 业务路由触发器的地址、 所述过 滤规则对应的业务标识, 其中所述过滤规则用于识别 文; 所述业 务标识用于标识处理所述报文的业务节点序列。 其中, 具有相同业 务标识 ID的报文流通过相同的业务节点实例处理,且通过的业务节 点处理的顺序相同。具有不同业务 ID的报文通过相同的业务节点处 理, 通过的业务节点处理的顺序不同; 或者具有不同业务 ID的报文 通过不同的业务节点处理。 进一步地, 在本发明实施例的具体实现 时,如果同一 文流中的两个不同的 文分配了两个不同的业务 ID, 则意味着虽然所述两个不同的报文所需进行的业务处理相同, 但是 所述报文流却由不同的业务节点实例进行处理, 这样可以实现报文 处理的负载均衡。 例如都是先经过防火墙处理, 再经过 NAT设备处 理, 但是所述两个报文却由不同的业务节点进行处理, 这样可以实 现报文处理的负载均衡。 可选地, 可以对报文流的报文进行细分来 实现对同一 文流处理的负载均衡。 例如, 以相同的源地址和相同 的目 的地址来标识同一报文流, 为了对该同一报文流的报文处理实 现负载均衡, 可以根据协议号对该同一报文流的报文进行细分, 假 设为该同一报文流中协议号大于 50 的报文分配一个业务 ID, 用于 标识该报文先经过防火墙 1处理, 再经过 NAT设备 1处理。 为该同 一报文流中协议号小于等于 50 的报文分配另一个业务 ID, 用于标 识该报文先经过防火墙 2处理, 再经过 NAT设备 2处理。 这样有助
于实现同一报文流处理的负载均衡。 可选地, 如果不同的报文流, 例如报文流 1 和报文流 2需要进行相同的业务处理, 例如都是先经 过 NAT设备处理, 再经过防火墙处理, 可以为报文流 1 的报文和报 文流 2的报文分配相同的业务 ID。 当然, 也可以为报文流 1 的报文 和报文流 2的报文分配不同的业务 ID, 有助于实现负载均衡。
本发明实施例提供的流分类器, 根据策略信息对接收到的报文 添加业务标识, 以使得业务路由触发器根据该业务标识, 控制触发 该业务标识对应的业务节点对所述添加了业务标识的报文处理, 实 现了对报文的业务处理。 实施例七
如图 6所示, 本发明实施例提供一种业务路由触发器, 包括输 入电路 61、 处理器 62和触发器 63。 其中
所述输入电路 61, 用于接收第一报文, 所述第一报文携带第一 业务标识。
举例来说, 与所述第一报文匹配的第一业务标识可以携带在所 述第一报文的报文头中, 所述第一业务标识也可以携带在所述第一 报文的净荷中。
以所述第一 文为以太^艮文为例, 所述第一业务标识可以添加 到所述第一 文新增的 文头选项中, 或者, 也可以添加到所述以 太报文中的 IP报文头中, 或者, 也可以对所述第一报文头中的现有 字段重用, 也就是更改现有字段的含义来表示所述第一报文携带所 述第一业务标识。 例如可以对虚拟局域网 ( Virtual Local Area Network , 简称为 VLAN ) 或 QINQ(IEEE 802. 1 Q in IEEE 802. 1 Q, 也 称 Stacked VLAN 或 Double VLAN)中的 VLAN 标识 (也称 VLAN ID ) , 或者多协议标签交换 ( Multi-protocol Label Switching , 简称为 MPLS ) 中的标签 ( LABEL ) 进行重用, 也可以对源 MAC地址的部 分或全部进行转义重用。 其中, 在所述第一报文中新增的报文头选 项的格式如表一所示: 在源 MAC地址和 VLAN ID之间增加一个类
型字段, 用以指示该第一报文是否携带业务标识以及所述第一业务 标识。 比如可以定义类型值为 0时表示该第一报文未携带业务标识, 这时业务 ID的值为 0 ; 类型值为 1 时表示该第一报文携带有业务标 识。 业务 ID的值即为该第一报文携带的第一业务标识。
所述处理器 62, 根据所述第一业务标识, 在所述业务路由触发 器保存的策略信息中, 确定与所述第一业务标识匹配的第一业务节 点序列、 所述第一业务节点序列中的业务节点的地址。
所述触发器 63, 用于按照所述第一业务节点序列依次触发所述 第一业务节点序列中的业务节点处理所述第一报文。
可选地, 所述业务路由触发器还可以包括存储器 64, 所述存储 器 64用于保存所述策略信息。
可选地, 所述输入电路 61, 用于接收控制器发送的策略信息。 可选地, 所述策略信息包括: 业务标识、 与所述业务标识匹配 的处理报文的业务节点序列、 所述业务节点序列中的业务节点的地 址; 所述业务标识用于表示处理报文的业务节点的序列。
可选地, 所述策略信息还包括: 所述业务节点序列之后的下一跳 节点的地址。
在本发明实施例的具体实现时, 控制器可以基于报文流来分配 业务处理策略, 控制器根据报文流对应的业务处理策略, 下发策略 信息给业务节点实例。 其中, 具有相同业务 ID的报文流通过相同的 业务节点实例处理, 且通过的业务节点实例处理的顺序相同。 举例 来说, 业务 ID= 1 的报文先由第一业务节点 16进行处理, 再由第二 业务节点实例 18进行处理。 而业务 ID=2 的报文则先由第二业务节 点实例 18进行处理, 再由第一业务节点 16进行处理。 可选地, 如 果同一报文流中的两个不同的报文分配了两个不同的业务 ID, 则意 味着虽然所述两个不同的报文所需进行的业务处理相同, 例如都是 先经过防火墙处理, 再经过 NAT设备处理, 但是所述两个报文却由 不同的业务节点实例进行处理, 这样可以实现报文处理的负载均衡。 可选地, 可以对报文流的报文进行细分来实现对同一报文流处理的
负载均衡。 例如, 以相同的源地址和相同的目 的地址来标识同一才艮 文流, 为了对该同一报文流的报文处理实现负载均衡, 可以根据协 议号对该同一报文流的报文进行细分, 假设为该同一报文流中协议 号大于 50 的报文分配一个业务 ID, 用于标识该报文先经过防火墙 实例 1处理, 再经过 NAT设备实例 1处理。 为该同一报文流中协议 号小于等于 50 的报文分配另一个业务 ID, 用于标识该报文先经过 防火墙实例 2处理, 再经过 NAT设备实例 2处理。 这样有助于实现 同一报文流处理的负载均衡。 可选地, 如果不同的报文流, 例如报 文流 1 和报文流 2需要进行相同的业务处理, 例如都是先经过 NAT 设备处理, 再经过防火墙处理, 可以为报文流 1 的报文和报文流 2 的报文分配相同的业务 ID。 当然, 也可以为报文流 1 的报文和报文 流 2的报文分配不同的业务 ID, 有助于实现负载均衡。
第一业务节点可以为逻辑功能实体, 需要说明的是, 通常一个 业务节点实例具有一个可达的地址, 例如可达的 IP地址或 MAC地 址, 这样只要第一业务节点具有一个可达的地址, 第一业务节点为 一个物理实体还是逻辑实体, 本发明实施例并不做限定。 此外, 为 了方便理解业务节点实例, 我们以提供防火墙功能的业务节点实例 进行举例说明,通常,我们可以把防火墙功能安装在很多服务器上, 例如虚拟机 VM上。 这样安装有防火墙功能的服务器都可以提供防 火墙功能的业务处理, 并且安装有防火墙功能的服务器都有不同的 地址。 这样, 每个安装有防火墙功能的服务器就可以称之为一个业 务节点实例。 也就是说, 每个业务节点实例包括一个可达的地址, 且能单独处理一种业务。 在本发明实施例的具体实现时, 由控制器 来确定选择第一业务节点来处理该报文流。 例如, 控制器可以根据 业务节点实例的处理能力, 业务负载状况来选择合适的业务节点实 例来处理该报文流。
可选地,所述输出电路 63还用于向控制器发送请求获取所述策 略信息的报文, 相应的, 所述输入电路 61还用于接收所述控制器根 据所述触发器 63发出的请求获取所述策略信息的报文, 发出的所述
策略信息。
本发明实施例提供的业务路由触发器, 接收携带业务标识的报 文, 控制触发该业务标识匹配的业务节点序列中的业务节点处理所 述报文, 实现了对报文流的业务处理。 实施例八
如图 7所示, 本发明实施例提供一种流分类器, 包括接收单元 71、 处理单元 72、 发送单元 73和存储单元 74。 其中
所述接收单元 71, 用于接收第一报文;
所述第一报文可以为 IP报文或以太报文。第一报文可以是从用 户侧设备发来的, 也可以是从网络侧设备发来的, 本发明实施例对 此不做限定。
所述处理单元 72, 用于根据所述第一报文匹配的第一过滤规则, 在存储单元 74 保存的策略信息中确定与所述第一过滤规则匹配的 第一业务标识、 以及与所述第一过滤规则匹配的第一业务路由触发 器的地址; 触发所述发送单元 73向所述第一业务路由触发器发送第 二报文, 所述第二报文为将所述第一业务标识添加到所述第一报文 中形成的。
举所述第一过滤规则可以包括所述第一报文的源地址、 目的地 址、 源端口、 目 的端口和协议号中的一个或多个。 比如, 可以通过 所述第一报文的五元组信息 ( 源地址、 目 的地址、 源端口、 目 的端 口和协议号) 来标识所述第一报文所对应的第一报文流。 可选地, 所述第一过滤规则可以是所述第一报文的五元组信息, 也可以是根 据所述第一报文的五元组信息通过一定的算法处理得到的数值, 例 如通过哈希 ( hash ) 算法处理所得到的数值。 当所述输入电路 5 1接 收到所述第一报文时, 如果策略信息中的过滤规则是五元组信息, 则所述处理单元 72 从所述第一报文中获取五元组信息得到所述第 一过滤规则。 如果策略信息中的过滤规则是五元组信息通过特定的 算法得到的数值, 则所述处理单元 72从所述第一报文中获取所述第
一报文的五元组信息, 对所述第一报文的五元组信息进行该特定的 算法运算得到数值, 该得到的数值为所述第一过滤规则。
发送单元 73, 用于向所述第一业务路由触发器发送所述第二报 文, 以使得所述第一业务路由触发器, 根据所述第二报文携带的所 述第一业务标识, 在第二策略信息中确定与所述第一业务标识匹配 的处理所述第二报文的第一业务节点序列, 依次触发所述第一业务 节点序列中的业务节点处理所述第二报文。
存储单元 74, 用于保存所述策略信息。
所述第二报文为将所述第一业务标识添加到所述第一报文中形 成的。 举例来说, 所述第二报文可以为将所述第一业务标识添加到 所述第一报文的报文头中形成的, 或者也可以将所述第一业务标识 添加到所述第一报文的净荷中形成的。
以所述第一^艮文为以太^艮文为例, 所述第一业务标识可以添加 到所述第一 文新增的 文头选项中, 或者, 也可以添加到所述以 太报文中的 IP报文头中, 或者, 也可以对所述第一报文头中的现有 字段重用, 也就是更改现有字段的含义来表示所述第一报文携带所 述第一业务标识。 例如可以对虚拟局域网 ( Virtual Local Area Network , 简称为 VLAN ) 或 QINQ(IEEE 802. 1 Q in IEEE 802. 1 Q, 也 称 Stacked VLAN 或 Double VLAN)中的 VLAN 标识 (也称 VLAN ID ) , 或者多协议标签交换 ( Multi-protocol Label Switching , 简称为 MPLS ) 中的标签 ( LABEL ) 进行重用, 也可以对源 MAC地址的部 分或全部进行转义重用。 其中, 在所述第一报文中新增的报文头选 项的格式如表一所示: 在源 MAC地址和 VLAN ID之间增加一个类 型字段, 用以指示该第一报文是否携带业务标识以及所述第一业务 标识。 比如可以定义类型值为 0时表示该第一报文未携带业务标识, 这时业务 ID的值为 0 ; 类型值为 1 时表示该第一报文携带有业务标 识。 业务 ID的值即为该第一报文携带的第一业务标识。
可选地, 所述接收单元 7 1, 还用于接收控制器发来的所述第一 策略信息。
可选地, 所述第一策略信息可以包括: 过滤规则、 业务路由触 发器的地址、 所述过滤规则对应的业务标识, 其中所述过滤规则用 于识别报文; 所述业务标识用于标识处理所述报文的业务节点序列。
可选地, 所述第一策略信息还可以包括租户标识, 所述业务标 识对应所述过滤规则和所述租户标识。 对应地, 所述处理单元 72, 具体用于: 根据所述第一过滤规则和所述第一报文对应的第一租户 标识, 在所述第一策略信息中确定与所述第一过滤规则和所述第一 租户标识匹配的所述第一业务标识、 以及与所述第一过滤规则匹配 和所述第一租户标识的第一业务路由触发器的地址; 触发所述发送 单元向所述第一业务路由触发器发送第二报文。
可选地, 控制器可以基于报文流来分配业务处理策略, 控制器 根据报文对应的业务处理策略, 下发第一策略信息给流分类器。 所 述第一策略信息包括: 过滤规则、 业务路由触发器的地址、 所述过 滤规则对应的业务标识, 其中所述过滤规则用于识别 文; 所述业 务标识用于标识处理所述报文的业务节点序列。 其中, 具有相同业 务标识 ID的报文流通过相同的业务节点实例处理,且通过的业务节 点处理的顺序相同。具有不同业务 ID的报文通过相同的业务节点处 理, 通过的业务节点处理的顺序不同; 或者具有不同业务 ID的报文 通过不同的业务节点处理。 进一步地, 在本发明实施例的具体实现 时,如果同一 文流中的两个不同的 文分配了两个不同的业务 ID, 则意味着虽然所述两个不同的报文所需进行的业务处理相同, 但是 所述报文流却由不同的业务节点实例进行处理, 这样可以实现报文 处理的负载均衡。 例如都是先经过防火墙处理, 再经过 NAT设备处 理, 但是所述两个报文却由不同的业务节点进行处理, 这样可以实 现报文处理的负载均衡。 可选地, 可以对报文流的报文进行细分来 实现对同一 文流处理的负载均衡。 例如, 以相同的源地址和相同 的目 的地址来标识同一报文流, 为了对该同一报文流的报文处理实 现负载均衡, 可以根据协议号对该同一报文流的报文进行细分, 假 设为该同一报文流中协议号大于 50 的报文分配一个业务 ID, 用于
标识该报文先经过防火墙 1处理, 再经过 NAT设备 1处理。 为该同 一报文流中协议号小于等于 50 的报文分配另一个业务 ID, 用于标 识该报文先经过防火墙 2处理, 再经过 NAT设备 2处理。 这样有助 于实现同一报文流处理的负载均衡。 可选地, 如果不同的报文流, 例如报文流 1 和报文流 2需要进行相同的业务处理, 例如都是先经 过 NAT设备处理, 再经过防火墙处理, 可以为报文流 1 的报文和报 文流 2的报文分配相同的业务 ID。 当然, 也可以为报文流 1 的报文 和报文流 2的报文分配不同的业务 ID, 有助于实现负载均衡。
本发明实施例提供的流分类器, 根据策略信息对接收到的报文 添加业务标识, 以使得业务路由触发器根据该业务标识, 控制触发 该业务标识对应的业务节点对所述添加了业务标识的报文处理, 实 现了对报文的业务处理。 实施例九
如图 8所示, 本发明实施例提供一种业务路由触发器包括接收 单元 81、 处理单元 82和触发单元 83。 其中
所述接收单元 81, 用于接收第一报文, 所述第一报文携带第一 业务标识。
举例来说, 与所述第一报文匹配的第一业务标识可以携带在所 述第一报文的报文头中, 所述第一业务标识也可以携带在所述第一 报文的净荷中。
以所述第一 文为以太^艮文为例, 所述第一业务标识可以添加 到所述第一 文新增的 文头选项中, 或者, 也可以添加到所述以 太报文中的 IP报文头中, 或者, 也可以对所述第一报文头中的现有 字段重用, 也就是更改现有字段的含义来表示所述第一报文携带所 述第一业务标识。 例如可以对虚拟局域网 ( Virtual Local Area Network , 简称为 VLAN ) 或 QINQ(IEEE 802. 1 Q in IEEE 802. 1 Q, 也 称 Stacked VLAN 或 Double VLAN)中的 VLAN 标识 (也称 VLAN ID ) , 或者多协议标签交换( Multi-protocol Label Switching , 简称为
MPLS ) 中的标签 ( LABEL ) 进行重用, 也可以对源 MAC地址的部 分或全部进行转义重用。 其中, 在所述第一报文中新增的报文头选 项的格式如表一所示: 在源 MAC地址和 VLAN ID之间增加一个类 型字段, 用以指示该第一报文是否携带业务标识以及所述第一业务 标识。 比如可以定义类型值为 0时表示该第一报文未携带业务标识, 这时业务 ID的值为 0 ; 类型值为 1 时表示该第一报文携带有业务标 识。 业务 ID的值即为该第一报文携带的第一业务标识。
所述处理单元 82, 根据所述第一业务标识, 在所述业务路由触 发器保存的策略信息中, 确定与所述第一业务标识匹配的处理所述 第一报文的第一业务节点序列、 所述第一业务节点序列中的业务节 点的地址。
所述触发单元 83, 用于按照所述第一业务节点序列依次触发所 述第一业务节点序列中的业务节点处理所述第一报文。
可选地, 所述业务路由触发器还可以包括存储单元 84, 所述存 储单元 84用于保存所述策略信息。
可选地, 所述接收单元 8 1, 用于接收控制器发送的策略信息。 可选地, 所述策略信息可以包括: 业务标识、 与所述业务标识 匹配的处理报文的业务节点序列、 所述业务节点序列中的业务节点 的地址; 所述业务标识用于表示处理报文的业务节点的序列。
可选地, 所述策略信息还包括: 所述业务节点序列之后的下一跳 节点的地址。
在本发明实施例的具体实现时, 控制器可以基于报文流来分配 业务处理策略, 控制器根据报文流对应的业务处理策略, 下发策略 信息给业务节点实例。 其中, 具有相同业务 ID的报文流通过相同的 业务节点实例处理, 且通过的业务节点实例处理的顺序相同。 举例 来说, 业务 ID= 1 的报文先由第一业务节点 16进行处理, 再由第二 业务节点实例 18进行处理。 而业务 ID=2 的报文则先由第二业务节 点实例 18进行处理, 再由第一业务节点 16进行处理。 可选地, 如 果同一报文流中的两个不同的报文分配了两个不同的业务 ID, 则意
味着虽然所述两个不同的报文所需进行的业务处理相同, 例如都是 先经过防火墙处理, 再经过 NAT设备处理, 但是所述两个报文却由 不同的业务节点实例进行处理, 这样可以实现报文处理的负载均衡。 可选地, 可以对报文流的报文进行细分来实现对同一报文流处理的 负载均衡。 例如, 以相同的源地址和相同的目 的地址来标识同一才艮 文流, 为了对该同一报文流的报文处理实现负载均衡, 可以根据协 议号对该同一报文流的报文进行细分, 假设为该同一报文流中协议 号大于 50 的报文分配一个业务 ID, 用于标识该报文先经过防火墙 实例 1处理, 再经过 NAT设备实例 1处理。 为该同一报文流中协议 号小于等于 50 的报文分配另一个业务 ID, 用于标识该报文先经过 防火墙实例 2处理, 再经过 NAT设备实例 2处理。 这样有助于实现 同一报文流处理的负载均衡。 可选地, 如果不同的报文流, 例如报 文流 1 和报文流 2需要进行相同的业务处理, 例如都是先经过 NAT 设备处理, 再经过防火墙处理, 可以为报文流 1 的报文和报文流 2 的报文分配相同的业务 ID。 当然, 也可以为报文流 1 的报文和报文 流 2的报文分配不同的业务 ID, 有助于实现负载均衡。
第一业务节点可以为逻辑功能实体, 需要说明的是, 通常一个 业务节点实例具有一个可达的地址, 例如可达的 IP地址或 MAC地 址, 这样只要第一业务节点具有一个可达的地址, 第一业务节点为 一个物理实体还是逻辑实体, 本发明实施例并不做限定。 此外, 为 了方便理解业务节点实例, 我们以提供防火墙功能的业务节点实例 进行举例说明,通常,我们可以把防火墙功能安装在很多服务器上, 例如虚拟机 VM上。 这样安装有防火墙功能的服务器都可以提供防 火墙功能的业务处理, 并且安装有防火墙功能的服务器都有不同的 地址。 这样, 每个安装有防火墙功能的服务器就可以称之为一个业 务节点实例。 也就是说, 每个业务节点实例包括一个可达的地址, 且能单独处理一种业务。 在本发明实施例的具体实现时, 由控制器 来确定选择第一业务节点来处理该报文流。 例如, 控制器可以根据 业务节点实例的处理能力, 业务负载状况来选择合适的业务节点实
例来处理该报文流。
所述接收单元 81还用于接收所述控制器发送的所述策略信息。 本发明实施例提供的业务路由触发器, 接收携带业务标识的报 文, 控制触发该业务标识匹配的业务节点序列中的业务节点处理所 述报文, 实现了对报文流的业务处理。 实施例十
本发明实施例的技术方案在移动宽带领域的应用场景如图 9所 示。 图 9 给出了一个本发明实施例的技术方案在移动宽带接入的应 用示意, 其中流分类器功能部署在移动宽带用户接入设备上, 如 GGSN/P-GW上,分别部署了接入不同增值业务的两个业务路由触发 器。 其中业务路由触发器 1 和接入设备在同一局域网内。 业务路由 触发器 2部署在集中的城域数据中心中。 一个针对上行 Web访问的 报文流的业务节点序列需要依次经过应用緩存加速、 防火墙和 NAT 地址转换三个业务节点的处理。
业务节点序列 10 包括处理应用緩存加速的业务节点 1、 进行防 火墙处理的业务节点 2、 对报文进行 NAT地址转换处理的业务节点 3,业务节点序列 10 中各个业务节点处理报文的顺序为业务节点 1 -〉 业务节点 2-〉业务节点 3。 业务节点 1 的地址、 业务节点 2 的地址、 业务节点 3的地址、 所述业务节点序列 10可以预先存放于控制器中 或者存放在控制器可以访问的策略数据库中。
控制器根据业务节点序列 10和用户签约信息、还有业务节点序 列相关的业务节点的物理部署信息进行策略决策, 给出业务节点序 列 10的物理部署信息如表 1所示:
表 1
业务 • 业务序列 (应用缓存 • 业务路由触发器 2
流分类器 1、
节点 全 和加速) • 业务序列 (防火墙、
10 Web访问过滤
序列 部 • 下一个业务路由触 NAT地址转换)
规则
10 发器: 业务路由触发 • 业务链结束
器 2 控制器把第一策略信息下发给流分类器, 控制器把第二策略信 息下发给业务路由触发器 1, 控制器向业务路由触发器 2 下发第三 策略信息。
所述第一策略信息包括: 业务节点序列的用户签约信息、 所述 业务节点序列的流过滤规则、 所述业务节点序列对应的业务标识、 所述业务节点序列的下一跳业务节点的地址信息。 业务节点序列 10 对应的第一策略信息中的表项包括:
业务节点序列 10的用户签约信息: 全部用户签约; 业务节点序列 10 的流过滤规则 " Web访问过滤规则"、 业 务标识: 10
下一跳业务节点实例的地址信息: 业务路由触发器 1 的地 址信息。
控制器下发给业务路由触发器 1 的第二策略信息包括: 业务标 识、 所述业务标识对应的业务节点序列、 所述业务标识对应的业务 节点序列中的节点的地址、 所述业务节点序列的下一跳业务节点的 地址信息。 业务节点序列 10对应的第二策略信息中的表项包括: 业务标识: 10
业务路由触发器 1对应的增值业务节点序列信息: 第一增值业 务: 应用緩存和加速、 应用緩存和加速增值业务节点 IP地址、 MAC 地址;
下一跳业务节点的地址信息: 业务路由触发器 2地址信息。 控制器下发给业务路由触发器 2 的第三策略信息包括: 业务标 识、 所述业务标识对应的业务节点序列、 所述业务标识对应的业务
节点序列中的节点的地址、 业务链终结标识。 业务节点序列 10对应 的第三策略信息中的表项包括:
业务标识: 10
业务路由触发器 2对应的增值业务节点序列信息:
第一增值业务: 防火墙、 防火墙增值业务节点 IP地址、
MAC地址;
第二增值业务: NAT地址转换、 NAT地址转换增值业务 节点 IP地址、 MAC地址;
业务链终结标识 流分类器 1根据第一策略信息中的流过滤规则 " Web访问过滤 规则 "和用户签约业务节点序列 10的信息对接收到的用户业务报文 进行分类。 如果所述第一报文经流分类器 1 过滤后确定要由业务标 识为 10对应的业务节点序列 10处理, 则把业务标识 10封装到所述 第一报文中, 并把封装了业务标识 10的第一报文发送到下一跳业务 路由触发器 1。 可选地, 可以把业务标识 10封装到所述第一报文中 的源 MAC地址域中。
业务路由触发器 1接收携带有业务标识 10的第一报文,根据业 务标识 10, 在所述第二策略信息中确定业务标识 10 对应的业务节 点序列 10和业务路由触发器 2的地址, 则业务路由触发器 1触发业 务节点序列 10中业务路由触发器 1对应的业务节点 1对所述第一报 文进行处理后, 业务路由触发器 1将经过业务节点序列 10中的节点 处理过的第一报文发送给业务路由触发器 2。
如果业务节点 1 支持透明以太组网方式, 则把源 MAC 地址中 携带有业务标识 10的用户业务报文发送给业务节点 1进行应用緩存 和加速处理。
业务路由触发器 1 从业务节点 1 返回的业务报文的源 MAC地 址域获得业务标识 10, 并把源 MAC地址中携带有业务标识 10的用 户业务报文通过事先建立的 VxLAN隧道发送给业务路由触发器 2。
业务路由触发器 2接收源 MAC地址中携带有业务标识 10的用 户业务报文, 根据业务标识 10, 在第三策略信息中, 确定业务标识 10对应的业务节点序列 10 在业务路由触发器 2对应的业务节点序 列中为业务节点 2(防火墙) -〉业务节点 3(NAT地址转换)。
如果业务节点 2 支持透明以太组网方式, 则把源 MAC 地址中 携带有业务标识 10的业务报文发送给业务节点 2进行防火墙处理。
业务报文从业务节点 2返回到业务路由触发器 2时携带有业务 标识 10, 业务路由触发器 2 根据业务节点序列 10 中下一个业务节 点 3 的地址, 把携带有业务标识 10的业务报文发送给业务节点 3进 行 NAT地址转换地址处理。
业务节点 3进行的 NAT地址转换业务属于非透明增值业务,他 改变了业务报文的源 IP地址, NAT地址转换增值业务处理完后直接 把处理后的业务报文发送到 Internet网络。 实施例十一
如图 10所示,本发明技术方案还可以应用在多租户的数据中心 场景中。 在公有云数据中心应用场景中, 一个物理数据中心出租给 多个租户使用, 租户的数量可能很多 , 如在应用 VxLAN ( virtual extensible LAN, 虚拟扩展局域网 ) 技术进行多租户隔离的数据中心 网络中, 租户数量可以达到 1600多万。 同一租户的不同子网之间的 主机或虚拟机互通时需要通过防火墙等增值业务节点进行处理, 不 同租户可能需要不同的防火墙增值业务节点进行处理。 但现有的增 值业务节点设备, 如防火墙等设备可能不支持最新的多租户隔离技 术 (如 VxLAN ) 进行租户业务隔离, 或单一物理设备难以支持多达 1600多万的虚拟业务节点实例, 假设现有的增值业务设备支持通过 VLAN ( Virtual Local Area Network , 虚拟局域网 ) 标记支持 4K的 虚拟增值业务实例, 则通过应用本技术方案, 可以避免要求增值业 务设备升级支持 VxLAN多租户隔离技术。
如图 1 1所示,业务路由触发器部署在汇聚交换机或核心交换机
上,流分类器功能实体部署在 ToR交换机( Top Of Rack,机架交换机) 或服务器内部的 vSwitch ( virtual switch , 软件交换机) 上。 假设同 一租户的不同子网之间的主机或虚拟机互通时需要通过防火墙增值 业务处理, 图 1 1 中每个业务节点设备都具备防火墙增值业务的处理 功能, 而且还支持通过 VLAN 标记支持 4K虚拟化增值业务实例。 假设一个业务路由触发器实例上连接有 10个业务节点设备, 则在控 制器的控制下, 可以以 40K为单位, 把不同 40K租户需要子网互通 的业务流引到不同的业务路由触发器上, 业务路由触发器在把报文 发送给某个业务节点时可以根据控制器下发的 VLAN 标识打上 VLAN标记以进行多实例区别处理。 以下以租户 100 的子网互通业 务流为例说明具体的实现过程。
业务节点序列 100 (防火墙) 可以预先存放于控制器中或者存 放在控制器可以访问的策略数据库中;
控制器根据业务节点序列 100信息和用户签约信息、 还有业务 节点序列中的业务节点的物理部署信息进行策略决策, 给出业务节 点序列 100的物理部署信息如表 2所示:
表 2
控制器把第一策略信息下发给流分类器, 控制器向业务路由触 发器下发第二策略信息。
控制器下发给流分类器的业务节点序列 100相关的第一策略信 息包括:
业务链 10的流过滤规则: "租户 100子网互通过滤规则"
业务标识: 100
租户标识: 100
下一跳业务节点实例的地址信息: 业务路由触发器 1 地址 信息。
控制器下发给业务路由触发器 1 的第二策略信息包括:
业务标识: 100
租户标识: 100
业务路由触发器 1 内增值业务序列信息:
第一增值业务: 防火墙及子网互通路由处理、 业务节点 1 的 IP地址、 MAC地址、 对应租户的 VLAN标识: 101,
业务节点序列终结标识
流分类器根据第一策略信息中业务节点序列 100 的流过滤规则 "租户 100子网互通过滤规则" 进行流分类, 把业务标识 100封装 到流分类器分类出的属于业务节点序列 100 的用户业务报文的源 MAC地址域中,把封装了业务标识 100的用户业务报文进行 VxLAN P 道封装, 并且把租户标识 100封装到 VxLAN隧道的 VxLAN租户 标识中, 最后把封装了业务标识 100和租户标识 100 的用户业务报 文发送到业务路由触发器 1。
业务路由触发器 1 接收源 MAC 地址中携带有业务标识 100、 VxLAN租户标识携带有租户标识 100的用户业务报文, 根据所述第 二策略中对应业务标识 100 的业务节点序列在业务路由触发器 1 内 的增值业务序列为 (防火墙 )进行业务触发控制, 解封装 VxLAN隧 道,把隧道内传输的源 MAC地址中携带有业务标识 100的以太报文 打上 VLAN标识 101, 并发送给业务节点 1。
业务节点 1 完成防火墙增值业务处理后返回给业务路由触发器 1 的业务 文的源 MAC地址中携带有业务标识 100, VLAN标志字 段携带有 VLAN 标识 101, 根据第二策略信息确定为业务节点序列 终结, 则根据第二策略信息中租户标识 100和 VLAN标识 101 的对 应关系, 去掉 VLAN 标志字段, 封装上 VxLAN 隧道并把租户标识
100封装到 VxLAN隧道的 VxLAN租户标识中, 然后进行到租户内 另一子网的路由转发。
本发明实施例的技术方案可以解决业务节点序列中增值业务的按需 串接, 而且对增值业务没有额外的功能需求, 方便接入第三方增值业务接 口。 应用本发明实施例的技术方案时, 业务链中的业务节点可以采用第三 方业务节点, 方便继承和重用现有业务节点投资; 业务节点可以和底层网 络控制解耦, 业务节点只需关心具体的业务实现, 使得更多的软件厂商进 入业务领域成为可能, 丰富业务产业链, 提升竟争强度, 催生质优价廉的 增值业务产品。
本发明实施例的还给出了一种基础网络支持多租户时的业务链技术 方案,可以解决底层网络支持多租户时业务链中增值业务的按需串接问题, 使得业务链技术方案在支持多租户的网络场景中可部署和可实施,而且不 要求增值业务支持最新的多租户技术,如 VxLAN( Virtual extensible Local Area Network, 虚拟扩展局域网)技术, 使得现有的增值业务设备或支持 多实例的增值业务设备在支持最新的多租户技术时仍然可以应用,避免了 支持最新多租户技术时对增值业务设备的升级和改造需求。
本领域普通技术人员可以理解: 实现上述方法实施例的全部或 部分步骤可以通过程序指令相关的硬件来完成, 前述的程序可以存 储于一计算机可读取存储介质中, 该程序在执行时, 执行包括上述 方法实施例的步骤; 而前述的存储介质包括: ROM、 RAM , 磁碟或 者光盘等各种可以存储程序代码的介质。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围 并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技 术范围内, 可轻易想到变化或替换, 都应涵盖在本发明的保护范围 之内。 因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims
1、 一种报文处理系统, 其特征在于, 包括: 控制器、 流分类器、 第一业务路由触发器; 其中
所述控制器, 用于向所述流分类器发送第一策略信息, 所述第一 策略信息包括: 过滤规则、 与所述过滤规则对应的业务路由触发器的 地址、 以及与所述过滤规则对应的业务标识, 其中所述过滤规则用于 识别报文; 所述业务标识用于表示处理所述报文的业务节点的序列; 所述控制器,还用于向所述第一业务路由触发器发送第二策略信 息, 所述第二策略信息包括: 所述业务标识、 所述业务标识对应的业务 节点序列;
所述流分类器, 用于接收所述控制器发来的所述第一策略信息; 所述流分类器还用于接收第一报文,根据所述第一报文匹配的第 一过滤规则, 在所述第一策略信息中确定与所述第一过滤规则匹配的 第一业务标识、 以及与所述第一过滤规则匹配的所述第一业务路由触 发器的地址; 向所述第一业务路由触发器发送第二报文, 所述第二报 文包括所述第一业务标识;
所述第一业务路由触发器,用于根据所述第二报文携带的所述第 一业务标识, 在所述第二策略信息中确定与所述第一业务标识匹配的 第一业务节点序列,依次触发所述第一业务节点序列中的业务节点处 理所述第二报文。
2、 如权利要求 1 所述的系统, 其特征在于, 所述第一策略信息 还包括租户标识, 所述业务标识对应所述过滤规则和所述租户标识。
3、 如权利要求 2所述的系统, 其特征在于, 所述流分类器, 具 体用于根据所述第一过滤规则和所述第一报文对应的第一租户标识, 在所述第一策略信息中确定与所述第一过滤规则和所述第一租户标 识匹配的所述第一业务标识、 以及与所述第一过滤规则和所述第一租 户标识匹配的所述第一业务路由触发器的地址; 向所述第一业务路由 触发器发送所述第二报文。
4、 如权利要求 1 或 2或 3所述的系统, 其特征在于, 所述第二 策略信息还包括: 所述业务标识对应的业务节点序列之后的下一跳节点的 地址。
5、 一种报文处理系统, 其特征在于, 包括: 控制器、 流分类器、 第一业务路由触发器、 第二业务路由触发器; 其中
所述控制器, 用于向所述流分类器发送第一策略信息, 所述第一 策略信息包括: 过滤规则、 与所述过滤规则对应的业务路由触发器的 地址、 以及与所述过滤规则对应的业务标识, 其中所述过滤规则用于 识别报文; 所述业务标识用于表示处理所述报文的业务节点的序列; 所述控制器,还用于向所述第一业务路由触发器发送第二策略信 息, 所述第二策略信息包括: 所述业务标识、 所述业务标识对应的业务 节点序列中由所述第一业务路由触发器触发的部分业务节点序列;
所述控制器,还用于向所述第二业务路由触发器发送第三策略信 息, 所述第三策略信息包括: 所述业务标识、 所述业务标识对应的业务 节点序列中由所述第二业务路由触发器触发的部分业务节点序列;
所述流分类器, 用于接收所述控制器发来的所述第一策略信息; 所述流分类器还用于接收第一报文,根据所述第一报文匹配的第 一过滤规则, 在所述第一策略信息中确定与所述第一过滤规则匹配的 第一业务标识、 以及与所述第一过滤规则匹配的所述第一业务路由触 发器的地址、 与所述第一过滤规则匹配的所述第二业务路由触发器的 地址; 向所述第一业务路由触发器发送第二报文, 所述第二报文包括 所述第一业务标识;
所述第一业务路由触发器,用于根据所述第二报文携带的所述第 一业务标识, 在所述第二策略信息中确定与所述第一业务标识匹配的 第一业务节点序列,依次触发所述第一业务节点序列中的业务节点处 理所述第二报文后, 将处理后的第二报文发送给所述第二业务路由触 发器;
所述第二业务路由触发器,用于根据所述处理后的第二报文携带 的所述第一业务标识, 在所述第三策略信息中确定与所述第一业务标
识匹配的第二业务节点序列, 依次触发所述第二业务节点序列中的业 务节点处理所述第二报文。
6、 如权利要求 5所述的系统, 其特征在于, 所述第一策略信息 还包括租户标识, 所述业务标识对应所述过滤规则和所述租户标识。
7、 如权利要求 6所述的系统, 其特征在于, 所述流分类器, 具 体用于根据所述第一过滤规则和所述第一报文对应的第一租户标识, 在所述第一策略信息中确定与所述第一过滤规则和所述第一租户标 识匹配的所述第一业务标识、 以及与所述第一过滤规则匹配的所述第 一业务路由触发器的地址; 向所述第一业务路由触发器发送所述第二 报文。
8、 如权利要求 5或 6或 7所述的系统, 其特征在于, 所述第二 策略信息还包括: 所述业务标识对应的业务节点序列之后的下一跳节点的 地址。
9、 一种报文处理方法, 其特征在于, 包括:
流分类器接收第一报文;
所述流分类器根据所述第一报文匹配的第一过滤规则,在所述流 分类器保存的策略信息中确定与所述第一过滤规则匹配的第一业务 标识、 以及与所述第一过滤规则匹配的第一业务路由触发器的地址; 所述策略信息包括: 过滤规则、 业务路由触发器的地址和所述过滤规 则对应的业务标识, 其中所述过滤规则用于识别报文; 所述业务标识 用于标识表示处理所述报文的业务节点序列;
所述流分类器向所述第一业务路由触发器发送第二报文; 所述第二报文为将所述第一业务标识添加到所述第一报文中形 成的。
1 0、 根据权利要求 9所述的方法, 其特征在于,
所述策略信息还包括租户标识,所述业务标识对应所述过滤规则 和所述租户标识;
所述流分类器确定所述第一业务标识的步骤, 具体为:
所述流分类器根据所述第一过滤规则和所述第一报文对应的第
一租户标识, 在所述策略信息中确定与所述第一过滤规则和所述第一 租户标识匹配的所述第一业务标识、 以及与所述第一业务路由触发器 的地址。
1 1、 根据权利要求 9或 10所述的方法, 其特征在于, 在所述流 分类器收到所述第一报文之前, 还包括: 所述流分类器接收控制器发 来的所述策略信息。
12、 一种报文处理方法, 其特征在于, 包括:
业务路由触发器接收第一报文,所述第一报文携带第一业务标识; 所述业务路由触发器根据所述第一业务标识,在所述业务路由触 发器保存的策略信息中, 确定与所述第一业务标识匹配的第一业务节 点序列;
所述业务路由触发器,按照所述第一业务节点序列依次触发所述 第一业务节点序列中的业务节点处理所述第一报文。
13、 根据权利要求 12所述的方法, 其特征在于, 在所述业务路 由触发器接收流分类器发送的所述第一报文之前, 还包括: 所述业务 路由触发器接收控制器发送的所述策略信息。
14、 根据权利要求 13所述的方法, 其特征在于, 所述策略信息 包括: 所述业务标识、 与所述业务标识匹配的业务节点序列; 所述业 务标识用于表示处理报文的业务节点的序列。
15、 根据权利要求 13所述的方法, 其特征在于, 所述策略信息 还包括: 所述业务节点序列中的业务节点的地址。
16、 根据权利要求 14或 15所述的方法, 其特征在于, 所述策略 信息还包括: 所述业务标识对应的所述业务节点序列之后的下一跳节点 的地址;
所述方法还包括: 在所述第一业务节点序列的最后一个业务节点 处理完所述第一报文后, 所述业务路由触发器将处理后的报文发送到 所述第一业务节点序列之后的下一跳节点。
17、 一种报文处理方法, 其特征在于, 包括:
第一业务路由触发器接收第一报文,所述第一报文携带第一业务
标识;
所述第一业务路由触发器根据所述第一业务标识,在所述第一业 务路由触发器保存的第一策略信息中, 确定与所述第一业务标识匹配 的第一业务节点序列及第二业务路由触发器的地址;
所述第一业务路由触发器,按照所述第一业务节点序列依次触发 所述第一业务节点序列中的业务节点处理所述第一报文之后, 将所述 第一报文转发给所述第二业务路由触发器;
所述第二业务路由触发器根据所述第一业务标识,在所述第二业 务路由触发器保存的第二策略信息中, 确定与所述第一业务标识匹配 的第二业务节点序列;
所述第二业务路由触发器,按照所述第二业务节点序列依次触发 所述第二业务节点序列中的业务节点处理所述第一报文。
18、 根据权利要求 17所述的方法, 其特征在于, 在所述第一业 务路由触发器和所述第二业务路由触发器接收所述第一报文之前, 还 包括: 所述第一业务路由触发器接收控制器发送的所述第一策略信息, 所述第二业务路由触发器接收控制器发送的所述第二策略信息。
19、 一种流分类器, 其特征在于, 包括接收单元、 存储单元、 处 理单元和发送单元, 其中:
所述接收单元, 用于接收第一报文;
所述存储单元, 用于保存策略信息;
所述处理单元, 用于根据所述第一报文匹配的第一过滤规则, 在 所述存储单元保存的所述策略信息中确定与所述第一过滤规则匹配 的第一业务标识、 以及与所述第一过滤规则匹配的第一业务路由触发 器的地址; 触发所述发送单元向所述第一业务路由触发器发送第二报 文, 所述第二报文为将所述第一业务标识添加到所述第一报文中形成 的;
所述发送单元,用于向所述第一业务路由触发器发送所述第二报 文。
20、 如权利要求 19所述的流分类器, 其特征在于, 所述接收单
元, 还用于接收控制器发来的所述策略信息。
21、 如权利要求 20所述的流分类器, 其特征在于, 所述策略信 息包括: 过滤规则、 业务路由触发器的地址、 所述过滤规则对应的业 务标识, 其中所述过滤规则用于识别报文; 所述业务标识用于表示处 理所述报文的业务节点序列。
22、 如权利要求 19-21 中任一所述的流分类器, 其特征在于, 所 述策略信息还包括: 租户标识, 所述业务标识对应所述过滤规则和所 述租户标识;
所述处理单元, 具体用于:
根据所述第一过滤规则和所述第一报文对应的第一租户标识,在 所述策略信息中确定与所述第一过滤规则和所述第一租户标识匹配 的所述第一业务标识、 以及与所述第一过滤规则和所述第一租户标识 匹配的第一业务路由触发器的地址; 触发所述发送单元向所述第一业 务路由触发器发送第二报文。
23、 一种业务路由触发器, 其特征在于, 包括: 接收单元、 处理 单元和触发单元, 其中
所述接收单元, 用于接收第一报文, 所述第一报文携带第一业务 标识;
所述处理单元, 根据所述第一业务标识, 在所述业务路由触发器 保存的策略信息中, 确定与所述第一业务标识匹配的第一业务节点序 列、 所述第一业务节点序列中的业务节点的地址;
所述触发单元,用于按照所述第一业务节点序列依次触发所述第 一业务节点序列中的业务节点处理所述第一报文。
24、 如权利要求 23所述的业务路由触发器, 其特征在于, 所述 接收单元, 还用于接收控制器发送的所述策略信息。
25、 如权利要求 24所述的业务路由触发器, 其特征在于, 所述 策略信息包括: 业务标识、 与所述业务标识匹配的业务节点序列; 所 述业务标识用于表示处理报文的业务节点的序列。
26、 如权利要求 25所述的业务路由触发器, 其特征在于, 所述
策略信息还包括: 所述业务节点序列中的业务节点的地址。
27、 如权利要求 25或 26所述的业务路由触发器, 其特征在于 所述策略信息还包括: 所述业务节点序列之后的下一跳节点的地址。
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201380000828.0A CN104380658B (zh) | 2013-04-28 | 2013-04-28 | 流分类器、业务路由触发器、报文处理的方法和系统 |
| CN201810459469.XA CN108632098B (zh) | 2013-04-28 | 2013-04-28 | 流分类器、业务路由触发器、报文处理的方法和系统 |
| PCT/CN2013/075003 WO2014176740A1 (zh) | 2013-04-28 | 2013-04-28 | 流分类器、业务路由触发器、报文处理的方法和系统 |
| EP13883668.9A EP2993821B1 (en) | 2013-04-28 | 2013-04-28 | Stream classifier, service routing trigger, and message processing method and system |
| US14/924,499 US10735309B2 (en) | 2013-04-28 | 2015-10-27 | Traffic classifier, service routing trigger, and packet processing method and system |
| US16/927,585 US20200344153A1 (en) | 2013-04-28 | 2020-07-13 | Traffic Classifier, Service Routing Trigger, and Packet Processing Method and System |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2013/075003 WO2014176740A1 (zh) | 2013-04-28 | 2013-04-28 | 流分类器、业务路由触发器、报文处理的方法和系统 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/924,499 Continuation US10735309B2 (en) | 2013-04-28 | 2015-10-27 | Traffic classifier, service routing trigger, and packet processing method and system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014176740A1 true WO2014176740A1 (zh) | 2014-11-06 |
Family
ID=51843043
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2013/075003 Ceased WO2014176740A1 (zh) | 2013-04-28 | 2013-04-28 | 流分类器、业务路由触发器、报文处理的方法和系统 |
Country Status (4)
| Country | Link |
|---|---|
| US (2) | US10735309B2 (zh) |
| EP (1) | EP2993821B1 (zh) |
| CN (2) | CN108632098B (zh) |
| WO (1) | WO2014176740A1 (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017063400A1 (zh) * | 2015-10-15 | 2017-04-20 | 中兴通讯股份有限公司 | 一种基于业务链信息的报文选路方法及装置 |
| WO2018036254A1 (zh) * | 2016-08-24 | 2018-03-01 | 华为技术有限公司 | 报文转发方法及装置 |
| CN109922005A (zh) * | 2017-12-13 | 2019-06-21 | 中兴通讯股份有限公司 | 一种负载分担方法、装置和系统、计算机可读存储介质 |
Families Citing this family (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104767679B (zh) * | 2014-01-08 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 一种在网络系统中传输数据的方法及装置 |
| US9614739B2 (en) * | 2014-01-30 | 2017-04-04 | Cisco Technology, Inc. | Defining service chains in terms of service functions |
| US9215214B2 (en) | 2014-02-20 | 2015-12-15 | Nicira, Inc. | Provisioning firewall rules on a firewall enforcing device |
| CN105337881B (zh) * | 2014-06-27 | 2019-10-01 | 华为技术有限公司 | 一种数据报文的处理方法、业务节点以及引流点 |
| EP3195535B1 (en) * | 2014-09-19 | 2023-04-05 | Nokia Solutions and Networks Oy | Chaining of network service functions in a communication network |
| WO2016045705A1 (en) * | 2014-09-23 | 2016-03-31 | Nokia Solutions And Networks Oy | Control of communication using service function chaining |
| US20160119253A1 (en) * | 2014-10-23 | 2016-04-28 | Kt Corporation | Method and system of performing service function chaining |
| US9866472B2 (en) * | 2014-12-09 | 2018-01-09 | Oath Inc. | Systems and methods for software defined networking service function chaining |
| CN106302144B (zh) * | 2015-06-11 | 2019-07-23 | 华为技术有限公司 | 报文处理方法、设备和系统 |
| CN106330477A (zh) * | 2015-06-16 | 2017-01-11 | 中兴通讯股份有限公司 | 一种以太网业务配置方法、装置及网管 |
| US9806948B2 (en) | 2015-06-30 | 2017-10-31 | Nicira, Inc. | Providing firewall rules for workload spread across multiple data centers |
| US10291299B2 (en) * | 2015-09-07 | 2019-05-14 | Kabushiki Kaisha Toshiba | Wireless communication device |
| US10547692B2 (en) * | 2016-02-09 | 2020-01-28 | Cisco Technology, Inc. | Adding cloud service provider, cloud service, and cloud tenant awareness to network service chains |
| US10348685B2 (en) | 2016-04-29 | 2019-07-09 | Nicira, Inc. | Priority allocation for distributed service rules |
| US11425095B2 (en) | 2016-05-01 | 2022-08-23 | Nicira, Inc. | Fast ordering of firewall sections and rules |
| US11171920B2 (en) | 2016-05-01 | 2021-11-09 | Nicira, Inc. | Publication of firewall configuration |
| US10382596B2 (en) | 2016-06-23 | 2019-08-13 | Cisco Technology, Inc. | Transmitting network overlay information in a service function chain |
| US11258761B2 (en) | 2016-06-29 | 2022-02-22 | Nicira, Inc. | Self-service firewall configuration |
| US11088990B2 (en) | 2016-06-29 | 2021-08-10 | Nicira, Inc. | Translation cache for firewall configuration |
| EP3468117B1 (en) | 2016-07-01 | 2023-05-24 | Huawei Technologies Co., Ltd. | Service function chaining (sfc)-based packet forwarding method, device and system |
| US10263898B2 (en) * | 2016-07-20 | 2019-04-16 | Cisco Technology, Inc. | System and method for implementing universal cloud classification (UCC) as a service (UCCaaS) |
| CN107733799B (zh) * | 2016-08-11 | 2021-09-21 | 新华三技术有限公司 | 一种报文传输方法和装置 |
| US11277338B2 (en) * | 2016-09-26 | 2022-03-15 | Juniper Networks, Inc. | Distributing service function chain data and service function instance data in a network |
| CN107888396B (zh) * | 2016-09-29 | 2023-05-09 | 日本电气株式会社 | Wifi网络中的数据传输方法、网络节点和终端设备 |
| FR3061386A1 (fr) * | 2016-12-22 | 2018-06-29 | Orange | Classification et aiguillage de messages de controle d’une infrastructure de communications |
| US10868836B1 (en) | 2017-06-07 | 2020-12-15 | Amazon Technologies, Inc. | Dynamic security policy management |
| CN110324165B (zh) * | 2018-03-30 | 2021-05-11 | 华为技术有限公司 | 网络设备的管理方法、装置及系统 |
| CN110650168B (zh) * | 2018-06-27 | 2021-09-14 | 华为技术有限公司 | 一种通信方法及其装置 |
| FR3082027A1 (fr) * | 2018-07-03 | 2019-12-06 | Orange | Gestion de la mise en application d'une politique dans un environnement sdn de reseau de communication. |
| US11310202B2 (en) | 2019-03-13 | 2022-04-19 | Vmware, Inc. | Sharing of firewall rules among multiple workloads in a hypervisor |
| CN111953604B (zh) * | 2019-05-17 | 2023-07-18 | 华为技术有限公司 | 一种为业务流提供业务服务的方法和装置 |
| CN118301056A (zh) | 2019-09-04 | 2024-07-05 | 华为技术有限公司 | 分段路由方法及装置 |
| US11398979B2 (en) * | 2020-10-28 | 2022-07-26 | Mellanox Technologies, Ltd. | Dynamic processing trees |
| US12028248B2 (en) | 2021-05-27 | 2024-07-02 | Cisco Technology, Inc. | Using global virtual network instance (VNI) labels to signal a service chain |
| WO2022251307A1 (en) * | 2021-05-27 | 2022-12-01 | Cisco Technology, Inc. | Using global virtual network instance (vni) labels to signal a service chain |
| CN114296805B (zh) * | 2021-12-27 | 2025-07-29 | 天翼云科技有限公司 | 报文处理方法及架构、装置、存储介质及电子设备 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102014043A (zh) * | 2009-09-08 | 2011-04-13 | 中兴通讯股份有限公司 | 名址映射系统、数据传输方法及名址映射维护方法 |
| CN102098349A (zh) * | 2009-12-09 | 2011-06-15 | 中兴通讯股份有限公司 | 地址映射方法及接入业务节点 |
| CN103051535A (zh) * | 2012-12-18 | 2013-04-17 | 华为技术有限公司 | 一种数据接入方法、装置及数据接入系统 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100433715C (zh) * | 2005-08-19 | 2008-11-12 | 华为技术有限公司 | 给数据流提供不同的服务质量策略的方法 |
| US7561580B1 (en) * | 2005-09-19 | 2009-07-14 | At&T Intellectual Property Ii, L.P. | Provisioning a multi-protocol label switching interface between networks |
| CN101005445B (zh) * | 2006-01-18 | 2012-08-15 | 华为技术有限公司 | 一种将业务流映射到业务传输通道的方法及光网络终端 |
| CN101022677B (zh) * | 2006-02-16 | 2011-03-30 | 华为技术有限公司 | 一种动态业务流分类和映射方法和光网络终端及光接入网 |
| CN101127691A (zh) * | 2006-08-17 | 2008-02-20 | 王玉鹏 | 一种在网络处理器上实现的基于流的策略路由的方法 |
| CN100544321C (zh) * | 2006-09-06 | 2009-09-23 | 杭州华三通信技术有限公司 | 支持动态带宽分割的带宽管理方法和装置 |
| US9253274B2 (en) | 2007-01-19 | 2016-02-02 | Cisco Technology, Inc. | Service insertion architecture |
| CN101635676B (zh) * | 2009-08-31 | 2011-07-27 | 杭州华三通信技术有限公司 | 一种报文处理方法和一种网络设备 |
| CN102056333A (zh) * | 2009-11-05 | 2011-05-11 | 中国移动通信集团河南有限公司 | Wap网关及其业务处理方法和wap代理服务器 |
| US8161156B2 (en) * | 2009-12-30 | 2012-04-17 | Verizon Patent And Licensing, Inc. | Feature delivery packets for peer-to-peer based feature network |
| US8619773B2 (en) * | 2010-07-29 | 2013-12-31 | Cisco Technology, Inc. | Service request packet including an exterior network protocol attribute |
| US8855124B2 (en) * | 2011-03-10 | 2014-10-07 | Extreme Networks, Inc. | Forwarding inter-switch connection (ISC) frames in a network-to-network interconnect topology |
| US8923294B2 (en) * | 2011-06-28 | 2014-12-30 | Polytechnic Institute Of New York University | Dynamically provisioning middleboxes |
| CN102571602B (zh) * | 2012-02-13 | 2015-03-11 | 华为技术有限公司 | 业务路由网络及业务处理的方法、设备 |
| US10097481B2 (en) * | 2012-06-29 | 2018-10-09 | Juniper Networks, Inc. | Methods and apparatus for providing services in distributed switch |
| US9497132B2 (en) * | 2013-04-23 | 2016-11-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system of implementing conversation-sensitive collection for a link aggregation group |
-
2013
- 2013-04-28 EP EP13883668.9A patent/EP2993821B1/en active Active
- 2013-04-28 CN CN201810459469.XA patent/CN108632098B/zh active Active
- 2013-04-28 CN CN201380000828.0A patent/CN104380658B/zh active Active
- 2013-04-28 WO PCT/CN2013/075003 patent/WO2014176740A1/zh not_active Ceased
-
2015
- 2015-10-27 US US14/924,499 patent/US10735309B2/en not_active Expired - Fee Related
-
2020
- 2020-07-13 US US16/927,585 patent/US20200344153A1/en not_active Abandoned
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102014043A (zh) * | 2009-09-08 | 2011-04-13 | 中兴通讯股份有限公司 | 名址映射系统、数据传输方法及名址映射维护方法 |
| CN102098349A (zh) * | 2009-12-09 | 2011-06-15 | 中兴通讯股份有限公司 | 地址映射方法及接入业务节点 |
| CN103051535A (zh) * | 2012-12-18 | 2013-04-17 | 华为技术有限公司 | 一种数据接入方法、装置及数据接入系统 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017063400A1 (zh) * | 2015-10-15 | 2017-04-20 | 中兴通讯股份有限公司 | 一种基于业务链信息的报文选路方法及装置 |
| CN106603602A (zh) * | 2015-10-15 | 2017-04-26 | 中兴通讯股份有限公司 | 一种基于业务链信息的报文选路方法及装置 |
| WO2018036254A1 (zh) * | 2016-08-24 | 2018-03-01 | 华为技术有限公司 | 报文转发方法及装置 |
| CN109922005A (zh) * | 2017-12-13 | 2019-06-21 | 中兴通讯股份有限公司 | 一种负载分担方法、装置和系统、计算机可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN104380658A (zh) | 2015-02-25 |
| US20200344153A1 (en) | 2020-10-29 |
| EP2993821A1 (en) | 2016-03-09 |
| US20160050141A1 (en) | 2016-02-18 |
| CN104380658B (zh) | 2018-06-05 |
| CN108632098A (zh) | 2018-10-09 |
| US10735309B2 (en) | 2020-08-04 |
| CN108632098B (zh) | 2021-08-13 |
| EP2993821B1 (en) | 2018-11-21 |
| EP2993821A4 (en) | 2016-05-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104380658B (zh) | 流分类器、业务路由触发器、报文处理的方法和系统 | |
| US9167501B2 (en) | Implementing a 3G packet core in a cloud computer with openflow data and control planes | |
| CN104283756B (zh) | 一种实现分布式多租户虚拟网络的方法和装置 | |
| CN104335532B (zh) | 将分组路由到虚拟转发实例的远端地址的方法和装置 | |
| CN109889443B (zh) | 云计算系统和在云计算系统中实现演进分组核心(epc)的控制平面的方法 | |
| US9497661B2 (en) | Implementing EPC in a cloud computer with openflow data plane | |
| EP3140964B1 (en) | Implementing a 3g packet core in a cloud computer with openflow data and control planes | |
| CN107231307B (zh) | 用于防止数据中心架构内子网间流量转接的方法、系统和装置 | |
| CN104601467B (zh) | 一种发送报文的方法和装置 | |
| CN105830406A (zh) | 用于支持软件定义网络中的灵活查找关键字的方法、设备和系统 | |
| CN104937885A (zh) | 用于结构交换机的全局vlan | |
| CN104488237B (zh) | 一种报文处理的方法、报文设备和系统 | |
| CN108377262A (zh) | 管理网络设备处的服务链的方法、对应的网络设备 | |
| WO2020212998A1 (en) | Network address allocation in a virtual layer 2 domain spanning across multiple container clusters | |
| US20200314016A1 (en) | Tunneling inter-domain stateless internet protocol multicast packets | |
| WO2017147027A1 (en) | Addressing for customer premises lan expansion | |
| US9438475B1 (en) | Supporting relay functionality with a distributed layer 3 gateway | |
| CN110022263B (zh) | 一种数据传输的方法及相关装置 | |
| CN108702324A (zh) | 用户端lan扩展 | |
| CN116418628A (zh) | 一种vxlan报文传输方法、网络设备及系统 | |
| CN119583443A (zh) | 报文转发方法、装置、计算机设备和可读存储介质 | |
| CN105009542B (zh) | 一种处理报文的方法和装置 | |
| CN115460139B (zh) | 网络互通方法及装置 | |
| CN115460140B (zh) | 网络互通方法及装置 | |
| CN115460141B (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: 13883668 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2013883668 Country of ref document: EP |