SPRING Working Group                                         C. Filsfils
Internet-Draft                                               Z. Ali, Ed.
Intended status: Standards Track                     Cisco Systems, Inc.
Expires: October 18, 2021                                   M. Horneffer
                                                        Deutsche Telekom
                                                                D. Voyer
                                                             Bell Canada
                                                              M. Durrani
                                                                 Equinix
                                                               R. Raszuk
                                                 NTT Network Innovations
                                                          April 16, 2021


              Segment Routing Traffic Accounting Counters
            draft-filsfils-spring-sr-traffic-counters-01.txt

Abstract

   Segment Routing (SR) allows a headend node to steer a packet flow
   along any path.  Intermediate per-flow states are eliminated thanks
   to source routing.  Traffic accounting plays a critical role in
   network operation.  A traffic account solution is required for SR
   networks that provides the necessary functionality without creating
   any additional per SR path states in the fabric.

   This document describes counters for traffic accounting in SR
   networks.

Requirements Language

   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 [RFC2119].

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




Filsfils, et al.        Expires October 18, 2021                [Page 1]


Internet-Draft             SR Traffic Counters                April 2021


   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 October 18, 2021.

Copyright Notice

   Copyright (c) 2021 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.  SR Traffic Counters . . . . . . . . . . . . . . . . . . . . .   4
     2.1.  Traffic Counters Naming convention  . . . . . . . . . . .   4
     2.2.  Per-Interface SR Counters . . . . . . . . . . . . . . . .   5
       2.2.1.  Per interface, per protocol aggregate egress SR
               traffic counters (SR.INT.E.PRO) . . . . . . . . . . .   5
       2.2.2.  Per interface, per traffic-class, per protocol
               aggregate egress SR traffic counters
               (SR.INT.E.PRO.TC) . . . . . . . . . . . . . . . . . .   5
       2.2.3.  Per interface aggregate ingress SR traffic counter
               (SR.INT.I)  . . . . . . . . . . . . . . . . . . . . .   6
       2.2.4.  Per interface, per TC aggregate ingress SR traffic
               counter (SR.INT.I.TC) . . . . . . . . . . . . . . . .   6
     2.3.  Prefix SID Counters . . . . . . . . . . . . . . . . . . .   6
       2.3.1.  Per-prefix SID egress traffic counter (PSID.E)  . . .   6
       2.3.2.  Per-prefix SID per-TC egress traffic counter
               (PSID.E.TC) . . . . . . . . . . . . . . . . . . . . .   7
       2.3.3.  Per-prefix SID, per egress interface traffic counter
               (PSID.INT.E)  . . . . . . . . . . . . . . . . . . . .   7
       2.3.4.  Per-prefix SID per TC per egress interface traffic
               counter  (PSID.INT.E.TC)  . . . . . . . . . . . . . .   7
       2.3.5.  Per-prefix SID, per ingress interface traffic counter
               (PSID.INT.I)  . . . . . . . . . . . . . . . . . . . .   7
       2.3.6.  Per-prefix SID, per TC, per ingress interface traffic
               counter (PSID.INT.I.TC) . . . . . . . . . . . . . . .   7
     2.4.  Traffic Matrix Counters . . . . . . . . . . . . . . . . .   8



Filsfils, et al.        Expires October 18, 2021                [Page 2]


