WO2015101000A1 - 报文流量控制方法及相关装置和计算节点 - Google Patents
报文流量控制方法及相关装置和计算节点 Download PDFInfo
- Publication number
- WO2015101000A1 WO2015101000A1 PCT/CN2014/081642 CN2014081642W WO2015101000A1 WO 2015101000 A1 WO2015101000 A1 WO 2015101000A1 CN 2014081642 W CN2014081642 W CN 2014081642W WO 2015101000 A1 WO2015101000 A1 WO 2015101000A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual machine
- flow control
- host
- control policy
- negotiation
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 131
- 238000012545 processing Methods 0.000 claims abstract description 164
- 230000036316 preload Effects 0.000 claims description 183
- 238000012790 confirmation Methods 0.000 claims description 160
- 230000008569 process Effects 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 17
- 230000009286 beneficial effect Effects 0.000 abstract description 55
- 230000005540 biological transmission Effects 0.000 description 38
- 230000003111 delayed effect Effects 0.000 description 26
- 238000011217 control strategy Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 21
- 230000007246 mechanism Effects 0.000 description 14
- 230000000977 initiatory effect Effects 0.000 description 10
- 230000001960 triggered effect Effects 0.000 description 9
- 230000005012 migration Effects 0.000 description 8
- 238000013508 migration Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Definitions
- the present invention relates to the field of computer technologies, and in particular, to a packet flow control method, a related device, and a computing node. Background technique
- Virtualization technology is a decoupling technology that separates the underlying hardware devices from the upper operating system and applications.
- the virtual machine monitor (VMM) layer is directly managed to manage the underlying hardware. Resources, create a virtual machine (English: virtual machine, abbreviated: VM) that is independent of the underlying hardware for use by upper operating systems and applications.
- VM virtual machine monitor
- Virtualization technology as one of the underlying important supporting technologies of the current popular cloud computing platform, can greatly improve the resource utilization efficiency of physical devices. Virtual machines have better isolation and encapsulation than traditional physical servers.
- the host limits the bandwidth of the virtual machine in the outbound direction or access control based on other policies. For example, after the VM sends a packet, the host first copies the packet from the VM address space to the host address space. The host determines whether the packet exceeds the sending limit. If the packet exceeds the sending limit, the packet is directly discarded or cached first. Packets that exceed the cache limit are usually discarded directly.
- the embodiment of the present invention provides a flow control method, a related device, and a computing node, so as to reduce the occupation of the host address space by the packet traffic in the outbound direction of the virtual machine.
- the embodiment of the present invention provides the following technical solutions:
- a first aspect of the embodiments of the present invention provides a packet flow control method, which may include: The virtual machine-based flow control capability negotiates an execution party of the flow control policy between the virtual machine and the host Host;
- the virtual machine performs forwarding processing on the packet to be forwarded based on the flow control policy
- the virtual machine sends the packet to be forwarded to the host, so that the host receives the received message based on the traffic control policy.
- the message is forwarded.
- the executing the flow control policy based on the flow control capability of the virtual machine between the virtual machine and the host host includes:
- the virtual machine sends an executor negotiation request to the host that carries the description information of the flow control capability of the virtual machine;
- the virtual machine determines the executed flow control policy execution.
- the party is the virtual machine
- the virtual machine determines the negotiated traffic control policy.
- the executive is the host;
- the executing the flow control policy based on the flow control capability of the virtual machine between the virtual machine and the host host includes:
- the virtual machine sends, to the Host, an executive negotiation request that carries the description information of the traffic control capability of the virtual machine, where the description information of the traffic control capability is used to describe a version of the traffic control policy supported by the virtual machine.
- the virtual machine receives the negotiation confirmation indication sent by the host after determining, according to the description information of the flow control capability, that the virtual machine supports executing the current latest version or the preset version of the flow control policy, the virtual machine Determining that the negotiated flow control policy executor is the virtual machine;
- the virtual machine receives the Host, it is determined according to the description information of the flow control capability.
- the virtual machine does not support the negotiation denial indication sent after the current latest version or the preset version of the traffic control policy, and the virtual machine determines that the negotiated flow control policy executor is the Host;
- the executing the flow control policy based on the flow control capability of the virtual machine between the virtual machine and the host host includes:
- the virtual machine sends an executor negotiation request to the host that carries the description information of the flow control capability of the virtual machine;
- the virtual machine determines the executed flow control policy execution.
- the party is the virtual machine
- the virtual machine determines that the negotiated flow control policy executor is Host
- the executing the flow control policy based on the flow control capability of the virtual machine between the virtual machine and the host host includes:
- the virtual machine sends, to the Host, an executive negotiation request that carries the description information of the traffic control capability of the virtual machine, where the description information of the traffic control capability is used to describe a version of the traffic control policy supported by the virtual machine.
- the virtual machine receives the negotiation confirmation indication sent by the host after determining, according to the description information of the flow control capability, that the virtual machine supports executing the current latest version or the preset version of the flow control policy, the virtual machine Determining that the negotiated flow control policy executor is the virtual machine;
- the virtual machine determines that the negotiated flow control policy executor is Host
- the flow control capability based on the virtual machine is between the virtual machine and the host Host
- the executor of the business flow control strategy including:
- the virtual machine sends an executor negotiation request to the host that carries the description information of the flow control capability of the virtual machine;
- the virtual machine determines the negotiated traffic control policy.
- the executive is the host;
- the virtual machine determines that the negotiated flow control policy executor is the virtual machine
- the executing the flow control policy based on the flow control capability of the virtual machine between the virtual machine and the host host includes:
- the virtual machine sends, to the Host, an executive negotiation request that carries the description information of the traffic control capability of the virtual machine, where the description information of the traffic control capability is used to describe a version of the traffic control policy supported by the virtual machine.
- the virtual machine receives the negotiation denial indication sent by the host after determining, according to the description information of the traffic control capability, that the virtual machine supports executing the current latest version or the preset version of the traffic control policy, the virtual machine Determining that the negotiated flow control policy executor is the Host; if the virtual machine does not receive the negotiation denial indication sent by the Host for responding to the executor negotiation request within the second set duration, the virtual machine The virtual machine determines that the negotiated flow control policy executor is the virtual machine.
- the negotiation confirmation indication includes the flow control policy
- the virtual machine performs forwarding processing on the packet to be forwarded based on the traffic control policy included in the negotiation confirmation indication.
- the virtual machine sends a The executor negotiation request for the description of the flow control capability includes:
- the virtual machine After receiving the negotiation initiation request initiated by the user state process, the virtual machine sends an execution party negotiation request carrying the description information of the flow control capability of the virtual machine to the host; or the virtual machine receives the negotiation start from the host. After the request, an executor negotiation request carrying the description information of the flow control capability of the virtual machine is sent to the foregoing Host.
- the execution of the flow control policy between the virtual machine and the host host based on the flow control capability of the virtual machine includes: a preloaded client deployed in the virtual machine and a preload deployed in the host After the connection between the server ends is established, the preloading client negotiates a traffic control policy between the virtual machine and the host based on the established connection and the preloading server based on the flow control capability of the virtual machine. Executive party.
- the method further includes:
- the preloading client After determining that the negotiated flow control policy executor is the virtual machine, the preloading client periodically sends a heartbeat message to the preloaded server based on the connection.
- the traffic control policy is a quality of service based traffic control policy and/or an access control list based traffic control policy.
- a second aspect of the embodiments of the present invention provides a packet flow control method, which may include:
- the virtual machine based flow control capability negotiates an execution party of the flow control policy between the virtual machine and the host host;
- the Host forwards the received packet based on the traffic control policy after receiving the packet from the virtual machine. .
- the host host and the virtual machine negotiate a flow control policy between the virtual machine and the host based on the flow control capability of the virtual machine.
- Executive including:
- Executing a flow control policy executor between the virtual machine and the host Host based on the flow control capability of the virtual machine including:
- the Host receives an executor negotiation request sent by the virtual machine that carries description information of the flow control capability of the virtual machine;
- the host determines, according to the description information of the traffic control capability, that the virtual machine supports performing a traffic control policy, sending a negotiation confirmation indication to the virtual machine, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy is executed.
- the party is the virtual machine;
- the host determines that the virtual machine does not support the execution of the traffic control policy according to the description of the traffic control capability, the host sends a negotiation denial indication to the virtual machine, where the negotiation denial indication is used to indicate the negotiated traffic control policy.
- the executive is the host;
- Executing a flow control policy executor between the virtual machine and the host Host based on the flow control capability of the virtual machine including:
- the host receives the executor negotiation request that is sent by the virtual machine and carries the description information of the flow control capability of the virtual machine, where the description information of the flow control capability is used to describe the version of the flow control policy supported by the virtual machine. ;
- the host determines, according to the description information of the flow control capability, that the virtual machine supports the flow control policy of the current latest version or the preset version, sending a negotiation confirmation indication to the virtual machine, where the negotiation confirmation indication is Used to indicate that the negotiated flow control policy executor is the virtual machine;
- the host determines, according to the description information of the flow control capability, that the virtual machine does not support the flow control policy of the current latest version or the preset version, sending a negotiation denial indication to the virtual machine, where the negotiation denies
- the indication is used to indicate that the negotiated flow control policy executor is the Host.
- the virtual machine based traffic control capability is negotiated between the virtual machine and the host Host
- the executor of the flow control policy includes: after the connection between the preloaded server in the host and the preloaded client in the virtual machine is established, the preloaded server passes the connection with the preloaded guest
- the client negotiates a performer of the flow control policy between the virtual machine and the host Host based on the flow control capability of the virtual machine.
- the method further includes:
- the Host After determining that the executor of the negotiated flow control policy is the virtual machine, if the heartbeat message from the virtual machine is not received within the set duration, the Host sends the virtual machine to indicate the traffic. The executor of the control policy switches to the indication message of the Host.
- the traffic control policy is a quality of service based traffic control policy and/or an access control list based traffic control policy.
- a third aspect of the present invention provides a packet flow control method, which may include:
- the processor negotiates the execution of the flow control policy between the host Host and the virtual machine based on the flow control capability of the virtual machine;
- the executed flow control policy executor is the virtual machine
- the executor of the flow control policy negotiated by the processor based on the flow is the Host
- the processor treats the virtual machine
- the packet processed by the forwarding is sent to the host from the virtual machine.
- the processor performs forwarding processing on the packet to be forwarded, which is received by the host, according to the traffic control policy.
- the executing, by the processor, the execution of the traffic control policy between the host Host and the virtual machine, based on the flow control capability of the virtual machine includes: the processor sending the virtual machine to the host to be sent to the host The executor negotiation request, where the executor negotiation request carries description information of the flow control capability of the virtual machine;
- the processor After the host receives the executor negotiation request, if the processor determines, according to the description information of the flow control capability, that the virtual machine supports executing a flow control policy, the processor sends the virtual machine to the virtual machine. a negotiation confirmation indication that the host is to be sent to the virtual machine, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or, the processor is Descriptive information of the flow control capability determines that the virtual machine does not support execution flow The quantity control policy, the processor sends a negotiation denial indication sent by the host to the virtual machine to the virtual machine, where the negotiation denial indication is used to indicate that the negotiated flow control policy executor is the host ;
- the executing, by the processor, the execution of the traffic control policy between the host Host and the virtual machine, based on the flow control capability of the virtual machine includes: the processor sending the virtual machine to the host to be sent to the host
- the executor negotiation request, the executor negotiation request carries the description information of the flow control capability of the virtual machine, where the description information of the flow control capability is used to describe a version of the flow control policy supported by the virtual machine;
- the processor determines, according to the description information of the traffic control capability, that the virtual machine supports the current latest version or the preset version of the traffic control policy, Sending, by the processor, the negotiation confirmation indication sent by the host to the virtual machine, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or If the processor determines that the virtual machine does not support the current latest version or the preset version of the flow control policy according to the description of the flow control capability, the processor sends the Host to the virtual machine to the virtual machine.
- the negotiation confirmation indication includes the flow control policy
- the forwarding process of the packet to be forwarded by the virtual machine based on the flow control policy includes: reporting, by the flow control policy included in the negotiation confirmation indication, the virtual machine to be forwarded The text is forwarded.
- the executed execution of the flow control policy is After the virtual machine does not receive the heartbeat message from the virtual machine within the set duration, the processor sends the host to the virtual machine to be sent to the virtual machine, The indication message indicating that the executor of the flow control policy switches to the Host.
- the traffic control policy is a quality of service based traffic control policy and/or a traffic control policy based on an access control list.
- the sending, by the host, the execution party negotiation request that is sent by the virtual machine to the host includes:
- the virtual machine After receiving the negotiation initiation request initiated by the user state process, the virtual machine sends an execution party negotiation request sent by the virtual machine to the host to the host; or, the virtual machine receives the negotiation start from the host. After the request, the host sends an executive negotiation request to be sent to the host by the virtual machine.
- the flow control policy is negotiated between the host host and the virtual machine based on the flow control capability of the virtual machine
- the executor includes: after the connection between the pre-loaded client deployed in the virtual machine and the pre-loaded server deployed in the host is completed, the virtual machine-based flow control capability is established through the established connection.
- the execution of the traffic control policy is negotiated between the host Host and the virtual machine.
- a fourth aspect of the present invention provides a packet flow control method, which may include:
- the processor negotiates the execution of the flow control policy between the host Host and the virtual machine based on the flow control capability of the virtual machine;
- the processor treats the virtual machine
- the packet processed by the forwarding is sent to the host; the processor performs forwarding processing on the packet to be forwarded, which is received by the host, based on the traffic control policy.
- the processor is based on a flow control capability of the virtual machine between the host Host and the virtual machine Executing the executor of the flow control policy includes: the processor sending, to the Host, an executor negotiation request that is sent by the virtual machine to the host, where the executor negotiation request carries a description of the flow control capability of the virtual machine information;
- the processor After the host receives the executor negotiation request, if the processor determines, according to the description information of the flow control capability, that the virtual machine supports executing a flow control policy, the processor sends the virtual machine to the virtual machine. a negotiation confirmation indication that the host is to be sent to the virtual machine, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or, the processor is Descriptive information of the flow control capability, determining that the virtual machine does not support the execution of the flow control policy, the processor sending, to the virtual machine, a negotiation denial indication sent by the host to the virtual machine, where The negotiation denial indication is used to indicate that the negotiated flow control policy executor is the Host;
- the executing, by the processor, the execution of the traffic control policy between the host Host and the virtual machine, based on the flow control capability of the virtual machine includes: the processor sending the virtual machine to the host to be sent to the host
- the executor negotiation request, the executor negotiation request carries the description information of the flow control capability of the virtual machine, where the description information of the flow control capability is used to describe a version of the flow control policy supported by the virtual machine;
- the processor determines, according to the description information of the traffic control capability, that the virtual machine supports the current latest version or the preset version of the traffic control policy, Sending, by the processor, the negotiation confirmation indication sent by the host to the virtual machine, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or If the processor determines that the virtual machine does not support the current latest version or the preset version of the flow control policy according to the description of the flow control capability, the processor sends the Host to the virtual machine to the virtual machine.
- the negotiation confirmation indication includes the flow control policy
- the process of forwarding, by the processor, the packet to be forwarded by the virtual machine based on the flow control policy includes: the processor is configured to perform the flow control included in the negotiation confirmation indication The policy forwards the packet processed by the virtual machine to be forwarded.
- the method further includes: After the executor of the control policy is the virtual machine, if the host does not receive a heartbeat message from the virtual machine within a set duration, the processor sends the host to the virtual machine to the The indication message sent by the virtual machine to indicate that the executor of the flow control policy switches to the Host.
- the traffic control policy is a quality of service based traffic control policy and/or a traffic control policy based on an access control list.
- the sending, by the processor, the executive negotiation request sent by the virtual machine to the host to the host includes:
- the processor After the virtual machine receives the negotiation start request initiated by the user state process, the processor sends an execution party negotiation request sent by the virtual machine to the host to the host; or, the virtual machine receives the After the negotiation of the Host initiates the request, the processor sends an Execution Negotiation Request sent by the virtual machine to the Host to the Host.
- the virtual machine-based flow control capability negotiates flow control between the host host and the virtual machine
- the executor of the policy includes: after the connection between the pre-loaded client deployed in the virtual machine and the pre-loaded server deployed in the host is completed, the processor establishes the connection, based on the virtual machine
- the flow control capability negotiates the execution of the flow control policy between the host Host and the virtual machine.
- a fifth aspect of the present invention provides a virtual machine, which may include:
- a first negotiating unit configured to be based on the flow control capability of the virtual machine in the virtual machine and the host Negotiating the execution of the flow control policy between the hosts;
- a packet processing unit configured to: if the executor of the negotiated flow control policy is the virtual machine, forward the packet to be forwarded based on the flow control policy; and determine the negotiated flow control policy
- the querier is the host, and the packet to be forwarded is sent to the host, so that the host performs forwarding processing on the received packet based on the traffic control policy.
- the first negotiating unit is configured to send, to the Host, an executive negotiation request that carries the description information of the flow control capability of the virtual machine, and if the host receives the description information according to the flow control capability, The virtual machine supports the negotiation confirmation indication sent after the flow control policy is executed, and determines that the negotiated flow control policy executor is the virtual machine; if the host receives the description information according to the flow control capability, the virtual The machine does not support the negotiation denial indication sent after the execution of the flow control policy, and determines that the negotiated flow control policy executor is the Host;
- the first negotiation unit is configured to send, to the Host, an executive negotiation request that carries the description information of the flow control capability of the virtual machine, where the description information of the flow control capability is used to describe the virtual machine support.
- a version of the executed flow control policy if the host receives the negotiation confirmation indication sent after the virtual machine supports executing the current latest version or the preset version of the flow control policy according to the description information of the flow control capability, Determining that the negotiated flow control policy executor is the virtual machine; if the host receives the description information according to the flow control capability, determining that the virtual machine does not support performing the current latest version or the preset version of the flow control policy After the negotiation denial indication sent, it is determined that the negotiated flow control policy executor is the Host;
- the first negotiating unit is configured to send, to the Host, an executive negotiation request that carries the description information of the flow control capability of the virtual machine, and if the host receives the description information according to the flow control capability,
- the virtual machine supports the negotiation confirmation indication sent after the execution of the flow control policy, and determines that the negotiated flow control policy executor is the virtual machine; if the host sends the response for the response within the first set duration Determining the negotiation confirmation indication of the executor negotiation request, determining that the negotiated flow control policy executor is the Host; or,
- the first negotiation unit is configured to send, to the Host, an executive negotiation request that carries the description information of the flow control capability of the virtual machine, where the description information of the flow control capability is used to describe the virtual machine support.
- a version of the executed flow control policy if the host receives the negotiation confirmation indication sent after the virtual machine supports executing the current latest version or the preset version of the flow control policy according to the description information of the flow control capability, Determining that the negotiated flow control policy executor is the virtual machine; if the negotiation confirmation indication sent by the host for responding to the executor negotiation request is not received within the first set duration, determining to negotiate The flow control policy executor is the Host;
- the first negotiating unit is configured to send, to the Host, an executive negotiation request that carries the description information of the flow control capability of the virtual machine, and if the host receives the description information according to the flow control capability, The virtual machine does not support the negotiation denial indication sent after the execution of the traffic control policy, and determines that the negotiated flow control policy executor is the Host; if the host sends the response for the response within the second set duration Determining the negotiation denial indication of the executor negotiation request, determining that the negotiated flow control policy executor is the virtual machine;
- the first negotiation unit is configured to send, to the Host, an executive negotiation request that carries the description information of the flow control capability of the virtual machine, where the description information of the flow control capability is used to describe the virtual machine support.
- a version of the executed flow control policy if the host receives the negotiation denial indication sent after the virtual machine supports executing the current latest version or the preset version of the flow control policy according to the description information of the flow control capability, Determining that the negotiated flow control policy executor is the Host; if the negotiation denied indication sent by the Host for responding to the executor negotiation request is not received within the second set duration, determining the negotiated The flow control policy executor is the virtual machine.
- the virtual machine further includes:
- the sending unit is configured to periodically send a heartbeat message to the host after determining that the executor of the negotiated flow control policy is the virtual machine.
- the traffic control policy is a quality of service based traffic control policy and/or a traffic control policy based on an access control list.
- a fourth possible implementation Sending, to the Host, the executor negotiation request that carries the description information of the flow control capability of the virtual machine, where the negotiation unit is configured to: after receiving the negotiation initiation request initiated by the user state process, send the carrying An executor negotiation request for describing the flow control capability of the virtual machine; or, after receiving the negotiation initiation request from the host, sending an execution party negotiation request carrying the description information of the flow control capability of the virtual machine to the host .
- a sixth aspect of the present invention provides a host machine, including:
- a second negotiating unit configured to negotiate an execution party of the flow control policy between the virtual machine and the host based on a flow control capability of the virtual machine
- a message processing unit configured to: if it is determined that the executed party of the negotiated flow control policy is the host, after receiving the message from the virtual machine, the received report is received based on the flow control policy The text is forwarded.
- the second negotiating unit is configured to: receive an executive negotiation request that is sent by the virtual machine and carry the description information of the flow control capability of the virtual machine, and determine, according to the description information of the flow control capability, that the virtual machine supports execution And the flow control policy sends a negotiation confirmation indication to the virtual machine, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and if the description is performed according to the description information of the flow control capability The virtual machine does not support the execution of the traffic control policy, and sends a negotiation denial indication to the virtual machine, where the negotiation denial indication is used to indicate that the negotiated flow control policy executor is the host;
- the second negotiating unit is configured to receive, by the virtual machine, an executive negotiation request that carries the description information of the flow control capability of the virtual machine, where the description information of the flow control capability is used to describe the The version of the flow control policy supported by the virtual machine, if it is controlled according to the flow
- the description of the capability determines that the virtual machine supports the flow control policy of the current latest version or the preset version, and sends a negotiation confirmation indication to the virtual machine, where the negotiation confirmation indication is used to indicate the negotiated flow control policy.
- the executor is the virtual machine; if it is determined that the virtual machine does not support the current latest version or the preset version of the flow control policy according to the description information of the flow control capability, the negotiation denial indication is sent to the virtual machine, where The negotiation denial indication is used to indicate that the negotiated flow control policy executor is the host.
- the packet processing unit is further configured to: determine, in the execution of the negotiated flow control policy, After the virtual machine is not received, if the heartbeat message from the virtual machine is not received within the set time period, an indication message indicating that the flow control policy executor switches to the Host is sent to the virtual machine.
- the traffic control policy is a quality of service based traffic control policy and/or a traffic control policy based on an access control list.
- a seventh aspect of the present invention provides a computing node, which may include: a hardware layer, a host Host running on the hardware layer, and at least one virtual machine running on the Host,
- the virtual machine is configured to negotiate, according to the flow control capability of the virtual machine, an execution party of the traffic control policy between the virtual machine and the host; if it is determined that the negotiated flow control policy executor is the virtual machine Transmitting, according to the flow control policy, the packet to be forwarded and processed; if the executor of the negotiated flow control policy is the host, sending the packet to be forwarded to the host;
- the Host is configured to: after determining that the negotiated flow control policy executor is the Host, after receiving the packet from the virtual machine, forwarding the received packet according to the traffic control policy. deal with.
- the virtual machine is specifically configured to send, by the host, the flow control that carries the virtual machine, in the aspect that the flow control function of the virtual machine is used to negotiate the execution of the flow control policy between the virtual machine and the host.
- An executor negotiation request of the capability description information if the host receives the description according to the flow control capability, determining that the virtual machine supports executing a flow control policy, and then sending And confirming the negotiation confirmation indication, determining that the negotiated flow control policy executor is the virtual machine; and if the host receives the description according to the flow control capability, determining that the virtual machine does not support performing a flow control policy, and then sending Negotiating the denial indication, determining that the negotiated flow control policy executor is the Host;
- the virtual machine is specifically configured to send, by the host, the flow control that carries the virtual machine, in the aspect that the flow control function of the virtual machine is used to negotiate the execution of the flow control policy between the virtual machine and the host.
- the executor negotiation request of the capability description information where the description information of the flow control capability is used to describe a version of the traffic control policy supported by the virtual machine, and if the host is received according to the traffic control capability
- the description information determines that the virtual machine supports the negotiation confirmation indication sent after executing the current latest version or the preset version of the flow control policy, and determines that the negotiated flow control policy executor is the virtual machine; if the host is received Determining, according to the description information of the flow control capability, that the virtual machine does not support the negotiation of the current latest version or the default version of the flow control policy, determining that the negotiated flow control policy executor is the host ;
- the virtual machine is specifically configured to send, by the host, the flow control that carries the virtual machine, in the aspect that the flow control function of the virtual machine is used to negotiate the execution of the flow control policy between the virtual machine and the host.
- the executor negotiation request of the capability description information if the host receives the negotiation confirmation indication sent after the virtual machine supports executing the flow control policy according to the description information of the flow control capability, determining the negotiated flow control
- the policy executor is the virtual machine; if the negotiation acknowledgment indication sent by the host for responding to the executor negotiation request is not received within the first set duration, determining that the negotiated flow control policy executor is The Host;
- the virtual machine is specifically configured to send, by the host, the flow control that carries the virtual machine, in the aspect that the flow control function of the virtual machine is used to negotiate the execution of the flow control policy between the virtual machine and the host.
- the executor negotiation request of the capability description information where the description information of the flow control capability is used to describe a version of the traffic control policy supported by the virtual machine, and if the host is received according to the traffic control capability Descriptive information determines that the virtual machine supports execution of the current most
- the negotiation confirmation indication sent after the new version or the preset version of the flow control policy determines that the negotiated flow control policy executor is the virtual machine; if the host is not received within the first set duration Determining, by the acknowledgment, the negotiated confirmation indication of the executor negotiation request, determining that the negotiated flow control policy executor is the Host;
- the virtual machine is specifically configured to send, by the host, the flow control that carries the virtual machine, in the aspect that the flow control function of the virtual machine is used to negotiate the execution of the flow control policy between the virtual machine and the host.
- the executor negotiation request of the capability description information if the host receives the negotiation denial indication sent after the virtual machine does not support the execution of the traffic control policy according to the description information of the traffic control capability, determining the negotiated traffic
- the control policy executor is the Host; if the negotiation denied indication sent by the Host for responding to the executor negotiation request is not received within the second set duration, it is determined that the negotiated flow control policy executor is The virtual machine;
- the virtual machine is specifically configured to send, by the host, the flow control that carries the virtual machine, in the aspect that the flow control function of the virtual machine is used to negotiate the execution of the flow control policy between the virtual machine and the host.
- the executor negotiation request of the capability description information where the description information of the flow control capability is used to describe a version of the traffic control policy supported by the virtual machine, and if the host is received according to the traffic control capability
- the description information determines that the virtual machine supports the negotiation denial indication sent after executing the current latest version or the preset version of the flow control policy, and determines that the negotiated flow control policy executor is the Host; If the negotiation denied indication sent by the Host for responding to the executor negotiation request is not received, it is determined that the negotiated flow control policy executor is the virtual machine.
- the Host is further configured to: after determining that the executed party of the negotiated flow control policy is the virtual machine, if the heartbeat message from the virtual machine is not received within the set duration, send the message to the virtual machine.
- An eighth aspect of the present invention provides a computing node, including:
- the processor is configured to: negotiate, according to the flow control capability of the virtual machine, the execution party of the flow control policy between the host Host and the virtual machine; if the negotiated flow control policy performer is the virtual machine Transmitting, according to the traffic control policy, the packet to be forwarded and processed by the virtual machine; if the executor of the negotiated traffic control policy is the host, the packet to be forwarded by the virtual machine is forwarded The packet is sent to the host from the virtual machine, and the packet to be forwarded processed by the host is forwarded according to the traffic control policy.
- the processor is configured to send, to the Host, an executive negotiation request that is sent by the virtual machine to the host, where the performer negotiation request carries description information of the flow control capability of the virtual machine; After the executor negotiation request, if the virtual machine supports the execution of the flow control policy according to the description information of the flow control capability, the negotiation confirmation indication sent by the host to the virtual machine is sent to the virtual machine.
- the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or, if the description of the flow control capability is determined, the virtual machine does not support the execution of the flow control policy.
- the processor is configured to send, to the Host, an executive negotiation request that is sent by the virtual machine to the host, where the performer negotiation request carries description information of the flow control capability of the virtual machine, where the flow control capability is The description information is used to describe a version of the flow control policy that the virtual machine supports to perform; after the host receives the execution party negotiation request, if the description information of the flow control capability is determined, the virtual machine support is determined. And executing a current control policy of the latest version or the preset version, and sending, to the virtual machine, a negotiation confirmation indication that is sent by the host to the virtual machine, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy is executed.
- the virtual machine is the virtual machine; and/or if the virtual machine does not support performing the current latest version or the preset version of the flow control policy according to the description information of the flow control capability, sending the host to the virtual machine a negotiation denial indication to be sent to the virtual machine, where the negotiation denial indication is used to indicate a protocol
- the traffic control policy executor of the quotient is the Host.
- the negotiation confirmation indication includes the flow control policy
- the processor is configured to perform forwarding processing on the packet to be forwarded by the virtual machine based on the traffic control policy included in the negotiation confirmation indication.
- the processor is further used to After the executor of the negotiated flow control policy is the virtual machine, if the host does not receive a heartbeat message from the virtual machine within a set duration, the host sends the host to the virtual machine. The indication message sent by the virtual machine to indicate that the executor of the flow control policy switches to the host.
- the execution of the traffic control policy is negotiated between the virtual machine and the host based on the traffic control capability of the virtual machine; In the virtual machine, the virtual machine forwards the packet to be forwarded based on the traffic control policy; if the executor of the negotiated traffic control policy is the host, the virtual machine sends the packet to be forwarded.
- the foregoing Host is configured to forward the received packet to the host according to the foregoing traffic control policy.
- the flow control of the packet flow is beneficial to reduce invalid processing and reduce the occupation of bandwidth and host address space by invalid packet traffic. It can be seen that the above solution is beneficial for reducing the occupation of the host address space by the packet traffic in the outbound direction of the virtual machine. Moreover, since the flow control strategy executor is determined through negotiation, the execution ability of the flow control policy executor is guaranteed to a certain extent, thereby improving the reliability of the flow control strategy execution.
- FIG. 1 is a schematic diagram of a virtualization architecture provided by an embodiment of the present invention.
- FIG. 2 is a schematic diagram of another virtualization architecture provided by an embodiment of the present invention.
- FIG. 3 is a schematic flowchart of a packet flow control method according to an embodiment of the present invention
- FIG. 4 is a schematic flowchart of another packet forwarding control method according to an embodiment of the present invention
- FIG. 4 is a schematic flowchart of another packet forwarding control method according to an embodiment of the present invention
- It is a schematic flowchart of another packet forwarding control method provided by the embodiment of the present invention
- FIG. 5-b is a schematic structural diagram of a computing node according to an embodiment of the present invention.
- FIG. 5 is a schematic diagram of an effect of packet flow control according to an embodiment of the present invention.
- FIG. 6 is a schematic flowchart of another packet forwarding control method according to an embodiment of the present invention
- FIG. 6 is a schematic diagram of another packet flow control effect according to an embodiment of the present invention
- FIG. 8 is a schematic flowchart of another packet forwarding control method according to an embodiment of the present invention
- FIG. 9 is a schematic diagram of a packet forwarding control method according to an embodiment of the present invention. Schematic diagram of the structure;
- FIG. 10 is a schematic structural diagram of a host machine according to an embodiment of the present invention.
- FIG. 11 is a schematic structural diagram of a computing node according to an embodiment of the present invention.
- FIG. 12 is a schematic structural diagram of another computing node according to an embodiment of the present disclosure.
- FIG. 13 is a schematic structural diagram of another computing node according to an embodiment of the present invention.
- the embodiment of the present invention provides a flow control method, a related device, and a computing node, so as to reduce the occupation of the host address space by the packet traffic in the outbound direction of the virtual machine.
- Virtual machine VM
- Virtual machine software can simulate one or more virtual computers on a single physical computer. These virtual machines work like real computers.
- the virtual machine can be installed with operating systems and applications.
- the virtual machine can also be used. Access network resources.
- the virtual machine is like working on a real computer.
- Hardware layer :
- the hardware layer may include a variety of hardware.
- the hardware layer of a computing node may include a CPU and a memory, and may also include a high speed/low speed input/output of a network card, a memory, etc.
- I/O input/output, abbreviation: I/O
- IOMMU Input/Output Memory Management Unit
- Host may be a virtual machine monitor (VMM); in this case, sometimes VMM and a privileged virtual machine cooperate, and the two combine to form a Host.
- VMM virtual machine monitor
- the virtual hardware platform provides various hardware resources for each virtual machine running on it, such as a virtual central processing unit (English: Central Processing Unit, abbreviated: CPU), memory, a virtual disk, a virtual network card, and the like.
- the virtual disk can correspond to one file of Host or one logical block device.
- the virtual machine runs on the virtual hardware platform that Host prepares for it, and one or more virtual machines run on the Host.
- FIG. 2 is a schematic diagram of a virtualization architecture of a computing node according to an embodiment of the present invention.
- the architecture mainly includes three layers: a hardware layer, a Host, and a virtual machine (VM).
- the hardware layer includes the network card.
- the host has a back-end instance corresponding to the network card (English: Back-End, abbreviated as BE), and the VM has a front-end instance corresponding to the network card (English: Front-End, abbreviation: FE); wherein the BE in the VM can Considered as the front-end driver of the network card, the FE in the Host can be regarded as the back-end driver of the network card.
- BE Back-End
- FE Front-End
- the method for controlling the flow of a packet includes: performing, according to the flow control capability of the virtual machine, the execution party of the flow control policy between the virtual machine and the host; and determining the negotiated flow control policy If the executor is the virtual machine, the virtual machine forwards the packet to be forwarded based on the traffic control policy; if the executor of the negotiated traffic control policy is the host, the virtual machine is to be forwarded.
- the packet is sent to the host, so that the host performs forwarding processing on the received packet according to the foregoing traffic control policy.
- FIG. 3 is a schematic flowchart diagram of a packet flow control method according to an embodiment of the present invention. As shown in FIG. 3, a packet flow control according to an embodiment of the present invention is provided. The method can include the following:
- the virtual machine-based flow control capability negotiates the execution of the flow control policy between the virtual machine and the host.
- the virtual machine and the host host can negotiate the execution of the traffic control policy between the virtual machine and the host based on the traffic control capability of the virtual machine in multiple manners.
- the virtual machine-based flow control capability negotiates the execution of the flow control policy between the virtual machine and the host, and the method includes: the virtual machine sends an executive negotiation to the host that carries the description information of the flow control capability of the virtual machine. If the virtual machine receives the negotiation confirmation indication sent by the host after determining that the virtual machine supports the execution of the flow control policy according to the description information of the traffic control capability, the virtual machine determines that the negotiated flow control policy executor is the foregoing a virtual machine, if the virtual machine receives the negotiation denial indication sent by the host after determining that the virtual machine does not support the execution of the traffic control policy according to the description information of the traffic control capability, the virtual machine determines the negotiated flow control policy executor For the above Host.
- the virtual machine-based traffic control capability negotiates the execution of the traffic control policy between the virtual machine and the host, including: the virtual machine sends an executive negotiation to the host that carries the description information of the traffic control capability of the virtual machine.
- the request where the description information of the flow control capability is used to describe a version of the flow control policy supported by the virtual machine, and the virtual machine determines that the virtual machine supports execution according to the description information of the traffic control capability.
- the virtual machine determines that the negotiated flow control policy executor is the virtual machine, if the negotiation confirmation indication sent after the current version or the preset version of the flow control policy is sent.
- the virtual machine determines the negotiated The execution of the flow control policy is the above Host;
- the execution of the flow control policy between the virtual machine and the host is performed by the virtual machine based on the flow control capability of the virtual machine, and the method includes: the virtual machine sending the description of the flow control capability of the virtual machine to the host If the virtual machine receives the negotiation confirmation indication sent by the host after determining that the virtual machine supports the execution of the flow control policy according to the description information of the traffic control capability, the virtual machine determines that the negotiated flow control policy executor is The virtual machine; if the virtual machine does not receive the host sent by the host within the first set duration, in response to the executing If the negotiation confirmation indication of the pedestrian negotiation request is performed, the virtual machine determines that the negotiated flow control policy executor is the foregoing Host.
- the virtual machine-based flow control capability negotiates the execution of the flow control policy between the virtual machine and the host, and the method includes: the virtual machine sends an execution party that carries the description information of the flow control capability of the virtual machine to the host.
- the negotiation request where the description of the traffic control capability is used to describe a version of the traffic control policy supported by the virtual machine; and the virtual machine determines that the host supports the virtual machine according to the description information of the traffic control capability.
- the virtual machine After executing the negotiation confirmation indication sent after the latest version or the preset version of the flow control policy, the virtual machine determines that the negotiated flow control policy executor is the virtual machine; if the virtual machine does not receive within the first set duration And the virtual machine determines that the negotiated flow control policy executor is the host, to the negotiation confirmation indication sent by the host to respond to the executor negotiation request.
- the virtual machine-based flow control capability negotiates the execution of the flow control policy between the virtual machine and the host, and the method includes: the virtual machine sends an execution party that carries the description information of the flow control capability of the virtual machine to the host.
- the virtual machine determines the negotiated flow control policy executor If the virtual machine does not receive the negotiation denial indication sent by the host for responding to the performer negotiation request within the second set duration, the virtual machine determines that the negotiated flow control policy executor is the virtual machine.
- the virtual machine-based flow control capability negotiates the execution of the flow control policy between the virtual machine and the host, and the method includes: the virtual machine sends an execution party that carries the description information of the flow control capability of the virtual machine to the host.
- the negotiation request where the description of the traffic control capability is used to describe a version of the traffic control policy supported by the virtual machine; and the virtual machine determines that the host supports the virtual machine according to the description information of the traffic control capability.
- the virtual machine After performing the negotiation denial indication sent by the latest version or the preset version of the traffic control policy, the virtual machine determines that the negotiated flow control policy executor is the foregoing Host; if the virtual machine does not receive the second set duration The virtual machine determines that the negotiated flow control policy executor is the virtual machine sent by the host, in response to the negotiation denial indication in response to the executor negotiation request.
- the description information of the above flow control capability is used to describe The version of the flow control policy that the virtual machine supports is executed. Therefore, the determining, by the host, whether the virtual machine supports the current latest version or the preset version of the traffic control policy according to the description of the traffic control capability may include: comparing the traffic control capability.
- the description information describes whether the version of the flow control policy supported by the virtual machine is the same as the current latest version or the preset version of the flow control policy. If yes, it may be determined that the virtual machine supports executing the current latest version or the preset version. The flow control policy; if not, it can be determined that the virtual machine does not support the current latest version or the preset version of the flow control policy.
- the determining, by the host, whether the virtual machine supports the current latest version or the preset version of the traffic control policy according to the description of the traffic control capability may include: comparing the description information of the traffic control capability to describe that the virtual machine supports execution. Whether each version of the k (in which k is a positive integer) version of the flow control policy is the same as the current latest version or the preset version of the flow control policy, if one of the above k versions is compared If the current version or the preset version of the flow control policy is the same, it can be determined that the virtual machine supports the current latest version or the preset version of the flow control policy; if any one of the above k versions is compared with the flow control If the current version or the preset version of the policy is different, it may be determined that the virtual machine does not support the current latest version or the preset version of the flow control policy.
- the virtual machine may perform forwarding processing on the packet to be forwarded based on the traffic control policy.
- the virtual machine sends the packet to be forwarded to the host, so that the host receives the received packet according to the traffic control policy. Perform forwarding processing.
- the traffic control policy mentioned in this embodiment may be, for example, a quality of service based traffic control policy and/or an access control list based traffic control policy.
- the traffic control policy may also be a traffic control policy that refers to other factors.
- the QoS-based traffic control policy is based on the service priority of the packet to be forwarded to determine the specific forwarding processing mode of the packet.
- the specific forwarding processing mode may be delayed sending of packets or delayed transmission. Packets or discarded packets, etc.). For example, if there are multiple packets to be forwarded in the current cache, the packet transmission delay with the higher priority of the corresponding service may be shorter. The delay in sending packets with the lower priority of the corresponding service may be longer, and even the quality of the guaranteed high priority service can be discarded. That is, the forwarding of the packet to be forwarded by the QoS-based traffic control policy may include: forwarding the packet to be forwarded according to the forwarding processing mode corresponding to the service priority of the packet to be forwarded.
- the traffic control policy based on the ACL is mainly based on whether the information carried in the packet to be forwarded and the record included in the ACL are matched to determine the specific forwarding processing mode of the packet.
- the access control list is a restricted access control list (like a blacklist), a source/destination address of the packet to be forwarded, an application layer protocol type, a transport layer protocol type, and/or a specific keyword included in the header. If the information in the ACL is matched, the forwarding processing of the packet to be forwarded may be directly discarded. Otherwise, the source/destination address of the packet to be forwarded and the application layer protocol.
- the forwarding processing of the packet to be forwarded may be forwarded.
- the access control list is an access control list (like a whitelist)
- the source/destination address, the application layer protocol type, the transport layer protocol type, and/or the packet header of the packet to be forwarded are included.
- the forwarding processing of the packet to be forwarded may be directly discarded, and the source/destination address of the packet to be forwarded is
- the information of the application layer protocol type, the transport layer protocol type, and/or the keyword included in the packet header may be forwarded by the forwarding control packet if the ACL is matched. The message. Other cases and so on.
- the foregoing negotiation confirmation indication includes the foregoing flow control policy; and the forwarding, by the virtual machine, the packet to be forwarded based on the traffic control policy, includes: the virtual machine is configured to use the traffic included in the negotiation confirmation indication.
- the control policy forwards the packet processed by the forwarding process.
- the Host can also pass the traffic control policy to the virtual machine in other manners, so that the virtual machine can report the forwarding process based on the traffic control policy transmitted by the Host after determining that the negotiated flow control policy executor is the virtual machine.
- the text is forwarded.
- the flow control policy may be pre-configured in the virtual machine, and when the virtual machine determines that the negotiated flow control policy is executed by the above-mentioned The virtual machine forwards the processed packet based on the pre-configured traffic control policy.
- the executing, by the virtual machine, the execution party negotiation request that carries the description information of the traffic control capability of the virtual machine to the host includes: the virtual machine receives the negotiation initiation request initiated by the user state process (ie, the user may After the state application or the user command is triggered, the executor negotiation request for carrying the description information of the flow control capability of the virtual machine is sent to the host; or the virtual machine may send the bearer to the host after receiving the negotiation start request from the host.
- the executor of the description information of the flow control capability of the virtual machine negotiates a request.
- the virtual machine may also send an executor negotiation request carrying the description information of the flow control capability of the virtual machine to the host autonomously or under the trigger of other conditions.
- the virtual machine may be deployed on the preloaded client, and the host may be deployed on the preloaded server.
- the preloaded client and the preloaded server may be based on the flow control capability of the virtual machine.
- the executor of the traffic control policy is negotiated between the virtual machine and the host.
- the execution of the traffic control policy based on the virtual machine's traffic control capability between the virtual machine and the host may include: a preloaded client deployed in the virtual machine and a preloaded server deployed in the host.
- the preloading client negotiates the execution of the flow control policy between the virtual machine and the host based on the established connection and the preloading server based on the flow control capability of the virtual machine.
- the preloading client after determining that the negotiated flow control policy executor is the virtual machine, sends a heartbeat message to the preloading server based on the connection periodically.
- One of the purposes of sending a heartbeat message is to notify the host that the virtual machine is working normally. If the host does not receive the heartbeat message from the virtual machine within the set duration, the host may default to the virtual machine may be faulty. For example, after determining that the executor of the negotiated flow control policy is the virtual machine, if the host does not receive the heartbeat message from the virtual machine within the set duration, the Host may switch the executor of the flow control policy to the foregoing.
- the host (that is, whether the virtual machine forwards the processed packet based on the traffic control policy, the host also forwards the packet from the virtual machine based on the traffic control policy, because the traffic control policy is executed in the host and the virtual machine.
- the final packet output is basically the same, and may or may not send the flow control to the virtual machine.
- the executor of the policy switches to the indication message of the above Host.
- the preloaded client may also send an indication to the preloading server when the virtual machine performs a flow control policy failure.
- the virtual machine performs the indication message of the flow control policy failure, and the host receives the indication message from the virtual machine to indicate that the virtual machine performs the flow control policy failure after determining that the executed execution of the flow control policy is the virtual machine.
- the above Host can switch the executor of the flow control policy to the above Host.
- the preloaded server may also send the queried virtual machine to the preloaded client periodically or aperiodically. If the flow control policy is normal, the status query message does not receive the status indication message from the virtual machine for responding to the status query message within the set duration, or receives the virtual machine from the virtual machine to indicate the virtual machine execution flow.
- An indication message for controlling a policy failure may determine that the virtual machine performs a flow control policy failure.
- the preloaded server can also monitor whether the virtual machine performs a flow control policy failure by other means. If it is determined that the virtual machine performs a flow control policy failure, Host can switch the executor of the flow control policy to the above Host.
- the execution of the flow control policy is negotiated between the virtual machine and the host based on the flow control capability of the virtual machine; and if the executed flow control policy execution party is determined to be the virtual machine, The virtual machine forwards the packet to be forwarded based on the traffic control policy. If the executor of the negotiated traffic control policy is the host, the virtual machine sends the packet to be forwarded to the host.
- the foregoing Host performs forwarding processing on the received packet according to the foregoing traffic control policy.
- the virtual machine and the host have the opportunity to become the flow control policy executor, which makes it possible to implement the virtual machine flow control policy, which is beneficial as early as possible.
- the flow control of the packet flow is beneficial to reduce invalid processing and reduce the occupation of bandwidth and host address space by invalid packet traffic. It can be seen that the foregoing solution is beneficial to reduce the occupation of the packet address in the outbound direction of the virtual machine. And because the flow control strategy executor is determined through negotiation, it is beneficial to improve the reliability of the flow control strategy execution.
- another packet flow control method includes: performing, according to a virtual machine-based flow control capability, an execution party of the flow control policy between the virtual machine and the host;
- the ACL executor is the host, and after receiving the packet from the virtual machine, the host forwards the received packet based on the traffic control policy.
- FIG. 4-a is a schematic flowchart diagram of another packet flow control method according to another embodiment of the present invention.
- another packet flow control method provided by another embodiment of the present invention may include the following content:
- the virtual machine-based traffic control capability negotiates a flow control policy executor between the virtual machine and the host.
- the Host and the virtual machine can negotiate the execution of the traffic control policy between the virtual machine and the Host based on the traffic control capability of the virtual machine in multiple manners.
- the host host and the virtual machine negotiate the flow control policy between the virtual machine and the host based on the traffic control capability of the virtual machine, and may include: the host receives the traffic that is sent by the virtual machine and carries the virtual machine. If the host determines that the virtual machine supports the execution of the flow control policy according to the description information of the flow control capability, the host sends a negotiation confirmation indication to the virtual machine, where the negotiation confirmation indication is used to indicate the negotiation. And executing the flow control policy executor is the virtual machine; and/or, if the host determines, according to the description information of the traffic control capability, that the virtual machine does not support the execution of the traffic control policy, sending a negotiation denial indication to the virtual machine, where the negotiation is performed. The denial indication is used to indicate that the negotiated flow control policy executor is the above Host.
- the host host and the virtual machine negotiate the flow control policy between the virtual machine and the host based on the traffic control capability of the virtual machine, and may include: the host receiving the virtual machine and carrying the virtual machine.
- the execution party negotiation request of the flow control capability description information where the description information of the flow control capability is used to describe a version of the flow control policy supported by the virtual machine; if the host determines the foregoing according to the description information of the flow control capability
- the virtual machine supports the current latest version or the preset version of the traffic control policy, and then sends the negotiation to the virtual machine.
- the foregoing confirmation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or if the Hos according to the description information of the traffic control capability determines that the virtual machine does not support executing the current latest version. Or the default version of the traffic control policy sends a negotiation denial indication to the virtual machine, where the negotiation denial indication is used to indicate that the negotiated flow control policy executor is the foregoing Host.
- the Host forwards the received packet according to the traffic control policy.
- the virtual machine may perform forwarding processing on the packet to be forwarded based on the traffic control policy.
- the traffic control policy mentioned in this embodiment may be, for example, a quality of service based traffic control policy and/or an access control list based traffic control policy.
- the traffic control policy may also be a traffic control policy that refers to other factors.
- the QoS-based traffic control policy is based on the service priority of the packet to be forwarded to determine the specific forwarding processing mode of the packet.
- the specific forwarding processing mode may be delayed sending of packets or delayed transmission. Packets or discarded packets, etc.). For example, if there are multiple packets to be forwarded in the current cache, the packet transmission delay with the higher priority of the corresponding service may be shorter or even no delay. The lower the packet priority of the corresponding service, the longer the packet transmission delay may be. It is even possible to discard the quality of service guaranteed for high priority services. That is, the forwarding of the packet to be forwarded by the QoS-based traffic control policy may include: forwarding the packet to be forwarded according to the forwarding processing mode corresponding to the service priority of the packet to be forwarded.
- the traffic control policy based on the ACL is mainly based on whether the information carried in the packet to be forwarded and the record included in the ACL are matched to determine the specific forwarding processing mode of the packet.
- the access control list is restricted access control list (like blacklist), for to be forwarded If the source/destination address of the packet, the application layer protocol type, the transport layer protocol type, and/or the specific keyword included in the packet header are processed, if there is a record matching the access control list, the candidate
- the forwarding processing of the forwarding processing packet may be directly discarding, and vice versa, the source/destination address of the packet to be forwarded, the application layer protocol type, the transport layer protocol type, and/or the keyword included in the packet header.
- the forwarding process of the packet to be forwarded may be forwarded.
- the access control list is an access control list (like a whitelist)
- the source/destination address, the application layer protocol type, the transport layer protocol type, and/or the packet header of the packet to be forwarded are included.
- the specific keyword and the like if the access control list does not have a matching record, the forwarding processing of the packet to be forwarded may be directly discarded, and the source/destination address of the packet to be forwarded is The information of the application layer protocol type, the transport layer protocol type, and/or the keyword included in the packet header may be forwarded by the forwarding control packet if the ACL is matched. The message. Other cases and so on.
- the foregoing negotiation confirmation indication includes the foregoing flow control policy; and the forwarding, by the virtual machine, the packet to be forwarded based on the flow control policy includes: the flow control included in the virtual machine based on the negotiation confirmation indication The policy forwards the processed packet to be forwarded.
- the Host can also pass the traffic control policy to the virtual machine in other manners, so that the virtual machine can report the forwarding process based on the traffic control policy transmitted by the Host after determining that the negotiated flow control policy executor is the virtual machine.
- the text is forwarded.
- the traffic control policy may be pre-configured in the virtual machine.
- the virtual machine forwards the packet to be forwarded based on the pre-configured traffic control policy. deal with.
- the virtual machine may be deployed on the preloaded client, and the host may be deployed on the preloaded server.
- the preloaded client and the preloaded server may be based on the flow control capability of the virtual machine.
- the executor of the traffic control policy is negotiated between the virtual machine and the host.
- the execution of the flow control policy between the virtual machine and the host based on the traffic control capability of the virtual machine and the host host may include: the preloaded server deployed in the host and deployed in the virtual machine.
- the above preloaded server is based on the established connection and The preloading client negotiates the execution of the traffic control policy between the virtual machine and the Host based on the traffic control capability of the virtual machine.
- the preloading client may periodically send a heartbeat message to the preloading server based on the connection.
- One of the purposes of sending a heartbeat message is to notify the host that the virtual machine is working normally. If the host does not receive the heartbeat message from the virtual machine within the set time, the host can assume that the virtual machine may be faulty. For example, after determining that the executor of the negotiated flow control policy is the virtual machine, if the host does not receive the heartbeat message from the virtual machine within the set duration, the Host may execute the flow control policy.
- the switch is forwarded to the host (that is, whether the virtual machine performs forwarding processing based on the traffic control policy to forward the packet, and the host also forwards the packet from the virtual machine based on the traffic control policy, which is executed by the host and the virtual machine.
- the traffic control policy is the same. Therefore, for the same packet flow, if the host and/or the virtual machine executes the traffic control policy, the final packet output is basically the same, the indication may be sent to the virtual machine.
- the executor of the flow control policy switches to the indication message of the above Host.
- the host and the virtual machine negotiate the flow control policy execution party between the virtual machine and the host based on the flow control capability of the virtual machine; and if the host determines the negotiated flow control policy execution After the host receives the packet from the virtual machine, the host forwards the received packet based on the traffic control policy.
- the virtual machine and the host have the opportunity to become the traffic control policy executor, which makes it possible to implement the virtual machine flow control policy, which is beneficial as early as possible.
- the flow control of the packet flow is beneficial to reduce invalid processing and reduce the occupation of bandwidth and host address space by invalid packet traffic.
- the virtual machine when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy.
- the embodiment of the invention further provides a packet flow control method, which may include: virtual machine based traffic Controlling, the executor of the flow control policy is negotiated between the host Host and the virtual machine; if the negotiated flow control policy executor is the virtual machine, the virtual machine is based on the flow control policy The packet to be forwarded is forwarded to the host; if the executor of the negotiated flow control policy is the host, the packet to be forwarded by the virtual machine is sent to the host; The packet received by the host to be forwarded is forwarded.
- a packet flow control method may include: virtual machine based traffic Controlling, the executor of the flow control policy is negotiated between the host Host and the virtual machine; if the negotiated flow control policy executor is the virtual machine, the virtual machine is based on the flow control policy The packet to be forwarded is forwarded to the host; if the executor of the negotiated flow control policy is the host, the packet to be forwarded by the virtual machine is sent to the host; The packet received by the host to be for
- the virtual machine-based flow control capability, the execution party that negotiates the flow control policy between the host host and the virtual machine includes:
- the host After the host receives the executor negotiation request, if the virtual machine supports the execution of the flow control policy according to the description information of the flow control capability, the host sends the host to the virtual machine to the virtual machine.
- the negotiation confirmation indication sent by the machine where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or, if the virtual machine is determined according to the description information of the flow control capability If the flow control policy is not supported, the negotiation is performed to send the negotiation denied indication sent by the host to the virtual machine, where the negotiation denial indication is used to indicate that the negotiated flow control policy executor is the Host;
- the virtual machine-based flow control capability, the execution party of the flow control policy negotiated between the host host and the virtual machine includes:
- the host After the host receives the executor negotiation request, if it is determined according to the description information of the traffic control capability that the virtual machine supports the current latest version or the preset version of the traffic control policy, the virtual machine is sent to the virtual machine. Sending, by the host, a negotiation confirmation indication to be sent to the virtual machine, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or according to the description of the flow control capability Determining that the virtual machine does not support the flow control policy of the current latest version or the preset version, and sends a negotiation denial indication sent by the host to the virtual machine to the virtual machine, where the negotiation denial indication is Used to indicate the negotiated flow control policy
- the execution is the Host.
- the negotiation confirmation indication includes the flow control policy, where the forwarding the packet to be forwarded by the virtual machine based on the flow control policy includes: The traffic control policy included in the negotiation confirmation instruction forwards the packet to be forwarded by the virtual machine.
- the virtual The device sends an indication message that is sent by the host to the virtual machine to indicate that the executor of the traffic control policy switches to the host.
- the traffic control policy based on the foregoing processor for processing the packet to be forwarded in the foregoing embodiment may be, for example, a quality of service based traffic control policy and/or a traffic control policy based on an access control list, and of course, the traffic control policy However, refer to the flow control strategy of other factors.
- the QoS-based traffic control policy is based on the service priority of the packet to be forwarded to determine the specific forwarding processing mode of the packet.
- the specific forwarding processing mode may be delayed sending of packets or delayed transmission. Packets or discarded packets, etc.). For example, if there are multiple packets to be forwarded in the current cache, the packet transmission delay with the higher priority of the corresponding service may be shorter or even no delay. The lower the packet priority of the corresponding service, the longer the packet transmission delay may be. It is even possible to discard the quality of service guaranteed for high priority services. That is, the forwarding of the packet to be forwarded by the QoS-based traffic control policy may include: forwarding the packet to be forwarded according to the forwarding processing mode corresponding to the service priority of the packet to be forwarded.
- the traffic control policy based on the ACL is mainly based on whether the information carried in the packet to be forwarded and the record included in the ACL are matched to determine the specific forwarding processing mode of the packet.
- the access control list is a restricted access control list (like a blacklist), a source/destination address of the packet to be forwarded, an application layer protocol type, a transport layer protocol type, and/or a specific keyword included in the header. If the information in the ACL is matched, the forwarding processing of the packet to be forwarded may be directly discarded. Otherwise, the source/destination address of the packet to be forwarded and the application layer protocol. Information such as the type, the transport layer protocol type, and/or the keyword included in the packet header.
- the forwarding processing mode may be forwarding the packet.
- the access control list is an access control list (like a whitelist)
- the source/destination address, the application layer protocol type, the transport layer protocol type, and/or the packet header of the packet to be forwarded are included.
- the specific keyword and the like if the access control list does not have a matching record, the forwarding processing of the packet to be forwarded may be directly discarded, and the source/destination address of the packet to be forwarded is
- the information of the application layer protocol type, the transport layer protocol type, and/or the keyword included in the packet header may be forwarded by the forwarding control packet if the ACL is matched. The message. Other cases and so on.
- the sending, by the host, the execution party negotiation request sent by the virtual machine to the host includes: sending, after the virtual machine receives the negotiation initiation request initiated by the user state process, to the host After the virtual machine receives the negotiation start request from the host, the virtual machine sends the execution of the virtual machine to be sent to the host after the virtual machine receives the negotiation start request from the host. Party negotiation request.
- the execution of the flow control policy between the host Host and the virtual machine includes: preloading the client and deploying in the virtual machine. After the connection establishment between the preloaded servers in the Host is completed, the execution of the flow control policy is negotiated between the host Host and the virtual machine through the established connection and the virtual machine based flow control capability.
- FIG. 4-b is a schematic flowchart of another packet flow control method according to another embodiment of the present invention.
- another packet flow control method provided by another embodiment of the present invention may include the following content:
- the processor negotiates a flow control policy execution party between the host host and the virtual machine based on the flow control capability of the virtual machine.
- the processor is based on s403. If the executor of the negotiated flow control policy is the host, the processor sends the virtual machine to be forwarded and processed. The text is sent to the above Host; the above processor is based on the above traffic control policy The foregoing processing of the packet to be forwarded received by the host is forwarded.
- the foregoing processor based on the flow control capability of the virtual machine, negotiates the execution of the flow control policy between the host host and the virtual machine, and may include:
- the foregoing processor is configured to perform, according to the flow control capability of the virtual machine, the execution of the flow control policy between the host host and the virtual machine, and the processor sends the execution negotiation request sent by the virtual machine to the host to the host.
- the execution party negotiation request carries the description information of the flow control capability of the virtual machine;
- the processor After the foregoing host receives the foregoing executor negotiation request, if the processor determines that the virtual machine supports the execution of the flow control policy according to the description information of the traffic control capability, the processor sends the host to the virtual machine to the virtual machine. a negotiation confirmation indication sent, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or, the processor determines that the virtual machine is not based on the description information of the traffic control capability. Supporting the execution of the flow control policy, the processor sends the negotiation denial indication sent by the host to the virtual machine to the virtual machine, where the negotiation denial indication is used to indicate that the negotiated flow control policy executor is the host;
- the foregoing processor is configured to perform, according to the flow control capability of the virtual machine, the execution of the flow control policy between the host host and the virtual machine, and the processor sends the execution negotiation request sent by the virtual machine to the host to the host.
- the execution party negotiation request carries the description information of the flow control capability of the virtual machine, and the description information of the flow control capability is used to describe a version of the flow control policy supported by the virtual machine;
- the processor After the foregoing host receives the foregoing execution party negotiation request, if the processor determines, according to the description information of the traffic control capability, that the virtual machine supports the current latest version or the preset version of the flow control policy, the processor sends the virtual control policy to the virtual
- the device sends a negotiation confirmation indication that is sent by the host to the virtual machine, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or the processor is configured according to the description of the flow control capability.
- the processor sends the negotiation denial indication sent by the host to the virtual machine to the virtual machine, where the negotiation denial indication is used to indicate
- the negotiated flow control policy executor is the above Host.
- the foregoing negotiation confirmation indication includes the foregoing flow control policy.
- the process of forwarding, by the processor, the packet to be forwarded by the virtual machine based on the traffic control policy includes: the processor is configured to use the traffic control included in the negotiation confirmation indication, and the host may also control the traffic by using other methods.
- the policy is delivered to the virtual machine, so that after determining that the negotiated flow control policy executor is the virtual machine, the processor forwards the packet to be forwarded by the virtual machine based on the traffic control policy transmitted by the host.
- the flow control policy may be pre-configured in the virtual machine, and when the executed flow control policy executor is determined to be the virtual machine, the processor performs the packet to be forwarded and processed by the virtual machine based on the pre-configured flow control policy. Forward processing.
- the processor goes to the virtual The device sends an indication message that is sent by the host to the virtual machine to indicate that the executor of the traffic control policy switches to the foregoing Host.
- the traffic control policy is a quality of service based traffic control policy and/or a traffic control policy based on an access control list.
- the sending, by the processor, the executor negotiation request sent by the virtual machine to the host to the host may include:
- the processor After the virtual machine receives the negotiation start request initiated by the user state process, the processor sends an execution party negotiation request sent by the virtual machine to the host to the host; or, the virtual machine receives the negotiation start from the host. After the request, the processor sends an execution party negotiation request sent by the virtual machine to the host to the host.
- the traffic control policy based on the foregoing processor for processing the packet to be forwarded in the foregoing embodiment may be, for example, a quality of service based traffic control policy and/or a traffic control policy based on an access control list, and of course, the traffic control policy However, refer to the flow control strategy of other factors.
- the QoS-based traffic control policy is based on the service priority of the packet to be forwarded to determine the specific forwarding processing mode of the packet.
- the specific forwarding processing mode may be delayed sending of packets or delayed transmission. Packets or discarded packets, etc.). For example, if there are multiple packets to be forwarded in the current cache, the packet transmission delay with the higher priority of the corresponding service may be shorter. The delay in sending packets with the lower priority of the corresponding service may be longer, and even the quality of the guaranteed high priority service can be discarded. That is, the forwarding of the packet to be forwarded by the QoS-based traffic control policy may include: forwarding the packet to be forwarded according to the forwarding processing mode corresponding to the service priority of the packet to be forwarded.
- the traffic control policy based on the ACL is mainly based on whether the information carried in the packet to be forwarded and the record included in the ACL are matched to determine the specific forwarding processing mode of the packet.
- the access control list is a restricted access control list (like a blacklist), a source/destination address of the packet to be forwarded, an application layer protocol type, a transport layer protocol type, and/or a specific keyword included in the header. If the information in the ACL is matched, the forwarding processing of the packet to be forwarded may be directly discarded. Otherwise, the source/destination address of the packet to be forwarded and the application layer protocol.
- the forwarding processing of the packet to be forwarded may be forwarded.
- the access control list is an access control list (like a whitelist)
- the source/destination address, the application layer protocol type, the transport layer protocol type, and/or the packet header of the packet to be forwarded are included.
- the forwarding processing of the packet to be forwarded may be directly discarded, and the source/destination address of the packet to be forwarded is
- the information of the application layer protocol type, the transport layer protocol type, and/or the keyword included in the packet header may be forwarded by the forwarding control packet if the ACL is matched. The message. Other cases and so on.
- the virtual machine-based flow control capability, the execution party of the traffic control policy is negotiated between the host host and the virtual machine, and may include: a preloaded client deployed in the virtual machine After the connection between the pre-loaded server deployed in the Host is completed, the processor negotiates a flow control policy between the host Host and the virtual machine based on the established connection and the flow control capability of the virtual machine. Execution.
- the virtual machine and the host host negotiate the execution of the flow control policy between the virtual machine and the host based on the flow control capability of the virtual machine;
- the virtual machine determines that the negotiated flow control policy executor is the above virtual machine, The virtual machine forwards the packet to be forwarded based on the traffic control policy; if the virtual machine determines that the executor of the negotiated traffic control policy is the host, the virtual machine sends the packet to be forwarded to the foregoing Host, so that the foregoing Host performs forwarding processing on the received packet based on the foregoing traffic control policy.
- the virtual machine and the host have the opportunity to become the flow control policy executor, which makes it possible to implement the virtual machine flow control policy, which is beneficial to the end. It is possible to perform traffic control on the packet flow earlier, which is beneficial to reduce invalid processing and reduce the occupation of bandwidth and host address space by invalid packet traffic. It can be seen that the foregoing solution is beneficial for reducing the occupation of the packet address in the outbound direction of the virtual machine to the host address space. And because the flow control strategy executor is determined through negotiation, it is beneficial to improve the reliability of the flow control strategy execution.
- the virtual machine when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic In order to facilitate a better understanding and implementation of the above aspects of the embodiments of the present invention, the following is exemplified by some specific examples.
- FIG. 5-a is a schematic flowchart of another packet flow control method according to another embodiment of the present invention.
- FIG. 5-b is a schematic structural diagram of a computing node that can be used to implement the flow control method shown in FIG. 5-a according to an embodiment of the present invention.
- Figure 5-b shows a specific internal logical architecture of Host and virtual machine deployed in the compute node.
- Host and virtual machine can also have other internal logical architectures as shown in Figure 5-b.
- the flow control method is mainly described as an example in the architecture shown in FIG. 5-b.
- another packet flow control method provided by another embodiment of the present invention may include the following content:
- the preloaded client deployed in the VM-m (English: preload client) establishes a connection with the preloaded server (English: preload server) deployed in the host. Wherein the connection transmits a control protocol connection or other type of communication connection.
- the existing communication connection between the preload client deployed in the virtual machine VM-m and the preload server deployed in the host may be directly communicated, and step 501 may be omitted. 502.
- the preload client deployed in the virtual machine VM-m receives the negotiation start request sent by the preload server deployed in the host.
- the preload client deployed in the virtual machine VM-m sends an executive negotiation request that carries the description information of the flow control capability of the virtual machine VM-m to the preload server deployed in the host.
- the preload server deployed in the host sends a negotiation start request to the preload client deployed in the VM-m.
- the main purpose is to trigger the preload client deployed in the VM-m to initiate the negotiation flow control policy.
- the preload client deployed in the virtual machine VM-m may also be triggered by other conditions (for example, receiving a negotiation start request initiated by the user state process (ie, may be triggered by a user mode application or a user instruction)) Initiate a negotiation flow control policy executor. If the preload client deployed in the virtual machine VM-m initiates the negotiation of the flow control policy executor, step 502 may be omitted.
- the preload server deployed in the host receives the executor negotiation request that carries the description information of the traffic control capability of the virtual machine VM-m, where the description information of the traffic control capability carried in the executor negotiation request is used to indicate the virtual machine. Whether the VM-m supports the execution of the traffic control policy. Therefore, the preload server deployed in the host can determine the virtual machine according to the description of the traffic control capability.
- VM-m supports the execution of traffic control policies.
- the preload server deployed in the Host is used as an example to determine that the VM-m supports the execution of the traffic control policy. Therefore, the preload server deployed in the host may send a negotiation confirmation indication to the preload client deployed in the virtual machine VM-m, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine VM-m, The traffic control policy may be carried in the negotiation confirmation indication.
- the preload server deployed in the Host also notifies the preloaded kernel deployed in the Host (English: preload kernel) that the flow control policy is not executed.
- the preload client deployed in the virtual machine VM-m determines that the negotiated flow control policy executor is the virtual machine VM-m. Therefore, the virtual machine VM-m The pre-loaded client sends the traffic control policy carried in the negotiation confirmation indication to the FE corresponding to the network card deployed in the virtual machine VM-m to notify the FE corresponding to the network card deployed in the virtual machine VM-m to execute the traffic control policy.
- the execution of the traffic control policy is negotiated between the preload client deployed in the virtual machine VM-m and the preload server deployed in the host by performing steps 503-505. 506.
- the FE corresponding to the network card deployed in the VM-m is forwarded according to the received traffic control policy, and the packet to be forwarded processed by the user-mode application deployed in the virtual machine VM-m is forwarded. deal with.
- the traffic control policy is a service quality based traffic control policy or an access control list based traffic control policy.
- the QoS-based traffic control policy is based on the service priority of the packet to be forwarded to determine the specific forwarding processing mode of the packet.
- the specific forwarding processing mode may be delayed sending of packets or delayed transmission. Packets or discarded packets, etc.). For example, if there are multiple packets to be forwarded in the current cache, the packet transmission delay with the higher priority of the corresponding service may be shorter or even no delay. The lower the packet priority of the corresponding service, the longer the packet transmission delay may be. It is even possible to discard the quality of service guaranteed for high priority services.
- the traffic control policy based on the ACL is mainly based on whether the information carried in the packet to be forwarded and the record included in the ACL are matched to determine the specific forwarding processing mode of the packet.
- the access control list is a restricted access control list (like a blacklist), a source/destination address of the packet to be forwarded, an application layer protocol type, a transport layer protocol type, and/or a specific keyword included in the header. If the information in the ACL is matched, the forwarding processing of the packet to be forwarded may be directly discarded. Otherwise, the source/destination address of the packet to be forwarded and the application layer protocol.
- the forwarding processing of the packet to be forwarded may be forwarded.
- the access control list is an access control list (like a whitelist)
- the source/destination address, the application layer protocol type, the transport layer protocol type, and/or the packet header of the packet to be forwarded are included.
- the information about the specific keyword and the like, if the access control list does not have a matching record, the forwarding processing of the packet to be forwarded may be directly discarded.
- the forwarding processing manner of the packet to be forwarded may be forwarding the packet. Other cases and so on.
- the FE corresponding to the NIC deployed in the VM-m virtual machine is based on the traffic control policy.
- the FE corresponding to the NIC deployed in the virtual machine VM-m discards the packet to be forwarded from the user-mode application deployed in the VM-m; or the FE corresponding to the NIC deployed in the VM-m.
- the delay (the degree of delay may be related to the service priority of the packet to be forwarded and the number of packets to be forwarded) is sent from the user mode application deployed in the VM-m to be forwarded; or the virtual machine
- the FE corresponding to the NIC deployed in the VM-m sends the packets to be forwarded from the user-mode application deployed in the VM-m without delay.
- the other methods are not listed here.
- the BE corresponding to the NIC deployed in the host receives the FE from the NIC deployed in the VM-m, it forwards the received packet to the preload kernel deployed in the host.
- the preload kernel deployed in the host does not need to implement the traffic control policy. Therefore, the preload kernel deployed in the host can directly forward the received packets to the NIC through the NIC driver. The NIC forwards the received packets accordingly.
- the preload client may periodically send a heartbeat message to the preload server based on the connection.
- the purpose of sending the heartbeat message is to notify the preload server that the virtual machine VM-m is working normally. If the preload server does not receive the heartbeat message from the preload client within the set duration, the preload server may default. There may be a failure for VM-m. For example, after the preload server determines that the executor of the negotiated flow control policy is the virtual machine VM-m, if the heartbeat message from the preload client is not received within the set duration, the preload server may use the traffic control policy.
- the executor switches to the above Host (that is, whether the FE corresponding to the NIC deployed in the VM-m is forwarded based on the traffic control policy, and the preload kernel is based on the traffic control policy.
- the packet of the VM-m is forwarded.
- the host and the VM-m perform the same traffic control policy. Therefore, if the same packet flows, the preload kernel and/or the VM-m are deployed.
- the FE corresponding to the NIC performs the same flow control policy, and the output of the final message of the preload kernel is basically the same.
- the indication message that the executor of the flow control policy is switched to the host may be sent to the preload client.
- the preload client may also be the FE corresponding to the NIC deployed in the virtual machine VM-m.
- the flow control policy is faulty
- an indication message for instructing the virtual machine VM-m to perform a flow control policy failure is sent to the preload server.
- the preload server after determining that the executor of the negotiated flow control policy is the virtual machine, if receiving an indication message from the preload client for instructing the virtual machine VM-m to perform a flow control policy failure, the preload server
- the executor of the flow control policy can be switched to Host, and the preload server can notify the preload kernel to execute the flow control policy.
- the preload server may also send the query to the preload client periodically or aperiodically.
- the virtual machine VM-m performs a status query message indicating whether the flow control policy is normal, and does not receive the status indication message from the preload client for responding to the status query message within the set duration, or receives the message from the preload client.
- Instructing the virtual machine VM-m to perform a flow control policy failure may determine that the virtual machine VM-m performs a flow control policy failure.
- the preload server can also monitor whether the VM-m execution flow control policy is faulty by other means. If the virtual machine VM-m performs a flow control policy failure, the preload server may switch the executor of the flow control policy to the host, and the preload server may notify the preload kernel to execute the flow control policy.
- the preload kernel After being notified of the execution of the flow control policy, the preload kernel forwards the to-be-processed processing packet from the virtual machine VM-m based on the foregoing flow control policy.
- FIG. 5-c is a schematic diagram of a flow control effect provided by an embodiment of the present invention
- FIG. 5-c shows a large bandwidth packet traffic from a user mode application in the virtual machine VM-m.
- the bandwidth of the packet traffic becomes smaller. It can be seen that the traffic control is reduced as early as possible to reduce resource consumption.
- the mechanism for the virtual machine and the host to negotiate the flow control policy executor is introduced, so that both the virtual machine and the host have the opportunity to become the flow control policy executor, which enables the virtual machine flow control policy to be executed.
- This becomes possible which is beneficial to the flow control of the packet flow as early as possible, which is beneficial to reduce invalid processing and reduce the occupation of bandwidth and host address space by invalid packet traffic.
- the foregoing solution is beneficial for reducing the occupation of the packet address in the outbound direction of the virtual machine to the host address space.
- the flow control policy executor is determined through negotiation, it is beneficial to improve the reliability of the flow control policy execution.
- the virtual machine when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy.
- FIG. 6-a is a schematic flowchart diagram of another packet flow control method according to another embodiment of the present invention.
- FIG. 5-b is a schematic structural diagram of a computing node that can be used to implement the flow control method shown in FIG. 6 according to an embodiment of the present invention.
- Figure 5-b illustrates a specific internal logical architecture of the Host and virtual machines deployed in the compute nodes.
- the Host and the virtual machines can also have other internal logical architectures different from the one shown in Figure 5-b.
- the flow control method is mainly described in the architecture shown in FIG. 5-b as an example.
- another packet flow control method provided by another embodiment of the present invention may include the following content:
- the preload client deployed in the virtual machine VM-m establishes a connection with the preload server deployed in the host. Wherein the connection transmits a control protocol connection or other type of communication connection.
- step 601 may also be omitted.
- the preload client deployed in the virtual machine VM-m receives the negotiation start request sent by the preload server deployed in the host.
- the preload client deployed in the virtual machine VM-m sends an executive negotiation request that carries the description information of the flow control capability of the virtual machine VM-m to the preload server deployed in the host.
- the preload server deployed in the host sends a negotiation start request to the preload client deployed in the VM-m.
- the main purpose is to trigger the preload client deployed in the VM-m to initiate the negotiation flow control policy.
- the preload client deployed in the virtual machine VM-m may also be triggered by other conditions (for example, receiving a negotiation start request initiated by the user state process (ie, may be triggered by a user mode application or a user instruction)) Initiate a negotiation flow control policy executor. If the preload client deployed in the virtual machine VM-m initiates the negotiation of the flow control policy executor, step 602 may be omitted. 604.
- the preload server deployed in the host receives the executor negotiation request that carries the description information of the traffic control capability of the virtual machine VM-m, where the description information of the traffic control capability carried in the executor negotiation request is used to indicate the virtual machine. Whether the VM-m supports the execution of the traffic control policy, the preload server deployed in the host can determine whether the VM-m supports the traffic control policy according to the description of the traffic control capability.
- the preload server deployed in the host is used as an example to determine that the VM-m does not support the traffic control policy. Therefore, the preload server deployed in the host may send a negotiation denial indication to the preload client deployed in the virtual machine VM-m, where the negotiation denial indication is used to indicate that the negotiated flow control policy executor is the above Host. The preload server deployed in the Host also notifies the preload kernel deployed in the Host to execute the traffic control policy.
- the preload client deployed in the virtual machine VM-m receives the negotiation denial indication sent by the preload server deployed in the host, and determines that the negotiated flow control policy executor is the foregoing Host. Therefore, the preload deployed in the virtual machine VM-m The client notifies the FE corresponding to the NIC deployed in the VM-m to not perform the traffic control policy.
- the execution of the traffic control policy is negotiated between the preload client deployed in the virtual machine VM-m and the preload server deployed in the host by executing the steps 603 to 605.
- the FE corresponding to the NIC deployed in the VM-m forwards the packets to be forwarded from the user-mode application deployed in the VM-m.
- the FE corresponding to the NIC deployed in the VM-m does not control the forwarding of packets.
- the BE corresponding to the network card deployed in the host receives the FE packet corresponding to the network card deployed in the VM-m, the packet is forwarded to the preload kernel deployed in the host.
- the preload kernel forwards the received packet based on the traffic control policy.
- the traffic control policy is a service quality based traffic control policy or an access control list based traffic control policy.
- the QoS-based traffic control policy is based on the service priority of the packet to be forwarded to determine the specific forwarding processing mode of the packet.
- the specific forwarding processing mode may be delayed sending of packets or delayed transmission. Packets or discarded packets, etc.). For example, if there are multiple packets to be forwarded in the current cache, the packet transmission delay with the higher priority of the corresponding service may be shorter or even no delay. The lower the packet priority of the corresponding service, the longer the packet transmission delay may be. Can even discard the right The quality of service for high priority services is guaranteed.
- the traffic control policy based on the ACL is mainly based on whether the information carried in the packet to be forwarded and the record included in the ACL are matched to determine the specific forwarding processing mode of the packet.
- the access control list is a restricted access control list (like a blacklist), a source/destination address of the packet to be forwarded, an application layer protocol type, a transport layer protocol type, and/or a specific keyword included in the header. If the information in the ACL is matched, the forwarding processing of the packet to be forwarded may be directly discarded. Otherwise, the source/destination address of the packet to be forwarded and the application layer protocol.
- the forwarding processing of the packet to be forwarded may be forwarded.
- the access control list is an access control list (like a whitelist)
- the source/destination address, the application layer protocol type, the transport layer protocol type, and/or the packet header of the packet to be forwarded are included.
- the information about the specific keyword and the like, if the access control list does not have a matching record, the forwarding processing of the packet to be forwarded may be directly discarded.
- the forwarding processing manner of the packet to be forwarded may be forwarding the packet. Other cases and so on.
- the preloading of the packet to be forwarded by the preloading kernel based on the traffic control policy may include: preloading the kernel to discard the packet to be forwarded from the virtual machine VM-m; or, preloading the kernel There is a delay (the degree of delay may be related to the service priority of the packet to be forwarded and the number of packets to be forwarded), and the packet to be forwarded from the VM-m is sent; or the preload kernel is sent without delay.
- the packets to be forwarded by the VM-m are not listed here.
- the NIC If the NIC receives the packet sent by the preload kernel through the NIC driver, the NIC forwards the received packet accordingly.
- FIG. 6-b is another schematic diagram of the flow control effect provided by the embodiment of the present invention.
- FIG. 6-b shows that the user mode application in the virtual machine VM-m sends a large bandwidth to the traffic.
- the traffic controller corresponding to the NIC does not execute the traffic control policy
- the preload kernel in the host executes the traffic control policy. The bandwidth of the traffic is getting smaller.
- the mechanism for the virtual machine and the host to negotiate the flow control policy executor is introduced, so that both the virtual machine and the host have the opportunity to become the flow control policy executor, which enables the virtual machine flow control policy to be executed.
- This becomes possible which is beneficial to the flow control of the packet flow as early as possible, which is beneficial to reduce invalid processing and reduce the occupation of bandwidth and host address space by invalid packet traffic.
- the foregoing solution is beneficial to reduce the occupation of the packet address in the outbound direction of the virtual machine.
- the flow control policy executor is determined through negotiation, it is beneficial to improve the reliability of the flow control policy execution.
- the virtual machine when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy.
- FIG. 7 is a schematic flowchart diagram of another packet flow control method according to another embodiment of the present invention.
- FIG. 5-b is a schematic structural diagram of a computing node that can be used to implement the flow control method shown in FIG. 7 according to an embodiment of the present invention.
- Figure 7 illustrates a specific internal logical architecture of Hosts and virtual machines deployed in a compute node.
- Hosts and virtual machines may also have other internal logical architectures that differ from the examples in Figure 5-b.
- the flow control method is mainly described in the architecture shown in FIG. 5-b as an example.
- another packet flow control method provided by another embodiment of the present invention may include the following contents:
- the preload client deployed in the virtual machine VM-m establishes a connection with the preload server deployed in the host. Wherein the connection transmits a control protocol connection or other type of communication connection.
- step 501 may be omitted.
- the preload client deployed in the virtual machine VM-m receives the negotiation start request sent by the preload server deployed in the host.
- the preload client deployed in the virtual machine VM-m is deployed to the preload server in the host.
- An executor negotiation request that carries description information of the flow control capability of the virtual machine VM-m is transmitted.
- the preload server deployed in the host sends a negotiation start request to the preload client deployed in the virtual machine VM-m, and the main purpose is to trigger the preload client deployed in the virtual machine VM-m to initiate a negotiation flow control policy execution party.
- the preload client deployed in the virtual machine VM-m may also be triggered by other conditions (for example, receiving a negotiation start request initiated by the user state process (ie, may be triggered by a user mode application or a user instruction)) Initiate a negotiation flow control policy executor. If the preload client deployed in the virtual machine VM-m initiates the negotiation of the flow control policy executor, step 702 may be omitted.
- the preload server deployed in the host receives the executor negotiation request that carries the description information of the traffic control capability of the virtual machine VM-m, where the description information of the traffic control capability carried in the executor negotiation request is used to indicate the virtual machine.
- the VM-m supports the version of the traffic control policy. Therefore, the preload server deployed in the host can determine whether the VM-m supports the current version or the preset version of the traffic control based on the description of the traffic control capability. Strategy.
- the description information of the traffic control capability is used to describe the version of the traffic control policy supported by the virtual machine, and the preload server determines whether the virtual machine is based on the description information of the traffic control capability.
- the flow control policy that supports the current version or the preset version may include: comparing the description of the traffic control capability to describe whether the version of the traffic control policy supported by the virtual machine is current and the latest version of the traffic control policy or The preset version is the same. If yes, it can be determined that the virtual machine supports the current latest version or the preset version of the flow control policy; if not, it can be determined that the virtual machine does not support the current latest version or the preset version of the flow control policy. .
- the determining, by the preload server, whether the virtual machine supports the current latest version or the preset version of the traffic control policy according to the description of the traffic control capability may include: comparing the description of the traffic control capability to describe the virtual machine support. Whether each version of the k (positive integer) versions of the executed flow control policy is the same as the current latest version or the preset version of the flow control policy.
- the preload server deployed in the host is used as an example to determine that the VM-m supports the latest current version or the preset version of the traffic control policy. Therefore, the preload server deployed in the host may send a negotiation confirmation indication to the preload client deployed in the virtual machine VM-m, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine VM-m, The traffic confirmation policy of the current latest version or the preset version may be carried in the negotiation confirmation indication.
- the preload server deployed in the Host also notifies the preload kernel deployed in the Host not to execute the traffic control policy.
- the preload client deployed in the virtual machine VM-m determines that the negotiated flow control policy executor is the virtual machine VM-m. Therefore, the virtual machine VM-m The pre-loaded client sends the traffic control policy carried in the negotiation confirmation indication to the FE corresponding to the NIC deployed in the VM-m.
- the execution of the traffic control policy is negotiated between the preload client deployed in the virtual machine VM-m and the preload server deployed in the host by performing steps 703-705.
- the FE corresponding to the network card deployed in the virtual machine VM-m forwards the to-be-transferred packet sent by the user-mode application deployed in the VM-m based on the received traffic control policy. deal with.
- the traffic control policy is a service quality based traffic control policy or an access control list based traffic control policy.
- the QoS-based traffic control policy is based on the service priority of the packet to be forwarded to determine the specific forwarding processing mode of the packet.
- the specific forwarding processing mode may be delayed sending of packets or delayed transmission. Packets or discarded packets, etc.). For example, if there are multiple packets to be forwarded in the current cache, the packet transmission delay with the higher priority of the corresponding service may be shorter or even no delay. The lower the packet priority of the corresponding service, the longer the packet transmission delay may be. It is even possible to discard the quality of service guaranteed for high priority services.
- the traffic control policy based on the ACL is mainly based on whether the information carried in the packet to be forwarded and the record included in the ACL are matched to determine the specific forwarding processing mode of the packet.
- the access control list is restricted access control list (like blacklist), for to be forwarded If the source/destination address of the packet, the application layer protocol type, the transport layer protocol type, and/or the specific keyword included in the packet header are processed, if there is a record matching the access control list, the candidate
- the forwarding processing of the forwarding processing packet may be directly discarding, and vice versa, the source/destination address of the packet to be forwarded, the application layer protocol type, the transport layer protocol type, and/or the keyword included in the packet header.
- the forwarding process of the packet to be forwarded may be forwarded.
- the access control list is an access control list (like a whitelist)
- the source/destination address, the application layer protocol type, the transport layer protocol type, and/or the packet header of the packet to be forwarded are included.
- the information about the specific keyword and the like, if the access control list does not have a matching record, the forwarding processing of the packet to be forwarded may be directly discarded.
- the forwarding processing manner of the packet to be forwarded may be forwarding the packet. Other cases and so on.
- the FE corresponding to the network card deployed in the virtual machine VM-m discards the FE corresponding to the network card deployed in the virtual machine VM-m from the user-mode application deployed in the virtual machine VM-m.
- the processed message; or the FE corresponding to the network card deployed in the VM-m of the virtual machine has a delay (the delay may be related to the service priority of the packet to be forwarded and the number of packets to be forwarded).
- the packet to be forwarded by the user-mode application deployed in the VM-m; or the FE corresponding to the NIC deployed in the VM-m, without delay, sending the user-mode application deployed from the VM-m Forwarding processed packets, other methods are not listed here.
- the BE corresponding to the NIC deployed in the host receives the FE from the NIC deployed in the VM-m, it forwards the received packet to the preload kernel deployed in the host.
- the preload kernel deployed in the host does not need to implement the traffic control policy. Therefore, the preload kernel deployed in the host can directly forward the received packets to the NIC through the NIC driver. The NIC forwards the received packets accordingly.
- the preload client may periodically send a heartbeat message to the preload server based on the connection.
- one of the purposes of sending a heartbeat message is to make the virtual machine VM-m work normally.
- the status informs the preload server that if the preload server does not receive the heartbeat message from the preload client within the set duration, the preload server may default to VM-m may be faulty.
- the preload server may use the traffic control policy.
- the executor switches to the above Host (that is, whether the FE corresponding to the NIC deployed in the VM-m is forwarded based on the traffic control policy, and the preload kernel is based on the traffic control policy.
- the packet of the VM-m is forwarded.
- the host and the VM-m perform the same traffic control policy. Therefore, if the same packet flows, the preload kernel and/or the VM-m are deployed.
- the FE corresponding to the NIC performs the same flow control policy, and the output of the final message of the preload kernel is basically the same.
- the indication message that the executor of the flow control policy is switched to the host may be sent to the preload client.
- the preload client may also perform a flow control policy on the FE corresponding to the NIC deployed in the virtual machine VM-m.
- an indication message for instructing the virtual machine VM-m to perform a flow control policy failure is sent to the preload server.
- the preload server after determining that the executor of the negotiated flow control policy is the virtual machine, if receiving an indication message from the preload client for instructing the virtual machine VM-m to perform a flow control policy failure, the preload server
- the executor of the flow control policy can be switched to the Host, and the preload server can notify the preload kernel to execute the flow control policy.
- the preload server may also send the query to the preload client periodically or aperiodically.
- the virtual machine VM-m performs a status query message indicating whether the flow control policy is normal, and does not receive the status indication message from the preload client for responding to the status query message within the set duration, or receives the message from the preload client.
- Instructing the virtual machine VM-m to perform a flow control policy failure may determine that the virtual machine VM-m performs a flow control policy failure.
- the preload server can also monitor whether the virtual machine VM-m performs a flow control policy failure by other means. If it is determined that the virtual machine VM-m performs the flow control policy failure, the preload server may switch the executor of the flow control policy to the host, and the preload server may notify the preload. Kemel performs a flow control strategy.
- the preload kernel After being notified of the execution of the flow control policy, the preload kernel forwards the to-be-processed processing packet from the virtual machine VM-m based on the foregoing flow control policy.
- the mechanism for the virtual machine and the host to negotiate the flow control policy executor is introduced, so that both the virtual machine and the host have the opportunity to become the flow control policy executor, which enables the virtual machine flow control policy to be executed.
- This becomes possible which is beneficial to the flow control of the packet flow as early as possible, which is beneficial to reduce invalid processing and reduce the occupation of bandwidth and host address space by invalid packet traffic.
- the foregoing solution is beneficial to reduce the occupation of the packet address in the outbound direction of the virtual machine.
- the flow control policy executor is determined through negotiation, it is beneficial to improve the reliability of the flow control policy execution.
- the virtual machine when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy.
- FIG. 8 is a schematic flowchart diagram of another packet flow control method according to another embodiment of the present invention.
- FIG. 5-b is a schematic structural diagram of a computing node that can be used to implement the traffic control method shown in FIG. 8 according to an embodiment of the present invention.
- Figure 5 - b illustrates a specific internal logical architecture of the Host and virtual machine deployed in the compute node.
- the Host and the virtual machine may also have other internal logical architectures different from the example shown in Figure 5-b.
- the flow control method is mainly described as an example in the architecture shown in FIG. 5-b.
- another packet flow control method provided by another embodiment of the present invention may include the following contents:
- the preload client deployed in the virtual machine VM-m establishes a connection with the preload server deployed in the host. Wherein the connection transmits a control protocol connection or other type of communication connection.
- step 601 may also be omitted.
- the preload client deployed in the virtual machine VM-m sends an executive negotiation request that carries the description information of the flow control capability of the virtual machine VM-m to the preload server deployed in the host.
- the preload server deployed in the host in step 802 sends a negotiation start request to the preload client deployed in the VM-m.
- the main purpose is to trigger the preload client deployed in the VM-m to initiate the negotiation flow control policy.
- the preload client deployed in the virtual machine VM-m may also be triggered by other conditions (for example, receiving a negotiation start request initiated by the user state process (ie, may be triggered by a user mode application or a user instruction)) Initiate a negotiation flow control policy executor. If the preload client deployed in the virtual machine VM-m initiates the negotiation of the traffic control policy enforcement, step 802 may be omitted.
- the preload server deployed in the host receives an executive negotiation request that carries the description information of the flow control capability of the virtual machine VM-m.
- the description of the traffic control capability carried in the executor negotiation request is used to indicate that the virtual machine VM-m supports the version of the traffic control policy. Therefore, the preload server deployed in the host can describe the traffic control capability.
- the information determines whether the virtual machine VM-m supports the current latest version or the preset version of the flow control policy.
- the description information of the traffic control capability is used to describe the version of the traffic control policy supported by the virtual machine, and the preload server determines whether the virtual machine is based on the description information of the traffic control capability.
- the flow control policy that supports the current version or the preset version may include: comparing the description of the traffic control capability to describe whether the version of the traffic control policy supported by the virtual machine is current and the latest version of the traffic control policy or The preset version is the same. If yes, it can be determined that the virtual machine supports the current latest version or the preset version of the flow control policy; if not, it can be determined that the virtual machine does not support the current latest version or the preset version of the flow control policy. .
- the determining, by the preload server, whether the virtual machine supports the current latest version or the preset version of the traffic control policy according to the description of the traffic control capability may include: comparing the description of the traffic control capability to describe the virtual machine support. Whether each version of the k (positive integer) versions of the executed flow control policy is the same as the current latest version or the preset version of the flow control policy. If one of the above k versions is compared with one of the above versions If the current version or the preset version of the traffic control policy is the same, you can determine that the VM supports the current latest version or the preset version of the traffic control policy. If any one of the k versions is different from the current version or the preset version of the flow control policy, it may be determined that the virtual machine does not support the current latest version or the preset version of the flow control policy.
- the preload server deployed in the host is used as an example to determine that the VM-m does not support the current version or the default version of the traffic control policy. Therefore, the preload server deployed in the host may send a negotiation denial indication to the preload client deployed in the virtual machine VM-m, where the negotiation denial indication is used to indicate that the negotiated flow control policy executor is the foregoing Host.
- the preload server deployed in the Host also informs the sub-loaded kernel (reload kernel) deployed in the Host to execute the flow control policy.
- the preload client deployed in the virtual machine VM-m receives the negotiation denial indication sent by the preload server deployed in the host, and determines that the negotiated flow control policy executor is the foregoing Host. Therefore, the preload deployed in the VM-m is configured.
- the client notifies the FE corresponding to the NIC deployed in the VM-m to not perform the traffic control policy.
- the execution of the traffic control policy is negotiated between the preload client deployed in the virtual machine VM-m and the preload server deployed in the host by performing steps 803 to 805.
- the FE corresponding to the NIC deployed in the VM-m forwards the packets to be forwarded from the user-mode application deployed in the VM-m.
- the FE corresponding to the NIC deployed in the VM-m does not control the forwarding of packets.
- the BE corresponding to the NIC deployed in the host receives the FE packet corresponding to the NIC deployed in the VM-m, the packet is forwarded to the preload kernel deployed in the host.
- the preload kernel forwards the received packet based on the traffic control policy.
- the traffic control policy is a service quality based traffic control policy or an access control list based traffic control policy.
- the QoS-based traffic control policy is based on the service priority of the packet to be forwarded to determine the specific forwarding processing mode of the packet.
- the specific forwarding processing mode may be delayed sending of packets or delayed transmission. Packets or discarded packets, etc.). For example, if there are multiple packets to be forwarded in the current cache, the packet transmission delay with the higher priority of the corresponding service may be shorter or even no delay. The lower the packet priority of the corresponding service, the longer the packet transmission delay may be. Can even discard the right The quality of service for high priority services is guaranteed.
- the traffic control policy based on the ACL is mainly based on whether the information carried in the packet to be forwarded and the record included in the ACL are matched to determine the specific forwarding processing mode of the packet.
- the access control list is a restricted access control list (like a blacklist), a source/destination address of the packet to be forwarded, an application layer protocol type, a transport layer protocol type, and/or a specific keyword included in the header. If the information in the ACL is matched, the forwarding processing of the packet to be forwarded may be directly discarded. Otherwise, the source/destination address of the packet to be forwarded and the application layer protocol.
- the forwarding processing of the packet to be forwarded may be forwarded.
- the access control list is an access control list (like a whitelist)
- the source/destination address, the application layer protocol type, the transport layer protocol type, and/or the packet header of the packet to be forwarded are included.
- the information about the specific keyword and the like, if the access control list does not have a matching record, the forwarding processing of the packet to be forwarded may be directly discarded.
- the forwarding processing manner of the packet to be forwarded may be forwarding the packet. Other cases and so on.
- the preloading of the packet to be forwarded by the preloading kernel based on the current latest version or the preset version of the traffic control policy may include: preloading the kernel to discard the to-be-forwarded processing from the virtual machine VM-m
- the packet is sent by the virtual machine VM-m to be forwarded by the preloading kernel; or the preloading kernel has a delay (the delay may be related to the service priority of the packet to be forwarded and the number of packets to be forwarded); or
- the preload kernel sends the packets to be forwarded from the virtual machine VM-m without delay.
- the other methods are not listed here.
- the NIC If the NIC receives the packet sent by the preload kernel through the NIC driver, the NIC forwards the received packet accordingly.
- the mechanism for the virtual machine and the host to negotiate the flow control policy executor is introduced, so that both the virtual machine and the host have the opportunity to become the flow control policy executor, which enables the virtual machine flow control policy to be executed. It becomes possible, which is beneficial to the flow control of the message flow as early as possible, which is beneficial to reduce invalid processing and reduce invalid packet traffic to bandwidth and host address. Occupy between. It can be seen that the foregoing solution is beneficial for reducing the occupation of the packet address in the outbound direction of the virtual machine to the host address space. Moreover, since the flow control policy executor is determined through negotiation, it is beneficial to improve the reliability of the flow control policy execution.
- the virtual machine when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy.
- the virtual machine and the Host adopt a modular architecture design, which is beneficial to improving the adaptability of the product in a complex application environment and reducing the upgrade cost of the environment migration.
- a virtual machine 900 provided by an embodiment of the present invention may include: a first negotiating unit 910 and a message processing unit 920.
- the first negotiating unit 910 is configured to negotiate an execution party of the traffic control policy between the virtual machine 900 and the host based on the traffic control capability of the virtual machine.
- the message processing unit 920 is configured to: if the executor of the negotiated flow control policy is the virtual machine, forward the packet to be forwarded based on the traffic control policy; and determine the execution of the negotiated traffic control policy.
- the host is the host, and the packet to be forwarded is sent to the host, so that the host performs forwarding processing on the received packet based on the traffic control policy.
- the first negotiating unit 910 may be specifically configured to: send, to the Host, an executive negotiation request that carries the description information of the flow control capability of the virtual machine, and if the host receives the traffic control capability according to the foregoing The description information determines that the virtual machine supports the negotiation confirmation indication sent after the execution of the flow control policy, and determines that the negotiated flow control policy executor is the virtual machine; if the host receives the description information according to the flow control capability, The virtual machine does not support the negotiation denial indication sent after the flow control policy is executed, and determines that the negotiated flow control policy executor is the foregoing Host;
- the first negotiating unit 910 may be specifically configured to send, to the Host, traffic control capability that carries the virtual machine.
- the execution party negotiation request of the description information of the force wherein the description information of the flow control capability is used to describe a version of the flow control policy supported by the virtual machine, and if the host receives the description information according to the flow control capability,
- the virtual machine supports the negotiation confirmation indication sent after the current latest version or the preset version of the flow control policy, and determines that the negotiated flow control policy executor is the virtual machine; if the host receives the traffic control capability according to the foregoing Determining, by the description information, that the virtual machine does not support the negotiation of the current latest version or the preset version of the flow control policy, and determines that the negotiated flow control policy executor is the foregoing Host;
- the first negotiating unit 910 may be configured to: send, to the Host, an executive negotiation request that carries the description information of the traffic control capability of the virtual machine, and if the host receives the description information according to the traffic control capability, determine that the virtual machine supports execution. After the flow control policy sends a negotiation confirmation indication, it is determined that the negotiated flow control policy executor is the virtual machine; if the host does not receive the negotiation sent by the host for responding to the executor negotiation request within the first set duration Confirming the indication, determining that the negotiated flow control policy executor is the above Host;
- the first negotiating unit 910 may be configured to: send, to the Host, an executive negotiation request that carries the description information of the traffic control capability of the virtual machine, where the description information of the traffic control capability is used to describe the traffic supported by the virtual machine.
- the version of the control policy determines the negotiated flow control after receiving the negotiation confirmation indication sent by the host after determining that the virtual machine supports executing the current latest version or the preset version of the flow control policy according to the description information of the traffic control capability.
- the policy executor is the virtual machine; if the negotiation confirmation indication sent by the host for responding to the executor negotiation request is not received within the first set duration, it is determined that the negotiated flow control policy executor is the foregoing Host ;
- the first negotiating unit 910 may be configured to: send, to the Host, an executive negotiation request that carries the description information of the traffic control capability of the virtual machine, and if the host receives the description information according to the traffic control capability, determine that the virtual machine does not support After the negotiation of the flow control policy is performed, the negotiation of the flow control policy is determined to be the host; if the host is not received within the second set time, the negotiation sent by the host for responding to the request for the execution of the negotiation is not received. Denied the instruction, then confirm The negotiated flow control policy executor is the above virtual machine;
- the first negotiating unit 910 may be configured to: send, to the Host, an executive negotiation request that carries the description information of the traffic control capability of the virtual machine, where the description information of the traffic control capability is used to describe the traffic supported by the virtual machine.
- the version of the control policy determines the negotiated flow control after receiving the negotiation denial indication sent by the host after determining that the virtual machine supports executing the current latest version or the preset version of the flow control policy according to the description information of the traffic control capability.
- the policy executor is the above Host; if the negotiation denial indication sent by the host for responding to the executor negotiation request is not received within the second set duration, it is determined that the negotiated flow control policy executor is the virtual machine .
- the Host may determine the virtual machine 900 according to the description information of the traffic control capability. Whether the implementation of the flow control policy of the latest version or the preset version is supported, and the following may include: comparing the description of the flow control capability to describe whether the version of the flow control policy supported by the virtual machine 900 is current and the latest of the flow control policy.
- the version of the virtual machine 900 supports the current latest version or the preset version of the flow control policy; if not, the virtual machine 900 does not support the current latest version or the preset version. Traffic control strategy.
- the determining, by the Host, whether the virtual machine 900 supports the current latest version or the preset version of the traffic control policy according to the description of the traffic control capability may include: comparing the description information of the traffic control capability to describe the virtual machine.
- the version of the k (positive integer) version of the flow control policy supported by the 900 is the same as the current latest version or the preset version of the flow control policy.
- the version is the same as the current version or the preset version of the flow control policy, it may be determined that the virtual machine 900 supports the current latest version or the preset version of the flow control policy; if any one of the above k versions is compared with If the current version or the preset version of the flow control policy is different, it may be determined that the virtual machine 900 does not support the current latest version or the preset version of the flow control policy.
- the virtual machine 900 may further include:
- a sending unit (not shown in FIG. 9) for determining an execution party of the negotiated flow control policy After being the virtual machine, periodically send a heartbeat message to the host.
- the traffic control policy mentioned in this embodiment may be, for example, a quality of service based traffic control policy and/or an access control list based traffic control policy.
- the traffic control policy may also be a traffic control policy that refers to other factors.
- the QoS-based traffic control policy is based on the service priority of the packet to be forwarded to determine the specific forwarding processing mode of the packet.
- the specific forwarding processing mode may be delayed sending of packets or delayed transmission. Packets or discarded packets, etc.). For example, if there are multiple packets to be forwarded in the current cache, the packet transmission delay with the higher priority of the corresponding service may be shorter or even no delay. The lower the packet priority of the corresponding service, the longer the packet transmission delay may be. It is even possible to discard the quality of service guaranteed for high priority services. That is, the forwarding of the packet to be forwarded by the QoS-based traffic control policy may include: forwarding the packet to be forwarded according to the forwarding processing mode corresponding to the service priority of the packet to be forwarded.
- the traffic control policy based on the ACL is mainly based on whether the information carried in the packet to be forwarded and the record included in the ACL are matched to determine the specific forwarding processing mode of the packet.
- the access control list is a restricted access control list (like a blacklist), a source/destination address of the packet to be forwarded, an application layer protocol type, a transport layer protocol type, and/or a specific keyword included in the header. If the information in the ACL is matched, the forwarding processing of the packet to be forwarded may be directly discarded. Otherwise, the source/destination address of the packet to be forwarded and the application layer protocol.
- the forwarding processing of the packet to be forwarded may be forwarded.
- the access control list is an access control list (like a whitelist)
- the source/destination address, the application layer protocol type, the transport layer protocol type, and/or the packet header of the packet to be forwarded are included.
- the forwarding processing of the packet to be forwarded may be directly discarded, and the source/destination address of the packet to be forwarded is
- the information of the application layer protocol type, the transport layer protocol type, and/or the keyword included in the packet header may be forwarded by the forwarding control packet if the ACL is matched.
- the message may be forwarded.
- the functions of the modules of the virtual machine 900 in this embodiment may be specifically implemented according to the method described in the foregoing method embodiments. For the specific implementation process, refer to the related description in the foregoing embodiments, and details are not described herein again.
- the mechanism for the virtual machine and the host to negotiate the flow control policy executor is introduced, so that both the virtual machine and the host have the opportunity to become the flow control policy executor, which enables the virtual machine flow control policy to be executed.
- This becomes possible which is beneficial to the flow control of the packet flow as early as possible, which is beneficial to reduce invalid processing and reduce the occupation of bandwidth and host address space by invalid packet traffic.
- the foregoing solution is beneficial to reduce the occupation of the packet address in the outbound direction of the virtual machine.
- the flow control policy executor is determined through negotiation, it is beneficial to improve the reliability of the flow control policy execution.
- the virtual machine when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy.
- the embodiment of the present invention further provides a host 1000, which may include: a second negotiating unit 1010 and a message processing unit 1020.
- the second negotiating unit 1010 is configured to negotiate an execution party of the traffic control policy between the virtual machine and the host 1000 based on the traffic control capability of the virtual machine.
- the message processing unit 1020 is configured to: if it is determined that the executed party of the negotiated flow control policy is the host, after receiving the message from the virtual machine, forwarding the received message according to the traffic control policy deal with.
- the second negotiating unit 1010 may be specifically configured to receive, by the virtual machine, an executive negotiation request that carries the description information of the traffic control capability of the virtual machine, if the description information of the traffic control capability is used according to the foregoing Determining that the virtual machine supports the execution of the flow control policy, and sending a negotiation confirmation indication to the virtual machine, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or, according to the foregoing flow control capability
- the description information determines that the virtual machine does not support the execution of the traffic control policy, and sends a negotiation denial indication to the virtual machine, where the foregoing association
- the quotient denied indication is used to indicate that the negotiated flow control policy executor is the above host.
- the second negotiating unit 1010 is specifically configured to receive, by the virtual machine, an executive negotiation request that carries the description information of the flow control capability of the virtual machine, where the traffic control capability is The description information is used to describe the version of the flow control policy supported by the virtual machine. If the virtual machine supports the current latest version or the preset version of the flow control policy according to the description of the flow control capability, the virtual machine is added to the virtual machine. Sending a negotiation confirmation indication, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or, if the description of the flow control capability is determined, the virtual machine does not support performing the current latest version. Or the default version of the traffic control policy sends a negotiation denial indication to the virtual machine, where the negotiated denial indication is used to indicate that the negotiated flow control policy executor is the host.
- the second negotiation unit 1010 may determine the foregoing according to the description information of the traffic control capability. Whether the virtual machine supports the current latest version or the preset version of the flow control policy may specifically include: comparing the description information of the foregoing flow control capability to describe whether the version of the flow control policy supported by the virtual machine is current and the current of the flow control policy The latest version or the preset version is the same. If yes, it can be determined that the virtual machine supports the current latest version or the preset version of the flow control policy; if not, it can be determined that the virtual machine does not support the current latest version or the preset version. Traffic control strategy.
- the second negotiation unit 1010 may determine, according to the description information of the traffic control capability, whether the virtual machine supports the current latest version or the preset version of the traffic control policy, which may include: comparing the description information of the traffic control capability to describe the foregoing Whether each version of the k (positive integer) versions of the flow control policy supported by the virtual machine is the same as the current latest version or the default version of the flow control policy.
- the virtual machine supports the current latest version or the preset version of the flow control policy; if any one of the above k versions is compared with If the current version or the preset version of the traffic control policy is different, you can determine that the VM does not support the current or latest version of the traffic control policy.
- the message processing unit 1020 is further configured to determine the negotiated flow. After the executor of the quantity control policy is the virtual machine, if the heartbeat message from the virtual machine is not received within the set time period, an indication message indicating that the flow control policy executor switches to the host is sent to the virtual machine.
- the policy may be, for example, a quality of service based traffic control policy and/or a traffic control policy based on an access control list. Of course, the traffic control policy may also be a traffic control policy that refers to other factors.
- the QoS-based traffic control policy is based on the service priority of the packet to be forwarded to determine the specific forwarding processing mode of the packet.
- the specific forwarding processing mode may be delayed sending of packets or delayed transmission. Packets or discarded packets, etc.). For example, if there are multiple packets to be forwarded in the current cache, the packet transmission delay with the higher priority of the corresponding service may be shorter or even no delay. The lower the packet priority of the corresponding service, the longer the packet transmission delay may be. It is even possible to discard the quality of service guaranteed for high priority services. That is, the forwarding of the packet to be forwarded by the QoS-based traffic control policy may include: forwarding the packet to be forwarded according to the forwarding processing mode corresponding to the service priority of the packet to be forwarded.
- the traffic control policy based on the ACL is mainly based on whether the information carried in the packet to be forwarded and the record included in the ACL are matched to determine the specific forwarding processing mode of the packet.
- the access control list is a restricted access control list (like a blacklist), a source/destination address of the packet to be forwarded, an application layer protocol type, a transport layer protocol type, and/or a specific keyword included in the header. If the information in the ACL is matched, the forwarding processing of the packet to be forwarded may be directly discarded. Otherwise, the source/destination address of the packet to be forwarded and the application layer protocol.
- the forwarding processing of the packet to be forwarded may be forwarded.
- the access control list is an access control list (like a whitelist)
- the source/destination address, the application layer protocol type, the transport layer protocol type, and/or the packet header of the packet to be forwarded are included.
- the forwarding processing of the packet to be forwarded may be directly discarded, and the source/destination address of the packet to be forwarded is Information such as the application layer protocol type, the transport layer protocol type, and/or the keywords contained in the packet header, if the access control list is allowed to have
- the forwarding processing manner of the packet to be forwarded may be forwarding the packet. Other cases and so on.
- the mechanism for the virtual machine and the host to negotiate the flow control policy executor is introduced, so that both the virtual machine and the host have the opportunity to become the flow control policy executor, which enables the virtual machine flow control policy to be executed.
- This becomes possible which is beneficial to the flow control of the packet flow as early as possible, which is beneficial to reduce invalid processing and reduce the occupation of bandwidth and host address space by invalid packet traffic.
- the above solution is beneficial for reducing the occupation of the packet address in the outbound direction of the virtual machine.
- the flow control strategy executor is determined through negotiation, it is beneficial to improve the reliability of the flow control strategy execution.
- the virtual machine when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially executed to perform the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing invalid processing and invalidation.
- the bandwidth usage of packet traffic when both the virtual machine and the host support the execution of the flow control policy.
- an embodiment of the present invention further provides a computing node 1100, which may include: a hardware layer 1110, a host 1102 running on the hardware layer, and at least one virtual machine 1103 running on the host 1102. .
- the virtual machine 1103 is configured to negotiate the execution of the traffic control policy between the virtual machine 1103 and the host 1102 based on the traffic control capability of the virtual machine 1103; and determine that the negotiated flow control policy executive is the virtual machine.
- the packet to be forwarded and processed is sent to the host 1102 based on the above-mentioned traffic control policy; if the executor of the negotiated flow control policy is determined to be the host 1102, the message to be forwarded is sent to the host 1102;
- the host 1102 is configured to: after determining that the negotiated flow control policy executor is the host 1102, after receiving the packet from the virtual machine, forwarding the received packet according to the traffic control policy. deal with.
- the virtual machine in the aspect of negotiating the execution of the flow control policy between the virtual machine 1103 and the host 1102 based on the flow control capability of the virtual machine 1103, the virtual machine is specifically used to the host machine. 1102: Send an implementation negotiation request that carries the description information of the flow control capability of the virtual machine, and if the host device 1102 receives the negotiation confirmation indication sent after the virtual machine supports the execution of the flow control policy according to the description information of the traffic control capability.
- the virtual machine Determining that the negotiated flow control policy executor is the virtual machine; if the host machine 1102 receives the negotiation denial indication sent after the virtual machine does not support the execution of the flow control policy according to the description information of the traffic control capability, Determining that the negotiated flow control policy executor is the host 1102; or, in the aspect of negotiating the execution of the flow control policy between the virtual machine 1103 and the host 1102 based on the flow control capability of the virtual machine 1103, the virtual The machine is specifically configured to send and carry to the host machine 1102.
- An execution party negotiation request for describing the flow control capability of the virtual machine where the description information of the flow control capability is used to describe a version of the flow control policy supported by the virtual machine, and if the host 1102 is received, Determining, by the foregoing description, the flow control capability, the negotiation confirmation indication sent by the virtual machine after executing the current latest version or the preset version of the flow control policy, determining that the negotiated flow control policy executor is the virtual machine;
- the host 1102 determines, according to the description information of the traffic control capability, that the virtual machine does not support the negotiation of the current latest version or the preset version of the traffic control policy, and determines that the negotiated flow control policy executor is the foregoing Host 1102;
- the virtual machine is specifically configured to send the virtual machine to the host 1102.
- the executor negotiation request of the description information of the flow control capability if the host machine 1102 receives the negotiation confirmation indication sent after the virtual machine supports the execution of the flow control policy according to the description information of the flow control capability, determining the negotiated traffic
- the control policy executor is the virtual machine; if the negotiation confirmation indication sent by the host 1102 for responding to the executor negotiation request is not received within the first set duration, it is determined that the negotiated flow control policy executor is The host machine 1102 above;
- the virtual machine is specifically configured to send the virtual machine to the host 1102.
- An executive negotiation request for description information of the flow control capability The description of the traffic control capability is used to describe the version of the traffic control policy supported by the virtual machine. If the host 1102 receives the description information according to the traffic control capability, the virtual machine supports the latest version.
- the negotiation confirmation indication sent after the preset version of the flow control policy determines that the negotiated flow control policy executor is the virtual machine; if the host machine 1102 sends the received information within the first set duration, Responding to the negotiation confirmation indication of the above-mentioned executive negotiation request, determining that the negotiated flow control policy executor is the host 1102; or, between the virtual machine 1103 and the host 1102, based on the flow control capability of the virtual machine 1103
- the virtual machine is specifically configured to send, to the host 1102, an executive negotiation request that carries the description information of the flow control capability of the virtual machine, and if the host 1102 is received, Determining the above virtual according to the description information of the flow control capability described above The machine does not support the negotiation denial indication sent after the execution of the flow control policy, and determines that the negotiated flow control policy executor is the host 1102; if the host 1102 does not receive the response sent by the host 1102 within the second set duration Determining the
- the virtual machine 1103 is specifically configured to send, to the host 1102, an executive negotiation request that carries the description information of the flow control capability of the virtual machine, where the flow control is performed by the executor of the executor of the flow control policy.
- the description of the capability is used to describe the version of the flow control policy supported by the virtual machine. If the host 1102 receives the description information according to the traffic control capability, the virtual machine supports the current latest version or the preset version. After the flow control policy sends a negotiation denial indication, it is determined that the negotiated flow control policy executor is the host 1102; if the host 1102 is not received within the second set duration, the responsive to the executor If the negotiation denial indication of the negotiation request is performed, it is determined that the negotiated flow control policy executor is the virtual machine.
- the host 1102 may receive an execution party negotiation request that is sent by the virtual machine and carry the description information of the flow control capability of the virtual machine, and determine the virtual machine according to the description information of the traffic control capability.
- Supporting the execution of the flow control policy sending a negotiation confirmation indication to the virtual machine, where the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or, if determined according to the description information of the flow control capability
- the above virtual machine does not support And executing the flow control policy, sending a negotiation denial indication to the virtual machine, where the negotiation denial indication is used to indicate that the negotiated flow control policy executor is the host.
- the host 1102 may receive an executive negotiation request that is sent by the virtual machine and carries the description information of the flow control capability of the virtual machine, where the description information of the flow control capability is used to describe And the version of the flow control policy that is supported by the virtual machine, if the virtual machine supports the current latest version or the preset version of the flow control policy according to the description of the flow control capability, sending a negotiation confirmation indication to the virtual machine, where The foregoing negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine; and/or, if the description of the flow control capability is determined, the virtual machine does not support performing the current latest version or the preset version of the traffic. And the control policy sends a negotiation denial indication to the virtual machine, where the negotiation denial indication is used to indicate that the negotiated flow control policy executor is the host.
- the host 1102 may determine the virtual machine according to the description information of the traffic control capability.
- the flow control policy of the latest version or the preset version is supported, and may include: comparing the description of the flow control capability to describe whether the version of the flow control policy supported by the virtual machine is current and the latest version of the flow control policy. Or the preset version is the same, if yes, it may be determined that the virtual machine supports the current latest version or the preset version of the flow control policy; if not, it may be determined that the virtual machine does not support the current latest version or the preset version of the flow control Strategy.
- the determining, by the host device 1102, whether the virtual machine supports the current latest version or the preset version of the traffic control policy according to the description information of the traffic control capability may include: comparing the description information of the traffic control capability to describe the virtual Whether each version of the k (positive integer) versions of the flow control policy supported by the machine is the same as the current latest version or the default version of the flow control policy. If one of the above k versions is compared, If the version is the same as the current version or the default version of the traffic control policy, you can determine that the VM supports the current latest version or the default version of the traffic control policy. If you compare any of the above k versions with the traffic. If the current version or the preset version of the control policy is different, it may be determined that the virtual machine does not support the current latest version or the preset version of the flow control policy.
- the host 1102 is further configured to: after determining that the executed party of the negotiated flow control policy is the virtual machine, if the virtual machine is not received within the set duration
- the heartbeat message of the machine sends an indication message to the virtual machine for instructing the flow control policy executor to switch to the host 1102.
- the negotiation confirmation indication may include the flow control policy, where the virtual machine performs forwarding processing on the packet to be forwarded based on the flow control policy, The virtual machine is specifically configured to perform forwarding processing on the packet to be forwarded according to the traffic control policy included in the negotiation confirmation indication.
- the host 1102 can also pass the flow control policy to the virtual machine in other manners, so that the virtual machine 1103 can determine the flow control policy based on the host 1102 after determining that the negotiated flow control policy executor is the virtual machine. Forwards the packets to be forwarded.
- the flow control policy may be pre-configured in the virtual machine 1103.
- the virtual machine 1103 determines that the negotiated flow control policy executor is the virtual machine 1103, the virtual machine 1103 processes the report based on the pre-configured flow control policy. The text is forwarded.
- the virtual machine 1102 is specifically configured to receive the user state in the aspect that the virtual machine 1102 sends an execution party negotiation request carrying the description information of the flow control capability of the virtual machine 1102 to the host 1102. After the process initiated the negotiation initiation request, the host 1102 transmits an executive negotiation request carrying the description information of the flow control capability of the virtual machine 1102; or, after receiving the negotiation initiation request from the host 1102, the host 1102 is sent to the host 1102. An executor negotiation request carrying description information of the flow control capability of the virtual machine 1102.
- the traffic control policy on which the host 1102 or the virtual machine 1102 processes the packet to be forwarded in the embodiment may be, for example, a quality of service based traffic control policy and/or an access control list based traffic control policy.
- the above flow control strategy may also be a flow control strategy that refers to other factors.
- the QoS-based traffic control policy is based on the service priority of the packet to be forwarded to determine the specific forwarding processing mode of the packet.
- the specific forwarding processing mode may be delayed sending of packets or delayed transmission. Packets or discarded packets, etc.). For example, if there are multiple packets to be forwarded in the current cache, the packet transmission delay with the higher priority of the corresponding service may be shorter or even no delay. The lower the packet priority of the corresponding service, the longer the packet transmission delay may be. It is even possible to discard the quality of service guaranteed for high priority services. That is, the quality of service based traffic control policy is forwarded
- the forwarding of the processed packet may include: forwarding the packet to be forwarded according to the forwarding processing manner corresponding to the service priority of the packet to be forwarded.
- the traffic control policy based on the ACL is mainly based on whether the information carried in the packet to be forwarded and the record included in the ACL are matched to determine the specific forwarding processing mode of the packet.
- the access control list is a restricted access control list (like a blacklist), a source/destination address of the packet to be forwarded, an application layer protocol type, a transport layer protocol type, and/or a specific keyword included in the header. If the information in the ACL is matched, the forwarding processing of the packet to be forwarded may be directly discarded. Otherwise, the source/destination address of the packet to be forwarded and the application layer protocol.
- the forwarding processing of the packet to be forwarded may be forwarded.
- the access control list is an access control list (like a whitelist)
- the source/destination address, the application layer protocol type, the transport layer protocol type, and/or the packet header of the packet to be forwarded are included.
- the forwarding processing of the packet to be forwarded may be directly discarded, and the source/destination address of the packet to be forwarded is
- the information of the application layer protocol type, the transport layer protocol type, and/or the keyword included in the packet header may be forwarded by the forwarding control packet if the ACL is matched. The message. Other cases and so on.
- the mechanism for the virtual machine and the host to negotiate the flow control policy executor is introduced in the computing node 1100, so that both the virtual machine and the host have the opportunity to become the flow control policy executor, which is performed by the execution.
- the virtual machine flow control policy becomes possible. This facilitates the flow control of the packet flow as early as possible, which is beneficial to reduce invalid processing and reduce the occupation of bandwidth and host address space by invalid packet traffic. It can be seen that the foregoing solution is beneficial for reducing the occupation of the packet address of the virtual machine in the outgoing direction of the virtual machine. Moreover, since the flow control policy executor is determined through negotiation, it is beneficial to improve the reliability of the flow control policy execution.
- the virtual machine when both the virtual machine and the host support the execution of the flow control policy, the virtual machine is preferentially
- the traffic control policy is implemented, which further facilitates traffic control of packets as early as possible, thereby further reducing the bandwidth usage of invalid processing and invalid packet traffic.
- FIG. 12 depicts a structure of a computing node 1200 provided by an embodiment of the present invention, the computing node
- the 1200 includes: at least one processor 1201, such as a CPU, at least one network interface 1204 or other user interface 1203, memory 1205, at least one communication bus 1202. Communication bus 1202 is used to implement connection communication between these components.
- the compute node 1200 optionally includes a user interface 1203, including a display, a keyboard, or a pointing device (e.g., a mouse, a trackball, a touchpad, or a touch sensitive display).
- the memory 1205 may include a high speed RAM memory and may also include a non-volatile memory such as at least one disk memory.
- the memory 1205 can optionally include at least one storage device remote from the aforementioned processor 1201.
- the network interface 1204 includes a physical network card and the like.
- memory 1205 stores elements, executable modules or data structures, or a subset thereof, or their extended set: host 12051 and at least one virtual machine 12052.
- the host 12051 may have some or all of the functions of the host as described in the foregoing embodiment, and the virtual machine 12052 may have a part of the virtual machine as described in the above embodiment, as invoked by the processor 1201. Or all features.
- the virtual machine 12052 is configured to negotiate the execution of the flow control policy between the virtual machine 12052 and the host 12051 based on the flow control capability of the virtual machine;
- the negotiated flow control policy executor is the virtual machine, and the packet to be forwarded and processed according to the traffic control policy is forwarded; if the executor of the negotiated traffic control policy is determined to be the host 12051, the packet is to be forwarded.
- the processed message is sent to the host 12051;
- the host 12051 is configured to be used by the processor 1201 to determine that the negotiated flow control policy executor is the host 12051, and after receiving the packet from the virtual machine 12052, the received traffic control policy is based on the received traffic control policy. The above packet is forwarded.
- the above virtual machine based on the flow control capability of the virtual machine
- An aspect of the implementation of the flow control policy between the 12052 and the host 12051 is negotiated by the processor 1201.
- the virtual machine 12052 is specifically configured to send, to the host 12051, an executive negotiation that carries the description information of the flow control capability of the virtual machine.
- the request if the receiving host 12051 determines the negotiation confirmation indication sent after the virtual machine supports the execution of the flow control policy according to the description information of the flow control capability, determining that the negotiated flow control policy executor is the virtual machine; Receiving the negotiation denial indication sent by the host 12051 after determining that the virtual machine does not support the execution of the flow control policy according to the description information of the flow control capability, determining that the negotiated flow control policy executor is the host 12051;
- the virtual machine 12052 is specifically configured to send to the host 12051.
- An execution party negotiation request carrying the description information of the traffic control capability of the virtual machine, where the description information of the traffic control capability is used to describe a version of the traffic control policy supported by the virtual machine, if the host 12051 is received Determining, according to the description information of the flow control capability, that the virtual machine supports the negotiation confirmation indication sent after executing the current latest version or the preset version of the flow control policy, determining that the negotiated flow control policy executor is the virtual machine; After the host device 12051 determines, according to the description information of the traffic control capability, that the virtual machine does not support the execution of the current latest version or the preset version of the traffic control policy, the host device 12051 determines that the negotiated flow control policy executor is the above Host Machine 12051 ;
- the implementation of the flow control policy between the 12051 is negotiated by the processor 1201.
- the virtual machine 12052 is specifically configured to send, to the host 12051, an executive negotiation request that carries the description information of the flow control capability of the virtual machine.
- the flow control policy executor that is not determined to be determined within the set duration is the above host 12051;
- the virtual machine is invoked by the processor 1201.
- the 12052 is specifically configured to send, to the host device 12051, an executive negotiation request that carries the description information of the flow control capability of the virtual machine, where the description information of the traffic control capability is used to describe the flow control policy supported by the virtual machine.
- a version if the host computer 12051 receives the negotiation confirmation indication sent after the virtual machine supports executing the current latest version or the preset version of the flow control policy according to the description information of the flow control capability, determining the negotiated flow control policy.
- the executor is the virtual machine; if the negotiation confirmation indication sent by the host 12051 for responding to the executor negotiation request is not received within the first set duration, it is determined that the negotiated flow control policy executor is the above Host 12051;
- the virtual machine 12052 is specifically configured to send to the host 12051.
- An executive negotiation request carrying the description information of the flow control capability of the virtual machine, if the receiving host 12051 determines, according to the description information of the traffic control capability, that the virtual machine does not support the negotiation of the flow control policy, Determining that the negotiated flow control policy executor is the host 12051; if the second set duration indication, determining that the negotiated flow control policy executor is the virtual machine;
- the virtual machine 12052 is specifically configured to send to the host 12051.
- An execution party negotiation request carrying the description information of the traffic control capability of the virtual machine, where the description information of the traffic control capability is used to describe a version of the traffic control policy supported by the virtual machine, if the host 12051 is received Determining, according to the description information of the traffic control capability, that the virtual machine supports the negotiation of the current latest version or the preset version of the traffic control policy, determining that the negotiated flow control policy executor is the host 12051; If the negotiation denial instruction sent by the host 12051 for responding to the execution party negotiation request is not received within the second set duration, it is determined that the negotiated flow control policy executor is the virtual machine.
- the host 12051 may be configured according to the traffic control capability according to the foregoing flow control capability. Describe the information to determine whether the above virtual machine supports the current update
- the traffic control policy of the version or the preset version may include: comparing the description of the traffic control capability to describe whether the version of the traffic control policy supported by the virtual machine is the same as the current latest version or the preset version of the traffic control policy. If yes, it may be determined that the virtual machine supports the current latest version or the preset version of the flow control policy; if not, it may be determined that the virtual machine does not support the current latest version or the preset version of the flow control policy.
- the flow control policy that the host 12051 can determine, according to the description of the flow control capability, whether the virtual machine supports the current latest version or the preset version may include: comparing the foregoing flow control capability.
- the description information describes whether each version of the k (positive integer) versions of the flow control policy supported by the virtual machine is the same as the current latest version or the preset version of the flow control policy.
- the virtual machine supports the current latest version or the preset version of the flow control policy; if the above k versions are compared If any version is different from the current version or the preset version of the flow control policy, it can be determined that the above virtual machine does not support the current latest version or the preset version of the flow control policy.
- the host 12051 is further configured to: after determining that the executed party of the negotiated flow control policy is the virtual machine, if not received within the set time period, The heartbeat message from the virtual machine sends an indication message to the virtual machine to instruct the traffic control policy executor to switch to the host 12051.
- the negotiation confirmation indication may include the flow control policy, where the virtual machine performs forwarding processing on the packet to be forwarded based on the flow control policy,
- the virtual machine 12052 is specifically configured to perform forwarding processing on the packet to be forwarded based on the traffic control policy included in the negotiation confirmation indication.
- the host 12051 can also pass the traffic control policy to the virtual machine in other manners, so that the virtual machine 12052 treats the negotiated flow control policy performer as the virtual machine, and then treats the traffic control policy based on the host 12051.
- the packet processed by the forwarding is forwarded.
- the flow control policy may be pre-configured in the virtual machine 12052.
- the virtual machine 12052 determines that the negotiated flow control policy executor is the virtual machine 12052, and the virtual machine 12052 processes the forwarding process based on the pre-configured flow control policy.
- the packet is forwarded.
- the virtual machine 12051 sends a virtual bearer to the host 12051.
- the aspect of the executor negotiation request of the description information of the flow control capability of the machine 12051 is invoked by the processor 1201, and the virtual machine 12051 is specifically configured to send the bearer to the host 12051 after receiving the negotiation start request initiated by the user state process.
- the executor negotiation request of the description information of the flow control capability of the virtual machine 12051; or after receiving the negotiation initiation request from the host 12051, the executor of the description information carrying the flow control capability of the virtual machine 12051 is sent to the host 12051. request.
- the traffic control policy on which the host 12051 or the virtual machine 12052 processes the packet to be forwarded in this embodiment may be, for example, a quality of service based traffic control policy and/or an access control list based traffic control policy.
- the above flow control strategy may also be a flow control strategy that refers to other factors.
- the QoS-based traffic control policy is based on the service priority of the packet to be forwarded to determine the specific forwarding processing mode of the packet.
- the specific forwarding processing mode may be delayed sending of packets or delayed transmission. Packets or discarded packets, etc.). For example, if there are multiple packets to be forwarded in the current cache, the packet transmission delay with the higher priority of the corresponding service may be shorter or even no delay. The lower the packet priority of the corresponding service, the longer the packet transmission delay may be. It is even possible to discard the quality of service guaranteed for high priority services. That is, the forwarding of the packet to be forwarded by the QoS-based traffic control policy may include: forwarding the packet to be forwarded according to the forwarding processing mode corresponding to the service priority of the packet to be forwarded.
- the traffic control policy based on the ACL is mainly based on whether the information carried in the packet to be forwarded and the record included in the ACL are matched to determine the specific forwarding processing mode of the packet.
- the access control list is a restricted access control list (like a blacklist), a source/destination address of the packet to be forwarded, an application layer protocol type, a transport layer protocol type, and/or a specific keyword included in the header. If the information in the ACL is matched, the forwarding processing of the packet to be forwarded may be directly discarded. Otherwise, the source/destination address of the packet to be forwarded and the application layer protocol.
- the forwarding processing of the packet to be forwarded may be forwarded.
- the access control list is an access control list (like a whitelist)
- the source/destination address, the application layer protocol type, the transport layer protocol type, and/or the packet header of the packet to be forwarded are included.
- the forwarding processing of the packet to be forwarded may be directly discarded, and the source/destination address, application layer protocol type, transport layer protocol type, and And the information such as the keyword included in the packet header, if the access control list is allowed to have a matching record, the forwarding processing of the packet to be forwarded may be the forwarding of the packet. Other cases and so on.
- the mechanism for the virtual machine and the host to negotiate the flow control policy executor is introduced in the computing node 1200, so that both the virtual machine and the host have the opportunity to become the flow control policy executor, which is performed by the execution.
- the virtual machine flow control policy becomes possible. This facilitates the flow control of the packet flow as early as possible, which is beneficial to reduce invalid processing and reduce the occupation of bandwidth and host address space by invalid packet traffic. It can be seen that the foregoing solution is beneficial for reducing the occupation of the packet address of the virtual machine in the outgoing direction of the virtual machine. Moreover, since the flow control policy executor is determined through negotiation, it is beneficial to improve the reliability of the flow control policy execution.
- FIG. 13 illustrates a structure of a computing node 1300 according to an embodiment of the present invention.
- the computing node 1300 includes: at least one processor 1301, such as a CPU, at least one network interface 1304, a memory 1305, and at least one communication bus 1302.
- Communication bus 1302 is used to implement connection communication between these components.
- the computing node 1300 optionally includes a user interface 1303, including a display, a keyboard, or a pointing device (eg, a mouse, a trackball, a touchpad, or a tactile display).
- the memory 1305 may include a high speed RAM memory and may also include a non-volatile memory, such as at least one disk memory.
- the memory 1305 can optionally include at least one memory device remote from the aforementioned processor 1301.
- the network interface 1304 includes a physical network card and the like.
- the memory 1305 stores the following elements, executable modules or data. Structures, or a subset of them, or their extension set: host 13051 and at least one virtual machine 13052.
- the host 13051 may have some or all of the functions of the host as described in the foregoing embodiment, and the virtual machine 13052 may have a part of the virtual machine as described in the foregoing embodiment, as invoked by the processor 1301. Or all features.
- the processor 1301 may be configured to negotiate flow control between the host 13051 and the virtual machine 13052 based on the flow control capability of the virtual machine 13052.
- the executor of the strategy If the negotiated flow control policy executor is the virtual machine 13052, the packet to be forwarded by the virtual machine 13052 is forwarded based on the traffic control policy; if the negotiated flow control policy is executed by the host And forwarding, by the foregoing traffic control policy, the foregoing packet that is to be forwarded and received by the host 13051.
- the processor 1301 negotiates the execution of the flow control policy between the host 13051 and the virtual machine 13052 based on the flow control capability of the virtual machine 13052.
- an execution party negotiation request where the execution party negotiation request carries the description information of the traffic control capability of the virtual machine 13052;
- the processor 1301 determines that the virtual machine 13052 supports the execution of the flow control policy according to the description information of the flow control capability, and the processor 1301 sends the foregoing to the virtual machine 13052.
- the negotiation confirmation indication sent by the host 13051 to the virtual machine 13052, wherein the negotiation confirmation indication is used to indicate that the negotiated flow control policy executor is the virtual machine 13052; and/or the processor 1301 controls according to the flow rate.
- the processor 1301 sends the negotiation denial indication sent by the host 13051 to the virtual machine 13052 to the virtual machine 13052, where the negotiation denial indication is Used to indicate that the negotiated flow control policy executor is the above host 13051;
- the processor 1301 based on the flow control capability of the virtual machine 13052, negotiates the execution of the flow control policy between the host 13051 and the virtual machine 13052.
- the processor 1301 includes: the processor 1301.
- the foregoing execution party negotiation request carries the description information of the flow control capability of the virtual machine 13052, and the description information of the flow control capability is used to describe the version of the flow control policy supported by the virtual machine 13052;
- the processor 1301 determines that the virtual machine 13052 supports the current latest version or the preset version of the flow control policy according to the description information of the flow control capability.
- the processor 1301 sends an indication to the virtual machine 13052 that the negotiated flow control policy executor is the virtual machine 13052; and/or the processor 1301 determines that the virtual machine 13052 does not support execution according to the description information of the traffic control capability.
- the processor 1301 indicates, in the virtual, the negotiation denial indication is used to indicate that the negotiated flow control policy executor is the host 13051.
- the processor 1301 negotiates the execution of the flow control policy between the host 13051 and the virtual machine 13052 based on the flow control capability of the virtual machine 13052.
- the execution party negotiation request sent by the 13051 the execution party negotiation request carries the description information of the flow control capability of the virtual machine 13052; and the virtual machine 13052 receives the negotiation confirmation indication sent by the host 13051 for responding to the execution party negotiation request.
- the processor 13051 determines that the negotiated flow control policy executor is the virtual machine; if the virtual machine 13052 receives the negotiation denial indication sent by the host 13051 for responding to the executor negotiation request, the processor 13051 determines to negotiate The flow control policy executor is the above host 13051.
- the processor 1301, based on the flow control capability of the virtual machine 13052, the negotiation of the flow control policy between the host 13051 and the virtual machine 13052 may include: the processor negotiation request, where the executive negotiation request carries the foregoing Description information of the flow control capability of the virtual machine 13052, where the description information of the flow control capability is used to describe a version of the flow control policy supported by the virtual machine 13052; if the virtual machine 13052 receives the response sent by the host 13051 After the negotiation confirmation request of the above-mentioned executive negotiation request, the processor 13051 determines the negotiated flow control.
- the policy executor is the virtual machine 13052. If the virtual machine 13052 receives the negotiation denial indication sent by the host 13051 for responding to the executor negotiation request, it determines that the negotiated flow control policy executor is the host 13051.
- the processor 1301, based on the flow control capability of the virtual machine 13052, the negotiation of the flow control policy between the host 13051 and the virtual machine 13052 may include: the processor negotiation request, where the executive negotiation request carries the foregoing If the description of the flow control capability of the virtual machine 13052 is a negotiation confirmation request, the processor 1301 determines that the negotiated flow control policy executor is the virtual machine; if the virtual machine 13052 does not receive the sink within the first set duration The processor 1301 determines that the negotiated flow control policy executor is the host 13051, the host 13051 sends a negotiation confirmation indication in response to the executor negotiation request.
- the processor 1301, based on the flow control capability of the virtual machine 13052, the negotiation of the flow control policy between the host 13051 and the virtual machine 13052 may include: the processor negotiation request, where the executive negotiation request carries the foregoing Descriptive information of the flow control capability of the virtual machine 13052, where the description information of the flow control capability is used to describe a version of the flow control policy supported by the virtual machine, and the virtual machine 13052 receives the information sent by the host 13051.
- the processor 1301 determines that the negotiated flow control policy executor is the virtual machine; if the virtual machine 13052 does not receive the transmission sent by the host 13051 within the first set duration The processor 1301 may determine that the negotiated flow control policy executor is the host 13051 in response to the negotiation confirmation indication of the executor negotiation request.
- the processor 1301, based on the flow control capability of the virtual machine 13052, the negotiation of the flow control policy between the host 13051 and the virtual machine 13052 may include: the processor negotiation request, where the executive negotiation request carries the foregoing The processor 1301 determines that the negotiated flow control policy executor is the host 13051; if the virtual machine 13052 does not receive the above, the virtual machine 13052 does not receive the foregoing. Host machine The processor 1301 determines that the negotiated flow control policy executor is the virtual machine, in response to the negotiation denial indication sent in response to the foregoing executor negotiation request.
- the processor 1301, based on the flow control capability of the virtual machine 13052, the negotiation of the flow control policy between the host 13051 and the virtual machine 13052 may include: the processor negotiation request, where the executive negotiation request carries the foregoing Descriptive information of the flow control capability of the virtual machine 13052, where the description information of the flow control capability is used to describe a version of the flow control policy supported by the virtual machine, and the virtual machine 13052 receives the information sent by the host 13051.
- the processor 1301 determines that the negotiated flow control policy executor is the host 13051; if the virtual machine 13052 does not receive the upper 1301 within the second set duration, the negotiation is determined.
- the execution of the flow control policy is the above virtual machine.
- the foregoing negotiation confirmation indication includes the foregoing flow control policy.
- the processor 1301 may perform the forwarding process on the packet to be forwarded by the virtual machine 13052 based on the traffic control policy.
- the processor 1301 may use the traffic control policy included in the negotiation confirmation indication to the virtual machine 13052.
- the packets to be forwarded are forwarded.
- the host 13051 can also pass the traffic control policy to the virtual machine 13052 by other means, so that after determining that the negotiated flow control policy executor is the virtual machine 13052, the processor 1301 transmits the traffic based on the host 13051.
- the control policy forwards the packet to be forwarded by the virtual machine 13052.
- the flow control policy may be pre-configured in the virtual machine 13052.
- the processor 1301 After the host machine 13051 receives the foregoing execution party negotiation request, if the description information of the flow control capability is used to describe a version of the flow control policy supported by the virtual machine, the processor 1301 And determining, according to the description information of the traffic control capability, whether the virtual machine supports the current latest version or the preset version of the traffic control policy, and specifically, the method may include: comparing the description information of the traffic control capability to describe the traffic supported by the virtual machine. Control Whether the version of the policy is the same as the current version or the default version of the flow control policy. If yes, it can be determined that the virtual machine supports the current latest version or the preset version of the flow control policy; if not, the virtual machine can be determined.
- the flow control policy of the current latest version or the preset version is not supported.
- the determining, by the processor 1301, whether the virtual machine supports the current latest version or the preset version of the flow control policy according to the description information of the flow control capability may include: comparing the description information of the flow control capability to describe the virtual Whether each version of the k (positive integer) versions of the flow control policy supported by the machine is the same as the current latest version or the default version of the flow control policy. If one of the above k versions is compared If the version is the same as the current version or the default version of the traffic control policy, you can determine that the VM supports the current latest version or the default version of the traffic control policy. If you compare any of the above k versions with the traffic. If the current version or the preset version of the control policy is different, it may be determined that the virtual machine does not support the current latest version or the preset version of the flow control policy.
- the processor 1301 is further configured to: after the executed execution of the flow control policy is the virtual machine 13052, if the host 13051 does not receive the virtual machine from the virtual machine within a set duration
- the heartbeat message of 13052 is sent to the virtual machine 13052 to send an indication message that the host 13051 sends to the virtual machine 13052 to indicate that the executor of the flow control policy switches to the host 13051.
- the traffic control policy on which the processor 1301 processes the packet to be forwarded by the host 13052 or the virtual machine 13051 in this embodiment may be, for example, a quality of service based traffic control policy and/or an access control list based traffic control policy.
- the above flow control strategy can also be a flow control strategy that refers to other factors.
- the QoS-based traffic control policy is based on the service priority of the packet to be forwarded to determine the specific forwarding processing mode of the packet.
- the specific forwarding processing mode may be delayed sending of packets or delayed transmission. Packets or discarded packets, etc.). For example, if there are multiple packets to be forwarded in the current cache, the packet transmission delay with the higher priority of the corresponding service may be shorter or even no delay. The lower the packet priority of the corresponding service, the longer the packet transmission delay may be. It is even possible to discard the quality of service guaranteed for high priority services. That is, the forwarding of the packet to be forwarded by the QoS-based traffic control policy may include: according to the service priority of the packet to be forwarded The forwarding processing method is used to forward the packet to be forwarded.
- the traffic control policy based on the ACL is mainly based on whether the information carried in the packet to be forwarded and the record included in the ACL are matched to determine the specific forwarding processing mode of the packet.
- the access control list is a restricted access control list (like a blacklist), a source/destination address of the packet to be forwarded, an application layer protocol type, a transport layer protocol type, and/or a specific keyword included in the header. If the information in the ACL is matched, the forwarding processing of the packet to be forwarded may be directly discarded. Otherwise, the source/destination address of the packet to be forwarded and the application layer protocol.
- the forwarding processing of the packet to be forwarded may be forwarded.
- the access control list is an access control list (like a whitelist)
- the source/destination address, the application layer protocol type, the transport layer protocol type, and/or the packet header of the packet to be forwarded are included.
- the forwarding processing of the packet to be forwarded may be directly discarded, and the source/destination address of the packet to be forwarded is
- the information of the application layer protocol type, the transport layer protocol type, and/or the keyword included in the packet header may be forwarded by the forwarding control packet if the ACL is matched. The message. Other cases and so on.
- the sending, by the processor 1301, to the host 13051, the execution request of the virtual machine 13052 to be sent to the host 13051 may include:
- the processing party negotiates the request; or, the virtual machine 13052 receives the executive negotiation request sent by the negotiation starting host 13051 from the host 13051.
- the performing the flow control function based on the virtual machine 13052 and the executing the flow control policy between the host 13051 and the virtual machine 13052 may include: pre-configuring in the virtual machine 13052 After the connection between the client and the preloaded server deployed in the host 13051 is completed, the processor 1301 establishes the above connection, based on the flow control capability of the virtual machine 13052, at the host 13051 and the virtual machine. Traffic control policy negotiated between 13052 Execution.
- the mechanism for negotiating the flow control policy executor between 13051, with the assistance of the processor 1301, makes the virtual machine 13052 and the host machine 13051 have the opportunity to become the flow control policy executor, which makes the flow control policy by the execution virtual machine 13052 become
- This may be beneficial to the flow control of the packet flow as early as possible, thereby reducing invalid processing and reducing the bandwidth of the invalid packet and the occupation of the address space of the host 13051. It can be seen that the foregoing solution is advantageous for reducing the occupation of the packet traffic of the forwarding processing virtual machine 13052 in the outbound direction of the host 13051.
- the flow control strategy executor is determined through negotiation, it is beneficial to improve the reliability of the flow control strategy execution.
- the virtual machine 13052 when both the virtual machine 13052 and the host 13051 support the execution of the flow control policy, the virtual machine 13052 is preferentially executed to execute the flow control policy, which further facilitates the flow control of the packet as early as possible, thereby further reducing the flow. Invalid processing and invalid packet traffic occupy bandwidth.
- the embodiment of the present invention further provides a computer storage medium, wherein the computer storage medium may store a program, and the program includes some or all of the steps of the message flow control method described in the foregoing method embodiment.
- the disclosed apparatus may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the above units is only a logical function division, and the actual implementation may have another division manner, for example.
- multiple units or components may be combined or integrated into another system, or some features may be omitted or not implemented.
- the mutual coupling or direct connection or communication connection shown or discussed may be an indirect connection or communication connection through some interface, device or unit, and may be in electrical or other form.
- the components displayed by the unit may or may not be physical units, that is, may be in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
- the above integrated units if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may contribute to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
- the instructions include a plurality of instructions for causing a computer device (which may be a personal computer, a server or a network device or a processor coupled to a memory, etc.) to perform all or part of the steps of the above-described methods of various embodiments of the present invention.
- the foregoing storage medium includes: a USB flash drive, a read-only memory (English: read-only memory, abbreviation: ROM), a random access memory (English: random access memory, abbreviation: RAM), a mobile hard disk, a magnetic disk, or an optical disk.
- a USB flash drive a read-only memory (English: read-only memory, abbreviation: ROM), a random access memory (English: random access memory, abbreviation: RAM), a mobile hard disk, a magnetic disk, or an optical disk.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020167020644A KR101875710B1 (ko) | 2013-12-30 | 2014-07-04 | 패킷 흐름 제어 방법, 관련 장치, 및 컴퓨팅 노드 |
EP14812400.1A EP2905948B1 (en) | 2013-12-30 | 2014-07-04 | Message traffic control method and related device, and calculation node |
JP2016543577A JP6336602B2 (ja) | 2013-12-30 | 2014-07-04 | パケットフロー制御方法、関連装置、及びコンピューティングノード |
US14/586,121 US9921867B2 (en) | 2013-12-30 | 2014-12-30 | Negotiation between virtual machine and host to determine executor of packet flow control policy with reduced address space |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310746701.5 | 2013-12-30 | ||
CN201310746701.5A CN103763403B (zh) | 2013-12-30 | 2013-12-30 | 报文流量控制方法及相关装置和计算节点 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/586,121 Continuation US9921867B2 (en) | 2013-12-30 | 2014-12-30 | Negotiation between virtual machine and host to determine executor of packet flow control policy with reduced address space |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015101000A1 true WO2015101000A1 (zh) | 2015-07-09 |
Family
ID=50530561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/081642 WO2015101000A1 (zh) | 2013-12-30 | 2014-07-04 | 报文流量控制方法及相关装置和计算节点 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2905948B1 (zh) |
JP (1) | JP6336602B2 (zh) |
KR (1) | KR101875710B1 (zh) |
CN (1) | CN103763403B (zh) |
WO (1) | WO2015101000A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763403B (zh) * | 2013-12-30 | 2017-03-15 | 华为技术有限公司 | 报文流量控制方法及相关装置和计算节点 |
US9921867B2 (en) | 2013-12-30 | 2018-03-20 | Huawei Technologies Co., Ltd. | Negotiation between virtual machine and host to determine executor of packet flow control policy with reduced address space |
CN104168205B (zh) * | 2014-08-06 | 2017-08-08 | 新华三技术有限公司 | 报文处理方法及装置 |
CN105099821B (zh) * | 2015-07-30 | 2020-05-12 | 奇安信科技集团股份有限公司 | 基于云的虚拟环境下流量监控的方法和装置 |
KR102137651B1 (ko) * | 2019-06-10 | 2020-07-24 | 국방과학연구소 | 서비스 플로우 기반 패킷 스케줄링 장치 및 방법 |
CN117478612B (zh) * | 2023-12-27 | 2024-03-15 | 成都新希望金融信息有限公司 | 流量分配方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413183A (zh) * | 2011-11-22 | 2012-04-11 | 中国联合网络通信集团有限公司 | 云智能交换机及其处理方法、系统 |
JP2013126062A (ja) * | 2011-12-14 | 2013-06-24 | Kddi Corp | ネットワークトラヒック制御装置、制御方法、およびプログラム |
CN103176833A (zh) * | 2013-03-11 | 2013-06-26 | 华为技术有限公司 | 一种基于虚拟机的数据发送方法、接收方法及系统 |
WO2013191972A1 (en) * | 2012-06-21 | 2013-12-27 | Microsoft Corporation | Offloading virtual machine flows to physical queues |
CN103763403A (zh) * | 2013-12-30 | 2014-04-30 | 华为技术有限公司 | 报文流量控制方法及相关装置和计算节点 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0517304D0 (en) * | 2005-08-23 | 2005-10-05 | Netronome Systems Inc | A system and method for processing and forwarding transmitted information |
US8385202B2 (en) * | 2008-08-27 | 2013-02-26 | Cisco Technology, Inc. | Virtual switch quality of service for virtual machines |
US10353722B2 (en) * | 2010-07-21 | 2019-07-16 | Nec Corporation | System and method of offloading cryptography processing from a virtual machine to a management module |
CN102594707A (zh) * | 2012-03-21 | 2012-07-18 | 北京天地云箱科技有限公司 | 网络控制系统及网络交换适配器 |
JP5871233B2 (ja) * | 2012-03-22 | 2016-03-01 | 株式会社日立製作所 | 計算機及び帯域制御方法 |
-
2013
- 2013-12-30 CN CN201310746701.5A patent/CN103763403B/zh active Active
-
2014
- 2014-07-04 KR KR1020167020644A patent/KR101875710B1/ko active IP Right Grant
- 2014-07-04 WO PCT/CN2014/081642 patent/WO2015101000A1/zh active Application Filing
- 2014-07-04 JP JP2016543577A patent/JP6336602B2/ja active Active
- 2014-07-04 EP EP14812400.1A patent/EP2905948B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413183A (zh) * | 2011-11-22 | 2012-04-11 | 中国联合网络通信集团有限公司 | 云智能交换机及其处理方法、系统 |
JP2013126062A (ja) * | 2011-12-14 | 2013-06-24 | Kddi Corp | ネットワークトラヒック制御装置、制御方法、およびプログラム |
WO2013191972A1 (en) * | 2012-06-21 | 2013-12-27 | Microsoft Corporation | Offloading virtual machine flows to physical queues |
CN103176833A (zh) * | 2013-03-11 | 2013-06-26 | 华为技术有限公司 | 一种基于虚拟机的数据发送方法、接收方法及系统 |
CN103763403A (zh) * | 2013-12-30 | 2014-04-30 | 华为技术有限公司 | 报文流量控制方法及相关装置和计算节点 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2905948A4 * |
Also Published As
Publication number | Publication date |
---|---|
EP2905948A1 (en) | 2015-08-12 |
CN103763403B (zh) | 2017-03-15 |
EP2905948A4 (en) | 2015-09-09 |
EP2905948B1 (en) | 2016-06-01 |
KR20160103114A (ko) | 2016-08-31 |
CN103763403A (zh) | 2014-04-30 |
KR101875710B1 (ko) | 2018-08-02 |
JP6336602B2 (ja) | 2018-06-06 |
JP2017503420A (ja) | 2017-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6335363B2 (ja) | 仮想クラウドインフラストラクチャへの仮想セキュリティ装置アーキテクチャの提供 | |
WO2015101000A1 (zh) | 报文流量控制方法及相关装置和计算节点 | |
EP2834735B1 (en) | Virtualized movement of enhanced network services associated with a virtual machine | |
US10333827B2 (en) | Adaptive session forwarding following virtual machine migration detection | |
JP6055310B2 (ja) | 仮想記憶ターゲットオフロード技術 | |
JP5837683B2 (ja) | ネットワークのセグメント化によるネイティブクラウドコンピューティング | |
US20130291088A1 (en) | Cooperative network security inspection | |
CA2961283C (en) | Resource management method, host, and endpoint | |
WO2017035395A1 (en) | System and method for network function virtualization resource management | |
WO2014206105A1 (zh) | 虚拟交换方法、相关装置和计算机系统 | |
WO2014032233A1 (zh) | 虚拟机热迁移的系统和方法 | |
WO2017186042A1 (zh) | 一种用于虚拟交换机技术中数据传输的方法及装置 | |
WO2014201623A1 (zh) | 用于数据传输的方法、装置和系统以及物理网卡 | |
WO2012149718A1 (zh) | 云计算系统中云终端访问云服务器的方法及云计算系统 | |
CN113039767A (zh) | 超融合存储中的分布式iscsi目标的主动-主动架构 | |
JP2009187090A (ja) | クラスタシステムおよび情報処理方法 | |
KR101644678B1 (ko) | 네크워크 입출력 가상화 환경에서 가상 머신의 이동성 지원 방법 및 이를 수행하는 장치 | |
US9921867B2 (en) | Negotiation between virtual machine and host to determine executor of packet flow control policy with reduced address space | |
JP2023040221A (ja) | プロバイダネットワークサービス拡張 | |
US11089066B2 (en) | System and method for dynamic medium access control (MAC) relating to a virtualization environment | |
US10042682B2 (en) | Copy message from application buffer to send buffer within kernel | |
US10362070B1 (en) | Method, system, and apparatus for achieving user space intervention during connection-establishment handshakes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 2014812400 Country of ref document: EP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14812400 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2016543577 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 20167020644 Country of ref document: KR Kind code of ref document: A |