Skip to main content

Numbering Exchange Protocol (NEP) Specification
draft-omar-nep-06

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Authors Khaled Omar Ibrahim Omar , Luís Câmara
Last updated 2018-01-30
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-omar-nep-06
Internet Engineering Task Force (IETF)                    Khaled Omar
Internet-Draft                                             The Road
Intended status: Experimental                                  L. Camara
Expires: August 3, 2018                                 January 30, 2018
                                                       

                     Numbering Exchange Protocol (NEP)
                             Specification
                           draft-omar-nep-06

Abstract

   This document specifies the Numbering Exchange Protocol (NEP), an
   Interior Gateway Protocol (IGP) that combines three metrics: delay,
   bandwidth and number of hops.

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
   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 August 3, 2018.

Copyright Notice

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

Omar & Camara          Expires August 3, 2018                   [Page 1]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

Table of Contents

   1.  Introduction ...................................................2
   2.  Numbering Exchange Protocol (NEP) ..............................3
   2.1.  RIDs and their Advertising ...................................5
   2.1.1.  Advertising Beyond a Router's Neighbours ...................6
   2.2.  Echo Mechanism ...............................................6
   2.2.1.  Detecting Routers that Leaved a NEP Network ................6
   2.3.  Topology Advertisement .......................................7
   2.3.1.  The NEP Metric .............................................8
   3.  NEP Loop Prevention ............................................8
   4.  Subnet Advertisement ...........................................9
   4.1.  Specification ...............................................11
   4.2.  Routing Packets within a NEP AS .............................12
   5.  IANA Considerations ...........................................12
   6.  Security Considerations .......................................13
   7.  References ....................................................13
   7.1.  Normative References ........................................13
   7.2.  Informative References ......................................13
   8.  Authors' Addresses ............................................14
   Appendix A.  NEP Advertisement Format .............................14
   A.1.  NEP Header ..................................................14
   A.2.  Topology Advertisement ......................................15
   A.3.  Subnet Advertisements .......................................15
   A.3.1.  Mask-Based Subnet Advertisements ..........................16
   A.3.2.  Prefix-Based Subnet Advertisements ........................16
   A.4.  Echo Mechanism ..............................................17
   A.4.1.  Echo Messages .............................................17
   A.4.2.  Delay Calculated Message ..................................17
   A.5.  Hello Messages ..............................................17
   A.6.  Router Left Message .........................................18

1.  Introduction

   The Numbering Exchange Protocol (NEP) is an Interior Gateway
   Protocol (IGP), delivering IP packets between routers in the same
   Autonomous System (AS).

   Many routing protocols, such as RIP, OSPF, IS-IS, and EIGRP, use
   normally one or even zero metrics each:

      a. RIP uses only the number of hops.
      b. OSPF uses only the cost (bandwidth).
      c. IS-IS uses only a default metric of 10 for all links.
      d. EIGRP uses the least bandwidth and delay.

   NEP differs from other IGPs as it chooses its best path based on a
   composite metric of:

      a. Highest total bandwidth (for faster transmission).
      b. Number of hops (for less processing).

