WO2024094834A1 - Round-trip packet loss measurement in a packet-switched communication network - Google Patents

Round-trip packet loss measurement in a packet-switched communication network Download PDF

Info

Publication number
WO2024094834A1
WO2024094834A1 PCT/EP2023/080634 EP2023080634W WO2024094834A1 WO 2024094834 A1 WO2024094834 A1 WO 2024094834A1 EP 2023080634 W EP2023080634 W EP 2023080634W WO 2024094834 A1 WO2024094834 A1 WO 2024094834A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
packets
packet
plf
packet loss
Prior art date
Application number
PCT/EP2023/080634
Other languages
French (fr)
Inventor
Mauro Cociglio
Fabio BULGARELLA
Original Assignee
Telecom Italia S.P.A.
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 Telecom Italia S.P.A. filed Critical Telecom Italia S.P.A.
Publication of WO2024094834A1 publication Critical patent/WO2024094834A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0841Round trip packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays

Definitions

  • the present invention relates to the field of communication networks.
  • the present invention relates to a round-trip packet loss measurement in a packet-switched communication network.
  • packet flows are transmitted from source nodes to destination nodes through possible intermediate nodes.
  • exemplary packet-switched networks are IP (Internet Protocol) networks, Ethernet networks and MPLS (Multiprotocol Label Switching) networks.
  • Packets not always reach their destination nodes, i.e. they may be lost during transmission through the network. Packet loss is due to different reasons. For instance, a node or link may fail, or packets may be discarded by a node due to a congestion of its ports. Also, packets may be discarded by a node since they contain bit errors.
  • a performance measurement in terms of packet loss on packet flows carrying the service provides an indication of the quality of service (QoS) perceived by the end users of the service.
  • QoS quality of service
  • packet loss may require retransmission and then reduce the efficiency of the communication network. Therefore, measuring packet loss of packet flows in a communication network is of particular interest for network operators.
  • WO 2010/072251 in the name of the same Applicant, discloses a method for measuring packet loss on a packet flow which uses an alternate marking technique, whereby the packet flow to be measured is divided into blocks of packets comprising a first marking value (e.g. a dedicated marking bit in their header set to "1 ") and blocks of packets comprising a second marking value (e.g. a dedicated marking bit in their header set to "0").
  • the marking value is periodically switched, so that the blocks of packets with the first marking value are interleaved with the blocks of packets with the second marking value.
  • Two measurement points are provided on the path of the marked packets. Each measurement point implements a couple of counters counting the number of packets with the first and second marking values, respectively. The packet loss between the two measurement points is calculated using the counter values.
  • Round-trip packet loss measurements are also known, namely measurements of the number of packets lost in two counterpropagating packet flows exchanged between two nodes.
  • WO 2020/156996 in the name of the same Applicant discloses a method for enabling a round-trip packet loss measurement wherein a first node and a second node exchange packets comprising a packet loss field settable to either an idle value (e.g. 0) or a measurement value (e.g. 1 ).
  • the first node transmits to the second node first packets having their packet loss fields set to 1 .
  • the second node Upon reception from the first node of each one of these first packets, the second node transmits to the first node a respective second packet having its packet loss field set to 1 .
  • the first node Upon reception from the second node of each second packet, the first node transmits to the second node a respective third packet having its packet loss field set to 1 .
  • a measurement point may count the number of first packets and the number of third packets transmitted from the first node to the second node, based on which a round-trip packet loss measurement can then be performed. Since the third packets are obtained by a double reflection - at the second node and then at the first node - of the first packets, the measurement of the round-trip packet loss is performed on a same number of packets (short of lost packets) transmitted in both directions between the first and second node, independently of the packet rates in the two directions. Hence, the measurements are accurate even when the two directions exhibit different packet rates.
  • a non-authorized party could place a measurement point between the two nodes implementing the technique of WO 2020/156996 and thus obtain a non-authorized measurement of the end-to-end round-trip packet loss, namely of the round-trip packet loss between the two nodes.
  • the double reflection mechanism of WO 2020/156996 allows performing the round-trip packet loss measurement only on a portion of the packets exchanged between the two nodes.
  • the Applicant has tackled the problem of providing a method for transmitting a bidirectional packet flow carrying live traffic between two nodes of a packet-switched communication network, which enables end-to-end round-trip packet loss measurements and which solves at least one of the aforesaid drawbacks.
  • the Applicant has tackled the problem of providing a method for transmitting a bidirectional packet flow carrying live traffic between two nodes of a packet-switched communication network, which enables end-to-end round-trip packet loss measurements only by authorized parties and/or which allows involving in the round-trip packet loss measurement an increased percentage of the packets exchanged between the two nodes.
  • the above problem is solved by a method wherein a first node and a second node of a communication network exchange packets carrying live traffic and comprising a packet loss field settable to either an idle value or a measurement value.
  • the first node performs a generation step during which it transmits to the second node first packets having their packet loss fields set to the measurement value.
  • the second node Upon reception of the first packets from the first node, the second node performs a reflection step during which, for each one of the received first packets, it transmits to the first node a respective second packet having the packet loss field also set to the measurement value.
  • Generation step and reflection step are iterated cyclically to provide a sequence of measurement cycles, each measurement cycle consisting in an iteration of the generation step and reflection step; the number of first packets transmitted by the first node during each measurement cycle is independent of the number of second packets received by the first node during the preceding measurement cycle.
  • This operation of the first and second nodes advantageously enables end-to-end round-trip packet loss measurements only by parties who have access to the first node and may place a measurement point at the first node.
  • a measurement point placed at the first node may count the number N1 (i) of first packets transmitted by the first node and the number N2(i) of second packets received by the first node, the index i being a measurement cycle index.
  • the measurement point may then calculate an end-to-end round-trip packet loss PL(i) as a difference between the numbers N1 (i) and N2(i) counted during that measurement cycle.
  • a measurement point placed at an intermediate position between the two nodes cannot perform any end-to-end round-trip packet loss measurement. Even assuming indeed that the measurement point is capable of counting the number of first packets transmitted by the first node during several measurement cycles for the purpose e.g. of applying the technique disclosed by WO 2020/156996, it cannot combine them into a significant end-to-end round-trip packet loss measurement.
  • the measurement point could count the number N1 (i) of first packets transmitted by the first node during the i th measurement cycle, the number N1 (i+1 ) of first packets transmitted by the first node during the (i+1 ) th measurement cycle, and calculate their difference N1 (i)-N 1 (i+1 ).
  • such difference is not indicative of the end-to- end round-trip packet loss between first and second node, because the number N1 (i+1 ) is independent of the number N2(i) of second packets received by the first node during the i th measurement cycle, and is accordingly also not comparable with the number N1 (i) of first packets transmitted by the first node during the i th measurement cycle.
  • the present invention provides a method for transmitting a bidirectional packet flow carrying live traffic between a first node and a second node of a communication network, each packet of the bidirectional packet flow comprising a packet loss field settable to either an idle value or a measurement value, the method comprising: a) by the first node transmitting to the second node first packets of the bidirectional packet flow having the packet loss field set to the measurement value; and b) by the second node, upon reception from the first node of each one of the first packets of the bidirectional packet flow having the packet loss field set to the measurement value, transmitting to the first node a respective second packet of the bidirectional packet flow having the packet loss field set to the measurement value, wherein steps a) and b) are iterated cyclically to provide a sequence of measurement cycles, each measurement cycle consisting in an iteration of step a) and an iteration of step b), and wherein the number of first packets of the bidirectional packet flow having the packet loss field set
  • step (a) is terminated upon occurrence of a first predefined condition and a subsequent iteration of step (a) is started upon occurrence of a second predefined condition.
  • the first predefined condition comprises terminating the iteration of step (a) when a first predefined time T1 has lapsed since start of the iteration of step (a).
  • the first predefined condition comprises terminating the iteration of step (a) when a first predefined number N1 of first packets of the bidirectional packet flow having the packet loss field set to the measurement value has been transmitted since start of the iteration of step (a).
  • the first predefined condition comprises terminating the iteration of step (a) when the first node receives the first one of the second packets of the bidirectional packet flow having the packet loss field set to the measurement value transmitted by the second node.
  • the first predefined condition comprises terminating the iteration of step (a) when a first predefined number M1 of spin bit cycles has lapsed since start of the iteration of step (a).
  • the second predefined condition comprises starting the subsequent iteration of step (a) when a second predefined time T2 has lapsed since termination of the iteration of step (a).
  • the second predefined condition comprises starting the subsequent iteration of step (a) when a time T3 has lapsed since termination of the iteration of step (a), the time T3 being set equal to an estimate of a round-trip time between the first node and the second node calculated as a difference between a reception time of the first one of the second packets of the bidirectional packet flow having the packet loss field set to the measurement value transmitted by the second node, and a transmission time of the first one of the first packets of the bidirectional packet flow having the packet loss field set to the measurement value transmitted by the first node during the iteration of step (a).
  • the second predefined condition comprises starting the subsequent iteration of step (a) when a second predefined number M2 of spin bit cycles has lapsed since termination of the iteration of step (a).
  • the packet loss field is settable to either the idle value, the measurement value or a further measurement value, and first iterations of step (a) comprising transmitting to the second node first packets of the bidirectional packet flow having the packet loss field set to the measurement value alternate in time with second iterations of step (a) comprising transmitting to the second node first packets of the bidirectional packet flow having the packet loss field set to the further measurement value.
  • the first predefined condition comprises terminating each one of the first iterations of step (a) when the first node receives the first one of the second packets of the bidirectional packet flow having the packet loss field set to the measurement value transmitted by the second node, and terminating each one of the second iterations of step (a) when the first node receives the first one of the second packets of the bidirectional packet flow having the packet loss field set to the further measurement value transmitted by the second node.
  • the packet loss field is also settable to a sample measurement value different from the measurement value, step (a) comprising transmitting to the second node one packet of the bidirectional packet flow having the packet loss field set to the sample measurement value.
  • the present invention provides a method for performing a round-trip packet loss measurement on a bidirectional packet flow carrying live traffic between a first node and a second node of a communication network, each packet of the bidirectional packet flow comprising a packet loss field settable to either an idle value or a measurement value, the method comprising the steps of the method as set forth above and, by a measurement point placed at the first node: c) counting a number N1 (i) of first packets of the bidirectional packet flow having the packet loss field set to the measurement value transmitted by the first node during a measurement cycle; d) counting a number N2(i) of second packets of the bidirectional packet flow having the packet loss field set to the measurement value received by the first node during the measurement cycle; and e) calculating a round-trip packet loss PL(i) as a difference between the number N1 (i) of first packets and the number N2(i) of second packets.
  • the present invention provides a communication network comprising a first node and a second node configured to exchange a bidirectional packet flow carrying live traffic, each packet of the bidirectional packet flow comprising a packet loss field settable to either an idle value or a measurement value, wherein: the first node is configured to transmit to the second node first packets of the bidirectional packet flow having the packet loss field set to the measurement value; and the second node is configured to, upon reception from the first node of each one of the first packets of the bidirectional packet flow having the packet loss field set to the measurement value, transmit to the first node a respective second packet of the bidirectional packet flow having the packet loss field set to the measurement value, wherein the first node and the second node are configured to iterate steps a) and b) cyclically to provide a sequence of measurement cycles, each measurement cycle consisting in an iteration of step a) and an iteration of step b), the first node being further configured to, at each measurement cycle, transmit a number of
  • FIG. 1 schematically shows a packet-switched communication network in which the method for enabling a round-trip packet loss measurement according to embodiments of the present invention is implemented;
  • FIG. 2 schematically shows the structure of a packet exchanged in the communication network of Figure 1 , according to embodiments of the present invention
  • FIG. 3 is a flow chart of the operation of a first and second node of the communication network of Figure 1 , according to embodiments of the present invention.
  • Figure 1 schematically shows a packet-switched communication network 100 configured to enable round-trip packet loss measurements according to embodiments of the present invention.
  • the communication network 100 comprises a plurality of nodes reciprocally interconnected by physical links according to any known topology, including two nodes 1 and 2 shown in Figure 1 .
  • the nodes 1 and 2 may be connected by a single physical link or by the concatenation of several physical links and intermediate nodes (not shown in the drawings).
  • the communication network 100 may be for instance an IP network.
  • the nodes 1 , 2 exchange a bidirectional packet flow including packets Pk transmitted from the node 1 to the node 2 and packets Pk’ transmitted from the node 2 to the node 1 , as schematically depicted in Figure 1 .
  • the packets Pk, Pk’ carry live traffic, namely they are not generated for the purpose of performance measurements.
  • the packets Pk may belong to a same packet flow (namely, they may all have a same source address and a same destination address, e.g. a same IP source address and a same IP destination address) or to different packet flows whose paths are overlapping between the nodes 1 and 2.
  • the packets Pk' may belong to a same packet flow or to different packet flows whose paths are overlapping between the nodes 2 and 1 .
  • the packets Pk, Pk' are formatted according to a certain network protocol.
  • the network protocol may be the known QUIC protocol.
  • each packet Pk, Pk' comprises a payload PL comprising user data and at least one header H.
  • each header pertains to a different network layer.
  • each packet Pk, Pk’ may comprise a network layer header (such as an IP header) and transport layer header (such as a QUIC+UDP header or a TCP header).
  • One of the headers H (typically, the network layer header) comprises packet forwarding information, namely information allowing the packets Pk to reach the node 2 and the packets Pk’ to reach the node 1 .
  • Each packet Pk, Pk' also preferably comprises a packet loss field PLF enabling round-trip packet loss measurements on the bidirectional packet flow Pk, Pk’.
  • the packet loss field PLF may be comprised in the same header H as the packet forwarding information (as shown in Figure 2), in a different header (if any) or in the payload PL. Assuming for example that the packets Pk, Pk' comprise a network layer header (such as an IP header) and a transport layer header (such as a QUIC header), the packet loss field PLF may be comprised in the transport layer header.
  • the packet loss field PLF comprises one or more bits, in particular one bit or two bits.
  • the packet loss field PLF may be set to anyone of:
  • an idle value e.g. "0” in case of a one-bit packet loss field or "00” in case of a two-bit packet loss field
  • a measurement value (e.g. "1 " in case of a one-bit packet loss field).
  • the node 1 normally transmits to the node 2 packets Pk having their packet loss field PLF set to the idle value (step 300).
  • the node 1 determines that a round-trip packet loss measurement shall be started (step 301 ), it preferably starts a generation step (step 302) which comprises switching the value applicable to the packet loss field PLF of the packets Pk to be transmitted from the idle value to the measurement value (herein after, it is assumed that a single measurement value is used by the nodes 1 and 2, e.g. "1").
  • the node 1 starts transmitting to the node 2 packets Pk having their packet loss field PLF set to the measurement value.
  • the node 1 preferably continues transmitting packets Pk having their packet loss field PLF set to the measurement value until a first predefined condition occurs, as it will be discussed in detail herein below.
  • the node 1 preferably uses a counter, which is increased by one each time a packet Pk’ is received from the node 2 (irrespective of the value of its PLF).
  • the node 1 increases the counter by one only if the counter does not exceed a predefined maximum value (e.g. 2). This advantageously prevents the node 1 from having too many packets Pk to be marked.
  • the node 1 shall transmit a packet Pk to the node 2, it preferably checks the value of the counter. If the value is higher than 0, the node 1 sets the PLF of the packet Pk to be transmitted equal to the measurement value, and decreases the counter by one.
  • the node 1 Upon occurrence of the first predefined condition, the node 1 terminates the generation step 302 by switching again the value applicable to the packet loss field PLF of the packets Pk to be transmitted from the measurement value to the idle value.
  • the node 2 starts receiving the block B1 of packets Pk transmitted by the node 1 during the generation step 302, it preferably starts a reflection step 303.
  • the node 2 transmits to the node 1 a respective packet Pk’ having its packet loss field PLF also set to the measurement value.
  • the node 2 preferably uses a counter, which is increased by one each time a packet Pk with PLF equal to the measurement value is received.
  • the node 2 shall transmit a packet Pk’ to the node 1 , it preferably checks the value of the counter. If the value is higher than 0, the node 2 sets the PLF of the packet Pk’ equal to the measurement value, and decreases the counter by one.
  • Generation step 302 and reflection step 303 are iterated cyclically.
  • An iteration of generation step 302 and reflection step 303 is termed herein below “measurement cycle”.
  • the node 1 preferably starts each iteration of the generation step 302 (and then each measurement cycle) upon occurrence of a second predefined condition, as it will be discussed in detail herein below.
  • the node 1 transmits to the node 2 a block of N1 (i) packets Pk and receives from the node 2 a block of N2(i) packets Pk’, the index i being a measurement cycle index. If no packet loss occurs during the i th measurement cycle, N2(i) is equal to N1 (i). If instead a packet loss occurs during the i th measurement cycle (either during transmission of packets Pk from the node 1 to the node 2 or during transmission of packets Pk’ from the node 2 to the node 1 ), N2(i) is lower than N1 (i).
  • the number N1 (i+1 ) of packets Pk with PLF equal to the measurement value transmitted by the node 1 during the (i+1 ) th measurement cycle is independent of the number N2(i) of packets Pk’ with PLF equal to the measurement value received by the node 1 during the i th measurement cycle.
  • the N2(i) packets Pk’ with PLF equal to the measurement value received by the node 1 are not further reflected by the node 1 , which instead “terminates” them and starts the generation step 302 of the subsequent measurement cycle (i+1 ) th by transmitting to the node 2 a number N1 (i+1 ) of packets Pk with PLF equal to the measurement value which is independent of N2(i).
  • the node 1 performs measurement cycles until it determines that the round-trip packet loss measurement shall be terminated (step 304). In that case, the node 1 preferably reverts to step 300.
  • a measurement point 10 may be provided at the node 1 , as schematically depicted in Figure 1 .
  • the measurement point 10 may count the number N1 (i) of packets Pk with PLF equal to the measurement value transmitted by the node 1 and the number N2(i) of packets Pk’ with PLF equal to the measurement value received by the node 1 .
  • the measurement point 10 may then calculate an end-to-end round-trip packet loss PL(i) as a difference between the numbers N1 (i) and N2(i) counted during that measurement cycle.
  • a measurement point were placed at an intermediate position between the two nodes 1 , 2 (e.g. by a party having no access to the first node), it could not perform any end-to-end round-trip packet loss measurement. Even assuming indeed that the intermediate measurement point is capable of counting the number N1 (i), N1 (i+1 ), etc. of packets Pk with PLF equal to the measurement value transmitted by the node 1 during several measurement cycles, it cannot combine them into a significant end-to-end round-trip packet loss measurement.
  • the intermediate measurement point could count the number N1 (i) of packets Pk with PLF equal to the measurement value transmitted by the node 1 during the i th measurement cycle, the number N1 (i+1 ) of packets Pk with PLF equal to the measurement value transmitted by the node 1 during the (i+1 ) th measurement cycle, and calculate their difference N1 (i)-N1 (i+1 ) as provided by WO 2020/156996.
  • Non-authorized parties are therefore advantageously prevented from obtaining end-to-end round-trip packet loss measurements.
  • round-trip packet loss measurements namely, not end-to-end round-trip packet loss measurement
  • the intermediate measurement point in particular when it is capable of counting the number N2(i) of packets Pk’ with PLF equal to the measurement value transmitted by the node 2, as it will be discussed in further detail herein below.
  • a same duration of the generation step 302 results in an increased percentage of the transmitted packets Pk, Pk’ involved in the roundtrip packet loss measurement, relative to the technique of WO 2020/156996.
  • the node 1 terminates each iteration of the generation step 302 upon occurrence of a first predefined condition, and starts each iteration of the generation step 302 upon occurrence of a second predefined condition (except the first iteration, which as discussed above is initiated as the node 1 determines that a round-trip packet loss measurement shall be started, see step 301 ).
  • the first and second predefined conditions may be of different types.
  • the node 1 terminates each iteration of the generation step 302 when a first predefined time T 1 has lapsed since the beginning of the same iteration of the generation step 302 (first predefined condition).
  • the node 1 then preferably starts the subsequent iteration of the generation step 302 when a second predefined time T2 has lapsed since the termination of the preceding iteration of the generation step 302 (second predefined condition).
  • the times T 1 and T2 are preferably counted by one or more local timers of the node 1 , and the node 1 determines whether the times T1 , T2 are lapsed by checking the value of the timer(s).
  • the node 1 starts the generation step 302 of a first measurement cycle MC1 by starting to transmit to the node 2 packets Pk having their packet loss field PLF set to the measurement value, e.g. 1 .
  • the node 2 receives the first packet Pk with packet loss field PLF equal to 1 and then starts the reflection step 303 of the first measurement cycle MC1 , thereby transmitting to the node 1 , for each received packet Pk with packet loss field PLF equal to 1 , a respective packet Pk’ with packet loss field PLF also equal to 1 .
  • the node 1 terminates the generation step 302 of the first measurement cycle MC1 .
  • the node 1 accordingly starts again transmitting to the node 2 packets Pk having their packet loss field PLF set to the idle value 0.
  • the node 2 receives from the node 1 the first packet Pk with packet loss field PLF equal to 0, and accordingly terminates the reflection step 303 of the first measurement cycle MC1.
  • the node 2 accordingly starts again transmitting to the node 1 packets Pk’ having their packet loss field PLF set to the idle value 0.
  • the node 1 starts the generation step 302 of a second measurement cycle MC2, by restarting to transmit to the node 2 packets Pk having their packet loss field PLF set to 1 .
  • all the iterations of the generation step 302 have a same fixed duration of T1 , and successive iterations of the generation step 302 are separated by a pause of fixed duration T2.
  • the number N1 (i) of packets Pk transmitted at each iteration of the generation step 302 is not fixed and depends on T 1 and on the packet rate of the packets Pk as transmitted by the node 1 .
  • the value of T1 is preferably chosen as a trade-off between number of packets Pk involved in each measurement cycle (which increases as the value of T1 increases and shall be preferably not lower than 64) and number of measurement cycles per measurement session (which, given a certain duration of the measurement session, increases as the value of T1 decreases).
  • the percentage of packets Pk, Pk’ with packet loss field PLF equal to 1 (namely, of packets involved in the end-to-end packet loss measurement) is equal to T1/(T1 +T2), in the direction with lower packet rate.
  • T2 is as low as possible.
  • T2 is preferably not shorter than a minimum value (e.g. 200 ms), so as to allow the measurement point 10 distinguishing packets Pk with PLF equal to the measurement value transmitted by the node 1 during different measurement cycles, and also distinguishing packets Pk’ with PLF equal to the measurement value received by the node 1 during different measurement cycles.
  • the node 1 terminates the generation step 302 when it receives from the node 2 the first packet Pk’ with PLF equal to the measurement value (first predefined condition).
  • the duration of each iteration of the generation step 302 is then equal to the sum of the one-way delay of the first packet Pk with PLF equal to the measurement value transmitted by the node 1 during the generation step 302, plus the one-way delay of the first packet Pk’ with PLF equal to the measurement value transmitted by the node 2 during the corresponding reflection step 303.
  • this sum is an estimate of the RTT (round-trip time) between the nodes 1 and 2.
  • the node 1 then preferably starts the subsequent iteration of the generation step 302 when a time T3 has lapsed since the termination of the preceding iteration of the generation step 302, the time T3 being set equal to above estimate of the RTT between the nodes 1 and 2 (second predefined condition).
  • the time T3 may be counted by a local timer of the node 1 , and the node 1 may determine whether the time T3 has lapsed by checking the value of the timer.
  • the node 1 starts the generation step 302 of a first measurement cycle MC1 by starting to transmit to the node 2 packets Pk having their packet loss field PLF set to the measurement value, e.g. 1 .
  • the node 2 receives the first packet Pk with packet loss field PLF equal to 1 and then starts the reflection step 303 of the first measurement cycle MC1 , thereby transmitting to the node 1 , for each received packet Pk with packet loss field PLF equal to 1 , a respective packet Pk’ with packet loss field PLF equal to 1 .
  • the node 1 receives from the node 2 the first packet Pk’ with packet loss field PLF equal to 1 , and accordingly terminates the generation step 302 of the first measurement cycle MC1 .
  • the node 1 accordingly starts again transmitting to the node 2 packets Pk having their packet loss field PLF set to the idle value 0.
  • the node 2 receives from the node 1 the first packet Pk with packet loss field PLF equal to 0, and accordingly terminates the reflection step 303 of the first measurement cycle MC1 .
  • the node 2 accordingly starts again transmitting to the node 1 packets Pk’ having their packet loss field PLF set to the idle value 0.
  • the node 1 starts the generation step 302 of a second measurement cycle MC2, by restarting to transmit to the node 2 packets Pk having their packet loss field PLF set to 1 .
  • both the duration of each iteration of the generation step 302 and the duration of each pause between successive iterations of the generation step 302 have variable durations, which depend on the RTT between the nodes 1 and 2.
  • the number N1 (i) of packets Pk with PLF equal to the measurement value transmitted at each iteration of the generation step 302 is not fixed and depends on the packet rate of the packets Pk as transmitted by the node 1 and on the RTT between the nodes 1 and 2.
  • the percentage of packets Pk, Pk’ involved in the end-to-end packet loss measurement is roughly 50%, in the direction with lower packet rate.
  • the packets Pk, Pk’ are formatted according to the known QUIC (Quick UDP Internet Connections) protocol and comprise a spin bit allowing RTT measurements, as described by B. Trammel et al.: Internet draft "The addition of a Spin Bit to the QUIC Transport Protocol draft-trammel-quic-spin-01", December 13, 2017.
  • QUIC Quick UDP Internet Connections
  • the nodes 1 , 2 transmit the respective packets Pk, Pk’ with the value of their spin bits set to 0.
  • the node 1 e.g. acting as client in the QUIC connection
  • starts an RTT measurement by starting to transmit packets Pk with their spin bit equal to 1 .
  • the node 2 (acting as server in the QUIC connection) detects this change of the spin bit value in the received packets Pk, it also starts to transmit packets Pk’ with their spin bit equal to 1 .
  • the node 1 detects this change of the spin bit value in the received packets Pk’, it restarts to transmit packets Pk with their spin bit equal to 0.
  • the node 2 detects this further change of the spin bit value in the received packets Pk, it restarts to transmit packets Pk’ with their spin bit equal to 1 . And so on.
  • spin bit cycle The time lapsing between transmission by the node 1 of the first packet Pk with a certain spin bit value and subsequent reception at the node 1 of the first packet Pk’ with the same spin bit value will be termed herein after “spin bit cycle”.
  • the spin bit cycle has a variable duration, which depends on (and is accordingly indicative of) the RTT between the nodes 1 , 2.
  • the node 1 terminates each iteration of the generation step 302 when it determines that a first predefined number M1 of spin bit cycles have been completed since the beginning of the same iteration of the generation step 302 (first predefined condition).
  • the node 1 then preferably starts the subsequent iteration of the generation step 302 when it determines that a second predefined number M2 of spin bit cycles have been completed since the termination of the preceding iteration of the generation step 302 (second predefined condition).
  • M1 may be equal to 2
  • M2 may be equal to 1 .
  • the node 1 preferably determines whether a spin bit cycle has been completed by checking the value of the spin bit in the received packets Pk’.
  • the node 1 starts the generation step 302 of a first measurement cycle MC1 by starting to transmit to the node 2 packets Pk having their packet loss field PLF set to the measurement value, e.g. 1 . It is assumed that at time t1 also a first spin bit cycle SBC1 starts.
  • the node 2 receives the first packet Pk with packet loss field PLF equal to 1 and then starts the reflection step 303 of the first measurement cycle MC1 , thereby transmitting to the node 1 , for each received packet Pk with packet loss field PLF equal to 1 , a respective packet Pk’ with packet loss field PLF equal to 1 .
  • the node 1 accordingly restarts to transmit to the node 2 packets Pk having their packet loss field PLF set to the idle value 0.
  • the node 2 receives from the node 1 the first packet Pk with packet loss field PLF equal to 0, and accordingly terminates the reflection step 303 of the first measurement cycle MC1 .
  • the node 2 accordingly restarts transmitting to the node 1 packets Pk’ having their packet loss field PLF set to the idle value 0.
  • the node 1 then starts the generation step 302 of a second measurement cycle MC2, by restarting to transmit to the node 2 packets Pk having their packet loss field PLF set to 1 .
  • This triggers the reflection step 303 of the second measurement cycle MC2 at the node 2 as described above (not depicted in Figure 6). And so on.
  • both the duration of each iteration of the generation step 302 and the duration of the pause between successive iterations of the generation step 302 have variable durations, which depend on M1 , M2 and the durations of the spin bit cycles.
  • the number N1 (i) of packets Pk with PLF equal to the measurement value transmitted at each iteration of the generation step 302 is not fixed and depends on the packet rate of the packets Pk as transmitted by the node 1 , M1 , M2 and the durations of the spin bit cycles.
  • the percentage of packets Pk, Pk’ with packet loss field PLF equal to 1 (namely, of packets involved in the end-to-end packet loss measurement) is roughly equal to M1/(M1 +M2), in the direction with lower packet rate.
  • M2 is equal to 0, namely no pause is performed between consecutive iterations of the generation step 302.
  • the percentage of packets Pk, Pk’ with packet loss field PLF equal to 1 is equal to 100%, in the direction with lower packet rate.
  • the measurement point 10 in order to distinguish packets Pk, Pk’ with packet loss field PLF equal to 1 pertaining to different measurement cycles, the measurement point 10 preferably also reads the spin bit value of the detected packets Pk, Pk’. Packets Pk, Pk’ with PLF equal to 1 and a same spin bit value (e.g. 0) pertain to a same measurement cycle, and accordingly are counted in the end-to-end packet loss measurement calculated for that measurement cycle. Packets Pk, Pk’ with PLF equal to 1 and a different spin bit value (e.g. 1 ) are instead counted for the end-to-end packet loss measurement calculated for the preceding or subsequent measurement cycle.
  • a spin bit value e.g. 1
  • the packet loss field PLF may comprise two or more bits, so that it may be set to either an idle value or anyone of a number of measurement values.
  • the packet loss field PLF preferably comprises two bits, and therefore it may be set to either an idle value (e.g. “00”) or anyone of at last two measurement values (e.g. “01 ” and “10”).
  • the node 1 uses two different measurement values (e.g. “01 ” and “10”) in an alternate way during the measurement cycles. In other words, each time a new measurement cycle is started, the node 1 switches the measurement value to be applied to the packet loss field PLF of the packets Pk transmitted during the generation step 302 of the new measurement cycle.
  • the node 1 terminates the generation step 302 when it receives from the node 2 the first packet Pk’ with PLF equal to the same measurement value which is currently applied to the packets Pk (first predefined condition). The node 1 then switches the measurement value to be applied to the packets Pk and starts the subsequent iteration of the generation step 302.
  • the second predefined condition upon which the node 1 starts the subsequent iteration of the generation step may be of different types. Specifically, the node 1 may not perform any pause between successive iterations of the generation step 302. Alternatively, the node 1 may wait a predefined time X before starting the subsequent iteration of the generation step 302. This prevents non authorized third parties from deriving RTT measurements by sniffing the packets Pk, Pk’ by means of a probe placed at an intermediate position between the nodes 1 and 2.
  • the node 2 reflects the measurement values comprised in the PLF of the received packets Pk.
  • the node 2 preferably uses two counters, one for each measurement value.
  • the node 2 increases by one the counter of the measurement value comprised in the PLF of the received packet Pk, and associates to that counter the sequence number comprised in the packet Pk.
  • the PLF of the packet Pk’ is preferably set to the measurement value whose counter is associated with the lower sequence number, and that counter is decreased by one.
  • the node 1 starts the generation step 302 of a first measurement cycle MC1 by starting to transmit to the node 2 packets Pk having their packet loss field PLF set to a first measurement value, e.g. 01 .
  • the node 2 receives from the node 1 the first packet Pk with packet loss field PLF equal to 01 and then starts the reflection step 303 of the first measurement cycle MC1 , thereby transmitting to the node 1 , for each received packet Pk with packet loss field PLF equal to 01 , a respective packet Pk’ with packet loss field PLF equal to 01.
  • the node 1 receives from the node 2 the first packet Pk’ with packet loss field PLF equal to 01 , and accordingly terminates the generation step 302 of the first measurement cycle MC1 .
  • the node 1 then switches the measurement value to be applied to the packets Pk, e.g. from 01 to 10.
  • the node 1 then starts the generation step 302 of a second measurement cycle MC2 (for example with no pause, as depicted in Figure 7), thereby starting to transmit to the node 2 packets Pk having their packet loss field PLF set to the measurement value 10.
  • the node 2 receives from the node 1 the first packet Pk with packet loss field PLF equal to 10, and accordingly terminates the reflection step 303 of the first measurement cycle MC1 .
  • the node 2 then starts the reflection step 303 of the second measurement cycle MC2, thereby transmitting to the node 1 , for each received packet Pk with packet loss field PLF equal to 10, a respective packet Pk’ with packet loss field PLF equal to 10.
  • the node 1 receives from the node 2 the first packet Pk’ with packet loss field PLF equal to 10, and accordingly terminates the generation step 302 of the second measurement cycle MC2.
  • the node 1 then switches again the measurement value to be applied to the packets Pk from 10 to 01 .
  • the node 1 then starts the generation step 302 of a third measurement cycle MC3 (for example with no pause, as depicted in Figure 7), thereby starting to transmit to the node 2 packets Pk having their packet loss field PLF set to the measurement value 01 .
  • the percentage of packets Pk, Pk’ with packet loss field PLF equal to 01 or 10 is advantageously equal to 100% in the direction with lower packet rate, if no pause of duration X is performed between successive iterations of the generation step 302.
  • the value “11 ” - which is not used to enable the end-to-end round-trip packet loss measurements according to the fourth embodiment described above - may be used for another type of performance measurement, e.g. a sample delay measurement.
  • the node 1 when the node 1 determines that an iteration of the generation step 302 shall be started, it preferably sets the PLF of the first packet Pk to be transmitted equal to the value 1 1 . The node 1 then starts transmitting packets Pk with PLF set equal to 01 or 10, as described above in connection with the fourth embodiment.
  • the node 2 Upon reception of the packet Pk with PLF equal to 1 1 , the node 2 transmits back to the node 1 a packet Pk’ with PLF also equal to 11 .
  • the node 2 gives to this reflection precedence over the reflection of the measurement values.
  • the node 2 preferably implements a further counter for the value 11 , in addition to the two counters for the two alternative measurement values 01 and 10. This counter is increased by one when a packet Pk with PLF equal to 11 is received at the node 2.
  • the node 2 preferably checks the value of the counter for the value 11 . If this counter is higher than 0, then the node 2 sets the PLF of the packet Pk’ to be transmitted equal to 1 1 and decreases this counter by one. Otherwise, the node 2 checks the values of the counters for the two alternative measurement values 01 and 10, as disclosed above in connection with the fourth embodiment.
  • the counter for the value 11 is decreased by one if a maximum time Tmax lapses since the last increase of the counter (namely, since reception of the last packet Pk whose PLF is equal to 1 1 ) and no packet Pk’ shall be transmitted.
  • the maximum Tmax may be equal for example to 1 ms. This way, it is guaranteed that an RTT measurement carried out by the measurement point 10 at the node 1 based on transmission time of the packet Pk with PLF equal to 11 and reception time of the packet Pk’ with PLF equal to 11 is affected by a maximum error of Tmax.
  • the packets Pk, Pk’ whose PLF is equal to 11 are not taken into account by the measurement point 10 for the purpose of measuring the end-to-end round-trip packet loss. They may instead be taken into account to provide a RTT measurement by the measurement point 10. At each measurement cycle, an RTT may indeed be calculated as the time lapsing between transmission by the node 1 of the packet Pk with PLF is equal to 11 and reception by the node 1 of the corresponding packet Pk’ with PLF equal to 1 1 , for example as described by M.
  • the predetermined condition upon which the node 1 decides to terminate each iteration of the generation step 302 is a time-based condition (namely, lapse of a predefined time T1 , of a round-trip time or of a predefined number of spin bit cycles).
  • the node 1 terminates each iteration of the generation step 302 when it determines that a predefined number of packets N1 with packet loss field PLF equal to the measurement value (or to the currently applicable measurement value, if two or more alternative measurement values are used, as disclosed above in connection with the fourth and fifth embodiments), has been transmitted since that iteration of the generation step 302 has been started (first predefined condition).
  • N1 may be for example equal to 64.
  • the predefined number N1 may be accordingly used by the measurement point 10 to calculate the end-to-end round-trip packet loss PL(i) for each measurement cycle, instead of the counted number N1 (i) of packets Pk.
  • the value of N1 may be varied over time.
  • two or more predefined values of N1 may be alternately used in the sequence of measurement cycles.
  • a measurement point placed at an intermediate position between the nodes 1 and 2 cannot perform an end-to-end round-trip packet loss measurement, as mentioned above it can nonetheless perform other types of measurements.
  • a measurement point placed at an intermediate position between the nodes 1 and 2 and capable of detecting the packets Pk, Pk’ with PLF equal to the measurement value could count the number of detected packets Pk, count the number of detected packets Pk’ and calculate a round-trip packet loss between itself and the node 2 as a difference between such two numbers.
  • At least two measurement points may be provided at intermediate positions between the nodes 1 and 2, which are both capable of detecting the packets Pk, Pk’ with PLF equal to the measurement value, other packet loss measurements may be provided.
  • Each measurement point may indeed count the number of detected packets Pk, count the number of detected packets Pk’ and calculate a roundtrip packet loss between itself and the node 2 as a difference between such two numbers. Additionally, a round-trip packet loss between the two measurement points may be calculated as a difference between the round-trip packet loss calculated by each measurement point between itself and the node 2.

