﻿<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="exp" docName="draft-lihawi-ancp-protocol-access-extension-08" ipr="trust200902">
  <front>
    <title abbrev="Abbreviated-Title">Access Extensions for ANCP</title>

    <author fullname="Hongyu Li" initials="H." surname="Li">
      <organization>Huawei Technologies Co., Ltd.</organization>
      <address>
       <postal>
         <street>Industrial Base, bantain Longgang</street>
          <city>Shenzhen</city>
          <region/>
          <code>518129</code>
          <country>P.R. China</country>
      </postal>
      <email>honyu.li@huawei.com</email>
      </address>
    </author>

    <author fullname="Thomas Haag" initials="T." surname="Haag">
      <organization>Deutsche Telekom</organization>
      <address>
       <postal>
         <street>Heinrich-Hertz_Strasse 3-7</street>
          <city>Darmstadt</city>
          <region/>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>haagt@telekom.de</email>
      </address>
    </author>

    <author fullname="Birgit Witschurke" initials="B." surname="Witschurke">
      <organization>Deutsche Telekom</organization>
      <address>
       <postal>
         <street>Winterfeldstrasse 21</street>
          <city>Berlin</city>
          <region/>
          <code>10781</code>
          <country>Germany</country>
        </postal>
        <email>b.witschurke@telekom.de</email>
      </address>
    </author>

    <date day="01" month="April" year="2022"/>

    <abstract>
      <t>The purpose of this document is to specify extensions to ANCP (Access
      Node Control Protocol) (RFC6320) to support PON as described in RFC6934
      and some other DSL Technologies including G.fast. This document updates
      RFC6320 by modifications to terminologies, flows and specifying new TLV
      types.</t>

      <t>This document updates RFC6320 by modifications to terminologies,
      flows and specifying new TLV types.</t>
    </abstract>

    <note title="Requirements Language">
      <t>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 <xref target="RFC2119">RFC 2119</xref>.</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t>RFC6934 introduces application of ANCP to PON. However, <xref target="RFC6320">RFC6320</xref> haven't been updated to support PON.
      Besides, DSL technology is also evolving. G.fast, VDSL2 Vectoring and  VDSL2 Annex Q were introduced as upgraded versions to provide higher bandwidths for the last mile..</t>

      <t>This document considers all existing Access technologies used in a
      Telco network, yet not supported by RFC6320 and specifies new TLVs
      accordingly.</t>
    </section>

    <section title="Terminology">
      <t>This section repeats some definitions from RFC6320 and <xref target="RFC6934">RFC6934</xref>, but also updates some definitions where
      appropriate.</t>

      <t>Access Node (AN): [RFC5851] Network device, usually located at a
      service provider central office or street cabinet that terminates access
      (local) loop connections from subscribers. In case the access loop is a
      Digital Subscriber Line (DSL), the Access Node provides DSL signal
      termination and is referred to as a DSL Access Multiplexer (DSLAM). In
      case the access loop is a Passive Optical Network (PON), the Access Node
      is referred to as an Optical Line Terminal (OLT).</t>

      <t>Optical Line Terminal (OLT): is located in the service provider's
      central office (CO) or street cabinet. It terminates and aggregates
      multiple PONs (providing fiber access to multiple premises or
      neighborhoods) on the subscriber side and interfaces with the Network
      Access Server (NAS) that provides subscriber management.</t>

      <t>Optical Network Terminal (ONT): terminates PON on the network side
      and provides PON adaptation. The subscriber side interface and the
      location of the ONT are dictated by the type of network deployment. For
      an FTTP deployment (with fiber all the way to the apartment or living
      unit), ONT has Ethernet (Fast Ethernet (FE) / Gigabit Ethernet (GE) /
      Multimedia over Coax Alliance (MoCA)) connectivity with the Home Gateway
      (HGW) / Customer Premises Equipment (CPE). In certain cases, one ONT may
      provide connections to more than one Home Gateway at the same time.</t>

      <t>Optical Network Unit (ONU): a generic term denoting a device that
      terminates any one of the distributed (leaf) endpoints of an Optical
      Distribution Network (ODN), implements a PON protocol, and adapts PON
      PDUs to subscriber service interfaces. In the case of a multi-dwelling
      unit (MDU) or multi-tenant unit (MTU), a multi-subscriber ONU typically
      resides in the basement or a wiring closet (FTTB case) and has
      FE/GE/Ethernet over native Ethernet link or over xDSL (typically VDSL2)
      connectivity with each CPE at the subscriber premises. In the case where
      fiber is terminated outside the premises (neighborhood or curb side) on
      an ONT/ONU, the last-leg-premises connections could be via existing or
      new copper, with xDSL physical layer (typically VDSL2). In this case, the
      ONU effectively is a "PON-fed DSLAM". In new FTTdp based deployments the
      access node is named DPU (Distribution Point Unit). Basically from ANCP
      perspective this node provides the same functionality. Besides VDSL2, G.fast is mature and widely deployed.</t>
    </section>

    <section title="Modification to ANCP - General Aspects">
      <t>ANCP message formats remain the same as described in section 3.5.1 of
      RFC6320 when it is applied to PON. However, some message
      descriptions need to be modified to make them applicable to variant
      Access Networks, other than DSL specific.</t>

      <t>The ANCP Adjacency message is extended to other Access Technologies
      than DSL. Generalize the message format to following:</t>

      <t>The following capabilities are defined for ANCP:</t>

      <t>o Capability Type: Access Topology Discovery = 0x01</t>

      <t><list style="hanging">
          <t>Access technology: ANY</t>

          <t>Length (in bytes): 0</t>

          <t>Capability Data: NULL</t>
        </list>For the detailed protocol specification of this capability, see
      Section 6 of RFC6320.</t>

      <t>o Capability Type: Access Line Configuration = 0x02</t>

      <t><list style="hanging">
          <t>Access technology: ANY</t>

          <t>Length (in bytes): 0</t>

          <t>Capability Data: NULL</t>
        </list>For the detailed protocol specification of this capability, see
      Section 7 of RFC6320.</t>

      <t>o Capability Type: Access Remote Line Connectivity Testing = 0x04</t>

      <t><list style="hanging">
          <t>Access technology: ANY</t>

          <t>Length (in bytes): 0</t>

          <t>Capability Data: NULL</t>
        </list>For the detailed protocol specification of this capability, see
      Section 8 of RFC6320.</t>
    </section>

    <section title="Modification to DSL-Type TLV 0x0091">
      <t>Add following new DSL-Type values.</t>

      <t>Value: 32-bit unsigned integer</t>

      <t><list style="hanging">
          <t>G.fast = 8</t>

          <t>VDSL2 Annex Q = 9</t>

          <t>SDSL bonded = 10</t>

          <t>VDSL2 bonded = 11</t>

          <t>G.fast bonded = 12</t>

          <t>VDSL2 Annex Q bonded = 13</t>
        </list></t>
  
    </section>
    
    <section title="Extension to DSL Sub TLV">
      <t>DSL sub TLVs are listed in Section 6.5 of RFC6320. G.Fast requires beside existing TLVs the following new TLVs.</t>
    
        <section title="Expected Throughput (ETR) TLV">
          <t>Type: 0x009B Expected Throughput at L2 (ETR) upstream</t>
          <t>Description: Reports the expected throughput upstream after retransmission (ITU-T G.997.2, clause 7.11.1.2)</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
          
          <t>Type: 0x009C Expected Throughput at L2 (ETR) downstream</t>
          <t>Description: Reports the expected throughput downstream after retransmission (ITU-T G.997.2, clause 7.11.1.2)</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
        </section>
        <section title="Attainable expected throughput (ATTETR) TLV">
          <t>Type: 0x009D Attainable Expected Throughput (ATTETR) upstream</t>
          <t>Description: Reports the attainable expected Throughput upstream at L2 (ITU-T G.997.2, clause 7.11.2.2)</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
    
          <t>Type: 0x009E Attainable Expected Throughput (ATTETR) downstream</t>
          <t>Description: Reports the attainable expected Throughput downstream at L2 (ITU-T G.997.2, clause 7.11.2.2)</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
          </section>
        <section title="Gamma Data Rate (GDR) TLV">
          <t>Type: 0x009F Gamma data rate (GDR) upstream</t>
          <t>Description: Reports the Gamma data rate (GDR) upstream (ITU-T G.997.2, clause 7.11.1.3)</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
          
          <t>Type: 0x00A0 Gamma Data Rate (GDR) downstream</t>
          <t>Description: Reports the Gamma data rate (GDR) downstream(ITU-T G.997.2, clause 7.11.1.3)</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
        </section>
        <section title="Attainable Gamma Data Rate (ATTGDR) TLV">
          <t>Type: 0x00A1 Attainable Gamma data rate (ATTGDR) upstream</t>
          <t>Description: Reports the Attainable Gamma data rate upstream (ATTGDR) (ITU-T G.997.2, clause 7.11.2.3)</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
          
          <t>Type: 0x00A2 Attainable Gamma data rate (ATTGDR) downstream</t>
          <t>Description: Reports the Attainable Gamma data rate (ATTGDR) (ITU-T G.997.2, clause 7.11.2.3) downstream</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
        </section>
    </section>

    <section title="ANCP-Based PON Topology Discovery">
      <t>This section describes topology discovery messages applied for PON.
      TLVs not addressed here remain the same as applied for DSL.</t>

      <section title="ANCP Port Up and Port Down Event Message Descriptions">
        <t>The format of the ANCP Port Up and Port Down Event messages is
        shown in Figure xx1. It has the same format as the one described in
        section 6.3 of RFC6320. The only difference is that
        DSL-Line-Attributes TLV is updated as Access-Line-Attributes TLV.</t>

        <t/>

        <t><figure title="Format of the ANCP Port Up and Port Down Event Messages for PON Topology Discovery">
            <artwork><![CDATA[    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           TCP/IP Encapsulating Header (Section 3.2)           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                ANCP General Message Header                    |
   +                      (Section 3.6.1)                          +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                    Unused (20 bytes)                          ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |x|x|x|x|x|x|x|x| Message Type  |   Tech Type   |  Reserved     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     # of TLVs                 | Extension Block length (bytes)|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                 Access line identifying TLV(s)                ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                ACCESS-Line-Attributes TLV                     |
   ~        (MANDATORY in Port Up, OPTIONAL in Port Down)          ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure></t>

        <t>NOTE: TLVs MAY be in a different order from what is shown in this
        figure.</t>

        <t>Figure xx1: Format of the ANCP Port Up and Port Down Event Messages
        for PON Topology Discovery</t>

        <t>See Section 3.6.1 of RFC6320 for a description of the ANCP general
        message header. The Message Type field MUST be set to 80 for Port Up,
        81 for Port Down. It is applicable to both DSL and PON based access
        systems. The 4-bit Result field MUST be set to zero (signifying
        Ignore). The 12-bit Result Code field and the 24-bit Transaction
        Identifier field MUST also be set to zeroes. Other fields in the
        general header MUST be set a as described in Section 3.6 of
        RFC6320.</t>

        <t>The five-word Unused field is a historical leftover. The handling
        of unused/reserved fields is described in Section 3.4 of RFC6320.</t>

        <t>The remaining message fields belong to the "extension block", and
        are described as follows:</t>

        <t>Extension Flags (8 bits): The flag bits denoted by 'x' are
        currently unspecified and reserved.</t>

        <t>Message Type (8 bits): Message Type has the same value as in the
        general header (i.e., 80 or 81).</t>

        <t>Tech Type (8 bits): MUST be set to 0x01 (PON).</t>

        <t>Reserved (8 bits): set as described in Section 3.4 of RFC6320.</t>

        <t># of TLVs (16 bits): The number of TLVs that follow, not counting
        TLVs encapsulated within other TLVs.</t>

        <t>Extension Block Length (16 bits): The total length of the TLVs
        carried in the extension block in bytes, including any padding within
        individual TLVs.</t>

        <t>TLVs: One or more TLVs to identify a PON Access line and zero or
        more TLVs to define its characteristics.</t>
      </section>

      <section title="PON Access Line Identification">
        <t>Most ANCP messages involve actions relating to a specific access
        line. Thus, it is necessary to describe how PON access lines are
        identified within those messages. This section defines four TLVs for
        that purpose and provides an informative description of how they are
        used in PON. TLVs not addressed here remain unchanged as applied for
        DSL.</t>

        <section title="Access-Loop-Circuit-ID TLV">
          <t>Type: 0x0001</t>

          <t>Description: A locally administered human-readable string
          generated by or configured on the Access Node, uniquely identifying
          the corresponding access loop logical port on the user side of the
          Access Node, as described in Section 5.7 of [TR-156]..</t>

          <t>Length: Up to 63 bytes</t>

          <t>Value: ASCII string</t>
        </section>

        <section title="Access-Loop-Remote-ID TLV">
          <t>Type: 0x0002</t>

          <t>Description: An operator-configured string that uniquely
          identifies the user on the associated access line, as described in
          Section 5.7 of [TR-156].</t>

          <t>Length: Up to 63 bytes</t>

          <t>Value: ASCII string</t>
        </section>
      </section>

      <section title="TLVs for PON Access Line Attributes">
        <t/>

        <section title="PON-Access-Line-Attributes TLV">
          <t>Type: 0x0012</t>

          <t>Description: This TLV encapsulates attribute values of a PON
          access line serving a subscriber.</t>

          <t>Length: Variable (up to 1023 bytes)</t>

          <t>Value: One or more encapsulated TLVs corresponding to PON access
          line attributes. The PON-Access-Line-Attributes TLV MUST contain at
          least one TLV when it is present in a Port Up or Port Down message.
          The actual contents are determined by the AN control
          application. Technology-independent attributes of RFC6320, such as TLV0x0090, are valid for PON and not repeated here.</t>

          <t/>
        </section>

        <section title="PON-Access-Type TLV">
          <t>Type: 0x0097</t>

          <t>Description: Indicates the type of PON transmission system in
          use.</t>

          <t>Length: 4 bytes</t>

          <t>Value: 32-bit unsigned integer</t>

          <t><list style="hanging">
              <t>OTHER = 0</t>

              <t>GPON = 1</t>

              <t>XG-PON1 = 2</t>

              <t>TWDM-PON = 3</t>

              <t>XGS-PON = 4</t>
  
              <t>WDM-PON = 5</t>

              <t>Unknown = 7</t>
            </list></t>
        </section>

        <section title="ONT/ONU-Average-Data-Rate-Downstream TLV">
          <t>Type: 0x00b0</t>
          <t>Description: ONT/ONU downstream average data rate L2</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
        </section>
        
        <section title="ONT/ONU-Peak-Data-Rate-Downstream TLV">
          <t>Type: 0x00b1</t>
          <t>Description: ONT/ONU downstream peak data rate L2</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
        </section>

        <section title="ONT/ONU-Maximum-Data-Rate-Upstream TLV">
          <t>Type: 0x00b2</t>
          <t>Description: ONT/ONU upstream maximum data rate L2</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
        </section>

        <section title="ONT/ONU-Assured-Data-Rate-Upstream TLV">
          <t>Type: 0x00b3</t>
          <t>Description: ONT/ONU upstream assured data rate L2</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
        </section>

        <section title="PON-Tree-Maximum-Data-Rate-Upstream TLV">
          <t>Type: 0x00b4</t>
          <t>Description: PON Tree upstream maximum data rate L2</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
        </section>
        
        <section title="PON-Tree-Maximum-Data-Rate-Downstream TLV">
          <t>Type: 0x00b5</t>
          <t>Description: PON Tree downstream maximum data rate L2</t>
          <t>Length: 4 bytes</t>
          <t>Value: Rate in kbits/s as a 32-bit unsigned integer</t>
          </section>
          
          <section title="Reserved TLV">
          <t>Type: 0x00b6</t>
          <t>Description: Reserved</t>
          <t>Length: tbd</t>
          <t>Value: tbd</t>
          </section>
          
          <section title="Reserved TLV">
          <t>Type: 0x00b7</t>
          <t>Description: Reserved</t>
          <t>Length: tbd</t>
          <t>Value: tbd</t>
        </section>
        </section>
      </section>
    

    <section title="IANA Actions">
      <section title="ANCP TLV Type Registry">
        <t>This document defines following sets of TLVs for PON, some of them
        have defined by RFC6320 and are referenced here for completeness:</t>

        <t><figure>
            <artwork><![CDATA[+----------+--------------------------------------------+-----------+
| Type Code| TLV Name                                                                                | Reference |
+----------+--------------------------------------------+-----------+
| 0x0000   | Reserved                                                                                    | RFC 6320  |
| 0x0001   | Access-Loop-Circuit-ID                                                               | RFC 6320  |
| 0x0002   | Access-Loop-Remote-ID                                                            | RFC 6320  |
| 0x0003   | Access-Aggregation-Circuit-ID-ASCII                                           | RFC 6320  |
| 0x0005   | Service-Profile-Name                                                                   | RFC 6320  |
| 0x0006   | Access-Aggregation-Circuit-ID-Binary                                          | RFC 6320  |
| 0x0011   | Command                                                                                    | RFC 6320  |
| 0x0012   | PON-Access-Line-Attributes                                                        | RFC xxxx  |
| 0x0097   | PON-Access-Type                                                                      | RFC xxxx  |
| 0x0098   | Reserved                                                                                    | RFC xxxx  |
| 0x0099   | Reserved                                                                                    | RFC xxxx  |
| 0x009A  | Reserved                                                                                    | RFC xxxx  |
| 0x009B   | Expected Throughput (ETR) upnstream                                      | RFC xxxx  |
| 0x009C   | Expected Throughput (ETR)-downstream                                   | RFC xxxx  |
| 0x009D   | Attainable Expected Throughput (ATTETR) upstream                | RFC xxxx  |
| 0x009E   | Attainable Expected Throughput (ATTETR)-downstream            | RFC xxxx  |
| 0x009F   | Guaranteed Data Rate (GDR)-upnstream                                    | RFC xxxx  |
| 0x00A0   | Guaranteed Data Rate (GDR) downstream                                 | RFC xxxx  |
| 0x00A1   | Attainable Guaranteed Data Rate (ATTGDR)-upstream              | RFC xxxx  |
| 0x00A2   | Attainable Guaranteed Data Rate (ATTGDR)-downstream         | RFC xxxx  |
| 0x00B0   | ONT/ONU-Average-Data-Rate-Downstream                              | RFC xxxx  |
| 0x00B1   | ONT/ONU-Peak-Data-Rate-Downstream                                   | RFC xxxx  |
| 0x00B2   | ONT/ONU-Maximum-Data-Rate-Upstream                                 | RFC xxxx  |
| 0x00B3   | ONT/ONU-Assured-Data-Rate-Upstream                                   | RFC xxxx  |
| 0x00B4   | PON-Tree-Maximum-Data-Rate-Upstream                                   | RFC xxxx  |
| 0x00B5   | PON-Tree-Maximum-Data-Rate-Downstream                              | RFC xxxx  |
| 0x00B6   | Reserved                                                                                     | RFC xxxx  |
| 0x00B7   | Reserved                                                                                     | RFC xxxx  |
| 0x0106   | Status-Info                                                                                  | RFC 6320  |
| 0x1000   | Target (single access line variant)                                              | RFC 6320  |
| 0x1001 - | Reserved for Target variants                                                      | RFC 6320  |
+----------+--------------------------------------------+-----------+
]]></artwork>
          </figure></t>
      </section>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>There are no new security considerations beyond what is described in
      RFC6320 and RFC6934.</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>Many thanks to Norbert Voigt, John Gibbons, Sven Ooghe, Koen De Sagher and Sven Leimer for joint work reviewing the document and providing valuable comments to this document.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include="reference.RFC.6320"?>

      <?rfc include="reference.RFC.6934"?>
    </references>

    <references title="Informative References">
      <reference anchor="TR-156_Issue-3">
        <front>
          <title>Using GPON Access in the context of TR-101</title>

          <author fullname="The Broadband Forum">
            <organization abbrev="BBF">The Broadband Forum</organization>
          </author>


          <date month="November" year="2012"/>
        </front>
      </reference>

      <?rfc include="reference.RFC.5515"?>
    </references>
  </back>
</rfc>
