Network Working Group                                            J. Dang
Internet-Draft                                                    B. Liu
Intended status: Standards Track                     Huawei Technologies
Expires: May 7, 2020                                             G. Yang
                                                           China Telecom
                                                                  K. Lee
                                                                   LG U+
                                                        November 4, 2019


  Instant Congestion Assessment Network (iCAN) for Traffic Engineering
                           draft-liu-ican-01

Abstract

   This draft proposes a new technology named iCAN (instant Congestion
   Assessment Network), which represents a set of mechanisms running
   directly on network nodes.  These mechanisms allow the nodes
   adjusting the flows' paths based on real-time measurement of the
   candidate paths.  The measurement is to reflect the congestion
   situation of each path, so that the nodes could decide which flows
   need to be switched from a path to another.

   This is something that current TE technologies can hardly achieve.
   In current TE, the paths are usually planned in a certralized
   controller, which is far from the data plane, thus neither be able to
   assess the real-time congestion situation of each path, nor able to
   assure the data plane always go as expected (especially in SRv6
   scenarios).  In a result, traditional TE is not able to adjust the
   flow paths in real-time to fit for the change of traffic instantly.

   iCAN can work with traditional TE perfectly: the controller plans
   multi-path transmission in relatively long period (e.g. minutes), and
   iCAN does the flow path optimization in a much shorter interval (e.g.
   milliseconds).

Status of This Memo

   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



Dang, et al.               Expires May 7, 2020                  [Page 1]


Internet-Draft                    iCAN                     November 2019


   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 May 7, 2020.

Copyright Notice

   Copyright (c) 2019 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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Problem Statement . . . . . . . . . . . . . . . . . . . . . .   4
     2.1.  Background Problems . . . . . . . . . . . . . . . . . . .   4
       2.1.1.  Latency issue . . . . . . . . . . . . . . . . . . . .   4
       2.1.2.  Microburst issue  . . . . . . . . . . . . . . . . . .   4
     2.2.  Gap Analysis  . . . . . . . . . . . . . . . . . . . . . .   4
       2.2.1.  Load balancing  . . . . . . . . . . . . . . . . . . .   4
       2.2.2.  SLA assurance . . . . . . . . . . . . . . . . . . . .   5
       2.2.3.  High availability . . . . . . . . . . . . . . . . . .   5
   3.  iCAN Architecture and Key Technical Requirements  . . . . . .   5
     3.1.  Architecture  . . . . . . . . . . . . . . . . . . . . . .   5
     3.2.  Key technical requirements  . . . . . . . . . . . . . . .   7
       3.2.1.  Path quality assessment . . . . . . . . . . . . . . .   7
       3.2.2.  Recognition and statistic of flows in devices . . . .   9
       3.2.3.  Flow switching between paths  . . . . . . . . . . . .   9
   4.  Use Cases and Scenarios . . . . . . . . . . . . . . . . . . .  10
     4.1.  Network load balancing  . . . . . . . . . . . . . . . . .  10
       4.1.1.  Multiple-access in backbone networks  . . . . . . . .  10
       4.1.2.  Multiple paths in metro network . . . . . . . . . . .  11
     4.2.  SLA assurance . . . . . . . . . . . . . . . . . . . . . .  11
     4.3.  Fine-Granularity reliability  . . . . . . . . . . . . . .  11
   5.  Implementation with Underlay Technologies . . . . . . . . . .  11
     5.1.  iCAN with SRv6  . . . . . . . . . . . . . . . . . . . . .  11
     5.2.  iCAN with VxLAN . . . . . . . . . . . . . . . . . . . . .  12
     5.3.  iCAN with MPLS/MPLS-TE  . . . . . . . . . . . . . . . . .  12
   6.  Standardization Requirements  . . . . . . . . . . . . . . . .  12



Dang, et al.               Expires May 7, 2020                  [Page 2]


Internet-Draft                    iCAN                     November 2019


   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  12
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  12
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  12
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  13
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  13
     10.2.  Informative References . . . . . . . . . . . . . . . . .  13
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  13