Internet-Draft             SR Traffic Counters                April 2021


       2.4.1.  Per-Prefix SID Traffic Matrix counter (PSID.E.TM) . .   8
       2.4.2.  Per-Prefix, Per TC SID Traffic Matrix counter
               (PSID.E.TM.TC)  . . . . . . . . . . . . . . . . . . .   8
     2.5.  SR Policy Counters  . . . . . . . . . . . . . . . . . . .   8
       2.5.1.  Per-SR Policy Aggregate traffic counter (POL) . . . .   9
       2.5.2.  Per-SR Policy labelled steered aggregate traffic
               counter (POL.BSID)  . . . . . . . . . . . . . . . . .   9
       2.5.3.  Per-SR Policy, per TC Aggregate traffic counter
               (POL.TC)  . . . . . . . . . . . . . . . . . . . . . .   9
       2.5.4.  Per-SR Policy, per TC labelled steered aggregate
               traffic counter (POL.BSID.TC) . . . . . . . . . . . .   9
       2.5.5.  Per-SR Policy, Per-Segment-List Aggregate traffic
               counter (POL.SL)  . . . . . . . . . . . . . . . . . .   9
       2.5.6.  Per-SR Policy, Per-Segment-List labelled steered
               aggregate traffic counter (POL.SL.BSID) . . . . . . .  10
   3.  Security Considerations . . . . . . . . . . . . . . . . . . .  10
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  10
   5.  Acknowledgement . . . . . . . . . . . . . . . . . . . . . . .  10
   6.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  10
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  11
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  11
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  12
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   This document defines counters for traffic accounting in segment
   routing (SR) [I-D.ietf-spring-segment-routing] networks.  The essence
   of Segment Routing consists in scaling the network by only
   maintaining per-flow state at the source or edge of the network.
   Specifically, only the headend of an SR policy
   [I-D.filsfils-spring-segment-routing-policy] maintains the related
   per-policy state.  Egress and midpoints along the source route do not
   maintain any per-policy state.  The traffic counters described in
   this section respects the architecture principles of SR, while given
   visibility to the service provider for network operation and capacity
   planning.

   This document specifies prefix-SID, interface and SR Policy counters
   to be implemented at each SR router.  Furthermore, it describes the
   traffic matrix (TM) counters for accounting at the TM border routers
   (details described in Section 2.4).The goal of the document is to
   specify these necessary counters for traffic accounting in an SR
   network.  The actual usage of this information and leveraging for
   various use-cases is outside the scope of this document.
   [I-D.ali-spring-sr-traffic-accounting] describes some of the use-
   cases and application of these counters in an SR network.




Filsfils, et al.        Expires October 18, 2021                [Page 3]


Internet-Draft             SR Traffic Counters                April 2021


   This document assumes that the routers export the traffic counters
   defined in Section 2 to an external controller.  The methods for
   collection of this information by the controller is beyond the scope
   of the document.

2.  SR Traffic Counters

2.1.  Traffic Counters Naming convention

   The section uses the following naming convention when referring to
   the various counters.  This is done in order to assign mnemonic names
   to SR counters.

   o  The term counter(s) in all of the definitions specified in this
      document refers either to the (packet, byte) counters or the byte
      counter.

   o  SR: any traffic whose FIB lookup is a segment (IGP prefix/Adj
      segments, BGP segments, any type of segments) or the matched FIB
      entry is steered on an SR Policy.

   o  INT in name indicates a counter is implemented at a per interface
      level.

   o  E in name refers to egress direction (with respect to the traffic
      flow).

   o  I in name refers to ingress direction (with respect to the traffic
      flow).

   o  TC in name indicates a counter is implemented on a Traffic Class
      (TC) basis.

   o  TM in name refers to a Traffic Matrix (TM) counter.

   o  PRO in name indicates that the counter is implemented on per
      protocol/adjacency type basis.  Per PRO counters in this document
      can either be accounts for:

      *  LAB (Labelled Traffic): the matched FIB entry is a segment, and
         the outgoing packet has at least one label (that label does not
         have to be a segment label, e.g., the label may be a VPN
         label).

      *  V4 (IPv4 Traffic): the matched FIB entry is a segment which is
         PoP'ed.  The outgoing packet is IPv4.





Filsfils, et al.        Expires October 18, 2021                [Page 4]


Internet-Draft             SR Traffic Counters                April 2021


      *  V6 (IPv6 Traffic): the matched FIB entry is a segment which is
         PoP'ed.  The outgoing packet is IPv6.

   o  POL in name refers to a Policy counter.

   o  BSID in name indicates a policy counter for labelled traffic.

   o  SL in name indicates a policy counter is implemented at a Segment-
      List (SL) level.

   Counter nomenclature is exemplified using the following example:

   o  SR.INT.E.PRO: Per-interface per-protocol aggregate egress SR
      traffic.

   o  POL.BSID: Per-SR Policy labelled steered aggregate traffic
      counter.

2.2.  Per-Interface SR Counters

   For each local interface, node N maintains the following per-
   interface SR counters.  These counters include accounting due to
   push, pop or swap operations on SR traffic.