Omar & Camara          Expires August 3, 2018                   [Page 2]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

      c. Lowest total delay (for faster delivery).

   NEP uses a numbering method between routers that provides a fast
   topology exchange and learning process, and builds a routing table
   shorter than those that other IGPs build.

   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
   BCP 14 [RFC2119, RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2. Numbering Exchange Protocol (NEP)

   This section provides an abstract specification of NEP.  The concrete
   specification is in the subsections of this section.

   The following figure shows 6 interconnected routers within an AS as
   follows:
                                            3: 22, 2500, 15
                          3: 12, 3000, 30   3: 31, 2000, 10
                          3: 22, 1500, 25   3: 42, 3000, 30
                          3: 31, 1000, 20   3: 63, 8000, 100
                                  <-----  *  ----->                        
                     +-------------------(3)-------------------+
                     |         20       | *          10        |
                     |        1000      | |         2000       |
                     |                  v |                    |
                     |                    |                    |
   4: 22, 4000, 60   |                    |  5                 |
   4: 41, 1000, 20   |                    | 500                |
   4: 52, 1100,220 ^ |                  ^ |                    |
   4: 62, 6000, 90 | | 32,41,     12,   | | 31,                | ^
                   | | 52,62      21,32 | | 41,51        31,51 | | see
              <----  * ---->      <----   * ---->        <---- * | below
   (6)--------------(4)------------------(2)------------------(1)
          70         *        40        | *         10         * | see
         5000        |       3000       | |        1000        | | below
                   | |                  v |                    | v
  4: 22, 3100, 240 | |                    |  40                |
  4: 32, 1100, 220 v |                  ^ | 2000               |
  4: 41,  100, 200   |                  | |                    |
  4: 62, 5100, 270   |                  | |                    |
                     |        200         |         10         |
                     |        100         *        3000        |         
                     +-------------------(5)-------------------+
                                  <-----  *  ----->             
                         5: 12, 3100, 210      5: 22, 5000,  50         
                         5: 22, 2100, 240      5: 42, 3100, 210
                         5: 51,  100, 200      5: 51, 3000,  10
                                               5: 63, 8100, 280

Omar & Camara          Expires August 3, 2018                   [Page 3]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

   Router 1's topology advertisements cannot be represented in the
   figure because of the 72-column limit.  Here they are:

   To router 3:  1: 11, 2000, 10
                 1: 22, 3000, 20
                 1: 52, 5000, 20

   To router 5:  1: 11, 3000, 10
                 1: 22, 4000, 20
                 1: 32, 5000, 20
                 1: 43, 6000, 40
                 1: 64, 11000, 110

   Links have two numeric values: the upper value represents the link
   delay, and the lower value represents the link bandwidth.
 
   Each NEP router advertises the topology information as follows (the
   over-the-wire format is described in Appendix A.1 and A.2):

     a: rh, b, d

     a - advertising router RID.
     r - destination router RID.
     h - number of hops.
     b - total bandwidth.
     d - total delay.

   Each router within an Autonomous System (AS) must be configured with
   a unique number called Router ID (RID).
   
   The RID is a 32-bit decimal number that uniquely identifies a router
   within an AS.

   Each router advertises its RID first to its neighboring routers using
   Hello messages (a complete specification of this mechanism is in
   Section 2.1).

   Each router advertises all the interconnected RIDs, total bandwidth,
   number of hops, and total delay to the neighboring router.

   Each router calculates the best path to each router using the
   following values:

      a. Total bandwidth.
      b. Number of hops.
      c. Total delay.

Omar & Camara          Expires August 3, 2018                   [Page 4]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018
   
   The best NEP path from the local router to every other router from
   the collected advertised information has the following:

      a. Highest total bandwidth.
      b. Lowest number of hops that corresponds to the highest
         total bandwidth.
      c. Lowest total delay.

   The NEP metric (Section 2.3.1) is calculated using the following
   formula:

           ****************************************************
           *             (No. of Hops * Total-Delay)          *
           *  Metric = [-----------------------------] x 10^7 * 
           *                    Total-BW                      *
           ****************************************************                  

   The best metric has the lowest value.

   Each NEP router sends an Echo message of each of its interface to the
   neighboring router, the time taken by the message to be sent and 
   received over the link divided by 2 determines the link delay.  This
   Echo mechanism is specified in Section 2.2.

   The Echo message is sent by every router every 10 seconds
   (by default).

   The link delay value is updated every 10 seconds on every advertised
   message that contains the 3 values that can be used to determine the
   best path from the NEP router to other routers.

2.1.  RIDs and their Advertising

   Each NEP router in an Autonomous System (AS) must be configured with
   a Router ID (RID) unique within the AS.  RIDs are 32-bit unsigned
   numbers.

   To integrate NEP, an Hello message is sent to all NEP routers the
   router wanting to integrate has a direct link to.  The Advertising
   Router RID is set to the RID of the advertising router and the Upper
   Layer Address is set to the upper layer address of the advertising
   router.  The upper layer can be a link or internetwork protocol.

   The advertising router MUST send Hello messages to every router it
   has a direct link to.

Omar & Camara          Expires August 3, 2018                   [Page 5]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

2.1.1.  Advertising Beyond a Router's Neighbours

   A router may want to advertise itself to a router it does not have
   access to.  For this, the message may be forwarded by other routers
   to the intended target, or the router may multicast to the "all NEP
   routers" group, that is the site-local group ff05::TBD2 in IPv6.

2.2.  Echo Mechanism

   To calculate a link's delay, NEP uses Echo messages, that are also
   used by NEP to detect the absence of a router.  By default, a NEP
   router uses the Echo Mechanism every router every 10 seconds.

   The Echo Mechanism is as follows:

   A.  NEP router X sends to router Y an Echo message with
       Advertising Router RID = X, Destination Router RID = Y,
       and NEP type = 3 (Appendix A.4.1).  NEP router X keeps track of a
       timer T starting at X's time of sending of the message.

   B.  As soon as message A is received, NEP router Y sends to router X
       an Echo message with Advertising Router RID = RID(Y), Destination
       Router RID = RID(X), and NEP type = 4 (Appendix A.4.1).

   C.  As soon as message B is received, T's value is read and T is
       destroyed.  The read value divided by 2 is the link delay.  NEP
       router X sends to router Y a Delay Calculated message with
       Advertising Router RID = X, Destination Router RID = Y,
       Delay equal to the calculated delay [[LC to Khaled Omar: What is
       the unit of the delay?]], and NEP type = 5 (Appendix A.4.2).

   This mechanism allows both routers to know the delay of the link and
   avoids inconsistencies in the calculated Delay values that would be
   caused if only the Echo messages were used.

2.2.1.  Detecting Routers that Leaved a NEP Network

   When a NEP router X uses the Echo mechanism, if the router at the
   other side of the link (Y) has left the network, there might be
   several possible outcomes:

   A.  Y does not respond in 65535 Delay units (by default) or before
       the next Echo Mechanism activation, whichever comes first.

   B.  A control message (for example, ICMPv4 or ICMPv6) is sent by the
       router.

   C.  A NEP Router Left message is explicitly sent by Y to X.

   D.  A NEP Router Left message is explicitly sent by Y to the
       "all NEP routers" group.

Omar & Camara          Expires August 3, 2018                   [Page 6]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

   In case D, there is nothing to do: Y already sent a message
   indicating Y left to all NEP routers in its AS.

   In all other cases, a Router Left message is sent to the
   "all NEP routers" group.  The over-the-wire format of Router Left
   messages is described in Appendix A.6.

   In Router Left messages, The Advertising Router RID is set to the RID
   of the advertising router and the Upper Layer Address is set to the
   upper layer address of the advertising router.  The upper layer can
   be a link or internetwork protocol.

2.3.  Topology Advertisement

   The third phase in NEP is to every router to know the topology.
   There can be several routes between two routers.  A choice mechanism
   using the NEP metric is described in Section 3.

   All NEP topology advertisements MUST have the advertising router as
   one of the endpoints.  NEP topology advertisements where the
   destination's RID is the same as the destination router RID MUST NOT
   be sent.

   First, each router calculates the 3 NEP values for itself to itself:
   the number of hops MUST be equal to 1.  These values MUST be
   advertised to all NEP routers the advertising router has direct links
   to.

   [[This is the most tricky part of NEP.  Question: What does the
   bandwidth of a router to itself mean?  A router advertising a giant
   bandwidth of itself to itself can force all traffic through it.]]

   When a NEP router P receives a NEP topology advertisement from Q for
   a Q<-->R route, P MUST do the following:

   o  If R is in P's routing table and the NEP metric for the route is
      larger than the NEP metric of the stored route (Metric), ignore
      the route.  The Destination Router field is used as the key in the
      table.

   o  Otherwise:

      *  Add the route to the routing table: Destination Router = R,
         Next-Hop Router = Q, Metric = the NEP metric of the route
         (Section 2.3.1).

      *  Advertise the route to each of the NEP routers P has direct
         links to, S: send a NEP topology advertisement to S with
         Advertising Router RID = P, Destination Router RID = S, and the
         3 NEP values set as follows:

Omar & Camara          Expires August 3, 2018                   [Page 7]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018
   
   # of hops = Hops(Q<-->R) + 1,
   bandwidth = BW(P) + BW(P<=>Q) + BW(Q<-->R),
   delay     = Delay(P) + Delay(P<=>Q) + Delay(Q<=>R).

   Hops(Q<-->R)  = the number of hops advertised by Q of its route to R
   BW(P)         = the bandwidth advertised by P of its route to itself
   Delay(P)      = the delay advertised by P of its route to itself
   BW(P<=>Q)     = the bandwidth of the link between P and Q
   Delay(P<=>Q)  = the delay of the link between P and Q
   BW(Q<-->R)    = the bandwidth advertised by Q of its route to R
   Delay(Q<-->R) = the delay advertised by Q of its route to R

2.3.1.  The NEP Metric

   NEP uses a metric that combines total bandwidth, number of hops, and
   total delay.  The NEP metric of a route is the product of the number
   of hops and the total delay of the route, multiplied by 10**7
   (10000000) and divided by the total bandwidth of the route.

   The units of the bandwidth and delay, and the constant 10**7, are
   arbitrary, provided that the entire AS agrees about the units and
   about the constant.

3. NEP Loop Prevention

   This section provides an abstract specification of NEP's use of
   metrics to select the best routes and to which routes to use.
   The concrete specification is in Sections 2.3 and 4.2.

   NEP uses a loop free mechanism by discarding the advertised topology
   information that has a higher metric than the existing stored entry
   for the same RID to prevent looping.

   When an NEP router receives an advertised topology information to a
   specific router, it checks its own topology table, if there is no
   entry listed for that RID contained in the advertised message, it
   adds it to its own topology table.

   If more than one message received to the same RID, the NEP router
   calculates the metric for each one of them and store the one with the
   lowest metric for that router.

   For example:

      a. Router 1 will have 3 messages to the destination router 4 as
      follows:

          2: 42, 4000, 50 ==> Metric = 250,000     (discarded)
          3: 42, 3000, 30 ==> Metric = 200,000     (added)
          5: 42, 3100, 210 ==> Metric = 1,354,839  (discarded)

Omar & Camara          Expires August 3, 2018                   [Page 8]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

      The message from router 3 has the lowest metric to the destination
      router 4 so this route through router 3 will be added to the
      routing table and other routes will be discarded.

      b. Router 1 will have 3 messages to the destination router 6 as
      follows:

          2: 63, 9000, 120 ==> Metric = 400,000    (discarded)
          3: 63, 8000, 100 ==> Metric = 375,000    (added)
          5: 63, 8100, 280 ==> Metric = 1,037,037  (discarded)

      The message from router 2 has the lowest metric to the destination
      router 6 so this route through router 2 will be added to the
      routing table and other routes will be discarded.

                        Router 1 Routing Table:

   ***************************************************************
   * Destination Router   *     Metric     *     Next-hop Router *
   ***************************************************************
   *         2            *     100,000    *            2        *
   ***************************************************************   
   *         3            *      50,000    *            3        *
   ***************************************************************   
   *         4            *     200,000    *            3        *
   ***************************************************************
   *         5            *      33,333.33 *            5        *
   ***************************************************************
   *         6            *     375,000    *            3        *
   ***************************************************************

   Note: In case of two or more equal metrics for the same destination,
   the routes are added to the routing table and traffic is balanced
   between these routes.

4. Subnet Advertisement

   This section provides an abstract specification of NEP's subnet
   advertisements and where to route packets received by a NEP router.
   The concrete specification is in the subsections of this section and
   in Section 2.3.

   After learning the best routes from each router to other routers,
   every router advertises the directly connected subnet(s) to other
   routers.

   Then, each router adds the learned subnet to the IP routing table.

   Consider the following example:

Omar & Camara          Expires August 3, 2018                   [Page 9]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

   Three routers are connected and every router is connected directly
   to one subnet.
                                                          3: 10.1.3.0/24
  1: 10.1.1.0/24 ------------ 2: 10.1.2.0/24 -----------+
                 |            --------------            |
                 |  2: 21, 3000, 10  |  2: 21, 1000, 20 |
                 |  2: 12, 4000, 30  |  2: 32, 4000, 30 |
                 V            <----  *  ---->           V
                     +--------------(2)--------------+
                     |       10      *       20      |
                     |      3000            1000     |
                     |                               |
                     |                               |
                   ^ |                               | ^ 1: 11, 1000, 20
   3: 31, 3000, 10 | |  3: 31, 500,50 1: 11, 500,50  | | 1: 32, 1500, 70
   3: 12, 3500, 60 | |  3: 22,3500,60 1: 22,1500,70  | |
                     *  ---->                 <----  *
                    (3)-----------------------------(1)
                ^    *                  50           *         ^
                |    |                  500          |         |
                | --------------              ---------------  |
                \ 3: 10.1.3.0/24 --->    <--- 1: 10.1.1.0/24 --+
   1: 10.1.1.0/24      2: 10.1.2.0/24    2: 10.1.2.0/24   3: 10.1.3.0/24

   For router number 1, the following topology information are received:

     2: 21, 1000, 20 ==> Metric = 200,000    (Added)
     2: 32, 4000, 30 ==> Metric = 150,000    (Added)
     3: 31, 500, 50  ==> Metric = 1,000,000  (Discarded)
     3: 22, 3500, 60 ==> Metric = 342,857.1  (Discarded)

   Once every router learns the best route to every other router, each
   router learns the advertised subnets.

   The subnet information is advertised as follows (the exact over-the-
   wire format is specified in Appendix A.3.1 and A.3.2):

     a: subnet-number/mask  (for IPv4 [RFC791])
     a: prefix/length       (for IPv6 [RFC8200])

   Where "a" represents the advertised router RID that has the directly
   connected subnet or prefix.

Omar & Camara          Expires August 3, 2018                  [Page 10]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

   Then, each router builds its own IP routing table:

   For router number 1, the IP routing table will be as follows:

   ***************************************************************** 
   * Dest. Router * Destination Subnet *  Metric * Next-hop Router *
   *****************************************************************
   *      2       *    10.1.2.0/24     * 200,000 *        2        *    
   *****************************************************************
   *      3       *    10.1.3.0/24     * 150,000 *        2        *
   *****************************************************************

   If more than one subnet is directly connected to a router, another
   entry will be added to the IP routing table for that subnet with the
   same destination router, metric and next-hop router.

   For loop prevention, each received subnet information through a
   specific interface is not advertised again through this interface,
   but out of other interfaces.

4.1.  Specification

   [[This specification does not allow for multiple subnets to be
   directly connected to the same NEP router, but Section 4.2 allows.
   As a combined result, the NEP specification does not allow for
   multiple subnets to be directly connected to the same NEP router.]]

   The subnet advertisement phase is the final phase of the NEP routing
   table construction process.  In the subnet advertisement phase, all
   NEP routers send to each other Subnet Advertisements advertising
   their respective subnets, adding to their routing tables Destination
   Subnet values equal to those specified by the received Subnet
   Advertisements.

   Each NEP router sends a Subnet Advertisement with the
   Advertising Router RID set to its RID, and the remaining fields to
   describe its subnet.  Subnet advertisements are sent in a similar way
   of the sending of Hello messages, specified in Section 2.1.

   There are two types of subnet advertisements: mask-based and
   prefix-based.

   For mask-based subnet advertisements (Appendix A.3.1), the Subnet
   Mask field has bits set to 1 with the same positions as the bits in
   the Subnet Prefix that are all equal to the bits of an address with
   the same positions if and only if the address belongs to one of the
   subnets the advertising router is directly connected to.

Omar & Camara          Expires August 3, 2018                  [Page 11]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

   For prefix-based subnet advertisements, the Prefix Length field
   contains the number of most-significant bits in the Subnet Prefix
   field that are all equal to the bits of an address with the same
   positions if and only if the address belongs to one of the subnets
   the advertising router is directly connected to.

   A router receiving a Subnet Advertisement adds to the entry of its
   routing table with Destination Router equal to the received Subnet
   Advertisement's Advertising Router RID the Destination Subnet
   specified in the remaining fields of the received Subnet
   Advertisement.

4.2.  Routing Packets within a NEP AS

   When a NEP router receives a packet, it checks the packet's
   destination address.

   *  If the address is not in any of the subnets in the receiving
      router's NEP routing table, routing is done to outside of the AS
      and is therefore out of scope for this document.  This inter-AS
      routing may be done by selecting a NEP router in the AS that has
      also enabled an exterior gateway protocol, that may be the
      receiving router.  This selection may be done by selecting the
      NEP router in the AS with the lowest metric in the route to it.

   *  If the address is in the receiving router's subnet, routing is
      also out of scope of this document, as it has already reached its
      destination's link.

   *  Otherwise, find the entry(ies) in the routing table with a
      Destination Subnet containing the destination address of the
      received packet and forward the packet to one of the Next-Hop
      Routers of the entry(ies), balancing traffic between them.

5. IANA Considerations

   IANA is requested to allocate a single value from the Protocol
   Numbers registry, to replace TBD1 in Appendix A.1.

   IANA is also requested to allocate an address to replace TBD2 in this
   document from the IPv6 Site-Local Scope Multicast Address Registry to
   replace TBD2 in this document, such that ff05::TBD2 is the assigned
   address.

Omar & Camara          Expires August 3, 2018                  [Page 12]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

6. Security Considerations

   Like any other routing protocol, NEP can be subject to several
   attacks.

   Routers could falsely advertise values.  This can be prevented via
   the use of IPsec or of NEP authentication, that is out of scope of
   this document.

   A router could leave a NEP network.  This can be detected by the
   neighbouring routers via the use of Echo messages, and makes one of
   the neighbouring routers send a Router Left message to the "all NEP
   routers" multicast group.

7. References

7.1. Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in
              RFC 2119 Key Words", BCP 14, RFC 8174, May 2017.

7.2. Informative References

   [RFC791]   Postel, J., "Internet Protocol", STD 5, RFC 791,
              September 1981.

   [RFC8200]  Deering, S., and R. Hinden, "Internet Protocol Version 6
              (IPv6) Specification", STD 86, RFC 8200, July 2017.

   [[LC to Khaled Omar: You can add your native name according to
   RFC 7997, I will then add the substitutions.  This notice is to be
   removed once the non-ASCII characters are added.]]

   [[RFC-Editor: This document will contain non-ASCII characters when
   published as RFC, or when xml2rfc is used.  This notice is to be
   removed when the non-ASCII characters are added.]]

   s/Luis/Lu\u{00ED}s/ s/Camara/C\u{00E2}mara]]