1.  Introduction

   Traditional IP routing is shortest path based on static metrics,
   which can fulfil basic requirement of connectivity.  MPLS-TE brings
   the capability of utilizing non-shortest paths, thus traffic dispatch
   is doable; however, MPLS-TE in only a complementary mechanism because
   of the scalability issue.  Segment routing provides even more
   flexibility that paths could be easily programmed; and along with the
   controller, it could be scaled.

   However, the above mentioned mechanisms all run in the control plane,
   which implies that they are not able to sense the data plane
   situation in real-time, thus they are mostly for relative static
   planning/controlling (minuets, hours or even day-level) of network
   traffic and not able to adapt to the microscopic traffic change in
   real-time (e.g. mili-second level).  So, in real bearer networks
   (metro, backbones etc.), it is always underload so that the redundant
   resources could tolerant the traffic burst, results in a significant
   waste of network resources.

   This draft proposes the iCAN (Instant Congestion Assessment Network)
   architecture to achieve autonomous adapt to traffic changes in real-
   time in terms of switching flows between multiple forwarding paths.
   iCAN includes following mechanisms:

   o  A mechanism between ingress and egress nodes to assess the path
      congestion situation in RTT level speed, to recognize which paths
      are underload and which are heavy loaded.

   o  Recognizing big flows and small flows in the device, in real time

   o  Ingress node dispatches flows to multiple paths, to make load
      balance, or to guarantee SLA for specific flows

   Use cases, scenarios and implementation candidates of iCAN are also
   discussed in this draft.







Dang, et al.               Expires May 7, 2020                  [Page 3]


Internet-Draft                    iCAN                     November 2019


2.  Problem Statement

2.1.  Background Problems

2.1.1.  Latency issue

   New services like AR/VR would require strictly low lantency which
   would be a big challenge to current network.  Other than fixed
   lantency caused by the forwarding devices' internal processing and
   transmission time on wire, the prominent factor of lantency is the
   queuing time caused by congestion.  Thus, to controll the latency of
   a certain path, is mostly to controll the congestion.

2.1.2.  Microburst issue

   The network users/services are so comprehensive that the traffic
   model is always uncertain, which results in high bandwidth peak-to-
   average ratio.  In other words, real traffic could often changes
   dramatically in second or even millisecond level.  Thus, even if the
   bandwidth of paths seem all good in a network management system,
   there might be congestion happening in real forwarding plane that
   just could not detected by the management system.

2.2.  Gap Analysis

2.2.1.  Load balancing

   In real networks, the traffic is usually un-balanced.  Some links
   might be idle while some might be heavily congested.  The partial
   congestion in the network has affected the bandwidth planning of the
   network.  Ideally, the bandwidth planning of the network generally
   depends on the average bandwidth of the link, however, in reality the
   bandwidth planning more tends to peak bandwidth of the link in order
   to guarantee the business experience.  Especailly for low-latancy
   servie, since it is very sensitive to congestion, the result is that
   operators would have to increase investment for network expansion.

   Although there are mechanisms against load balancing issue, the real
   result is usually not as expected.

   - Device-level Load Balance (e.g.  ECMP)

      1) Not recognize flows' amount.  ECMP is mostly deployed in a per-
      flow manner.  Since the devices cannot recognize each flow's
      amount, they just fork the flows based on the numbers of flows,
      not the exact amount of flows.  Thus, the result of ECMP could be
      unbalanced.




Dang, et al.               Expires May 7, 2020                  [Page 4]


Internet-Draft                    iCAN                     November 2019


      2) Not consider congestion status of E2E paths.  ECMP only cares
      about the next hop, thus, if one remote link that is on the path
      is already highly congested, the device would still fork flows to
      the path due to the ECMP local decision.

   - Network-level load balance (e.g.  UCMP)

      1) Lack of data plane mechanisms to ensure the real sharing ratio
      between multiple paths.  Again, since there is no mechanims to
      recognize flows' amount, the controller just could not make sure
      whether the traffic is forked exactly as it expected.

      2) Slow reaction: The global path optimization architecture of SDN
      can sense traffic changes by measuring protocol, but the overall
      feedback speed is relatively slow.

2.2.2.  SLA assurance

   - QoS mechanism

      When congestion occurs, QoS scheduling will be trigger.  The QoS
      mechanism in a network element selects a portion of the packets
      into the buffer.  The purpose of delaying the retransmission is to
      increase the network capacity.  Even if low-latency services are
      placed in high-priority queues to avoid additional delays, high-
      priority queues are still in buffers.  Once there are more high-
      priority services, the packets will still enter the buffer for a
      period of time.

2.2.3.  High availability

   Current networks highly relies BFD for high availability.  The
   problems of BFD are:

      1) Complex configurations

      2) Can only detect path on/off, not able to detect path quality
      deterioration

      3) Cannot distinguish individual paths in multi paths

3.  iCAN Architecture and Key Technical Requirements

3.1.  Architecture







Dang, et al.               Expires May 7, 2020                  [Page 5]


