CN113824606B - Network measurement method and device - Google Patents

Network measurement method and device Download PDF

Info

Publication number
CN113824606B
CN113824606B CN202010565111.2A CN202010565111A CN113824606B CN 113824606 B CN113824606 B CN 113824606B CN 202010565111 A CN202010565111 A CN 202010565111A CN 113824606 B CN113824606 B CN 113824606B
Authority
CN
China
Prior art keywords
host
index
time window
switch
message
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
CN202010565111.2A
Other languages
Chinese (zh)
Other versions
CN113824606A (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 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
Priority to CN202010565111.2A priority Critical patent/CN113824606B/en
Priority to PCT/CN2021/100828 priority patent/WO2021254474A1/en
Publication of CN113824606A publication Critical patent/CN113824606A/en
Application granted granted Critical
Publication of CN113824606B publication Critical patent/CN113824606B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing

Landscapes

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

Abstract

The application provides a network measurement method and device, which are used for solving the problem that the network measurement in the prior art cannot achieve the full accuracy and low resource expenditure. The network measurement method comprises the steps that a source host acquires a host index, a first time window and a switch index corresponding to a stream to be transmitted, the host index, the switch index and the first time window are added in a first message to obtain a second message, the second message is transmitted to a target host through a switch corresponding to the switch index, and according to the second message, the flow value recorded corresponding to the host index and the first time window is updated, wherein the first message is any message included in the stream. By adding the first time window in the second message, the entity in the whole network can update the flow value of the flow to which the second message belongs based on the same time window, so that the complete accuracy of network measurement can be realized, and the source host only needs to update the flow value, thereby realizing low resource expense.

Description

Network measurement method and device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a network measurement method and apparatus.
Background
With the increasing size of data centers, more and more devices of the data centers are available, the network link rate is continuously increasing, and the network traffic is also rapidly increasing. In order to timely understand the performance of a data center, whether there is an anomaly or whether there is a fault, a network measurement system is typically employed to monitor the data center. The network measurement system needs to have two characteristics of low resource overhead and complete accuracy. The low resource overhead means that different network entities have different restriction constraints on resources such as a central processing unit (central processing unit, CPU), a memory, a bandwidth and the like, and the network measurement system ensures that data packets in the network can be forwarded normally under the condition of meeting the restrictions. The network entity comprises a host, a switch and the like, wherein the host has rich resources, but poor network vision and slow message processing; the switch has high throughput, low latency, but limited resources. The complete accuracy means that the network measurement system can track all traffic of all network entities, i.e. no information is lost; moreover, the flow key and the flow value of each flow are the same as the actual flow key and the flow value, wherein the flow key can uniquely identify one flow, and the flow value is a measurement result of the flow, for example, the size of the flow, the number of messages included in the flow, and the like. In general, low resource overhead and full accuracy are mutually exclusive, i.e., full accuracy cannot be met when low resource overhead is achieved, and low resource overhead cannot be met when full accuracy is achieved.
In the prior art, in order to balance resource overhead and complete accuracy, a network measurement system may measure a data center in the following two ways. The first mode is to use an approximation algorithm, wherein the approximation algorithm comprises a Sketch technology, a top-k counting and sampling algorithm and the like. Taking the sktch technique as an example, the sktch technique is based on a summary (sketched based) measurement technique to map information of massive high-latitude data into a small linear subspace (usually two-dimensional) that is composed of a specific data structure. Namely, by designing a specific mapping method and a data structure, the operation of the original high-dimensional space is better kept in a smaller linear subspace. The second mode is to adopt event matching, wherein the event matching refers to selecting a flow required by a user from original flows according to a network measurement task issued by the user in advance, namely, collecting, processing and transmitting the flow required by the user, so that the number of measurement flows can be reduced.
However, the method one adopts an approximation algorithm, so that complete accuracy cannot be guaranteed, and the parameter setting of the summary measurement technology is complex. The two modes only pay attention to partial traffic in the network, have lower resource overhead, but important information of the flow can be lost, and especially when the method is used for detecting network abnormality, the complete accuracy of the flow is particularly important.
Disclosure of Invention
The application provides a network measurement method and a network measurement device, which are used for ensuring that low resource expenditure and complete accuracy can be realized in the network measurement process.
In a first aspect, the present application provides a network measurement method, where the method includes that a source host obtains a host index, a first time window and a switch index corresponding to a stream to be sent, the host index, the switch index and the first time window are added in a first message to obtain a second message, the second message is sent to a destination host through a switch corresponding to the switch index, and according to the second message, a flow value recorded corresponding to the host index and the first time window is updated, where the first message is any message included in the stream.
Based on the scheme, the source host can acquire the flow value and the flow key of each initiated flow, and a first time window is added in the first message, so that the same message can be ensured to be positioned in the same time window in the forwarding process of the whole network (from the source host to the switch to the destination host), and the first time window field in the second message is used for determining the flow value to be updated in the whole network transmission process of all the first messages of one flow no matter whether the time window locally maintained by the switch or the destination host is consistent with the first time window or not. In this way, full accuracy of the flow can be achieved and the respective resource advantages of the hosts and switches can be fully utilized. Further, the second message carries a host index, the host index is smaller, and the memory occupied by the second message received by the switch is smaller; in addition, the switch does not need to record a stream key and only needs to update a stream value, thereby being beneficial to realizing low resource overhead.
In one possible implementation, the source host may add a host index, and/or a switch index, and/or a first time window between the ethernet packet header and the network protocol IP packet header of the first packet to obtain the second packet. Therefore, the network layer and the transmission layer of the host do not need to check the content between the Ethernet packet header and the IP packet header, thereby saving the expenditure caused by check.
In one possible implementation, when the source host updates the current value recorded corresponding to the host index and the first time window, the current value recorded corresponding to the host index and the first time window may be increased by 1; alternatively, the source host may also add the host index and the current value recorded corresponding to the first time window to the size of the second message.
In one possible implementation, when updating the current value recorded corresponding to the host index and the first time window, the source host may determine, according to the first time window, a first recording slot group corresponding to the first time window, where the first recording slot group includes a plurality of recording slots; the source host determines a first recording slot corresponding to the host index in the first recording slot group according to the host index; the source host adds 1 to the current value recorded in the first recording slot, or adds the second message to the current value recorded in the first recording slot.
In one possible implementation manner, when the source host obtains the host index corresponding to the stream to be sent, hash operation may be performed on the stream key of the stream, the position of the stream key in the hash table is determined according to the operation result, and the determined position is determined as the host index. Thus, space for stream key storage is saved.
In one possible implementation, the source host may determine the local time window as the first time window.
In one possible implementation, the source host may also receive a third message from the controller, the third message including a second time window; if the source host determines that the second time window is greater than the local time window, updating the local time window to the second time window.
In one possible implementation, if the source host determines that the local time window enters a new time window, the local time window may be updated to the new time window and the new time window may be sent to the controller.
The interaction of the source host and the controller with the respective local time windows facilitates the synchronization of the time windows between the source host and the controller in the whole network.
In one possible implementation, the source host may determine M switch indexes that the controller previously divided for the source host, where M is an integer greater than 1, and the M switch indexes are different from each other; the source host selects N switch indexes from M switch indexes, and determines the N switch indexes as switch indexes of streams to be transmitted, wherein N is an integer greater than 1 and less than or equal to M.
Because the source host acquires the switch index corresponding to the flow and is pre-allocated by the controller, the method is beneficial to eliminating the conflict of flows of different source hosts on the switch forwarding; moreover, the controller divides the switch index for the source host in advance, the source host does not need to request the controller to allocate the switch index for the initiated stream every time one stream is initiated, and therefore the expenditure of message interaction between the source host and the controller can be saved.
In a second aspect, the present application provides a network measurement method, the method comprising a switch receiving a second message from a source host, the second message comprising a host index, a first time window, and a switch index; the switch corresponds to the switch index; the switch forwards the second message to the target host; and the switch updates the recorded current value corresponding to the switch index and the first time window according to the second message.
In one possible implementation, when the switch updates the current value recorded corresponding to the switch index and the first time window, the current value recorded corresponding to the switch index and the first time window may be increased by 1; alternatively, the switch may also add the value of the current recorded by the switch index and the first time window to the size of the second message.
In one possible implementation, when the switch updates the current value recorded corresponding to the switch index and the first time window, a second recording slot group corresponding to the first time window may be determined according to the first time window, where the second recording slot group includes a plurality of recording slots; the switch determines a second recording slot corresponding to the switch index in the second recording slot group according to the switch index; the exchanger adds 1 to the current value recorded by the second recording slot, or adds the current value recorded by the second recording slot to the size of the second message.
In a third aspect, the present application provides a network measurement method, where the method includes a destination host receiving a second message forwarded by a switch from a source host, where the second message includes a host index, a first time window, and a switch index, and the switch corresponds to the switch index; and the target host updates the recorded current value corresponding to the host index and the first time window according to the second message.
In one possible implementation, when the destination host updates the current value recorded corresponding to the host index and the first time window, the current value recorded corresponding to the host index and the first time window may be increased by 1; or the destination host adds the value of the current recorded corresponding to the host index and the first time window to the size of the second message.
In one possible implementation manner, when the destination host updates the current value recorded corresponding to the host index and the first time window, a third recording slot group corresponding to the first time window may be determined according to the first time window, where the third recording slot group includes a plurality of recording slots; the target host determines a third recording slot corresponding to the host index in the third recording slot group according to the host index; the target host adds 1 to the current value recorded in the third recording slot, or adds the current value recorded in the third recording slot to the size of the second message.
In one possible implementation, if the destination host determines that the first time window is greater than the local time window, the local time window may be updated to the first time window.
In one possible implementation, the destination host may also receive a third message from the controller, the third message including the second time window; if the destination host determines that the second time window is greater than the local time window, the local time window may be updated to the second time window.
In one possible implementation, if the destination host determines that the local time window enters a new time window, the local time window may be updated to the new time window and the new time window may be sent to the controller.
The time window synchronization between the destination host and the controller in the whole network is facilitated by the interaction of the destination host and the controller with respective local time windows.
In a fourth aspect, the present application provides a network measurement method, the method comprising, at the end of a first time window, a controller obtaining, for a stream to be measured, a first stream value recorded corresponding to a host index and the first time window from a source host, and a second stream value recorded corresponding to the host index and the first time window from a destination host; wherein the stream is sent from the source host to the destination host, and the host index is determined from the stream; and when the controller determines that the first current value and the second current value are inconsistent, determining that packet loss occurs in the flow.
Based on the scheme, after the first time window is finished, the controller acquires the flow values recorded on the network source host and the destination host once, and is beneficial to relieving the bandwidth pressure of the controller. Also, for the stream to be measured, it may be determined whether packet loss occurs based on the first stream value recorded on the source host and the second stream value recorded on the destination host.
In one possible implementation, when the controller obtains, for a stream to be measured, a first stream value recorded corresponding to the host index and the first time window from the source host, the controller may first determine a first record slot group corresponding to the first time window in the source host; and then determining a first recording slot corresponding to the host index in the first recording slot group, and then determining a first current value recorded in the first recording slot. Correspondingly, when the controller obtains the second stream value recorded corresponding to the host index and the first time window from the destination host, the controller can determine the third record slot group corresponding to the first time window in the destination host; and then determining a third recording slot corresponding to the host index in the third recording slot group, and then determining a second current value recorded in the third recording slot.
In one possible implementation, the controller may further determine a second set of recording slots in the switch corresponding to the first time window; the switch is used for forwarding the flow from the source host to the destination host; the controller determines N second recording slots corresponding to the switch index of the switch in the second recording slot group, and determines third current values respectively recorded in the N second recording slots, wherein N is an integer greater than 1; and the controller determines the packet loss number of the flow in the switch according to the first flow value, the second flow value and the N third flow values.
In one possible implementation, the controller may divide the switch indexes for the source host and the destination host, respectively, differently from each other.
In one possible implementation, the controller may also broadcast a third message to the source host and the destination host, the third message including the second time window.
In one possible implementation, the controller receives a new time window from the source host or the destination host; if the controller determines that the received new time window is greater than the local time window, the local time window may be updated to the new time window.
The source host, the destination host and the controller interact with respective local time windows to help realize time window synchronization among entities in the whole network.
In a fifth aspect, the present application provides a network measurement device having a function of implementing the source host in the first aspect, or a function of implementing the switch in the second aspect, or a function of implementing the destination host in the third aspect. The functions can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more processors or modules corresponding to the functions described above.
In one possible implementation, the device may be a source host, a switch, or a destination host. The apparatus may include: a communication interface and a processor. The processor may be configured to support the communication apparatus to perform the respective functions of the terminal device shown above, the communication interface being for supporting communication between the communication apparatus and the network device and other terminal devices etc. The communication interface may be a stand-alone receiver, a stand-alone transmitter, a communication interface integrating a transceiver function, or an interface circuit. Optionally, the communication device may further comprise a memory, which may be coupled to the processor, which holds the necessary program instructions and data for the communication device.
In a possible implementation manner, the apparatus may be a source host, and the beneficial effects may be seen in the description of the first aspect, which is not repeated herein. The processor is used for acquiring a host index, a first time window and a switch index corresponding to a stream to be sent, adding the host index, the switch index and the first time window into a first message to obtain a second message, wherein the first message is any message included in the stream; the communication interface is used for sending a second message to the target host through the switch corresponding to the switch index; and the processor is also used for updating the recorded current value corresponding to the host index and the first time window according to the second message.
In one possible implementation, the processor is specifically configured to add a host index, and/or a switch index, and/or a first time window between an ethernet packet header and a network protocol IP packet header of the first packet, to obtain the second packet.
In one possible implementation, the processor is specifically configured to increment the value of the current recorded by the host index and the first time window by 1; or adding the value of the current recorded by the host index and the corresponding first time window to the size of the second message.
In a possible implementation manner, the processor is specifically configured to determine, according to a first time window, a first recording slot group corresponding to the first time window, where the first recording slot group includes a plurality of recording slots; determining a first recording slot corresponding to the host index in the first recording slot group according to the host index; and adding 1 to the current value recorded in the first recording groove, or adding the second message to the current value recorded in the first recording groove.
In one possible implementation, the processor is specifically configured to perform a hash operation on a stream key of a stream, determine a position of the stream key in a hash table according to a result of the hash operation, and determine the position as a host index.
In another possible implementation manner, the device may be a switch, and the beneficial effects may be seen in the description of the above second aspect, which is not repeated here. The communication interface is used for receiving a second message from the source host, wherein the second message comprises a host index, a first time window and a switch index, and forwarding the second message to the target host, and the switch corresponds to the switch index; and the processor is used for updating the recorded current value corresponding to the switch index and the first time window according to the second message.
In one possible implementation, the processor is specifically configured to increment the switch index and the corresponding recorded current value of the first time window by 1; or adding the value of the current recorded by the switch index and the corresponding first time window to the size of the second message.
In a possible implementation manner, the processor is specifically configured to determine, according to the first time window, a second recording slot group corresponding to the first time window, where the second recording slot group includes a plurality of recording slots; determining a second recording slot corresponding to the switch index in the second recording slot group according to the switch index; and adding 1 to the current value recorded in the second recording groove, or adding the second message to the current value recorded in the second recording groove.
In another possible implementation manner, the device may be a destination host, and the beneficial effects may be seen in the description of the above third aspect, which is not repeated here. The communication interface is used for receiving a second message forwarded by the switch from the source host, wherein the second message comprises a host index, a first time window and a switch index; the switch corresponds to the switch index; the processor is used for updating the recorded current value corresponding to the host index and the first time window according to the second message.
In one possible implementation, the processor is specifically configured to increment the host index and the corresponding recorded current value of the first time window by 1; or adding the value of the current recorded by the host index and the corresponding first time window to the size of the second message.
In a possible implementation manner, the processor is specifically configured to determine, according to the first time window, a third recording slot group corresponding to the first time window, where the third recording slot group includes a plurality of recording slots; determining a third recording slot corresponding to the host index in the third recording slot group according to the host index; and adding 1 to the current value recorded in the third recording groove, or adding the second message to the current value recorded in the third recording groove.
In another possible implementation manner, the device may be a controller, and the beneficial effects may be seen in the description of the fourth aspect, which is not repeated here. The processor cooperates with the communication interface to acquire, for a stream to be measured, a first stream value recorded corresponding to the host index and the first time window from the source host and a second stream value recorded corresponding to the host index and the first time window from the destination host, at the end of the first time window; wherein, the stream is sent to the destination host by the source host, the host index is determined according to the stream; and the processor is used for determining that the flow loses packets when the first flow value and the second flow value are not consistent.
In one possible implementation manner, the communication interface is specifically configured to obtain, from the source host, a correspondence between a recording slot corresponding to the first recording slot group corresponding to the first time window and a current value; the processor is specifically configured to determine a first recording slot corresponding to the host index, and determine a first current value corresponding to the first recording slot; the communication interface is specifically configured to obtain, from the destination host, a corresponding relationship between a recording slot corresponding to the third recording slot group corresponding to the first time window and a current value; the processor is specifically configured to determine a third recording slot corresponding to the host index, and determine a second current value corresponding to the third recording slot.
In one possible implementation manner, the communication interface is further configured to obtain, from the switch, a correspondence between a recording slot corresponding to the second recording slot group corresponding to the first time window and a current value; the processor is further configured to determine N second record slots corresponding to the switch index, determine third flow values corresponding to the N second record slots, and determine a packet loss number of the flow in the switch according to the first flow value, the second flow value, and the N third flow values, where N is an integer greater than 1.
In a sixth aspect, the present application provides a network measurement device having a function of implementing the source host in the first aspect, or a function of implementing the switch in the second aspect, or a function of implementing the destination host in the third aspect. The functions can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules or modules corresponding to the functions described above.
In a possible implementation manner, the apparatus may be a source host, a switch or a destination host, and the apparatus may include a processing module and a transceiver module, where the modules may perform corresponding functions of the terminal device in the foregoing method example, and detailed descriptions of the method example are omitted herein.
In a possible implementation manner, the apparatus may be a source host, and the beneficial effects may be seen in the description of the first aspect, which is not repeated herein. The processing module is used for acquiring a host index, a first time window and a switch index corresponding to a stream to be sent, adding the host index, the switch index and the first time window into a first message to obtain a second message, wherein the first message is any message included in the stream; the receiving and transmitting module is used for transmitting a second message to the target host through the switch corresponding to the switch index; the processing module is further configured to update a current value recorded corresponding to the host index and the first time window according to the second message.
In one possible implementation, the processing module is specifically configured to: and adding a host index and/or a switch index and/or a first time window between an Ethernet packet header and a network protocol IP packet header of the first message to obtain a second message.
In one possible implementation manner, the processing module is specifically configured to increment the value of the current recorded by the host index and the first time window by 1; or adding the value of the current recorded by the host index and the corresponding first time window to the size of the second message.
In one possible implementation manner, the processing module is specifically configured to determine, according to a first time window, a first recording slot group corresponding to the first time window, where the first recording slot group includes a plurality of recording slots; determining a first recording slot corresponding to the host index in the first recording slot group according to the host index; and adding 1 to the current value recorded in the first recording groove, or adding the second message to the current value recorded in the first recording groove.
In one possible implementation manner, the processing module is specifically configured to perform hash operation on the stream key of the stream, determine a position of the stream key in the hash table according to an operation result, and determine the position as the host index.
In another possible implementation manner, the device may be a switch, and the beneficial effects may be seen in the description of the above second aspect, which is not repeated here. The receiving and transmitting module is used for receiving a second message from the source host, wherein the second message comprises a host index, a first time window and a switch index, and forwarding the second message to the target host, and the switch corresponds to the switch index; and the processing module is used for updating the recorded current value corresponding to the switch index and the first time window according to the second message.
In one possible implementation manner, the processing module is specifically configured to increment the current value recorded by the switch index and the first time window by 1; or adding the value of the current recorded by the switch index and the corresponding first time window to the size of the second message.
In a possible implementation manner, the processing module is specifically configured to determine, according to the first time window, a second recording slot group corresponding to the first time window, where the second recording slot group includes a plurality of recording slots; determining a second recording slot corresponding to the switch index in the second recording slot group according to the switch index; and adding 1 to the current value recorded in the second recording groove, or adding the second message to the current value recorded in the second recording groove.
In another possible implementation manner, the device may be a destination host, and the beneficial effects may be seen in the description of the above third aspect, which is not repeated here. The receiving and transmitting module is used for receiving a second message forwarded by the switch from the source host, wherein the second message comprises a host index, a first time window and a switch index; the switch corresponds to the switch index; the processing module is used for updating the recorded current value corresponding to the host index and the first time window according to the second message.
In one possible implementation manner, the processing module is specifically configured to increment the value of the current recorded by the host index and the first time window by 1; or adding the value of the current recorded by the host index and the corresponding first time window to the size of the second message.
In a possible implementation manner, the processing module is specifically configured to determine, according to the first time window, a third recording slot group corresponding to the first time window, where the third recording slot group includes a plurality of recording slots; determining a third recording slot corresponding to the host index in the third recording slot group according to the host index; and adding 1 to the current value recorded in the third recording groove, or adding the second message to the current value recorded in the third recording groove.
In another possible implementation manner, the device may be a controller, and the beneficial effects may be seen in the description of the fourth aspect, which is not repeated here. The processing module is cooperated with the receiving and transmitting module and is used for acquiring a first flow value recorded corresponding to the host index and the first time window from the source host for the flow to be measured and acquiring a second flow value recorded corresponding to the host index and the first time window from the target host after the first time window is ended; wherein, the stream is sent to the destination host by the source host, the host index is determined according to the stream; the processing module is further configured to determine that packet loss occurs in the flow when the first flow value and the second flow value are determined to be inconsistent.
In one possible implementation manner, the processing module is specifically configured to determine a first recording slot group in the source host corresponding to the first time window; determining a first recording slot corresponding to the host index in the first recording slot group, and determining a first stream value recorded in the first recording slot; determining a third record slot group corresponding to the first time window in the target host; a third recording groove corresponding to the host index is determined in the third recording groove group, and a second current value recorded in the third recording groove is determined.
In one possible implementation, the processing module is further configured to determine a second set of recording slots in the switch corresponding to the first time window, the switch being configured to forward the stream from the source host to the destination host; n second recording grooves corresponding to the switch index are determined in the second recording groove group, third stream values recorded by the N second recording grooves are determined, and the packet loss number of streams in the switch is determined according to the first stream value, the second stream value and the N third stream values, wherein N is an integer larger than 1.
In a seventh aspect, the present application provides a communication system comprising a source host, a switch, a destination host, and a controller. Wherein the source host may be adapted to perform any of the above-described first aspect or the first aspect, the switch may be adapted to perform any of the above-described second aspect or the second aspect, the destination host may be adapted to perform any of the above-described third aspect or the third aspect, and the controller may be adapted to perform any of the above-described fourth aspect or the fourth aspect.
In an eighth aspect, the present application provides a computer readable storage medium having stored therein a computer program or instructions which, when executed by a network measurement device, cause the device to perform the method of the first aspect or any possible implementation of the first aspect, or cause the device to perform the method of the second aspect or any possible implementation of the second aspect, or cause the device to perform the method of the third aspect or any possible implementation of the third aspect, or cause the device to perform the method of the fourth aspect or any possible implementation of the fourth aspect.
In a ninth aspect, the application provides a computer program product comprising a computer program or instructions which, when executed by a network measurement device, performs the method of the first aspect or any possible implementation of the first aspect, or the method of the second aspect or any possible implementation of the second aspect, or the method of the third aspect or any possible implementation of the third aspect, or the method of any possible implementation of the fourth aspect.
Drawings
FIG. 1a is a schematic diagram of a strong consistency model according to the present application;
FIG. 1b is a schematic diagram of a weak consistency model according to the present application;
FIG. 1c is a schematic diagram of a near strong consistency model provided by the present application;
FIG. 2 is a schematic diagram of a network measurement system according to the present application;
FIG. 3a is a schematic diagram of a module deployed in a host according to the present application;
fig. 3b is a schematic diagram of a module deployed in a switch according to the present application;
fig. 4 is a schematic flow chart of a network measurement method according to the present application;
fig. 5 is a schematic structural diagram of a second message provided in the present application;
FIG. 6 is a flowchart of a method for synchronizing time windows according to the present application;
FIG. 7 is a flowchart illustrating another method for synchronizing time windows according to the present application;
fig. 8 is a schematic structural diagram of a network measurement device according to the present application;
fig. 9 is a schematic structural diagram of a network measurement device according to the present application.
Detailed Description
Embodiments of the present application will be described in detail below with reference to the accompanying drawings.
Hereinafter, some terms in the present application will be explained. It should be noted that these explanations are for the convenience of those skilled in the art, and do not limit the scope of the present application.
1) Hash table
Hash tables (Hash tables), also referred to as Hash tables, are data structures that are accessed directly from Key values (Key values). That is, the record is accessed by mapping the key value to a location in the table to speed up the lookup. This mapping function is called a hash function and the array in which the records are stored is called a hash table.
For example, given a table M, there is a function f (key), and if an address recorded in the table containing a given key is obtained after substituting the function into the key, the table M is referred to as a Hash table, and the function f is a Hash (Hash) function.
2) Consistency model
The consistency models include a strong consistency model, a weak consistency model, and a near strong consistency model.
A strong consistency model refers to the fact that the boundaries of time windows (referred to as periods of time, or time slices) of the various entities in the network are aligned and that all entities in the network observe the same message within the same time window. Refer to the schematic diagram of a strong consistency model shown in fig. 1 a.
The weak consistency model synchronizes the time windows between each entity in a best-effort (best-effort) manner, the time windows between the entities may be staggered, and different entities may observe the same message in different time windows, see a schematic diagram of a weak consistency model shown in fig. 1 b.
The near strong consistency model is a schematic diagram of a near strong consistency model, which can ensure strong consistency in most of the time and weak consistency in extreme time (tens of microseconds), and can be seen in fig. 1 c.
3) Five-tuple
Quintuple generally refers to a source network protocol (internet protocol, IP) address, a source port, a destination IP address, a destination port, and a transport layer protocol (e.g., transport control protocol (transfer control protocol, TCP)). The five-tuple can distinguish between different streams. For example, 192.168.1.1 10000TCP 121.14.88.76 80 constitutes a five-tuple, representing: a communication device with an IP address of 192.168.1.1 is connected to a communication device with an IP address of 121.14.88.76 and a port of 80 via port 10000 using TCP protocol.
Fig. 2 is a schematic diagram of the architecture of a network measurement system to which the present application is applicable. As shown in fig. 2, the network measurement system may include a host, a switch, and a controller. Fig. 2 exemplifies a network measurement system including three switches 101 and four hosts 102. The host 102 has abundant memory resources, and can flexibly implement various measurement algorithms. Switch 101 may achieve ultra-high throughput (e.g., up to terabits per second) and ultra-low processing latency (up to sub-microseconds). The controller may coordinate all entities in the network, such as hosts 102 and switches 101, to obtain a global view of the network. It should be understood that the controller may be a logical entity, may be a separate physical device, or may be integrated into all hosts 102 and switches 101 of the whole network. If the controller is a stand-alone physical device, the controller may be connected to the switch 101 and the host 102 in the whole network, respectively.
It should be noted that the network measurement system shown in fig. 2 is only a schematic diagram, and other devices may also be included in the network measurement system, for example, a relay device may also be included, which is not shown in fig. 2. The present application does not limit the number of hosts, switches and controllers included in the network measurement system.
Fig. 3a is a schematic diagram of a module deployed in a host according to the present application. The host maintains a number of groups of slots (slots), each group of slots including at least one slot. In one possible implementation, the host includes an exit slot area and an entry slot area, and fig. 3a includes a slot group a and a slot group B in the exit slot area, and includes a slot group C and a slot group D in the entry slot area. One time window corresponds to one set of bins, i.e., during the time window, all current value updates use only the corresponding one set of bins. For example, time window 1 corresponds to recording slot set a, time window 2 corresponds to recording slot set B, time window 3 corresponds to recording slot set C, and time window 4 corresponds to recording slot set D. Further optionally, the host may include a flow key tracking module, a flow matching module, a flow value updating module, and a time window synchronization module. The flow key tracking module is configured to perform a flow key tracking operation on a flow (active flow) initiated by the host, for example, the host initiates a new flow, and the flow key tracking module may determine a flow key (e.g., five-tuple) of the flow and store the flow key in the hash table. The stream matching module is used for matching the messages of the stream, namely, the messages of the same stream are matched to the stream. The flow value update module may include an exit log slot area and an entry log slot area. When the host is used as a source host, the flow value updating module is used for recording the flow value of the flow sent by the source host. Illustratively, the set of recording slots a is used to record the flow value of each stream sent by the source host in time window 1, and the set of recording slots B is used to record the flow value of each stream sent by the source host in time window 2. When the host is the destination host, the flow value update module may be configured to record the flow value of each flow received by the destination host. Illustratively, the set of recording slots C is used to record the flow value of each stream received by the destination host within the time window 3, and the set of recording slots D is used to record the flow value of each stream received by the destination host within the time window 4. The time window synchronization module is used to synchronize the time window of the host with other entities in the network (e.g., other hosts or switches). It should be noted that, the host has abundant physical resources, and it is generally guaranteed that one stream corresponds to one recording slot.
As shown in fig. 3b, a schematic diagram of a module deployed in a switch according to the present application is provided. The switch maintains a plurality of slot (slots) sets, each slot set including at least one slot. In fig. 3b the switch is exemplified as comprising a recording slot set a and a recording slot set b. One time window corresponds to one recording slot group, for example, time window 1 corresponds to recording slot group a and time window 2 corresponds to recording slot group b. That is, the recording slot group a may be divided into the time window 1 and the recording slot group b may be divided into the time window 2. The recording slot group a and the recording slot group b can belong to a flow value updating module on the switch, and the flow value updating module is used for recording the flow value of each flow forwarded by the switch. Illustratively, a record slot group a is used to record the flow value of each flow forwarded by the switch within time window 1, and a record slot group b is used to record the flow value of each flow forwarded by the switch within time window 2. It should be appreciated that the resources of the switch are limited and that multiple streams on the same host can be mapped onto the same record slot.
In connection with fig. 3a and 3b described above, a time window may correspond to a set of recording slots on the host and to a set of recording slots on the switch. When the host is used as a source host, the first time window may correspond to the record slot group a of the host, and correspondingly, the first time window may correspond to the record slot group a of the switch.
In existing network measurements, flow key tracking and flow value updating are tightly coupled, i.e., it is necessary to record key-value pairs of flows (i.e., flow keys and flow values) simultaneously. Because the network measurement system based on the host only lacks the detail information in the network, the host is generally combined with the switch to perform network measurement, but the storage space of the switch is limited, so that all flows in the network cannot be recorded, and the measurement on the network cannot be completely accurate.
In view of this, the present application proposes a network measurement method. In the following description, to facilitate understanding of the scheme, the first time window may correspond to a first slot group of the source host (such as the slot group a in fig. 3 a), the first time window may correspond to a second slot group of the switch (such as the slot group a in fig. 3 b), the first time window may correspond to a third slot group of the destination host (such as the slot group C in fig. 3 a), the first time window may correspond to which slot group of the source host, which slot group of the switch, which slot group of the destination host, and may be preconfigured.
Referring to fig. 4, a flow chart of a network measurement method provided by the present application is shown. The method can be applied to the network measurement system, the host can be the host shown in the above figure 3a, and the switch can be the switch shown in the above figure 3 b. The method comprises the following steps:
In step 401, the source host may acquire a host index, a first time window, and a switch index corresponding to the stream to be sent.
Here, the stream key may be a five-tuple of a stream, and the host index may represent the stream as an identification of the stream.
In one possible implementation, each time a source host initiates a new flow (i.e., an active flow), a flow key (e.g., a five-tuple) of the flow may be obtained first, and a hash operation may be performed on the flow key to obtain a location of the flow key in the hash table, where the location of the flow key in the hash table may be determined as a host index. Illustratively, the source host may invoke a hash code method, calculate the position of the stream key in the hash table, and use the position of the stream key in the hash table as the host index for the stream.
In connection with the hash table shown in fig. 3a, 0, 1 and 2 represent 3 positions of the hash table, respectively. Illustratively, hash operation is performed on stream key 1 (the primary key of stream 1) to obtain the result of 0, i.e., position 0 in the hash table can be used as the host index of stream 1; hash operation is carried out on the stream key 2 (the main key of the stream 2) to obtain a result 1, namely, the position 1 in the hash table can be used as the host index of the stream 2; hash operation is performed on stream 3 (the primary key of stream 3) to result in 2, i.e., position 2 in the hash table can be used as the host index for stream 3.
Alternatively, each flow may include a plurality of messages (hereinafter, a first message is taken as an example for convenience of explanation of the scheme), the source host may store the flow key of each flow in a hash table, and each subsequent message of the flow may directly query the hash table, thereby obtaining the host index of the flow. In combination with the hash table shown in fig. 3a, the host index of the subsequent packet of the stream 1 may directly query the hash table obtaining position 0 shown in fig. 3a, the host index of the subsequent packet of the stream 2 may directly query the hash table obtaining position 1 shown in fig. 3a, and the host index of the subsequent packet of the stream 3 may directly query the hash table obtaining position 2 shown in fig. 3 a.
In one possible implementation, since the controller has a field of view of the whole network (i.e., the controller can acquire which switches and which hosts in the whole network), the corresponding switch index can be pre-partitioned for each host (including the source host). Alternatively, the controller may partition different switch indexes for different hosts. For example, P switch indexes may be divided for the host 1, the P switch indexes being different from each other; for another example, Q switch indexes may be divided for the host 2, and the Q switch indexes are also different from each other; moreover, the switch indexes divided for the host 1 and the host 2 are also different from each other.
Further, the controller may divide M switch indexes for the source host in advance, and the source host may select N switch indexes from the M switch indexes according to a least recently used principle, and determine the N switch indexes as switch indexes of a stream to be initiated, the M switch indexes being different from each other, M being an integer greater than 1, and N being an integer greater than 1 and less than or equal to M. It should be understood that the number of switch indexes corresponding to different flows may or may not be the same, and the application is not limited in this regard. Because the source host acquires the switch index corresponding to the flow and is pre-allocated by the controller, the method is beneficial to eliminating the conflict of flows of different source hosts on the switch forwarding; moreover, the controller divides the switch index for the source host in advance, the source host does not need to request the controller to allocate the switch index for the initiated stream every time one stream is initiated, and therefore the expenditure of message interaction between the source host and the controller can be saved.
Optionally, the source host may store the obtained N switch indexes of the flow, so that the source host may obtain the switch index corresponding to the first packet in the flow by querying the switch index stored by the source host, thereby ensuring that the switch index used by all the first packets generated in the same flow is the same.
In one possible implementation, the source host may determine the local time window maintained locally as the first time window, see in particular the four cases shown by way of example below.
For example, the first time window may be identified by a specific numerical value. For example, if each time window is 1s in length, then 00:00-00:01 can be determined as the first time window, which can be represented by 1; 00:02-00:03 is determined as a second time window, which may be denoted by 2, and so on.
In step 402, the source host may add a host index, a switch index, and a first time window to the first message to obtain a second message.
Here, the host index, the switch index, and the first time window may be notified to the switch corresponding to the switch index by embedding a custom protocol in the first message.
In one possible implementation, the source host may add a host index, and/or a switch index, and/or a first time window between the ethernet packet header and the IP packet header of the first packet to obtain the second packet. Therefore, the network layer and the transmission layer of the host do not need to check the content between the Ethernet packet header and the IP packet header, thereby saving the expenditure caused by check.
In one possible implementation, the source host may embed the switch index, the host index, and the local time window together between the ethernet packet header and the IP packet header of the first packet to obtain the second packet; or, the source host may embed any two of the switch index, the host index and the local time window between the ethernet packet header and the IP packet header of the first packet together, and embed the rest of the packet data or between the packet data and the IP packet header or before the ethernet packet header to obtain the second packet; alternatively, the source host may embed any one of the switch index, the host index and the local time window between the ethernet packet header and the IP packet header of the first packet, and obtain the second packet between the remaining two embedded packet data or between the packet data and the IP packet header or before the ethernet packet header, which is not limited in this application.
Fig. 5 is a schematic structural diagram of a second message provided in the present application. The second packet is exemplified by adding the host index, the switch index and the first time window between the ethernet packet header and the IP packet header, wherein the order of the ethernet packet header, the time window, the host index, the switch index and the IP packet header is exemplified. It should be understood that the present application is not limited to the sequence of the time window, the switch index, and the host index, and may be the sequence of the time window, the host index, the switch index, or the sequence of the switch index, the host index, and the time window, which are not listed here.
In step 403, the source host sends a second message to the switch corresponding to the switch index. Accordingly, the switch receives a second message from the source host.
Here, if the switch index corresponds to a switch, the source host may send a second message to the switch; if the switch index corresponds to a plurality of switches, the source host may send a second message to each of the plurality of switches.
Step 404, the source host updates the recorded stream value corresponding to the host index and the first time window according to the second message.
It should be noted that, there is no sequence between the step 403 and the step 404, and the step 403 may be executed first and then the step 404 may be executed; step 404 may be performed before step 403 is performed; step 403 and step 404 may also be performed simultaneously.
In one possible implementation, the source host determines a first set of slots (i.e., an egress slot set) according to a first time window, determines a first slot corresponding to a host index from the first set of slots according to the host index, and updates a current value of the first slot. That is, in the source host, the first slot set corresponds to the first time window, where the first slot set includes a plurality of slots, each slot may correspond to one stream, and each slot is used to store a number value or a flow value of the packets in the corresponding stream that the source host has sent. It should be understood that the source host updates the current value of the first record slot, which may be updated when the source host sends the second message to the switch, or may be updated after the source host sends the second message to the switch, which is not limited in the present application.
In a possible example, taking a stream, where the stream corresponds to a first recording slot in a first recording slot group, and the first recording slot is used to record the number of first messages sent in the stream, an initial current value of the first recording slot is 0, when the source host sends a first second message obtained by converting a first message in the stream, the current value of the first recording slot may be updated to 1, when the source host sends a second message obtained by converting a first message in the stream, the current value of the first recording slot is updated to 2, and so on, and every time the source host sends a second message obtained by converting a first message in the stream, the current value of the first recording slot may be increased by 1.
In another possible example, taking a stream, where the stream corresponds to a first recording slot in a first recording slot group, where the first recording slot is used to record the size of the stream that has been sent, the initial current value of the first recording slot is 0, when the source host sends a first second message (with a size of A1 bit) obtained by converting a first message in the stream, the current value of the first recording slot may be updated to A1, and when the source host sends a second message (with a size of A2 bit) obtained by converting a first message in the stream, the current value of the first recording slot may be updated to a1+a2, and so on, every time the source host sends a second message obtained by converting a first message in the stream, the value of the size recorded in the first recording slot may be added by the size of the newly sent second message.
In step 405, the switch obtains a first time window and a switch index from the second message.
In connection with the example shown in fig. 5, the switch may obtain the first time window and the switch index from the header of the second message.
Step 406, the switch updates the recorded stream value corresponding to the switch index and the first time window according to the second message.
In one possible implementation, the switch determines the second record slot according to the first time window and the switch index included in the second message, and updates a current value of the second record slot.
In one possible implementation, the switch may determine a second set of slots based on the first time window, determine a second slot from the second set of slots based on the switch index, and update a current value of the second slot. That is, in the switch, the second slot set corresponds to the first time window, where the second slot set includes a plurality of slots, one slot may correspond to one stream, and each slot is used to store the number value or the flow value of the packet in the corresponding stream that has been received by the switch. Thus, after receiving each second message, the switch can update the current value in the second record slot corresponding to the flow to which the second message belongs.
In one possible implementation, the flow value may be the number of messages that the flow includes and/or the total size of the flow (or referred to as total traffic). Further, optionally, the current value may further include a syn packet number and/or a fin packet number.
In a possible example, taking a flow, where the flow corresponds to a second record slot in a second record slot group, and the second record slot is used to record the number of second messages sent in the flow, an initial current value of the second record slot is 0, the switch receives a first second message in the flow, the current value of the second record slot may be updated to 1, when receiving a second message in the flow, the current value of the second record slot may be updated to 2, and so on, and each time the switch receives a second message in the flow, the current value of the second record slot will be added by 1.
In another possible example, taking a stream, where the stream corresponds to a second recording slot in the second recording slot set, where the second recording slot is used to record the size of a second packet in the stream, the initial current value of the second recording slot is 0, the switch receives a first second packet (with a size of A1 bit) in the stream, the current value of the second recording slot may be updated to A1, a second packet (with a size of A2 bit) in the stream is received, the current value of the second recording slot is updated to a1+a2, and so on, and each time the switch receives a second packet in the stream, the current value recorded in the second recording slot is added to the size of the new second packet.
It should be noted that, the number of switch indexes included in the second packet may be N, and the number of second slots determined from the second slot group may be N, and then the current value recorded in each of the N second slots needs to be updated. In addition, the switch can update the flow value of the second record slot after receiving the second message; or after forwarding the second message, updating the current value of the second record slot; the application is not limited in this regard.
In step 407, the switch sends a second message to the destination host. Accordingly, the destination host receives the second message from the switch.
It should be noted that, there is no sequence between the step 406 and the step 407, the step 406 may be performed first and then the step 407 may be performed; step 407 may be performed before step 406 is performed; step 406 and step 407 may also be performed simultaneously.
In step 408, the destination host updates the recorded stream value corresponding to the host index and the first time window according to the second message.
In one possible implementation, the destination host obtains the first time window and the host index from the second message. In combination with the structure of the second message shown in fig. 5, the host may obtain the first time window and the host index from the header of the second message.
Further optionally, the destination host determines a third record slot from the third record slot group according to the first time window and the host index, and updates a current value of the third record slot.
In one possible implementation, the destination host may determine the third set of recording slots according to the first time window; and determining a third recording slot from the third recording slot group according to the host index, and updating the flow value of the third recording slot. That is, in the destination host, the third slot set corresponds to the first time window, the third slot set includes a plurality of slots, one stream corresponds to one slot, and each slot is used for storing the number value or the flow value of the message in the corresponding stream received by the destination host. Thus, after receiving each second message of a stream, the destination host can update the current value in the third record slot corresponding to the stream to which the second message belongs.
It may also be understood that the second message includes a host index, and the destination host may directly use the first time window and the host index in the second message to locate onto the corresponding third record slot, so as to update the current value on the third record slot. Therefore, the target host does not need to acquire the stream key again, and does not need to perform secondary hash operation to acquire the host index, so that the computing resources of the target host can be saved.
In a possible example, taking a stream, where the stream corresponds to a third recording slot in a third recording slot group, and the number of third recording slots used for recording and sending second messages in the stream is exemplified, the initial current value of the third recording slot is 0, the destination host receives the first second message in the stream, the current value of the third recording slot may be updated to 1, when receiving the second message in the stream, the current value of the third recording slot may be updated to 2, and so on, and the destination host will add 1 to the current value of the third recording slot every time the destination host receives a second message in the stream.
In another possible example, taking a stream, where the stream corresponds to a third recording slot in a third recording slot group, where the third recording slot is used to record the size of a second packet in the stream, the initial current value of the third recording slot is 0, the destination host receives a first second packet (with a size of A1 bit) in the stream, the current value of the third recording slot may be updated to A1, a second packet (with a size of A2 bit) in the stream, the current value of the third recording slot may be updated to a1+a2, and so on, and each time the destination host receives a second packet in the stream, the current value of the third recording slot may be added to the size of the new second packet.
When the recorded current value is the size, the source host may record the size of the first message, where after the switch and the destination host receive the second message, the size of the second message may be recorded, and the size of the host index, the size of the switch index, and the size of the first time window may be subtracted from the size of the second message.
As can be seen from the foregoing steps 401 to 408, the source host may obtain the flow value and the flow key of each initiated flow, and add a first time window to the first packet, so as to ensure that the same packet is located in the same time window in the forwarding process of the whole network (from the source host to the switch to the destination host), and whether the time window locally maintained by the switch or the destination host is consistent with the first time window, the first time window field in the second packet is used to determine the flow value to be updated in the whole network transmission process of all the first packets of a flow. In this way, full accuracy of the flow can be achieved and the respective resource advantages of the hosts and switches can be fully utilized. Further, the second message carries a host index, the host index is smaller, and the memory occupied by the second message received by the switch is smaller; in addition, the switch does not need to record a stream key and only needs to update a stream value, thereby being beneficial to realizing low resource overhead.
The determination of the first time window pattern in four situations is exemplarily shown as follows. Hereinafter, a source host and a destination host will be described as examples.
In case one, the host determines to enter a new time window.
Referring to fig. 6, a method for synchronizing time windows is provided in the present application. The method comprises the following steps:
in step 601, the source host may determine to enter a new time window according to the local clock, and determine the new time window as a local time window (local epoch) of the source host.
The source host sends 602 the new time window to the controller. Accordingly, the controller receives a new time window from the source host.
Step 603, the controller determines whether the received new time window is greater than the local time window of the controller; if yes, go to step 604; if not, go to step 607.
In step 604, the controller updates the local time window of the controller to the new time window, and broadcasts a fourth message to hosts (source host and destination host) in the whole network.
Here, the fourth message may include the new time window. It should be understood that the fourth message is a synchronization message of the time window.
Step 605, the destination host obtains the new time window in the fourth message, and determines whether the new time window is greater than the local time window of the destination host; if yes, go to step 606; if not, go to step 609.
It should be noted that, after the source host receives the fourth packet, it may be determined that the new time window in the fourth packet is synchronous with the local time window, and the local time window of the source host does not need to be updated.
In step 606, the destination host updates the local time window of the destination host to the new time window.
The controller broadcasts the third message, so that the synchronization of the whole network time window can be realized. The controller is matched with the host to coordinate the whole network time window synchronization algorithm, so that a near-strong consistency model is realized.
In step 607, the controller sends a first message to the source host.
The first message includes a local time window of the controller for informing/instructing the source host to update the local time window of the source host to the local time window of the controller carried by the first message of control.
In step 608, the source host updates the local time window of the source host to the local time window of the controller.
In step 609, the destination host sends the local time window of the destination host to the controller. Accordingly, the controller receives a local time window of the destination host from the destination host.
Step 610, the controller determines whether the received local time window of the destination host is greater than the local time window of the controller; if yes, go to step 611; if not, go to step 612.
In step 611, the controller updates the local time window of the controller to the local time window of the destination host, and broadcasts a fifth message to the hosts (source host and destination host) in the whole network.
Here, the fifth message may include a local time window of the destination host. It should be understood that the fifth message is also a synchronous message of the time window. The host in the whole network can determine whether to update the local time window maintained by the host according to the relation between the local time window of the destination host and the local time window of the host.
In step 612, the controller sends a second message to the destination host.
The second message includes a local time window of the controller for informing/instructing the destination host to update the local time window of the destination host to the local time window of the controller carried by the controlled second message.
As can be seen from the above steps 601 to 612, the interaction of the source host, the destination host and the controller with the respective local time windows helps to achieve the synchronization of the time windows of the entities in the whole network.
In the second case, the destination host receives the second message.
In one possible implementation, the destination host obtains the first time window in the second message, and if it is determined that the first time window is greater than the local time window of the destination host, updates the local time window of the destination host to the first time window.
In case three, the controller determines to enter a new time window.
Referring to fig. 7, another method for synchronizing time windows is provided in the present application. The method comprises the following steps:
in step 701, after determining to enter a new time window (which may be referred to as a second time window) according to the local clock, the controller updates the local time window of the controller to the second time window.
In step 702, the controller broadcasts a third message to hosts in the whole network.
Here, the third message includes the second time window. It should be understood that hosts in the whole network include a source host and a destination host.
Step 703, the host determines whether the second time window received in the third message is greater than the local time window of the host; if yes, go to step 704; if not, go to step 705.
Step 704, the host updates the local time window of the host to the second time window.
Step 705, the host sends a local time window of the host to the controller. Accordingly, the controller receives a local time window for the host.
In step 706, the controller updates the local time window of the controller to the local time window of the host, and broadcasts a sixth message to the hosts in the whole network.
Here, the sixth message includes the local time window of the updated controller, that is, the received local time window of the host.
And in the fourth case, the host receives the second message and the third message at the same time, or receives the second message and the fourth message at the same time.
In one possible implementation manner, the host may compare the first time window in the second message, the second time window in the third message, and the local time window of the host, and if the local time window of the host is the largest, the host does not update; otherwise, the local time window of the host is updated to the largest time window.
In one possible implementation manner, the host may compare the first time window in the second message, the new time window in the fourth message, and the local time window of the host, and if the local time window of the host is the largest, the host does not update; otherwise, the local time window of the host is updated to the largest time window.
It should be noted that the sequence of steps in the foregoing figures is only an example, and is not intended to limit the present application.
In the application, after each time window is finished, the controller can acquire the flow values of the flows recorded on the source host, the target host and the switch in the time window, and determine whether the flow loses packets or not according to the flow value of each flow. Further alternatively, the source host, destination host, and switch may each reclaim the set of recording slots allocated for the time window. The method for determining whether the packet loss occurs by the controller and the process of how the packet loss is determined by the controller if the packet loss occurs will be described in detail below by taking the first time window as an example.
After the first time window is finished, the controller can acquire a first flow value recorded corresponding to the host index and the first time window from the source host, and acquire a second flow value recorded corresponding to the host index and the first time window from the destination host; the corresponding relation between the recording grooves corresponding to the first recording groove group corresponding to the first time window and the current value can be obtained from the source host; and when the controller determines that the first current value and the second current value are inconsistent, determining that packet loss occurs in the flow.
In one possible implementation, the controller determines a first set of recording slots in the source host corresponding to the first time window, determines a first recording slot in the first set of recording slots corresponding to the host index, and determines the first current value recorded in the first recording slot; the controller can determine a third record slot group corresponding to the first time window in the destination host; and determining a third recording slot corresponding to the host index in the third recording slot group, and determining the second current value recorded in the third recording slot.
In one possible implementation manner, the controller determines a second record slot group corresponding to the first time window in the switch, determines N second record slots corresponding to switch indexes of the switch in the second record slot group, determines third flow values respectively recorded in the N second record slots, and determines the packet loss number of the flow in the switch according to the first flow value, the second flow value and the N third flow values, wherein N is an integer greater than 1.
Further, optionally, the controller may obtain a flow key stored in the hash table in the first time window by the source host, a flow value recorded in the first recording slot group in the first time window by the source host, a flow value recorded in the second recording slot group in the first time window by the switch, and a flow value recorded in the third recording slot group in the first time window by the destination host, and may determine that the flow value recorded in the first recording slot group, the flow value recorded in the second recording slot group, and the flow value recorded in the third recording slot group belong to the same flow value; it is also understood that the controller may determine the flow value of the same flow at the source host, the flow value at the switch, and the flow value at the destination host, and if it is determined that the flow value of the same flow in the first recording slot is inconsistent with the flow value in the third recording slot, determine that packet loss occurs in the flow. And after each time window is finished, the controller acquires the flow values recorded on all hosts and switches of the network once, thereby being beneficial to relieving the bandwidth pressure of the controller.
In one possible implementation manner, after the first time window is finished, the controller sends request messages to the hosts and the switches in the whole network respectively to request to acquire information such as a flow key, a flow value and the like recorded by each network entity in the first time window; or, after the end of the first time window, the hosts and the switches in the whole network report stream information such as stream keys, stream values and the like recorded in the first time window to the controller.
Further optionally, at the end of the first time window, the source host may report to the controller a correspondence between each of the recording slots (including the first recording slot) corresponding to the first recording slot group corresponding to the first time window and the current value. Further, the hash value of the stream key recorded in the hash table can be reported in the first time window; the target host can report the corresponding relation between each recording slot (including the third recording slot) corresponding to the third recording slot group corresponding to the first time window and the current value to the controller; the switch may also report to the controller a correspondence between each of the second set of recording slots (including the second recording slot) corresponding to the first time window and a current value.
Accordingly, the controller may operate on the hash value of the flow key to obtain a flow key (e.g., a five-tuple), and determine the source host and the destination host according to the flow key.
It should be noted that, if the controller controls the hash value of the flow key from the source host, the controller may obtain the flow key in the source host according to the hash operation. Of course, the controller may also obtain the stream key directly from the source host. The application is not limited in this regard.
When the controller determines that a packet loss occurs in a certain stream, the controller can infer the packet loss condition on the switch according to the first flow value of the stream on the first recording slot group, the third flow value on the second recording slot group and the second flow value on the third recording slot group.
In one possible implementation, the controller may construct a system of linear equations, and determine the packet loss condition on each switch by solving the system of linear equations.
Illustratively, taking the flow value as the number of messages included in the flow as an example, two switches (switch 1 and switch 2) are passed between the source host and the destination host, and the variables of the linear equation set may be used to represent the number of packets lost x on switch 1 and the number of packets lost y on switch 2, where the flow value of the flow on the source host is a, the flow value of the flow on the destination host is b, the flow value of the flow on switch 1 is c, and the flow value of the flow on switch 2 is d, and a=c+x+d+y+b.
It should be noted that, the number of switch indexes corresponding to the flows may be N, and N a=c+x+d+y+b may be determined, that is, the constraint of the variable of the linear equation set is increased, so that the linear equation set has a unique solution in most cases, and thus the packet loss condition of the flow with packet loss on the switch can be accurately inferred. Through verification, when n=2, the packet loss situation can be accurately deduced under 99.7% of conditions.
In one possible implementation, the controller may also determine the current total load capacity of the network based on the total traffic size of each flow.
It will be appreciated that in order to implement the functionality of the above embodiments, the source host, switch, destination host and controller comprise corresponding hardware structures and/or software modules that perform the respective functions. Those of skill in the art will readily appreciate that the various illustrative modules and method steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is implemented as hardware or computer software driven hardware depends upon the particular application scenario and design constraints imposed on the solution.
Based on the above and the same concept, fig. 8 and fig. 9 are schematic structural diagrams of a possible network measurement device provided by the present application. These network measurement devices may be used to implement the functions of the source host or switch or destination host or controller in the above-described method embodiments, and thus may also implement the benefits provided by the above-described method embodiments. In the present application, the network measurement device may be the switch 101 shown in fig. 2 or the host 102 shown in fig. 2.
As shown in fig. 8, the network measurement device 800 includes a processing module 801 and a transceiver module 802. The network measurement device 800 is used to implement the functions of the source host or switch or destination host or controller in the method embodiments shown in fig. 4, 6 or 7 described above.
When the network measurement device 800 is used to implement the functionality of the source host of the method embodiment shown in fig. 4: the processing module 801 is configured to obtain a host index, a first time window, and a switch index corresponding to a stream to be sent, and add the host index, the switch index, and the first time window to a first message to obtain a second message, where the first message is any message included in the stream; the transceiver module 802 is configured to send a second message to the destination host through the switch corresponding to the switch index; the processing module 801 is further configured to update, according to the second message, a current value recorded corresponding to the host index and the first time window.
When the network measurement device 800 is used to implement the functionality of a switch of the method embodiment shown in fig. 4: the transceiver module 802 is configured to receive a second message from the source host, where the second message includes a host index, a first time window, and a switch index, and forward the second message to the destination host, where the switch corresponds to the switch index; the processing module 801 is configured to update, according to the second message, a current value recorded corresponding to the switch index and the first time window.
When the network measurement device 800 is used to implement the functionality of the destination host of the method embodiment shown in fig. 4: the transceiver module 802 is configured to receive a second message forwarded by the switch from the source host, where the second message includes a host index, a first time window, and a switch index; the switch corresponds to the switch index; the processing module 801 is configured to update, according to the second message, a current value recorded corresponding to the host index and the first time window.
When the network measurement device 800 is used to implement the functionality of the controller of the method embodiment shown in fig. 4: the processing module 801 cooperates with the transceiver module 802 to obtain, at the end of the first time window, a first flow value recorded corresponding to the host index and the first time window from the source host, and a second flow value recorded corresponding to the host index and the first time window from the destination host; wherein, the stream is sent to the destination host by the source host, the host index is determined according to the stream; the processing module 801 is further configured to determine that packet loss occurs in the flow when the first flow value and the second flow value are determined to be inconsistent.
A more detailed description of the processing module 801 and the transceiver module 802 may be directly obtained by referring to the related description in the method embodiment shown in fig. 4, which is not described herein.
It is to be appreciated that the processing module 801 in embodiments of the present application may be implemented by a processor or processor-related circuit components, and the transceiver module 802 may be implemented by a communication interface or communication interface-related circuit components.
Based on the above and the same concept, the present application also provides a network measurement device 900 as shown in fig. 9. The network measurement device 900 may include a processor 901 and a communication interface 902. The processor 901 and the communication interface 902 are coupled to each other. It is understood that the communication interface 902 may be an interface circuit or an input-output interface. Optionally, the network measurement device 900 may further include a memory 903 for storing instructions executed by the processor 901 or for storing input data required by the processor 901 to execute instructions or for storing data generated after the processor 901 executes instructions.
When the network measurement device 900 is used to implement the method shown in fig. 4, the processor 901 is configured to perform the functions of the processing module 801, and the communication interface 902 is configured to perform the functions of the transceiver module 802.
It is to be appreciated that the processor in embodiments of the application may be a central processing unit (central processing unit, CPU), other general purpose processor, digital signal processor (digital signal processor, DSP), application specific integrated circuit (application specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or other programmable logic device, transistor logic device, hardware components, or any combination thereof. The general purpose processor may be a microprocessor, but in the alternative, it may be any conventional processor.
The method steps in the embodiments of the present application may be implemented by hardware, or may be implemented by executing software instructions by a processor. The software instructions may be comprised of corresponding software modules that may be stored in random access memory (random access memory, RAM), flash memory, read-only memory (ROM), programmable ROM (PROM), erasable Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. In addition, the ASIC may reside in a network device or terminal device. The processor and the storage medium may reside as discrete components in a network device or terminal device.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions is loaded and executed on a computer, the processes or functions of embodiments of the present application are performed in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, a network device, a user device, or other programmable apparatus. The computer program or instructions may be stored in or transmitted from one computer readable storage medium to another, for example, by wired or wireless means from one website site, computer, server, or data center. Computer readable storage media can be any available media that can be accessed by a computer or data storage devices such as servers, data centers, etc. that integrate one or more available media. Usable media may be magnetic media such as floppy disks, hard disks, magnetic tape; optical media, such as digital video discs (digital video disc, DVD); but also semiconductor media such as solid state disks (solid state drive, SSD).
In various embodiments of the application, where no special description or logic conflict exists, terms and/or descriptions between the various embodiments are consistent and may reference each other, and features of the various embodiments may be combined to form new embodiments based on their inherent logic.
In the present application, "at least one" means one or more, and "a plurality" means two or more. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, at least one (one) of a, b or c may represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", wherein a, b, c may be single or plural. "and/or", describes an association relationship of an association object, and indicates that there may be three relationships, for example, a and/or B, and may indicate: a alone, a and B together, and B alone, wherein a, B may be singular or plural. In the text description of the present application, the character "/", generally indicates that the associated objects are an or relationship; in the formula of the present application, the character "/" indicates that the front and rear associated objects are a "division" relationship. In addition, in the present application, the term "exemplary" is used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. It is to be understood that the terminology used in the description of the examples is intended to be in the nature of words of description rather than of limitation.
It will be appreciated that the various numerical numbers referred to in the embodiments of the present application are merely for ease of description and are not intended to limit the scope of the embodiments of the present application. The sequence number of each process does not mean the sequence of the execution sequence, and the execution sequence of each process should be determined according to the function and the internal logic. The terms "first," "second," and the like, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. Furthermore, the terms "comprise" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion, such as a series of steps or modules. The method, system, article, or apparatus is not necessarily limited to those explicitly listed but may include other steps or modules not explicitly listed or inherent to such process, method, article, or apparatus.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the scope of the application. Thus, it is intended that the present application also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (22)

1. A network measurement method, comprising:
the source host acquires a host index, a first time window and a switch index corresponding to a stream to be transmitted; the host index is used for indicating the identification of the flow, and the switch index is the switch index allocated to the flow;
the source host adds the host index, the switch index and the first time window in a first message to obtain a second message, wherein the first message is any message included in the stream;
the source host sends the second message to the target host through the switch corresponding to the switch index, and updates the recorded current value corresponding to the host index and the first time window according to the second message;
wherein the source host updates a value of a current recorded corresponding to the host index and the first time window, comprising:
the source host determines a first record slot group corresponding to the first time window according to the first time window, wherein the first record slot group comprises a plurality of record slots;
the source host determines a first recording slot corresponding to the host index in the first recording slot group according to the host index;
And the source host adds 1 to the current value recorded by the first recording slot, or adds 1 to the current value recorded by the first recording slot to the size of the second message.
2. The method of claim 1, wherein the source host adding the host index, the switch index, and the first time window to a first message to obtain a second message comprises:
the source host adds the host index and/or the switch index and/or the first time window between an Ethernet packet header and a network protocol IP packet header of the first message to obtain the second message.
3. The method of claim 1 or 2, wherein the source host updating the recorded current values corresponding to the host index and the first time window comprises:
the source host adds 1 to the host index and the corresponding recorded current value of the first time window; or alternatively, the process may be performed,
and the source host adds the host index and the corresponding recorded current value of the first time window to the size of the second message.
4. The method of claim 1 or 2, wherein the source host obtaining a host index of a stream to be transmitted, comprises:
The source host performs hash operation on the stream key of the stream, determines the position of the stream key in a hash table according to an operation result, and determines the position as the host index.
5. A network measurement method, comprising:
the switch receives a second message from a source host, wherein the second message comprises a host index, a first time window and a switch index, and the switch corresponds to the switch index; the host index is used for indicating the identification of the flow, and the switch index is the switch index allocated to the flow;
the switch forwards the second message to a target host;
the switch updates the recorded current value corresponding to the switch index and the first time window according to the second message;
wherein the switch updates a current value recorded corresponding to the switch index and the first time window, comprising:
the switch determines a second recording groove group corresponding to the first time window according to the first time window, wherein the second recording groove group comprises a plurality of recording grooves;
the switch determines a second record slot corresponding to the switch index in the second record slot group according to the switch index;
And the switch adds 1 to the current value recorded by the second recording slot, or adds 1 to the current value recorded by the second recording slot to the size of the second message.
6. The method of claim 5, wherein the switch updating the recorded current values corresponding to the switch index and the first time window comprises:
the switch adds 1 to the value of the current correspondingly recorded by the switch index and the first time window; or alternatively, the process may be performed,
and the switch adds the value of the current recorded by the switch index and the corresponding first time window to the size of the second message.
7. A network measurement method, comprising:
the target host receives a second message forwarded by the switch from the source host, wherein the second message comprises a host index, a first time window and a switch index, and the switch corresponds to the switch index; the host index is used for indicating the identification of the flow, and the switch index is the switch index allocated to the flow;
the target host updates the recorded current value corresponding to the host index and the first time window according to the second message;
wherein the destination host updates a current value recorded corresponding to the host index and the first time window, including:
The destination host determines a third recording groove group corresponding to the first time window according to the first time window, wherein the third recording groove group comprises a plurality of recording grooves;
the destination host determines a third recording slot corresponding to the host index in the third recording slot group according to the host index;
and the destination host adds 1 to the current value recorded by the third recording slot, or adds 1 to the current value recorded by the third recording slot to the size of the second message.
8. The method of claim 7, wherein the destination host updating the recorded current values corresponding to the host index and the first time window comprises:
the target host adds 1 to the value of the current recorded by the host index and the corresponding first time window; or alternatively, the process may be performed,
and the destination host adds the host index and the value of the current corresponding to the first time window to the size of the second message.
9. A network measurement method, comprising:
at the end of a first time window, the controller acquires a first flow value recorded corresponding to a host index and the first time window from a source host for a flow to be measured, and acquires a second flow value recorded corresponding to the host index and the first time window from a destination host; the flow is sent by the source host to the destination host, the host index being determined from the flow; the host index is used to indicate an identity of the flow;
When the controller determines that the first current value is inconsistent with the second current value, determining that packet loss occurs in the flow;
wherein the controller obtains, for a source host to be measured, a first stream value recorded corresponding to a host index and the first time window, including:
the controller determines a first record slot group corresponding to the first time window in the source host;
the controller determines a first recording slot corresponding to the host index in the first recording slot group, and determines the first current value recorded in the first recording slot;
the controller obtains a second stream value recorded corresponding to a host index and the first time window from a destination host, and the second stream value comprises:
the controller determines a third record slot group corresponding to the first time window in the target host;
the controller determines a third recording slot corresponding to the host index among the third recording slot group, and determines the second current value recorded in the third recording slot.
10. The method of claim 9, wherein the method further comprises:
the controller determines a second record slot group corresponding to the first time window in the switch; the switch is configured to forward the flow from the source host to the destination host;
The controller determines N second recording slots corresponding to the switch indexes of the switch in the second recording slot group, and determines third current values respectively recorded in the N second recording slots, wherein N is an integer greater than 1, and the switch indexes are switch indexes distributed by the flow;
and the controller determines the packet loss number of the flow in the switch according to the first flow value, the second flow value and the N third flow values.
11. A network measurement device, comprising a processing module and a transceiver module:
the processing module is configured to obtain a host index, a first time window, and a switch index corresponding to a stream to be sent, and add the host index, the switch index, and the first time window to a first message to obtain a second message, where the first message is any message included in the stream; the host index is used for indicating the identification of the flow, and the switch index is the switch index allocated to the flow;
the receiving and transmitting module is used for transmitting the second message to a target host through the switch corresponding to the switch index;
the processing module is further configured to update, according to the second message, a current value recorded corresponding to the host index and the first time window;
The processing module is specifically configured to:
determining a first recording groove group corresponding to the first time window according to the first time window, wherein the first recording groove group comprises a plurality of recording grooves;
determining a first recording slot corresponding to the host index in the first recording slot group according to the host index;
and adding 1 to the current value recorded by the first recording groove, or adding the current value recorded by the first recording groove to the size of the second message.
12. The apparatus of claim 11, wherein the processing module is specifically configured to:
and adding the host index and/or the switch index and/or the first time window between an Ethernet packet header and a network protocol IP packet header of the first message to obtain the second message.
13. The apparatus according to claim 11 or 12, wherein the processing module is specifically configured to:
adding 1 to the value of the current recorded by the host index and the first time window correspondingly; or alternatively, the process may be performed,
and adding the value of the current corresponding to the host index and the first time window to the size of the second message.
14. The apparatus according to claim 11 or 12, wherein the processing module is specifically configured to:
And carrying out hash operation on the stream key of the stream, determining the position of the stream key in a hash table according to an operation result, and determining the position as the host index.
15. A network measurement device, comprising a processing module and a transceiver module:
the receiving and transmitting module is used for receiving a second message from a source host, the second message comprises a host index, a first time window and a switch index, the second message is forwarded to a target host, and the switch corresponds to the switch index; the host index is used for indicating the identification of the flow, and the switch index is the switch index allocated to the flow;
the processing module is used for updating the recorded current values corresponding to the switch index and the first time window according to the second message;
the processing module is specifically configured to:
determining a second recording groove group corresponding to the first time window according to the first time window, wherein the second recording groove group comprises a plurality of recording grooves;
determining a second record slot corresponding to the switch index in the second record slot group according to the switch index;
And adding 1 to the current value recorded by the second recording groove, or adding the current value recorded by the second recording groove to the size of the second message.
16. The apparatus of claim 15, wherein the processing module is specifically configured to:
adding 1 to the current value recorded by the switch index and the first time window; or alternatively, the process may be performed,
and adding the switch index and the value of the current corresponding to the first time window to the size of the second message.
17. A network measurement device, comprising a processing module and a transceiver module:
the receiving and transmitting module is used for receiving a second message forwarded by the switch from the source host, wherein the second message comprises a host index, a first time window and a switch index; the switch corresponds to the switch index; the host index is used for indicating the identification of the flow, and the switch index is the switch index allocated to the flow;
the processing module is used for updating the recorded current value corresponding to the host index and the first time window according to the second message;
the processing module is specifically configured to:
determining a third recording groove group corresponding to the first time window according to the first time window, wherein the third recording groove group comprises a plurality of recording grooves;
Determining a third recording slot corresponding to the host index in the third recording slot group according to the host index;
and adding 1 to the current value recorded by the third recording groove, or adding the current value recorded by the third recording groove to the size of the second message.
18. The apparatus of claim 17, wherein the processing module is configured to:
adding 1 to the value of the current recorded by the host index and the first time window correspondingly; or alternatively, the process may be performed,
and adding the value of the current corresponding to the host index and the first time window to the size of the second message.
19. A network measurement device, comprising a processing module and a transceiver module:
the processing module cooperates with the transceiver module to acquire, for a stream to be measured, a first stream value recorded corresponding to a host index and the first time window from a source host and a second stream value recorded corresponding to the host index and the first time window from a destination host, at the end of the first time window; wherein the flow is sent by the source host to the destination host, the host index being determined from the flow; the host index is used to indicate an identity of the flow;
The processing module is further configured to determine that packet loss occurs in the flow when the first flow value and the second flow value are inconsistent;
the processing module is specifically configured to:
determining a first record slot group corresponding to the first time window in the source host;
determining a first recording slot corresponding to the host index in the first recording slot group, and determining the first current value recorded in the first recording slot;
determining a third record slot group corresponding to the first time window in the destination host;
and determining a third recording slot corresponding to the host index in the third recording slot group, and determining the second current value recorded in the third recording slot.
20. The apparatus of claim 19, wherein the processing module is further to:
determining a second record slot group corresponding to the first time window in a switch, wherein the switch is used for forwarding the flow from the source host to the destination host;
and determining N second record slots corresponding to the switch indexes in the second record slot group, determining third stream values respectively recorded by the N second record slots, and determining the packet loss number of the stream in the switch according to the first stream value, the second stream value and the N third stream values, wherein N is an integer greater than 1, and the switch indexes are switch indexes allocated to the stream.
21. A network measurement device comprising a processor and a communication interface for receiving signals from other devices than the device and transmitting to the processor or sending signals from the processor to other devices than the network measurement device, the processor being operable to implement the method of any one of claims 1 to 4, or 5 to 6, or 7 to 8, or 9 to 10 by logic circuitry or execution of code instructions.
22. A computer readable storage medium, characterized in that the computer readable storage medium has stored therein a computer program or instructions which, when executed by a network measurement device, implement the method of any of claims 1 to 4, or 5 to 6, or 7 to 8, or 9 to 10.
CN202010565111.2A 2020-06-19 2020-06-19 Network measurement method and device Active CN113824606B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010565111.2A CN113824606B (en) 2020-06-19 2020-06-19 Network measurement method and device
PCT/CN2021/100828 WO2021254474A1 (en) 2020-06-19 2021-06-18 Network measurement method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010565111.2A CN113824606B (en) 2020-06-19 2020-06-19 Network measurement method and device

Publications (2)

Publication Number Publication Date
CN113824606A CN113824606A (en) 2021-12-21
CN113824606B true CN113824606B (en) 2023-10-24

Family

ID=79268494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010565111.2A Active CN113824606B (en) 2020-06-19 2020-06-19 Network measurement method and device

Country Status (2)

Country Link
CN (1) CN113824606B (en)
WO (1) WO2021254474A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016000659A1 (en) * 2014-07-04 2016-01-07 华为技术有限公司 Statistical information acquisition method and device
CN105429822A (en) * 2015-11-30 2016-03-23 东南大学 Software defined network based method for measuring link packet loss at each hop on peer-to-peer path
CN106506399A (en) * 2016-11-03 2017-03-15 盛科网络(苏州)有限公司 Realize method, device and the data exchange chip of MFP
CN107769988A (en) * 2016-08-19 2018-03-06 华为技术有限公司 The method, apparatus and the network equipment that information is sent and detection messages are lost
CN109660414A (en) * 2017-10-11 2019-04-19 杭州达乎科技有限公司 A kind of method and apparatus of the teleservice monitoring based on SDN network

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754662B1 (en) * 2000-08-01 2004-06-22 Nortel Networks Limited Method and apparatus for fast and consistent packet classification via efficient hash-caching
SE0004736D0 (en) * 2000-12-20 2000-12-20 Ericsson Telefon Ab L M Mapping system and method
CN102946330B (en) * 2012-09-29 2017-03-15 华为技术有限公司 network packet loss measuring method, device and system
US9705775B2 (en) * 2014-11-20 2017-07-11 Telefonaktiebolaget Lm Ericsson (Publ) Passive performance measurement for inline service chaining
US9838286B2 (en) * 2014-11-20 2017-12-05 Telefonaktiebolaget L M Ericsson (Publ) Passive performance measurement for inline service chaining

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016000659A1 (en) * 2014-07-04 2016-01-07 华为技术有限公司 Statistical information acquisition method and device
CN105281969A (en) * 2014-07-04 2016-01-27 华为技术有限公司 Statistical information acquisition method and device
CN105429822A (en) * 2015-11-30 2016-03-23 东南大学 Software defined network based method for measuring link packet loss at each hop on peer-to-peer path
CN107769988A (en) * 2016-08-19 2018-03-06 华为技术有限公司 The method, apparatus and the network equipment that information is sent and detection messages are lost
CN106506399A (en) * 2016-11-03 2017-03-15 盛科网络(苏州)有限公司 Realize method, device and the data exchange chip of MFP
CN109660414A (en) * 2017-10-11 2019-04-19 杭州达乎科技有限公司 A kind of method and apparatus of the teleservice monitoring based on SDN network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Integrated network traffic measurement and billing system;K.C. Yong等;IEEE;全文 *
一种新的SDN架构下端到端网络主动测量机制;刘俊;曾少华;;计算技术与自动化(第04期);全文 *

Also Published As

Publication number Publication date
WO2021254474A1 (en) 2021-12-23
CN113824606A (en) 2021-12-21

Similar Documents

Publication Publication Date Title
EP3419247A1 (en) Method and device for storage resource allocation for video cloud storage
EP2721504B1 (en) File processing method, system and server-clustered system for cloud storage
US20180288152A1 (en) Storage dynamic accessibility mechanism method and apparatus
US20180285294A1 (en) Quality of service based handling of input/output requests method and apparatus
CN111352577B (en) Object storage method and device
CN109558065B (en) Data deleting method and distributed storage system
CN112671611A (en) Sketch-based large stream detection method and device
CN111817977A (en) Network congestion control method and device
EP3465966B1 (en) A node of a network and a method of operating the same for resource distribution
US11050649B2 (en) Delay measurement method of network node device, apparatus, and network node device
CN110413845A (en) Resource storage method and device based on Internet of Things operating system
CN111552701B (en) Method for determining data consistency in distributed cluster and distributed data system
CN110784336A (en) Multi-device intelligent timing delay scene setting method and system based on Internet of things
CN113824606B (en) Network measurement method and device
CN117834501A (en) Network telemetry method, device and medium
WO2019104639A1 (en) Calculation unit, calculation system and control method for calculation unit
CN107438268B (en) Method and device for accelerating wireless network for mobile device
US11416517B2 (en) Partitioning data in a clustered database environment
EP2315480B1 (en) Device and method for delay mean value computation in a trasmission path
US20190058637A1 (en) Mapping of network device connectivity using performance data
CN113965492A (en) Data flow statistical method and device
EP4336900A1 (en) Deterministic traffic transmission method and device
CN108123887B (en) Message processing method and device
CN110474787A (en) A kind of node failure detection method and device
US20220385726A1 (en) Information processing apparatus, computer-readable recording medium storing program, and information processing method

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