Omar & Camara          Expires August 3, 2018                  [Page 13]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

8. Authors' Addresses

   Khaled Omar Ibrahim Omar
   The Road
   6th of October City, Giza
   Egypt

   Phone: +2 01003620284
   E-mail: eng.khaled.omar@hotmail.com
   National ID No.: 28611262102992

   Luis Camara
   Portugal
   E-mail: luis.camara@live.com.pt

A. NEP Advertisement Format

   NEP routers advertise topology and subnet information.  This appendix
   describes exactly how they are advertised.

Appendix A.1. NEP Header

   NEP operates directly on top of IP, with protocol number TBD1.

   Advertisements are communicated using the NEP header followed by the
   specific advertisement structure.

   The structure of the NEP header is as follows:

                        1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Version # = 1 |      Type     |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |        Pre-Data Length        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The version of NEP described in this document is number 1.

   The Length field contains the length of the NEP data (not including
   the header).

   The Checksum field is the one's complement of the one's complement
   sum of all 16-bit words of the NEP header and of the NEP data,
   excluding the checksum itself (or setting it to 0).  If NEP is being
   used directly over a protocol providing other means of addressing
   (link/network and internetwork protocols), a pseudo-header is
   prepended to the NEP data.

Omar & Camara          Expires August 3, 2018                  [Page 14]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

   The Reserved field is reserved for future extensibility and MUST be
   set to 0 by implementations not using it.  [[Question: Should
   receivers not using the field ignore or discard packets with values
   of the Reserved field different from 0?]]

   The pseudo-header is the concatentation of the over-the-wire
   representations, in the following order, of:

   o  the source and destination addresses (including the lengths, if
      the upper protocol supports addresses of variable lengths), and

   o  the protocol number for NEP in the upper protocol, padded to
      32 bits, encoded as a big-endian number (in the sample captures,
      143 for IP).

   This algorithm is the same as used in TCP and UDP over
   IPv6 [RFC8200], except that it omits the length in the pseudo-header,
   as NEP already includes it in the NEP header.

