WO2019047939A1 - 一种负载均衡方法、装置及业务编排器 - Google Patents

一种负载均衡方法、装置及业务编排器 Download PDF

Info

Publication number
WO2019047939A1
WO2019047939A1 PCT/CN2018/104695 CN2018104695W WO2019047939A1 WO 2019047939 A1 WO2019047939 A1 WO 2019047939A1 CN 2018104695 W CN2018104695 W CN 2018104695W WO 2019047939 A1 WO2019047939 A1 WO 2019047939A1
Authority
WO
WIPO (PCT)
Prior art keywords
bras
virtual
virtual bras
mac
available virtual
Prior art date
Application number
PCT/CN2018/104695
Other languages
English (en)
French (fr)
Inventor
柳佳佳
孙凯
Original Assignee
新华三技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新华三技术有限公司 filed Critical 新华三技术有限公司
Publication of WO2019047939A1 publication Critical patent/WO2019047939A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Definitions

  • the present disclosure relates to the field of communications technologies, and in particular, to a load balancing method, apparatus, and service orchestrator.
  • the user equipment can access the physical BRAS (Broadband Remote Access Server) through the ONU (Optical Network Unit), OLT (Optical Line Terminal), and switch.
  • the access server is configured to access the physical BRAS by means of a Point-to-Point Protocol over Ethernet (PPPoE), and the physical BRAS is used as a PPPoE server to implement control and accounting of user equipment.
  • PPPoE Point-to-Point Protocol over Ethernet
  • the broadband access scenario of the metropolitan area network has evolved into a virtualized scenario for broadband access of the metropolitan area network, and the physical BRAS is replaced by deploying multiple virtual BRAS (virtual Broadband Remote Access Server, vBRAS). These virtual BRASs are used as PPPoE servers to implement control and accounting of user equipment.
  • vBRAS virtual Broadband Remote Access Server
  • the present disclosure provides a load balancing method for a system including a service orchestrator, a network device, and a plurality of virtual BRASs, the method being applied to the service orchestration, the method comprising:
  • the flow table is an abbreviation of the flow table entry
  • the first flow table is configured to enable The network device sends the received PPPOE active discovery initialization packet to the available virtual BRAS corresponding to each first flow table.
  • the process of determining an available virtual BRAS from the plurality of virtual BRASs by using the load information includes:
  • the load information of the virtual BRAS is less than or equal to a preset threshold, determining that the virtual BRAS is an available virtual BRAS; otherwise, determining that the virtual BRAS is not an available virtual BRAS;
  • the load information includes one or any combination of the following: the number of access users, the proportion of CPU resources used, the proportion of memory resources used, the proportion of storage space, and the size of traffic.
  • the process of separately generating the first flow table for each of the determined available virtual BRASs includes:
  • the matching option of the first flow table includes: the destination MAC address is a broadcast MAC, the packet type is PPPoE, and the source MAC address belongs to the MAC interval corresponding to the available virtual BRAS; the action options of the first flow table include: The MAC address is modified to be the MAC address of the available virtual BRAS, and is sent through the connection port corresponding to the available virtual BRAS; wherein each available virtual BRAS corresponds to one MAC interval, and different available virtual BRASs correspond to different MAC intervals, each available The virtual BRAS corresponds to a connection port on the network device.
  • the method before the generating the first flow table for the available virtual BRAS, according to the MAC address of the available virtual BRAS, the connection port corresponding to the available virtual BRAS, and the MAC interval corresponding to the available virtual BRAS, the method also includes:
  • connection port is a port connected to the virtual BRAS on the network device
  • the process of obtaining a correspondence between a MAC address of each virtual BRAS and a connection port of the multiple virtual BRASs includes:
  • the second flow table is configured to: after the network device receives the reverse address translation protocol RARP message sent by the virtual BRAS through the connection port, to the service orchestrator Transmitting a control packet, the control packet carrying a MAC address of the virtual BRAS and the connection port; receiving a control packet sent by the network device, and acquiring a MAC of the virtual BRAS from the control packet Correspondence between the address and the connection port corresponding to the virtual BRAS.
  • the matching option of the second flow table includes: the packet type is RARP, and the action option includes: encapsulating the RARP packet into the control packet, and adding a connection port that receives the RARP packet in the control packet. And sending the control message to the service orchestrator.
  • the method before the generating the first flow table for the available virtual BRAS, according to the MAC address of the available virtual BRAS, the connection port corresponding to the available virtual BRAS, and the MAC interval corresponding to the available virtual BRAS, the method also includes:
  • N of all available virtual BRASs which is a positive integer greater than or equal to 1;
  • All MACs are divided into the N MAC intervals, and one MAC interval is allocated for each available virtual BRAS, and different MAC intervals are allocated for different available virtual BRASs;
  • the process of dividing all MACs into the N MAC intervals includes:
  • All the MACs are divided into the N MAC intervals by using an equalization policy, so that the difference between the number of MACs included in different MAC intervals is not greater than a preset threshold.
  • the present disclosure provides a load balancing apparatus for a system including a service orchestrator, a network device, and a plurality of virtual BRASs, the load balancing device being applied to the service orchestration, the load balancing device comprising:
  • An obtaining module configured to acquire load information of each of the plurality of virtual BRASs
  • a determining module configured to determine, by using the load information, an available virtual BRAS from the plurality of virtual BRASs;
  • a generating module configured to separately generate a first flow table for each of the determined virtual BRASs
  • a sending module configured to send, to the network device, each generated first flow table, where the first flow table is configured to send, by the network device, load-balanced received PPPOE active discovery initialization packets to each The available virtual BRAS corresponding to the first flow table.
  • the determining module is specifically configured to: when determining, by using the load information, the available virtual BRAS from the plurality of virtual BRASs, if the load information of the virtual BRAS is less than or equal to a preset threshold, Determining that the virtual BRAS is an available virtual BRAS; otherwise, determining that the virtual BRAS is not an available virtual BRAS; wherein the load information includes one or any combination of the following: the number of access users, the proportion of CPU resources used, and the proportion of memory resources used. , storage space usage ratio, traffic size.
  • the generating module is specifically configured to: according to each of the determined available virtual BRASs, generate a first flow table for each of the determined available virtual BRASs, according to the MAC address of the available virtual BRAS And the MAC address corresponding to the available virtual BRAS and the MAC interval corresponding to the available virtual BRAS, generating a first flow table for the available virtual BRAS;
  • the matching option of the first flow table includes: the destination MAC address is a broadcast MAC, The file type is PPPoE, and the source MAC address belongs to the MAC interval corresponding to the available virtual BRAS;
  • the action option of the first flow table includes: modifying the destination MAC address to the MAC address of the available virtual BRAS, by using the available virtual BRAS The corresponding connection port is sent; wherein each available virtual BRAS corresponds to one MAC interval, and different available virtual BRASs correspond to different MAC intervals, and each available virtual BRAS corresponds to one connection port on the network device.
  • the obtaining module is further configured to acquire a correspondence between a MAC address of each virtual BRAS and a connection port, where the connection port is connected to the virtual BRAS on the network device. Determining the MAC address of the available virtual BRAS, and querying the corresponding relationship by using the MAC address of the available virtual BRAS to obtain a connection port corresponding to the available virtual BRAS;
  • the acquiring module is specifically configured to send, to the network device, a second flow table, in a process of acquiring a correspondence between a MAC address of each of the plurality of virtual BRASs and a connection port, where
  • the second flow table is configured to enable the network device to send a control packet to the service orchestrator after receiving the reverse address resolution protocol RARP packet sent by the virtual BRAS through the connection port, and the control packet Carrying the MAC address of the virtual BRAS and the connection port; receiving a control packet sent by the network device, and acquiring, from the control packet, a MAC address of the virtual BRAS and a connection port corresponding to the virtual BRAS Correspondence.
  • the matching option of the second flow table includes: the packet type is RARP, and the action option includes: encapsulating the RARP packet into the control packet, and adding a connection port that receives the RARP packet in the control packet. And sending the control message to the service orchestrator.
  • the determining module is further configured to determine the number N of all available virtual BRASs, where the N is a positive integer greater than or equal to 1; divide all MACs into the N MAC intervals, and for each A virtual BRAS may be allocated with one MAC interval, and different available virtual BRASs may be allocated different MAC intervals; determining a MAC interval corresponding to the available virtual BRAS;
  • the determining module is specifically configured to divide all the MACs into the N MAC intervals by using an equalization policy in the process of dividing all the MACs into the N MAC intervals, so that the number of MACs included in different MAC intervals is The difference between them is not greater than the preset threshold.
  • the present disclosure provides a service orchestrator, comprising: a machine readable storage medium and a processor, wherein:
  • Machine readable storage medium storing instruction code
  • Processor communicating with the machine readable storage medium, reading and executing the instruction code stored in a machine readable storage medium to implement the load balancing method described above.
  • the present disclosure provides a computer readable storage medium comprising a computer program that, when executed, controls a business orchestrator in which the computer readable storage medium is located to perform the load balancing method described above.
  • the available virtual BRAS may be determined by using the load information of each virtual BRAS, and the first flow table is separately generated for each of the determined available virtual BRASs, and each generated first flow is sent to the network device.
  • the table is configured to enable the network device to receive the PPPOE active discovery initialization packet, such as a PADI (PPPoE Active Discovery Initial) packet, to load the available virtual BRAS corresponding to each first flow table without sending the PADI packet.
  • PADI PPPoE Active Discovery Initial
  • the user equipment can be prevented from establishing a PPPoE session with the overloaded virtual BRAS, and the user equipment can establish a PPPoE session with the lightly available virtual BRAS, thereby implementing load balancing of the virtual BRAS. Ensure processing performance.
  • FIG. 1 is a schematic diagram of an application scenario in an embodiment of the present disclosure
  • FIGS. 2A-2C are flowcharts of a load balancing method in an embodiment of the present disclosure
  • FIG. 3 is a structural diagram of a load balancing device in an embodiment of the present disclosure.
  • FIG. 4 is a hardware structural diagram of a service orchestrator in an embodiment of the present disclosure.
  • first, second, third, etc. may be used in the present disclosure to describe various information, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
  • first information may also be referred to as second information without departing from the scope of the present disclosure.
  • second information may also be referred to as first information.
  • word “if” may be interpreted to mean “at time” or "when” or "in response to determination.”
  • a load balancing method is proposed, which can be applied to a system including a service orchestrator, a network device, and a plurality of virtual BRASs, such as a virtualized scenario of a metropolitan area network broadband access.
  • the service orchestrator 161 is configured to create a virtual BRAS on a physical server, such as creating a virtual BRAS 151 on the physical server A and a virtual BRAS 152 and a virtual BRAS 153 on the physical server B. The creation process of this virtual BRAS will not be described again.
  • These virtual BRASs serve as PPPoE servers for implementing various processing operations, for example, implementing control and charging of user equipment.
  • the network device 141 may be a switch, a router, or the like.
  • the type of the network device 141 is not limited as long as the network device 141 supports the OpenFlow protocol and can be processed based on the OpenFlow flow table.
  • the user equipment functions as a PPPoE client
  • the virtual BRAS functions as a PPPoE server.
  • the user equipment can access the virtual BRAS through the ONU, the OLT, and the network device, and establish a PPPoE session between the user equipment and the virtual BRAS.
  • the user equipment 111 accesses each virtual BRAS through the ONU 121, the OLT 131, and the network device 141
  • the user equipment 112 accesses each virtual BRAS through the ONU 122, the OLT 132, and the network device 141.
  • a load balancing method is proposed in the present disclosure for the establishment process of the PPPoE session, so as to prevent the user equipment from establishing a PPPoE session with the overloaded virtual BRAS, and making the user equipment and the load lighter.
  • the virtual BRAS can be used to establish a PPPoE session, thereby implementing load balancing of the virtual BRAS.
  • a flowchart of a load balancing method proposed in the present disclosure may be applied to the service orchestrator 161 in FIG. 1 by a service orchestrator 161, such as a service orchestrator 161.
  • the processor in execution, the method may include the following steps:
  • Step 201 Acquire load information of each virtual BRAS in the plurality of virtual BRASs.
  • the service orchestrator when the service orchestrator creates a virtual BRAS on a physical server, it can record the MAC address of the virtual BRAS and establish a management channel between the service orchestrator and the virtual BRAS (such as NETCONF (Network Configuration Protocol). Management channels, OpenFlow management channels, etc., there is no restriction on the type of management channels). Then, during the operation of the virtual BRAS, the service orchestrator can collect the load information of the virtual BRAS through the management channel, and record the correspondence between the MAC address of the virtual BRAS and the load information of the virtual BRAS.
  • NETCONF Network Configuration Protocol
  • the service orchestrator when the service orchestrator creates a virtual BRAS on the physical server, the MAC address and device identifier of the virtual BRAS can be recorded, and a management channel is established between the service orchestrator and the virtual BRAS. Then, during the operation of the virtual BRAS, the service orchestrator can collect the load information of the virtual BRAS through the management channel, and record the MAC address of the virtual BRAS and the device identifier of the virtual BRAS and the load information of the virtual BRAS. Correspondence.
  • the service orchestrator can send a load information query message to the virtual BRAS through the management channel, and the virtual BRAS receives the load information query message, for the process that the service orchestrator collects the load information of the virtual BRAS through the management channel. After that, the load information of the virtual BRAS can be counted, and the load information of the virtual BRAS is sent to the service orchestrator through the management channel.
  • Step 202 Determine, by using the load information, an available virtual BRAS from the plurality of virtual BRASs.
  • the service orchestrator After acquiring the load information of each virtual BRAS, the service orchestrator compares the load information of each virtual BRAS with a preset threshold, if the load information of the virtual BRAS is less than or equal to a preset threshold (pre- If the threshold value can be configured according to experience, big data statistical analysis, etc., it is determined that the virtual BRAS is an available virtual BRAS; if the load information of the virtual BRAS is greater than the preset threshold, it is determined that the virtual BRAS is not an available virtual BRAS.
  • each virtual BRAS may be sorted according to the load information of each virtual BRAS, and the virtual BRAS of the preset proportion with the smallest load information in each virtual BRAS is determined as the available virtual BRAS, and the remaining virtual BRASs are determined to be the unavailable virtual BRAS.
  • the service orchestrator 161 acquires the load information A of the virtual BRAS 151, and records the correspondence between the MAC 151 of the virtual BRAS 151 and the load information A.
  • the service orchestrator 161 acquires the load information B to the virtual BRAS 152, and records the correspondence between the MAC 152 of the virtual BRAS 152 and the load information B.
  • the service orchestrator 161 acquires the load information C to the virtual BRAS 153, and records the correspondence relationship between the MAC 153 of the virtual BRAS 153 and the load information C.
  • step 202 in the scenario shown in FIG. 1, if the load information A is less than the preset threshold, the service orchestrator 161 may determine that the virtual BRAS 151 is an available virtual BRAS, and the MAC address of the virtual BRAS 151 is the MAC 151. If the load information B is less than the preset threshold, the service orchestrator 161 may determine that the virtual BRAS 152 is an available virtual BRAS, and the MAC address of the virtual BRAS 152 is the MAC 152. If the load information C is greater than a preset threshold, the service orchestrator 161 may determine that the virtual BRAS 153 is not an available virtual BRAS.
  • the load information may include, but is not limited to, one or any combination of the following: the number of access users, the CPU (Central Processing Unit) resource usage ratio, the memory resource usage ratio, the storage space usage ratio, and the traffic volume ( The size of the above traffic or downstream traffic).
  • the CPU Central Processing Unit
  • the memory resource usage ratio the storage space usage ratio
  • the traffic volume The size of the above traffic or downstream traffic.
  • a preset threshold is set for the parameter. If the load information includes only the number of access users, a preset threshold, such as 1000, is set for the number of access users. Thus, when the number of access users is less than or equal to 1000, it is determined that the virtual BRAS is an available virtual BRAS, and when the number of access users is greater than 1000, it is determined that the virtual BRAS is not an available virtual BRAS.
  • a preset threshold may be separately set for each parameter. If the load information includes the number of access users, the CPU resource usage ratio, and the memory resource usage ratio, the preset number of access users is set. Set a threshold, such as 1000, and set a preset threshold for the CPU resource usage ratio, such as 70%, and set a preset threshold, such as 70%, for the memory resource usage ratio. Based on this, when any one parameter is greater than the preset threshold, it can be determined that the virtual BRAS is not an available virtual BRAS; only when all parameters are less than or equal to a preset threshold, it can be determined that the virtual BRAS is an available virtual BRAS.
  • the virtual BRAS is not an available virtual BRAS.
  • the number of access users is less than or equal to 1000, and the CPU resource usage ratio is less than or equal to 70%, and the memory resource usage ratio is less than or equal to 70%, it may be determined that the virtual BRAS is an available virtual BRAS.
  • Step 203 Generate a first flow table for each of the available virtual BRASs, and send each generated first flow table to the network device.
  • the first flow table is configured to enable the network device to actively discover the initial packet received by the PPPOE. Load balancing is sent to the available virtual BRAS corresponding to each first flow table.
  • the flow table is an abbreviation of the flow entry.
  • the PPPOE active discovery initialization message is abbreviated as a PADI message.
  • the first flow table 1 can be generated for the virtual BRAS 151
  • the first flow table 2 is generated for the virtual BRAS 152
  • the first flow table 1 and The first flow table 2 is sent to the network device.
  • the network device After receiving the PADI message matching the first flow table 1, the network device sends the PADI message to the virtual BRAS 151, and the virtual BRAS 151 returns a PADO message to the user equipment, so that a PPPoE session can be established between the virtual BRAS 151 and the user equipment.
  • the control and charging of the user equipment is implemented by the virtual BRAS 151.
  • the network device After receiving the PADI message matching the first flow table 2, the network device sends the PADI message to the virtual BRAS 152, and the virtual BRAS 152 returns a PADO message to the user equipment, so that a PPPoE session can be established between the virtual BRAS 152 and the user equipment.
  • the control and charging of the user equipment is implemented by the virtual BRAS 152.
  • the network device since the virtual BRAS 151 and the virtual BRAS 152 are available virtual BRASs, and the virtual BRAS 153 is not the available virtual BRAS, the network device only receives the first flow table for the virtual BRAS 151 and the virtual BRAS 152, and does not receive the first flow for the virtual BRAS 153.
  • the table enables the network device to send the PADI message to the lightly loaded virtual BRAS 151 and the virtual BRAS 152, and enables the user equipment to establish a PPPoE session with the lightly loaded virtual BRAS 151 and the virtual BRAS 152 without sending the PADI message to the load.
  • the large virtual BRAS 153 prevents the user equipment from establishing a PPPoE session with the overloaded virtual BRAS 153, thereby implementing load balancing of the virtual BRAS, thereby improving processing performance.
  • the service orchestrator can periodically obtain load information for each virtual BRAS and determine the available virtual BRAS from the plurality of virtual BRASs using the load information. If the available virtual BRAS determined in the current cycle is the same as the available virtual BRAS determined in the previous cycle, the service orchestrator no longer performs step 203, but waits until the next cycle, and performs steps 201 and 202 again. If the available virtual BRAS determined by the current period is different from the available virtual BRAS determined in the previous period, step 203 may be performed, and in the next period, step 201 and step 202 are re-executed. If the service orchestration has not delivered the first flow table to the network device before the current period, step 203 is performed.
  • the process of "generating a first flow table for each of the determined available virtual BRASs" may include, but is not limited to, for each available virtual BRAS determined, the service orchestrator according to the available virtual BRAS The MAC address, the connection port corresponding to the available virtual BRAS, and the MAC interval corresponding to the available virtual BRAS, generate a first flow table for the available virtual BRAS.
  • the foregoing method is only an example of generating the first flow table, and the generation manner is not limited, as long as the first flow table can enable the network device to send the PADI message to the available virtual BRAS corresponding to the first flow table.
  • connection port may be a port on the network device that is connected to the virtual BRAS.
  • the matching option of the first flow table may include: the destination MAC address is a broadcast MAC, the packet type is PPPoE, and the source MAC address belongs to a MAC interval corresponding to the available virtual BRAS.
  • the action option of the first flow table may include: modifying the destination MAC address to the MAC address of the available virtual BRAS, and transmitting by using the connection port corresponding to the available virtual BRAS. Therefore, the foregoing first flow table is configured to enable the network device to modify the destination MAC address of the PADI message to the MAC address of the available virtual BRAS after receiving the PADI message, and send and modify the connection port corresponding to the available virtual BRAS. After the message.
  • the destination MAC address of the PADI packet is a broadcast MAC
  • the packet type is PPPoE
  • the source MAC address belongs to a MAC interval corresponding to the available virtual BRAS.
  • Each available virtual BRAS corresponds to one MAC interval, and different available virtual BRASs correspond to different MAC intervals, and each available virtual BRAS corresponds to one connection port on the network device.
  • the service orchestrator 161 is the first flow table 1 generated by the virtual BRAS 151.
  • the matching option may include: the destination MAC address is all F, the packet type is PPPoE, and the source MAC address belongs to the virtual BRAS 151.
  • the MAC interval A; the action option may include: modifying the destination MAC address to the MAC 151 of the virtual BRAS 151, and transmitting through the port 1411 corresponding to the virtual BRAS 151.
  • the service orchestrator 161 is the first flow table 2 generated by the virtual BRAS 152.
  • the matching option may include: the destination MAC address is all F, the packet type is PPPoE, and the source MAC address belongs to the MAC interval B corresponding to the virtual BRAS 152;
  • the method may include: modifying the destination MAC address to the MAC 152 of the virtual BRAS 152, and transmitting through the port 1412 corresponding to the virtual BRAS 152.
  • the network device After receiving the PADI packet (the destination MAC address is all F and the packet type is PPPoE), the network device changes the destination MAC address of the PADI packet to MAC151. And send through port 1411, so that PADI messages will be sent to virtual BRAS 151 instead of being broadcast to all virtual BRAS.
  • the virtual BRAS 151 returns a PADO message to the user equipment to establish a PPPoE session between the virtual BRAS 151 and the user equipment.
  • the network device After the network device receives the PADI packet (the destination MAC address is all F and the packet type is PPPoE), if the source MAC address of the PADI packet belongs to MAC interval B, the network device modifies the destination MAC address of the PADI packet to MAC152. And send through port 1412, so that PADI messages are sent to virtual BRAS 152 instead of being broadcast to all virtual BRASs.
  • the virtual BRAS 152 returns a PADO message to the user equipment to establish a PPPoE session between the virtual BRAS 152 and the user equipment.
  • the MAC address of the available virtual BRAS, the connection port corresponding to the available virtual BRAS, and the MAC interval corresponding to the available virtual BRAS may be obtained first. Since the service orchestrator records the correspondence between the MAC address of the virtual BRAS and the load information of the virtual BRAS, after determining the available virtual BRAS by using the load information, the MAC address of the virtual BRAS can be directly queried from the corresponding relationship. The following describes the acquisition process of the connection port corresponding to the available virtual BRAS and the MAC interval corresponding to the available virtual BRAS.
  • FIG. 2B a schematic diagram of obtaining a connection port corresponding to the available virtual BRAS is shown.
  • Step 211 Obtain a correspondence between a MAC address of each virtual BRAS and a connection port.
  • the service orchestrator 161 can obtain the correspondence between the MAC 151 of the virtual BRAS 151 and the port 1411, obtain the correspondence between the MAC 152 of the virtual BRAS 152 and the port 1412, and acquire the MAC 153 and the port 1412 of the virtual BRAS 153. Correspondence relationship.
  • the process of “acquiring the correspondence between the MAC address of each virtual BRAS and the connection port” may include, but is not limited to, the service orchestrator sends a second flow table to the network device, where the second flow table is used.
  • the network device receives the RARP (Reverse Address Resolution Protocol) packet sent by the virtual BRAS through a connection port
  • the network device sends a control packet to the service orchestrator, where the control packet carries the virtual BRAS. MAC address and connection port.
  • the service orchestrator can obtain the correspondence between the MAC address of the virtual BRAS and the connection port corresponding to the virtual BRAS from the control message.
  • the service orchestrator 161 sends a second flow table to the network device 141, and the network device 141 stores the second flow table.
  • the matching option of the second flow table may include: the message type is RARP, and the action option may include: encapsulating the RARP packet into a control packet (such as a packet-in packet), and adding and receiving the RARP packet in the control packet.
  • the connection port and the control message is sent to the service orchestrator 161.
  • the RARP packet can be sent to the network device 141 through the downlink port, and the RARP packet carries the MAC 151 of the virtual BRAS 151.
  • the network device 141 matches the second flow table because the packet type of the RARP packet is RARP, and the network device 141 encapsulates the RARP packet into the control packet.
  • Port 1411 is added and a control message is sent to service orchestrator 161.
  • the service orchestrator 161 acquires the correspondence between the MAC 151 of the virtual BRAS 151 and the port 1411 from the control message.
  • the network device After receiving the RARP packet sent by the virtual BRAS 152 through the port 1412, the network device sends a control packet to the service orchestrator 161, and the service orchestrator 161 obtains the correspondence between the MAC 152 of the virtual BRAS 152 and the port 1412 from the control packet. .
  • the network device After receiving the RARP packet sent by the virtual BRAS 153 through the port 1412, the network device sends a control packet to the service orchestrator 161, and the service orchestrator 161 obtains the correspondence between the MAC 153 of the virtual BRAS 153 and the port 1412 from the control message.
  • Step 212 Determine a MAC address of the available virtual BRAS, and query the corresponding relationship by using the MAC address of the available virtual BRAS to obtain a connection port corresponding to the available virtual BRAS.
  • the service orchestrator 161 may determine that the virtual BRAS 151 corresponds to the MAC 151 and determine that the virtual BRAS 152 corresponds to the MAC 152. Then, the service orchestrator 161 can query the corresponding relationship through the MAC 151, and the connection port corresponding to the virtual BRAS 151 is the port 1411, and the corresponding relationship can be queried through the MAC 152, and the connection port corresponding to the virtual BRAS 152 is the port 1412.
  • FIG. 2C a schematic diagram of obtaining a MAC interval corresponding to the available virtual BRAS is shown.
  • step 221 the number N of all available virtual BRASs is determined, and N is a positive integer greater than or equal to 1.
  • the service orchestrator 161 determines that the virtual BRAS 151 and the virtual BRAS 152 are available virtual BRASs, it is determined that the number N of all available virtual BRASs is two, that is, the virtual BRAS 151 and the virtual BRAS 152.
  • step 222 all MACs are divided into N MAC intervals, and one MAC interval is allocated for each available virtual BRAS, and different MAC intervals are allocated for different available virtual BRASs.
  • the service orchestrator 161 may divide all the MACs into 2 MAC intervals, and the 2 MAC intervals may be the MAC interval A and the MAC interval B, respectively.
  • the virtual BRAS 151 corresponds to the MAC section A
  • the virtual BRAS 152 corresponds to the MAC section B
  • the virtual BRAS 151 corresponds to the MAC section B
  • the virtual BRAS 152 corresponds to the MAC section A.
  • the process of “dividing all MACs into N MAC intervals” may include, but is not limited to, all MACs may be divided into the N MAC intervals by using an equalization policy; wherein, MACs included in different MAC intervals The difference between the quantities is not greater than the preset threshold.
  • the equalization policy may include: a policy of “dividing all MACs into MAC intervals, and the number of MACs included in each MAC interval is the same or similar”, for example, dividing all MACs into MAC interval A and MAC intervals by using an equalization policy. B, and the number of MACs included in the MAC interval A is the same as the number of MACs included in the MAC interval B, or the difference between the number of MACs included in the MAC interval A and the number of MACs included in the MAC interval B is not greater than a preset threshold, such as a value. 5.
  • the length of the MAC address is 48 bits (6 bytes), usually expressed as 12 hexadecimal numbers, separated by a colon or crossbar between every two hexadecimal numbers, such as 08:00 :20:0A:8C:6D is a MAC address, each of which can occupy 4 digits.
  • the first value 0 is the first 4 digits
  • the second value 8 is the 5th digit
  • the twelfth value D is the last 4 digits.
  • the first 8 bits (such as 08) can be used as the equalization strategy parameters, or 9-16 bits (such as 00) can be used as the equalization strategy parameters, or the last 8 bits (such as 6D) can be used as Equilibrate the policy parameters, or use all 48 bits (such as 08:00:20:0A:8C:6D) as the equalization strategy parameters, or use the first 4 bits (such as 0) as the equalization strategy parameters, or the last 4 bits. (such as D) as the equalization strategy parameter, there is no limit to this equalization strategy parameter. For convenience of description, taking the last 4 bits as the equalization strategy parameters as an example, the processing of other equalization strategy parameters is similar.
  • the 16 values can be evenly distributed. Scattered into each MAC interval such that the number of MACs included in each MAC interval is the same or similar. For example, assuming that there is a MAC interval A and a MAC interval B, eight values can be scattered to the MAC interval A, and the other eight values can be scattered to the MAC interval B.
  • scatter 0-8 to MAC interval A, scatter 9-F to MAC interval B; or, scatter 0, 2, 4, 6, 8, A, C, E to MAC interval A, 1, 3 , 5, 7, 9, B, D, F are scattered to the MAC interval B, and there is no restriction on the scattering method.
  • MAC interval A includes a MAC of 00:00:00:00:00:00, 00:00:00:00:00:02, 00:00:00:00:00:04,00: 00:00:00:00:06,00:00:00:00:00:08,00:00:00:00:00:00:00:0A,00:00:00:00:00:0C,00:00: 00:00:00:0E.
  • the MAC interval B includes a MAC of 00:00:00:00:00:01, 00:00:00:00:00:03, 00:00:00:00:00:05, 00:00:00 :00:00:07,00:00:00:00:00:09,00:00:00:00:00:0B,00:00:00:00:00:0D,00:00:00:00 :00:0F.
  • the first 11 zeros in the above MAC indicate that the first 44 bits are arbitrary values.
  • Step 223 determining a MAC interval corresponding to the available virtual BRAS.
  • one available virtual BRAS can correspond to one MAC interval.
  • the available virtual BRAS includes the virtual BRAS 151 and the virtual BRAS 152
  • the MAC interval includes the MAC interval A and the MAC interval B
  • the virtual BRAS 151 corresponds to the MAC interval A
  • the virtual BRAS 152 corresponds to the MAC interval B
  • the virtual BRAS 151 corresponds to the MAC interval B
  • virtual BRAS 152 corresponds to MAC interval A.
  • the source MAC address belongs to the MAC interval A in the matching option of the first flow table 1.
  • the source MAC address belongs to the MAC interval B. That is, after receiving the PADI message, the network device 141 determines the PADI message if the last 4 bits of the source MAC address of the PADI message are the values in 0, 2, 4, 6, 8, A, C, and E.
  • the PADI message is sent to the virtual BRAS 151; if the last 4 bits of the source MAC address of the PADI message are the values in 1, 3, 5, 7, 9, B, D, F, It is determined that the PADI message matches the first flow table 2, and the PADI message is sent to the virtual BRAS 152.
  • the service orchestrator can periodically obtain the load information of each virtual BRAS and use the load information to determine the available virtual BRAS from the plurality of virtual BRASs. Therefore, if the available virtual BRAS determined by the current period is different from the available virtual BRAS determined in the previous period, the flow shown in FIG. 2C may be re-executed, that is, the MAC interval corresponding to the available virtual BRAS may be re-determined.
  • the load balancing method provided by the present disclosure is designed to prevent the user equipment from establishing a PPPoE session with the overloaded virtual BRAS, and to establish a PPPoE session between the user equipment and the lightly loaded virtual BRAS, thereby implementing load balancing of the virtual BRAS. Ensure processing performance.
  • the inventors conducted a multi-party study on the workflow under the virtualized scenario of metropolitan area network broadband access.
  • the research shows that in the virtualized scenario of the broadband access of the metropolitan area network, the user equipment as the PPPoE client usually sends the PADI (PPPoE Active Discovery Initial) packet, and the destination MAC address of the PADI packet. (Media Access Control, Media Access Control) The address is the broadcast MAC address of all Fs. Therefore, this PADI message is sent to all virtual BRASs deployed in the scenario.
  • each virtual BRAS sends a PADO (PPPoE Active Discovery Offer) message to the user equipment.
  • the user equipment can establish a PPPoE session with the virtual BRAS corresponding to the received first PADO message, and the virtual BRAS implements control and charging of the user equipment.
  • load balancing between virtual BRASs cannot be one of the main factors affecting processing performance. For example, a large number of user equipments establish a PPPoE session with the virtual BRAS1, and only a small number of user equipments establish a PPPoE session with the virtual BRAS2. Thus, the load of the virtual BRAS1 is too heavy, the processing pressure of the virtual BRAS1 is large, and the load of the virtual BRAS2 is too light, virtual. The processing pressure of BRAS2 is small, and a large amount of resources are idle, resulting in limited overall processing performance.
  • the load balancing of the virtual BRAS is realized, thereby ensuring processing performance.
  • the present disclosure also proposes a load balancing apparatus applied to a system including a service orchestrator, a network device, and a plurality of virtual BRASs, as shown in FIG. a structural diagram of the apparatus, the apparatus being applied to the service orchestration, the apparatus comprising:
  • the obtaining module 301 is configured to acquire load information of each of the plurality of virtual BRASs;
  • a determining module 302 configured to determine, by using load information, an available virtual BRAS from the plurality of virtual BRASs;
  • a generating module 303 configured to separately generate a first flow table for each of the determined available virtual BRASs
  • the sending module 304 is configured to send each generated first flow table to the network device, where the first flow table is configured to enable the network device to load balance the received PPPOE active discovery initialization message to each The first virtual flow table corresponds to the available virtual BRAS.
  • the determining module 302 is specifically configured to: when the load information is used to determine an available virtual BRAS from the plurality of virtual BRASs, if the load information of the virtual BRAS is less than or equal to a preset threshold, determine that the virtual BRAS is an available virtual BRAS. Otherwise, it is determined that the virtual BRAS is not an available virtual BRAS; wherein the load information includes one or any combination of the following: the number of access users, the proportion of CPU resources used, the proportion of memory resource usage, the storage space usage ratio, and the traffic size.
  • the generating module 303 is specifically configured to: in the process of separately generating the first flow table for each of the determined available virtual BRASs, for each of the determined available virtual BRASs, according to the MAC address of the available virtual BRAS, A first flow table may be generated for the available virtual BRAS by using a connection port corresponding to the virtual BRAS and a MAC interval corresponding to the available virtual BRAS.
  • the matching option of the first flow table includes: the destination MAC address is a broadcast MAC, and the packet type is PPPoE, the source MAC address belongs to the MAC interval corresponding to the available virtual BRAS; the action option of the first flow table includes: modifying the destination MAC address to the MAC address of the available virtual BRAS, and connecting through the available virtual BRAS The port is sent; wherein each available virtual BRAS corresponds to one MAC interval, and different available virtual BRASs correspond to different MAC intervals, and each available virtual BRAS corresponds to one connection port on the network device.
  • the obtaining module 301 is further configured to acquire a correspondence between a MAC address of each virtual BRAS and a connection port, where the connection port is a port connected to the virtual BRAS on the network device; a MAC address of the virtual BRAS, and querying the corresponding relationship by using the MAC address of the available virtual BRAS, to obtain a connection port corresponding to the available virtual BRAS;
  • the obtaining module 301 is specifically configured to send, to the network device, a second flow table, in a process of acquiring a correspondence between a MAC address of each virtual BRAS and a connection port of the plurality of virtual BRASs, where
  • the second flow table is configured to enable the network device to send a control packet to the service orchestrator after receiving the reverse address resolution protocol RARP packet sent by the virtual BRAS through the connection port, and the control packet carries a MAC address of the virtual BRAS, the connection port;
  • the determining module 302 is further configured to determine the number N of all available virtual BRASs, wherein the N is a positive integer greater than or equal to 1; all MACs are divided into the N MAC intervals, and for each available virtual BRAS Allocating one MAC interval, and allocating different MAC intervals for different available virtual BRASs; determining a MAC interval corresponding to the available virtual BRAS;
  • the determining module 302 is specifically configured to divide all MACs into the N MAC intervals by using an equalization policy in the process of dividing all the MACs into the N MAC intervals.
  • the difference between the number of MACs included in different MAC intervals is not greater than a preset threshold.
  • the implementation principle and workflow of the load balancing device may be referred to the corresponding description in the foregoing load balancing method, and details are not described herein.
  • the service orchestrator provided in the present disclosure, from the hardware level, the hardware architecture diagram can be specifically shown in FIG. 4. Includes: a machine readable storage medium and a processor, wherein:
  • Machine-readable storage medium Stores instruction code, such as load balancing instructions.
  • the load balancing operation disclosed in the above examples of the present disclosure is implemented in communication with a machine readable storage medium, reading and executing the instruction code stored in a machine readable storage medium.
  • a machine-readable storage medium may be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, and so forth.
  • the machine-readable storage medium may be: RAM (Radom Access Memory), volatile memory, non-volatile memory, flash memory, storage drive (such as a hard disk drive), solid state drive, any type of storage disk. (such as a disc, dvd, etc.), or a similar storage medium, or a combination thereof.
  • the system, device, module or unit illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product having a certain function.
  • a typical implementation device is a computer, and the specific form of the computer may be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver, and a game control.
  • embodiments of the present disclosure can be provided as a method, system, or computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware aspects. Moreover, the present disclosure may 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.
  • these 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 instruction means implements the functions specified in one or more blocks of the flowchart or in a flow or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
  • the load balancing method, device and service orchestration provided by the present disclosure prevent the user equipment from establishing a PPPoE session with the overloaded virtual BRAS, and the user equipment establishes a PPPoE session with the lightly available virtual BRAS, thereby implementing the virtual BRAS. Load balancing to ensure processing performance.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本公开提供一种负载均衡方法、装置及业务编排器,该方法包括:获取多个虚拟BRAS中的每个虚拟BRAS的负载信息;利用所述负载信息从多个虚拟BRAS中确定出可用虚拟BRAS;为确定出的每个可用虚拟BRAS分别生成第一流表,并向所述网络设备发送生成的每个第一流表;所述第一流表用于使所述网络设备将接收到的PPPOE主动发现初始化报文负载均衡的发送给每个第一流表对应的可用虚拟BRAS。通过本公开的技术方案,可以避免用户设备与负载过大的不可用虚拟BRAS建立PPPoE会话,并使得用户设备与负载较轻的可用虚拟BRAS建立PPPoE会话,从而实现虚拟BRAS的负载均衡,提高处理性能。

Description

一种负载均衡方法、装置及业务编排器
相关申请的交叉引用
本公开要求于2017年9月8日提交中国专利局的申请号为CN201710806415.1,名称为“一种负载均衡方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本公开涉及通信技术领域,尤其涉及一种负载均衡方法、装置及业务编排器。
背景技术
在城域网宽带接入场景下,用户设备可以通过ONU(Optical Network Unit,光网络单元)、OLT(Optical Line Terminal,光线路终端)、交换机接入到物理BRAS(Broadband Remote Access Server,宽带远程接入服务器),如通过PPPoE(Point-to-Point Protocol over Ethernet,在以太网上承载PPP协议)方式接入物理BRAS,而物理BRAS作为PPPoE服务器,用于实现用户设备的控制和计费。
随着虚拟化技术的不断发展,城域网宽带接入场景演变成为城域网宽带接入的虚拟化场景,通过部署多个虚拟BRAS(virtual Broadband Remote Access Server,vBRAS)来替换物理BRAS,且这些虚拟BRAS都作为PPPoE服务器,用于实现用户设备的控制和计费。经研究发现,在城域网宽带接入的虚拟化场景中,处理性能有待提升。
发明内容
本公开提供一种负载均衡方法,应用于包括业务编排器、网络设备和多个虚拟BRAS的系统,所述方法应用于所述业务编排器,所述方法包括:
获取所述多个虚拟BRAS中的每个虚拟BRAS的负载信息;
利用所述负载信息从所述多个虚拟BRAS中确定出可用虚拟BRAS;
为确定出的每个可用虚拟BRAS分别生成第一流表(流表为流表项的简称),并向所述网络设备发送生成的每个第一流表;所述第一流表用于使所述网络设备将接收到的PPPOE主动发现初始化报文负载均衡的发送给每个第一流表对应的可用虚拟BRAS。
可选地,所述利用所述负载信息从所述多个虚拟BRAS中确定出可用虚拟BRAS的过程,包括:
若所述虚拟BRAS的负载信息小于等于预设阈值,则确定所述虚拟BRAS是可用虚拟BRAS;否则,确定所述虚拟BRAS不是可用虚拟BRAS;
其中,所述负载信息包括以下之一或者任意组合:接入用户数量、CPU资源使用比例、 内存资源使用比例、存储空间使用比例、流量大小。
可选地,所述为确定出的每个可用虚拟BRAS分别生成第一流表的过程,包括:
针对确定出的每个可用虚拟BRAS,根据所述可用虚拟BRAS的MAC地址、所述可用虚拟BRAS对应的连接端口和所述可用虚拟BRAS对应的MAC区间,为所述可用虚拟BRAS生成第一流表;所述第一流表的匹配选项包括:目的MAC地址为广播MAC,报文类型为PPPoE,源MAC地址属于所述可用虚拟BRAS对应的MAC区间;所述第一流表的动作选项包括:将目的MAC地址修改为所述可用虚拟BRAS的MAC地址,通过所述可用虚拟BRAS对应的连接端口进行发送;其中,每个可用虚拟BRAS对应一个MAC区间,不同可用虚拟BRAS对应不同MAC区间,每个可用虚拟BRAS对应所述网络设备上的一个连接端口。
可选地,所述根据所述可用虚拟BRAS的MAC地址、所述可用虚拟BRAS对应的连接端口和所述可用虚拟BRAS对应的MAC区间,为所述可用虚拟BRAS生成第一流表之前,所述方法还包括:
获取所述多个虚拟BRAS中的每个虚拟BRAS的MAC地址与连接端口的对应关系,所述连接端口是所述网络设备上与该虚拟BRAS连接的端口;
确定所述可用虚拟BRAS的MAC地址,并通过所述可用虚拟BRAS的MAC地址查询所述对应关系,得到所述可用虚拟BRAS对应的连接端口。
可选地,所述获取所述多个虚拟BRAS中的每个虚拟BRAS的MAC地址与连接端口的对应关系的过程,包括:
向所述网络设备发送第二流表,所述第二流表用于使所述网络设备在通过连接端口接收到虚拟BRAS发送的反向地址转换协议RARP报文后,向所述业务编排器发送控制报文,所述控制报文携带所述虚拟BRAS的MAC地址和所述连接端口;接收所述网络设备发送的控制报文,并从所述控制报文中获取所述虚拟BRAS的MAC地址与所述虚拟BRAS对应的连接端口的对应关系。
可选地,所述第二流表的匹配选项包括:报文类型为RARP,动作选项包括:将RARP报文封装到控制报文,在所述控制报文添加接收到RARP报文的连接端口,并将所述控制报文发送给所述业务编排器。
可选地,所述根据所述可用虚拟BRAS的MAC地址、所述可用虚拟BRAS对应的连接端口和所述可用虚拟BRAS对应的MAC区间,为所述可用虚拟BRAS生成第一流表之前,所述方法还包括:
确定所有可用虚拟BRAS的数量N,所述N为大于等于1的正整数;
将所有MAC划分到所述N个MAC区间,并为每个可用虚拟BRAS分配一个MAC区间,且为不同的可用虚拟BRAS分配不同的MAC区间;
确定所述可用虚拟BRAS对应的MAC区间。
可选地,所述将所有MAC划分到所述N个MAC区间的过程,包括:
采用均衡策略将所有MAC划分到所述N个MAC区间,以使不同MAC区间包括的MAC数量之间的差值不大于预设阈值。
本公开提供一种负载均衡装置,应用于包括业务编排器、网络设备和多个虚拟BRAS的系统,所述负载均衡装置应用于所述业务编排器,所述负载均衡装置包括:
获取模块,用于获取所述多个虚拟BRAS中的每个虚拟BRAS的负载信息;
确定模块,用于利用所述负载信息从所述多个虚拟BRAS中确定出可用虚拟BRAS;
生成模块,用于为确定出的每个可用虚拟BRAS分别生成第一流表;
发送模块,用于向所述网络设备发送生成的每个第一流表;其中,所述第一流表用于使所述网络设备将接收到的PPPOE主动发现初始化报文负载均衡的发送给每个第一流表对应的可用虚拟BRAS。
可选地,所述确定模块,具体用于在利用所述负载信息从所述多个虚拟BRAS中确定出可用虚拟BRAS的过程中,若所述虚拟BRAS的负载信息小于等于预设阈值,则确定所述虚拟BRAS是可用虚拟BRAS;否则,确定所述虚拟BRAS不是可用虚拟BRAS;其中,所述负载信息包括以下之一或者任意组合:接入用户数量、CPU资源使用比例、内存资源使用比例、存储空间使用比例、流量大小。
可选地,所述生成模块,具体用于在为确定出的每个可用虚拟BRAS分别生成第一流表的过程中,针对确定出的每个可用虚拟BRAS,根据所述可用虚拟BRAS的MAC地址、所述可用虚拟BRAS对应的连接端口和所述可用虚拟BRAS对应的MAC区间,为所述可用虚拟BRAS生成第一流表;所述第一流表的匹配选项包括:目的MAC地址为广播MAC,报文类型为PPPoE,源MAC地址属于所述可用虚拟BRAS对应的MAC区间;所述第一流表的动作选项包括:将目的MAC地址修改为所述可用虚拟BRAS的MAC地址,通过所述可用虚拟BRAS对应的连接端口进行发送;其中,每个可用虚拟BRAS对应一个MAC区间,不同可用虚拟BRAS对应不同MAC区间,每个可用虚拟BRAS对应所述网络设备上的一个连接端口。
可选地,所述获取模块,还用于获取所述多个虚拟BRAS中的每个虚拟BRAS的MAC地址与连接端口的对应关系,所述连接端口是所述网络设备上与该虚拟BRAS连接的端口;确定可用虚拟BRAS的MAC地址,并通过所述可用虚拟BRAS的MAC地址查询所述对 应关系,得到所述可用虚拟BRAS对应的连接端口;
其中,所述获取模块,具体用于在获取所述多个虚拟BRAS中的每个虚拟BRAS的MAC地址与连接端口的对应关系的过程中,向所述网络设备发送第二流表,其中,所述第二流表用于使所述网络设备在通过连接端口接收到虚拟BRAS发送的反向地址解析协议RARP报文后,向所述业务编排器发送控制报文,且所述控制报文携带所述虚拟BRAS的MAC地址和所述连接端口;接收所述网络设备发送的控制报文,并从所述控制报文中获取所述虚拟BRAS的MAC地址与所述虚拟BRAS对应的连接端口的对应关系。
可选地,所述第二流表的匹配选项包括:报文类型为RARP,动作选项包括:将RARP报文封装到控制报文,在所述控制报文添加接收到RARP报文的连接端口,并将所述控制报文发送给所述业务编排器。
可选地,所述确定模块,还用于确定所有可用虚拟BRAS的数量N,其中,所述N为大于等于1的正整数;将所有MAC划分到所述N个MAC区间,并为每个可用虚拟BRAS分配一个MAC区间,且为不同的可用虚拟BRAS分配不同的MAC区间;确定所述可用虚拟BRAS对应的MAC区间;
其中,所述确定模块,具体用于在将所有MAC划分到所述N个MAC区间的过程中,采用均衡策略将所有MAC划分到所述N个MAC区间,以使不同MAC区间包括的MAC数量之间的差值不大于预设阈值。
本公开提供一种业务编排器,包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码;
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现上述的负载均衡方法。
本公开提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在业务编排器执行上述的负载均衡方法。
基于上述技术方案,本公开中,可以利用每个虚拟BRAS的负载信息确定可用虚拟BRAS,通过为确定出的每个可用虚拟BRAS分别生成第一流表,并向网络设备发送生成的每个第一流表,使得网络设备将接收到的PPPOE主动发现初始化报文,如PADI(PPPoE Active Discovery Initial)报文负载均衡地发送给每个第一流表对应的可用虚拟BRAS,而不会将PADI报文发送给不可用虚拟BRAS,这样,可以避免用户设备与负载过大的不可用虚拟BRAS建立PPPoE会话,并使得用户设备与负载较轻的可用虚拟BRAS建立PPPoE会 话,从而实现虚拟BRAS的负载均衡,进而确保处理性能。
附图说明
为了更加清楚地说明本公开或者现有技术中的技术方案,下面将对本公开或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开的这些附图获得其他的附图。
图1是本公开一种实施方式中的应用场景示意图;
图2A-图2C是本公开一种实施方式中的负载均衡方法的流程图;
图3是本公开一种实施方式中的负载均衡装置的结构图;
图4是本公开一种实施方式中的业务编排器的硬件结构图。
具体实施方式
在本公开使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本公开中提出一种负载均衡方法,该方法可以应用于包括业务编排器、网络设备和多个虚拟BRAS的系统,如城域网宽带接入的虚拟化场景。参见图1所示,为本公开的应用场景示意图,业务编排器161用于在物理服务器上创建虚拟BRAS,如在物理服务器A上创建虚拟BRAS151,在物理服务器B上创建虚拟BRAS152和虚拟BRAS153,对此虚拟BRAS的创建过程不再赘述。这些虚拟BRAS作为PPPoE服务器,用于实现各项处理操作,例如,实现用户设备的控制和计费。
网络设备141可以是交换机,路由器等,对此网络设备141的类型不做限制,只要网络设备141支持OpenFlow协议,并可以基于OpenFlow流表进行处理即可。
如图1所示,用户设备作为PPPoE客户端,虚拟BRAS作为PPPoE服务器,用户设备可以通过ONU、OLT和网络设备接入到虚拟BRAS,并在用户设备与虚拟BRAS之间建立PPPoE会话。如在图1中,用户设备111通过ONU121、OLT131和网络设备141接入到各 虚拟BRAS,用户设备112通过ONU122、OLT132和网络设备141接入到各虚拟BRAS。
为了在虚拟BRAS之间实现负载均衡,针对PPPoE会话的建立过程,本公开中提出负载均衡方法,以避免用户设备与负载过大的不可用虚拟BRAS建立PPPoE会话,并使得用户设备与负载较轻的可用虚拟BRAS建立PPPoE会话,从而实现虚拟BRAS的负载均衡。
在上述应用场景下,参见图2A所示,为本公开中提出的负载均衡方法的流程图,该方法可以应用于图1中的业务编排器161,由业务编排器161,如业务编排器161中的处理器执行,该方法可以包括以下步骤:
步骤201,获取多个虚拟BRAS中的每个虚拟BRAS的负载信息。
在一个例子中,业务编排器在物理服务器上创建虚拟BRAS时,可以记录虚拟BRAS的MAC地址,并在业务编排器与虚拟BRAS之间建立管理通道(如NETCONF(Network Configuration Protocol,网络配置协议)管理通道、OpenFlow管理通道等,对此管理通道的类型不做限制)。然后,在虚拟BRAS的运行过程中,业务编排器可以通过所述管理通道收集到该虚拟BRAS的负载信息,并记录该虚拟BRAS的MAC地址与该虚拟BRAS的负载信息的对应关系。
在另一个例子中,业务编排器在物理服务器上创建虚拟BRAS时,可以记录虚拟BRAS的MAC地址和设备标识,并在业务编排器与虚拟BRAS之间建立管理通道。然后,在虚拟BRAS的运行过程中,业务编排器可以通过所述管理通道收集到该虚拟BRAS的负载信息,并记录该虚拟BRAS的MAC地址和该虚拟BRAS的设备标识与该虚拟BRAS的负载信息的对应关系。
其中,针对“业务编排器通过管理通道收集到虚拟BRAS的负载信息”的过程,业务编排器可以通过所述管理通道向虚拟BRAS发送负载信息查询消息,而虚拟BRAS在接收到该负载信息查询消息后,可以统计本虚拟BRAS的负载信息,并通过所述管理通道将本虚拟BRAS的负载信息发送给业务编排器。
步骤202,利用该负载信息从多个虚拟BRAS中确定出可用虚拟BRAS。
利用负载信息从多个虚拟BRAS中确定出可用虚拟BRAS的方式有多种。在一个例子中,业务编排器在获取到每个虚拟BRAS的负载信息后,基于每个虚拟BRAS的负载信息与预设阈值进行比对,若该虚拟BRAS的负载信息小于等于预设阈值(预设阈值可以根据经验,大数据统计分析等进行配置),则确定该虚拟BRAS是可用虚拟BRAS;若该虚拟BRAS的负载信息大于该预设阈值,则确定该虚拟BRAS不是可用虚拟BRAS。又例如,可以根据各虚拟BRAS的负载信息对各虚拟BRAS进行排序,将各虚拟BRAS中负载信息最小的预设比例的虚拟BRAS确定为可用虚拟BRAS,将其余虚拟BRAS确定为不可用虚 拟BRAS。
参见图1所示,假设在步骤201中,业务编排器161获取到虚拟BRAS151的负载信息A,并记录虚拟BRAS151的MAC151与负载信息A的对应关系。业务编排器161获取到虚拟BRAS152的负载信息B,并记录虚拟BRAS152的MAC152与负载信息B的对应关系。业务编排器161获取到虚拟BRAS153的负载信息C,并记录虚拟BRAS153的MAC153与负载信息C的对应关系。
在步骤202中,如图1所示场景下,若负载信息A小于预设阈值,则业务编排器161可以确定虚拟BRAS151是可用虚拟BRAS,且虚拟BRAS151的MAC地址为MAC151。若负载信息B小于预设阈值,则业务编排器161可以确定虚拟BRAS152是可用虚拟BRAS,且虚拟BRAS152的MAC地址为MAC152。若负载信息C大于预设阈值,则业务编排器161可以确定虚拟BRAS153不是可用虚拟BRAS。
在一个例子中,负载信息可以包括但不限于以下之一或者任意组合:接入用户数量、CPU(Central Processing Unit,中央处理器)资源使用比例、内存资源使用比例、存储空间使用比例、流量(如上行流量或者下行流量)大小。
在一个例子中,若该负载信息只包括一个参数,则为该参数设置预设阈值,如该负载信息只包括接入用户数量,则为接入用户数量设置预设阈值,如1000。这样,当接入用户数量小于等于1000时,则确定虚拟BRAS是可用虚拟BRAS,当接入用户数量大于1000时,则确定虚拟BRAS不是可用虚拟BRAS。
若该负载信息包括多个参数,则可以为每个参数分别设置预设阈值,如该负载信息包括接入用户数量、CPU资源使用比例、内存资源使用比例时,则为接入用户数量设置预设阈值,如1000,并为CPU资源使用比例设置预设阈值,如70%,并为内存资源使用比例设置预设阈值,如70%。基于此,当任意一个参数大于预设阈值时,就可以确定虚拟BRAS不是可用虚拟BRAS;只有当所有参数均小于等于预设阈值时,才可以确定虚拟BRAS是可用虚拟BRAS。
例如,当接入用户数量大于1000,和/或,CPU资源使用比例大于70%,和/或,内存资源使用比例大于70%时,则可以确定虚拟BRAS不是可用虚拟BRAS。当接入用户数量小于等于1000,且CPU资源使用比例小于等于70%,且内存资源使用比例小于等于70%时,则可以确定虚拟BRAS是可用虚拟BRAS。
步骤203,为确定出的每个可用虚拟BRAS分别生成第一流表,并向网络设备发送生成的每个第一流表;该第一流表用于使网络设备将接收到的PPPOE主动发现初始化报文负载均衡的发送给每个第一流表对应的可用虚拟BRAS。本公开中,流表为流表项的简称。
在后续过程中,将PPPOE主动发现初始化报文简写成PADI报文。
例如,请返回参阅图1,业务编排器161确定虚拟BRAS151和虚拟BRAS152是可用虚拟BRAS之后,可以为虚拟BRAS151生成第一流表1,为虚拟BRAS152生成第一流表2,并将第一流表1和第一流表2发送给网络设备。网络设备在接收到与第一流表1匹配的PADI报文后,将PADI报文发送给虚拟BRAS151,虚拟BRAS151向用户设备返回PADO报文,从而可以在虚拟BRAS151与用户设备之间建立PPPoE会话,并由虚拟BRAS151实现该用户设备的控制和计费。网络设备在接收到与第一流表2匹配的PADI报文后,将PADI报文发送给虚拟BRAS152,虚拟BRAS152向用户设备返回PADO报文,从而可以在虚拟BRAS152与用户设备之间建立PPPoE会话,并由虚拟BRAS152实现该用户设备的控制和计费。
显然,由于虚拟BRAS151和虚拟BRAS152是可用虚拟BRAS,而虚拟BRAS153不是可用虚拟BRAS,因此,网络设备只接收到针对虚拟BRAS151和虚拟BRAS152的第一流表,而不会接收到针对虚拟BRAS153的第一流表,使得网络设备将PADI报文发送给负载较轻的虚拟BRAS151和虚拟BRAS152,并使得用户设备与负载较轻的虚拟BRAS151和虚拟BRAS152建立PPPoE会话,而不会将PADI报文发送给负载过大的虚拟BRAS153,避免用户设备与负载过大的虚拟BRAS153建立PPPoE会话,从而实现虚拟BRAS的负载均衡,进而提升处理性能。
在一个例子中,业务编排器可以周期性获取每个虚拟BRAS的负载信息,并利用负载信息从多个虚拟BRAS中确定出可用虚拟BRAS。若当前周期确定的可用虚拟BRAS与上一个周期确定的可用虚拟BRAS相同,则业务编排器不再执行步骤203,而是等到下一个周期,重新执行步骤201和步骤202。若当前周期确定的可用虚拟BRAS与上一个周期确定的可用虚拟BRAS不同,则可以执行步骤203,并在下一个周期内,重新执行上述步骤201和步骤202。若当前周期之前,业务编排器还没有向网络设备下发过第一流表,则执行步骤203。
在步骤203中,针对“为确定出的每个可用虚拟BRAS分别生成第一流表”的过程,可以包括但不限于:针对确定出的每个可用虚拟BRAS,业务编排器根据该可用虚拟BRAS的MAC地址、该可用虚拟BRAS对应的连接端口以及该可用虚拟BRAS对应的MAC区间,为该可用虚拟BRAS生成第一流表。当然,上述方式只是生成第一流表的示例,对此生成方式不做限制,只要第一流表能够使网络设备将PADI报文发送给该第一流表对应的可用虚拟BRAS即可。
其中,上述连接端口可以是网络设备上与该虚拟BRAS连接的端口。
其中,第一流表的匹配选项可以包括:目的MAC地址为广播MAC,报文类型为PPPoE,源MAC地址属于该可用虚拟BRAS对应的MAC区间。第一流表的动作选项可以包括:将目的MAC地址修改为该可用虚拟BRAS的MAC地址,并通过该可用虚拟BRAS对应的连接端口进行发送。因此,上述第一流表用于使网络设备在接收到PADI报文后,将该PADI报文的目的MAC地址修改为该可用虚拟BRAS的MAC地址,并通过该可用虚拟BRAS对应的连接端口发送修改后的报文。而且,该PADI报文的目的MAC地址为广播MAC,报文类型为PPPoE,且源MAC地址属于该可用虚拟BRAS对应的MAC区间。
其中,每个可用虚拟BRAS对应一个MAC区间,不同可用虚拟BRAS对应不同MAC区间,每个可用虚拟BRAS对应所述网络设备上的一个连接端口。
例如,请返回参阅图1,业务编排器161为所述虚拟BRAS151生成的第一流表1,匹配选项可以包括:目的MAC地址为全F,报文类型为PPPoE,源MAC地址属于虚拟BRAS151对应的MAC区间A;动作选项可以包括:将目的MAC地址修改为虚拟BRAS151的MAC151,并通过虚拟BRAS151对应的端口1411进行发送。
此外,业务编排器161为所述虚拟BRAS152生成的第一流表2,匹配选项可以包括:目的MAC地址为全F,报文类型为PPPoE,源MAC地址属于虚拟BRAS152对应的MAC区间B;动作选项可以包括:将目的MAC地址修改为虚拟BRAS152的MAC152,并通过虚拟BRAS152对应的端口1412进行发送。
网络设备在接收到PADI报文(目的MAC地址为全F,报文类型为PPPoE)后,若PADI报文的源MAC地址属于MAC区间A,网络设备将PADI报文的目的MAC地址修改为MAC151,并通过端口1411进行发送,这样,PADI报文会被发送给虚拟BRAS151,而不是广播给所有虚拟BRAS。虚拟BRAS151向用户设备返回PADO报文,以在虚拟BRAS151与用户设备之间建立PPPoE会话。
网络设备在接收到PADI报文(目的MAC地址为全F,报文类型为PPPoE)后,若PADI报文的源MAC地址属于MAC区间B,网络设备将PADI报文的目的MAC地址修改为MAC152,并通过端口1412进行发送,这样,PADI报文会被发送给虚拟BRAS152,而不是广播给所有虚拟BRAS。虚拟BRAS152向用户设备返回PADO报文,以在虚拟BRAS152与用户设备之间建立PPPoE会话。
在一个例子中,在为可用虚拟BRAS生成第一流表之前,可以先获得可用虚拟BRAS的MAC地址、可用虚拟BRAS对应的连接端口和可用虚拟BRAS对应的MAC区间。由于业务编排器记录有虚拟BRAS的MAC地址与虚拟BRAS的负载信息的对应关系,因此,在利用负载信息确定出可用虚拟BRAS后,可以直接从该对应关系中查询到虚拟BRAS的 MAC地址。以下对可用虚拟BRAS对应的连接端口和可用虚拟BRAS对应的MAC区间的获得过程进行说明。
参见图2B所示,为可用虚拟BRAS对应的连接端口的获得示意图。
步骤211,获取每个虚拟BRAS的MAC地址与连接端口的对应关系。
参见图1所示,例如,业务编排器161可以获取到虚拟BRAS151的MAC151与端口1411的对应关系,获取到虚拟BRAS152的MAC152与端口1412的对应关系,并获取到虚拟BRAS153的MAC153与端口1412的对应关系。
在一个例子中,针对“获取每个虚拟BRAS的MAC地址与连接端口的对应关系”的过程,可以包括但不限于:业务编排器向网络设备发送第二流表,该第二流表用于使该网络设备在通过某连接端口接收到虚拟BRAS发送的RARP(Reverse Address Resolution Protocol,反向地址转换协议)报文后,向业务编排器发送控制报文,该控制报文携带该虚拟BRAS的MAC地址和连接端口。基于此,业务编排器在接收到该网络设备发送的控制报文后,可以从该控制报文中获取到虚拟BRAS的MAC地址与虚拟BRAS对应的连接端口的对应关系。
当然,上述获取方式只是本公开的一个示例,对此获取方式不做限制。
参见图1所示,业务编排器161向网络设备141发送第二流表,且网络设备141存储第二流表。该第二流表的匹配选项可以包括:报文类型为RARP,动作选项可以包括:将RARP报文封装到控制报文(如Packet-in报文),在控制报文添加接收到RARP报文的连接端口,并将控制报文发送给业务编排器161。
虚拟BRAS151在启动后,可以通过下行端口向网络设备141发送RARP报文,该RARP报文携带虚拟BRAS151的MAC151。网络设备141在通过端口1411接收到RARP报文后,由于RARP报文的报文类型为RARP,因此与第二流表匹配,网络设备141将RARP报文封装到控制报文,在控制报文添加端口1411,并将控制报文发送给业务编排器161。业务编排器161在接收到控制报文后,从控制报文中获取到虚拟BRAS151的MAC151与端口1411的对应关系。
同理,网络设备通过端口1412收到虚拟BRAS152发送的RARP报文后,向业务编排器161发送控制报文,业务编排器161从控制报文中获取到虚拟BRAS152的MAC152与端口1412的对应关系。网络设备通过端口1412收到虚拟BRAS153发送的RARP报文后,向业务编排器161发送控制报文,业务编排器161从控制报文中获取到虚拟BRAS153的MAC153与端口1412的对应关系。
步骤212,确定可用虚拟BRAS的MAC地址,并通过该可用虚拟BRAS的MAC地址 查询上述对应关系,得到该可用虚拟BRAS对应的连接端口。
例如,业务编排器161在确定虚拟BRAS151和虚拟BRAS152是可用虚拟BRAS之后,可以确定该虚拟BRAS151对应于MAC151,并确定该虚拟BRAS152对应于MAC152。然后,业务编排器161可以通过MAC151查询上述对应关系,得到该虚拟BRAS151对应的连接端口是端口1411,并可以通过MAC152查询上述对应关系,得到该虚拟BRAS152对应的连接端口是端口1412。
参见图2C所示,为可用虚拟BRAS对应的MAC区间的获得示意图。
步骤221,确定所有可用虚拟BRAS的数量N,N为大于等于1的正整数。
业务编排器161确定虚拟BRAS151和虚拟BRAS152是可用虚拟BRAS后,确定所有可用虚拟BRAS的数量N是2个,即虚拟BRAS151和虚拟BRAS152。
步骤222,将所有MAC划分到N个MAC区间,并为每个可用虚拟BRAS分配一个MAC区间,且为不同的可用虚拟BRAS分配不同的MAC区间。
例如,当所述数量N为2时,则业务编排器161可以将所有MAC划分为2个MAC区间,这2个MAC区间可以分别为MAC区间A和MAC区间B。基于此,则虚拟BRAS151对应MAC区间A,虚拟BRAS152对应MAC区间B;或者,虚拟BRAS151对应MAC区间B,虚拟BRAS152对应MAC区间A。
在一个例子中,针对“将所有MAC划分到N个MAC区间”的过程,可以包括但不限于:可以采用均衡策略将所有MAC划分到所述N个MAC区间;其中,不同MAC区间包括的MAC数量之间的差值不大于预设阈值。
其中,均衡策略可以包括:能够实现“将所有MAC划分到MAC区间,且每个MAC区间包括的MAC数量相同或者类似”的策略,例如,通过均衡策略将所有MAC划分到MAC区间A和MAC区间B,且MAC区间A包括的MAC数量与MAC区间B包括的MAC数量相同,或者,MAC区间A包括的MAC数量与MAC区间B包括的MAC数量之间的差值不大于预设阈值,如数值5。
在一个例子中,MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号或横杆隔开,如08:00:20:0A:8C:6D就是一个MAC地址,其中的每个数值可以占用4位,如第一个数值0是前4位,第二个数值8是第5-8位,以此类推,第十二个数值D是最后4位。
为了将所有MAC划分到MAC区间,可以将前8位(如08)作为均衡策略参数,或者,将9-16位(如00)作为均衡策略参数,或者,将最后8位(如6D)作为均衡策略参数,或者,将所有48位(如08:00:20:0A:8C:6D)作为均衡策略参数,或者,将前4位(如 0)作为均衡策略参数,或者,将最后4位(如D)作为均衡策略参数,对此均衡策略参数不做限制。为了方便描述,以将最后4位作为均衡策略参数为例说明,其它均衡策略参数的处理类似。
在将最后4位作为均衡策略参数时,由于最后4位的取值是0、1、…9、A、B、C、D、E、F等16个数值,因此可以将这16个数值均匀散射到各MAC区间,以使各MAC区间包括的MAC数量相同或者类似。例如,假设存在MAC区间A和MAC区间B,则可以将8个数值散射到MAC区间A,将另外8个数值散射到MAC区间B。例如,将0-8散射到MAC区间A,将9-F散射到MAC区间B;或者,将0、2、4、6、8、A、C、E散射到MAC区间A,将1、3、5、7、9、B、D、F散射到MAC区间B,对此散射方式不做限制。
为方便描述,以将0、2、4、6、8、A、C、E散射到MAC区间A,将1、3、5、7、9、B、D、F散射到MAC区间B为例进行说明,针对“将所有MAC划分到MAC区间”的过程,当MAC的前44位为任意值时,只要最后4位是0、2、4、6、8、A、C、E,就将MAC划分到MAC区间A,当MAC的前44位为任意值时,只要最后4位是1、3、5、7、9、B、D、F,就将MAC划分到MAC区间B。综上所述,MAC区间A包括的MAC为00:00:00:00:00:00,00:00:00:00:00:02,00:00:00:00:00:04,00:00:00:00:00:06,00:00:00:00:00:08,00:00:00:00:00:0A,00:00:00:00:00:0C,00:00:00:00:00:0E。此外,MAC区间B包括的MAC为00:00:00:00:00:01,00:00:00:00:00:03,00:00:00:00:00:05,00:00:00:00:00:07,00:00:00:00:00:09,00:00:00:00:00:0B,00:00:00:00:00:0D,00:00:00:00:00:0F。上述MAC中的前11个0表示前44位为任意值。
步骤223,确定可用虚拟BRAS对应的MAC区间。
在一个例子中,由于可用虚拟BRAS的数量与MAC区间的数量相同,因此,一个可用虚拟BRAS就可以对应一个MAC区间。例如,当可用虚拟BRAS包括虚拟BRAS151和虚拟BRAS152,MAC区间包括MAC区间A和MAC区间B时,则虚拟BRAS151对应MAC区间A,虚拟BRAS152对应MAC区间B;或者,虚拟BRAS151对应MAC区间B,虚拟BRAS152对应MAC区间A。
若虚拟BRAS151对应MAC区间A,虚拟BRAS152对应MAC区间B,则第一流表1的匹配选项中,源MAC地址属于MAC区间A,第一流表2的匹配选项中,源MAC地址属于MAC区间B。即网络设备141在收到PADI报文后,若PADI报文的源MAC地址的最后4位,是0、2、4、6、8、A、C、E中的数值,就确定PADI报文与第一流表1匹配,PADI报文被发送给虚拟BRAS151;若PADI报文的源MAC地址的最后4位,是1、3、5、7、9、B、D、F中的数值,就确定PADI报文与第一流表2匹配,PADI报文被发送给虚拟 BRAS152。
在一个例子中,由于业务编排器可以周期性获取每个虚拟BRAS的负载信息,并利用负载信息从多个虚拟BRAS中确定出可用虚拟BRAS。因此,若当前周期确定的可用虚拟BRAS与上一个周期确定的可用虚拟BRAS不同,则可以重新执行图2C所示的流程,即重新确定可用虚拟BRAS对应的MAC区间。
本公开提供的负载均衡方法,通过巧妙设计,避免用户设备与负载过大的虚拟BRAS建立PPPoE会话,并使得用户设备与负载较轻的虚拟BRAS建立PPPoE会话,从而实现虚拟BRAS的负载均衡,进而确保处理性能。
经调研,在城域网宽带接入的虚拟化场景中,整体处理性能有待提升,为了提高处理性能,发明人对城域网宽带接入的虚拟化场景下的工作流程进行了多方研究。经研究发现,在城域网宽带接入的虚拟化场景下,用户设备作为PPPoE客户端,一般会先发送PADI(PPPoE Active Discovery Initial,PPPOE主动发现初始化)报文,该PADI报文的目的MAC(Media Access Control,介质访问控制)地址为全F的广播MAC地址,因此,这个PADI报文会发送给部署在该场景中的所有虚拟BRAS。各虚拟BRAS在接收到PADI报文后,均向用户设备发送PADO(PPPoE Active Discovery Offer,PPPOE主动发现提供)报文。用户设备可以与接收到的第一个PADO报文对应的虚拟BRAS建立PPPoE会话,由该虚拟BRAS实现该用户设备的控制和计费。
经验证,在上述方式下,无法在虚拟BRAS之间实现负载均衡为影响处理性能的主要因素之一。例如,大量用户设备均与虚拟BRAS1建立PPPoE会话,只有少量用户设备与虚拟BRAS2建立PPPoE会话,这样,虚拟BRAS1的负载过重,虚拟BRAS1的处理压力很大,而虚拟BRAS2的负载过轻,虚拟BRAS2的处理压力很小,大量资源空闲,从而导致整体处理性能有限。而采用本公开中的负载均衡方法,通过实现虚拟BRAS的负载均衡,进而确保处理性能。
应当理解,针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及本公开中针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
基于与前述本公开提供的负载均衡方法同样的构思,本公开还提出一种负载均衡装置,应用于包括业务编排器、网络设备和多个虚拟BRAS的系统,参见图3所示,为所述装置的结构图,所述装置应用于所述业务编排器,所述装置包括:
获取模块301,用于获取多个虚拟BRAS中的每个虚拟BRAS的负载信息;
确定模块302,用于利用负载信息从多个虚拟BRAS中确定可用虚拟BRAS;
生成模块303,用于为确定出的每个可用虚拟BRAS分别生成第一流表;
发送模块304,用于向所述网络设备发送生成的每个第一流表;其中,所述第一流表用于使所述网络设备将接收到的PPPOE主动发现初始化报文负载均衡的发送给每个第一流表对应的可用虚拟BRAS。
所述确定模块302,具体用于在利用负载信息从多个虚拟BRAS中确定出可用虚拟BRAS的过程中,若虚拟BRAS的负载信息小于等于预设阈值,则确定所述虚拟BRAS是可用虚拟BRAS;否则,确定所述虚拟BRAS不是可用虚拟BRAS;其中,所述负载信息包括以下之一或者任意组合:接入用户数量、CPU资源使用比例、内存资源使用比例、存储空间使用比例、流量大小。
所述生成模块303,具体用于在为确定出的每个可用虚拟BRAS分别生成第一流表的过程中,针对确定出的每个可用虚拟BRAS,根据所述可用虚拟BRAS的MAC地址、所述可用虚拟BRAS对应的连接端口、所述可用虚拟BRAS对应的MAC区间,为所述可用虚拟BRAS生成第一流表;所述第一流表的匹配选项包括:目的MAC地址为广播MAC,报文类型为PPPoE,源MAC地址属于所述可用虚拟BRAS对应的MAC区间;所述第一流表的动作选项包括:将目的MAC地址修改为所述可用虚拟BRAS的MAC地址,通过所述可用虚拟BRAS对应的连接端口进行发送;其中,每个可用虚拟BRAS对应一个MAC区间,不同可用虚拟BRAS对应不同MAC区间,每个可用虚拟BRAS对应所述网络设备上的一个连接端口。
所述获取模块301,还用于获取多个虚拟BRAS中的每个虚拟BRAS的MAC地址与连接端口的对应关系,所述连接端口是所述网络设备上与该虚拟BRAS连接的端口;确定可用虚拟BRAS的MAC地址,并通过所述可用虚拟BRAS的MAC地址查询所述对应关系,得到所述可用虚拟BRAS对应的连接端口;
其中,所述获取模块301,具体用于在获取多个虚拟BRAS中的每个虚拟BRAS的MAC地址与连接端口的对应关系的过程中,向所述网络设备发送第二流表,其中,所述第二流表用于使所述网络设备在通过连接端口接收到虚拟BRAS发送的反向地址解析协议RARP报文后,向所述业务编排器发送控制报文,且所述控制报文携带所述虚拟BRAS的MAC地址、所述连接端口;
接收所述网络设备发送的控制报文,并从所述控制报文中获取所述虚拟BRAS的MAC地址与所述虚拟BRAS对应的连接端口的对应关系。
所述确定模块302,还用于确定所有可用虚拟BRAS的数量N,其中,所述N为大于等于1的正整数;将所有MAC划分到所述N个MAC区间,并为每个可用虚拟BRAS分 配一个MAC区间,且为不同的可用虚拟BRAS分配不同的MAC区间;确定所述可用虚拟BRAS对应的MAC区间;
其中,所述确定模块302,具体用于在将所有MAC划分到所述N个MAC区间的过程中,采用均衡策略将所有MAC划分到所述N个MAC区间;
其中,不同MAC区间包括的MAC数量之间的差值不大于预设阈值。
本公开中,负载均衡装置的实现原理和工作流程可以参阅前述负载均衡方法中的相应描述,在此不作赘述。
本公开中提供的业务编排器,从硬件层面而言,硬件架构示意图具体可以参见图4所示。包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码,如负载均衡指令。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本公开上述示例公开的负载均衡操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方 框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。
工业实用性
本公开提供的负载均衡方法、装置及业务编排器,避免用户设备与负载过大的不可用虚拟BRAS建立PPPoE会话,并使得用户设备与负载较轻的可用虚拟BRAS建立PPPoE会话,从而实现虚拟BRAS的负载均衡,进而确保处理性能。

Claims (15)

  1. 一种负载均衡方法,其特征在于,应用于包括业务编排器、网络设备和多个虚拟宽带远程接入服务器BRAS的系统,该方法应用于所述业务编排器,所述方法包括:
    获取多个虚拟BRAS中的每个虚拟BRAS的负载信息;
    利用所述负载信息从所述多个虚拟BRAS中确定出可用虚拟BRAS;
    为确定出的每个可用虚拟BRAS分别生成第一流表,并向所述网络设备发送生成的每个第一流表;所述第一流表用于使所述网络设备将接收到的PPPOE主动发现初始化报文负载均衡的发送给每个第一流表对应的可用虚拟BRAS。
  2. 根据权利要求1所述的方法,其特征在于,所述利用所述负载信息从所述多个虚拟BRAS中确定出可用虚拟BRAS的过程,包括:
    若所述虚拟BRAS的负载信息小于等于预设阈值,则确定所述虚拟BRAS是可用虚拟BRAS;否则,确定所述虚拟BRAS不是可用虚拟BRAS;
    其中,所述负载信息包括以下之一或者任意组合:接入用户数量、CPU资源使用比例、内存资源使用比例、存储空间使用比例、流量大小。
  3. 根据权利要求1所述的方法,其特征在于,所述为确定出的每个可用虚拟BRAS分别生成第一流表的过程,包括:
    针对确定出的每个可用虚拟BRAS,根据所述可用虚拟BRAS的MAC地址、所述可用虚拟BRAS对应的连接端口和所述可用虚拟BRAS对应的MAC区间,为所述可用虚拟BRAS生成第一流表;所述第一流表的匹配选项包括:目的MAC地址为广播MAC,报文类型为PPPoE,源MAC地址属于所述可用虚拟BRAS对应的MAC区间;所述第一流表的动作选项包括:将目的MAC地址修改为所述可用虚拟BRAS的MAC地址,通过所述可用虚拟BRAS对应的连接端口进行发送;其中,每个可用虚拟BRAS对应一个MAC区间,不同可用虚拟BRAS对应不同MAC区间,每个可用虚拟BRAS对应所述网络设备上的一个连接端口。
  4. 根据权利要求3所述的方法,其特征在于,所述根据所述可用虚拟BRAS的MAC地址、所述可用虚拟BRAS对应的连接端口和所述可用虚拟BRAS对应的MAC区间,为所述可用虚拟BRAS生成第一流表之前,所述方法还包括:
    获取所述多个虚拟BRAS中的每个虚拟BRAS的MAC地址与连接端口的对应关系,所述连接端口是所述网络设备上与该虚拟BRAS连接的端口;
    确定所述可用虚拟BRAS的MAC地址,并通过所述可用虚拟BRAS的MAC地址查 询所述对应关系,得到所述可用虚拟BRAS对应的连接端口。
  5. 根据权利要求4所述的方法,其特征在于,所述获取所述多个虚拟BRAS中的每个虚拟BRAS的MAC地址与连接端口的对应关系的过程,包括:
    向所述网络设备发送第二流表,所述第二流表用于使所述网络设备在通过连接端口接收到虚拟BRAS发送的反向地址转换协议RARP报文后,向所述业务编排器发送控制报文,所述控制报文携带所述虚拟BRAS的MAC地址和所述连接端口;接收所述网络设备发送的控制报文,并从所述控制报文中获取所述虚拟BRAS的MAC地址与所述虚拟BRAS对应的连接端口的对应关系。
  6. 根据权利要求5所述的方法,其特征在于,所述第二流表的匹配选项包括:报文类型为RARP,动作选项包括:将RARP报文封装到控制报文,在所述控制报文添加接收到RARP报文的连接端口,并将所述控制报文发送给所述业务编排器。
  7. 根据权利要求3所述的方法,其特征在于,所述根据所述可用虚拟BRAS的MAC地址、所述可用虚拟BRAS对应的连接端口和所述可用虚拟BRAS对应的MAC区间,为所述可用虚拟BRAS生成第一流表之前,所述方法还包括:
    确定所有可用虚拟BRAS的数量N,所述N为大于等于1的正整数;
    将所有MAC划分到所述N个MAC区间,并为每个可用虚拟BRAS分配一个MAC区间,且为不同的可用虚拟BRAS分配不同的MAC区间;
    确定所述可用虚拟BRAS对应的MAC区间。
  8. 根据权利要求7所述的方法,其特征在于,所述将所有MAC划分到所述N个MAC区间的过程,包括:
    采用均衡策略将所有MAC划分到所述N个MAC区间,以使不同MAC区间包括的MAC数量之间的差值不大于预设阈值。
  9. 一种负载均衡装置,其特征在于,应用于包括业务编排器、网络设备和多个虚拟宽带远程接入服务器BRAS的系统,该负载均衡装置应用于所述业务编排器,所述负载均衡装置包括:
    获取模块,配置成获取多个虚拟BRAS中的每个虚拟BRAS的负载信息;
    确定模块,配置成利用所述负载信息从所述多个虚拟BRAS中确定出可用虚拟BRAS;
    生成模块,配置成为确定出的每个可用虚拟BRAS分别生成第一流表;
    发送模块,配置成向所述网络设备发送生成的每个第一流表;其中,所述第一流表配置成使所述网络设备将接收到的PPPOE主动发现初始化报文负载均衡的发送给每个第一流表对应的可用虚拟BRAS。
  10. 根据权利要求9所述的装置,其特征在于,所述确定模块,具体配置成在利用所述负载信息从所述多个虚拟BRAS中确定出可用虚拟BRAS的过程中,若所述虚拟BRAS的负载信息小于等于预设阈值,则确定所述虚拟BRAS是可用虚拟BRAS;否则,确定所述虚拟BRAS不是可用虚拟BRAS;其中,所述负载信息包括以下之一或者任意组合:接入用户数量、CPU资源使用比例、内存资源使用比例、存储空间使用比例、流量大小。
  11. 根据权利要求9所述的装置,其特征在于,所述生成模块,具体配置成在为确定出的每个可用虚拟BRAS分别生成第一流表的过程中,针对确定出的每个可用虚拟BRAS,根据所述可用虚拟BRAS的MAC地址、所述可用虚拟BRAS对应的连接端口和所述可用虚拟BRAS对应的MAC区间,为所述可用虚拟BRAS生成第一流表;所述第一流表的匹配选项包括:目的MAC地址为广播MAC,报文类型为PPPoE,源MAC地址属于所述可用虚拟BRAS对应的MAC区间;所述第一流表的动作选项包括:将目的MAC地址修改为所述可用虚拟BRAS的MAC地址,通过所述可用虚拟BRAS对应的连接端口进行发送;其中,每个可用虚拟BRAS对应一个MAC区间,不同可用虚拟BRAS对应不同MAC区间,每个可用虚拟BRAS对应所述网络设备上的一个连接端口。
  12. 根据权利要求11所述的装置,其特征在于,所述获取模块,还配置成获取所述多个虚拟BRAS中的每个虚拟BRAS的MAC地址与连接端口的对应关系,所述连接端口是所述网络设备上与该虚拟BRAS连接的端口;确定可用虚拟BRAS的MAC地址,并通过所述可用虚拟BRAS的MAC地址查询所述对应关系,得到所述可用虚拟BRAS对应的连接端口;
    其中,所述获取模块,具体配置成在获取所述多个虚拟BRAS中的每个虚拟BRAS的MAC地址与连接端口的对应关系的过程中,向所述网络设备发送第二流表,其中,所述第二流表配置成使所述网络设备在通过连接端口接收到虚拟BRAS发送的反向地址解析协议RARP报文后,向所述业务编排器发送控制报文,且所述控制报文携带所述虚拟BRAS的MAC地址和所述连接端口;接收所述网络设备发送的控制报文,并从所述控制报文中获取所述虚拟BRAS的MAC地址与所述虚拟BRAS对应的连接端口的对应关系。
  13. 根据权利要求12所述的装置,其特征在于,所述第二流表的匹配选项包括:报文类型为RARP,动作选项包括:将RARP报文封装到控制报文,在所述控制报文添加接收到RARP报文的连接端口,并将所述控制报文发送给所述业务编排器。
  14. 根据权利要求11所述的装置,其特征在于,所述确定模块,还配置成确定所有可用虚拟BRAS的数量N,其中,所述N为大于等于1的正整数;将所有MAC划分到所述N个MAC区间,并为每个可用虚拟BRAS分配一个MAC区间,且为不同的可用虚拟BRAS 分配不同的MAC区间;确定所述可用虚拟BRAS对应的MAC区间;
    其中,所述确定模块,具体配置成在将所有MAC划分到所述N个MAC区间的过程中,采用均衡策略将所有MAC划分到所述N个MAC区间,以使不同MAC区间包括的MAC数量之间的差值不大于预设阈值。
  15. 一种业务编排器,其特征在于,包括:机器可读存储介质和处理器,其中:
    机器可读存储介质:存储指令代码;
    处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现权利要求1至8任一项所述的负载均衡方法。
PCT/CN2018/104695 2017-09-08 2018-09-07 一种负载均衡方法、装置及业务编排器 WO2019047939A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710806415.1A CN108667888B (zh) 2017-09-08 2017-09-08 一种负载均衡方法和装置
CN201710806415.1 2017-09-08

Publications (1)

Publication Number Publication Date
WO2019047939A1 true WO2019047939A1 (zh) 2019-03-14

Family

ID=63784081

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/104695 WO2019047939A1 (zh) 2017-09-08 2018-09-07 一种负载均衡方法、装置及业务编排器

Country Status (2)

Country Link
CN (1) CN108667888B (zh)
WO (1) WO2019047939A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112653633A (zh) * 2020-11-16 2021-04-13 新华三技术有限公司 负载分担的实现方法及装置
CN114039940A (zh) * 2021-12-09 2022-02-11 新华三大数据技术有限公司 一种数据处理方法和装置
CN114039979A (zh) * 2021-11-22 2022-02-11 华平智慧信息技术(深圳)有限公司 一种链路聚合中负载均衡的方法、装置、设备及存储介质
CN114827078A (zh) * 2022-04-01 2022-07-29 阿里云计算有限公司 节点访问方法以及数据传输系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448729B (zh) * 2021-06-25 2023-01-31 平安科技(深圳)有限公司 负载均衡方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104168202A (zh) * 2014-08-26 2014-11-26 华为技术有限公司 开放流报文转发方法及装置
US20160142474A1 (en) * 2013-06-25 2016-05-19 Nec Corporation Communication system, apparatus, method and program
CN106453124A (zh) * 2016-10-26 2017-02-22 杭州华三通信技术有限公司 流量调度方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223294A (zh) * 2010-10-12 2011-10-19 四川省守望信息科技有限责任公司 一种动态调整PPPoE模式接入带宽的方法及系统
CN105592047B (zh) * 2015-08-26 2019-01-25 新华三技术有限公司 一种业务报文的传输方法和装置
CN105262698B (zh) * 2015-10-28 2019-03-01 华为技术有限公司 一种负载分担的方法、装置和系统
CN110896371B (zh) * 2016-02-14 2022-07-26 华为技术有限公司 一种虚拟网络设备及相关方法
CN105872079B (zh) * 2016-05-12 2019-01-29 北京网瑞达科技有限公司 一种基于域名系统dns的链路均衡方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160142474A1 (en) * 2013-06-25 2016-05-19 Nec Corporation Communication system, apparatus, method and program
CN104168202A (zh) * 2014-08-26 2014-11-26 华为技术有限公司 开放流报文转发方法及装置
CN106453124A (zh) * 2016-10-26 2017-02-22 杭州华三通信技术有限公司 流量调度方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112653633A (zh) * 2020-11-16 2021-04-13 新华三技术有限公司 负载分担的实现方法及装置
CN112653633B (zh) * 2020-11-16 2022-08-30 新华三技术有限公司 负载分担的实现方法及装置
CN114039979A (zh) * 2021-11-22 2022-02-11 华平智慧信息技术(深圳)有限公司 一种链路聚合中负载均衡的方法、装置、设备及存储介质
CN114039940A (zh) * 2021-12-09 2022-02-11 新华三大数据技术有限公司 一种数据处理方法和装置
CN114039940B (zh) * 2021-12-09 2024-01-26 新华三大数据技术有限公司 一种数据处理方法和装置
CN114827078A (zh) * 2022-04-01 2022-07-29 阿里云计算有限公司 节点访问方法以及数据传输系统

Also Published As

Publication number Publication date
CN108667888B (zh) 2020-12-29
CN108667888A (zh) 2018-10-16

Similar Documents

Publication Publication Date Title
WO2019047939A1 (zh) 一种负载均衡方法、装置及业务编排器
US10375015B2 (en) Methods and system for allocating an IP address for an instance in a network function virtualization (NFV) system
US11336629B2 (en) Deterministic load balancing of IPSec packet processing
US8954992B2 (en) Distributed and scaled-out network switch and packet processing
US9930138B2 (en) Communicating with third party resources in cloud computing environment
US9509615B2 (en) Managing link aggregation traffic in a virtual environment
US11005805B2 (en) Managing link aggregation traffic in edge nodes
CN110166570B (zh) 业务会话管理方法、装置、电子设备
CN108737224B (zh) 一种基于微服务架构的报文处理方法和装置
US8942217B2 (en) System and method for hierarchical link aggregation
US9537766B2 (en) Packet switching without look-up table for ethernet switches
US20170019370A1 (en) Managing link aggregation traffic in edge nodes
WO2017166136A1 (zh) 一种vnf的资源分配方法及装置
US9584481B2 (en) Host providing system and communication control method
KR20140107173A (ko) 이더넷 스위치들용 룩-업 테이블없이 레이어 2 패킷을 스위치하기
US11595306B2 (en) Executing workloads across multiple cloud service providers
US10412174B2 (en) Configurable interface for a virtual function in a communication system
JP2019016042A (ja) データ取得プログラム、装置、及び方法
US10616116B1 (en) Network traffic load balancing using rotating hash
WO2019019991A1 (zh) 聚合组的创建
CN107249038A (zh) 业务数据转发方法及系统
CN107547684B (zh) 一种IPv6地址分配方法和装置
WO2021190029A1 (zh) 实现运营商级网络地址转换的方法、装置和系统
WO2015096058A1 (zh) 一种数据包处理方法和装置
WO2017041509A1 (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: 18854594

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18854594

Country of ref document: EP

Kind code of ref document: A1