Internet-Draft                    iCAN                     November 2019


                 +-----------+
                 |           |
                 | Controller|
                 |           |
                 +-----------+
                       |
          0.Multi-path |
              Planning |
                       |
                       |
                       v
                 +-----------+  --------Path 1------------  +----------+
 Imcoming Flows  |  Ingress  |3.Flow swithing between paths | Egress   |
 --------------> |   Node    |  --------Path N------------  |  Node    |
                 |           |     Intermediate Nodes       |          |
                 +-/------\--+ <--------------------------> +----------+
                  /        \   1.Path Quality Assessment
                 / 2. Flow  \ (simultaneusly on multiple paths)
                /  recognition
               /              \

   Figure-1: iCAN architecture

   As above figure shows, there are 3 entities:

   1.  Controller

       -  Responsible for planning multiple paths for a set of flows
          that could be aggregated to a pair of Ingress/Egress routers.

       -  After delivering the planned paths to the ingress router, the
          controller would need nothing to do.

   2.  Ingress node:

       -  Serves as a local "controller" for the iCAN system.

       -  Responsible for triggering the path congestion assessment,
          which is coordinated with the egress router through a
          measurement protocol.

       -  After getting the assessment results, the ingress router would
          calculate which flows need to be switched to a different path,
          in order to make the paths load balanced or to assure the
          transport quality of a certain of important flows.






Dang, et al.               Expires May 7, 2020                  [Page 6]


Internet-Draft                    iCAN                     November 2019


       -  In order to do the path switching calculation, the ingress
          router needs to recognize the TopN flow passing by it, since
          switching the big flows would make the most effort.

   3.  Egress node:

       -  Only needs to coordinate with the ingress router to do the
          path assessment.

   4.  Intermediate nodes (optional)

       -  If the intermediate nodes are allowed to participate in iCAN,
          they can provide useful information (e.g.  link utilization)
          for better measurement of path quality.  (TBD)

3.2.  Key technical requirements

3.2.1.  Path quality assessment

   o  Req-1: the assessment MUST reflex the congestion status of the
      paths.

   o  Req-2: the assessment SHOULD be done within a RTT timeslot.  Since
      iCAN is to adapt the traffic change in real-time, the assessment
      needs to be done very fast.

   o  Req-3: the assessment MUST be done for multiple paths between the
      same ingress/egress routes simultaneously.

   Candidate solutions:

   o  For Req-1:

         In the draft [I-D.dang-ippm-congestion], a new metric is
         proposed to indicate the congestion degree of a certain path.
         A specific value could be calculated according to a certain
         method (described below), so that the congestion situation of
         different paths could be quantified and compared.

   o  For Req-2 & 3:

         In the draft [I-D.dang-ippm-multiple-path-measurement], a
         specific method is proposed to calculate the congestion degree
         as decribed above.  The proposed method supports measuring
         multiple paths simultaneously, which needs a special mechanism
         to allign measurements of different paths to the same time
         slots.




Dang, et al.               Expires May 7, 2020                  [Page 7]


Internet-Draft                    iCAN                     November 2019


                    +---------+            +----------+
                    | Ingress |            |  Egress  |
                    | Router  |            |  Router  |
          Delimiter +----+----+            +-----+----+
           Packet        |                       |
         ---------> XXXX | ^                     |
                    .... | |                     |
                    .... | |                     |
                    .... | |ti                   |
                    .... | |                     |
                    .... | |                     |       Delimiter
         ---------> XXXX | V                     |        Packet
          Delimiter      |                     ^ | XXXX <---------
           Packet        |                     | | ....
                         |                     | | ....
                         |                   ti| |
                         |                     | | ....
                         |                     | |
                         |                     V | ....  Delimiter
                         |                       | ....   Packet
                         |                       | XXXX <---------

   Figure-2 Path congestion assesment between ingress/egress routes

         As the figure shows above, the ingress router inserts the
         delimiter packet in a fixed interval "ti" (e.g. 3.3ms); at the
         same time, the ingress router would count how many packets are
         sent during the interval.  When the egress routers recieves the
         same delimiter packet, it also starts count the packet number
         during the same interval "ti".  Because of the path congestion,
         the gap between the receiving packets might probably differs
         from the gap between sending packets, the difference is just
         the key infomation for estimating the congestion degree of the
         path.  The egress router would ignore the gap difference, and
         just return the packet number to the ingress router when the
         "ti" time is up.

         The ingress/egress router could also count the packets number
         between two delimiter packes, so that the counts could be
         compared for detecting packet loss.  If packet loss happens, it
         should be specially taken into consideration by the path
         congestion degree calculation.