Landscapes

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

Abstract

It is disclosed a method for transmitting a bidirectional packet flow carrying live traffic, which enables end-to-end round-trip packet loss measurements only by authorized parties. Each packet comprises a packet loss field (PLF). The first node transmits to the second node packets with PLF set to a measurement value (generation). Upon reception of each packet with PLF set to the measurement value, the second node transmits back to the first node a respective packet also with PLF set to the measurement value (reflection). Generation and reflection are iterated cyclically to provide a sequence of measurement cycles, each measurement cycle consisting in one generation and one reflection. At each measurement cycle, the first node transmits a number of packets with PLF set to the measurement value which is independent of the number of packets with PLF set to the measurement value which it received during the preceding measurement cycle.

Description

ROUND-TRIP PACKET LOSS MEASUREMENT IN A PACKET-SWITCHED COMMUNICATION NETWORK
Technical field
The present invention relates to the field of communication networks. In particular, the present invention relates to a round-trip packet loss measurement in a packet-switched communication network.
Background art
In a packet-switched communication network, packet flows are transmitted from source nodes to destination nodes through possible intermediate nodes. Exemplary packet-switched networks are IP (Internet Protocol) networks, Ethernet networks and MPLS (Multiprotocol Label Switching) networks.
Packets not always reach their destination nodes, i.e. they may be lost during transmission through the network. Packet loss is due to different reasons. For instance, a node or link may fail, or packets may be discarded by a node due to a congestion of its ports. Also, packets may be discarded by a node since they contain bit errors.
When a communication service (in particular, a real-time voice or data service such as call, conference call, video conference, etc.) is provided by means of a packet-switched network, a performance measurement in terms of packet loss on packet flows carrying the service provides an indication of the quality of service (QoS) perceived by the end users of the service. In addition, packet loss may require retransmission and then reduce the efficiency of the communication network. Therefore, measuring packet loss of packet flows in a communication network is of particular interest for network operators.
WO 2010/072251 , in the name of the same Applicant, discloses a method for measuring packet loss on a packet flow which uses an alternate marking technique, whereby the packet flow to be measured is divided into blocks of packets comprising a first marking value (e.g. a dedicated marking bit in their header set to "1 ") and blocks of packets comprising a second marking value (e.g. a dedicated marking bit in their header set to "0"). The marking value is periodically switched, so that the blocks of packets with the first marking value are interleaved with the blocks of packets with the second marking value. Two measurement points are provided on the path of the marked packets. Each measurement point implements a couple of counters counting the number of packets with the first and second marking values, respectively. The packet loss between the two measurement points is calculated using the counter values.
Round-trip packet loss measurements are also known, namely measurements of the number of packets lost in two counterpropagating packet flows exchanged between two nodes.
WO 2020/156996 in the name of the same Applicant discloses a method for enabling a round-trip packet loss measurement wherein a first node and a second node exchange packets comprising a packet loss field settable to either an idle value (e.g. 0) or a measurement value (e.g. 1 ). The first node transmits to the second node first packets having their packet loss fields set to 1 . Upon reception from the first node of each one of these first packets, the second node transmits to the first node a respective second packet having its packet loss field set to 1 . Upon reception from the second node of each second packet, the first node transmits to the second node a respective third packet having its packet loss field set to 1 . A measurement point may count the number of first packets and the number of third packets transmitted from the first node to the second node, based on which a round-trip packet loss measurement can then be performed. Since the third packets are obtained by a double reflection - at the second node and then at the first node - of the first packets, the measurement of the round-trip packet loss is performed on a same number of packets (short of lost packets) transmitted in both directions between the first and second node, independently of the packet rates in the two directions. Hence, the measurements are accurate even when the two directions exhibit different packet rates.
Summary of the invention
The Applicant has perceived the need to improve the round-trip packet loss measurement disclosed by WO 2020/156996.
In particular, the Applicant has noticed that a non-authorized party could place a measurement point between the two nodes implementing the technique of WO 2020/156996 and thus obtain a non-authorized measurement of the end-to-end round-trip packet loss, namely of the round-trip packet loss between the two nodes.
Moreover, the double reflection mechanism of WO 2020/156996 allows performing the round-trip packet loss measurement only on a portion of the packets exchanged between the two nodes.
In view of the above, the Applicant has tackled the problem of providing a method for transmitting a bidirectional packet flow carrying live traffic between two nodes of a packet-switched communication network, which enables end-to-end round-trip packet loss measurements and which solves at least one of the aforesaid drawbacks.
In particular, the Applicant has tackled the problem of providing a method for transmitting a bidirectional packet flow carrying live traffic between two nodes of a packet-switched communication network, which enables end-to-end round-trip packet loss measurements only by authorized parties and/or which allows involving in the round-trip packet loss measurement an increased percentage of the packets exchanged between the two nodes.
According to embodiments of the present invention, the above problem is solved by a method wherein a first node and a second node of a communication network exchange packets carrying live traffic and comprising a packet loss field settable to either an idle value or a measurement value. The first node performs a generation step during which it transmits to the second node first packets having their packet loss fields set to the measurement value. Upon reception of the first packets from the first node, the second node performs a reflection step during which, for each one of the received first packets, it transmits to the first node a respective second packet having the packet loss field also set to the measurement value. Generation step and reflection step are iterated cyclically to provide a sequence of measurement cycles, each measurement cycle consisting in an iteration of the generation step and reflection step; the number of first packets transmitted by the first node during each measurement cycle is independent of the number of second packets received by the first node during the preceding measurement cycle.
This operation of the first and second nodes advantageously enables end-to-end round-trip packet loss measurements only by parties who have access to the first node and may place a measurement point at the first node.
At each measurement cycle, indeed, a measurement point placed at the first node may count the number N1 (i) of first packets transmitted by the first node and the number N2(i) of second packets received by the first node, the index i being a measurement cycle index. At the ith measurement cycle, the measurement point may then calculate an end-to-end round-trip packet loss PL(i) as a difference between the numbers N1 (i) and N2(i) counted during that measurement cycle.
Conversely, a measurement point placed at an intermediate position between the two nodes (e.g. by a party having no access to the first node) cannot perform any end-to-end round-trip packet loss measurement. Even assuming indeed that the measurement point is capable of counting the number of first packets transmitted by the first node during several measurement cycles for the purpose e.g. of applying the technique disclosed by WO 2020/156996, it cannot combine them into a significant end-to-end round-trip packet loss measurement.
Specifically, the measurement point could count the number N1 (i) of first packets transmitted by the first node during the ith measurement cycle, the number N1 (i+1 ) of first packets transmitted by the first node during the (i+1 )th measurement cycle, and calculate their difference N1 (i)-N 1 (i+1 ). However, such difference is not indicative of the end-to- end round-trip packet loss between first and second node, because the number N1 (i+1 ) is independent of the number N2(i) of second packets received by the first node during the ith measurement cycle, and is accordingly also not comparable with the number N1 (i) of first packets transmitted by the first node during the ith measurement cycle.
End-to-end round-trip packet loss measurements by nonauthorized parties are accordingly advantageously prevented.
Besides, since no double reflection mechanism is envisaged, a same duration of the generation step results in an increased percentage of the transmitted packets involved in the round-trip packet loss measurement, relative to the technique of WO 2020/156996.
According to a first aspect, the present invention provides a method for transmitting a bidirectional packet flow carrying live traffic between a first node and a second node of a communication network, each packet of the bidirectional packet flow comprising a packet loss field settable to either an idle value or a measurement value, the method comprising: a) by the first node transmitting to the second node first packets of the bidirectional packet flow having the packet loss field set to the measurement value; and b) by the second node, upon reception from the first node of each one of the first packets of the bidirectional packet flow having the packet loss field set to the measurement value, transmitting to the first node a respective second packet of the bidirectional packet flow having the packet loss field set to the measurement value, wherein steps a) and b) are iterated cyclically to provide a sequence of measurement cycles, each measurement cycle consisting in an iteration of step a) and an iteration of step b), and wherein the number of first packets of the bidirectional packet flow having the packet loss field set to the measurement value transmitted by the first node at each measurement cycle is independent of the number of second packets of the bidirectional packet flow having the packet loss field set to the measurement value received at the first node during a preceding measuring cycle.
Preferably, at the first node an iteration of step (a) is terminated upon occurrence of a first predefined condition and a subsequent iteration of step (a) is started upon occurrence of a second predefined condition.
According to an embodiment, the first predefined condition comprises terminating the iteration of step (a) when a first predefined time T1 has lapsed since start of the iteration of step (a).
According to another embodiment, the first predefined condition comprises terminating the iteration of step (a) when a first predefined number N1 of first packets of the bidirectional packet flow having the packet loss field set to the measurement value has been transmitted since start of the iteration of step (a).
According to another embodiment, the first predefined condition comprises terminating the iteration of step (a) when the first node receives the first one of the second packets of the bidirectional packet flow having the packet loss field set to the measurement value transmitted by the second node.
According to another embodiment, the first predefined condition comprises terminating the iteration of step (a) when a first predefined number M1 of spin bit cycles has lapsed since start of the iteration of step (a).
According to an embodiment, the second predefined condition comprises starting the subsequent iteration of step (a) when a second predefined time T2 has lapsed since termination of the iteration of step (a).
According to another embodiment, the second predefined condition comprises starting the subsequent iteration of step (a) when a time T3 has lapsed since termination of the iteration of step (a), the time T3 being set equal to an estimate of a round-trip time between the first node and the second node calculated as a difference between a reception time of the first one of the second packets of the bidirectional packet flow having the packet loss field set to the measurement value transmitted by the second node, and a transmission time of the first one of the first packets of the bidirectional packet flow having the packet loss field set to the measurement value transmitted by the first node during the iteration of step (a).
According to another embodiment, the second predefined condition comprises starting the subsequent iteration of step (a) when a second predefined number M2 of spin bit cycles has lapsed since termination of the iteration of step (a).
According to some embodiments, the packet loss field is settable to either the idle value, the measurement value or a further measurement value, and first iterations of step (a) comprising transmitting to the second node first packets of the bidirectional packet flow having the packet loss field set to the measurement value alternate in time with second iterations of step (a) comprising transmitting to the second node first packets of the bidirectional packet flow having the packet loss field set to the further measurement value.
According to these embodiments, preferably, the first predefined condition comprises terminating each one of the first iterations of step (a) when the first node receives the first one of the second packets of the bidirectional packet flow having the packet loss field set to the measurement value transmitted by the second node, and terminating each one of the second iterations of step (a) when the first node receives the first one of the second packets of the bidirectional packet flow having the packet loss field set to the further measurement value transmitted by the second node.
According to a variant, the packet loss field is also settable to a sample measurement value different from the measurement value, step (a) comprising transmitting to the second node one packet of the bidirectional packet flow having the packet loss field set to the sample measurement value.
According to a second aspect, the present invention provides a method for performing a round-trip packet loss measurement on a bidirectional packet flow carrying live traffic between a first node and a second node of a communication network, each packet of the bidirectional packet flow comprising a packet loss field settable to either an idle value or a measurement value, the method comprising the steps of the method as set forth above and, by a measurement point placed at the first node: c) counting a number N1 (i) of first packets of the bidirectional packet flow having the packet loss field set to the measurement value transmitted by the first node during a measurement cycle; d) counting a number N2(i) of second packets of the bidirectional packet flow having the packet loss field set to the measurement value received by the first node during the measurement cycle; and e) calculating a round-trip packet loss PL(i) as a difference between the number N1 (i) of first packets and the number N2(i) of second packets.
According to a third aspect, the present invention provides a communication network comprising a first node and a second node configured to exchange a bidirectional packet flow carrying live traffic, each packet of the bidirectional packet flow comprising a packet loss field settable to either an idle value or a measurement value, wherein: the first node is configured to transmit to the second node first packets of the bidirectional packet flow having the packet loss field set to the measurement value; and the second node is configured to, upon reception from the first node of each one of the first packets of the bidirectional packet flow having the packet loss field set to the measurement value, transmit to the first node a respective second packet of the bidirectional packet flow having the packet loss field set to the measurement value, wherein the first node and the second node are configured to iterate steps a) and b) cyclically to provide a sequence of measurement cycles, each measurement cycle consisting in an iteration of step a) and an iteration of step b), the first node being further configured to, at each measurement cycle, transmit a number of first packets of the bidirectional packet flow having the packet loss field set to the measurement value which is independent of the number of second packets of the bidirectional packet flow having the packet loss field set to the measurement value received at the first node during a preceding measuring cycle.
Brief description of the drawings
The present invention will become clearer from the following detailed description, given by way of example and not of limitation, to be read with reference to the accompanying drawings, wherein:
- Figure 1 schematically shows a packet-switched communication network in which the method for enabling a round-trip packet loss measurement according to embodiments of the present invention is implemented;
- Figure 2 schematically shows the structure of a packet exchanged in the communication network of Figure 1 , according to embodiments of the present invention;
- Figure 3 is a flow chart of the operation of a first and second node of the communication network of Figure 1 , according to embodiments of the present invention; and
- Figures 4 to 7 schematically show packets exchanged by the first and second nodes according to respective embodiments of the present invention.
Detailed description of preferred embodiments of the invention
Figure 1 schematically shows a packet-switched communication network 100 configured to enable round-trip packet loss measurements according to embodiments of the present invention.
The communication network 100 comprises a plurality of nodes reciprocally interconnected by physical links according to any known topology, including two nodes 1 and 2 shown in Figure 1 . The nodes 1 and 2 may be connected by a single physical link or by the concatenation of several physical links and intermediate nodes (not shown in the drawings). The communication network 100 may be for instance an IP network.
The nodes 1 , 2 exchange a bidirectional packet flow including packets Pk transmitted from the node 1 to the node 2 and packets Pk’ transmitted from the node 2 to the node 1 , as schematically depicted in Figure 1 . The packets Pk, Pk’ carry live traffic, namely they are not generated for the purpose of performance measurements. The packets Pk may belong to a same packet flow (namely, they may all have a same source address and a same destination address, e.g. a same IP source address and a same IP destination address) or to different packet flows whose paths are overlapping between the nodes 1 and 2. Similarly, the packets Pk' may belong to a same packet flow or to different packet flows whose paths are overlapping between the nodes 2 and 1 .
The packets Pk, Pk' are formatted according to a certain network protocol. By way of non limiting example, the network protocol may be the known QUIC protocol.
In particular, as schematically depicted in Figure 2, each packet Pk, Pk' comprises a payload PL comprising user data and at least one header H. In case of multiple headers, each header pertains to a different network layer. For example, each packet Pk, Pk’ may comprise a network layer header (such as an IP header) and transport layer header (such as a QUIC+UDP header or a TCP header). One of the headers H (typically, the network layer header) comprises packet forwarding information, namely information allowing the packets Pk to reach the node 2 and the packets Pk’ to reach the node 1 .
Each packet Pk, Pk' also preferably comprises a packet loss field PLF enabling round-trip packet loss measurements on the bidirectional packet flow Pk, Pk’. The packet loss field PLF may be comprised in the same header H as the packet forwarding information (as shown in Figure 2), in a different header (if any) or in the payload PL. Assuming for example that the packets Pk, Pk' comprise a network layer header (such as an IP header) and a transport layer header (such as a QUIC header), the packet loss field PLF may be comprised in the transport layer header. The packet loss field PLF comprises one or more bits, in particular one bit or two bits. The packet loss field PLF may be set to anyone of:
- an idle value (e.g. "0" in case of a one-bit packet loss field or "00" in case of a two-bit packet loss field); and
- a measurement value (e.g. "1 " in case of a one-bit packet loss field).
In case of a two-bit packet loss field PLF, there can be more than one measurement value (e.g. "01 ", "1 1 " and "10").
With reference to the flow chart of Figure 3, the operation of the nodes 1 and 2 according to embodiments of the present invention will be now described in detail.
Preferably, the node 1 normally transmits to the node 2 packets Pk having their packet loss field PLF set to the idle value (step 300).
Preferably, as the node 1 determines that a round-trip packet loss measurement shall be started (step 301 ), it preferably starts a generation step (step 302) which comprises switching the value applicable to the packet loss field PLF of the packets Pk to be transmitted from the idle value to the measurement value (herein after, it is assumed that a single measurement value is used by the nodes 1 and 2, e.g. "1").
Hence, at the generation step 302 the node 1 starts transmitting to the node 2 packets Pk having their packet loss field PLF set to the measurement value. The node 1 preferably continues transmitting packets Pk having their packet loss field PLF set to the measurement value until a first predefined condition occurs, as it will be discussed in detail herein below.
In order to implement the generation step 302, the node 1 preferably uses a counter, which is increased by one each time a packet Pk’ is received from the node 2 (irrespective of the value of its PLF). According to a preferred variant, the node 1 increases the counter by one only if the counter does not exceed a predefined maximum value (e.g. 2). This advantageously prevents the node 1 from having too many packets Pk to be marked. When the node 1 shall transmit a packet Pk to the node 2, it preferably checks the value of the counter. If the value is higher than 0, the node 1 sets the PLF of the packet Pk to be transmitted equal to the measurement value, and decreases the counter by one.
Upon occurrence of the first predefined condition, the node 1 terminates the generation step 302 by switching again the value applicable to the packet loss field PLF of the packets Pk to be transmitted from the measurement value to the idle value. As the node 2 starts receiving the block B1 of packets Pk transmitted by the node 1 during the generation step 302, it preferably starts a reflection step 303. During the reflection step 303, for each one of the received packets Pk having their packet loss field PLF set to the measurement value, the node 2 transmits to the node 1 a respective packet Pk’ having its packet loss field PLF also set to the measurement value.
In order to implement the reflection step 303, the node 2 preferably uses a counter, which is increased by one each time a packet Pk with PLF equal to the measurement value is received. When the node 2 shall transmit a packet Pk’ to the node 1 , it preferably checks the value of the counter. If the value is higher than 0, the node 2 sets the PLF of the packet Pk’ equal to the measurement value, and decreases the counter by one.
Generation step 302 and reflection step 303 are iterated cyclically. An iteration of generation step 302 and reflection step 303 is termed herein below “measurement cycle”. The node 1 preferably starts each iteration of the generation step 302 (and then each measurement cycle) upon occurrence of a second predefined condition, as it will be discussed in detail herein below.
At each measurement cycle, the node 1 then transmits to the node 2 a block of N1 (i) packets Pk and receives from the node 2 a block of N2(i) packets Pk’, the index i being a measurement cycle index. If no packet loss occurs during the ith measurement cycle, N2(i) is equal to N1 (i). If instead a packet loss occurs during the ith measurement cycle (either during transmission of packets Pk from the node 1 to the node 2 or during transmission of packets Pk’ from the node 2 to the node 1 ), N2(i) is lower than N1 (i).
In any case, the number N1 (i+1 ) of packets Pk with PLF equal to the measurement value transmitted by the node 1 during the (i+1 )th measurement cycle is independent of the number N2(i) of packets Pk’ with PLF equal to the measurement value received by the node 1 during the ith measurement cycle. In other words, the N2(i) packets Pk’ with PLF equal to the measurement value received by the node 1 are not further reflected by the node 1 , which instead “terminates” them and starts the generation step 302 of the subsequent measurement cycle (i+1 )th by transmitting to the node 2 a number N1 (i+1 ) of packets Pk with PLF equal to the measurement value which is independent of N2(i).
The node 1 performs measurement cycles until it determines that the round-trip packet loss measurement shall be terminated (step 304). In that case, the node 1 preferably reverts to step 300.
In order to perform a round-trip packet loss measurement between the nodes 1 and 2, a measurement point 10 may be provided at the node 1 , as schematically depicted in Figure 1 .
At each measurement cycle, the measurement point 10 may count the number N1 (i) of packets Pk with PLF equal to the measurement value transmitted by the node 1 and the number N2(i) of packets Pk’ with PLF equal to the measurement value received by the node 1 . At the ith measurement cycle, the measurement point 10 may then calculate an end-to-end round-trip packet loss PL(i) as a difference between the numbers N1 (i) and N2(i) counted during that measurement cycle.
Conversely, if a measurement point were placed at an intermediate position between the two nodes 1 , 2 (e.g. by a party having no access to the first node), it could not perform any end-to-end round-trip packet loss measurement. Even assuming indeed that the intermediate measurement point is capable of counting the number N1 (i), N1 (i+1 ), etc. of packets Pk with PLF equal to the measurement value transmitted by the node 1 during several measurement cycles, it cannot combine them into a significant end-to-end round-trip packet loss measurement. Specifically, the intermediate measurement point could count the number N1 (i) of packets Pk with PLF equal to the measurement value transmitted by the node 1 during the ith measurement cycle, the number N1 (i+1 ) of packets Pk with PLF equal to the measurement value transmitted by the node 1 during the (i+1 )th measurement cycle, and calculate their difference N1 (i)-N1 (i+1 ) as provided by WO 2020/156996. However, such difference is not indicative of the end-to- end round-trip packet loss between the nodes 1 and 2, because - as discussed above - N1 (i+1 ) is independent of the number N2(i) of packets Pk’ with PLF equal to the measurement value received by the node 1 during the ith measurement cycle, and accordingly is not comparable with the number N1 (i) of packets Pk with PLF equal to the measurement value transmitted by the node 1 during the ith measurement cycle.
Non-authorized parties are therefore advantageously prevented from obtaining end-to-end round-trip packet loss measurements.
It is noted that other types of round-trip packet loss measurements (namely, not end-to-end round-trip packet loss measurement) may nonetheless be obtained by the intermediate measurement point, in particular when it is capable of counting the number N2(i) of packets Pk’ with PLF equal to the measurement value transmitted by the node 2, as it will be discussed in further detail herein below.
Further, since no double reflection mechanism is envisaged, a same duration of the generation step 302 results in an increased percentage of the transmitted packets Pk, Pk’ involved in the roundtrip packet loss measurement, relative to the technique of WO 2020/156996.
As mentioned above, the node 1 terminates each iteration of the generation step 302 upon occurrence of a first predefined condition, and starts each iteration of the generation step 302 upon occurrence of a second predefined condition (except the first iteration, which as discussed above is initiated as the node 1 determines that a round-trip packet loss measurement shall be started, see step 301 ).
The first and second predefined conditions may be of different types.
According to a first embodiment, the node 1 terminates each iteration of the generation step 302 when a first predefined time T 1 has lapsed since the beginning of the same iteration of the generation step 302 (first predefined condition). The node 1 then preferably starts the subsequent iteration of the generation step 302 when a second predefined time T2 has lapsed since the termination of the preceding iteration of the generation step 302 (second predefined condition). The times T 1 and T2 are preferably counted by one or more local timers of the node 1 , and the node 1 determines whether the times T1 , T2 are lapsed by checking the value of the timer(s).
This case is schematically depicted in Figure 4. For not overloading the drawing, in Figure 4 only the first packet Pk, Pk’ following to each switching of the value of the packet loss field PLF is depicted.
At time t1 the node 1 starts the generation step 302 of a first measurement cycle MC1 by starting to transmit to the node 2 packets Pk having their packet loss field PLF set to the measurement value, e.g. 1 . At time t2, the node 2 receives the first packet Pk with packet loss field PLF equal to 1 and then starts the reflection step 303 of the first measurement cycle MC1 , thereby transmitting to the node 1 , for each received packet Pk with packet loss field PLF equal to 1 , a respective packet Pk’ with packet loss field PLF also equal to 1 .
At time t3 = t1 + T1 , the node 1 terminates the generation step 302 of the first measurement cycle MC1 . The node 1 accordingly starts again transmitting to the node 2 packets Pk having their packet loss field PLF set to the idle value 0. At time t4, the node 2 receives from the node 1 the first packet Pk with packet loss field PLF equal to 0, and accordingly terminates the reflection step 303 of the first measurement cycle MC1. The node 2 accordingly starts again transmitting to the node 1 packets Pk’ having their packet loss field PLF set to the idle value 0.
At time t5 = t3+T2, the node 1 starts the generation step 302 of a second measurement cycle MC2, by restarting to transmit to the node 2 packets Pk having their packet loss field PLF set to 1 . This triggers the reflection step 303 of the second measurement cycle MC2 at the node 2 as described above (not depicted in Figure 4). And so on.
According to this first embodiment, therefore, all the iterations of the generation step 302 have a same fixed duration of T1 , and successive iterations of the generation step 302 are separated by a pause of fixed duration T2.
It is noted that the number N1 (i) of packets Pk transmitted at each iteration of the generation step 302 is not fixed and depends on T 1 and on the packet rate of the packets Pk as transmitted by the node 1 . The value of T1 is preferably chosen as a trade-off between number of packets Pk involved in each measurement cycle (which increases as the value of T1 increases and shall be preferably not lower than 64) and number of measurement cycles per measurement session (which, given a certain duration of the measurement session, increases as the value of T1 decreases).
Further, the percentage of packets Pk, Pk’ with packet loss field PLF equal to 1 (namely, of packets involved in the end-to-end packet loss measurement) is equal to T1/(T1 +T2), in the direction with lower packet rate. Hence, in order to maximize the percentage of packets Pk, Pk’ involved in the measurement, it is preferable that T2 is as low as possible. However, T2 is preferably not shorter than a minimum value (e.g. 200 ms), so as to allow the measurement point 10 distinguishing packets Pk with PLF equal to the measurement value transmitted by the node 1 during different measurement cycles, and also distinguishing packets Pk’ with PLF equal to the measurement value received by the node 1 during different measurement cycles.
According to a second embodiment, the node 1 terminates the generation step 302 when it receives from the node 2 the first packet Pk’ with PLF equal to the measurement value (first predefined condition). The duration of each iteration of the generation step 302 is then equal to the sum of the one-way delay of the first packet Pk with PLF equal to the measurement value transmitted by the node 1 during the generation step 302, plus the one-way delay of the first packet Pk’ with PLF equal to the measurement value transmitted by the node 2 during the corresponding reflection step 303.
It may be appreciated that this sum is an estimate of the RTT (round-trip time) between the nodes 1 and 2. The node 1 then preferably starts the subsequent iteration of the generation step 302 when a time T3 has lapsed since the termination of the preceding iteration of the generation step 302, the time T3 being set equal to above estimate of the RTT between the nodes 1 and 2 (second predefined condition). The time T3 may be counted by a local timer of the node 1 , and the node 1 may determine whether the time T3 has lapsed by checking the value of the timer.
This case is schematically depicted in Figure 5. For not overloading the drawing, in Figure 5 only the first packet Pk, Pk’ following to each switching of the value of the packet loss field PLF is depicted.
At time t1 the node 1 starts the generation step 302 of a first measurement cycle MC1 by starting to transmit to the node 2 packets Pk having their packet loss field PLF set to the measurement value, e.g. 1 . At time t2, the node 2 receives the first packet Pk with packet loss field PLF equal to 1 and then starts the reflection step 303 of the first measurement cycle MC1 , thereby transmitting to the node 1 , for each received packet Pk with packet loss field PLF equal to 1 , a respective packet Pk’ with packet loss field PLF equal to 1 .
At time t3, the node 1 receives from the node 2 the first packet Pk’ with packet loss field PLF equal to 1 , and accordingly terminates the generation step 302 of the first measurement cycle MC1 . The node 1 accordingly starts again transmitting to the node 2 packets Pk having their packet loss field PLF set to the idle value 0. At time t4, the node 2 receives from the node 1 the first packet Pk with packet loss field PLF equal to 0, and accordingly terminates the reflection step 303 of the first measurement cycle MC1 . The node 2 accordingly starts again transmitting to the node 1 packets Pk’ having their packet loss field PLF set to the idle value 0.
At time t5 = t3+T3, the node 1 starts the generation step 302 of a second measurement cycle MC2, by restarting to transmit to the node 2 packets Pk having their packet loss field PLF set to 1 . This triggers the reflection step 303 of the second measurement cycle MC2 at the node 2 as described above (not depicted in Figure 5). And so on.
According to this second embodiment, therefore, both the duration of each iteration of the generation step 302 and the duration of each pause between successive iterations of the generation step 302 have variable durations, which depend on the RTT between the nodes 1 and 2.
According to this second embodiment, the number N1 (i) of packets Pk with PLF equal to the measurement value transmitted at each iteration of the generation step 302 is not fixed and depends on the packet rate of the packets Pk as transmitted by the node 1 and on the RTT between the nodes 1 and 2.
Further, according to this second embodiment, since at each measurement cycle the generation step 302 and the subsequent pause substantially have the same duration, the percentage of packets Pk, Pk’ involved in the end-to-end packet loss measurement is roughly 50%, in the direction with lower packet rate.
According to a third embodiment, the packets Pk, Pk’ are formatted according to the known QUIC (Quick UDP Internet Connections) protocol and comprise a spin bit allowing RTT measurements, as described by B. Trammel et al.: Internet draft "The addition of a Spin Bit to the QUIC Transport Protocol draft-trammel-quic-spin-01", December 13, 2017.
Specifically, the nodes 1 , 2 transmit the respective packets Pk, Pk’ with the value of their spin bits set to 0. The node 1 (e.g. acting as client in the QUIC connection) starts an RTT measurement by starting to transmit packets Pk with their spin bit equal to 1 . As the node 2 (acting as server in the QUIC connection) detects this change of the spin bit value in the received packets Pk, it also starts to transmit packets Pk’ with their spin bit equal to 1 . As the node 1 detects this change of the spin bit value in the received packets Pk’, it restarts to transmit packets Pk with their spin bit equal to 0. As the node 2 detects this further change of the spin bit value in the received packets Pk, it restarts to transmit packets Pk’ with their spin bit equal to 1 . And so on.
The time lapsing between transmission by the node 1 of the first packet Pk with a certain spin bit value and subsequent reception at the node 1 of the first packet Pk’ with the same spin bit value will be termed herein after “spin bit cycle”. The spin bit cycle has a variable duration, which depends on (and is accordingly indicative of) the RTT between the nodes 1 , 2.
According to the third embodiment, the node 1 terminates each iteration of the generation step 302 when it determines that a first predefined number M1 of spin bit cycles have been completed since the beginning of the same iteration of the generation step 302 (first predefined condition). The node 1 then preferably starts the subsequent iteration of the generation step 302 when it determines that a second predefined number M2 of spin bit cycles have been completed since the termination of the preceding iteration of the generation step 302 (second predefined condition). For example, M1 may be equal to 2, while M2 may be equal to 1 . The node 1 preferably determines whether a spin bit cycle has been completed by checking the value of the spin bit in the received packets Pk’.
This case is schematically depicted in Figure 6. For not overloading the drawing, in Figure 6 only the first packet Pk, Pk’ following to each switching of the value of the packet loss field PLF is depicted.
At time t1 the node 1 starts the generation step 302 of a first measurement cycle MC1 by starting to transmit to the node 2 packets Pk having their packet loss field PLF set to the measurement value, e.g. 1 . It is assumed that at time t1 also a first spin bit cycle SBC1 starts. At time t2, the node 2 receives the first packet Pk with packet loss field PLF equal to 1 and then starts the reflection step 303 of the first measurement cycle MC1 , thereby transmitting to the node 1 , for each received packet Pk with packet loss field PLF equal to 1 , a respective packet Pk’ with packet loss field PLF equal to 1 .
At time t3, the node 1 determines that a first predefined number M1 (e.g. M1 =2) of spin bit cycles have been completed since t1 (namely the first spin bit cycle SBC1 and a second spin bit cycle SBC2), and accordingly terminates the generation step 302 of the first measurement cycle MC1 . The node 1 accordingly restarts to transmit to the node 2 packets Pk having their packet loss field PLF set to the idle value 0. At time t4, the node 2 receives from the node 1 the first packet Pk with packet loss field PLF equal to 0, and accordingly terminates the reflection step 303 of the first measurement cycle MC1 . The node 2 accordingly restarts transmitting to the node 1 packets Pk’ having their packet loss field PLF set to the idle value 0.
At time t5, the node 1 determines that a second predefined number M2 (e.g. M2=1 ) of spin bit cycles have been completed since t3 (namely, a third spin bit cycle SBC3). The node 1 then starts the generation step 302 of a second measurement cycle MC2, by restarting to transmit to the node 2 packets Pk having their packet loss field PLF set to 1 . This triggers the reflection step 303 of the second measurement cycle MC2 at the node 2 as described above (not depicted in Figure 6). And so on.
According to this third embodiment, therefore, both the duration of each iteration of the generation step 302 and the duration of the pause between successive iterations of the generation step 302 have variable durations, which depend on M1 , M2 and the durations of the spin bit cycles.
According to this third embodiment, the number N1 (i) of packets Pk with PLF equal to the measurement value transmitted at each iteration of the generation step 302 is not fixed and depends on the packet rate of the packets Pk as transmitted by the node 1 , M1 , M2 and the durations of the spin bit cycles.
Further, the percentage of packets Pk, Pk’ with packet loss field PLF equal to 1 (namely, of packets involved in the end-to-end packet loss measurement) is roughly equal to M1/(M1 +M2), in the direction with lower packet rate. Hence, in order to provide a percentage higher than 50%, M2 is preferably lower than M1 . For example, if M1 =2 and M2=1 , the percentage is equal to 67%.
According to an advantageous variant of the third embodiment, M2 is equal to 0, namely no pause is performed between consecutive iterations of the generation step 302. In this case, the percentage of packets Pk, Pk’ with packet loss field PLF equal to 1 (namely, of packets involved in the end-to-end packet loss measurement) is equal to 100%, in the direction with lower packet rate.
According to this variant, in order to distinguish packets Pk, Pk’ with packet loss field PLF equal to 1 pertaining to different measurement cycles, the measurement point 10 preferably also reads the spin bit value of the detected packets Pk, Pk’. Packets Pk, Pk’ with PLF equal to 1 and a same spin bit value (e.g. 0) pertain to a same measurement cycle, and accordingly are counted in the end-to-end packet loss measurement calculated for that measurement cycle. Packets Pk, Pk’ with PLF equal to 1 and a different spin bit value (e.g. 1 ) are instead counted for the end-to-end packet loss measurement calculated for the preceding or subsequent measurement cycle.
As mentioned above, the packet loss field PLF may comprise two or more bits, so that it may be set to either an idle value or anyone of a number of measurement values. In the embodiments described herein below, the packet loss field PLF preferably comprises two bits, and therefore it may be set to either an idle value (e.g. “00”) or anyone of at last two measurement values (e.g. “01 ” and “10”).
According to a fourth embodiment, the node 1 uses two different measurement values (e.g. “01 ” and “10”) in an alternate way during the measurement cycles. In other words, each time a new measurement cycle is started, the node 1 switches the measurement value to be applied to the packet loss field PLF of the packets Pk transmitted during the generation step 302 of the new measurement cycle.
According to the fourth embodiment, the node 1 terminates the generation step 302 when it receives from the node 2 the first packet Pk’ with PLF equal to the same measurement value which is currently applied to the packets Pk (first predefined condition). The node 1 then switches the measurement value to be applied to the packets Pk and starts the subsequent iteration of the generation step 302.
The second predefined condition upon which the node 1 starts the subsequent iteration of the generation step may be of different types. Specifically, the node 1 may not perform any pause between successive iterations of the generation step 302. Alternatively, the node 1 may wait a predefined time X before starting the subsequent iteration of the generation step 302. This prevents non authorized third parties from deriving RTT measurements by sniffing the packets Pk, Pk’ by means of a probe placed at an intermediate position between the nodes 1 and 2.
According to the fourth embodiment, the node 2 reflects the measurement values comprised in the PLF of the received packets Pk. For this purpose, the node 2 preferably uses two counters, one for each measurement value. When a packet Pk is received at the node 2, the node 2 increases by one the counter of the measurement value comprised in the PLF of the received packet Pk, and associates to that counter the sequence number comprised in the packet Pk. When a packet Pk’ shall be transmitted by the node 2 and both the counters are higher than 0, the PLF of the packet Pk’ is preferably set to the measurement value whose counter is associated with the lower sequence number, and that counter is decreased by one.
This embodiment is schematically depicted in Figure 7. For not overloading the drawing, in Figure 7 only the first packet Pk, Pk’ following to each switching of the value of the packet loss field PLF is depicted.
At time t1 the node 1 starts the generation step 302 of a first measurement cycle MC1 by starting to transmit to the node 2 packets Pk having their packet loss field PLF set to a first measurement value, e.g. 01 . At time t2, the node 2 receives from the node 1 the first packet Pk with packet loss field PLF equal to 01 and then starts the reflection step 303 of the first measurement cycle MC1 , thereby transmitting to the node 1 , for each received packet Pk with packet loss field PLF equal to 01 , a respective packet Pk’ with packet loss field PLF equal to 01.
At time t3, the node 1 receives from the node 2 the first packet Pk’ with packet loss field PLF equal to 01 , and accordingly terminates the generation step 302 of the first measurement cycle MC1 . The node 1 then switches the measurement value to be applied to the packets Pk, e.g. from 01 to 10. The node 1 then starts the generation step 302 of a second measurement cycle MC2 (for example with no pause, as depicted in Figure 7), thereby starting to transmit to the node 2 packets Pk having their packet loss field PLF set to the measurement value 10. At time t4, the node 2 receives from the node 1 the first packet Pk with packet loss field PLF equal to 10, and accordingly terminates the reflection step 303 of the first measurement cycle MC1 . The node 2 then starts the reflection step 303 of the second measurement cycle MC2, thereby transmitting to the node 1 , for each received packet Pk with packet loss field PLF equal to 10, a respective packet Pk’ with packet loss field PLF equal to 10.
At time t5, the node 1 receives from the node 2 the first packet Pk’ with packet loss field PLF equal to 10, and accordingly terminates the generation step 302 of the second measurement cycle MC2. The node 1 then switches again the measurement value to be applied to the packets Pk from 10 to 01 . The node 1 then starts the generation step 302 of a third measurement cycle MC3 (for example with no pause, as depicted in Figure 7), thereby starting to transmit to the node 2 packets Pk having their packet loss field PLF set to the measurement value 01 . This triggers termination of the reflection step 303 of the second measurement cycle MC2 and start of the reflection step 303 of the third measurement cycle MC3 by the node 2, as described above. And so on.
According to this fourth embodiment, therefore, the percentage of packets Pk, Pk’ with packet loss field PLF equal to 01 or 10 (namely, of packets involved in the end-to-end packet loss measurement) is advantageously equal to 100% in the direction with lower packet rate, if no pause of duration X is performed between successive iterations of the generation step 302.
According to a fifth embodiment, the value “11 ” - which is not used to enable the end-to-end round-trip packet loss measurements according to the fourth embodiment described above - may be used for another type of performance measurement, e.g. a sample delay measurement.
Specifically, according to the fifth embodiment, when the node 1 determines that an iteration of the generation step 302 shall be started, it preferably sets the PLF of the first packet Pk to be transmitted equal to the value 1 1 . The node 1 then starts transmitting packets Pk with PLF set equal to 01 or 10, as described above in connection with the fourth embodiment.
Upon reception of the packet Pk with PLF equal to 1 1 , the node 2 transmits back to the node 1 a packet Pk’ with PLF also equal to 11 .
Preferably, the node 2 gives to this reflection precedence over the reflection of the measurement values. Specifically, the node 2 preferably implements a further counter for the value 11 , in addition to the two counters for the two alternative measurement values 01 and 10. This counter is increased by one when a packet Pk with PLF equal to 11 is received at the node 2. When the node 2 shall transmit a packet Pk’ to the node 1 , before checking the values of the counters for the two alternative measurement values 01 and 10, the node 2 preferably checks the value of the counter for the value 11 . If this counter is higher than 0, then the node 2 sets the PLF of the packet Pk’ to be transmitted equal to 1 1 and decreases this counter by one. Otherwise, the node 2 checks the values of the counters for the two alternative measurement values 01 and 10, as disclosed above in connection with the fourth embodiment.
According to an advantageous variant, the counter for the value 11 is decreased by one if a maximum time Tmax lapses since the last increase of the counter (namely, since reception of the last packet Pk whose PLF is equal to 1 1 ) and no packet Pk’ shall be transmitted. The maximum Tmax may be equal for example to 1 ms. This way, it is guaranteed that an RTT measurement carried out by the measurement point 10 at the node 1 based on transmission time of the packet Pk with PLF equal to 11 and reception time of the packet Pk’ with PLF equal to 11 is affected by a maximum error of Tmax.
According to the fifth embodiment, the packets Pk, Pk’ whose PLF is equal to 11 are not taken into account by the measurement point 10 for the purpose of measuring the end-to-end round-trip packet loss. They may instead be taken into account to provide a RTT measurement by the measurement point 10. At each measurement cycle, an RTT may indeed be calculated as the time lapsing between transmission by the node 1 of the packet Pk with PLF is equal to 11 and reception by the node 1 of the corresponding packet Pk’ with PLF equal to 1 1 , for example as described by M. Cociglio et al.: Internet Draft “Explicit Flow Measurements Techniques - draft-ietf-ippm- explicit-flow-measurements-01 ”, Chapter 2.2, May 5, 2022.
In the above disclosed embodiments, the predetermined condition upon which the node 1 decides to terminate each iteration of the generation step 302 is a time-based condition (namely, lapse of a predefined time T1 , of a round-trip time or of a predefined number of spin bit cycles).
According to still other embodiments, the node 1 terminates each iteration of the generation step 302 when it determines that a predefined number of packets N1 with packet loss field PLF equal to the measurement value (or to the currently applicable measurement value, if two or more alternative measurement values are used, as disclosed above in connection with the fourth and fifth embodiments), has been transmitted since that iteration of the generation step 302 has been started (first predefined condition). N1 may be for example equal to 64. During each measurement cycle, therefore, a fixed number N1 of packets Pk with PLF equal to the measurement value (or the currently applicable measurement value) is transmitted. The predefined number N1 may be accordingly used by the measurement point 10 to calculate the end-to-end round-trip packet loss PL(i) for each measurement cycle, instead of the counted number N1 (i) of packets Pk.
According to a variant of this embodiment, the value of N1 may be varied over time. For example, two or more predefined values of N1 may be alternately used in the sequence of measurement cycles.
Though, according to the various embodiments of the present invention, a measurement point placed at an intermediate position between the nodes 1 and 2 cannot perform an end-to-end round-trip packet loss measurement, as mentioned above it can nonetheless perform other types of measurements.
For example, a measurement point placed at an intermediate position between the nodes 1 and 2 and capable of detecting the packets Pk, Pk’ with PLF equal to the measurement value could count the number of detected packets Pk, count the number of detected packets Pk’ and calculate a round-trip packet loss between itself and the node 2 as a difference between such two numbers.
If at least two measurement points may be provided at intermediate positions between the nodes 1 and 2, which are both capable of detecting the packets Pk, Pk’ with PLF equal to the measurement value, other packet loss measurements may be provided. Each measurement point may indeed count the number of detected packets Pk, count the number of detected packets Pk’ and calculate a roundtrip packet loss between itself and the node 2 as a difference between such two numbers. Additionally, a round-trip packet loss between the two measurement points may be calculated as a difference between the round-trip packet loss calculated by each measurement point between itself and the node 2.