A.2. Topology Advertisement

   In Sections 2, 3 and 4, topology advertisements of the form
   "a: rh, b, d" appear.  These advertisements have Type 0.
   Their structure is as follows:

                        1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Advertising Router RID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                    Destination Router RID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   # of hops   |                   Bandwidth                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Bandwidth           |             Delay             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The structure formed by the bottom three lines may be repeated as
   many times as desired, to allow NEP topology advertisements to
   advertise topology of multiple routes.

A.3. Subnet Advertisements

   In Section 4, subnet advertisements are described.  Below is their
   structure.

Omar & Camara          Expires August 3, 2018                  [Page 15]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

A.3.1. Mask-Based Subnet Advertisement

   NEP mask-based subnet advertisements, used for IPv4 [RFC791] have the
   following structure and Type 1:

                        1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Advertising Router RID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                         Subnet prefix                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Subnet mask                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   This structure is generic and can be adapted to NEP over any other
   link/network or internetwork protocol, provided that the number of
   octets excluding the NEP header and the advertising router RID is
   even: the first half of these octets are the subnet prefix and the
   second half are the subnet mask.

A.3.2. Prefix-Based Subnet Advertisement

   NEP IPv6 [RFC8200] subnet advertisements have the following structure
   and Type 2:

                        1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Advertising Router RID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Prefix length                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                                                               +
   |                                                               |
   +                         Subnet prefix                         +
   |                                                               |
   +                                                               +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The structure is generic and can be adapted to NEP over any other
   link/network or internetwork protocol: the subnet prefix is as many
   octets as an address of the link/network or internetwork protocol,
   and the prefix length is the number of bits in the prefix.