Dang, et al.               Expires May 7, 2020                  [Page 8]


Internet-Draft                    iCAN                     November 2019


              | <----------> | <----------> | <----------> |
              |      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 allignment

   As the figure shows above, m1-mN indicates every measurent made on
   each path, as every "ti" interval, the egress would return the packet
   count to the ingress router for path congestion degree measurement
   (as described above).  Due to path congestion, the packets sent by
   the egress router would arrive at the ingress router at different
   intervals other than "ti" time.  Thus, for path congestion degree
   comparison between multipla paths, it needs a longer "Ti" interval
   (e.g. 10ms) to make sure that there would be at least one measurement
   completed most of the time.

3.2.2.  Recognition and statistic of flows in devices

   o  Req-1: the device SHOULD be able to recognize TopN big flows
      within a timeslot.

   o  Req-2: the device MAY need to statistic all flows' amount within a
      timeslot.

3.2.3.  Flow switching between paths

   o  Req-1: the device SHOULD be able to recognize flow let.  The flow
      switching is done from the next flow let.

   o  Req-2: the device MAY need to actively generate gap to
      artificially create flow let.  If the flow needs to be switched
      immediately, then the device would need to make the gap, to avoid
      out-of-order packets arriving to the destination through multiple
      paths.

   o  Req-3: the device SHOULD avoid oscillation of frequently switching
      flows from one to another.

   o  Req-4: multiple ingress devices SHOULD be able to coordinate so
      that they won't switch flows to the shared path at the same time,
      to avoid potential congestion in the shared path.



Dang, et al.               Expires May 7, 2020                  [Page 9]


Internet-Draft                    iCAN                     November 2019


4.  Use Cases and Scenarios

4.1.  Network load balancing

   Background problem: traffic is not balanced in current metro network.

   While some links are heavily loaded, others might be still lightly
   loaded: unbalance could lows down the service quality (e.g.  SLA
   could not be guaranteed in the heavily loaded links/paths); unbalance
   could lows down the network utilization ratio (normally with 30%,
   e.g. a 100G physical capacity network can only bear at most 30G
   traffic, a huge waste of network infrastructure).

   iCAN could be used for load balance among the multiple paths between
   a pair of ingress/egress nodes.  Once the network is balanced, the
   real throughput of the network could be elevated significantly.  A
   couple of targeted scenarios are described below.

4.1.1.  Multiple-access in backbone networks

  +--------------------------------------------------------------------+
  |  +-----------------+  +-----------------+     +-----------------+  |
  |  | Interconnection |  | Interconnection |     | Interconnection |  |
  |  | in City 1 Core  |  | in City 2 Core  | ... | in City n Core  |  |
  |  +--------+--------+  +--------+--------+     +--------+--------+  |
  |           |                    |                       |           |
  |     +-----+-----+        +-----+-----+           +-----+-----+     |
  |     | Terminal  |        | Terminal  |           | Terminal  |     |
  |     | in City 1 |        | in City 2 |           | in City n |     |
  |     +---+-\-----\        +---+-------\           /----/+-----+     |
  +---------|---\-----\-----/----|---------\---/--------/--|-----------+
            |     \      \/      |         / \        /    |
            |       \   /   \    |   /         \   /       |
            |        /         / |               /         |
            |     /    \  /      | \          /    \       |
            |  /     /   \       |       \ /         \     |
     +------|/---/-+     +-\-----|------/+     \  +----\---|-------+
     |   +--/--/   |     |    \--+--/    |        |  \  +\-+--+    |
     |   | AP1 |   |     |    | AP2 |    |        |     | APn |    |
     |   +--+--+   |     |    +--+--+    |        |     +--+--+    |
     |      |      |     |       |       | ...... |        |       |
     |    Metro    |     |DC Campus/Metro|        |   IDC Region   |
     |  Networks   |     |   Networks    |        |    Networks    |
     +-------------+     +---------------+        +----------------+

   Figure-4: Multiple-access in backbone networks





Dang, et al.               Expires May 7, 2020                 [Page 10]


Internet-Draft                    iCAN                     November 2019


   As Figure-4 shows above, at the edge of the backbone, there are APs
   (Acess Points) that attached with different networks.  The APs
   connect to the TPs (Terminal Points), via which the traffic from the
   APs could be exchanged to other networks (e.g. other ISPs).  In order
   to get a high quality connection, each AP could attach to multiple
   TPs, thus, the IP tunnels are constructed in a mesh manner.

   Between APs and TPs, BGP is running for traffic routing.  The BGP
   policies are always static, since it is very error-prone for manully
   adjusting BGP policies.  Thus, the traffic running among the paths
   between APs and TPs are always un-balanced.  With iCAN runs as on top
   of the mesh tunnels, the un-balanced issue could be solved in
   principle.

