[Docs] [txt|pdf] [Tracker] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 02 03 04 05 06

draft-omar-krp-06                                         Khaled Omar
Internet-Draft                                              The Road
Intended status: Standard Track
Expires: October 31, 2020                              March 31, 2020



                     KHALED Routing Protocol (KRP)
                             Specification
                           draft-omar-krp-06

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
   http://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 October 31, 2020.



Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the document
   authors. All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal Provisions
   Relating to IETF Documents (http://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.


Abstract

   This document specifies KHALED Routing Protocol (KRP), an Exterior Gateway
   Protocol (EGP) that introduces a new way of routing IP packets from
   the source to the destination through different Autonomous Systems (ASs).

   The enhancements that KRP adds are:

      a) Decreasing the BGP routing table (using the regions concept).
      b) Enhancing the routing function (using the stored information).
      c) Choosing a better path (using the AS Weight)
      c) Enhancing the QoS (using the information separation).

   KRP sometimes referred to as Regional Routing Protocol (RRP).




Table of Contents

   1. Introduction..................................................1
   2. KHALED Routing Protocol (KRP).................................1
   3. KRP Forwarding Mechanism......................................2
   4. Information Separation........................................4
   5. Autonomous System Weight (ASW)................................4
   6. Security Considerations.......................................5
   7. Acknowledgments...............................................5
   8. Author Address................................................5
   9. IANA Considerations...........................................5
   10. References...................................................5
   11. Full Copyright Statement.....................................5





Khaled Omar             Internet-Draft                   [Page 1]


RFC              KHALED Routing Protocol (KRP)       March 31, 2020



1.  Introduction


    - KHALED Routing Protocol (KRP) is an Exterior Gateway Protocol (EGP) that
      introduces a new way of routing IP packets from the source to the destination
      through different Autonomous Systems (ASs).
    - The enhancements that KRP adds are:

      a) Decreasing the BGP routing table.
      b) Enhancing the routing function.
      c) Enhancing the QoS.

    - KRP shrinks the BGP routing table by more than 80%.
    - KRP makes separate links for different traffic class to enhance the QoS.
    - KRP is considered a replacement to BGP.
    - The Internet will be subdivided into logical regions or by the physical
      location of continents.
    - The routing process that KHALED Routing Protocol (KRP) uses is based on the
      KRP Region Number (RN), the KRP Autonomous System Number (ASN), Best Path Algorithm
      (AS Path) and the efforts made by the IGP within each AS.
    - The major difference between KRP and BGP is that KRP does not uses a large table
      with hundreds of thousands of entries (BGP Table) stored within each Internet router,
      instead of that, it uses a smarter way of routing based on the KRP RN, KRP ASN
      stored within each IP address, Best Path Algorithm (AS Path) and the efforts already
      being done by each IGP within an AS.




     **************************        *************************************
    *                       *         *                                   *
   *                      *         *                                   *
  *                     *            **********           3               *
    *       1         *              *********  *                           *
     *              *               *          *  *   ***                 *
     *             *               *             *  *    *   ***         *
     ***          *               *                *      * *   *       *
        *        *               *                   *     *     *     *  ***************
         *        *             ******     4        *             *   *  *               *
          **********                 *               *             * *  *                 *
             *****                    *                *            *  *                   *
            *      *                  *             *                 *                     *
           *         *                *           *                  *           5           *
            *         *               *       *                       *                     *
            *    2    *                 *   *                          *                   *
            *        *                    *                             *                 *
            *       *                                                    *****************
              *    *
                * *
                 *

                             Globe Subdivision Into 5 Logical Regions.



2. KHALED Routing Protocol (KRP)



    - KRP uses new terms that can be defined as follows:


    * Region Number (RN):


   - The 1st hex digit of the 2nd group of an IPv6 address determines on which RN this IPv6
     address is located.
   - The 1st octet of an IPv4 address determines on which RN this IPv4 address is located.
   - The table that will be used listing the Region Number (RN), the corresponding IPv6
     2nd group 1st hex digits and the IPv4 1st octet pool of numbers is called the
     Region Number Table (RNT) and is stored on every KRP router and is as follows:


     **********************************************************************************************
     *  Region Number  *  1st Hex Digit of the 2nd IPv6 Group   *  1st IPv4 Octet Decimal Digits  *
     **********************************************************************************************
     *        1        *             0 - 5 - A - F              *            ARIN Pool            *
     **********************************************************************************************
     *        2        *             1 - 6 - B                  *           LACNIC Pool           *
     **********************************************************************************************
     *        3        *             2 - 7 - C                  *       RIPE NCC/APNIC Pool       *
     **********************************************************************************************
     *        4        *             3 - 8 - D                  *           AFRINIC Pool          *
     **********************************************************************************************
     *        5        *             4 - 9 - E                  *            APNIC Pool           *
     **********************************************************************************************