Claims

1. A method for transmitting a bidirectional packet flow (Pk, Pk’) carrying live traffic between a first node (1 ) and a second node (2) of a communication network (100), each packet (Pk, PK’) of said bidirectional packet flow (Pk, Pk’) comprising a packet loss field (PLF) settable to either an idle value or a measurement value, said method comprising: a) by said first node (1 ) transmitting to said second node (2) first packets (Pk) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value; and b) by said second node (2), upon reception from said first node (1 ) of each one of the first packets (Pk) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value, transmitting to said first node (1 ) a respective second packet (Pk’) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value, wherein steps a) and b) are iterated cyclically to provide a sequence of measurement cycles (MC1 , MC2), each measurement cycle (MC1 , MC2) consisting in an iteration of step a) and an iteration of step b), and wherein the number of first packets (Pk) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value transmitted by said first node (1) at each measurement cycle (MC2) is independent of the number of second packets (Pk’) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value received at said first node (1 ) during a preceding measuring cycle (MC1 ).
2. The method according to claim 1 , wherein at said first node (1 ) an iteration of step (a) is terminated upon occurrence of a first predefined condition and a subsequent iteration of step (a) is started upon occurrence of a second predefined condition. The method according to claim 2, wherein said first predefined condition comprises terminating said iteration of step (a) when a first predefined time T1 has lapsed since start of said iteration of step (a). The method according to claim 2, wherein said first predefined condition comprises terminating said iteration of step (a) when a first predefined number N1 of first packets (Pk) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value has been transmitted since start of said iteration of step (a). The method according to claim 2, wherein said first predefined condition comprises terminating said iteration of step (a) when said first node (1 ) receives the first one of said second packets (Pk’) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value transmitted by said second node (2). The method according to claim 2, wherein said first predefined condition comprises terminating said iteration of step (a) when a first predefined number M1 of spin bit cycles has lapsed since start of said iteration of step (a). The method according to any of claims 2 to 6, wherein said second predefined condition comprises starting said subsequent iteration of step (a) when a second predefined time T2 has lapsed since termination of said iteration of step (a). The method according to any of claims 2 to 6, wherein said second predefined condition comprises starting said subsequent iteration of step (a) when a time T3 has lapsed since termination of said iteration of step (a), said time T3 being set equal to an estimate of a round-trip time between said first node (1 ) and said second node (2) calculated as a difference between a reception time of the first one of said second packets (Pk’) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value transmitted by said second node (2), and a transmission time of the first one of said first packets (Pk) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value transmitted by said first node (1 ) during said iteration of step (a). The method according to any of claims 2 to 6, wherein said second predefined condition comprises starting said subsequent iteration of step (a) when a second predefined number M2 of spin bit cycles has lapsed since termination of said iteration of step (a). The method according to claim 2, wherein said packet loss field (PLF) is settable to either said idle value, said measurement value or a further measurement value, and wherein first iterations of step (a) comprising transmitting to said second node (2) first packets (Pk) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value alternate in time with second iterations of step (a) comprising transmitting to said second node (2) first packets (Pk) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said further measurement value. The method according to claim 10, wherein said first predefined condition comprises terminating each one of said first iterations of step (a) when said first node (1 ) receives the first one of said second packets (Pk’) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value transmitted by said second node (2), and terminating each one of said second iterations of step (a) when said first node (1 ) receives the first one of said second packets (Pk’) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said further measurement value transmitted by said second node (2). The method according to any of the preceding claims, wherein said packet loss field (PLF) is also settable to a sample measurement value different from said measurement value, said step (a) comprising transmitting to said second node (2) one packet (Pk) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said sample measurement value. A method for performing a round-trip packet loss measurement on a bidirectional packet flow (Pk, Pk’) carrying live traffic between a first node (1 ) and a second node (2) of a communication network (100), each packet (Pk, PK’) of said bidirectional packet flow (Pk, Pk’) comprising a packet loss field (PLF) settable to either an idle value or a measurement value, said method comprising the steps of the method according to any of the preceding claims and, by a measurement point (10) placed at said first node (1 ): c) counting a number N1 (i) of first packets (Pk) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value transmitted by said first node (1 ) during a measurement cycle; d) counting a number N2(i) of second packets (Pk’) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value received by said first node (1 ) during said measurement cycle; and e) calculating a round-trip packet loss PL(i) as a difference between said number N1 (i) of first packets (Pk) and said number N2(i) of second packets (Pk’). A communication network (100) comprising a first node (1 ) and a second node (2) configured to exchange a bidirectional packet flow (Pk, Pk’) carrying live traffic, each packet (Pk, PK’) of said bidirectional packet flow (Pk, Pk’) comprising a packet loss field (PLF) settable to either an idle value or a measurement value, wherein:
- said first node (1 ) is configured to transmit to said second node (2) first packets (Pk) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value; and
- said second node (2) is configured to, upon reception from said first node (1 ) of each one of the first packets (Pk) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value, transmit to said first node (1 ) a respective second packet (Pk’) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value, wherein said first node (1 ) and said second node (2) are configured to iterate steps a) and b) cyclically to provide a sequence of measurement cycles (MC1 , MC2), each measurement cycle (MC1 , MC2) consisting in an iteration of step a) and an iteration of step b), said first node (1 ) being further configured to, at each measurement cycle (MC2), transmit a number of first packets (Pk) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value which is independent of the number of second packets (Pk’) of said bidirectional packet flow (Pk, Pk’) having said packet loss field (PLF) set to said measurement value received at said first node (1 ) during a preceding measuring cycle (MC1 ).
PCT/EP2023/080634 2022-11-04 2023-11-03 Round-trip packet loss measurement in a packet-switched communication network WO2024094834A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT202200022773 2022-11-04
IT102022000022773 2022-11-04