2.2.1.  Per interface, per protocol aggregate egress SR traffic counters
        (SR.INT.E.PRO)

   The following counters are included under this category.

   o  SR.INT.E.LAB: For each egress interface (INT.E), N MUST maintain
      counter(s) for the aggregate SR traffic forwarded over the (INT.E)
      interface as labelled traffic.

   o  SR.INT.E.V4: For each egress interface (INT.E), N MUST maintain
      counter(s) for the aggregate SR traffic forwarded over the (INT.E)
      interface as IPv4 traffic (due to the pop operation).

   o  SR.INT.E.V6: For each egress interface (INT.E), N MUST maintain
      counter(s) for the aggregate SR traffic forwarded over the (INT.E)
      interface as IPv6 traffic (due to the pop operation).

2.2.2.  Per interface, per traffic-class, per protocol aggregate egress
        SR traffic counters (SR.INT.E.PRO.TC)

   This counter provides per Traffic Class (TC) breakdown of
   SR.INT.E.PRO.  The following counters are included under this
   category.




Filsfils, et al.        Expires October 18, 2021                [Page 5]


Internet-Draft             SR Traffic Counters                April 2021


   o  SR.INT.E.LAB.TC: For each egress interface (INT.E) and a given
      Traffic Class (TC), N SHOULD maintain counter(s) for the aggregate
      SR traffic forwarded over the (INT.E) interface as labelled
      traffic.

   o  SR.INT.E.V4.TC: For each egress interface (INT.E) and a given
      Traffic Class (TC), N SHOULD maintain counter(s) for the aggregate
      SR traffic forwarded over the (INT.E) interface as IPv4 traffic
      (due to the pop operation).

   o  SR.INT.E.V6.TC: For each egress interface (INT.E) and a given
      Traffic Class (TC), N SHOULD maintain counter(s) for the aggregate
      SR traffic forwarded over the (INT.E) interface as IPv6 traffic
      (due to the pop operation).

2.2.3.  Per interface aggregate ingress SR traffic counter (SR.INT.I)

   The SR.INT.I counter is defined as follows:

   For each ingress interface (INT.I), N SHOULD maintain counter(s) for
   the aggregate SR traffic received on I.

2.2.4.  Per interface, per TC aggregate ingress SR traffic counter
        (SR.INT.I.TC)

   This counter provides per Traffic Class (TC) breakdown of the
   SR.INT.I.  It is defined as follow:

   For each ingress interface (INT.I) and a given Traffic Class (TC), N
   MAY maintain counter(s) for the aggregate SR traffic (matching the
   traffic class TC criteria) received on I.

2.3.  Prefix SID Counters

   For a remote prefix SID S, node N maintains the following prefix SID
   counters.  These counters include accounting due to push, pop or swap
   operations on the SR traffic.

2.3.1.  Per-prefix SID egress traffic counter (PSID.E)

   This counter is defined as follows:

   For a remote prefix SID S, N MUST maintain counter(s) for aggregate
   traffic forwarded towards S.







Filsfils, et al.        Expires October 18, 2021                [Page 6]


Internet-Draft             SR Traffic Counters                April 2021


2.3.2.  Per-prefix SID per-TC egress traffic counter (PSID.E.TC)

   This counter provides per Traffic Class (TC) breakdown of PSID.E.  It
   is defined as follows:

   For a given Traffic Class (TC) and a remote prefix SID S, N SHOULD
   maintain counter(s) for traffic forwarded towards S.

2.3.3.  Per-prefix SID, per egress interface traffic counter
        (PSID.INT.E)

   This counter is defined as follows:

   For a given egress interface (INT.E) and a remote prefix SID S, N
   SHOULD maintain counter(s) for traffic forwarded towards S over the
   (INT.E) interface.

2.3.4.  Per-prefix SID per TC per egress interface traffic counter
        (PSID.INT.E.TC)

   This counter provides per Traffic Class (TC) breakdown of PSID.INT.E.
   It is defined as follows:

   For a given Traffic Class (TC), an egress interface (INT.E) and a
   remote prefix SID S, N MAY maintain counter(s) for traffic forwarded
   towards S over the (INT.E) interface.

2.3.5.  Per-prefix SID, per ingress interface traffic counter
        (PSID.INT.I)

   This counter is defined as follows:

   For a given ingress interface (INT.I) and a remote prefix SID S, N
   MAY maintain counter(s) for the traffic received on I and forwarded
   towards S.

2.3.6.  Per-prefix SID, per TC, per ingress interface traffic counter
        (PSID.INT.I.TC)

   This counter provides per Traffic Class (TC) breakdown of PSID.INT.I.
   It is defined as follows:

   For a given Traffic Class (TC), ingress interface (INT.I), and a
   remote prefix SID S, N MAY maintain counter(s) for the traffic
   received on I and forwarded towards S.