Khaled Omar             Internet-Draft                   [Page 2]


RFC              KHALED Routing Protocol (KRP)       March 31, 2020



    * Regional Boarder Router (RBR) ==> A router in a region that has
                                        at least one interface connected
                                        to a router's interface in another
                                        region.


    * Regional Router (RR) ==> - A router in a region and has all interfaces
                                 connected to other routers in the same
                                 region.

                               - A router in a local AS that has at least
                                 one interface connected to a different AS.


    * Local KRP AS Router (LKAR) ==> A router in an AS that has all interfaces
                                     connected to other routers in the same AS.



   - Each KRP router is configured with a Region Number (RN) that identifies
     in which region that router is located.
   - All KRP routers' interfaces will be assigned by default to the configured
     Region Number (RN).

   - The two connected KRP routers exchange their RNs:

       1) If they are the same, the two KRP routers are RRs.
       2) If they are different, the two KRP routers are RBRs.


   - The two connected KRP routers exchange their KRP ASNs:

       1) If they are the same, the two KRP routers are LKARs.
       2) If they are different, the two KRP routers are RRs.


   Note:

      - For ISPs and Enterprises, the RN and KRP ASN are configured
        manually on every KRP router.

      - For Enterprises, the RN and KRP ASN must be stored on every
        assigned GUA (in case of IPv6) and on every public IP address
        (in case of IPv4).




3. KRP Forwarding Mechanism



   - The KRP ASN is represented as follows:

     a) The 2nd two groups of an IPv6 address are represented as follows:

                  xxxx|yyyy|yyyy|yyyy:yyyy|yyyy|yyyy|yyyy     Binary Format

                                 XYYY.YYYY                 Hexadecimal Format

       where X hex digit is associated with a specific Region Number (RN).
       and XYYY.YYYY hex digits represents the KRP Autonomous System Number (ASN).



     b) All octets of an IPv4 address is represented as follows:

                      xxxxxxxx.yyyyyyyy.yyyyyyyy.yyyyyyyy    Binary Format

                                   XXYY.YYYY              Hexadecimal Format

      where XX hex digits are associated with a specific Region Number (RN).
      and XXYY.YYYY hex digits represents the KRP Autonomous System Number (ASN).

     Note:- - The Region Number (RN) is unique for every region.
            - The KRP ASN must be unique for every AS.
            - For IPv4, the 4 octets are represented in decimal in the IPv4 address
              itself, but the KRP ASN is represented in 8 hexadecimal digits.
            - For IPv4, Enterprises can be assigned more than one KRP ASN.



    - There are three types of tables, two RBR messages and one RR message that
      KRP uses for forwarding a packet:


     a) KRP router Regional Table (RT):


    - Each RBR and RR creates its own Regional Table (RT).
    - The Regional Table (RT) is as follows:


     **********************************************************************
     * Local RN * Remote RN * Traffic Class * Local KRP ASN * RBR KRP ASN *
     **********************************************************************
     *          *           *               *               *             *
     **********************************************************************





Khaled Omar             Internet-Draft                   [Page 3]


RFC              KHALED Routing Protocol (KRP)       March 31, 2020




    b) KRP router Forwarding Table (FT):