Publications (1)

Publication Number Publication Date
WO2024094834A1 true WO2024094834A1 (en) 2024-05-10

Family

ID=84785358

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/080634 WO2024094834A1 (en) 2022-11-04 2023-11-03 Round-trip packet loss measurement in a packet-switched communication network

Country Status (1)

Country Link
WO (1) WO2024094834A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010072251A1 (en) 2008-12-22 2010-07-01 Telecom Italia S.P.A. Measurement of data loss in a communication network
WO2020156996A1 (en) 2019-01-29 2020-08-06 Telecom Italia S.P.A. Enabling a round-trip packet loss measurement in a packet-switched communication network
WO2022175214A1 (en) * 2021-02-18 2022-08-25 Telecom Italia S.P.A. Round-trip time measurement in a packet-switched communication network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010072251A1 (en) 2008-12-22 2010-07-01 Telecom Italia S.P.A. Measurement of data loss in a communication network
WO2020156996A1 (en) 2019-01-29 2020-08-06 Telecom Italia S.P.A. Enabling a round-trip packet loss measurement in a packet-switched communication network
WO2022175214A1 (en) * 2021-02-18 2022-08-25 Telecom Italia S.P.A. Round-trip time measurement in a packet-switched communication network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
B. TRAMMEL ET AL., INTERNET DRAFT ''THE ADDITION OF A SPIN BIT TO THE QUIC TRANSPORT PROTOCOL DRAFT-TRAMMEL-QUIC-SPIN-01, 13 December 2017 (2017-12-13)
M. COCIGLIO ET AL., EXPLICIT FLOW MEASUREMENTS TECHNIQUES - DRAFT-IETF-IPPM-EXPLICIT-FLOW-MEASUREMENTS-01, 5 May 2022 (2022-05-05)

Similar Documents

Publication Publication Date Title
EP3005622B1 (en) Performance measurement of a link of a packet-switched communication network
KR101475347B1 (en) Measurement of data loss in a communication network
US20060098586A1 (en) Method and apparatus for application route discovery
US11621897B2 (en) Enabling a performance measurement in a packet-switched communication network
US20220191117A1 (en) Enabling a round-trip packet loss measurement in a packet-switched communication network
US11996997B2 (en) Round-trip packet loss measurement in a packet-switched communication network
US20230087379A1 (en) Packet loss measurement in a packet-switched communication network
US20220263742A1 (en) Enabling a round-trip packet loss measurement in a packet-switched communication network
WO2024094834A1 (en) Round-trip packet loss measurement in a packet-switched communication network
US20240121200A1 (en) Round-trip time measurement in a packet-switched communication network
US20230396525A1 (en) One-way delay measurement in a packet-switched communication network
US20230403221A1 (en) One-way delay measurement in a packet-switched communication network
US20240064090A1 (en) Round-trip time measurement in a packet-switched communication network
WO2023275110A1 (en) Round-trip time measurement in a packet-switched communication network