4.1.2.  Multiple paths in metro network

   Similar as the iCAN architecture showed as Figure-1, in metro
   networks, there might be multiple paths between ingress/egress router
   pairs.  Thus, iCAN could be used to increase the throughput without
   hardware expansion.

4.2.  SLA assurance

   Since iCAN could switch flow in real-time, it can guarantee a set of
   important flows.  Once the path which carries the important flows is
   to be congested, the other flows could be switched to alternative
   paths, and the important flows would stablely running in the original
   path.

   (More content TBD)

4.3.  Fine-Granularity reliability

   Traditional reliability protocols such as BFD, can only assess the
   link on or off.  With the path congestion assessment ability, iCAN
   could also asses the quality degradation.

   (More content TBD)

5.  Implementation with Underlay Technologies

5.1.  iCAN with SRv6

   -  SR Multiple Explicit Paths

      For example, there are 3 paths between the ingress and egress
      nodes, and the multi-path is defined as a SR-List containing
      LSP1/2/3.



Dang, et al.               Expires May 7, 2020                 [Page 11]


Internet-Draft                    iCAN                     November 2019


      The probe message detects the congestion status of the three SR-
      list paths.  The edge device adjusts the load balancing between
      the three paths according to the congestion status of the three
      SR-lists, and switch the flows from the path with a high
      congestion to the path with a low congestion.

   -  SR Multiple Explicit+Loose Paths

      In loose path scenario, there needs to be an additional approach
      to probe the specific paths of a SR tunnel.  After that,
      operations on the probed paths are the same as explicit path
      scenario.

5.2.  iCAN with VxLAN

   TBD.

5.3.  iCAN with MPLS/MPLS-TE

   TBD.

6.  Standardization Requirements

   1.  Multi-path Planning (North Interface between Controller and
       devices)

   2.  Path Congestion Assesment (Horizontal Interface between devices),
       mostly regarding to Req-1&2&3 described in Section 3.2.1 .

   3.  Flow Switching Negotiation (Horizontal Interface between
       devices), mostly regarding to Req-3&4 described in Section 3.2.3
       .

   (More content TBD.)

7.  Security Considerations

   TBD.

8.  IANA Considerations

   TBD.

9.  Acknowledgements

   Very valuable comments were from Shunsuke Homma, Mikael Abrahamsson
   and Bruno Decraene.




Dang, et al.               Expires May 7, 2020                 [Page 12]


Internet-Draft                    iCAN                     November 2019


   A commercial router hardware based prototype had been implemented to
   prove the machinisms discussed in the document are workable.

   Conventions: [RFC2119][RFC2629]

10.  References

10.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
              DOI 10.17487/RFC2629, June 1999,
              <https://www.rfc-editor.org/info/rfc2629>.

10.2.  Informative References

   [I-D.dang-ippm-congestion]
              Dang, J. and J. Wang, "A One-Path Congestion Metric for
              IPPM", draft-dang-ippm-congestion-01 (work in progress),
              March 2019.

   [I-D.dang-ippm-multiple-path-measurement]
              Dang, J. and J. Wang, "A Multi-Path Concurrent Measurement
              Protocol for IPPM", draft-dang-ippm-multiple-path-
              measurement-01 (work in progress), March 2019.

Authors' Addresses

   Joanna Dang
   Huawei Technologies
   Q27, Huawei Campus
   No.156 Beiqing Road
   Beijing  100095
   P.R. China

   Email: dangjuanna@huawei.com











Dang, et al.               Expires May 7, 2020                 [Page 13]


Internet-Draft                    iCAN                     November 2019


   Bing Liu
   Huawei Technologies
   Q27, Huawei Campus
   No.156 Beiqing Road
   Hai-Dian District, Beijing  100095
   P.R. China

   Email: leo.liubing@huawei.com


   Guangming Yang
   China Telecom
   109 Zhongshan W Ave
   Guangzhou  510630
   P.R. China

   Email: yangguangm@chinatelecom.cn


   Kyungtae Lee
   LG U+
   71, Magokjungang 8-ro, Gangseo-gu
   Seoul
   Republic of Korea

   Email: coolee@lguplus.co.kr

























Dang, et al.               Expires May 7, 2020                 [Page 14]