CN107996023B - Method and equipment for monitoring virtual network and virtual network system - Google Patents

Method and equipment for monitoring virtual network and virtual network system Download PDF

Info

Publication number
CN107996023B
CN107996023B CN201680045729.8A CN201680045729A CN107996023B CN 107996023 B CN107996023 B CN 107996023B CN 201680045729 A CN201680045729 A CN 201680045729A CN 107996023 B CN107996023 B CN 107996023B
Authority
CN
China
Prior art keywords
time period
service
information
sending
computing server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680045729.8A
Other languages
Chinese (zh)
Other versions
CN107996023A (en
Inventor
张争宪
申思
李晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN107996023A publication Critical patent/CN107996023A/en
Application granted granted Critical
Publication of CN107996023B publication Critical patent/CN107996023B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

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

Abstract

The embodiment of the invention provides a method, equipment and a virtual network system for monitoring a virtual network, wherein the method comprises the steps that a network manager acquires service information in a current time period, the service information comprises sending information and receiving information of all Virtual Machines (VM) which are reported by each computing server in the virtual network and are positioned on each computing server, the sending information of a first VM comprises identification information of the first VM, identification information of a target VM of a service message sent by the first VM and the number of the service messages sent to the target VM by the first VM, and the receiving information of the first VM comprises the identification information of the first VM, identification information of a source VM of the service message received by the first VM and the number of the service messages sent by the first VM; and detecting the virtual network according to the service information. The embodiment of the invention realizes comprehensive and efficient virtual network detection.

Description

Method and equipment for monitoring virtual network and virtual network system
Technical Field
The present invention relates to the field of communications, and in particular, to a method and an apparatus for monitoring a virtual network, and a virtual network system.
Background
In a large-scale or even very-large-scale Virtual network, the network quality is often the most core benefit of an enterprise, and if a network quality problem cannot be found in real time, serious influence is brought to the enterprise, for example, when end-to-end in the Virtual network, such as connectivity problem, packet loss, flow break and the like from a Virtual Machine (VM) to a VM, a service is affected and loss is brought to the enterprise if a user does not find in time. Therefore, the operation and maintenance personnel need to know the end-to-end network quality of the whole network to cope with the emergency.
At present, for the situations of large-scale virtual network traffic interruption and packet loss, operation and maintenance personnel usually perform analysis after a user fails, so that the user experience is poor. Therefore, a scheme for detecting a virtual network is needed, which can discover a network failure in advance before a user fails, so that operation and maintenance personnel can perform network recovery for a failure point.
The existing scheme for detecting the virtual network is to randomly monitor the quality of the virtual network in a small range, however, the random monitoring in the small range cannot cover the whole network, has a large detection dead angle, and cannot meet the expected detection requirement. Another existing scheme for detecting a virtual network is to perform full detection on the entire network, that is, to send a probe packet to other VMs through each VM in the virtual network to achieve detection of network quality, however, all VM combination detection needs to consume a large amount of network resources, and consumes a long time, resulting in low efficiency.
Therefore, how to perform comprehensive and efficient virtual network detection becomes an urgent problem to be solved.
Disclosure of Invention
The embodiment of the invention provides a method, equipment and a virtual network system for monitoring a virtual network, wherein the method can comprehensively and efficiently detect the virtual network.
In a first aspect, a method for monitoring a virtual network is provided, the method including:
the method comprises the steps that a network manager acquires service information in a current time period, wherein the service information comprises sending information and receiving information of all VMs which are reported by each computing server in a virtual network and are positioned on each computing server, the sending information of a first VM comprises identification information of the first VM, identification information of a target VM of the service message sent by the first VM and the number of service messages sent to the target VM by the first VM, and the receiving information of the first VM comprises the identification information of the first VM, identification information of a source VM of the service message received by the first VM and the number of the service messages sent by the source VM received by the first VM;
and the network manager detects the virtual network according to the service information.
Therefore, in the embodiment of the invention, the network manager only detects the service message without detecting the whole network, thereby reducing the influence of detection on the flow, and the network manager detects the service message, namely detects the active VM, also avoids useless detection of the inactive VM in the whole network detection, can save network resources, and simultaneously detects all the active VMs, thereby avoiding the existence of detection dead angles, and further the embodiment of the invention realizes comprehensive and high-efficiency virtual network detection.
Optionally, in an implementation manner of the first aspect, the detecting, by the network manager, the virtual network according to the service information includes: and the network manager counts the packet loss rate of the virtual network according to the service information.
For example, the network manager may analyze how many data packets are sent to the destination VM by the source VM in the current time period and how many data packets are received by the destination VM according to the service information in the current time period, and if the data are consistent, there is no packet loss, and if the data are inconsistent, the packet loss rate is calculated according to the difference.
Specifically, the packet loss rate may be calculated according to the following formula:
R=(Ns-Nr)/Ns
wherein N issNumber of service messages sent by source VM, NrAnd R represents the packet loss rate.
Therefore, in the embodiment of the invention, the network manager only detects the packet loss rate of the counted service messages without detecting the whole network, thereby reducing the influence of detection on the flow and realizing comprehensive and efficient virtual network detection. In addition, in the embodiment of the invention, the network manager detects the service message, namely detects the active VM, and simultaneously detects the active VM, so that useless detection of the inactive VM in the whole network detection is avoided, network resources can be saved, and user experience is improved.
Optionally, in an implementation manner of the first aspect, the method for detecting a virtual network in the embodiment of the present invention may further include: and the network manager sends out a warning prompt when determining that the detected packet loss rate is greater than the packet loss rate threshold value so as to inform a user that the network has the packet loss problem. The packet loss rate threshold may be preset, or may be set manually, and a user may set the size of the packet loss rate threshold. The embodiments of the present invention are not limited thereto.
Therefore, when the packet loss rate is detected to be high, the embodiment of the invention can send out the warning prompt, so that the user can find the network quality problem in time, and does not need to find the network problem after the fault, so that the user can maintain the normal communication of the network in time, avoid unnecessary loss and improve the user experience.
Optionally, in an implementation manner of the first aspect, the service packet sent by the first VM and the received service packet include a first dyeing identifier of a current time period, where sending information and receiving information of all VMs on each computing server are counted by each computing server according to the first dyeing identifier of the current time period.
Optionally, in an implementation manner of the first aspect, the first dyeing identifier of the current time period is different from the first dyeing identifiers of the time periods adjacent to the current time period.
Specifically, in the embodiment of the present invention, in order to facilitate the calculation of the server statistics on the service packet, a first dyeing identifier may be set for each period. And in order to facilitate distinguishing between different periods, the first staining identities of adjacent time periods are different.
For example, the source VM may dye the service packet with the first dye identifier of alternating 0 and 1, and likewise, the destination VM may receive the service packet of alternating 0 and 1.
It should be understood that, in the embodiment of the present invention, the first dyeing identifier may be located in a certain field in the service message, for example, the first dyeing identifiers of different time periods are marked with different numbers or letters, and the embodiment of the present invention is not limited thereto.
For example, the first coloring flag at the current time period may be marked as 0 in the header field of the packet, the second coloring flag at the second time period is marked as 1, and so on.
Optionally, in an implementation manner of the first aspect, the service information in the current time period further includes sending timestamp information of a first service packet sent by a source VM of the first service packet, and receiving timestamp information of the first service packet received by a destination VM of the first service packet,
the network manager detects the virtual network according to the service information, and further includes:
and the network manager calculates the service time delay of the service flow topology corresponding to each time period according to the sending time stamp information and the receiving time stamp information.
Optionally, in an implementation manner of the first aspect, the first service packet includes a second dyeing identifier of the current time period, where the sending timestamp information and the receiving timestamp information of the first service packet are recorded by the computing servers where the source VM and the destination VM of the first service packet are located respectively according to the second dyeing identifier of the current time period,
wherein the second coloring identification of the current time period is different from the second coloring identification of the time period adjacent to the current time period.
It should be understood that, in the embodiment of the present invention, the second dyed identifier may be located in a certain field in the service message, for example, the second dyed identifiers of different time periods are marked with different numbers or letters, and the embodiment of the present invention is not limited thereto.
It is also understood that the first and second pigmented indicia may be different for the same time period in embodiments of the invention.
It should be understood that, in the embodiment of the present invention, the first service may be any one service in the current time period, for example, the first service may be a first service in the current time period.
Specifically, the sending end needs to record timestamp information of the first service packet, which is used for network delay detection. In the embodiment of the present invention, the delay analysis of the network may only detect one service in one period, and does not need to perform delay analysis on all packets in the period, for example, a first service in a specific time period may be selected to perform delay dyeing, that is, a second dyeing identifier is used to dye a service packet, and the computing server records the transmission timestamp information and the reception timestamp information of the first service packet according to the second dyeing identifier. Certainly, in practical applications, the embodiment of the present invention does not exclude performing delay dyeing on a plurality of service packets, and in this case, the network manager needs to calculate a plurality of delay data in the time period, and average the plurality of delay data to be used as the average delay of the virtual network in the time period.
Therefore, in the embodiment of the invention, the network manager can count the time delay according to the time stamp information of the service counted by the computing server, so as to realize the detection of the time delay of the network. In addition, the network manager detects the service message, namely detects the active VM, and simultaneously detects the active VM, so that useless detection of the inactive VM in the whole network detection is avoided, network resources can be saved, and user experience is improved.
Optionally, in an implementation manner of the first aspect, the method for detecting a virtual network in the embodiment of the present invention may further include: and the network manager sends out a warning prompt when determining that the virtual network delay is greater than the delay threshold value so as to inform a user that the network has a delay problem. The time delay threshold may be preset or may be set manually, and a user may set the size of the time delay threshold. The embodiments of the present invention are not limited thereto.
Therefore, the embodiment of the invention can send out the warning prompt when the time delay is larger, so that the user can find the network quality problem in time, and does not need to find the network problem after waiting for the fault, so that the user can maintain the normal communication of the network in time, avoid unnecessary loss and improve the user experience.
It should be understood that, in the embodiment of the present invention, the time period may be preset by the system, or may be set by the network manager, for example, the network manager determines the time period according to the time period instruction input by the user, and then instructs the computing server to set the time period. Each time period may include a transmit time period and a receive time period in embodiments of the present invention.
It should be understood that, in the embodiment of the present invention, the duration of the time period is not limited, for example, the duration of the time period is 5s, 10s, and 15s for waiting, which may be determined according to a specific practical situation in practical applications, and the embodiment of the present invention is not limited thereto.
Optionally, in one implementation form of the first aspect, the time period comprises a transmission time period and a reception time period,
the starting time of the sending time period is the same as the starting time of the receiving time period, and the duration of the receiving time period is longer than that of the sending time period;
the sending information and the receiving information of all VMs on each computing server are counted by each computing server in the sending time period and the receiving time period, respectively.
Therefore, in the embodiment of the present invention, the starting time of the sending time period and the starting time of the receiving time period are the same, and the duration of the receiving time period is set to be greater than the duration of the sending time period, even if there is a time delay in the network, because the receiving time period is longer, the receiving end can receive all messages sent by the sending end, therefore, in the embodiment of the present invention, the influence of the network time delay can be avoided, so that the receiving end can receive the service messages sent by the sending end in the sending time period, and further, all service information can be counted in the time period, so that the network manager can detect the virtual network according to the service information.
Optionally, in an implementation manner of the first aspect, the detecting, by the network manager, the virtual network according to the service information includes:
the network manager generates a current service flow topology corresponding to the current time period according to the service information, wherein the current service flow topology comprises an incidence relation among all VMs with service circulation in the current period;
the network manager updates a first total service flow topology into a second total service flow topology according to the current service flow topology, wherein the first total service flow topology is formed by overlapping service flow topologies corresponding to all time periods before the current time period, and the second total service flow topology is formed by overlapping the first total service flow topology and the current service flow topology;
and the network manager performs connectivity detection on the virtual network according to the second total service flow topology.
It should be understood that, in the embodiment of the present invention, two topologies may also be described as two topologies that are merged, and the two topologies are superimposed to obtain a superimposed topology, for example, a first topology and a second topology, where the superimposed topology is a topology formed by adding a difference topology to the first topology, and the difference topology is a topology in the second topology after removing a part that is the same as the first topology.
Therefore, in the embodiment of the invention, only the connectivity detection is carried out on the total service flow topology, and the connectivity detection is not required to be carried out on the full-text topology, so that the network resources can be saved, and the user experience is improved.
Further, in an implementation manner of the first aspect, the performing, by the network manager, connectivity detection on the virtual network according to the second total traffic flow topology includes:
the network manager generates a difference service flow topology according to the second total service flow topology and the current service flow topology, wherein the difference service flow topology is a topology in which the same part as the current service flow topology is removed from the second total service flow topology;
and the network manager performs connectivity detection on the difference service flow topology.
It should be understood that, in the embodiment of the present invention, connectivity detection may be performed after packet loss rate monitoring of the current service traffic topology, because the second total service traffic topology is larger than the current service traffic topology, and in detecting the packet loss rate of the current service traffic topology, the network manager already knows which VMs are connected (which have a transmission data packet) at the current time period, so that connectivity detection on the current service traffic topology is not required, and therefore, when connectivity detection on the second total service traffic topology at the next time, connectivity detection only needs to be performed on a part where the second total service traffic topology is different from the current service traffic topology, that is, on a difference service traffic topology.
Therefore, in the embodiment of the invention, only the connectivity detection is carried out on the difference service traffic topology, the repeated detection on the current service traffic topology can be avoided, and in addition, the embodiment of the invention does not need to carry out the connectivity detection on the full-text topology, so that the network resources can be saved, and the user experience is improved.
Specifically, in the embodiment of the present invention, the network manager may perform connectivity detection on the differentiated service traffic topology according to a method for constructing a packet in the prior art. For example, the network manager first constructs a virtual service packet, where the virtual service packet is sent to the destination VM for the source VM in the differentiated service traffic topology, so as to detect whether the source VM is connected to the destination VM. For example, a port (port) through which a VM is connected to an OVS is borrowed, a virtual source VM sends a message through the port, which is specially used for connectivity detection, and the message is dyed, for example, a virtual connectivity detection identifier is set for the message, after an opposite end destination VM obtains a virtual service message, the message can be determined as a virtual service message according to the virtual connectivity detection identifier, a response is returned after the destination VM obtains the virtual service message, and after a sending end (source VM) receives the response, it can be determined that the source VM and the destination VM are connected. Specifically, the configuration of the packet for connectivity detection may refer to the specification in the existing standard, and will not be described herein again.
Optionally, in an implementation manner of the first aspect, the method for detecting a virtual network in the embodiment of the present invention may further include: and when determining that the communication between the two VMs in the network is interrupted, the network manager sends out a warning prompt to inform a user that the network has connectivity problems.
Therefore, the embodiment of the invention sends out the warning prompt when the communication between the two VMs in the network is determined to be interrupted, so that the user can find the problem of the network connectivity as early as possible, therefore, the operation and maintenance personnel can solve the problem in the first time, maintain the normal communication of the network in time, reduce or avoid the loss caused by the network interruption and improve the user experience.
In a second aspect, a method for monitoring a virtual network is provided, the method comprising:
the method comprises the steps that a calculation server counts sending information and receiving information of all VMs located on the calculation server in a current time period, wherein the sending information of a first VM comprises identification information of the first VM, identification information of a target VM of a service message sent by the first VM and the number of the service messages sent to the target VM by the first VM, and the receiving information of the first VM comprises the identification information of the first VM, identification information of a source VM of the service message received by the first VM and the number of the service messages sent by the source VM received by the first VM;
the computing server sends sending information and receiving information of all the VMs located on the computing server to a network manager, so that the network manager detects the virtual network according to service information in a current time period, wherein the service information comprises the sending information and the receiving information of all the VMs located on each computing server and reported by each computing server in the virtual network.
Therefore, in the embodiment of the invention, the sending information and the receiving information of all the VMs on the computing server are counted by the computing server in the current time period, so that the subsequent network manager can conveniently detect the service message without detecting the whole network, thereby reducing the influence of the detection on the flow and realizing the comprehensive and efficient detection of the virtual network.
In addition, in the embodiment of the invention, the network manager detects the service message, namely detects the active VM, and simultaneously detects the active VM, so that useless detection of the inactive VM in the whole network detection is avoided, network resources can be saved, and user experience is improved.
It should be understood that the second aspect corresponds to the first aspect, the execution subject of the first aspect is a network manager, the execution subject of the second aspect may be a computing server, and corresponding features of the method on the computing server side may be referred to corresponding descriptions on the network server side of the first aspect, and therefore, a detailed description is appropriately omitted for brevity.
It should be understood that the first VM in the embodiments of the present invention may represent each VM or any one VM located on a respective computing server.
Optionally, in an implementation manner of the second aspect, the service packet sent by the first VM and the received service packet include a dyeing identifier of the current time period,
the computing server counts the sending information and the receiving information of all VMs positioned on the computing server in the current time period, and the method comprises the following steps:
and the computing server counts the sending information and the receiving information of all the VMs positioned on the computing server according to the first dyeing identification of the current time period.
Optionally, in an implementation manner of the second aspect, the dyeing identifier of the current time period is different from the dyeing identifiers of the time periods adjacent to the current time period.
Specifically, in the embodiment of the present invention, in order to facilitate the calculation of the server statistics on the service packet, a first dyeing identifier may be set for each period. And in order to facilitate distinguishing between different periods, the first staining identities of adjacent time periods are different.
For example, the source VM may dye the service packet with the first dye identifier of alternating 0 and 1, and likewise, the destination VM may receive the service packet of alternating 0 and 1.
It should be understood that, in the embodiment of the present invention, the first dyeing identifier may be located in a certain field in the service message, for example, the first dyeing identifiers of different time periods are marked with different numbers or letters, and the embodiment of the present invention is not limited thereto.
For example, the first coloring flag at the current time period may be marked as 0 in the header field of the packet, the second coloring flag at the second time period is marked as 1, and so on.
Specifically, after the service packet of the virtual machine is sent to the OVS, the computing server dyes the service packet at the OVS, for example, by modifying an OVS code, different first dyeing identifiers are set for different time periods. Or the computing server in the embodiment of the present invention may also intercept the service packet by inserting a hook function to add a dyeing identifier, and then send the service packet to the OVS for normal forwarding processing.
It should be understood that, in the embodiment of the present invention, the time period may be preset by the system, or may be set by the network manager, for example, the network manager determines the time period according to a time period instruction input by a user, and then issues an instruction to the computing server to set the time period. Each time period may include a transmit time period and a receive time period in embodiments of the present invention.
It should be understood that, in the embodiment of the present invention, the duration of the time period is not limited, for example, the duration of the time period is 5s, 10s, and 15s for waiting, which may be determined according to a specific practical situation in practical applications, and the embodiment of the present invention is not limited thereto.
Specifically, the calculation server sets one or more counters for each sending end (VM), counts data packets sent to different destination VMs by each source VM, and records how many data packets the source VM sends to which destination VMs in the current time period, and each different destination VM needs to be counted separately; the calculation server sets one or more counters for each receiver (VM), and records, for each destination VM, how many data packets sent by which source VMs are received in the current time period.
It should be understood that, when the counters at the sending end and the receiving end in the embodiment of the present invention record service information, for each service, five-tuple information (a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol) of the service needs to be recorded, and the computing server may count the number of packets sent by each source VM to the destination VM through the recorded five-tuple information of the service, and count the number of packets received by each destination VM from the source VM.
Optionally, in an implementation manner of the second aspect, the sending information of all VMs located on the computing server and counted by the computing server further includes sending timestamp information of a source VM sending the first service packet on the computing server;
or, the receiving information of all VMs located on the computation server counted by the computation server further includes receiving timestamp information of the destination VM receiving the first service packet on the computation server.
Optionally, in an implementation manner of the second aspect, the first service packet includes a second coloring identifier of the current time period, where sending timestamp information or receiving timestamp information of the first service packet is recorded by the computing server according to the second coloring identifier of the current time period, where the second coloring identifier of the current time period is different from the second coloring identifier of a time period adjacent to the current time period.
It should be understood that, in the embodiment of the present invention, the second dyed identifier may be located in a certain field in the service message, for example, the second dyed identifiers of different time periods are marked with different numbers or letters, and the embodiment of the present invention is not limited thereto.
It should be understood that the second coloring identification is different from the first coloring identification in that the second coloring identification is used for calculating the timestamp information of the server statistical service message, and the first coloring identification is used for calculating the transceiving information of the server statistical service message, and in order to avoid repetition, the detailed description is omitted here.
It is also understood that the first and second pigmented indicia may be different for the same time period in embodiments of the invention.
It should be understood that, in the embodiment of the present invention, the first service may be any one service in the current time period, for example, the first service may be a first service in the current time period.
Specifically, the sending end needs to record timestamp information of the first service packet, which is used for network delay detection. In the embodiment of the present invention, the delay analysis of the network may only detect one service in one period, and does not need to perform delay analysis on all packets in the period, for example, specifically, a first service in a time period may be selected to perform delay dyeing, and the transmission timestamp information and the reception timestamp information of the first service packet are recorded. Certainly, in practical applications, the embodiment of the present invention does not exclude performing delay dyeing on a plurality of service packets, and in this case, the network manager needs to calculate a plurality of delay data in the time period, and average the plurality of delay data to be used as the average delay of the virtual network in the time period.
Therefore, in the embodiment of the present invention, by counting the transmission timestamp information of the first service packet transmitted by the VM that transmits the first service packet, and the reception timestamp information of the first service packet received by the destination VM of the first service packet, the network manager can count the time delay according to the timestamp information, thereby implementing the detection of the time delay of the network.
Optionally, in one implementation form of the second aspect, the time period comprises a transmission time period and a reception time period,
the starting time of the sending time period is the same as the starting time of the receiving time period, and the duration of the receiving time period is longer than that of the sending time period;
the method for counting the sending information and the receiving information of all the VMs on the computing server by the computing server in the current time period comprises the following steps:
the computing server counts the sending information of all the VMs positioned on each computing server in the sending time period, and counts the receiving information of all the VMs positioned on each computing server in the receiving time period.
Therefore, in the embodiment of the present invention, the starting time of the sending time period and the starting time of the receiving time period are the same, and the duration of the receiving time period is set to be greater than the duration of the sending time period, even if there is a time delay in the network, because the receiving time period is longer, the receiving end can receive all messages sent by the sending end, therefore, in the embodiment of the present invention, the influence of the network time delay can be avoided, so that the receiving end can receive the service messages sent by the sending end in the sending time period, and further, all service information can be counted in the time period, so that the network manager can detect the virtual network according to the service information.
In a third aspect, a network manager is provided, configured to perform the method in any possible implementation manner of the first aspect and the first aspect. In particular, the first device comprises means for performing the above method.
In a fourth aspect, a computing server is provided for executing the method in any possible implementation manner of the second aspect and the second aspect. In particular, the second device comprises means for performing the above method.
In a fifth aspect, a network manager is provided, where the network manager includes a processor and a memory, where the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory to perform the method in any possible implementation manner of the first aspect and the first aspect.
In a sixth aspect, a computing server is provided, which includes a processor and a memory, the memory is used for storing a computer program, the processor is used for executing the computer program stored in the memory, and the method in any possible implementation manner of the second aspect and the second aspect is executed.
In a seventh aspect, a computer-readable medium is provided for storing a computer program comprising instructions for performing the first aspect, the method in any possible implementation manner of the first aspect.
In an eighth aspect, a computer-readable medium is provided for storing a computer program comprising instructions for performing the method of the second aspect, any possible implementation of the second aspect.
In a ninth aspect, there is provided a virtual network system comprising the network manager as in the third or fifth aspect, the computing server of the fourth or sixth aspect,
the computing server is used for counting the sending information and the receiving information of all the virtual machines VM on the computing server in the current time period and sending the sending information and the receiving information of all the VMs on the computing server to the network manager;
the network manager is used for detecting the virtual network according to service information, wherein the service information comprises sending information and receiving information of all VMs which are reported by each computing server in the virtual network system and are positioned on each computing server.
Therefore, in the embodiment of the invention, the network manager only detects the service message without detecting the whole network, thereby reducing the influence of detection on the flow, and the network manager detects the service message, namely detects the active VM, also avoids useless detection of the inactive VM in the whole network detection, can save network resources, and simultaneously detects all the active VMs, thereby avoiding the existence of detection dead angles, and further the embodiment of the invention realizes comprehensive and high-efficiency virtual network detection.
Drawings
Fig. 1 is a diagram of a virtual network architecture to which embodiments of the present invention are applicable.
FIG. 2 is a data center system architecture diagram to which embodiments of the present invention are applicable.
Fig. 3 is a schematic flow diagram of a method of monitoring a virtual network according to one embodiment of the invention.
FIG. 4 is a schematic diagram of a time period according to one embodiment of the invention.
Fig. 5 is a schematic diagram of a dye mark in a message according to an embodiment of the present invention.
Fig. 6 is a schematic diagram of a full network topology according to one embodiment of the invention.
Fig. 7 is a schematic diagram of a current traffic topology according to an embodiment of the present invention.
Fig. 8 is a schematic diagram of transmitting a service packet in a current time period according to an embodiment of the present invention.
Fig. 9 is a schematic diagram of a process of generating a differentiated traffic topology according to an embodiment of the present invention.
Fig. 10 is a schematic block diagram of a network manager according to one embodiment of the present invention.
FIG. 11 is a schematic block diagram of a compute server in accordance with one embodiment of the present invention.
Fig. 12 is a schematic block diagram of a network manager according to another embodiment of the present invention.
FIG. 13 is a schematic block diagram of a compute server according to another embodiment of the present invention.
Fig. 14 is a schematic block diagram of a virtual network system according to another embodiment of the present invention.
Detailed Description
The technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.
To facilitate understanding of embodiments of the present invention, a data center virtual network architecture diagram to which embodiments of the present invention are applicable is first described with reference to fig. 1.
Specifically, as shown in fig. 1, in a network planning of a data center or an enterprise, a network may be divided into an access layer, a convergence layer, and a core layer, where switches in the three layers correspond to an access switch, a convergence switch, and a core switch, respectively. The access switch is used for accessing the terminal, the aggregation switch is used for aggregating the access switches on the lower layer, and the core switch is used for aggregating the aggregation switch on the lower layer and is also responsible for being connected to the internet 120. The access Switch lower end may be connected to a soft Switch, that is, connected to an Open Virtual Switch (OVS), where each lower end of the OVS may correspond to multiple Virtual Machines (VMs). When communication is performed between different VMs, a packet needs to be forwarded according to a forwarding flow table or a load sharing table, so that communication between different VMs, that is, between a source VM and a destination VM, when the source VM and the destination VM are combined in the same node or cross-node is achieved. The forwarding flow table or the load sharing table needs to be generated and issued by a controller (not shown in the figure) to realize communication between different VMs. For example, in fig. 1, the VM1 under the OVS1 in the first node combination needs to communicate with the VM1 under the OVS5 in the second node combination, and the forwarding of the packet needs to be completed according to the load sharing table.
The three switches support the open flow OPENFLOW protocol, and the software Switch is an open virtual Switch (OpenVirtual Switch, abbreviated as "OVS"). One OVS may correspond to one compute server, and one compute server may create multiple VMs.
For example, as shown in fig. 2, each compute server (e.g., server 135 or server 140) may host one or more Virtual switches (Virtual Switch)145 (also referred to as open Virtual Switch OVS). Virtual switches and virtual machines are created and run on a virtual layer (Hypervisor)155 on each server, the virtual layer 155 enabling the virtualization and scheduling of physical resources on the servers for use by one or more virtual machines.
Specifically, fig. 2 depicts a Data Center system 200 architecture diagram to which embodiments of the present invention are applicable, i.e., there is at least one Network Manager, such as Data Center Network Manager 110 (DCNM), that manages the virtual Network architecture shown in fig. 1 via the internet 120. The data center network manager 110 may be implemented in the form of a server (server), on which an application App responsible for managing a network is integrated, but the embodiment of the present invention is not limited thereto.
In fig. 2, each virtual switch 145 may be configured to manage communication between virtual machines in a virtual machine network and/or sub-network of virtual machines. Each virtual switch 145 is implemented in software running on a server 135 (which may also be referred to as a compute node CNA). Thus, virtual switch 145 is able to implement the functionality of a physical switch. Similarly, each virtual machine 150 is implemented in software running on server 135. Virtual machine 150 is configured to communicate with other virtual machines via a network Fabric (Fabric) 115. The network fabric 115 may be described with reference to the three-layer switch in fig. 1, and will not be described herein for brevity. As shown in fig. 2, only two servers, server 135 and server 140, are shown, and virtual switch 145 may manage communications between 2 of the servers 135. However, embodiments of the present invention are not limited thereto, and any number of servers may exist for data center system 200, and each server may accommodate any number of virtual switches and any number of virtual machines.
For the network architectures of fig. 1 and 2, at the time of network quality detection, i.e., at the time of detecting the communication state between different VMs, i.e., between the source VM and the destination VM. The existing scheme is that a network manager randomly monitors the quality of a network in a small range, that is, the network manager randomly extracts a part of VMs from the whole network topology to perform quality detection, however, random monitoring in a small range cannot cover the whole network, a large detection dead angle exists, and an expected detection requirement cannot be met. The other existing scheme is full-network detection, that is, a network manager controls all virtual machines in a full-network topology to send detection messages to other virtual machines in the full-network topology to achieve detection of network quality, however, combined detection of all virtual machines consumes a large amount of network resources, and consumes a long time, resulting in low efficiency.
The method aims to solve the problems that the performance of the system is influenced by the whole network detection in the prior art, and larger detection dead angles exist in random detection. The embodiment of the invention skillfully provides a scheme for real-time detection of a virtual network based on dynamic services, the service messages among VMs are detected through servers, and then a network manager realizes the detection of the network quality according to the service information of the service messages detected by each server. In the embodiment of the invention, only the service message is detected without detecting the whole network, so that the influence of the detection on the flow is reduced, the network quality detection under a large-scale virtual network scene is easy to realize, the service message is detected, namely, the active VM is detected, the useless detection of the inactive VM in the whole network detection is avoided, the resource consumption is reduced, and the detection on all the active VMs is also avoided. Therefore, the embodiment of the invention realizes comprehensive and efficient virtual network detection.
Hereinafter, for convenience of understanding and explanation, by way of example and not limitation, a method of monitoring a virtual network topology according to an embodiment of the present invention will be described in detail with reference to a virtual network architecture to which the embodiment of the present invention shown in fig. 1 and 2 is applicable.
To facilitate an understanding of embodiments of the invention, some terms used in the description of embodiments of the invention herein are first defined as follows:
the term "full network topology" represents the topology of the association between all VMs in a virtual network; the term "current service traffic topology" represents the topology of the association relationship between VMs having service communication in a virtual network in the current period; the term "first total service traffic topology" denotes a topology formed by superimposing service traffic topologies corresponding to all time periods before the current time period; the term "second total service traffic topology" represents a topology formed by superimposing service traffic topologies corresponding to the current time period and all time periods before the current time period; the term "active VM" refers to a VM having communication with other VMs, e.g., a VM having communication traffic for a period of time, e.g., for a period of time, which may be a source VM of traffic or a destination VM of traffic; the term "inactive VM" denotes a VM that has no traffic communication for a long time, e.g., a VM that has no traffic communication for a period of time, such as a period of time.
Fig. 3 shows a schematic flow diagram of a method of monitoring a virtual network according to an embodiment of the invention, the method 100 as shown in fig. 3 comprising:
the compute server counts the send and receive information of all VMs located on the compute server during the current time period 310.
Specifically, each computing server in the virtual network counts the sending information and the receiving information of all VMs located on each computing server in the current time period.
The sending information of the first VM on the computing server includes identification information of the first VM, identification information of a destination VM of a service message sent by the first VM, and the number of service messages sent to the destination VM by the first VM, and the receiving information of the first VM includes identification information of the first VM, identification information of a source VM of the service message received by the first VM, and the number of service messages sent by the source VM received by the first VM.
Therefore, in the embodiment of the present invention, the sending information and the receiving information of all VMs located on the computing server are counted by the computing server in the current time period, so that the subsequent network manager can detect the service packet without detecting the whole network, thereby reducing the influence of the detection on the flow, and the network manager detects the active VMs by detecting the service packet, thereby also avoiding useless detection of the inactive VMs in the whole network detection, saving the network resources, and simultaneously detecting all the active VMs and avoiding the existence of detection dead angles, thereby implementing comprehensive and efficient virtual network detection.
It should be understood that the first VM in the embodiments of the present invention may represent each VM or any one VM located on a respective computing server.
Optionally, as another embodiment, the service packet sent by the first VM and the received service packet include a first coloring identifier of the current time period, where in 310, the computing server counts sending information and receiving information of all VMs located on the computing server according to the first coloring identifier of the current time period.
Further, as another embodiment, the first dyeing identification of the current time period is different from the first dyeing identification of the time period adjacent to the current time period.
Specifically, in the embodiment of the present invention, in order to facilitate the calculation of the server statistics on the service packet, a first dyeing identifier may be set for each period, and in order to facilitate distinguishing between different periods, the first dyeing identifiers of adjacent time periods may be different.
For example, as shown in fig. 4, the source VM may dye the service packet using the first dye identifier of alternating 0 and 1, and similarly, the destination VM may receive the service packet of alternating 0 and 1.
It should be understood that, in the embodiment of the present invention, the first dyeing identifier may be located in a certain field in the service message, for example, the first dyeing identifiers of different time periods are marked with different numbers or letters, and the embodiment of the present invention is not limited thereto.
For example, the first coloring flag at the current time period may be marked as 0 in the header field of the packet, the second coloring flag at the second time period is marked as 1, and so on.
Specifically, after the service packet of the virtual machine is sent to the OVS, the computing server dyes the service packet at the OVS, for example, by modifying an OVS code, different first dyeing identifiers are set for different time periods. Or the computing server in the embodiment of the present invention may also intercept the service packet by inserting a hook function to add a dyeing identifier, and then send the service packet to the OVS for normal forwarding processing.
It should be understood that, in the embodiment of the present invention, the time period may be preset by the system, or may be set by the network manager, for example, the network manager determines the time period according to a time period instruction input by a user, and then issues an instruction to the computing server to set the time period. Each time period may include a transmit time period and a receive time period in embodiments of the present invention.
It should be understood that, in the embodiment of the present invention, the duration of the time period is not limited, for example, the duration of the time period is 5s, 10s, and 15s for waiting, which may be determined according to a specific practical situation in practical applications, and the embodiment of the present invention is not limited thereto.
Optionally, as another embodiment, the starting time of the sending time period is the same as the starting time of the receiving time period, and the duration of the receiving time period is greater than the duration of the sending time period;
in 310, the computing server counts the sending information of all VMs located on each computing server in the sending time period, and counts the information of the service packet received by all VMs located on each computing server in the receiving time period.
Therefore, in the embodiment of the present invention, the starting time of the sending time period and the starting time of the receiving time period are the same, and the duration of the receiving time period is set to be greater than the duration of the sending time period, even if there is a time delay in the network, because the receiving time period is longer, the receiving end can receive all messages sent by the sending end, therefore, in the embodiment of the present invention, the influence of the network time delay can be avoided, so that the receiving end can receive the service messages sent by the sending end in the sending time period, and further, all service information can be counted in the time period, so that the network manager can detect the virtual network according to the service information.
As shown in fig. 5, for example, the network manager may start a timer, based on which 2 time stamps may be set, for example, the first time stamp is a transmission time period, such as 10s, of the service sender (source VM), the second time stamp is a reception time period of the service receiver (destination VM), which may be defined as 10s (1+2/3), the computation server dyes the packets sent by each sender on the computation server after the timing starts, for example, marks a field in the IP header of the packet with a dye identifier, the stain identifiers may be different numeric or alphabetic labels at different time periods of the system timer, representing different periods of staining, e.g., the dye flag at the current time period may be marked as 0 in the packet header field of the packet, the dye flag at the next time period is marked as 1, and so on. When the first time mark is reached, the network manager or the calculation server can trigger a notification to notify all the sending ends to stop dyeing, but the receiving ends continue to receive the dyeing data, and until the second time mark is reached, the calculation server triggers the notification to notify the receiving ends to stop receiving the dyeing data.
By dyeing the service message of each time period, each computing server can conveniently count the information of the service message sent by the VM on the computing server and the information of the received service message.
Specifically, the calculation server sets one or more counters for each sending end (VM), counts data packets sent to different destination VMs by each source VM, and records how many data packets the source VM sends to which destination VMs in the current time period, and each different destination VM needs to be counted separately; the calculation server sets one or more counters for each receiver (VM), and records, for each destination VM, how many data packets sent by which source VMs are received in the current time period.
It should be understood that, when the counters at the sending end and the receiving end in the embodiment of the present invention record service information, for each service, five-tuple information (a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol) of the service needs to be recorded, and the computing server may count the number of packets sent by each source VM to the destination VM through the recorded five-tuple information of the service, and count the number of packets received by each destination VM from the source VM.
Optionally, as another embodiment, the service information in the current time period may further include sending timestamp information of the source VM of the first service packet sending the first service packet, and receiving timestamp information of the destination VM of the first service packet receiving the first service packet.
Optionally, in an implementation manner of the first aspect, the first service packet includes a second dyeing identifier of the current time period, where the sending timestamp information and the receiving timestamp information of the first service packet are recorded by the computing servers where the source VM and the destination VM of the first service packet are located respectively according to the second dyeing identifier of the current time period,
wherein the second coloring identification of the current time period is different from the second coloring identification of the time period adjacent to the current time period.
It should be understood that, in the embodiment of the present invention, the second dyed identifier may be located in a certain field in the service message, for example, the second dyed identifiers of different time periods are marked with different numbers or letters, and the embodiment of the present invention is not limited thereto.
It should be understood that the second coloring identification is different from the first coloring identification in that the second coloring identification is used for calculating the timestamp information of the server statistical service message, and the first coloring identification is used for calculating the transceiving information of the server statistical service message, and in order to avoid repetition, the detailed description is omitted here.
It is also understood that the first and second pigmented indicia may be different for the same time period in embodiments of the invention.
It should be understood that, in the embodiment of the present invention, the first service may be any one service in the current time period, for example, the first service may be a first service in the current time period.
Specifically, the sending end needs to record timestamp information of the first service packet, which is used for network delay detection. In the embodiment of the present invention, the delay analysis of the network may only detect one service in one period, and does not need to perform delay analysis on all packets in the period, for example, specifically, a first service in a time period may be selected to perform delay dyeing, and the transmission timestamp information and the reception timestamp information of the first service packet are recorded. Certainly, in practical applications, the embodiment of the present invention does not exclude performing delay dyeing on a plurality of service packets, and in this case, the network manager needs to calculate a plurality of delay data in the time period, and average the plurality of delay data to be used as the average delay of the virtual network in the time period.
Therefore, in the embodiment of the present invention, by counting the transmission timestamp information of the first service packet transmitted by the VM that transmits the first service packet, and the reception timestamp information of the first service packet received by the destination VM of the first service packet, the network manager can count the time delay according to the timestamp information, thereby implementing the detection of the time delay of the network.
320, the compute server sends to the network manager the send and receive information for all VMs located on the compute server,
specifically, each computing server in the virtual network reports the number of data packets that are recorded by each computing server and sent to different VMs within a time period, and the number of data packets from different VMs received within a period to the network server. Optionally, the computing server may also report timestamp information of sending the first service packet and timestamp information of receiving the first service packet.
For example, the information reported by the compute server to the network manager may include: how many packets the VM1 sends to which destination VMs (e.g., VM2, VM3, VM4, etc.), how many packets the destination VM2 receives from VM1, how many packets the destination VM3 receives from VM1, etc., and when VM1 sends a packet to VM2 for calculating latency, when VM2 receives the packet, etc.
Therefore, in the embodiment of the present invention, the computing server sends the sending information and the receiving information of all VMs located on the computing server to the network manager, so that the subsequent network manager can detect the service packet without detecting the whole network, thereby reducing the influence of the detection on the flow, and the network manager detects the active VMs by detecting the service packet, thereby also avoiding useless detection of the inactive VMs in the whole network detection, saving the network resources, and simultaneously detecting all the active VMs and avoiding the existence of detection dead angles.
330, the network manager counts the packet loss rate of the virtual network.
Specifically, the network manager calculates the packet loss rate of the virtual network according to the service information.
For example, the computing server counts the sending information of all VMs located on each computing server in the sending time period, and counts the information of the service packets received by all VMs located on each computing server in the receiving time period. And calculating the packet loss rate in the current virtual network according to the statistical information.
For example, assuming that a virtual network includes 6 virtual machines, respectively VM1, VM2, VM3, VM4, VM5, and VM6, the full network topology is as shown in fig. 6. There are 6 VMs in FIG. 6 and 15 pairs of interconnections, FIG. 6 is merely exemplary, and embodiments of the present invention are not limited thereto, e.g., if there are N VMs in a virtual network, then the association is C2 NFor example, if there are 1000 VMs in the virtual network, the interconnection relationship is 499500 pairs.
Assuming that, in the current time period, the VM2 receives the service packet sent by the VM1, and the VM2 also receives the service packet sent by the VM3, then the network manager can obtain, according to the service information reported by the computing server, a current service traffic topology corresponding to the current time period, as shown in fig. 7.
The network manager may count a packet loss rate in the current service traffic topology corresponding to the current time period according to the service information in the current time period, that is, the information of the service packet sent by each virtual machine VM and the information of the received service packet.
In short, the network manager may analyze how many data packets are sent to the destination VM by the source VM in the current time period and how many data packets are received by the destination VM according to the service information in the current time period, and if the data are consistent, there is no packet loss, and if the data are inconsistent, the packet loss rate is calculated according to the difference.
Specifically, the packet loss rate may be calculated according to the following formula:
R=(Ns-Nr)/Ns
wherein N issNumber of service messages sent by source VM, NrAnd R represents the packet loss rate.
For example, as shown in fig. 8, if the source VM1 sends 4 service messages to the destination VM2 in the current time period, the destination VM2 receives 3 service messages, the source VM3 sends 1 service message to the destination VM2 in the current time period, and the destination VM2 receives 1 service message, the packet loss rate in the current time period can be obtained as (5-4)/5-20% according to the above formula.
Therefore, in the embodiment of the present invention, the network manager only performs packet loss rate detection on the counted service packet, and does not need to perform detection on the whole network, thereby reducing the influence of detection on the flow, and the network manager performs detection on the service packet, that is, detects an active VM, also avoids useless detection on an inactive VM in the whole network detection, and can save network resources, and simultaneously, detects all active VMs and also avoids the existence of detection dead angles, thereby implementing comprehensive and efficient virtual network detection.
Optionally, as another embodiment, the method for detecting a virtual network in the embodiment of the present invention may further include: and the network manager sends out a warning prompt when determining that the detected packet loss rate is greater than the packet loss rate threshold value so as to inform a user that the network has the packet loss problem. The packet loss rate threshold may be preset, or may be set manually, and a user may set the size of the packet loss rate threshold. The embodiments of the present invention are not limited thereto.
Therefore, when the packet loss rate is detected to be high, the embodiment of the invention can send out the warning prompt, so that the user can find the network quality problem in time, and does not need to find the network problem after the fault, so that the user can maintain the normal communication of the network in time, avoid unnecessary loss and improve the user experience.
The foregoing describes a process of detecting packet loss rate of a virtual network by a network manager. Optionally, in the embodiment of the present invention, the network manager may also perform delay detection on the virtual network.
Specifically, as another embodiment, when the service information includes timestamp information, in an embodiment of the present invention, the method further includes:
340, the network manager calculates the service time delay of the service traffic topology corresponding to each time period according to the sending timestamp information and the receiving timestamp information.
For example, the network manager analyzes the time delay according to the timestamp information reported by the sending end and the receiving end. Preferably, one of the first 100ms of the period is selected, or the first data packet is selected to be dyed by using the second dyeing identifier, so that the receiving end can receive the data packet.
Specifically, in the embodiment of the present invention, the network manager determines, according to the timestamp information of the first service packet, a delay of the virtual network in the time period, for example, a difference between a receiving time and a sending time of the first service packet is used as the delay of the virtual network.
Or, when the service information includes the sending time and the receiving time information of the plurality of service packets, the network manager may calculate the time delays corresponding to the plurality of services in the current time period, and use an average value of the plurality of time delays as the time delay of the virtual network in the current time period.
Therefore, in the embodiment of the invention, the network manager can count the time delay according to the time stamp information of the service counted by the computing server, so as to realize the detection of the time delay of the network. In addition, the network manager detects the service message, namely detects the active VM, and simultaneously detects the active VM, so that useless detection of the inactive VM in the whole network detection is avoided, network resources can be saved, and user experience is improved.
Optionally, as another embodiment, the method for detecting a virtual network in the embodiment of the present invention may further include: and the network manager sends out a warning prompt when determining that the virtual network delay is greater than the delay threshold value so as to inform a user that the network has a delay problem. The time delay threshold may be preset or may be set manually, and a user may set the size of the time delay threshold. The embodiments of the present invention are not limited thereto.
Therefore, the embodiment of the invention can send out the warning prompt when the time delay is larger, so that the user can find the network quality problem in time, and does not need to find the network problem after waiting for the fault, so that the user can maintain the normal communication of the network in time, avoid unnecessary loss and improve the user experience.
The foregoing describes a process of detecting packet loss rate and delay for a virtual network by a network manager. Optionally, in the embodiment of the present invention, the network manager may also perform connectivity detection on the virtual network.
Specifically, as another embodiment, the method may further include:
340, the network manager performs connectivity check on the virtual network.
Specifically, the network manager generates a current service traffic topology corresponding to a current time period according to the service information, where the current service traffic topology includes an association relationship between VMs having service circulation in the current period;
the network manager updates a first total service flow topology into a second total service flow topology according to the current service flow topology, wherein the first total service flow topology is formed by overlapping service flow topologies corresponding to all time periods before the current time period, and the second total service flow topology is formed by overlapping the first total service flow topology and the current service flow topology;
and the network manager performs connectivity detection on the virtual network according to the second total service flow topology.
It should be understood that, in the embodiment of the present invention, two topologies may also be described as two topologies that are merged, and the two topologies are superimposed to obtain a superimposed topology, for example, a first topology and a second topology, where the superimposed topology is a topology formed by adding a difference topology to the first topology, and the difference topology is a topology in the second topology after removing a part that is the same as the first topology.
For example, for the full network topology shown in fig. 6. As shown in fig. 9, the first total traffic topology is a topology formed by superimposing traffic topologies corresponding to all time periods before the current time period. For example, the first total traffic topology is formed by overlapping topology a and topology B. The network manager may update the first total traffic topology to a second total traffic topology based on the current traffic topology (e.g., as shown in fig. 7). The network manager may then perform connectivity checks based on the second total traffic topology.
Therefore, in the embodiment of the invention, only the connectivity detection is carried out on the total service flow topology, and the connectivity detection is not required to be carried out on the full-text topology, so that the network resources can be saved, and the user experience is improved.
Further, as another embodiment, the performing, by the network manager, connectivity detection on the virtual network according to the second total traffic flow topology includes:
the network manager generates a difference service flow topology according to the second total service flow topology and the current service flow topology, wherein the difference service flow topology is a topology in which the same part as the current service flow topology is removed from the second total service flow topology;
and the network manager performs connectivity detection on the difference service flow topology.
For example, for the full network topology shown in fig. 6. As shown in fig. 9, the first total traffic topology is a topology formed by superimposing traffic topologies corresponding to all time periods before the current time period. For example, the first total traffic topology is formed by overlapping topology a and topology B. The network manager may update the first total traffic topology to a second total traffic topology based on the current traffic topology (e.g., as shown in fig. 7). In other words, the second total traffic topology may be a superposition of topology a, topology B and the current traffic topology. The network manager may then generate a difference traffic topology based on the second total traffic topology and the current traffic topology. And finally, the network manager performs connectivity detection on the difference service flow topology.
It should be understood that, in the embodiment of the present invention, connectivity detection may be performed after packet loss rate monitoring of the current service traffic topology, because the second total service traffic topology is larger than the current service traffic topology, and in detecting the packet loss rate of the current service traffic topology, the network manager already knows which VMs are connected (which have a transmission data packet) at the current time period, so that connectivity detection on the current service traffic topology is not required, and therefore, when connectivity detection on the second total service traffic topology at the next time, connectivity detection only needs to be performed on a part where the second total service traffic topology is different from the current service traffic topology, that is, on a difference service traffic topology.
Therefore, in the embodiment of the invention, only the connectivity detection is carried out on the difference service traffic topology, the repeated detection on the current service traffic topology can be avoided, and in addition, the embodiment of the invention does not need to carry out the connectivity detection on the full-text topology, so that the network resources can be saved, and the user experience is improved.
Specifically, in the embodiment of the present invention, the network manager may perform connectivity detection on the second total traffic flow topology or the differential traffic flow topology according to a method for constructing a packet in the prior art. For example, the network manager first constructs a virtual service packet, where the virtual service packet is sent to the destination VM by the source VM in the second total service traffic topology or the differential service traffic topology, so as to detect whether the source VM is connected to the destination VM. For example, a port (port) through which a VM is connected to an OVS is borrowed, a virtual source VM sends a message through the port, which is specially used for connectivity detection, and the message is dyed, for example, a virtual connectivity detection identifier is set for the message, after an opposite end destination VM obtains a virtual service message, the message can be determined as a virtual service message according to the virtual connectivity detection identifier, a response is returned after the destination VM obtains the virtual service message, and after a sending end (source VM) receives the response, it can be determined that the source VM and the destination VM are connected. Specifically, the configuration of the packet for connectivity detection may refer to the specification in the existing standard, and will not be described herein again.
Optionally, as another embodiment, the method for detecting a virtual network in the embodiment of the present invention may further include: and when determining that the communication between the two VMs in the network is interrupted, the network manager sends out a warning prompt to inform a user that the network has connectivity problems.
Therefore, the embodiment of the invention sends out the warning prompt when the communication between the two VMs in the network is determined to be interrupted, so that the user can find the problem of the network connectivity as early as possible, therefore, the operation and maintenance personnel can solve the problem in the first time, maintain the normal communication of the network in time, reduce or avoid the loss caused by the network interruption and improve the user experience.
It should be noted that the examples of fig. 1 to 9 are only for assisting those skilled in the art in understanding the embodiments of the present invention, and are not intended to limit the embodiments of the present invention to the specific values or the specific scenarios illustrated. It is obvious that those skilled in the art may make various equivalent modifications or changes according to the examples of fig. 1 to fig. 9 given, for example, in practical applications, the network manager may only perform detection of delay, connectivity, or packet loss rate according to the reported service information; alternatively, after obtaining the second total traffic flow topology, the delay detection may be performed according to the existing manner, that is, the delay detection is performed on the virtual network based on the second total traffic flow topology, and such modifications or changes also fall within the scope of the embodiments of the present invention.
It should be understood that the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiment of the present invention.
The network manager according to the embodiment of the present invention will be described with reference to fig. 10 and 12, and the computing server according to the embodiment of the present invention will be described with reference to fig. 11 and 13.
It should be appreciated that the terms "component," "module," "system," and the like as used herein are intended to refer to a computer-related entity, either hardware, firmware, a combination of hardware and software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a computing device and the computing device can be a component. One or more components can reside within a process and/or thread of execution and a component can be localized on one computer and/or distributed between 2 or more computers. In addition, these components can execute from various computer readable media having various data structures stored thereon. The components may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from two components interacting with another component in a local system, distributed system, and/or across a network such as the internet with other systems by way of the signal).
Fig. 10 shows a schematic block diagram of a network manager 1000 according to an embodiment of the present invention, and in particular, as shown in fig. 10, the network manager 1000 includes:
an obtaining module 1010, configured to obtain service information in a current time period, where the service information includes sending information and receiving information of all VMs, located on each compute server, and reported by each compute server in the virtual network, where the sending information of a first VM includes identification information of the first VM, identification information of a destination VM of a service packet sent by the first VM, and a number of service packets sent to the destination VM by the first VM, and the receiving information of the first VM includes identification information of the first VM, identification information of a source VM of the service packet received by the first VM, and a number of service packets sent by the source VM received by the first VM;
a detecting module 1020, configured to detect the virtual network according to the service information.
Therefore, in the embodiment of the invention, the network manager only detects the service message without detecting the whole network, thereby reducing the influence of detection on the flow and realizing comprehensive and high-efficiency virtual network detection.
In addition, in the embodiment of the invention, the network manager detects the service message, namely detects the active VM, and simultaneously detects the active VM, so that useless detection of the inactive VM in the whole network detection is avoided, network resources can be saved, and user experience is improved.
Optionally, as another embodiment, the detecting module 1020 is specifically configured to count a packet loss rate of the virtual network according to the service information.
Therefore, in the embodiment of the present invention, the network manager only performs packet loss rate detection on the counted service packet, and does not need to perform detection on the whole network, so as to reduce the influence of detection on the flow, and the network manager performs detection on the service packet, that is, detects an active VM, and also avoids useless detection on an inactive VM in the whole network detection, so as to save network resources, and simultaneously, detects all active VMs and also avoids the existence of detection dead angles, thereby implementing comprehensive and efficient virtual network detection.
Optionally, as another embodiment, the detecting module 1020 is specifically configured to generate a current service traffic topology corresponding to a current time period according to the service information, where the current service traffic topology includes an association relationship between VMs having service circulation in the current period;
updating a first total service flow topology into a second total service flow topology according to the current service flow topology, wherein the first total service flow topology is formed by overlapping service flow topologies corresponding to all time periods before the current time period, and the second total service flow topology is formed by overlapping the first total service flow topology and the current service flow topology;
and performing connectivity detection on the virtual network according to the second total service flow topology.
Optionally, as another embodiment, the detecting module 1020 is specifically configured to generate a difference service traffic topology according to the second total service traffic topology and the current service traffic topology, where the difference service traffic topology is a topology of the second total service traffic topology from which the same part as the current service traffic topology is removed; and performing connectivity detection on the difference service flow topology.
Optionally, as another embodiment, the service packet sent by the first VM and the received service packet include a first dyeing identifier of the current time period, where the sending information and the receiving information of all VMs on each computing server are counted by each computing server according to the first dyeing identifier of the current time period,
wherein the dyeing identification of the current time period is different from the dyeing identification of the time period adjacent to the current time period.
Optionally, as another embodiment, the service information in the current time period further includes transmission timestamp information of the first service packet transmitted by the source VM of the first service packet, and reception timestamp information of the first service packet received by the destination VM of the first service packet,
the detecting module 1020 is further configured to calculate a service delay of the service traffic topology corresponding to each time period according to the sending timestamp information and the receiving timestamp information.
Optionally, as another embodiment, the first service packet includes a second dyeing identifier of the current time period, where the sending timestamp information and the receiving timestamp information of the first service packet are recorded by the computing servers where the source VM and the destination VM of the first service packet are located respectively according to the second dyeing identifier of the current time period,
wherein the second coloring identification of the current time period is different from the second coloring identification of the time period adjacent to the current time period.
Optionally, as another embodiment, the time period includes a sending time period and a receiving time period, the starting time of the sending time period is the same as the starting time of the receiving time period, and the duration of the receiving time period is greater than the duration of the sending time period;
the sending information and the receiving information of all VMs on each computing server are counted by each computing server in the sending time period and the receiving time period, respectively.
It should be understood that the network manager 1000 shown in fig. 10 is capable of implementing various processes involving the network manager in the method embodiment of fig. 3. The operations and/or functions of the respective modules in the network manager 1000 are respectively for implementing the corresponding flows in the method embodiment in fig. 3. Specifically, reference may be made to the description of the above method embodiments, and the detailed description is appropriately omitted herein to avoid redundancy.
FIG. 11 shows a schematic block diagram of a compute server 1100 in accordance with an embodiment of the present invention. Specifically, as shown in fig. 11, the computing server 1100 includes:
a counting module 1110, configured to count sending information and receiving information of all VMs located on the computing server in a current time period, where the sending information of a first VM includes identification information of the first VM, identification information of a destination VM of a service packet sent by the first VM, and a number of service packets sent to the destination VM by the first VM, and the receiving information of the first VM includes identification information of the first VM, identification information of a source VM of the service packet received by the first VM, and a number of service packets sent by the source VM received by the first VM;
a sending module 1120, configured to send sending information and receiving information of all VMs located on the computing server to a network manager, so that the network manager detects the virtual network according to service information in a current time period, where the service information includes the sending information and the receiving information of all VMs located on each computing server, which are reported by each computing server in the virtual network.
Therefore, in the embodiment of the present invention, the sending information and the receiving information of all VMs located on the computing server are counted by the computing server in the current time period, so that the subsequent network manager can detect the service packet without detecting the whole network, thereby reducing the influence of the detection on the flow, and the network manager detects the active VMs by detecting the service packet, thereby also avoiding useless detection of the inactive VMs in the whole network detection, saving the network resources, and simultaneously detecting all the active VMs and avoiding the existence of detection dead angles, thereby implementing comprehensive and efficient virtual network detection.
Optionally, as another embodiment, the service packet sent by the first VM and the received service packet include a first dyeing identifier of a current time period, and the statistics module 1110 is specifically configured to perform statistics on sending information and receiving information of all VMs located on the computation server according to the first dyeing identifier of the current time period.
Optionally, as another embodiment, the dyeing identifier of the current time period is different from the dyeing identifiers of the time periods adjacent to the current time period.
Optionally, as another embodiment, the sending information of all VMs located on the computing server counted by the counting module further includes sending timestamp information of a first service packet sent by a source VM on the computing server;
alternatively, the receiving information of all VMs located on the computing server counted by the counting module 1110 further includes receiving timestamp information of the destination VM on the computing server receiving the first service packet.
Optionally, as another embodiment, the first service packet includes a second coloring identifier of the current time period, wherein the statistics module is specifically configured to record sending timestamp information or receiving timestamp information of the first service packet according to the second coloring identifier of the current time period,
wherein the second coloring identification of the current time period is different from the second coloring identification of the time period adjacent to the current time period.
Alternatively, as another embodiment, the time period includes a transmission time period and a reception time period,
the starting time of the sending time period is the same as the starting time of the receiving time period, and the duration of the receiving time period is longer than that of the sending time period;
the statistical module 1110 is specifically configured to count the sending information of all VMs located on each computing server in the sending time period, and count the receiving information of all VMs located on each computing server in the receiving time period.
It should be appreciated that the compute server 1100 shown in FIG. 11 is capable of implementing various processes involving the compute server in the method embodiment of FIG. 3. The operations and/or functions of the respective modules in the computing server 1100 are respectively for implementing the corresponding flows in the method embodiment in fig. 3. Specifically, reference may be made to the description of the above method embodiments, and the detailed description is appropriately omitted herein to avoid redundancy.
Fig. 12 shows a schematic block diagram of a network manager 1200 according to an embodiment of the invention. Specifically, as shown in fig. 12, the network manager 1200 includes: the processor 1210 is connected to the transceiver 1220, and the processor 1210 is connected to the transceiver 1220, optionally, the network manager 1200 further includes a memory 1230, and the memory 1230 is connected to the processor 1210, further optionally, the network manager 1200 may further include a bus system 1240. The processor 1210, the memory 1230, and the transceiver 1220 may be coupled by a bus system 1240, the memory 1230 may be configured to store instructions, and the processor 1210 may be configured to execute the instructions stored by the memory 1230 to control the transceiver 1220 to transmit and receive information or signals.
Specifically, the processor 1210 controls the transceiver 1220 to obtain service information in a current time period, where the service information includes sending information and receiving information of all VMs, located on each computing server, reported by each computing server in the virtual network, where the sending information of a first VM includes identification information of the first VM, identification information of a destination VM of a service packet sent by the first VM, and a number of service packets sent to the destination VM by the first VM, and the receiving information of the first VM includes identification information of the first VM, identification information of a source VM of the service packet received by the first VM, and a number of service packets sent by the source VM received by the first VM;
the processor 1210 detects the virtual network according to the service information.
Therefore, in the embodiment of the invention, the network manager only detects the service message without detecting the whole network, thereby reducing the influence of detection on the flow, and the network manager detects the service message, namely detects the active VM, also avoids useless detection of the inactive VM in the whole network detection, can save network resources, and simultaneously detects all the active VMs, thereby avoiding the existence of detection dead angles, and further the embodiment of the invention realizes comprehensive and high-efficiency virtual network detection.
It should be understood that, in the embodiment of the present invention, the processor 1210 may be a central processing Unit (abbreviated as "cpu"), and the processor 1210 may also be other general processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 1230 may include both read-only memory and random-access memory, and provides instructions and data to the processor 1210. A portion of the memory 1230 may also include non-volatile random access memory. For example, memory 1230 may also store device type information.
The bus system 1240 may include a power bus, a control bus, a status signal bus, and the like, in addition to a data bus. But for the sake of clarity the various busses are labeled in the drawings as the bus system 1240.
In implementation, the steps of the above method may be performed by instructions in the form of hardware, integrated logic circuits, or software in the processor 1210. The steps of a method disclosed in connection with the embodiments of the present invention may be directly implemented by a hardware processor, or may be implemented by a combination of hardware and software modules in the processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in the memory 1230, and the processor 1210 reads the information in the memory 1230 and performs the steps of the method in combination with the hardware. To avoid repetition, it is not described in detail here.
Optionally, as another embodiment, the processor 1210 is specifically configured to count a packet loss rate of the virtual network according to the service information.
Therefore, in the embodiment of the invention, the network manager only detects the packet loss rate of the counted service messages without detecting the whole network, thereby reducing the influence of detection on the flow and realizing comprehensive and efficient virtual network detection. In addition, in the embodiment of the invention, the network manager detects the service message, namely detects the active VM, and simultaneously detects the active VM, so that useless detection of the inactive VM in the whole network detection is avoided, network resources can be saved, and user experience is improved.
Optionally, as another embodiment, the processor 1210 is specifically configured to generate a current service traffic topology corresponding to a current time period according to the service information, where the current service traffic topology includes an association relationship between VMs having service circulation in the current period;
updating a first total service flow topology into a second total service flow topology according to the current service flow topology, wherein the first total service flow topology is formed by overlapping service flow topologies corresponding to all time periods before the current time period, and the second total service flow topology is formed by overlapping the first total service flow topology and the current service flow topology;
and performing connectivity detection on the virtual network according to the second total service flow topology.
Optionally, as another embodiment, the processor 1210 is specifically configured to generate a difference service traffic topology according to the second total service traffic topology and the current service traffic topology, where the difference service traffic topology is a topology of the second total service traffic topology except for a part same as that in the current service traffic topology; and performing connectivity detection on the difference service flow topology.
Optionally, as another embodiment, the service packet sent by the first VM and the received service packet include a first dyeing identifier of the current time period, where the sending information and the receiving information of all VMs on each computing server are counted by each computing server according to the first dyeing identifier of the current time period,
wherein the dyeing identification of the current time period is different from the dyeing identification of the time period adjacent to the current time period.
Optionally, as another embodiment, the service information in the current time period further includes transmission timestamp information of the first service packet transmitted by the source VM of the first service packet, and reception timestamp information of the first service packet received by the destination VM of the first service packet,
the processor 1210 is further configured to calculate a service delay of the service traffic topology corresponding to each time period according to the sending timestamp information and the receiving timestamp information.
Optionally, as another embodiment, the first service packet includes a second dyeing identifier of the current time period, where the sending timestamp information and the receiving timestamp information of the first service packet are recorded by the computing servers where the source VM and the destination VM of the first service packet are located respectively according to the second dyeing identifier of the current time period,
wherein the second coloring identification of the current time period is different from the second coloring identification of the time period adjacent to the current time period.
Optionally, as another embodiment, the time period includes a sending time period and a receiving time period, the starting time of the sending time period is the same as the starting time of the receiving time period, and the duration of the receiving time period is greater than the duration of the sending time period;
the sending information and the receiving information of all VMs on each computing server are counted by each computing server in the sending time period and the receiving time period, respectively.
It should be understood that the network manager 1200 shown in fig. 12 is capable of implementing various processes involving the network manager in the method embodiment of fig. 3. The operations and/or functions of the respective modules in the network manager 1200 are respectively for implementing the corresponding flows in the method embodiment in fig. 3. Specifically, reference may be made to the description of the above method embodiments, and the detailed description is appropriately omitted herein to avoid redundancy.
Fig. 13 shows a schematic block diagram of a computing server 1300 according to an embodiment of the invention. Specifically, as shown in fig. 13, the computing server 1300 includes: the processor 1310 is coupled to the transceiver 1320, optionally the computing server 1300 further includes a memory 1330, the memory 1330 is coupled to the processor 1310, and further optionally the computing server 1300 further includes a bus system 1340. Wherein the processor 1310, the memory 1330, and the transceiver 1320 may be coupled via the bus system 1340, the memory 1330 may be configured to store instructions, and the processor 1310 may be configured to execute the instructions stored by the memory 1330 to control the transceiver 1320 to transmit and receive information or signals.
Specifically, the processor 1310 is configured to count sending information and receiving information of all VMs located on the computing server in a current time period, where the sending information of the first VM includes identification information of the first VM, identification information of a destination VM of a service packet sent by the first VM, and the number of service packets sent by the first VM to the destination VM, and the receiving information of the first VM includes identification information of the first VM, identification information of a source VM of the service packet received by the first VM, and the number of service packets sent by the source VM received by the first VM;
the transceiver 1320 is configured to send sending information and receiving information of all VMs located on the computing server to a network manager, so that the network manager detects the virtual network according to service information in a current time period, where the service information includes the sending information and the receiving information of all VMs located on each computing server and reported by each computing server in the virtual network.
Therefore, in the embodiment of the present invention, the sending information and the receiving information of all VMs located on the computing server are counted by the computing server in the current time period, so that the subsequent network manager can detect the service packet without detecting the whole network, thereby reducing the influence of the detection on the flow, and the network manager detects the active VMs by detecting the service packet, thereby also avoiding useless detection of the inactive VMs in the whole network detection, saving the network resources, and simultaneously detecting all the active VMs and avoiding the existence of detection dead angles, thereby implementing comprehensive and efficient virtual network detection.
It should be understood that, in the embodiment of the present invention, the processor 1310 may be a central processing Unit (abbreviated as "central processing Unit"), and the processor 1310 may also be other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), ready-to-use programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 1330 may include a read-only memory and a random access memory, and provides instructions and data to the processor 1310. A portion of the memory 1330 may also include non-volatile random access memory. For example, the memory 1330 may also store information of device types.
The bus system 1340 may include a power bus, a control bus, a status signal bus, and the like, in addition to a data bus. For clarity of illustration, however, the various buses are designated in the figure as the bus system 1340.
In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in the form of software in the processor 1310. The steps of a method disclosed in connection with the embodiments of the present invention may be directly implemented by a hardware processor, or may be implemented by a combination of hardware and software modules in the processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in the memory 1330, and the processor 1310 reads the information in the memory 1330 and performs the steps of the above method in combination with the hardware thereof. To avoid repetition, it is not described in detail here.
Optionally, as another embodiment, the service packet sent by the first VM and the received service packet include a first dyeing identifier of a current time period, and the processor 1310 is specifically configured to count sending information and receiving information of all VMs located on the computing server according to the first dyeing identifier of the current time period.
Optionally, as another embodiment, the dyeing identification of the current time period is different from the dyeing identification of the time period adjacent to the current time period.
Optionally, as another embodiment, the sending information of all VMs located on the computing server counted by the processor further includes sending timestamp information of a source VM sending a first service packet on the computing server;
or, the reception information of all VMs located on the computation server counted by the processor further includes reception timestamp information of the destination VM receiving the first service packet on the computation server.
Optionally, as another embodiment, the first service packet includes a second coloring identifier of the current time period, where the processor 1310 is specifically configured to record transmission timestamp information or reception timestamp information of the first service packet according to the second coloring identifier of the current time period,
wherein the second coloring identification of the current time period is different from the second coloring identification of the time period adjacent to the current time period.
Alternatively, as another embodiment, the time period includes a transmission time period and a reception time period,
the starting time of the sending time period is the same as the starting time of the receiving time period, and the duration of the receiving time period is longer than that of the sending time period;
the processor 1310 is specifically configured to count the sending information of all VMs located on each computing server in the sending time period, and count the receiving information of all VMs located on each computing server in the receiving time period.
It should be appreciated that the computing server 1300 shown in FIG. 13 is capable of implementing various processes involving the computing server in the method embodiment of FIG. 3. The operations and/or functions of the respective modules in the computing server 1300 are respectively for implementing the corresponding flows in the method embodiment in fig. 3. Specifically, reference may be made to the description of the above method embodiments, and the detailed description is appropriately omitted herein to avoid redundancy.
Fig. 14 shows a schematic block diagram of a virtual network system according to an embodiment of the present invention. The virtual network system 1400 shown in fig. 14 includes: a network manager 1410 and at least one computing server 1420.
The computing server 1420 is configured to count the sending information and the receiving information of all the virtual machines VMs located on the computing server 1420 in the current time period, and send the sending information and the receiving information of all the VMs located on the computing server 1420 to the network manager 1410;
the network manager 1410 is configured to detect the virtual network according to service information, where the service information includes sending information and receiving information of all VMs, located on each computing server 1420, and reported by each computing server 1420 in the virtual network system.
Therefore, in the embodiment of the invention, the network manager only detects the service message without detecting the whole network, thereby reducing the influence of detection on the flow, and the network manager detects the service message, namely detects the active VM, also avoids useless detection of the inactive VM in the whole network detection, can save network resources, and simultaneously detects all the active VMs, thereby avoiding the existence of detection dead angles, and further the embodiment of the invention realizes comprehensive and high-efficiency virtual network detection.
It should be understood that the network manager 1410 corresponds to the network manager shown in fig. 10 and 12, and the operation and/or function of each module in the network manager 1410 can be referred to the description in the embodiment of fig. 10 and 12, and the detailed description is omitted here as appropriate to avoid redundancy.
The computing server 1420 corresponds to the computing server shown in fig. 11 and 13, and operations and/or functions of the respective modules in the computing server 1420 may be referred to the description in the embodiment of fig. 11 and 13, and a detailed description is appropriately omitted here to avoid redundancy.
It should also be understood that the virtual network system 1400 shown in fig. 14 corresponds to the virtual network shown in fig. 1 and fig. 2, and the specific architecture of the virtual network system 1400 may refer to the corresponding descriptions in fig. 1 and fig. 2, and is not described herein again to avoid repetition.
It should be appreciated that reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that, in various embodiments of the present invention, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
Additionally, the terms "system" and "network" are often used interchangeably herein. The term "and/or" herein is merely an association describing an associated object, meaning that three relationships may exist, e.g., a and/or B, may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship.
It should be understood that in the present embodiment, "B corresponding to a" means that B is associated with a, from which B can be determined. It should also be understood that determining B from a does not mean determining B from a alone, but may be determined from a and/or other information.
Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the examples described in connection with the embodiments disclosed herein may be embodied in electronic hardware, computer software, or combinations of both, and that the components and steps of the examples have been described in a functional general in the foregoing description for the purpose of illustrating clearly the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, a division of a unit is merely a logical division, and an actual implementation may have another division, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may also be an electric, mechanical or other form of connection.
Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment of the present invention.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
From the above description of the embodiments, it is clear to those skilled in the art that the present invention can be implemented by hardware, firmware, or a combination thereof. When implemented in software, the functions described above may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. Taking this as an example but not limiting: computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Furthermore, the method is simple. Any connection is properly termed a computer-readable medium. For example, if software is transmitted from a website, a server, or other remote source using a coaxial cable, a fiber optic cable, a twisted pair, a Digital Subscriber Line (DSL), or a wireless technology such as infrared, radio, and microwave, the coaxial cable, the fiber optic cable, the twisted pair, the DSL, or the wireless technology such as infrared, radio, and microwave are included in the fixation of the medium. Disk and disc, as used herein, includes Compact Disc (CD), laser disc, optical disc, Digital Versatile Disc (DVD), floppy Disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
In short, the above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (25)