Filsfils, et al.        Expires October 18, 2021                [Page 7]


Internet-Draft             SR Traffic Counters                April 2021


2.4.  Traffic Matrix Counters

   A traffic matrix T(N, M) is the amount of traffic entering the
   network at node N and leaving the network at node M, where N and M
   are border nodes at an arbitrarily defined boundary in the network
   [Traffic-Matrices] is.  The TM border defines the arbitrary boundary
   nodes of a contiguous portion of the network across which service
   providers wish to measure traffic flows.  The traffic matrix (also
   called demand matrix) contains all the demands crossing the TM
   border.  It has as many rows as ingress edge nodes and as many
   columns as egress edge nodes at the TM border.  The demand D(N, M) is
   the cell of the matrix at row N and column M.  In other words, a
   Traffic Matrix provides, for every ingress point N into the network
   and every egress point M out of the network, the volume of traffic
   T(N, M) from N to M over a given time interval.  To measure the
   traffic matrix, nodes in an SR network designate its interfaces as
   either internal or external.

   When Node N receives a packet destined to remote prefix SID M, N
   maintains the following counters.  These counters include accounting
   due to push, pop or swap operations.

2.4.1.  Per-Prefix SID Traffic Matrix counter (PSID.E.TM)

   This counter is defined as follows:

   For a given remote prefix SID M, N SHOULD maintain counter(s) for all
   the traffic received on any external interfaces and forwarded towards
   M.

2.4.2.  Per-Prefix, Per TC SID Traffic Matrix counter (PSID.E.TM.TC)

   This counter provides per Traffic Class (TC) breakdown of PSID.E.TM.
   It is defined as follows:

   For a given Traffic Class (TC) and a remote prefix SID M, N SHOULD
   maintain counter(s) for all the traffic received on any external
   interfaces and forwarded towards M.

2.5.  SR Policy Counters

   Per policy counters are only maintained at the policy head-end node.
   For each SR policy [I-D.filsfils-spring-segment-routing-policy] , the
   head-end node maintains the following counters.







Filsfils, et al.        Expires October 18, 2021                [Page 8]


Internet-Draft             SR Traffic Counters                April 2021


2.5.1.  Per-SR Policy Aggregate traffic counter (POL)

   This counter includes both labelled and unlabelled steered traffic.
   It is defined as:

   For each SR policy (P), head-end node N MUST maintain counter(s) for
   the aggregate traffic steered onto P.

2.5.2.  Per-SR Policy labelled steered aggregate traffic counter
        (POL.BSID)

   This counter is defined as:

   For each SR policy (P), head-end node N SHOULD maintain counter(s)
   for the aggregate labelled traffic steered onto P.  Please note that
   labelled steered traffic refers to incoming packets with an active
   SID matching a local BSID of an SR policy at the head-end.

2.5.3.  Per-SR Policy, per TC Aggregate traffic counter (POL.TC)

   This counter provides per Traffic Class (TC) breakdown of POL.  It is
   defined as follows:

   For each SR policy (P) and a given Traffic Class (TC), head-end node
   N SHOULD maintain counter(s) for the aggregate traffic (matching the
   traffic class TC criteria) steered onto P.

2.5.4.  Per-SR Policy, per TC labelled steered aggregate traffic counter
        (POL.BSID.TC)

   This counter provides per Traffic Class (TC) breakdown of POL.BSID.
   It is defined as follows:

   For each SR policy (P) and a given Traffic Class (TC), head-end node
   N MAY maintain counter(s) for the aggregate labelled traffic steered
   onto P.

2.5.5.  Per-SR Policy, Per-Segment-List Aggregate traffic counter
        (POL.SL)

   This counter is defined as:

   For each SR policy (P) and a given Segment-List (SL), head-end node N
   SHOULD maintain counter(s) for the aggregate traffic steered onto the
   Segment-List (SL) of P.






Filsfils, et al.        Expires October 18, 2021                [Page 9]


Internet-Draft             SR Traffic Counters                April 2021


