Network Working Group | D. Dang, Ed. |
Internet-Draft | Huawei |
Intended status: Informational | W. Wang |
Expires: November 14, 2020 | China Telecom |
W. LEE | |
LG U+ | |
May 13, 2020 |
Multi-Path Concurrent Measurement for IPPM
draft-dang-ippm-multiple-path-measurement-03
This test method can test multi-paths concurrently from one edge node to another edge node. This document details Multi-Path Concurrent Measurement (MPCM).
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 14, 2020.
Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
As we know, the current network has been already being in load balancing mode, however it is partially congested. In other words, from the same source node to the same destination node, some paths have been congested to cause a decline in service quality, but some paths carry less traffic and are lightly loaded. To solve the problem of unbalanced network load[draft-liu-ican], the first is to have the ability to detect the quality of the load sharing paths. And then the traffic from the Scr node to the Dst node is required to be steered from the congested paths into the lightly loaded path/paths basing on the SLA's requirement. So it's necessary to measure the multi-paths in load-balancing mode.
In the traditional method, the paths are measured separately because they aren't maintained by the path group. If the multiple load sharing paths are required to be selected based on the SLA information, the measured SLA information needs to be comparable. If you want to ensure that the data obtained by the test is available and accurate, the multi-paths are required to maintain by the path group in order that the test start and end points must be same.
For example, the low latency services require millisecond delays. If the start time and the end time aren't same, the measured data may not be in one test cycle, and the accuracy of this data is relatively low and the data cannot be comparedFigure 1.
Path1 +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Path2 +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Path3 +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ ----------------------------------------------------------------------- 0 t
Figure 1: Measured Data in the Different Cycles
The Multi-Path Concurrent Measurement (MPCM) is required, which can be used bi-directionally to concurrently measure multi-paths metrics between two network elements. At the same time, this method also consider saving the number of test messages to reduces the load on the network.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
The Multi-Path Concurrent Measurement (MPCM) is the way of measurement of multi-paths metrics.
MPCM can be embedded into a variety of transports such as NSH, Segment Routing, VxLAN, native IPv6 (via extension header), or IPv4.
To complete the target scenario, we need to optimize the single-path measurement mechanism, and then further diffuse the single-path measurement mechanism to multiple-path.
1. For a single tunnel, the Dst needs to know when to start timing in order to delimit. The Dst needs to solve various problems such as congestion and discarding of measurement packets. Therefore, the Dst needs to initiate a periodic response.
2. For multiple paths, the Dst needs to respond one measurement message with multiple path information in its specific time, solving the problems such as inconsistent initiation of any path, inconsistent measurement periods, clock drift, and different delays.
|-----ti-----|-----ti-----|-----ti-----| t0 t1 t2 Src ----------------------------------------- | \ \ | \ \ | \ \ | \ \ Dst ----------------------------------------- t0' t1' t2'
Figure 2: Single path measurement
A path between Scr node and Dst node in the network to obtain measurement results at equal intervals is as follows:
1) Set the measurement interval ti.
a) Before the test starts, the Scr sends a protocol packet to the Dst and sets the test interval ti.
b) After receiving the protocol message, the Dst sets the test interval ti for the Scr and Dst, and replies to the Scr to confirm that the setting is successful. The congestion at the Dst will be counted at intervals ti.
c) After receiving the interval setting successfully, the Scr starts to start measurement.
2) The Scr sends the first delimited message, which includes the sending timestamp t0, and starts to count the data packets sent.
3) After receiving the first delimited message, the Dst end stamps the time stamp t0 'and starts to count the received data messages.
4) The Scr sends the second delimited message at time t1, where t1 = t0 + ti, the message includes the sending timestamp t1, and counts the number of data packets sent. The first delimited message uses high priority, and the second delimited message uses normal priority. Because the second delimitation message has a low priority and a large queuing delay, the interval between the first delimitation message and the second delimitation message shall become larger at the Dest.
5) At the time t0 '+ ti, the Dst counts the number of packets received between t0' and t0 '+ ti, and sends the message back to the Src with the number of packets, the sending time t0 and the receiving time t0'. If the delimitation message has not been received at t0' + 2 * ti time, the Dst repeats the previous actions, and so on.
6) When the second delimited message arrives at the Dst, the Dst counts the number of packets received between t0 'and t1' at t1 'time, and sends the message back to the Src with the number of packets, the packet sending time t0 and the packet receiving time t0 '.
7) After t1 ', the sending time in the message from the Dst is updated to t1, and the receiving time in the message from the Dst is updated to t1'. The number of packets is still the number of packets received within ti time.
8) Assuming that t1' is between t0' + (x-1) * ti and t0' + x * ti, then the congestion in the interval ti is calculated in two parts. The first part is from t0 '+ (x-1) * ti to t1', The statistics packets sent at t1' must include the packet statistics and time t0'; the second part is from t1 'to t0' + x * ti, t0 '+ x * ti need to include the packet statistics and t1'.
9) Repeat the above steps.
| <-----------> | <------------>| <------------> | | Ti | Ti | Ti | Path1 | m1 m2 | m3 | m4 m5 | m6 --------------------------------------------------------------- | | | | Path2 | m1 | m2 m3 m4 | m5 --------------------------------------+------------------------ | | | | Path3 | m1 m2 m3 m4 | m5 | m6 --------+---------------+----------------+----------------+----
Figure 3: Multiple path measurement
There are multiple paths in the tunnel between Src node and Dst nodes in the network. This method is mainly implemented at the Dst.
1) Set the measurement interval ti.
a) Before the test starts, the Src sends a protocol packet to the Dst, setting the number of paths and the measurement interval ti. The measurement result of each path is a message with measurement data.
b) After receiving the protocol message, the Dst sets the number of paths and measurement interval ti, and replies to the source to confirm the successful setting.
c) After receiving the message with the number of paths and measurement interval, the Src starts to start measurement.
2) On each path, the Src continuously sends measurement packets, and the Dst continuously calculates the measurement results at intervals ti.
3) The Dst collects the measurement results of each path at intervals ti after the earliest measurement result of multiple paths is came out.
4) The results of multiple paths in the same interval time ti are counted as a group. If there is no measured results on the specific path in the interval ti, the relevant information is set 0 in the group results. A set of measurement results packaged of multiple paths are taken back to the Src.
5) The measurement results of multiple paths on the Dst are continuously packaged at intervals ti and sent back to the Src. The packaged message carries the sequence number within the message to prevent out of order.
This section defines path header and associated data types required for MPCM.
Firstly one path packet formatFigure 4 of multi-path can be defined.
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Session ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Path ID | Path-E2E-Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Transaction ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: MPCM Path header
When a measurement is for a set of paths, each query message is made for each path, but only one unified response message replies
Sender Receiver | | | Query message of Path1 | | -------------------------------------->| | Query message of Path2 | |--------------------------------------->| | ... | | ... | | Query message of PathN | |--------------------------------------->| | | | | | | | | | | | Response message of All multi-paths | |<---------------------------------------| | | | |
Figure 5: Query and Response message
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | E2E PathN Option Header | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | PathN Edge-to-Edge Option Data | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: Query message
The field of PathN Edge-to-Edge Option Data can refer to Edge-to-Edge Option Data of [draft-ietf-ippm-ioam-data-04].
It suppose there are N paths between two points.The measurement response packet format of multi-paths is as followsFigure 6.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | E2E Path1 Option Header | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Path1 Edge-to-Edge Option Data | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- ~ ... ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | | | E2E PathN-1 Option Header | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | PathN-1 Edge-to-Edge Option Data | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | E2E PathN Option Header | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | PathN Edge-to-Edge Option Data | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7: Response message
The overall solution needs to consider two methods of long-period measurement and short-period measurement.
The measurement message format defined by this document can be extended based on various measurement methods.
A new type may be added in IOAM-E2E-Type of IOAM Edge-to-Edge Option header[draft-ietf-ippm-ioam-data-04-section4.4] as follow.
This bit is set by the headend node if Multi-Path Concurrent Measurement is activated.
A common registry is maintained for IOAM-Types, see Section 6.
For path-based quality measurements, there is no need to measure each message because the large-scale deployment consumes too much network resources. Here, the way of periodic measurement is recommended.In a period, if there is a packet, the appropriate packet is selected to be inserted into the iOAM packet; if there is no packet, a measurement packet is directly generated[draft-dang-ippm-congestion].
MPCM nodes collect information for packets traversing a domain that supports MPCM. MPCM process the information further and export the information using e.g., IPFIX. Raw data export of IOAM data using IPFIX is discussed in [draft-spiegel-ippm-ioam-rawexport-00].
This document requests the following IANA Actions.
IOAM E2E Type Registry:
Bit 4 Multiple ways measurement
The Proof of Transit option (Section Section 4.3 In-situ OAM [draft-ietf-ippm-ioam-data-04-section4.4]) is used for verifying the path of data packets.
TBD
[draft-dang-ippm-congestion] | "A One-Path Congestion Metric for IPPM" |
[draft-ietf-ippm-ioam-data-04] | "A Variety of Transports" |
[draft-ietf-ippm-ioam-data-04-section4.4] | "IOAM Edge-to-Edge Option" |
[draft-ietf-spring-segment-routing-policy] | "Segment Routing Policy Architecture" |
[draft-liu-ican] | "Instant Congestion Assessment Network (iCAN) for Traffic Engineering" |
[draft-spiegel-ippm-ioam-rawexport-00] | "In-situ OAM raw data export with IPFIX" |
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC7348] | "Virtual eXtensible Local Area Network (VXLAN)" |