1. A method of monitoring a virtual network, comprising:
a network manager acquires service information in a current time period, wherein the service information comprises sending information and receiving information of all virtual machine VMs located on each computing server and reported by each computing server in the virtual network, the sending information of a first VM comprises identification information of the first VM, identification information of a target VM of a service message sent by the first VM and the number of service messages sent to the target VM by the first VM, and the receiving information of the first VM comprises the identification information of the first VM, identification information of a source VM of the service message received by the first VM and the number of service messages sent by the source VM received by the first VM;
the network manager detects the virtual network according to the service information, wherein,
the network manager generates a current service flow topology corresponding to the current time period according to the service information, wherein the current service flow topology comprises an incidence relation among all VMs with service circulation in the current period;
the network manager updates a first total service flow topology into a second total service flow topology according to the current service flow topology, wherein the first total service flow topology is formed by overlapping service flow topologies corresponding to all time periods before the current time period, and the second total service flow topology is formed by overlapping the first total service flow topology and the current service flow topology;
and the network manager performs connectivity detection on the virtual network according to the second total service flow topology.
2. The method of claim 1,
the network manager detects the virtual network according to the service information, and the method comprises the following steps:
and the network manager counts the packet loss rate of the virtual network according to the service information.
3. The method according to claim 1 or 2,
the network manager performs connectivity detection on the virtual network according to the second total service traffic topology, including:
the network manager generates a difference service flow topology according to the second total service flow topology and the current service flow topology, wherein the difference service flow topology is a topology in which the same part as the current service flow topology is removed from the second total service flow topology;
and the network manager performs connectivity detection on the difference service flow topology.
4. The method according to claim 1 or 2,
the service message sent by the first VM and the received service message include a first dyeing identifier of the current time period, wherein the sending information and the receiving information of all VMs on each computing server are counted by each computing server according to the first dyeing identifier of the current time period,
wherein the first coloring identification of the current time period is different from the first coloring identification of the time period adjacent to the current time period.
5. The method according to claim 1 or 2,
the service information in the current time period further includes transmission timestamp information of a source VM of the first service packet transmitting the first service packet, and reception timestamp information of a destination VM of the first service packet receiving the first service packet,
the network manager detects the virtual network according to the service information, and further includes:
and the network manager calculates the service delay of the virtual network according to the sending time stamp information and the receiving time stamp information.
6. The method of claim 5,
the first service message comprises a second dyeing identifier of the current time period, wherein the sending timestamp information and the receiving timestamp information of the first service message are recorded by the computing servers where the source VM and the destination VM of the first service message are respectively according to the second dyeing identifier of the current time period,
wherein the second coloring identification of the current time period is different from the second coloring identification of the time period adjacent to the current time period.
7. The method according to claim 1 or 2, wherein the time period comprises a transmission time period and a reception time period,
the starting time of the sending time period is the same as the starting time of the receiving time period, and the duration of the receiving time period is longer than that of the sending time period;
wherein the sending information and the receiving information of all VMs on each computing server are counted by each computing server in the sending time period and the receiving time period, respectively.
8. A method of monitoring a virtual network, comprising:
counting, by a computing server, transmission information and reception information of all Virtual Machines (VMs) located on the computing server in a current time period, wherein the transmission information of a first VM includes identification information of the first VM, identification information of a destination VM of a service message transmitted by the first VM and the number of service messages transmitted to the destination VM by the first VM, and the reception information of the first VM includes identification information of the first VM, identification information of a source VM of the service message received by the first VM and the number of service messages transmitted by the source VM received by the first VM;
the method comprises the steps that a computing server sends sending information and receiving information of all VMs located on the computing server to a network manager, so that the network manager detects the virtual network according to service information in a current time period, wherein the service information comprises the sending information and the receiving information of all the VMs located on all the computing servers, which are reported by all the computing servers in the virtual network.
9. The method of claim 8,
the service message sent by the first VM and the received service message comprise a first dyeing identification of the current time period,
the method for counting the sending information and the receiving information of all VMs positioned on the computing server by the computing server in the current time period comprises the following steps:
the calculation server counts the sending information and the receiving information of all VMs positioned on the calculation server according to the first dyeing identification of the current time period,
wherein the dyeing identification of the current time period is different from the dyeing identification of the time period adjacent to the current time period.
10. The method according to claim 8 or 9,
the sending information of all VMs positioned on the computing server and counted by the computing server also comprises sending timestamp information of a first service message sent by a source VM on the computing server;
alternatively, the first and second electrodes may be,
the receiving information of all the VMs on the computing server counted by the computing server further includes receiving timestamp information of the destination VM on the computing server receiving the first service packet.
11. The method of claim 10,
the first service message comprises a second dyeing identifier of the current time period, wherein the sending time stamp information or the receiving time stamp information of the first service message is recorded by the computing server according to the second dyeing identifier of the current time period,
wherein the second coloring identification of the current time period is different from the second coloring identification of the time period adjacent to the current time period.
12. The method of claim 8 or 9, wherein the time period comprises a transmission time period and a reception time period,
the starting time of the sending time period is the same as the starting time of the receiving time period, and the duration of the receiving time period is longer than that of the sending time period;
the method for counting the sending information and the receiving information of all VMs located on the computing server by the computing server in the current time period comprises the following steps:
and the computing server counts the sending information of all the VMs positioned on each computing server in the sending time period, and counts the receiving information of all the VMs positioned on each computing server in the receiving time period.
13. A network manager, comprising:
an obtaining module, configured to obtain service information in a current time period, where the service information includes sending information and receiving information of all virtual machines VM located on each computing server and reported by each computing server in a virtual network, where the sending information of a first VM includes identification information of the first VM, identification information of a destination VM of a service packet sent by the first VM, and a number of service packets sent to the destination VM by the first VM, and the receiving information of the first VM includes identification information of the first VM, identification information of a source VM of the service packet received by the first VM, and a number of service packets sent by the source VM received by the first VM;
a detection module for detecting the virtual network according to the service information, wherein,
the detection module is specifically configured to generate a current service traffic topology corresponding to a current time period according to the service information, where the current service traffic topology includes an association relationship between VMs having service circulation in the current period;
updating a first total service flow topology into a second total service flow topology according to the current service flow topology, wherein the first total service flow topology is formed by overlapping service flow topologies corresponding to all time periods before the current time period, and the second total service flow topology is formed by overlapping the first total service flow topology and the current service flow topology;
and performing connectivity detection on the virtual network according to the second total service flow topology.
14. The network manager of claim 13,
the detection module is specifically configured to count a packet loss rate of the virtual network according to the service information.
15. The network manager according to claim 13 or 14,
the detection module is specifically configured to generate a difference service traffic topology according to the second total service traffic topology and the current service traffic topology, where the difference service traffic topology is a topology in which the same part as the current service traffic topology is removed from the second total service traffic topology; and performing connectivity detection on the difference service flow topology.
16. The network manager according to claim 13 or 14,
the service message sent by the first VM and the received service message include a first dyeing identifier of the current time period, wherein the sending information and the receiving information of all VMs on each computing server are counted by each computing server according to the first dyeing identifier of the current time period,
wherein the dyeing identification of the current time period is different from the dyeing identification of the time period adjacent to the current time period.
17. The network manager according to claim 13 or 14,
the service information in the current time period further includes transmission timestamp information of a source VM of the first service packet transmitting the first service packet, and reception timestamp information of a destination VM of the first service packet receiving the first service packet,
the detection module is further configured to calculate a service delay of the service traffic topology corresponding to each time period according to the sending timestamp information and the receiving timestamp information.
18. The network manager of claim 17,
the first service message comprises a second dyeing identifier of the current time period, wherein the sending timestamp information and the receiving timestamp information of the first service message are recorded by the computing servers where the source VM and the destination VM of the first service message are respectively according to the second dyeing identifier of the current time period,
wherein the second coloring identification of the current time period is different from the second coloring identification of the time period adjacent to the current time period.
19. The network manager according to claim 13 or 14, wherein the time period comprises a transmission time period and a reception time period,
the starting time of the sending time period is the same as the starting time of the receiving time period, and the duration of the receiving time period is longer than that of the sending time period;
wherein the sending information and the receiving information of all VMs on each computing server are counted by each computing server in the sending time period and the receiving time period, respectively.
20. A computing server, comprising:
a counting module, configured to count sending information and receiving information of all virtual machines VM located on the computing server in a current time period, where the sending information of a first VM includes identification information of the first VM, identification information of a destination VM of a service packet sent by the first VM, and a number of service packets sent to the destination VM by the first VM, and the receiving information of the first VM includes identification information of the first VM, identification information of a source VM of the service packet received by the first VM, and a number of service packets sent by the source VM received by the first VM;
and the sending module is used for sending information and receiving information of all the VMs on the computing servers to a network manager so that the network manager detects the virtual network according to service information in the current time period, wherein the service information comprises the sending information and the receiving information of all the VMs on each computing server, which are reported by each computing server in the virtual network.
21. The computing server of claim 20,
the service message sent by the first VM and the received service message comprise a first dyeing identification of the current time period,
the statistic module is specifically configured to count the sending information and the receiving information of all VMs located on the computation server according to the first dyeing identifier of the current time period,
wherein the dyeing identification of the current time period is different from the dyeing identification of the time period adjacent to the current time period.
22. The computing server of claim 20 or 21,
the sending information of all VMs positioned on the computing server counted by the counting module further comprises sending timestamp information of a first service message sent by a source VM on the computing server;
alternatively, the first and second electrodes may be,
the receiving information of all the VMs located on the computation server counted by the counting module further includes receiving timestamp information of the destination VM receiving the first service packet on the computation server.
23. The computing server of claim 22,
the first service packet includes a second dyeing identifier of the current time period, wherein the statistical module is specifically configured to record sending timestamp information or receiving timestamp information of the first service packet according to the second dyeing identifier of the current time period,
wherein the second coloring identification of the current time period is different from the second coloring identification of the time period adjacent to the current time period.
24. The computing server of claim 20 or 21,
the time period includes a transmission time period and a reception time period,
the starting time of the sending time period is the same as the starting time of the receiving time period, and the duration of the receiving time period is longer than that of the sending time period;
the statistical module is specifically configured to count, within the sending time period, sending information of all VMs located on each computing server, and count, within the receiving time period, receiving information of all VMs located on each computing server.
25. A virtual network system, comprising:
the network manager according to any of claims 13 to 19, and the computing server according to any of claims 20 to 24,
the computing server is used for counting the sending information and the receiving information of all the Virtual Machines (VM) on the computing server in the current time period and sending the sending information and the receiving information of all the VMs on the computing server to the network manager;
the network manager is used for detecting the virtual network according to service information, wherein the service information comprises sending information and receiving information of all VMs which are reported by each computing server in the virtual network system and are positioned on each computing server.
CN201680045729.8A 2016-11-23 2016-11-23 Method and equipment for monitoring virtual network and virtual network system Active CN107996023B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/106978 WO2018094616A1 (en) 2016-11-23 2016-11-23 Method, device, and virtual network system for monitoring virtual network

