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.