WO2017070970A1 - 一种确定路由的方法、对应装置及系统 - Google Patents
一种确定路由的方法、对应装置及系统 Download PDFInfo
- Publication number
- WO2017070970A1 WO2017070970A1 PCT/CN2015/093525 CN2015093525W WO2017070970A1 WO 2017070970 A1 WO2017070970 A1 WO 2017070970A1 CN 2015093525 W CN2015093525 W CN 2015093525W WO 2017070970 A1 WO2017070970 A1 WO 2017070970A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- service
- packet
- flow
- time period
- flow entry
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000013507 mapping Methods 0.000 claims abstract description 81
- 230000003213 activating effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- 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/38—Flow based routing
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- 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/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
Definitions
- the present invention relates to the field of communications technologies, and in particular, to a method, a corresponding device, and a system for determining a route.
- service functions In the field of communication technology, user-initiated service flows usually need to be processed by multiple types of service functions (English: Service Function; SF for short), and the service functions required for different types of service flows may be different.
- the classifier is used to classify the service flow initiated by the user, and the service chain identifier is added to the packet of the service flow. Then, the classifier sends the packet to the forwarder, and the forwarder identifies the service chain according to the packet. And the route mapping relationship of the service flow of the service chain determines the next service node that receives the message.
- the same type of SF may include multiple service nodes.
- the forwarder needs to consider load balancing of multiple service nodes of the same type when forwarding packets, and the dynamic load of multiple service nodes changes with time, but the prior art There is a lack of efficient and flexible way to achieve load balancing of business nodes.
- the embodiment of the present invention provides a method for determining a route, a corresponding device, and a system, which are used to solve the problem that it is difficult to efficiently and flexibly implement load balancing of a service node in the prior art.
- the embodiment of the present application provides a method for determining a route, including:
- the second flow entry includes a second route mapping relationship of the service flow of the first service chain, a second load ratio of each service node, and a second flow entry An effective time period, the second effective time period being different from the first effective time period;
- the first packet includes a first service chain identifier and a first timestamp of the first service flow, where the first service chain identifier indicates the first service flow
- the first timestamp is a creation time of the first service flow
- the switch receives the first flow entry and the second flow entry, and determines, according to the timestamp included in the first packet, whether the first flow entry is used to determine the route of the first packet, or the second flow entry is used. Determine the route of the first packet. Therefore, the switch can forward the packet of the newly created service flow by using the new flow entry when the new flow entry is generated due to the change of the load condition of the service node, and continues to be created based on the previous flow entry pair. The packets of the service flow are forwarded, and the switch can perform the packet forwarding according to the new flow entry after the existing technology is processed.
- the switch provides timely adjustment of the route in the solution provided by the embodiment of the present application. The strategy enables more flexible and faster load balancing. Moreover, in the solution provided by the embodiment of the present application, a flow entry is not generated for each service flow, but a flow entry is generated for the same type of service flow, the number of flow entries is small, the system overhead is small, and the efficiency is high.
- the method further includes:
- the end time of the first valid time period is modified to the start time of the second valid time period.
- the determining from the first valid time period and the second valid time period is the first time period
- Determining, according to the first flow entry, a service node that receives the first packet including:
- the first packet further includes a load balancing factor, from the first valid time Determining, in the segment and the second valid period, that the time period including the first time stamp is the first time period;
- Determining, according to the first flow entry, a service node that receives the first packet including:
- the first packet is a first packet of the first service flow
- the method further includes:
- the packet after the first packet of the first service flow is directly forwarded according to the routing manner of the first packet of the first service flow, and the packet of each service flow is determined by calculation. Routing greatly reduces the computational burden on the switch.
- the determining, by the at least two service nodes, the receiving the first packet After the first business node it also includes:
- the method further includes:
- the embodiment of the present application provides a method for determining a route, including:
- the first service chain identifier indicates that the first service flow is a service of the first service chain Flow
- the first timestamp is a creation time of the first service flow
- the classifier when the classifier identifies the packet of the service flow, the classifier adds a timestamp to the packet of the service flow, and adds a time attribute to the packet, so that the switch can send packets to different time segments.
- Different routing strategies are adopted to implement load balancing of service nodes flexibly and efficiently.
- the method before the sending the first packet to the switch, the method further includes:
- an embodiment of the present application provides a method for determining a route, including:
- the first flow entry includes a first route mapping relationship of the service flow of the first service chain, a first load ratio of each service node, and a first valid time period of the first flow entry,
- the first load ratio is generated according to the first current load of each service node;
- the second flow entry includes a second route mapping relationship of the packet of the first type of service flow, a second load ratio of each service node, and a second flow entry a second effective time period, wherein the second load ratio is generated according to the second current load of each service node, and the second valid time period is different from the first valid time period;
- the controller can immediately generate the second flow entry when the load of the service node is changed, and send the second flow entry to the switch, so that the switch can be based on the prior first flow table.
- the item processes the existing packets and processes the newly created packets according to the second flow entry to implement load balancing flexibly and efficiently.
- the embodiment of the present application provides an apparatus for determining a route, including:
- the first receiving module is configured to receive the first flow entry, where the first flow entry includes a first route mapping relationship of the service flow of the first service chain, a first load ratio of each service node, and the first flow entry a first valid time period; and receiving a second flow entry, where the second flow entry includes a second route mapping relationship of the service flow of the first service chain, a second load ratio of each service node, and the a second valid time period of the second flow entry, the second valid time period being different from the first valid time period;
- a second receiving module configured to receive a first packet of the first service flow, where the first packet includes a first service chain identifier and a first timestamp of the first service flow, where the first service chain identifier Indicates that the first service flow is a service flow of the first service chain, and the first timestamp is a creation time of the first service flow;
- a first determining module configured to determine, from the first valid time period and the second valid time period, a time period including the first timestamp
- a second determining module configured to determine, according to the determined flow entry corresponding to the time period, a service node that receives the first packet
- a sending module configured to send the first packet to the determined service node.
- the device further includes:
- a modifying module configured to determine, after receiving the second flow entry, whether a start time of the second valid time period is earlier than an end time of the first valid time period; and in the second effective time period When the start time is earlier than the end time of the first valid time period, the end time of the first valid time period is modified to the start time of the second valid time period.
- the determining from the first valid time period and the second valid time period The time period including the first time stamp is the first time period;
- the second determining module is specifically configured to:
- the first packet further includes a load balancing factor, from the first valid time period And determining, in the second valid period, that the time period including the first timestamp is the first time period;
- the second determining module is specifically configured to:
- the first packet is a first packet of the first service flow
- the second receiving module is further configured to: receive a second packet of the first service flow
- the sending module is further configured to send the second packet to the first service node.
- the device further includes:
- a third determining module configured to start a timeout timer after determining, by the at least two service nodes, the first service node for receiving the first packet, and in the Before the second message is sent to the first service node, it is determined that the timeout timer has not timed out.
- an apparatus for determining a route including:
- a receiving module configured to receive a first packet of the first service flow
- a determining module configured to determine, according to the feature field included in the packet, that the first service flow is a service flow of the first service chain;
- An identifier module configured to add a first service chain identifier and a first timestamp of the first packet to the first packet, where the first service chain identifier indicates that the first service flow is the first a service flow of a service chain, where the first timestamp is a creation time of the first service flow;
- a sending module configured to send the first packet to the switch.
- the identifier module is further configured to: determine a load balancing factor of the first packet, and add the load balancing factor to the In the first message.
- the embodiment of the present application provides an apparatus for determining a route, including:
- a first acquiring module configured to acquire a first current load of each service node at the first moment
- a first generation module configured to generate a first flow entry, where the first flow entry includes a first service chain a first route mapping relationship of the service flow, a first load ratio of each service node, and a first effective time period of the first flow entry, the first load ratio being the first current load according to each service node generate;
- a sending module configured to send the first flow entry to the switch
- a second acquiring module configured to acquire a second current load of each service node at the second moment
- a second generation module configured to generate a second flow entry, where the second flow entry includes a second route mapping relationship of the packet of the first type of service flow, a second load ratio of each service node, and the a second valid time period of the second flow entry, wherein the second load ratio is generated according to the second current load of each service node, and the second valid time period is different from the first valid time period ;
- the sending module is further configured to send the second flow entry to the switch.
- the embodiment of the present application provides a device for determining a route, including:
- a receiver configured to receive a first flow entry, where the first flow entry includes a first route mapping relationship of the service flow of the first service chain, a first load ratio of each service node, and a first of the first flow entry a valid time period; and receiving a second flow entry, where the second flow entry includes a second route mapping relationship of the service flow of the first service chain, a second load ratio of each service node, and the second flow a second valid time period of the entry, the second valid time period being different from the first valid time period; and receiving a first message of the first service flow, where the first message includes a first service chain identifier And the first timestamp of the first service flow, the first service chain identifier indicates that the first service flow is a service flow of the first service chain, and the first timestamp is the first service The creation time of the stream;
- a processor configured to determine, from the first valid time period and the second valid time period, a time period including the first timestamp; determining, according to the determined flow table entry corresponding to the determined time period, receiving the The service node of the first message;
- a transmitter configured to send the first packet to the determined service node.
- the processor is further configured to: after receiving the second flow entry, determine whether the start time of the second valid time period is early And ending at the end of the first valid period; if yes, modifying an end time of the first valid period to a start time of the second valid period.
- the determining from the first valid time period and the second valid time period The time period including the first time stamp is the first time period;
- the processor is configured to: determine, according to the first flow entry, a service node that receives the first packet, including:
- the first packet further includes a load balancing factor, from the first valid time Determining, in the segment and the second valid period, that the time period including the first time stamp is the first time period;
- the processor is configured to: determine, according to the first flow entry, a service node that receives the first packet, including:
- the first packet is a first packet of the first service flow
- the receiver is further configured to: receive a second packet of the first service flow
- the transmitter is further configured to: send the second packet to the first service node.
- the processor is further configured to: after determining the first service node for receiving the first packet from the at least two service nodes, start a timeout timer; Before the transmitter sends the second packet to the first service node, it is determined that the timeout timer has not timed out.
- the embodiment of the present application provides a device for determining a route, including:
- a receiver configured to receive a first packet of the first service flow
- a processor configured to determine, according to the feature field included in the first packet, the first service flow as a service flow of the first service chain; and add a first service chain identifier to the first packet, and the a first timestamp of the first packet, the first service chain identifier indicating that the first service flow is a service flow of the first service chain, and the first timestamp is a creation of the first service flow time;
- a transmitter configured to send the first packet to the switch.
- the processor is further configured to: determine a load balancing factor of the first packet, and add the load balancing factor to the In the first message.
- the embodiment of the present application provides a device for determining a route, including:
- a receiver configured to receive a first current load of each service node when acquiring the first moment
- a processor configured to generate a first flow entry, where the first flow entry includes a first route mapping relationship of the service flow of the first service chain, a first load ratio of each service node, and a first of the first flow entry a valid time period, the first load ratio is generated according to the first current load of each service node;
- a transmitter configured to send the first flow entry to the switch
- the receiver is further configured to: acquire a second current load of each service node at a second moment;
- the processor is further configured to: generate a second flow entry, where the second flow entry includes a second route mapping relationship of the packet of the first type of service flow, a second load ratio of each service node, and a a second valid time period of the second flow entry, where the second load ratio is generated according to the second current load of each service node, the second valid time period and the first valid time period different;
- the transmitter is further configured to: send the second flow entry to the switch.
- the embodiment of the present application provides a system for determining a route, including:
- a controller configured to acquire a first current load of each service node at a first moment; generate a first flow entry, where the first flow entry includes a first route mapping relationship of the service flow of the first service chain, and each service node a first load ratio and a first valid time period of the first flow entry, the first load ratio is generated according to the first current load of each service node; sending the first flow entry to a switch; acquiring a second current load of each service node at a second time; generating a second flow entry, where the second flow entry includes a second route mapping relationship of the packet of the first type of service flow, and a number of each service node a second load ratio and a second effective time period of the second flow entry, wherein the second load ratio is generated according to the second current load of each service node; sending the second flow entry to The switch, the second effective time period is different from the first valid time period;
- a classifier configured to receive a first packet of the first service flow, and determine, according to the feature field included in the first packet, the first service flow as a service flow of the first service chain; Adding a first service chain identifier and a first timestamp of the first packet, where the first service chain identifier indicates that the first service flow is a service flow of the first service chain, the first time Stamping the creation time of the first service flow; sending the first packet to the switch;
- the switch is configured to receive a first flow entry, receive a second flow entry, receive a first packet of the first service flow, and determine, from the first valid time period and the second valid time period, a time period of the first timestamp; determining, according to the determined flow entry corresponding to the time period, a service node that receives the first packet; and sending the first packet to the determined service node.
- the switch is further configured to: after receiving the second flow entry,
- the end time of the first valid time period is modified to the start time of the second valid time period.
- the first packet is a first packet of the first service flow
- the switch is further configured to: receive a second packet of the first service flow; and send the second packet to the first service node.
- the switch is configured to: determine, according to the first flow entry, a receiving station The service node of the first packet, including:
- the first packet further includes a load balancing factor
- the switch uses Determining, according to the first flow entry, a service node that receives the first packet, including:
- the switch is configured to: determine, from the at least two service nodes, to receive the After the first service node of the first packet, the method is further configured to: start a timeout timer;
- the switch is further configured to: determine that the timeout timer has not timed out before sending the second packet to the first service node.
- 1 is a schematic diagram of a system for routing a message
- FIG. 2 is a schematic flowchart of a method for determining a route in an embodiment of the present application
- FIG. 3 is a schematic diagram of a further refinement process of a method for determining a route in an embodiment of the present application
- FIG. 4 is another schematic flowchart of a method for determining a route according to an embodiment of the present application
- FIG. 5 is a schematic block diagram showing the structure of an apparatus 300 for determining a route according to an embodiment of the present application
- FIG. 6 is a schematic block diagram showing the structure of an apparatus 400 for determining a route according to an embodiment of the present application
- FIG. 7 is a schematic block diagram showing the structure of an apparatus 500 for determining a route according to an embodiment of the present application.
- FIG. 8 is a schematic block diagram showing the structure of a device 600 for determining a route according to an embodiment of the present application.
- FIG. 9 is a schematic diagram of a system for determining a route in an embodiment of the present application.
- FIG. 1 is a schematic diagram of a system for implementing traffic flow routing and load balancing in a mobile broadband network technology, where a policy and a charging rule function (PCRF) is responsible for a service chain decision function, that is, Determine which types of business nodes a certain type of business flow needs to go through and how to classify the business flow.
- PCRF Policy and Charging Enforcement Function
- PCEF Policy and Charging Enforcement Function
- a Software Defined Network (SDN) controller is responsible for obtaining information of each service node, and determining a routing policy of the service flow according to the information of the service node, that is, obtaining each of the service nodes of each type. And the load situation of each service node of each type, and then determine the current service bearer ratio of each service node.
- the SDN switch is responsible for forwarding service flow packets according to the routing policy determined by the SDN controller.
- load balancing of service nodes is performed in the following two manners:
- the SDN controller obtains information about the location (corresponding switch and port), address, capacity, and dynamic load of each service node, and the quintuple information and service chain identifier of each service flow (Identity; abbreviation: ID) , that is, an identifier indicating the type of the business chain.
- the SDN controller generates a first-class entry for each service flow according to the information of each service node, determines a service node that each service flow needs to flow, and sends the generated flow entry to the SDN switch, and the SDN switch according to the flow entry Define the packets for this service flow to forward.
- the SDN controller In the first mode, the SDN controller generates a first-class entry for each service flow, resulting in a very large number of flow entries, a large signaling overhead, and low efficiency.
- a type of service flow is assigned with multiple service chain IDs (for example, 1 to 1000).
- service chain IDs for example, 1 to 1000.
- the SDN controller obtains information about the location (corresponding switch and port), address, capacity, and dynamic load of each service node, and determines a routing policy of the service flow according to the information of the service node. For example, the service node of type 1 has two instances. If the capacity ratio is 1:1, the SDN controller sends a flow table entry to the SDN switch, instructing the SDN switch to route the service flow with the service chain ID of 1 to 500 to instance 1, and set the service chain ID to 501. The packets of the service flow of 1000 are routed to instance 2.
- the method for load balancing the service node is not flexible. For example, if the service node of type 1 adds two more instances and the capacity is the same as the first two, the service chain ID can be 251-500, 751 ⁇ . The packets of the service flow of the 1000 are migrated to the new two instances. However, in the second mode, the change of the routing policy must wait for the forwarding of the packets of the existing service flow.
- FIG. 2 is a schematic flowchart of a method for determining a route provided by the present application, where the method includes the following steps:
- Step 101 The controller acquires a first current load of each service node at the first time, and generates a first flow entry according to the obtained first current load of each service node, where the first flow entry includes the service flow of the first service chain. a first route mapping relationship, a first load ratio of each service node, and a first effective time period of the first flow entry, where the first load ratio is generated according to a first current load of each service node;
- Step 102 The controller sends the first flow entry to the switch.
- Step 103 The switch receives the first flow entry.
- Step 104 The controller acquires a second current load of each service node at the second time, and generates a second flow entry according to the second current load of each service node, where the second flow entry includes the packet of the first service flow. a second route mapping relationship, a second load ratio of each service node, and a second effective time period of the second flow entry, wherein the second load ratio is generated according to a second current load of each service node, the second The effective time period is different from the first effective time period;
- Step 105 The controller sends the second flow entry to the switch.
- Step 106 The switch receives the second flow entry.
- Step 107 The switch receives the first packet of the first service flow, where the first packet includes a first service chain identifier and a first timestamp of the first service flow, where the first service chain identifier indicates The first service flow is a service flow of the first service chain, and the first timestamp is a creation time of the first service flow;
- Step 108 The switch determines a time period including the first timestamp from the first valid time period and the second valid time period;
- Step 109 The switch determines, according to the determined flow entry corresponding to the time period, the service node that receives the first packet.
- Step 110 The switch sends the first packet to the determined service node.
- the controller separately obtains information of the service node at the first moment and the second moment, where the information of the service node includes a location, an address, a capacity, and a current load ratio of each service node.
- the service node at the first moment may not be the same as the service node at the second moment.
- two types of service nodes are newly added in the system, and the service node at the second moment includes the first moment.
- the controller generates a flow entry according to the information of the service node at the first time and the second time.
- the flow entry includes the route mapping relationship of the packets of the first type of service flow and the load ratio of each service node.
- the first route mapping relationship in the first flow entry may be the same as the second route mapping relationship in the second flow entry, or may be different, and is determined by whether each type of service node is increased or decreased.
- the packet of the first type of service flow sent by the classifier needs to be sent to the service node of type 1, and the service node of type 1 includes the first service node and the second service. node.
- the service node of the type 1 is newly added to be the third service node. Therefore, in the second route mapping relationship, the packet of the first type of service flow sent by the classifier is mapped to the first service node. And a second service node and a third service node. That is, the addition and deletion of service nodes may also cause changes in route mapping relationships.
- the first load ratio of the service node is different from the second load ratio of the service node, and includes the following two situations:
- the controller adjusts the load ratio of each service node because the current load of the service node is unbalanced.
- the current load of the service node includes: the remaining capacity of the service node (currently bearable Traffic volume) and the current load ratio.
- the current load imbalance means that the remaining capacity of the service node is not suitable for the current load ratio of the service node.
- the packets of the first type of service flow sent by the classifier are mapped to the first service node and the second service node, and at the first moment, the first service node And the remaining capacity of the second service node is the same, therefore, the controller sets the first load ratio of the first service node and the second service node to 50%.
- the controller may adjust the second load ratio of the first service node to 67% and the second load ratio of the second service node to 33%.
- the controller when the controller detects the service chain decision change, or the service node increases or decreases, or the current load of the service node is unbalanced, the controller is based on the current time of each service node at the second moment.
- the load generates a second flow entry, where the second flow entry includes a second load ratio of each service node.
- the second flow entry includes the second valid time segment being different from the first valid time segment of the first flow entry.
- the start time may be the second time, or may be the time determined by adding a margin based on the second time.
- the switch receives the first flow entry and the second flow entry, and determines the route of the first service flow according to the first flow entry or the second flow entry.
- the switch receives the first packet of the service flow, and the first packet may be from a classifier of the system, such as a PCEF, a gateway, and a traffic detection function entity (Traffic Detection Function; TDF);
- TDF Traffic Detection Function
- the message may also be from a service node.
- the packets of the first type of service flow need to flow through the service node as a firewall and the second service node that is cached and accelerated by the user, and the packet passes through the service node as a firewall. After that, you need to return to the switch and then forward it to the service node for caching and acceleration through the switch.
- the first packet includes a service chain identifier and a first timestamp, where the service chain identifier and the first timestamp may be added by the classifier in the system, and the first timestamp may be a service flow.
- the creation time that is, the time when the classifier receives the first message of the first service flow.
- the switch determines the first packet as the packet of the first type of service flow according to the service chain identifier included in the first packet, and determines the route of the first packet by using the first flow entry or the second flow entry.
- the switch further determines whether the first timestamp included in the first packet is included in the first valid time period or is included in the second valid time period. If the first valid time period includes the time corresponding to the first time stamp, then the root The route of the first packet is determined according to the first flow entry, and if the second valid time segment includes the time corresponding to the first timestamp, the route of the first packet is determined according to the second flow entry.
- the switch may also receive a third flow entry of the routing policy for the service flow of the first service chain, where the third valid time period of the third flow entry is both the first valid time period and the second valid time period. different. That is, the switch can receive and save multiple flow entries of the routing policy for the service flow of the same service chain, and the effective time periods of the multiple flow entries are different, and the switch receives the service flow of the first service chain. After the packet is received, the applicable flow entry is selected according to the timestamp of the packet.
- the controller can immediately generate a second flow entry according to the current service node load, and instruct the switch to perform the second route mapping relationship according to the second route mapping relationship and the second when detecting that the load condition of the service node is unbalanced.
- the load ratio determines the route of the packet whose timestamp is later than the start time of the second flow entry to implement load balancing of the service node.
- the method for determining a route provided by the embodiment of the present application can adjust the policy for determining a route according to the current load change of the service node, without waiting for the existing packet processing.
- the adjustment of the routing strategy is more efficient and flexible.
- the foregoing controller may be an SDN controller in an SDN network architecture
- the foregoing switch may be an SDN switch in an SDN network.
- the foregoing step 101 to step 102 and the step 104 to the step 105 may be performed by the network element having the same or similar function as the SDN controller in the SDN architecture.
- the foregoing step 103, step 106 to step 110 may be performed. It is performed by a network element having the same or similar function as the SDN switch in the SDN architecture.
- the functions of both the controller and the switch can also be integrated on one network element.
- the step further includes the following steps:
- the flow entry that is sent to the switch by the controller may include a valid time segment field, which is used to indicate the valid time of the flow entry. If the valid time period of the received (generated) flow entry overlaps with the valid time segment of the previously received (generated) flow entry, the timestamp is determined by the policy defined in the subsequent flow entry. The routing of the internal packets in response to the latest routing policy to achieve load balancing quickly.
- the valid time segment field in the flow entry can be the default or the value is null, indicating that the flow entry is always valid.
- the switch determines, according to the first flow entry, the service node that receives the first packet. Referring to FIG. 3, the method includes the following steps:
- Step 1091 Determine at least two service nodes according to the input node of the first packet and the first route mapping relationship.
- Step 1092 The switch generates a load balancing factor according to the first timestamp.
- Step 1093 The switch determines, according to a first load ratio of each of the at least two service nodes and a load balancing factor, a first service node for receiving the first packet from the at least two service nodes.
- the route mapping relationship included in the flow entry refers to the mapping relationship between the input node and the output node of the packet of the first type of service flow, that is, the switch should forward the packet received from the first input node to the packet.
- the service node load ratio included in the flow entry refers to the proportion of each of the at least two service nodes that are determined according to the route mapping relationship.
- the Match section contains the information of the packet and the flow entry
- the InPort refers to the port identifier of the input node
- the SC-ID refers to the service chain identifier, also known as the service chain ID
- the TimeStamp field indicates the valid time of the flow entry.
- the segment is [T 1 , T 2 ), as mentioned earlier, the TimeStamp field can also be defaulted.
- the Output section contains the information of the output node, OutPut refers to the identity of the output port, and Ratio refers to the load ratio of the corresponding output port.
- the above flow entry indicates that the packet input from port 0 is sent to port 1 or port 2.
- the port 1 and port 2 have the same load ratio, that is, the packets are evenly distributed to port 1 and port 2.
- the switch obtains the identifier of the input node of the first packet, and determines at least two service nodes that may be used to receive the first packet according to the identifier of the input node and the route mapping relationship in the first flow entry.
- the switch generates a load balancing factor according to the timestamp of the first packet, and combines the load balancing factor with the load ratio of the at least two service nodes (the service nodes determined in step 1091) in the first flow entry, and at least A first service node for receiving the first message is determined by the two service nodes.
- step 1093 includes the following manners:
- the switch calculates the hash value of the timestamp, uses the calculated hash value as the load balancing factor, and determines the service node that receives the packet by combining the hash value with the load ratio of the service node.
- two possible output service nodes are determined according to the first route mapping relationship, namely, service node 1 and service node 2, wherein the load ratio of both is 50%, and after the hash value is calculated according to the timestamp, If the hash value is an odd number, the message is sent to the service node 1, and if the hash value is an even number, the message is sent to the service node 2.
- an intermediate value is determined. If the hash value is greater than the intermediate value, the message is sent to the service node 1, otherwise, the message is sent to the service node 2.
- the switch can also use the timestamp itself as a load balancing factor, and determine the service node that receives the packet according to the timestamp and the load ratio of the service node.
- the message is sent to the service node 1, if the last digit of the timestamp If it is an even number, the message is sent to service node 2. Or, the message with the timestamp in the range of [T 1 , T 1 + T) is sent to the service node 1, and the message with the time stamp in the range of [T 1 + T, T 1 + 2T) is sent to the service node. 2. Then, the message with the timestamp in the range of [T 1 + 2T, T 1 + 3T) is sent to the service node 1, and so on.
- the switch generates a load balancing factor according to the information irrelevant to the time stamp, and according to the load
- the equalization factor and the load ratio of the service node determine the service node that receives the message.
- the switch accumulates the received first type of service flow, and the count corresponding to each service flow is the load balancing factor of the packet. For example, the switch receives the first first type of service flow, and the switch counts 1, Count 2 for the second first type of traffic received, and so on, until counting 10 for the 10th first type of traffic, and then recounting the traffic from 1 onwards. For example, in the case where the load ratios of the service node 1 and the service node 2 are both 50%, the packets with an odd number are sent to the service node 1, and the packets with the even number are sent to the service node 2. Alternatively, the message in the range of [1, 5] is sent to the service node 1, and the message in the range of [6, 10] is sent to the service node 2.
- the first report body includes a load balancing factor, and the time period including the first time stamp is determined from the first valid time period and the second valid time period. For the first time period;
- the switch determines, according to the first flow entry, the service node that receives the first packet, including the following steps:
- Step 1091 The switch determines at least two service nodes according to the input node of the first packet and the first route mapping relationship.
- Step 1093 The switch determines, according to a first load ratio of each of the at least two service nodes and a load balancing factor, a first service node for receiving the first packet from the at least two service nodes.
- the classifier can calculate the load balancing factor of the packet, and add the load balancing factor to the packet.
- the switch does not need to calculate the load balancing factor, and obtains the load balancing factor directly from the packet to determine the service node that receives the packet.
- the switch can reduce the burden on the switch without calculating the load balancing factor.
- the first load ratio of the service node included in the first flow entry may be presented in the “Ratio” field of the previous example, that is, the proportion of services carried by the service nodes.
- the first load ratio of the service node may also be directly the range of the load balancing factor corresponding to the service node.
- the switch After the first packet is processed by the first service node, the switch needs to be returned to the switch, and the switch forwards the packet to the next service node, and sends the first packet to the first packet.
- the switch of the first service node may be the same as or different from the switch receiving the message sent by the first service node.
- the load balancing factor algorithm is unified, and even if a switchover occurs, the packet routing is consistent.
- the first packet is the first packet of the first service flow
- the switch determines, from the at least two service nodes, the first service node that is used to receive the first packet. After that, it also includes the following steps:
- Step 111 The switch receives the second packet of the first service flow.
- Step 112 The switch sends the second packet to the first service node.
- the switch directly determines the first service flow after determining that the service node that receives the first packet of the first service flow is the first service node.
- the packet after the packet is sent to the first service node without determining the packet route one by one according to the load ratio and the route mapping relationship.
- the switch may generate a new flow entry, where the first traffic flow is defined in the new flow entry.
- the packet is sent to the first service node.
- the switch can directly forward the packet to the first service node according to the new flow entry, without performing step 1093. To determine the next service node that receives the message.
- the foregoing steps 111 to 112 are applicable to the technical solution for determining the packet routing when the first packet does not include the load balancing factor, and the technical solution for determining the packet routing when the first packet includes the load balancing factor.
- the packet after the first packet of the first service flow is directly forwarded according to the routing manner of the first packet of the first service flow, and the routing of each packet of the service flow is determined by the calculation, which is greatly reduced.
- the computing burden of the switch is greatly reduced.
- the switch determines, from the at least two service nodes, the first service node that is used to receive the first packet, referring to FIG. 4, the method further includes the following steps:
- Step 113 The switch starts a timeout timer.
- Step 112 Before the switch sends the second packet to the first service node, the method further includes the following steps:
- Step 114 The switch determines that the timeout timer has not timed out.
- a timeout timer is set.
- the non-first report of the first service flow is performed through the foregoing steps 111 to 112. Forwarding of the text.
- the packet forwarding can be performed as follows:
- timeout timer when the timeout timer expires, it is determined whether there is a packet of the first service flow to be processed (forwarded), and if yes, the timer is reset until the timeout timer expires and there is no report of the first service flow. The timeout timer is revoked.
- the first packet after the timeout timer expires is determined in the manner of step 1093 to receive the service node, and then a new timeout timer is created, and steps 114 and 112 are performed. Among them, the previous timeout timer can be revoked.
- the execution of the step 111 and the step 112 is usually implemented by using a new flow entry, and the solution of the timeout timer can be used to age the newly created flow entry. After the packets of the service flow are processed, the newly created flow entry is deleted to reduce the number of flow entries and reduce the cost.
- the embodiment of the present application further provides a method for determining a route, and continues.
- the method includes the following steps:
- Step 201 The classifier receives the first packet of the first service flow.
- Step 202 The classifier determines, according to the feature field included in the first packet, that the first service flow is a service flow of the first service chain.
- Step 203 The classifier adds a first service chain identifier and a first timestamp of the first packet to the first packet, where the first service chain identifier indicates that the first service flow is the first a service flow of a service chain, where the first timestamp is a creation time of the first service flow;
- Step 204 The classifier sends the first packet to the switch.
- step 201 to step 204 may be performed by a classifier in a service chain architecture, and the classifier may specifically be a PCEF, a gateway, or a TDF, and the like.
- the above steps 201 to 204 may be performed by other network elements that have the same or similar functions as the classifiers in the service chain architecture.
- the classifier performs classification and identification on the service flow according to the service chain decision policy
- the service chain decision policy includes a rule for identifying the service flow, which is generated by the PCRF in the service chain architecture, and the classifier obtains the information from the PCRF.
- the PUSH mode refers to the PCRF actively pushing the service chain classification rule of the user-related service flow to the classifier; the PULL mode is when the classifier receives a certain service flow initiated by the user. , pull the corresponding business chain decision strategy on the PCRF.
- the classifier adds a timestamp to the packet of the service flow, and adds a time attribute to the packet, so that the switch can adopt the packet of different time segments.
- Different routing strategies to achieve load balancing of service nodes flexibly and efficiently.
- the service chain decision of the service flow, the identification of the service flow, the identification of the service flow, and the route of the service flow are decoupled, and the implementation of the load balancing policy is implemented by the controller and the switch, and Signaling interaction with the PCRF and the classifier is required to improve network efficiency;
- step 204 the following steps are further included:
- Step 205 The classifier determines a load balancing factor of the first packet, and adds a load balancing factor. In the first message.
- the classifier may calculate a load balancing factor of the packet according to the timestamp, or generate a load balancing factor of the packet according to other information not related to the timestamp, and the implementation manner is the implementation manner of the foregoing step 1093, mode 2 or Mode 3 is similar and will not be repeated here.
- the embodiment of the present application further provides an apparatus 300 for determining a route.
- the apparatus 300 includes:
- the first receiving module 301 is configured to receive the first flow entry, where the first flow entry includes a first route mapping relationship of the service flow of the first service chain, a first load ratio of each service node, and the first flow entry. a first valid time period; and receiving a second flow entry, the second flow entry including a second route mapping relationship of the service flow of the first service chain, a second load ratio of each service node, and the a second valid time period of the second flow entry, the second valid time period being different from the first valid time period;
- the second receiving module 302 is configured to receive a first packet of the first service flow, where the first packet includes a first service chain identifier and a first timestamp of the first service flow, where the first service chain The identifier indicates that the first service flow is a service flow of the first service chain, and the first timestamp is a creation time of the first service flow;
- a first determining module 303 configured to determine, from the first valid time period and the second valid time period, a time period including the first timestamp
- the second determining module 304 is configured to determine, according to the determined flow entry corresponding to the time period, a service node that receives the first packet;
- the sending module 305 is configured to send the first packet to the determined service node.
- the device further includes:
- the modifying module 306 is configured to: after receiving the second flow entry, determine whether a start time of the second valid time period is earlier than an end time of the first valid time period; and in the second valid time period The first effective time is earlier than the end time of the first valid time period The end time of the segment is modified to the start time of the second valid time period.
- the second determining module 304 is specifically configured to:
- the first packet further includes a load balancing factor, and the time including the first timestamp is determined from the first valid time period and the second valid time period.
- the segment is the first time period;
- the second determining module 304 is specifically configured to:
- the first packet is the first packet of the first service flow
- the second receiving module 302 is further configured to: receive a second packet of the first service flow
- the sending module 305 is further configured to: send the second packet to the first service node.
- the device further includes:
- a third determining module 307 configured to: after determining the first service node for receiving the first packet from the at least two service nodes, start a timeout timer; and send the second packet to the first service node Previously, it was determined that the timeout timer did not time out.
- the embodiment of the present application further provides an apparatus 400 for determining a route.
- the apparatus 400 includes:
- the receiving module 401 is configured to receive a first packet of the first service flow.
- the determining module 402 is configured to determine, according to the feature field included in the packet, that the first service flow is a service flow of the first service chain;
- the identifier module 403 is configured to add a first service chain identifier and a first timestamp of the first packet to the first packet, where the first service chain identifier indicates that the first service flow is the a service flow of the first service chain, where the first timestamp is a creation time of the first service flow;
- the sending module 404 is configured to send the first packet to the switch.
- the identifier module 403 is further configured to: determine a load balancing factor of the first packet, and add the load balancing factor to the first packet.
- the embodiment of the present application further provides an apparatus 500 for determining a route.
- the apparatus 500 includes:
- the first obtaining module 501 is configured to acquire a first current load of each service node at the first moment;
- the first generation module 502 is configured to generate a first flow entry, where the first flow entry includes a first route mapping relationship of the service flow of the first service chain, a first load ratio of each service node, and the first flow entry.
- the first effective time period, the first load ratio is generated according to the first current load of each service node;
- the sending module 503 is configured to send the first flow entry to the switch.
- the second obtaining module 504 is configured to acquire a second current load of each service node at the second moment
- the second generation module 505 is configured to generate a second flow entry, where the second flow entry includes a second route mapping relationship of the packet of the first type of service flow, a second load ratio of each service node, and a a second valid time period of the second flow entry, where the second load ratio is generated according to the second current load of each service node, the second valid time period and the first valid time period different;
- the sending module 503 is further configured to send the second flow entry to the switch.
- the embodiment of the present application further provides a device 600 for determining a route.
- the device 600 includes:
- the receiver 601 is configured to receive the first flow entry, where the first flow entry includes a first route mapping relationship of the service flow of the first service chain, a first load ratio of each service node, and a first flow entry An effective time period; and receiving the second flow entry, the second flow entry includes a second route mapping relationship of the service flow of the first service chain, a second load ratio of each service node, and the second a second valid time period of the flow entry, the second valid time period being different from the first valid time period; and receiving a first message of the first service flow, where the first message includes the first service chain And the first timestamp of the first service flow, the first service chain identifier indicates that the first service flow is a service flow of the first service chain, and the first timestamp is the first timestamp The creation time of the business flow;
- the processor 602 is configured to determine a time period including the first timestamp from the first valid time period and the second valid time period, and determine a receiving station according to the flow entry corresponding to the determined time period.
- the service node of the first message is configured to determine a time period including the first timestamp from the first valid time period and the second valid time period, and determine a receiving station according to the flow entry corresponding to the determined time period.
- the transmitter 603 is configured to send the first packet to the determined service node.
- the processor 602 is further configured to: after determining, by the at least two service nodes, the first service node that is used to receive the first packet, start a timeout timer And determining that the timeout timer has not timed out before instructing the transmitter to send the second message to the first service node.
- the processor 602 is configured to: determine, according to the first flow entry, a service node that receives the first packet, including:
- the first packet further includes a load balancing factor, and determining, by the first valid time period and the second valid time period, a time period including the first timestamp is The first time period;
- the processor 602 is configured to: determine, according to the first flow entry, a service node that receives the first packet, including:
- the first packet is the first packet of the first service flow
- the receiver 601 is further configured to: receive a second packet of the first service flow
- the transmitter is further configured to: send the second packet to the first service node.
- the processor 602 is further configured to: after determining, from the at least two service nodes, the first service node that is used to receive the first packet, start a timeout timer; Before sending the second packet to the first service node, it is determined that the timeout timer has not timed out.
- the device 600 further includes a memory 604, configured to store the received packet and the flow entry.
- the method of the device 600 in this embodiment and the method corresponding to FIG. 2 to FIG. 4 are based on two aspects under the same inventive concept.
- the implementation process of the method has been described in detail above, so those skilled in the art can refer to the foregoing description.
- the structure and implementation process of the device 600 in this embodiment are clearly understood. For the sake of brevity of the description, it will not be repeated here.
- the embodiment of the present application further provides an apparatus for determining a route, including:
- a receiver configured to receive a first packet of the first service flow
- a processor configured to determine, according to the feature field included in the first packet, the first service flow as a service flow of the first service chain; and add a first service chain identifier to the first packet, and the a first timestamp of the first packet, the first service chain identifier indicating that the first service flow is a service flow of the first service chain, and the first timestamp is a creation of the first service flow time;
- a transmitter configured to send the first packet to the switch.
- the processor is further configured to: determine a load balancing factor of the first packet, and add the load balancing factor to the first packet.
- the device further includes a memory, configured to store the received message.
- the method in this embodiment is the same as the method in FIG. 2 to FIG. 4, which is based on the two aspects of the same inventive concept.
- the implementation process of the method has been described in detail above, so that those skilled in the art can clearly understand according to the foregoing description.
- the structure and implementation process of the device in this embodiment are understood. For the sake of brevity of the description, details are not described herein again.
- the embodiment of the present application further provides an apparatus for determining a route, including:
- a receiver configured to receive a first current load of each service node when acquiring the first moment
- a processor configured to generate a first flow entry, where the first flow entry includes a first route mapping relationship of the service flow of the first service chain, a first load ratio of each service node, and a first of the first flow entry a valid time period, the first load ratio is generated according to the first current load of each service node;
- a transmitter configured to send the first flow entry to the switch
- the receiver is further configured to: acquire a second current load of each service node at the second moment;
- the processor is further configured to: generate a second flow entry, where the second flow entry includes a second route mapping relationship of the packet of the first type of service flow, a second load ratio of each service node, and the a second valid time period of the second flow entry, wherein the second load ratio is generated according to the second current load of each service node, and the second valid time period is different from the first valid time period;
- the transmitter is further configured to: send the second flow entry to the switch.
- the device further includes a memory, configured to store load information of the received service node and the generated flow entry.
- the method in this embodiment is the same as the method in FIG. 2 to FIG. 4, which is based on the two aspects of the same inventive concept.
- the implementation process of the method has been described in detail above, so that those skilled in the art can clearly understand according to the foregoing description.
- the structure and implementation process of the device in this embodiment are understood. For the sake of brevity of the description, details are not described herein again.
- the above processor may be a processing chip or a collective name of multiple processing elements.
- the processor may be a central processing unit (English: Central Processing Unit; CPU), or may be an Application Specific Intergrated Circuit (ASIC), or configured to implement the present invention.
- One or more integrated circuits such as one or more microprocessors (English: digital singnal processor; referred to as: DSP), or one or more field programmable gate arrays (English: Field Programmable Gate Array; :FPGA).
- the above receiver and transmitter can be integrated.
- the embodiment of the present application further provides a system for determining a route.
- the system includes:
- the controller 701 is configured to acquire a first current load of each service node at the first time, and generate a first flow entry, where the first flow entry includes a first route mapping relationship of the service flow of the first service chain, and each service node The first load ratio and the first valid time period of the first flow entry, the first load ratio is generated according to the first current load of each service node; and the first flow entry is sent to the switch; Obtaining a second current load of each service node at a second moment; generating a second flow entry, where the second flow entry includes a second route mapping relationship of the packet of the first type of service flow, and each service node a second load ratio and a second effective time period of the second flow entry, where the second load ratio is generated according to the second current load of each service node; sending the second flow entry Up to the switch, the second valid time period is different from the first valid time period;
- a classifier 702 configured to receive a first packet of the first service flow, according to the first packet
- the feature field determines that the first service flow is a service flow of the first service chain, and adds a first service chain identifier and a first timestamp of the first packet to the first packet, where the first service is
- the chain identifier indicates that the first service flow is a service flow of the first service chain, the first timestamp is a creation time of the first service flow, and the first packet is sent to a switch;
- the switch 703 is configured to receive the first flow entry, receive the second flow entry, receive the first packet of the first service flow, and determine the included location from the first valid time period and the second valid time period. The time period of the first timestamp is determined; the service node that receives the first packet is determined according to the flow entry corresponding to the determined time period; and the first packet is sent to the determined service node.
- the switch 703 is further configured to: after receiving the second flow entry,
- the end time of the first valid time period is modified to the start time of the second valid time period.
- the first packet is the first packet of the first service flow
- the switch 703 is further configured to: receive the second packet of the first service flow; and send the second packet to the first service node.
- the switch receives the first flow entry and the second flow entry, and determines whether to use the first flow entry to determine the route of the first packet or the second flow entry according to the timestamp included in the first packet. Determine the route of the first packet. Therefore, the switch can forward the packet of the newly created service flow by using the new flow entry when the new flow entry is generated due to the change of the load condition of the service node. And forwarding the packet of the previously created service flow based on the previous flow entry, and the packet forwarding according to the new flow entry is different after the existing technology waits for the existing existing packet to be processed.
- the switch can adjust the routing policy in time, which can implement load balancing more flexibly and quickly.
- a flow entry is not generated for each service flow, but a flow entry is generated for the same type of service flow, the number of flow entries is small, the system overhead is small, and the efficiency is high.
- embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
- the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种确定路由的方法、对应装置及系统,用于解决现有技术中难以高效且灵活地实现业务节点负载均衡的问题。所述方法包括:接收第一流表项,第一流表项包括第一类业务流的报文的第一路由映射关系以及各业务节点的第一负载比例;接收第二流表项,第二流表项包括第一类业务流的第二路由映射关系、各业务节点的第二负载比例以及第二流表项的起始时间;接收第一业务流的第一报文;根据第一报文包含的业务链标识确定第一业务流为第一类业务流;判断时间戳对应的时间是否早于第二流表项的起始时间;若是,则根据第一流表项确定接收第一报文的业务节点;否则,则根据第二流表项确定接收第一报文的业务节点。
Description
本发明涉及通信技术领域,特别涉及一种确定路由的方法、对应装置及系统。
在通信技术领域,用户发起的业务流通常需要由多个类型的业务功能(英文:Service Function;简称:SF)进行处理,且不同类型的业务流所需的业务功能可能不同。
现有技术中,为不同类型的业务流划分不同的业务链,针对每个业务链定义其所需经过的SF序列以及经过SF序列的顺序,不同业务链的业务流只需流经相应的业务节点即可。具体实施时,通过分类器对用户发起的业务流进行分类,在业务流的报文中添加业务链标识,然后,分类器将报文发送至转发机,转发机根据报文包含的业务链标识以及该业务链的业务流的路由映射关系确定接收该报文的下一业务节点。
实际情况中,同一类型SF可能包括多个业务节点,转发机在转发报文时需要考虑同一类型的多个业务节点的负载均衡,而且多个业务节点的动态负载随时间变化,但是现有技术中缺乏高效、灵活的实现业务节点负载均衡的方法。
发明内容
本申请实施例提供一种确定路由的方法、对应装置及系统,用于解决现有技术中难以高效且灵活地实现业务节点负载均衡的问题。
第一方面,本申请实施例提供一种确定路由的方法,包括:
接收第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间
段;
接收第二流表项,所述第二流表项包括所述第一业务链的业务流的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,所述第二有效时间段与所述第一有效时间段不同;
接收第一业务流的第一报文,所述第一报文包含第一业务链标识以及所述第一业务流的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;
从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段;
根据确定出的时间段对应的流表项确定接收所述第一报文的业务节点;
将所述第一报文发送至确定出的业务节点。
在上述实现方式中,交换机接收第一流表项以及第二流表项,并根据第一报文包含的时间戳确定采用第一流表项确定第一报文的路由,还是采用第二流表项确定第一报文的路由。因此,交换机能够在因业务节点的负载情况变化生成新的流表项时,立即采用新流表项对新创建业务流的报文进行转发,并继续基于在先的流表项对之前已创建的业务流的报文进行转发,与现有技术等待现有现有报文处理完之后才根据新的流表项进行报文转发不同,本申请实施例提供的方案中,交换机能够及时调整路由策略,能够更灵活、更快速实现负载均衡。而且,本申请实施例提供的方案中,不用针对每一业务流生成流表项,而是针对同一类业务流生成流表项,流表项数量很少,系统开销较小,效率较高。
结合第一方面,在第一方面的第一种可能的实现方式中,
在所述接收第二流表项之后,还包括:
判断所述第二有效时间段的起始时间是否早于所述第一有效时间段的结束时间;
若是,则将所述第一有效时间段的结束时间修改为所述第二有效时间段的起始时间。
上述可能的实现方式中,在后生成的第二流表项与先生成的第一流表项的生效时间冲突时,根据第二流表项的生效时间对第一流表项的生效时间进行修正,避免流表项间的冲突。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;
根据所述第一流表项确定接收所述第一报文的业务节点,包括:
根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;
根据所述第一时间戳生成负载均衡因子;
根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一报文还包括负载均衡因子,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;
根据所述第一流表项确定接收所述第一报文的业务节点,包括:
根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;
根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
结合第一方面的第二种或第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述第一报文为所述第一业务流的首报文,在所述从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点之后,还包括:
接收所述第一业务流的第二报文;
将所述第二报文发送至所述第一业务节点。
上述可能的实现方式中,直接根据第一业务流的首报文的路由方式对第一业务流的首报文之后的报文进行转发,而不用通过计算逐一确定业务流的每一个报文的路由,大大减小了交换机的运算负担。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,在所述从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点之后,还包括:
启动超时计时器;
在所述将所述第二报文发送至所述第一业务节点之前,还包括:
确定所述超时计时器未超时。
第二方面,本申请实施例提供一种确定路由的方法,包括:
接收第一业务流的第一报文;
根据所述第一报文包含的特征字段确定所述第一业务流为第一业务链的业务流;
在所述第一报文中添加第一业务链标识以及所述第一报文的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;
将所述第一报文发送至交换机。
上述可能实现方式中,分类器在对业务流的报文进行分类标识时,还在业务流的报文中添加了时间戳,给报文增加时间属性,使得交换机能够对不同时间段的报文采用不同的路由策略,以实现灵活、高效地进行业务节点的负载均衡。
结合第二方面,在第二方面的第一种可能的实现方式中,在将所述第一报文发送至交换机之前,还包括:
确定所述第一报文的负载均衡因子,并将所述负载均衡因子添加在所述第一报文中。
第三方面,本申请实施例提供一种确定路由的方法,包括:
获取第一时刻时各业务节点的第一当前负载;
生成第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段,所述第一负载比例为根据各业务节点的所述第一当前负载生成;
将所述第一流表项发送至交换机;
获取第二时刻时各业务节点的第二当前负载;
生成第二流表项,所述第二流表项包括所述第一类业务流的报文的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,其中,所述第二负载比例为根据各业务节点的所述第二当前负载生成,所述第二有效时间段与所述第一有效时间段不同;
将所述第二流表项发送至所述交换机。
上述可能的实现方式中,控制器能够在检测业务节点的负载发生变更时,能够立即生成第二流表项,将第二流表项发送给交换机,以使交换机能够根据在先的第一流表项处理已有报文,并且根据第二流表项处理新创建报文,灵活、高效地实现负载均衡。
第四方面,本申请实施例提供一种确定路由的装置,包括:
第一接收模块,用于接收第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段;以及接收第二流表项,所述第二流表项包括所述第一业务链的业务流的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,所述第二有效时间段与所述第一有效时间段不同;
第二接收模块,用于接收第一业务流的第一报文,所述第一报文包含第一业务链标识以及所述第一业务流的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;
第一确定模块,用于从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段;
第二确定模块,用于根据确定出的时间段对应的流表项确定接收所述第一报文的业务节点;
发送模块,用于将所述第一报文发送至确定出的业务节点。
结合第四方面,在第四方面的第一种可能的实现方式中,所述装置还包括:
修改模块,用于在接收第二流表项之后,判断所述第二有效时间段的起始时间是否早于所述第一有效时间段的结束时间;并在所述第二有效时间段的起始时间早于所述第一有效时间段的结束时间时,将所述第一有效时间段的结束时间修改为所述第二有效时间段的起始时间。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;
所述第二确定模块具体用于:
根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;
根据所述第一时间戳生成负载均衡因子;
根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第三种可能的实现方式中所述第一报文还包括负载均衡因子,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;
所述第二确定模块具体用于:
根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两
个业务节点;
根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
结合第四方面的第二种或第三种可能的实现方式,在第四方面的第四种可能的实现方式中,所述第一报文为所述第一业务流的首报文;
所述第二接收模块还用于:接收所述第一业务流的第二报文;
所述发送模块,还用于将所述第二报文发送至所述第一业务节点。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述装置还包括:
第三确定模块,用于在所述从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点之后,启动超时计时器;并在所述将所述第二报文发送至所述第一业务节点之前,确定所述超时计时器未超时。
第五方面,本申请实施例提供一种确定路由的装置,包括:
接收模块,用于接收第一业务流的第一报文;
确定模块,用于根据所述报文包含的特征字段确定所述第一业务流为第一业务链的业务流;
标识模块,用于在所述第一报文中添加第一业务链标识以及所述第一报文的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;
发送模块,用于将所述第一报文发送至交换机。
结合第五方面,在第五方面的第一种可能的实现方式中,所述标识模块还用于:确定所述第一报文的负载均衡因子,并将所述负载均衡因子添加在所述第一报文中。
第六方面,本申请实施例提供一种确定路由的装置,包括:
第一获取模块,用于获取第一时刻时各业务节点的第一当前负载;
第一生成模块,用于生成第一流表项,所述第一流表项包括第一业务链
的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段,所述第一负载比例为根据各业务节点的所述第一当前负载生成;
发送模块,用于将所述第一流表项发送至交换机;
第二获取模块,用于获取第二时刻时各业务节点的第二当前负载;
第二生成模块,用于生成第二流表项,所述第二流表项包括所述第一类业务流的报文的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,其中,所述第二负载比例为根据各业务节点的所述第二当前负载生成,所述第二有效时间段与所述第一有效时间段不同;
所述发送模块,还用于将所述第二流表项发送至所述交换机。
第七方面,本申请实施例提供一种确定路由的设备,包括:
接收机,用于接收第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段;以及接收第二流表项,所述第二流表项包括所述第一业务链的业务流的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,所述第二有效时间段与所述第一有效时间段不同;以及接收第一业务流的第一报文,所述第一报文包含第一业务链标识以及所述第一业务流的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;
处理器,用于从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段;根据确定出的时间段对应的流表项确定接收所述第一报文的业务节点;
发射机,用于将所述第一报文发送至确定出的业务节点。
结合第七方面,在第七方面的第一种可能的实现方式中,所述处理器还用于:在接收第二流表项之后,判断所述第二有效时间段的起始时间是否早于所述第一有效时间段的结束时间;若是,则将所述第一有效时间段的结束时间修改为所述第二有效时间段的起始时间。
结合第七方面或第七方面的第一种可能的实现方式,在第七方面的第二种可能的实现方式中,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;
所述处理器用于:根据所述第一流表项确定接收所述第一报文的业务节点,包括:
根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;
根据所述第一时间戳生成负载均衡因子;
根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
结合第七方面或第七方面的第一种可能的实现方式,在第七方面的第三种可能的实现方式中,所述第一报文还包括负载均衡因子,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;
所述处理器用于:根据所述第一流表项确定接收所述第一报文的业务节点,包括:
根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;
根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
结合第七方面的第二种或第三种可能的实现方式,在第七方面的第四种可能的实现方式中,所述第一报文为所述第一业务流的首报文;
所述接收机还用于:接收所述第一业务流的第二报文;
所述发射机还用于:将所述第二报文发送至所述第一业务节点。
结合第七方面的第四种可能的实现方式,在第七方面的第五种可能的实
现方式中,所述处理器还用于:在所述从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点之后,启动超时计时器;以及在指示所述发射机将所述第二报文发送至所述第一业务节点之前,确定所述超时计时器未超时。
第八方面,本申请实施例提供一种确定路由的设备,包括:
接收机,用于接收第一业务流的第一报文;
处理器,用于根据所述第一报文包含的特征字段确定所述第一业务流为第一业务链的业务流;以及在所述第一报文中添加第一业务链标识以及所述第一报文的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;
发射机,用于将所述第一报文发送至交换机。
结合第八方面,在第八方面的第一种可能的实现方式中,所述处理器还用于:确定所述第一报文的负载均衡因子,并将所述负载均衡因子添加在所述第一报文中。
第九方面,本申请实施例提供一种确定路由的设备,包括:
接收机,用于接收获取第一时刻时各业务节点的第一当前负载;
处理器,用于生成第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段,所述第一负载比例为根据各业务节点的所述第一当前负载生成;
发射机,用于将所述第一流表项发送至交换机;
所述接收机还用于:获取第二时刻时各业务节点的第二当前负载;
所述处理器还用于:生成第二流表项,所述第二流表项包括所述第一类业务流的报文的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,其中,所述第二负载比例为根据各业务节点的所述第二当前负载生成,所述第二有效时间段与所述第一有效时间段不同;
所述发射机还用于:将所述第二流表项发送至所述交换机。
第十方面,本申请实施例提供一种确定路由的系统,包括:
控制器,用于获取第一时刻时各业务节点的第一当前负载;生成第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段,所述第一负载比例为根据各业务节点的所述第一当前负载生成;将所述第一流表项发送至交换机;获取第二时刻时各业务节点的第二当前负载;生成第二流表项,所述第二流表项包括所述第一类业务流的报文的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,其中,所述第二负载比例为根据各业务节点的所述第二当前负载生成;将所述第二流表项发送至所述交换机,所述第二有效时间段与所述第一有效时间段不同;
分类器,用于接收第一业务流的第一报文;根据所述第一报文包含的特征字段确定所述第一业务流为第一业务链的业务流;在所述第一报文中添加第一业务链标识以及所述第一报文的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;将所述第一报文发送至交换机;
所述交换机,用于接收第一流表项;接收第二流表项;接收第一业务流的第一报文;从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段;根据确定出的时间段对应的流表项确定接收所述第一报文的业务节点;将所述第一报文发送至确定出的业务节点。
结合第十方面,在第十方面的第一种可能的实现方式中,所述交换机还用于:在接收第二流表项之后,
判断所述第二有效时间段的起始时间是否早于所述第一有效时间段的结束时间;
若是,则将所述第一有效时间段的结束时间修改为所述第二有效时间段的起始时间。
结合第十方面或第十方面的第一种可能的实现方式,所述第一报文为所述第一业务流的首报文;
所述交换机还用于:接收所述第一业务流的第二报文;将所述第二报文发送至所述第一业务节点。
结合第十方面或第十方面的第一或第二种可能的实现方式,在第十方面的第三种可能的实现方式中,所述交换机用于:根据所述第一流表项确定接收所述第一报文的业务节点,包括:
根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;
根据所述时间戳生成负载均衡因子;
根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
结合第十方面或第十方面的第一或第二种可能的实现方式,在第十方面的第四种可能的实现方式中,所述第一报文还包括负载均衡因子,所述交换机用于:根据所述第一流表项确定接收所述第一报文的业务节点,包括:
根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;
根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
结合第十方面的第二种可能的实现方式,在第十方面的第五种可能的实现方式中,所述交换机在用于:从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点之后,还用于:启动超时计时器;
所述交换机在用于:将所述第二报文发送至所述第一业务节点之前,还用于:确定所述超时计时器未超时。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中
所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为对报文进行路由的系统的示意图;
图2为本申请实施例中确定路由的方法的流程示意图;
图3为本申请实施例中确定路由的方法的进一步细化流程的示意图;
图4为本申请实施例中确定路由的方法的另一流程示意图;
图5为本申请实施例中确定路由的装置300的结构示意框图;
图6为本申请实施例中确定路由的装置400的结构示意框图;
图7为本申请实施例中确定路由的装置500的结构示意框图;
图8为本申请实施例中确定路由的设备600的结构示意框图;
图9为本申请实施例中确定路由的系统的示意图。
为了便于理解本申请实施例提供的技术方案,下面首先介绍现有技术。
图1为现有移动宽带网络技术中实现业务流的路由以及负载均衡的系统的示意图,其中,策略和计费规则功能实体(Policy and Charging Rules Function;简称:PCRF)负责业务链决策功能,即确定某个类型的业务流需要经过哪些类型的业务节点处理,以及如何对业务流进行分类。策略和计费执行功能实体(Policy and Charging Enforcement Function;简称:PCEF)用于根据PCRF制定的分类规则对业务流进行识别以及分类,在业务流的报文中插入用于表明业务流类型的标识。软件定义网络(Software Defined Network;简称:SDN)控制器(controller)负责获取各业务节点的信息,并根据业务节点的信息决定业务流的路由策略,即获取每个类型的业务节点分别有哪些,以及每个类型的多个业务节点各自的负载情况,然后确定每个业务节点当前的业务承载比例。SDN交换机负责根据SDN控制器确定的路由策略进行业务流报文的转发。
现有技术中,采用如下两种方式进行业务节点的负载均衡:
方式一,SDN控制器获取各业务节点的位置(对应的交换机及端口)、地址、容量、动态负载等信息,以及每个业务流的五元组信息及业务链标识(Identity;简称:ID),即,表示业务链类型的标识。
然后,SDN控制器根据各业务节点的信息为每个业务流生成一流表项,决定每个业务流需要流经的业务节点,将生成的流表项发送给SDN交换机,SDN交换机根据流表项定义进行该业务流的报文进行转发。
上述方式一中,SDN控制器针对每一业务流生成一流表项,导致流表项的数量非常之大,信令开销巨大,效率较低。
方式二,一个类型的业务流分配有多个业务链ID(比如1~1000),PCEF在对业务流进行分类标识时,对同一类型的业务流可以分配不同的业务链ID。
SDN控制器获取各业务节点的位置(对应的交换机及端口)、地址、容量、动态负载等信息,并根据业务节点的信息决定业务流的路由策略,比如类型1的业务节点有2个实例,容量比例为1:1,则SDN控制器下发流表表项给SDN交换机,指示SDN交换机将业务链ID为1~500的业务流的报文路由到实例1,将业务链ID为501~1000的业务流的报文路由到实例2。
上述方式二中,对业务节点进行负载均衡的方式不够灵活,例如,类型1的业务节点再新增2个实例,容量和前两个相同,则可以将业务链ID为251~500、751~1000的业务流的报文分别迁移到新的2个实例,但是在方式二中,这种路由策略的改变,必须等待现有业务流的报文转发完毕之后才能执行。
因此,现有技术中缺乏高效、灵活的实现业务节点负载均衡的方法,为了解决这一问题,本申请实施例提供一种确定路由的方法、对应装置及系统。下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
图2为本申请提供的确定路由的方法的流程示意图,该方法包括如下步骤:
步骤101:控制器获取第一时刻时各业务节点的第一当前负载,并根据获取的各业务节点的第一当前负载生成第一流表项,第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段,第一负载比例为根据各业务节点的第一当前负载生成;
步骤102:控制器将第一流表项发送至交换机;
步骤103:交换机接收第一流表项;
步骤104:控制器获取第二时刻时各业务节点的第二当前负载,并根据各业务节点的第二当前负载生成第二流表项,第二流表项包括第一类业务流的报文的第二路由映射关系、各业务节点的第二负载比例以及第二流表项的第二有效时间段,其中,第二负载比例为根据各业务节点的第二当前负载生成,所述第二有效时间段与所述第一有效时间段不同;
步骤105:控制器将第二流表项发送至交换机;
步骤106:交换机接收第二流表项;
步骤107:交换机接收第一业务流的第一报文,所述第一报文包含第一业务链标识以及所述第一业务流的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;
步骤108:交换机从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段;
步骤109:交换机根据确定出的时间段对应的流表项确定接收所述第一报文的业务节点;
步骤110:交换机将所述第一报文发送至确定出的业务节点。
具体的,控制器分别获取第一时刻以及第二时刻时业务节点的信息,业务节点的信息包括每个业务节点的位置、地址、容量、以及当前负载比例,
其中,第一时刻的业务节点与第二时刻的业务节点可以不完全相同,例如,在第二时刻,系统中新增加了两个类型1的业务节点,第二时刻的业务节点包含第一时刻的业务节点以及新增的两个业务节点。
控制器分别根据第一时刻以及第二时刻时业务节点的信息生成流表项,流表项中包括第一类业务流的报文的路由映射关系以及各业务节点的负载比例。其中,第一流表项中的第一路由映射关系与第二流表项中的第二路由映射关系可以相同,也可以不相同,具体由各类型的业务节点是否发生增减所决定。
例如,第一时刻的第一路由映射关系中,需要将由分类器发送的第一类业务流的报文发送至类型1的业务节点,而类型1的业务节点包括第一业务节点以及第二业务节点。而在第二时刻时,新增加一个类型1的业务节点,为第三业务节点,因此,第二路由映射关系中,分类器发送的第一类业务流的报文被映射至第一业务节点、第二业务节点以及第三业务节点。即,业务节点的新增以及删减也可能引起路由映射关系的变更。
本申请实施例中,业务节点的第一负载比例与业务节点的第二负载比例不同,包括如下两种情况:
其一,如上述因业务节点增减导致路由映射关系变更时,各业务节点的负载比例将发生变更。
其二,在路由映射关系没有发生变化时,因业务节点的当前负载不均衡,控制器调整各业务节点的负载比例,其中,业务节点的当前负载包括:业务节点的剩余容量(当前可承载的业务量)以及当前负载比例,当前负载不均衡指的是业务节点的剩余容量与业务节点的当前负载比例不适应。
例如,在第一路由映射关系以及第二路由映射关系中,分类器发送的第一类业务流的报文均映射至第一业务节点和第二业务节点,在第一时刻,第一业务节点以及第二业务节点的剩余容量相同,因此,控制器将第一业务节点以及第二业务节点的第一负载比例均设置为50%。而在第二时刻,第一业务节点的剩余容量为第二业务节点的剩余容量的2倍,而第一业务节点与第
二业务节点的当前负载比例均为50%,承载业务能力较强的第一业务节点与承载能力较小的第二业务节点的负载比例相同,第一业务节点与第二负载的当前负载不均衡。为了实现负载均衡,控制器可以将第一业务节点的第二负载比例调整至67%,而将第二业务节点的第二负载比例调整至33%。
因此,本申请实施例中,在第二时刻,控制器检测到业务链决策变更,或者业务节点增减,或者业务节点的当前负载不均衡时,控制器根据各业务节点在第二时刻的当前负载生成第二流表项,第二流表项中包含各业务节点的第二负载比例。
另外,由于控制器在第一时刻已经生成第一流表项,为了避免冲突,第二流表项中包含第二有效时间段与第一流表项的第一有效时间段不同第二流表项的起始时间可以为第二时刻,也可以为在第二时刻基础上增加一裕量所确定出的时间。
另一方面,交换机分别接收控制器发送的第一流表项以及第二流表项,根据第一流表项或第二流表项均确定第一类业务流的的路由。
首先,交换机接收业务流的第一报文,该第一报文可以来自系统的分类器,如PCEF、网关(Gateway)、流量监测功能实体(Traffic Detection Function;简称:TDF)等;第一报文还可以来自业务节点,例如,根据业务链决策,第一类业务流的报文依次需要流经作为防火墙的业务节点以及用户缓存和加速的第二业务节点,报文经过作为防火墙的业务节点之后,需要返回交换机,再通过交换机转发至用于缓存和加速的业务节点。
本申请实施例中,第一报文中包含业务链标识以及第一时间戳,其中,业务链标识以及第一时间戳可以为系统中的上述分类器所添加,第一时间戳可以为业务流的创建时间,即,分类器接收到第一业务流的首报文的时间。
交换机根据第一报文包含的业务链标识确定第一报文为第一类业务流的报文,需要通过第一流表项或者第二流表项确定第一报文的路由。交换机进一步判断第一报文包含的第一时间戳包含在第一有效时间段内,还是包含在第二有效时间段内。如果第一有效时间段包含第一时间戳对应的时间,则根
据第一流表项确定第一报文的路由,如果第二有效时间段包含第一时间戳对应的时间,则根据第二流表项确定第一报文的路由。
实际情况中,交换机还可以接收针对第一业务链的业务流的路由策略的第三流表项,第三流表项的第三有效时间段誉第一有效时间段以及第二有效时间段均不同。亦即,交换机可以接收并保存针对同一业务链的业务流的路由策略的多个流表项,多个流表项各自的有效时间段均不同,交换机在接收到第一业务链的业务流的报文后,根据报文的时间戳选择适用的流表项。
本申请实施例上述技术方案中,控制器能够在检测到业务节点的负载情况不均衡时,能够立即根据当前的业务节点负载生成第二流表项,指示交换机根据第二路由映射关系以及第二负载比例确定包含的时间戳晚于第二流表项的起始时间的报文的路由,以实现业务节点的负载均衡。与现有技术中的上述方式一相比,本申请实施例提供的确定路由的方法中,针对每一类业务流生成流表项,而不用针对每一个流表项生成流表项,大大缩减系统开销。与现有技术中的上述方式二相比,本申请实施例提供的确定路由的方法,能够根据业务节点当前负载的变化即时调整确定路由的策略,而不用等待现有的报文处理后才进行路由策略的调整,更加高效、灵活。
需要说明的是,上述控制器可以为SDN网络架构中的SDN控制器,上述交换机可以为SDN网络中的SDN交换机。而如果不采用SDN网络架构,上述步骤101~步骤102、步骤104~步骤105可以由具有SDN架构中的SDN控制器相同或相似作用的网元所执行,上述步骤103、步骤106~步骤110可以由具有SDN架构中的SDN交换机相同或相似作用的网元所执行。另外,在其他网络架构中,控制器与交换机二者的功能也可以集成在一个网元上。
可选的,本申请实施例中,在步骤106:交换机接收第二流表项之后,还包括如下步骤:
判断所述第二有效时间段的起始时间是否早于所述第一有效时间段的结束时间;
若是,则将所述第一有效时间段的结束时间修改为所述第二有效时间段
的起始时间。具体的,控制器下发给交换机的流表项中可以包含有有效时间段字段,用于表明流表项的有效时间。如果后接收(生成)的流表项的有效时间段与在先接收(生成)的流表项的有效时间段有重合,则通过在后的流表项定义的策略确定时间戳在重合时间段内的报文的路由,以响应最新的路由策略,快速实现负载均衡。
实际情况中,在生成流表项时,流表项中的有效时间段字段可以缺省,或者值为空,表明该该流表项的一直有效。
可选的,本申请实施例中,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;
执行步骤109时,交换机具体根据第一流表项确定接收第一报文的业务节点,参照图3,包括如下步骤:
步骤1091:根据第一报文的输入节点以及第一路由映射关系,确定至少两个业务节点;
步骤1092:交换机根据第一时间戳生成负载均衡因子;
步骤1093:交换机根据至少两个业务节点各自的第一负载比例以及负载均衡因子,从至少两个业务节点中确定出用于接收第一报文的第一业务节点。
具体的,流表项中包含的路由映射关系指的是,第一类业务流的报文的输入节点与输出节点的映射关系,即交换机应将从第一输入节点处接收的报文转发至哪些业务节点。而流表项包含的业务节点负载比例指的是,根据路由映射关系确定出的至少两个业务节点各自承载业务的比例。
例如,流表项的一种可能的形式为:
“Match:InPort=0,SC-ID=1,T1=<TimeStamp<T2。
Output:OutPort=1,Ratio=50%;OutPort=2,Ratio=50%。”
其中,Match段落包含报文以及流表项的信息,InPort指的是输入节点的端口标识,SC-ID指的是业务链标识,又称为业务链ID,TimeStamp字段表明流表项的有效时间段为[T1,T2),如前所述,TimeStamp字段也可以缺省。Output段落包含的是输出节点的信息,OutPut指的是输出端口的标识,Ratio
指的是对应输出端口的负载比例。上述流表项表明,将从端口0输入的报文发送至端口1或端口2,端口1与端口2的负载比例相同,即将报文平均分配至端口1和端口2。
上述步骤1091中,交换机获得第一报文的输入节点的标识,并根据输入节点的标识以及第一流表项中的路由映射关系确定出可能用于接收第一报文的至少两个业务节点。
然后,交换机根据第一报文的时间戳生成负载均衡因子,并结合负载均衡因子以及第一流表项中上述至少两个业务节点(步骤1091所确定出的业务节点)各自的负载比例,从至少两个业务节点中确定出用于接收第一报文的第一业务节点。
具体实施时,步骤1093包括如下方式:
方式1,交换机计算时间戳的哈希值,将计算出的哈希值作为负载均衡因子,并结合哈希值与业务节点的负载比例确定接收报文的业务节点。
例如,根据第一路由映射关系确定出两个可能的输出业务节点,分别为业务节点1以及业务节点2,其中,二者的负载比例均为50%,则根据时间戳计算哈希值之后,如果哈希值为奇数,则将报文发送至业务节点1,如果哈希值为偶数,则将报文发送至业务节点2。或者,确定一中间值,如果哈希值大于该中间值,则将报文发送至业务节点1,否则,将报文发送至业务节点2。
方式2,交换机也可以将时间戳本身作为负载均衡因子,根据时间戳以及业务节点的负载比例确定接收报文的业务节点。
例如,沿用上述业务节点1以及业务节点2的负载比例均为50%的例子来讲,如果时间戳的末位数为奇数,则将报文发送至业务节点1,如果时间戳的末位数为偶数,则将报文发送至业务节点2。或者,将时间戳在[T1,T1+T)范围内的报文发送至业务节点1,将时间戳在[T1+T,T1+2T)范围内的报文发送至业务节点2,然后,将时间戳在[T1+2T,T1+3T)范围内的报文又发送至业务节点1,依次类推。
方式3,交换机根据与时间戳无关的信息生成负载均衡因子,并根据负载
均衡因子以及业务节点的负载比例确定接收报文的业务节点。
例如,交换机对接收到的第一类业务流进行累加计数,每个业务流对应的计数即为其报文的负载均衡因子,如,交换机为接收的第一个第一类业务流计数1,为接收的第二个第一类业务流计数2,以此类推,直至为第10个第一类业务流计数10,然后对业务流从1开始重新计数。沿用前述业务节点1以及业务节点2的负载比例均为50%的例子来讲,可以将计数为奇数的报文发送至业务节点1,将计数为偶数的报文发送至业务节点2。或者,将计数在[1,5]范围内的报文发送至业务节点1,将计数在[6,10]范围内的报文发送至业务节点2。
需要说明的是,上面仅列举了根据负载均衡因子以及业务节点的负载比例确定接收报文的业务节点的几种可能的实现方式,本领域技术人员还可以采用现有技术中的其他可能的实现方式来确定接收报文的业务节点,本申请实施例在此不一一举例。
可选的,本申请实施例中,第一报文本身包含有负载均衡因子,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;
执行步骤109时,交换机具体根据第一流表项确定接收第一报文的业务节点,包括如下步骤:
步骤1091:交换机根据第一报文的输入节点以及第一路由映射关系,确定至少两个业务节点;
步骤1093:交换机根据至少两个业务节点各自的第一负载比例以及负载均衡因子,从至少两个业务节点中确定出用于接收第一报文的第一业务节点。
具体的,分类器在对业务流的报文进行标识时,可以计算出报文的负载均衡因子,将负载均衡因子添加到报文之中。交换机无需计算负载均衡因子,直接从报文中获取负载均衡因子,确定接收报文的业务节点。其中,分类器计算负载均衡因子的方式以及步骤1093的实现方式请参照上述方式1、方式2以及方式3,在此不再重复。
在上述技术方案中,通过在报文中添加负载均衡因子,使得交换机可以不用再计算负载均衡因子,减轻了交换机的负担。
需要说明的是,在步骤109的上述两种实现方式中,第一流表项包含的业务节点的第一负载比例,可以以前面例子的“Ratio”字段形式呈现,即业务节点各自承载的业务比例,业务节点的第一负载比例也可以直接是业务节点对应的负载均衡因子的范围,例如,业务节点1的第一负载比例的表现形式可以为“LB=<Max/2”,业务节点2的第一负载比例的表现形式可以为“Max/2<LB=<Max”,其中,LB即负载均衡因子。
再者,本申请实施例的技术方案中,可以有多个交换机,第一报文经过第一业务节点处理后,需要返回交换机,由交换机转发至下一业务节点,将第一报文发送至第一业务节点的交换机与接收第一业务节点发送的报文的交换机可以相同,也可以不同。如果本申请实施例中,负载均衡因子的算法统一,即使发生交换机切换,也可以保证报文路由的一致。
可选的,本申请实施例中,第一报文为第一业务流的首报文,在步骤1093:交换机从至少两个业务节点中确定出用于接收第一报文的第一业务节点之后,还包括如下步骤:
步骤111:交换机接收第一业务流的第二报文;
步骤112:交换机将第二报文发送至第一业务节点。
具体的,由于第一业务流的所有报文的转发路径相同,所以,交换机在确定出接收第一业务流的首报文的业务节点为第一业务节点之后,直接将第一业务流的首报文之后的报文发送至第一业务节点,而无需根据负载比例以及路由映射关系来逐一确定报文路由。
具体实施时,交换机在确定出接收第一业务流的首报文的业务节点为第一业务节点之后,可以生成新的流表项,在该新的流表项中定义将第一业务流的报文发送至第一业务节点,交换机在接收到第一业务流的在后报文时,根据该新的流表项即可直接将报文转发至第一业务节点,而无需通过执行步骤1093来确定接收报文的下一业务节点。
上述步骤111~步骤112既适用于上述第一报文中不包含负载均衡因子时确定报文路由的技术方案,也适用于上述第一报文中包含负载均衡因子时确定报文路由的技术方案,通过直接根据第一业务流的首报文的路由方式对第一业务流的首报文之后的报文进行转发,而不用通过计算逐一确定业务流的每一个报文的路由,大大减小了交换机的运算负担。
可选的,本申请实施例中,在上述步骤1093:交换机从至少两个业务节点中确定出用于接收第一报文的第一业务节点之后,参照图4,还包括如下步骤:
步骤113:交换机启动超时计时器;
在步骤112:交换机将第二报文发送至第一业务节点之前,还包括如下步骤:
步骤114:交换机确定超时计时器未超时。
具体的,在通过步骤111~步骤113的方式进行报文的直接转发时,设置一超时计时器,在超时计时器未超时时,通过上述步骤111~步骤112进行第一业务流的非首报文的转发。
而在上述超时计时器超时后,可以采用如下方式进行报文转发:
其一,在超时计时器超时的时刻,判断是否存在待处理(转发)的第一业务流的报文,如果存在,则重置计时器,直至超时计时器超时不存在第一业务流的报文,则撤销该超时计时器。
其二,对超时计时器超时后的首个报文,采用步骤1093的方式确定接收它的业务节点,然后,又新建超时计时器,执行步骤114、步骤112。其中,在先的超时计时器可以予以撤销。
采用上述技术方案的目的包括:如前所述,步骤111、步骤112的执行通常采用新建流表项来实现,采用上述超时计时器的方案可以让新建的流表项进行老化,并在第一业务流的报文处理完之后,删除新建的流表项,以减少流表项的数目,减小开销。
基于相同的发明构思,本申请实施例还提供一种确定路由的方法,继续
参照图2,该方法包括如下步骤:
步骤201:分类器接收第一业务流的第一报文;
步骤202:分类器根据第一报文包含的特征字段确定第一业务流为第一业务链的业务流;
步骤203:分类器在所述第一报文中添加第一业务链标识以及所述第一报文的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;
步骤204:分类器将第一报文发送至交换机。
具体的,上述步骤201至步骤204可以由业务链架构中的分类器执行,分类器具体可以为PCEF、网关或者TDF,等等。实际情况中,上述步骤201至步骤204可以由与业务链架构中的分类器起相同或相似作用的其他网元执行。
本申请实施例中,分类器根据业务链决策策略对业务流进行分类标识,业务链决策策略中包含对业务流进行标识的规则,由业务链架构中的PCRF生成,分类器从PCRF处获取,具体可以为PUSH模式或者PULL模式,其中,PUSH模式指的是PCRF主动将用户相关业务流的业务链分类规则推送到分类器;PULL模式则是分类器在收到用户发起的某个业务流时,到PCRF上拉取对应的业务链决策策略。
上述技术方案中,分类器在对业务流的报文进行分类标识时,还在业务流的报文中添加了时间戳,给报文增加时间属性,使得交换机能够对不同时间段的报文采用不同的路由策略,以实现灵活、高效地进行业务节点的负载均衡。
再者,本申请实施例上述技术方案中,将业务流的业务链决策、业务流的识别、业务流的标识与业务流的路由解耦,负载均衡策略的实施由控制器和交换机实现,不需要和PCRF以及分类器进行信令交互,提高了网络效率;
可选的,本申请实施例中,在步骤204之前,还包括如下步骤:
步骤205:分类器确定第一报文的负载均衡因子,并将负载均衡因子添加
在第一报文中。
具体的,分类器可以根据时间戳计算报文的负载均衡因子,也可以根据与时间戳无关的其他信息生成报文的负载均衡因子,其实现方式与前述步骤1093的实现方式1、方式2或方式3相类似,在此不再重复。
通过由分类器添加负载在报文中添加均衡因子,能够减小交换机的运算负担。
基于相同的技术构思,本申请实施例还提供了一种确定路由的装置300,参照图5,装置300包括:
第一接收模块301,用于接收第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段;以及接收第二流表项,所述第二流表项包括所述第一业务链的业务流的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,所述第二有效时间段与所述第一有效时间段不同;
第二接收模块302,用于接收第一业务流的第一报文,所述第一报文包含第一业务链标识以及所述第一业务流的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;
第一确定模块303,用于从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段;
第二确定模块304,用于根据确定出的时间段对应的流表项确定接收所述第一报文的业务节点;
发送模块305,用于将所述第一报文发送至确定出的业务节点。
可选的,本申请实施例中,所述装置还包括:
修改模块306,用于在接收第二流表项之后,判断所述第二有效时间段的起始时间是否早于所述第一有效时间段的结束时间;并在所述第二有效时间段的起始时间早于所述第一有效时间段的结束时间时,将所述第一有效时间
段的结束时间修改为所述第二有效时间段的起始时间。
可选的,本申请实施例中,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;
所述第二确定模块304具体用于:
根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;
根据所述第一时间戳生成负载均衡因子;
根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
可选的,本申请实施例中,所述第一报文还包括负载均衡因子,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;
所述第二确定模块304具体用于:
根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;
根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
可选的,本申请实施例中,第一报文为第一业务流的首报文;
第二接收模块302还用于:接收第一业务流的第二报文;
发送模块305还用于:将第二报文发送至第一业务节点。
可选的,本申请实施例中,装置还包括:
第三确定模块307,用于在从至少两个业务节点中确定出用于接收第一报文的第一业务节点之后,启动超时计时器;并在将第二报文发送至第一业务节点之前,确定超时计时器未超时。
本实施例中的装置300与图2至图4对应的方法是基于同一发明构思下
的两个方面,在前面已经对方法的实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施例中的装置300的结构及实施过程,为了说明书的简洁,在此就不再赘述了。
基于相同的发明构思,本申请实施例还提供一种确定路由的装置400,参照图6,装置400包括:
接收模块401,用于接收第一业务流的第一报文;
确定模块402,用于根据所述报文包含的特征字段确定所述第一业务流为第一业务链的业务流;
标识模块403,用于在所述第一报文中添加第一业务链标识以及所述第一报文的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;
发送模块404,用于将所述第一报文发送至交换机。
可选的,本申请实施例中,标识模块403还用于:确定所述第一报文的负载均衡因子,并将所述负载均衡因子添加在所述第一报文中。
本实施例中的装置400与图2至图4对应的方法是基于同一发明构思下的两个方面,在前面已经对方法的实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施例中的装置400的结构及实施过程,为了说明书的简洁,在此就不再赘述了。
基于相同的发明构思,本申请实施例还提供一种确定路由的装置500,参照图7,装置500包括:
第一获取模块501,用于获取第一时刻时各业务节点的第一当前负载;
第一生成模块502,用于生成第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段,所述第一负载比例为根据各业务节点的所述第一当前负载生成;
发送模块503,用于将第一流表项发送至交换机;
第二获取模块504,用于获取第二时刻时各业务节点的第二当前负载;
第二生成模块505,用于生成第二流表项,所述第二流表项包括所述第一类业务流的报文的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,其中,所述第二负载比例为根据各业务节点的所述第二当前负载生成,所述第二有效时间段与所述第一有效时间段不同;
发送模块503,还用于将第二流表项发送至交换机。
本实施例中的装置500与图2至图4对应的方法是基于同一发明构思下的两个方面,在前面已经对方法的实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施例中的装置500的结构及实施过程,为了说明书的简洁,在此就不再赘述了。
基于相同的发明构思,本申请实施例还提供一种确定路由的设备600,参照图8,设备600包括:
接收机601,用于接收第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段;以及接收第二流表项,所述第二流表项包括所述第一业务链的业务流的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,所述第二有效时间段与所述第一有效时间段不同;以及接收第一业务流的第一报文,所述第一报文包含第一业务链标识以及所述第一业务流的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;
处理器602,用于从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段;根据确定出的时间段对应的流表项确定接收所述第一报文的业务节点;
发射机603,用于将所述第一报文发送至确定出的业务节点。
可选的,本申请实施例中,处理器602还用于:在所述从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点之后,启动超时计时器;以及在指示所述发射机将所述第二报文发送至所述第一业务节点之前,确定所述超时计时器未超时。
可选的,本申请实施例中,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;
处理器602用于:根据第一流表项确定接收第一报文的业务节点,包括:
根据第一报文的输入节点以及第一路由映射关系,确定至少两个业务节点;
根据时间戳生成负载均衡因子;
根据至少两个业务节点各自的第一负载比例以及负载均衡因子,从至少两个业务节点中确定出用于接收第一报文的第一业务节点。
可选的,本申请实施例中,第一报文还包括负载均衡因子,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;
处理器602用于:根据第一流表项确定接收第一报文的业务节点,包括:
根据第一报文的输入节点以及第一路由映射关系,确定至少两个业务节点;
根据至少两个业务节点各自的第一负载比例以及负载均衡因子,从至少两个业务节点中确定出用于接收第一报文的第一业务节点。
可选的,本申请实施例中,第一报文为第一业务流的首报文;
接收机601还用于:接收第一业务流的第二报文;
发射机还用于:将第二报文发送至第一业务节点。
可选的,本申请实施例中,处理器602还用于:在从至少两个业务节点中确定出用于接收第一报文的第一业务节点之后,启动超时计时器;以及在指示发射机将第二报文发送至第一业务节点之前,确定超时计时器未超时。
可选的本申请实施例中,设备600还包括存储器604,用于存储接收的报文以及流表项。
本实施例中的设备600与图2至图4对应的方法是基于同一发明构思下的两个方面,在前面已经对方法的实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施例中的设备600的结构及实施过程,
为了说明书的简洁,在此就不再赘述了。
基于相同的发明构思,本申请实施例还提供一种确定路由的设备,包括:
接收机,用于接收第一业务流的第一报文;
处理器,用于根据所述第一报文包含的特征字段确定所述第一业务流为第一业务链的业务流;以及在所述第一报文中添加第一业务链标识以及所述第一报文的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;
发射机,用于将所述第一报文发送至交换机。
可选的,本申请实施例中,所述处理器还用于:确定所述第一报文的负载均衡因子,并将所述负载均衡因子添加在所述第一报文中。
可选的本申请实施例中,设备还包括存储器,用于存储接收的报文。
本实施例中的设备与图2至图4对应的方法是基于同一发明构思下的两个方面,在前面已经对方法的实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施例中的设备的结构及实施过程,为了说明书的简洁,在此就不再赘述了。
基于相同的发明构思,本申请实施例还提供一种确定路由的设备,包括:
接收机,用于接收获取第一时刻时各业务节点的第一当前负载;
处理器,用于生成第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段,所述第一负载比例为根据各业务节点的所述第一当前负载生成;
发射机,用于将第一流表项发送至交换机;
接收机还用于:获取第二时刻时各业务节点的第二当前负载;
处理器还用于:生成第二流表项,所述第二流表项包括所述第一类业务流的报文的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,其中,所述第二负载比例为根据各业务节点的所述第二当前负载生成,所述第二有效时间段与所述第一有效时间段不同;
发射机还用于:将第二流表项发送至交换机。
可选的本申请实施例中,设备还包括存储器,用于存储接收的业务节点的负载信息以及生成的流表项。
本实施例中的设备与图2至图4对应的方法是基于同一发明构思下的两个方面,在前面已经对方法的实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施例中的设备的结构及实施过程,为了说明书的简洁,在此就不再赘述了。
需要说明的是,以上处理器可以是一个处理芯片,也可以是多个处理元件的统称。例如,上述处理器可以是中央处理器(英文:Central Processing Unit;简称:CPU),也可以是特定集成电路(英文:Application Specific Intergrated Circuit;简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(英文:digital singnal processor;简称:DSP),或,一个或者多个现场可编程门阵列(英文:Field Programmable Gate Array;简称:FPGA)。
再者,上述接收机与发射机能够集成在一起。
基于相同的发明构思,本申请实施例还提供一种确定路由的系统,参照图9,系统包括:
控制器701,用于获取第一时刻时各业务节点的第一当前负载;生成第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段,所述第一负载比例为根据各业务节点的所述第一当前负载生成;将所述第一流表项发送至交换机;获取第二时刻时各业务节点的第二当前负载;生成第二流表项,所述第二流表项包括所述第一类业务流的报文的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,其中,所述第二负载比例为根据各业务节点的所述第二当前负载生成;将所述第二流表项发送至所述交换机,所述第二有效时间段与所述第一有效时间段不同;
分类器702,用于接收第一业务流的第一报文;根据所述第一报文包含的
特征字段确定所述第一业务流为第一业务链的业务流;在所述第一报文中添加第一业务链标识以及所述第一报文的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;将所述第一报文发送至交换机;
交换机703,用于接收第一流表项;接收第二流表项;接收第一业务流的第一报文;从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段;根据确定出的时间段对应的流表项确定接收所述第一报文的业务节点;将所述第一报文发送至确定出的业务节点。
可选的,本申请实施例中,所述交换机703还用于:在接收第二流表项之后,
判断所述第二有效时间段的起始时间是否早于所述第一有效时间段的结束时间;
若是,则将所述第一有效时间段的结束时间修改为所述第二有效时间段的起始时间。
可选的,本申请实施例中,第一报文为第一业务流的首报文;
交换机703还用于:接收第一业务流的第二报文;将第二报文发送至第一业务节点。
本实施例中的系统与图2至图4对应的方法是基于同一发明构思下的两个方面,在前面已经对方法的实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施例中的系统的结构及实施过程,为了说明书的简洁,在此就不再赘述了。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,交换机接收第一流表项以及第二流表项,并根据第一报文包含的时间戳确定采用第一流表项确定第一报文的路由,还是采用第二流表项确定第一报文的路由。因此,交换机能够在因业务节点的负载情况变化生成新的流表项时,立即采用新流表项对新创建业务流的报文进行转发,
并继续基于在先的流表项对之前已创建的业务流的报文进行转发,与现有技术等待现有现有报文处理完之后才根据新的流表项进行报文转发不同,本申请实施例提供的方案中,交换机能够及时调整路由策略,能够更灵活、更快速实现负载均衡。而且,本申请实施例提供的方案中,不用针对每一业务流生成流表项,而是针对同一类业务流生成流表项,流表项数量很少,系统开销较小,效率较高。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本
发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (30)
- 一种确定路由的方法,其特征在于,包括:接收第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段;接收第二流表项,所述第二流表项包括所述第一业务链的业务流的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,所述第二有效时间段与所述第一有效时间段不同;接收第一业务流的第一报文,所述第一报文包含第一业务链标识以及所述第一业务流的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段;根据确定出的时间段对应的流表项确定接收所述第一报文的业务节点;将所述第一报文发送至确定出的业务节点。
- 如权利要求1所述的方法,其特征在于,在所述接收第二流表项之后,还包括:判断所述第二有效时间段的起始时间是否早于所述第一有效时间段的结束时间;若是,则将所述第一有效时间段的结束时间修改为所述第二有效时间段的起始时间。
- 如权利要求1或2所述的方法,其特征在于,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;根据所述第一流表项确定接收所述第一报文的业务节点,包括:根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两 个业务节点;根据所述第一时间戳生成负载均衡因子;根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
- 如权利要求1或2所述的方法,其特征在于,所述第一报文还包括负载均衡因子,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;根据所述第一流表项确定接收所述第一报文的业务节点,包括:根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
- 如权利要求3或4所述的方法,其特征在于,所述第一报文为所述第一业务流的首报文,在所述从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点之后,还包括:接收所述第一业务流的第二报文;将所述第二报文发送至所述第一业务节点。
- 如权利要求5所述的方法,其特征在于,在所述从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点之后,还包括:启动超时计时器;在所述将所述第二报文发送至所述第一业务节点之前,还包括:确定所述超时计时器未超时。
- 一种确定路由的方法,其特征在于,包括:接收第一业务流的第一报文;根据所述第一报文包含的特征字段确定所述第一业务流为第一业务链的 业务流;在所述第一报文中添加第一业务链标识以及所述第一报文的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;将所述第一报文发送至交换机。
- 如权利要求7所述的方法,其特征在于,在将所述第一报文发送至交换机之前,还包括:确定所述第一报文的负载均衡因子,并将所述负载均衡因子添加在所述第一报文中。
- 一种确定路由的方法,其特征在于,包括:获取第一时刻时各业务节点的第一当前负载;生成第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段,所述第一负载比例为根据各业务节点的所述第一当前负载生成;将所述第一流表项发送至交换机;获取第二时刻时各业务节点的第二当前负载;生成第二流表项,所述第二流表项包括所述第一类业务流的报文的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,其中,所述第二负载比例为根据各业务节点的所述第二当前负载生成,所述第二有效时间段与所述第一有效时间段不同;将所述第二流表项发送至所述交换机。
- 一种确定路由的装置,其特征在于,包括:第一接收模块,用于接收第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段;以及接收第二流表项,所述第二流表项包括所述第一业务链的业务流的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,所述第二有效时间段与所述第一有效时间 段不同;第二接收模块,用于接收第一业务流的第一报文,所述第一报文包含第一业务链标识以及所述第一业务流的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;第一确定模块,用于从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段;第二确定模块,用于根据确定出的时间段对应的流表项确定接收所述第一报文的业务节点;发送模块,用于将所述第一报文发送至确定出的业务节点。
- 如权利要求10所述的装置,其特征在于,所述装置还包括:修改模块,用于在接收第二流表项之后,判断所述第二有效时间段的起始时间是否早于所述第一有效时间段的结束时间;并在所述第二有效时间段的起始时间早于所述第一有效时间段的结束时间时,将所述第一有效时间段的结束时间修改为所述第二有效时间段的起始时间。
- 如权利要求10或11所述的装置,其特征在于,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;所述第二确定模块具体用于:根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;根据所述第一时间戳生成负载均衡因子;根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
- 如权利要求10或11所述的装置,其特征在于,所述第一报文还包括负载均衡因子,从所述第一有效时间段以及所述第二有效时间段中确定出 包括所述第一时间戳的时间段为所述第一时间段;所述第二确定模块具体用于:根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
- 如权利要求12或13所述的装置,其特征在于,所述第一报文为所述第一业务流的首报文;所述第二接收模块还用于:接收所述第一业务流的第二报文;所述发送模块,还用于将所述第二报文发送至所述第一业务节点。
- 如权利要求14所述的装置,其特征在于,所述装置还包括:第三确定模块,用于在所述从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点之后,启动超时计时器;并在所述将所述第二报文发送至所述第一业务节点之前,确定所述超时计时器未超时。
- 一种确定路由的装置,其特征在于,包括:接收模块,用于接收第一业务流的第一报文;确定模块,用于根据所述报文包含的特征字段确定所述第一业务流为第一业务链的业务流;标识模块,用于在所述第一报文中添加第一业务链标识以及所述第一报文的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;发送模块,用于将所述第一报文发送至交换机。
- 如权利要求16所述的装置,其特征在于,所述标识模块还用于:确定所述第一报文的负载均衡因子,并将所述负载均衡因子添加在所述第一报文中。
- 一种确定路由的装置,其特征在于,包括:第一获取模块,用于获取第一时刻时各业务节点的第一当前负载;第一生成模块,用于生成第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段,所述第一负载比例为根据各业务节点的所述第一当前负载生成;发送模块,用于将所述第一流表项发送至交换机;第二获取模块,用于获取第二时刻时各业务节点的第二当前负载;第二生成模块,用于生成第二流表项,所述第二流表项包括所述第一类业务流的报文的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,其中,所述第二负载比例为根据各业务节点的所述第二当前负载生成,所述第二有效时间段与所述第一有效时间段不同;所述发送模块,还用于将所述第二流表项发送至所述交换机。
- 一种确定路由的设备,其特征在于,包括:接收机,用于接收第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段;以及接收第二流表项,所述第二流表项包括所述第一业务链的业务流的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,所述第二有效时间段与所述第一有效时间段不同;以及接收第一业务流的第一报文,所述第一报文包含第一业务链标识以及所述第一业务流的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;处理器,用于从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段;根据确定出的时间段对应的流表项确定接收所述第一报文的业务节点;发射机,用于将所述第一报文发送至确定出的业务节点。
- 如权利要求19所述的设备,其特征在于,所述处理器还用于:在接收第二流表项之后,判断所述第二有效时间段的起始时间是否早于所述第一 有效时间段的结束时间;若是,则将所述第一有效时间段的结束时间修改为所述第二有效时间段的起始时间。
- 如权利要求19或20所述的设备,其特征在于,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;所述处理器用于:根据所述第一流表项确定接收所述第一报文的业务节点,包括:根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;根据所述第一时间戳生成负载均衡因子;根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
- 如权利要求19或20所述的设备,其特征在于,所述第一报文还包括负载均衡因子,从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段为所述第一时间段;所述处理器用于:根据所述第一流表项确定接收所述第一报文的业务节点,包括:根据所述第一报文的输入节点以及所述第一路由映射关系,确定至少两个业务节点;根据所述至少两个业务节点各自的所述第一负载比例以及所述负载均衡因子,从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点。
- 如权利要求21或22所述的设备,其特征在于,所述第一报文为所述第一业务流的首报文;所述接收机还用于:接收所述第一业务流的第二报文;所述发射机还用于:将所述第二报文发送至所述第一业务节点。
- 如权利要求23所述的设备,其特征在于,所述处理器还用于:在所述从所述至少两个业务节点中确定出用于接收所述第一报文的第一业务节点之后,启动超时计时器;以及在指示所述发射机将所述第二报文发送至所述第一业务节点之前,确定所述超时计时器未超时。
- 一种确定路由的设备,其特征在于,包括:接收机,用于接收第一业务流的第一报文;处理器,用于根据所述第一报文包含的特征字段确定所述第一业务流为第一业务链的业务流;以及在所述第一报文中添加第一业务链标识以及所述第一报文的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;发射机,用于将所述第一报文发送至交换机。
- 如权利要求25所述的设备,其特征在于,所述处理器还用于:确定所述第一报文的负载均衡因子,并将所述负载均衡因子添加在所述第一报文中。
- 一种确定路由的设备,其特征在于,包括:接收机,用于接收获取第一时刻时各业务节点的第一当前负载;处理器,用于生成第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段,所述第一负载比例为根据各业务节点的所述第一当前负载生成;发射机,用于将所述第一流表项发送至交换机;所述接收机还用于:获取第二时刻时各业务节点的第二当前负载;所述处理器还用于:生成第二流表项,所述第二流表项包括所述第一类业务流的报文的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,其中,所述第二负载比例为根据各业务节点的所述第二当前负载生成,所述第二有效时间段与所述第一有效时间段不同;所述发射机还用于:将所述第二流表项发送至所述交换机。
- 一种确定路由的系统,其特征在于,包括:控制器,用于获取第一时刻时各业务节点的第一当前负载;生成第一流表项,所述第一流表项包括第一业务链的业务流的第一路由映射关系、各业务节点的第一负载比例以及所述第一流表项的第一有效时间段,所述第一负载比例为根据各业务节点的所述第一当前负载生成;将所述第一流表项发送至交换机;获取第二时刻时各业务节点的第二当前负载;生成第二流表项,所述第二流表项包括所述第一类业务流的报文的第二路由映射关系、各业务节点的第二负载比例以及所述第二流表项的第二有效时间段,其中,所述第二负载比例为根据各业务节点的所述第二当前负载生成;将所述第二流表项发送至所述交换机,所述第二有效时间段与所述第一有效时间段不同;分类器,用于接收第一业务流的第一报文;根据所述第一报文包含的特征字段确定所述第一业务流为第一业务链的业务流;在所述第一报文中添加第一业务链标识以及所述第一报文的第一时间戳,所述第一业务链标识表明所述第一业务流为所述第一业务链的业务流,所述第一时间戳为所述第一业务流的创建时间;将所述第一报文发送至交换机;所述交换机,用于接收第一流表项;接收第二流表项;接收第一业务流的第一报文;从所述第一有效时间段以及所述第二有效时间段中确定出包括所述第一时间戳的时间段;根据确定出的时间段对应的流表项确定接收所述第一报文的业务节点;将所述第一报文发送至确定出的业务节点。
- 如权利要求28所述的系统,其特征在于,所述交换机还用于:在接收第二流表项之后,判断所述第二有效时间段的起始时间是否早于所述第一有效时间段的结束时间;若是,则将所述第一有效时间段的结束时间修改为所述第二有效时间段的起始时间。
- 如权利要求28或29所述的系统,其特征在于,所述第一报文为所述第一业务流的首报文;所述交换机还用于:接收所述第一业务流的第二报文;将所述第二报文发送至所述第一业务节点。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/093525 WO2017070970A1 (zh) | 2015-10-31 | 2015-10-31 | 一种确定路由的方法、对应装置及系统 |
EP15907031.7A EP3361684B1 (en) | 2015-10-31 | 2015-10-31 | Route determining method and corresponding apparatus and system |
SG11201803460TA SG11201803460TA (en) | 2015-10-31 | 2015-10-31 | Route determining method and corresponding apparatus and system |
CN201580065479.XA CN107005485B (zh) | 2015-10-31 | 2015-10-31 | 一种确定路由的方法、对应装置及系统 |
RU2018119517A RU2692042C1 (ru) | 2015-10-31 | 2015-10-31 | Способ определения маршрута и соответствующие устройство и система |
US15/965,849 US10547541B2 (en) | 2015-10-31 | 2018-04-28 | Route determining method, and corresponding apparatus and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/093525 WO2017070970A1 (zh) | 2015-10-31 | 2015-10-31 | 一种确定路由的方法、对应装置及系统 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/965,849 Continuation US10547541B2 (en) | 2015-10-31 | 2018-04-28 | Route determining method, and corresponding apparatus and system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017070970A1 true WO2017070970A1 (zh) | 2017-05-04 |
Family
ID=58631125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2015/093525 WO2017070970A1 (zh) | 2015-10-31 | 2015-10-31 | 一种确定路由的方法、对应装置及系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10547541B2 (zh) |
EP (1) | EP3361684B1 (zh) |
CN (1) | CN107005485B (zh) |
RU (1) | RU2692042C1 (zh) |
SG (1) | SG11201803460TA (zh) |
WO (1) | WO2017070970A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525497A (zh) * | 2017-09-18 | 2019-03-26 | 华为技术有限公司 | 一种流量分组方法、数据中心网络系统以及控制器 |
US20240126623A1 (en) * | 2020-11-25 | 2024-04-18 | Amazon Technologies, Inc. | Tracing service interactions without global transaction identifiers |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9225638B2 (en) | 2013-05-09 | 2015-12-29 | Vmware, Inc. | Method and system for service switching using service tags |
US10454714B2 (en) | 2013-07-10 | 2019-10-22 | Nicira, Inc. | Method and system of overlay flow control |
US9935827B2 (en) | 2014-09-30 | 2018-04-03 | Nicira, Inc. | Method and apparatus for distributing load among a plurality of service nodes |
US10135737B2 (en) | 2014-09-30 | 2018-11-20 | Nicira, Inc. | Distributed load balancing systems |
US10135789B2 (en) | 2015-04-13 | 2018-11-20 | Nicira, Inc. | Method and system of establishing a virtual private network in a cloud service for branch networking |
US20200036624A1 (en) | 2017-01-31 | 2020-01-30 | The Mode Group | High performance software-defined core network |
US11706127B2 (en) | 2017-01-31 | 2023-07-18 | Vmware, Inc. | High performance software-defined core network |
US10992568B2 (en) | 2017-01-31 | 2021-04-27 | Vmware, Inc. | High performance software-defined core network |
US20180219765A1 (en) | 2017-01-31 | 2018-08-02 | Waltz Networks | Method and Apparatus for Network Traffic Control Optimization |
US10778528B2 (en) | 2017-02-11 | 2020-09-15 | Nicira, Inc. | Method and system of connecting to a multipath hub in a cluster |
US10523539B2 (en) | 2017-06-22 | 2019-12-31 | Nicira, Inc. | Method and system of resiliency in cloud-delivered SD-WAN |
US11102032B2 (en) | 2017-10-02 | 2021-08-24 | Vmware, Inc. | Routing data message flow through multiple public clouds |
US10999100B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider |
US11115480B2 (en) | 2017-10-02 | 2021-09-07 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
US10805181B2 (en) | 2017-10-29 | 2020-10-13 | Nicira, Inc. | Service operation chaining |
US11223514B2 (en) | 2017-11-09 | 2022-01-11 | Nicira, Inc. | Method and system of a dynamic high-availability mode based on current wide area network connectivity |
US10805192B2 (en) | 2018-03-27 | 2020-10-13 | Nicira, Inc. | Detecting failure of layer 2 service using broadcast messages |
US11595250B2 (en) | 2018-09-02 | 2023-02-28 | Vmware, Inc. | Service insertion at logical network gateway |
US11086654B2 (en) | 2019-02-22 | 2021-08-10 | Vmware, Inc. | Providing services by using multiple service planes |
US11252105B2 (en) | 2019-08-27 | 2022-02-15 | Vmware, Inc. | Identifying different SaaS optimal egress nodes for virtual networks of different entities |
US11044190B2 (en) | 2019-10-28 | 2021-06-22 | Vmware, Inc. | Managing forwarding elements at edge nodes connected to a virtual network |
US11140218B2 (en) | 2019-10-30 | 2021-10-05 | Vmware, Inc. | Distributed service chain across multiple clouds |
US11394640B2 (en) | 2019-12-12 | 2022-07-19 | Vmware, Inc. | Collecting and analyzing data regarding flows associated with DPI parameters |
US11489783B2 (en) | 2019-12-12 | 2022-11-01 | Vmware, Inc. | Performing deep packet inspection in a software defined wide area network |
US11659061B2 (en) * | 2020-01-20 | 2023-05-23 | Vmware, Inc. | Method of adjusting service function chains to improve network performance |
US11438789B2 (en) | 2020-01-24 | 2022-09-06 | Vmware, Inc. | Computing and using different path quality metrics for different service classes |
US11743172B2 (en) | 2020-04-06 | 2023-08-29 | Vmware, Inc. | Using multiple transport mechanisms to provide services at the edge of a network |
US11477127B2 (en) | 2020-07-02 | 2022-10-18 | Vmware, Inc. | Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN |
US11709710B2 (en) | 2020-07-30 | 2023-07-25 | Vmware, Inc. | Memory allocator for I/O operations |
US11444865B2 (en) | 2020-11-17 | 2022-09-13 | Vmware, Inc. | Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN |
US11575600B2 (en) * | 2020-11-24 | 2023-02-07 | Vmware, Inc. | Tunnel-less SD-WAN |
US11734043B2 (en) | 2020-12-15 | 2023-08-22 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
US11611625B2 (en) | 2020-12-15 | 2023-03-21 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
US11929903B2 (en) | 2020-12-29 | 2024-03-12 | VMware LLC | Emulating packet flows to assess network links for SD-WAN |
US11792127B2 (en) | 2021-01-18 | 2023-10-17 | Vmware, Inc. | Network-aware load balancing |
US11979325B2 (en) | 2021-01-28 | 2024-05-07 | VMware LLC | Dynamic SD-WAN hub cluster scaling with machine learning |
US12009987B2 (en) | 2021-05-03 | 2024-06-11 | VMware LLC | Methods to support dynamic transit paths through hub clustering across branches in SD-WAN |
US11509571B1 (en) | 2021-05-03 | 2022-11-22 | Vmware, Inc. | Cost-based routing mesh for facilitating routing through an SD-WAN |
US11729065B2 (en) | 2021-05-06 | 2023-08-15 | Vmware, Inc. | Methods for application defined virtual network service among multiple transport in SD-WAN |
US12015536B2 (en) | 2021-06-18 | 2024-06-18 | VMware LLC | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds |
US12047282B2 (en) | 2021-07-22 | 2024-07-23 | VMware LLC | Methods for smart bandwidth aggregation based dynamic overlay selection among preferred exits in SD-WAN |
US11943146B2 (en) | 2021-10-01 | 2024-03-26 | VMware LLC | Traffic prioritization in SD-WAN |
US11909815B2 (en) | 2022-06-06 | 2024-02-20 | VMware LLC | Routing based on geolocation costs |
EP4412171A1 (en) * | 2023-02-01 | 2024-08-07 | British Telecommunications public limited company | Software defined networking |
US12034587B1 (en) | 2023-03-27 | 2024-07-09 | VMware LLC | Identifying and remediating anomalies in a self-healing network |
US12057993B1 (en) | 2023-03-27 | 2024-08-06 | VMware LLC | Identifying and remediating anomalies in a self-healing network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1715715A1 (en) * | 2005-04-19 | 2006-10-25 | Vodafone Group PLC | Load balancing in a communication network |
CN104158755A (zh) * | 2014-07-30 | 2014-11-19 | 华为技术有限公司 | 传输报文的方法、装置和系统 |
CN104168209A (zh) * | 2014-08-28 | 2014-11-26 | 杭州华三通信技术有限公司 | 多接入sdn网络报文转发方法和控制器 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101394317B (zh) * | 2007-09-21 | 2011-02-02 | 中国科学院沈阳自动化研究所 | 用于多通道无线多跳网络的通道切换模式生成及分配方法 |
US8576715B2 (en) * | 2009-10-26 | 2013-11-05 | Mellanox Technologies Ltd. | High-performance adaptive routing |
EP2579510B1 (en) | 2010-05-28 | 2015-02-25 | Nec Corporation | Communication system, node, control apparatus, communication method and program |
CN101895472B (zh) * | 2010-07-16 | 2013-11-06 | 华为技术有限公司 | 流业务负载分担方法和处理方法以及相应的设备和系统 |
US8996718B2 (en) * | 2012-02-02 | 2015-03-31 | Apple Inc. | TCP-aware receive side coalescing |
US8995277B2 (en) * | 2012-10-30 | 2015-03-31 | Telefonaktiebolaget L M Ericsson (Publ) | Method for dynamic load balancing of network flows on LAG interfaces |
WO2014189448A1 (en) * | 2013-05-20 | 2014-11-27 | Telefonaktiebolaget L M Ericsson (Publ) | Avoiding mass migration of wireless communication devices from one access point to another |
CN104284385B (zh) * | 2013-07-05 | 2018-02-23 | 华为技术有限公司 | 用于数据转发的设备和方法 |
US9203711B2 (en) * | 2013-09-24 | 2015-12-01 | International Business Machines Corporation | Port mirroring for sampling measurement of network flows |
CN103929492B (zh) * | 2014-04-28 | 2017-08-29 | 华为技术有限公司 | 业务链负载均衡方法及其装置、系统 |
CN104153755B (zh) | 2014-08-05 | 2016-08-24 | 成都西部石油装备股份有限公司 | 一种新型混砂橇 |
CN104219150B (zh) * | 2014-09-03 | 2018-03-16 | 新华三技术有限公司 | 流表下发方法及装置 |
-
2015
- 2015-10-31 RU RU2018119517A patent/RU2692042C1/ru active
- 2015-10-31 WO PCT/CN2015/093525 patent/WO2017070970A1/zh active Application Filing
- 2015-10-31 SG SG11201803460TA patent/SG11201803460TA/en unknown
- 2015-10-31 EP EP15907031.7A patent/EP3361684B1/en active Active
- 2015-10-31 CN CN201580065479.XA patent/CN107005485B/zh active Active
-
2018
- 2018-04-28 US US15/965,849 patent/US10547541B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1715715A1 (en) * | 2005-04-19 | 2006-10-25 | Vodafone Group PLC | Load balancing in a communication network |
CN104158755A (zh) * | 2014-07-30 | 2014-11-19 | 华为技术有限公司 | 传输报文的方法、装置和系统 |
CN104168209A (zh) * | 2014-08-28 | 2014-11-26 | 杭州华三通信技术有限公司 | 多接入sdn网络报文转发方法和控制器 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3361684A4 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525497A (zh) * | 2017-09-18 | 2019-03-26 | 华为技术有限公司 | 一种流量分组方法、数据中心网络系统以及控制器 |
CN109525497B (zh) * | 2017-09-18 | 2021-08-03 | 华为技术有限公司 | 一种流量分组方法、数据中心网络系统以及控制器 |
US20240126623A1 (en) * | 2020-11-25 | 2024-04-18 | Amazon Technologies, Inc. | Tracing service interactions without global transaction identifiers |
Also Published As
Publication number | Publication date |
---|---|
EP3361684A1 (en) | 2018-08-15 |
EP3361684B1 (en) | 2020-07-29 |
CN107005485A (zh) | 2017-08-01 |
CN107005485B (zh) | 2020-07-24 |
RU2692042C1 (ru) | 2019-06-19 |
US20180248790A1 (en) | 2018-08-30 |
US10547541B2 (en) | 2020-01-28 |
SG11201803460TA (en) | 2018-05-30 |
EP3361684A4 (en) | 2018-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017070970A1 (zh) | 一种确定路由的方法、对应装置及系统 | |
EP3618372B1 (en) | Congestion control method and network device | |
US11032205B2 (en) | Flow control method and switching device | |
WO2015143944A1 (zh) | 生成转发信息的方法、控制器和业务转发实体 | |
WO2018006653A1 (zh) | 确定转发路径的方法和控制设备 | |
US10361954B2 (en) | Method and apparatus for processing modified packet | |
WO2015043327A1 (zh) | 路由方法、设备和系统 | |
WO2019223661A1 (zh) | 一种识别应用标识的方法、设备及系统 | |
WO2018108093A1 (zh) | 拥塞控制方法及装置和计算机存储介质 | |
CN107454000B (zh) | 网络数据传输装置及方法 | |
WO2016197689A1 (zh) | 处理报文的方法、装置和系统 | |
WO2017075781A1 (zh) | 一种数据报文的处理方法、装置及系统 | |
WO2018107908A1 (zh) | 报文传输方法及交换机 | |
WO2016029345A1 (zh) | 网络流的信息统计方法和装置 | |
US20230283492A1 (en) | Traffic charging method, network device and storage medium | |
US11456961B1 (en) | Method to accelerate packet detection rule (PDR) matching and data packet processing in a user plane function (UPF) module in a communications network | |
WO2021203985A1 (zh) | 一种拥塞信息同步的方法以及相关装置 | |
WO2016062067A1 (zh) | 一种用户报文的转发控制方法以及处理节点 | |
US11516145B2 (en) | Packet control method, flow table update method, and node device | |
WO2016033729A1 (zh) | 一种确定服务功能路径的方法及装置 | |
CN111224888A (zh) | 发送报文的方法及报文转发设备 | |
WO2016150020A1 (zh) | 基于调度流标识的报文调度方法和装置 | |
WO2015081735A1 (zh) | 流量卸载的方法、装置及系统 | |
CN108092896B (zh) | 堆叠系统和聚合组建立装置 | |
WO2015039616A1 (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: 15907031 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11201803460T Country of ref document: SG |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2015907031 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2018119517 Country of ref document: RU |