Publications (2)

Publication Number Publication Date
CN107996023A CN107996023A (en) 2018-05-04
CN107996023B true CN107996023B (en) 2020-04-28

Family

ID=62028757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680045729.8A Active CN107996023B (en) 2016-11-23 2016-11-23 Method and equipment for monitoring virtual network and virtual network system

Country Status (2)

Country Link
CN (1) CN107996023B (en)
WO (1) WO2018094616A1 (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109586996B (en) * 2018-11-08 2022-03-18 孔欣然 Cloud platform real-time testing system and method based on network message time delay comparison
CN109525465A (en) * 2018-12-26 2019-03-26 武汉职业技术学院 A kind of virtual communication network practical training method and system
CN110120887B (en) * 2019-04-25 2022-02-11 新华三技术有限公司合肥分公司 Network quality information monitoring method, electronic equipment and storage medium
CN112152865B (en) * 2019-06-27 2023-06-27 中兴通讯股份有限公司 Network performance measuring device and method
CN112398704B (en) * 2019-08-15 2022-12-23 中国移动通信集团广东有限公司 Virtual network delay calculation method and terminal equipment
CN112448896B (en) 2019-08-30 2024-04-30 华为技术有限公司 Method and device for determining transmission period in deterministic network
CN112714007B (en) * 2019-10-24 2022-07-01 烽火通信科技股份有限公司 Method and device for detecting service message dyeing marks of all IOAM (input/output access am) equipment
CN112787874B (en) * 2019-11-04 2022-06-03 烽火通信科技股份有限公司 Packet loss measurement method and system for IOAM function of SPN (Passive optical network)
CN110932931A (en) * 2019-11-13 2020-03-27 苏宁云计算有限公司 Detection method and device for network delay of data center
CN112929197A (en) * 2019-12-06 2021-06-08 中兴通讯股份有限公司 Network communication method, device, equipment and storage medium
CN111162971B (en) * 2019-12-30 2022-05-06 视联动力信息技术股份有限公司 Time delay determination method and device
CN113067740B (en) * 2020-01-02 2023-09-05 中国移动通信有限公司研究院 Method, device, equipment and computer readable storage medium for detecting following path performance
CN113079091B (en) * 2020-01-03 2022-07-22 华为技术有限公司 Active stream following detection method, network equipment and communication system
CN113328903B (en) * 2020-02-29 2023-02-03 华为技术有限公司 Method, device and system for detecting transmission quality
CN113382437A (en) * 2020-03-10 2021-09-10 华为技术有限公司 Follow-up flow detection method and device
CN111464385A (en) * 2020-03-30 2020-07-28 北京信而泰科技股份有限公司 Second counting type statistical method and device
CN112152938B (en) * 2020-08-19 2022-11-22 鹏城实验室 Method for determining round trip delay in cloud virtual environment
CN112152872B (en) * 2020-08-31 2022-05-27 新华三大数据技术有限公司 Network sub-health detection method and device
CN113300917B (en) * 2021-07-27 2021-10-15 苏州浪潮智能科技有限公司 Traffic monitoring method and device for Open Stack tenant network
CN113794641B (en) * 2021-08-20 2022-10-21 新华三信息安全技术有限公司 Message processing method and device
CN114285733A (en) * 2021-12-28 2022-04-05 苏州盛科通信股份有限公司 Message-dyeing-based IOAM network equipment congestion and time delay detection method and device
CN114629679B (en) * 2022-01-26 2024-02-13 深圳市风云实业有限公司 Data message dyeing and detecting method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741513A (en) * 2009-12-15 2010-06-16 中兴通讯股份有限公司 Method and system for detecting connectivity
CN102224709A (en) * 2011-04-20 2011-10-19 华为技术有限公司 Method and apparatus of monitoring on ip bearing net performance
CN105227403A (en) * 2015-10-09 2016-01-06 盛科网络(苏州)有限公司 A kind of OpenStack network flow monitoring method
CN105591834A (en) * 2015-07-10 2016-05-18 杭州华三通信技术有限公司 Traffic monitoring method and device in VXLAN
CN106130825A (en) * 2016-08-04 2016-11-16 华为技术有限公司 A kind of data transmission quality detection method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404166B (en) * 2011-10-27 2015-04-08 华为技术有限公司 Packet loss detecting method and system as well as transmitting equipment and receiving equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741513A (en) * 2009-12-15 2010-06-16 中兴通讯股份有限公司 Method and system for detecting connectivity
CN102224709A (en) * 2011-04-20 2011-10-19 华为技术有限公司 Method and apparatus of monitoring on ip bearing net performance
CN105591834A (en) * 2015-07-10 2016-05-18 杭州华三通信技术有限公司 Traffic monitoring method and device in VXLAN
CN105227403A (en) * 2015-10-09 2016-01-06 盛科网络(苏州)有限公司 A kind of OpenStack network flow monitoring method
CN106130825A (en) * 2016-08-04 2016-11-16 华为技术有限公司 A kind of data transmission quality detection method and device

Also Published As

Publication number Publication date
CN107996023A (en) 2018-05-04
WO2018094616A1 (en) 2018-05-31

Similar Documents

Publication Publication Date Title
CN107996023B (en) Method and equipment for monitoring virtual network and virtual network system
US20210152443A1 (en) Technologies for annotating process and user information for network flows
US10778528B2 (en) Method and system of connecting to a multipath hub in a cluster
US10484265B2 (en) Dynamic update of virtual network topology
US9391877B2 (en) System and method for reducing information loss in an aggregated information handling system
US10193783B2 (en) System for aggregating statistics associated with interfaces
US11012261B2 (en) Associating VXLANs with tunnels
EP4032207B1 (en) State machine handling at a proxy node in an ethernet-based fronthaul network
US10318335B1 (en) Self-managed virtual networks and services
WO2014000297A1 (en) Virtual port monitoring method and device
EP3099032A1 (en) A load balancing method, device, system and computer storage medium
WO2016127482A1 (en) Alarm information processing method, relevant device and system
CN104219075A (en) OpenFlow protocol based link aggregation control protocol (LACP) loop detection method and device
US20090282291A1 (en) Internal maintenance association end point (mep) for sharing state information
US9866436B2 (en) Smart migration of monitoring constructs and data
CN106302076B (en) Method and system for establishing VXLAN tunnel and SDN controller
US10397340B2 (en) Multicast migration
US20170222864A1 (en) Method and Apparatus for Implementing Operation, Administration, and Maintenance Function
CN107659496A (en) A kind of data processing method and device
CN114567481B (en) Data transmission method and device, electronic equipment and storage medium
CN104144130B (en) Method, system and the access switch of virtual machine system interconnection
WO2024021495A1 (en) Method and apparatus for identifying flooding attack in cloud platform, and device and storage medium
US8908682B2 (en) Switch discovery protocol for a distributed fabric system
US20170111240A1 (en) Service Elastic Method and Apparatus in Cloud Computing
US9985862B2 (en) MEP configuration method and network device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220208

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right