*********************************************************************************
*   Local  *   Remote  *    RBR    *       Best      *   Output   *   Next-hop  *
*  KRP ASN *  KRP ASN  *  KRP ASN  * AS-Weight Path  *  Interface *  IP Address *
*********************************************************************************
*          *           *           *          *            *      *             *
*********************************************************************************



    c) KRP router IGP Routing Table (IRT):


     *********************************************************************
     * Prefix (Subnet) * Metric * Output Interface * Next-hop IP Address *
     *********************************************************************
     *                 *        *                  *                     *
     *********************************************************************



   - RBR Advertised Message Information for the local region's KRP ASN is as follows:


     ************************************************************
     * Remote RN * Traffic Class * No. of Hops * RBR IP Address *
     ************************************************************
     *           *               *             *                *
     ************************************************************



   - RBR Advertised Message Information for the remote region's RBR is as follows:


     ***********************************************************
     * Local * Remote * Traffic * Number  * Time-out *   RBR   *
     *  RN   *   RN   *  Class  * of Hops *  Value   * KRP ASN *
     ***********************************************************
     *       *        *         *         *          *         *
     ***********************************************************



- RR Advertised Message Information is as follows:


     **************************************************************
     * Local * Remote *  Local  *   RBR   * Traffic *      RR     *
     *  RN   *   RN   * KRP ASN * KRP ASN *  Class  *  IP Address *
     **************************************************************
     *       *        *         *         *         *             *
     **************************************************************




Khaled Omar             Internet-Draft                   [Page 4]


RFC             KHALED Routing Protocol (KRP)       March 31, 2020


4. Information Separation


Each RR and RBR is responsible for forwarding a specific traffic class.
They can have multiple interfaces connected to other routers and each
interface is dedicated to a specific traffic class or they can be completely
assigned to handle a specific traffic class.

This will make the information (data, voice, and video) traffic be
separated through the routing process within each region and between
different regions.

For example, When a host has a packet to be forwarded, it sends the packet
to the default gateway (router).
This router can be an LKAR or RR.
If that router is an LKAR, it checks the KRP Forwarding Table and send the
packet to the appropriate RR based on the matching entry with a specific
traffic class value.
When the packet reaches the local AS RR, it check the KRP FT and forward
the packet to the appropriate RR or RBR that is responsible for handling
this specific traffic class as advertised by each RR and RBR within each
region.
Eventually, the packet will reach the appropriate RR (if the destination is
within the same region) or RBR (if the destination is within a different region)
that is responsible for handling that specific traffic class.

By doing so, the information with different traffic classes will have a separate
dedicated routing paths from the source to the destination.


5. Autonomous System Weight (ASW)


When using BGP, the end-to-end path does not takes into consideration the
network size, number of hops, bandwidth, and the delay within each AS.

For example, consider a topology where two enterprises having one Edge router
(for KRP, it is called Regional Router) and each router is connected to two
different ISPs using one link.

ISP-1 (AS-100) for example, consists of two directly connected routers, meaning
two directly connected RRs, this is for the sake of example simplicity.

ISP-2 (AS-200) consists of a very large network with alot of routers and
low link bandwidths and high delay as shown below:



                     * AS-100 *
                   *            *
          AS-300 *                * AS-400
                   *            *
                     * AS-200 *


What will be the end-to-end path choosen by BGP in this example? of course they
are almost equal to BGP because they have many ties in the BGP Path attributes.

Consider the two paths (300-100-400) and (300-200-400) have equal Weight, LocPref
AS-Path, etc.

The tie breaker could be the oldest eBGP learned route or the BGP neighbor RID.

So BGP will choose any of the two ISPs, so consider BGP choosed the second path
(300-200-400).

This means BGP is not choosing the best path as AS-100 is for sure better than AS-200.


KRP solves this issue by using a numeric value that influences the AS network size,
link bandwidths, delay and number of hops called AS Weight.

Each autonomous system (AS) has a numeric value called AS Weight that is advertised
besides the ASN to enhance the path choosing process.





Khaled Omar             Internet-Draft                   [Page 5]

RFC             KHALED Routing Protocol (KRP)       March 31, 2020
Expires: 10-31-2020



Security Considerations



Acknowledgments

   The author would like to thank Lee Howard and B. Raveendran for the useful
   inputs and discussions about KRP.


Author Address

   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



IANA Considerations

  TBD


References

  TBD


Full Copyright Statement

   Copyright (C) IETF (2020).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked.

   This document and the information contained herein is provided on
   THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES,
   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
   THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR
   ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
   PURPOSE.


Html markup produced by rfcmarkup 1.129d, available from https://tools.ietf.org/tools/rfcmarkup/