2.5.6.  Per-SR Policy, Per-Segment-List labelled steered aggregate
        traffic counter (POL.SL.BSID)

   This counter is defined as:

   For each SR policy (P) and a given Segment-List (SL), head-end node N
   MAY maintain counter(s) for the aggregate labelled traffic steered
   onto the Segment-List SL of P.  Please note that labelled steered
   traffic refers to incoming packets with an active SID matching a
   local BSID of an SR policy at the head-end.

3.  Security Considerations

   This document does not define any new protocol extensions and does
   not impose any additional security challenges.

4.  IANA Considerations

   This document has no actions for IANA.

5.  Acknowledgement

   The authors like to thank Kris Michielsen for his valuable comments
   and suggestions.

6.  Contributors

   The following people have contributed to this document:

   Ketan Talaulikar
   Cisco Systems
   Email: ketant@cisco.com

   Siva Sivabalan
   Cisco Systems
   Email: msiva@cisco.com

   Jose Liste
   Cisco Systems
   Email: jliste@cisco.com

   Francois Clad
   Cisco Systems
   Email: fclad@cisco.com

   Kamran Raza
   Cisco Systems
   Email: skraza@cisco.com



Filsfils, et al.        Expires October 18, 2021               [Page 10]


Internet-Draft             SR Traffic Counters                April 2021


   Shraddha Hegde
   Juniper Networks
   Email: shraddha@juniper.net

   Gaurav Dawra
   LinkedIn
   Email: gdawra.ietf@gmail.com

   Rick Morton
   Bell Canada
   Email: rick.morton@bell.ca

   Dirk Steinberg
   Steinberg Consulting
   Email: dws@steinbergnet.net

   Bruno Decraene
   Orange Business Services
   Email: bruno.decraene@orange.com

   Stephane Litkowski
   Orange Business Services
   Email: stephane.litkowski@orange.com

   Luay Jalil
   Verizon
   Email: luay.jalil@verizon.com

7.  References

7.1.  Normative References

   [I-D.filsfils-spring-segment-routing-policy]
              Filsfils, C., Sivabalan, S., Hegde, S.,
              daniel.voyer@bell.ca, d., Lin, S., bogdanov@google.com,
              b., Krol, P., Horneffer, M., Steinberg, D., Decraene, B.,
              Litkowski, S., Mattes, P., Ali, Z., Talaulikar, K., Liste,
              J., Clad, F., and K. Raza, "Segment Routing Policy
              Architecture", draft-filsfils-spring-segment-routing-
              policy-06 (work in progress), May 2018.

   [I-D.ietf-spring-segment-routing]
              Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B.,
              Litkowski, S., and R. Shakir, "Segment Routing
              Architecture", draft-ietf-spring-segment-routing-15 (work
              in progress), January 2018.





Filsfils, et al.        Expires October 18, 2021               [Page 11]


Internet-Draft             SR Traffic Counters                April 2021


   [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>.

7.2.  Informative References

   [I-D.ali-spring-sr-traffic-accounting]
              Filsfils, C., Talaulikar, K., Sivabalan, S., Horneffer,
              M., Raszuk, R., Litkowski, S., Voyer, D., and R. Morton,
              "Traffic Accounting in Segment Routing Networks", draft-
              ali-spring-sr-traffic-accounting-04 (work in progress),
              February 2020.

   [Traffic-Matrices]
              Schnitter, T-Systems, S. and M. Horneffer, T-Com, "Traffic
              Matrices for MPLS Networks with LDP Traffic Statistics,
              Proc. Networks2004, VDE-Verlag 2004", 2015.

Authors' Addresses

   Clarence Filsfils
   Cisco Systems, Inc.

   Email: cfilsfil@cisco.com


   Zafar Ali (editor)
   Cisco Systems, Inc.

   Email: zali@cisco.com


   Martin Horneffer
   Deutsche Telekom

   Email: martin.horneffer@telekom.de


   Daniel Voyer
   Bell Canada
   671 de la gauchetiere W
   Montreal, Quebec  H3B 2M8
   Canada

   Email: daniel.voyer@bell.ca





Filsfils, et al.        Expires October 18, 2021               [Page 12]


Internet-Draft             SR Traffic Counters                April 2021


   Muhammad Durrani
   Equinix

   Email: mdurrani@equinix.com


   Robert Raszuk
   NTT Network Innovations
   940 Stewart Dr
   Sunnyvale, CA  94085
   USA

   Email: robert@raszuk.net






































Filsfils, et al.        Expires October 18, 2021               [Page 13]