Omar & Camara          Expires August 3, 2018                  [Page 16]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

A.4.  Echo Mechanism

   Section 2 specifies a mechanism using Echo messages to calculate the
   delay of a link between two routers, but does not specify their
   structure.  This section specifies their structure.  The mechanism
   was updated to use 3 messages instead of 2 to allow both routers to
   learn the link delay.

A.4.1.  Echo Messages

                        1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Advertising Router RID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                    Destination Router RID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The first two messages used in the delay calculation in this version
   of NEP have NEP types 3 and 4, respectively.

A.4.2.  Delay Calculated Message

                        1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Advertising Router RID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                    Destination Router RID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             Delay             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The final message used in the delay calculation in this version of
   NEP has NEP type 5.

A.5.  Hello Messages

   Section 2.1 specifies a mechanism to NEP routers to advertise their
   RIDs using Hello messages.  This section specifies their structure.
   Hello messages have NEP type 6.

                        1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Advertising Router RID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                                               |
   /                      Upper Layer Address                      /
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Omar & Camara          Expires August 3, 2018                  [Page 17]
Internet-Draft    Numbering Exchange Protocol (NEP)         January 2018

A.6.  Router Left Message

   Section 2.2.2 allows a router to remove itself from a NEP network
   using a Router Left message.  This section specifies their structure.
   Router Left messages have NEP type 7.

                        1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Advertising Router RID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                                               |
   /                      Upper Layer Address                      /
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Omar & Camara          Expires August 3, 2018                  [Page 18]