INTERNET DRAFT S. Bandyopadhyay draft-shyam-rt-inside-vlsm-tree-00.txt May 16, 2018 Intended status: Proposed Standard Expires: November 16, 2018 Setting Default Route Inside VLSM Tree draft-shyam-rt-inside-vlsm-tree-00.txt Abstract This document shows how to set default route inside VLSM tree. With this approach routing information of the external world need not be passed down to the VLSM tree. It shows how RSVP-TE is extended to support IP-VPN with MPLS to support default route inside VLSM tree. 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 November 16, 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 (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. Bandyopadhyay Expires November 16, 2018 [Page 1] Internet Draft Real IP Framework May 16, 2018 1. Introduction Inside a VLSM tree of provider assigned address space, traditionally BGP [1] is used to provide routing and to support VPN services [2]. This document shows how routing is achieved inside a VLSM tree by setting default route instead of using BGP. With this approach routing information of the external world need not be passed down to the VLSM tree. Thus load inside a router gets reduced substantially. This document shows how RSVP-TE is extended to support IP-VPN with MPLS by setting default route inside a VLSM tree. Inside a customer network, if address space is distributed in the form of a VLSM tree, same approach can be applied in place of using a traditional routing algorithm. 2. Setting default route inside VLSM tree Inside a VLSM tree, a node of higher prefix can be divided into number of nodes with lower prefixes. Each divided node can further be subdivided with nodes of further lower prefixes. This process can be continued as long as it is desired or no more division is further possible. +--------------+ | SW-A | | 11.1.16.0/20 | +-+-+------+-+-+ | | | | +---------------+ | | +----------------+ | | | | +------+-----+ +---------+--+ +-+----------+ +-----+------+ | SW-B | | SW-C | | SW-D | | SW-E | |11.1.16.0/21| |11.1.24.0/22| |11.1.28.0/23| |11.1.30.0/23| +---+----+---+ +------------+ +------------+ +--+---------+ | | | | +-------+ | | | +--+--+ +-------+----+ +----+-------+ |CN-D | | SW-F | | SW-G | +-----+ |11.1.16.0/22| |11.1.20.0/22| 11.1.30.0/24 +--+---------+ +--+------+--+ | | | | | | +--+--+ +--+--+ +-+---+ |CN-A | |CN-B | |CN-C | +-----+ +-----+ +-----+ 11.1.16.0/24 11.1.20.0/24 11.1.21.0/24 Bandyopadhyay Expires November 16, 2018 [Page 2] Internet Draft Real IP Framework May 16, 2018 Figure above shows a typical arrangement of VLSM tree of a service provider's network with IPv4 address space. Switch SW-A is connected to the outside world and maintains global routing table. It acts as the root of a VLSM tree that acts as a stub. It has been assigned an address block 11.1.16.0/20 which is distributed among its four children SW-B, SW-C, SW-D and SW-E with the approach of VLSM. Switch SW-B further divides its address space between switches SW-F and SW- G. Switch SW-F assigns an address block 11.1.16.0/24 to customer network CN-A. Switch SW-G assigns address block 11.1.20.0/24 and 11.1.21.0/24 to two customers CN-B and CN-C; where as switch SW-E assigns address block 11.1.30.0/24 to customer network CN-D. Routing inside the tree takes place with the following principle. Inside the tree, if a node (switch/router) that is assigned a domain (NetAddr/NetMask) receives a packet which is destined to somewhere outside of its domain, needs to forward the packet to its parent in the hierarchy. If a host in CN-A wants to send a packet to an address 11.1.21.116, CE router of CN-A forwards it to SW-F. SW-F finds the destination address of the packet to be outside of its domain and forwards the packet to its parent SW-B. SW-B finds that a port that has been configured with the matching destination address and forwards it to its child SW-G. Switch SW-G sends the packet to customer network CN- B. If a host in CN-B wants to send a packet to 11.1.17.120, CE router of CN-B forwards the packet to SW-G. SW-G finds the destination address of the packet to be outside of its domain and forwards the packet to its parent SW-B. SW-B finds that a port that has been configured with the matching destination address and forwards the packet to its child SW-F. SW-F finds the destination address to be within its domain, but no port has been configured with the matching destination address and generates ICMP UNREACHABLE. If a host in CN-C wants to send a packet to 16.2.22.116, CE router of CN-C forwards the packet to SW-G. SW-G finds the destination address of the packet to be outside its domain and forwards the packet to SW- B. SW-B forwards the packet to its parent SW-A. SW-A find the destination address of the packet to be outside its domain and consults with the global forwarding table and forwards the packet through the right port. Section 2.5.4. of RFC 4291[3] defines the format of global unicast addresses in IPv6 in the following manner: Bandyopadhyay Expires November 16, 2018 [Page 3] Internet Draft Real IP Framework May 16, 2018 | n bits | m bits | 128-n-m bits | +------------------------+-----------+----------------------------+ | global routing prefix | subnet ID | interface ID | +------------------------+-----------+----------------------------+ Inside a provider network in IPv6 environment, only the "global routing prefix" portion has to be considered for setting up default route. Inside a customer network in IPv6 environment, if VLSM tree is used for distribution of address space, "global routing prefix" + "subnet ID" portion has to be considered for setting up default route. 3. IP VPN with MPLS inside VLSM tree Section 2 describes that there is no need to pass down the routing information of the external world inside VLSM tree. This section describes how to make IP VPN work inside VLSM tree without using BGP. RFC4364 [2] describes "IP VPN" with BGP/MPLS. To support VPN, PE routers maintain per-site forwarding table. When a packet arrives from an associated CE router, PE router consults with this forwarding table to forward the packet. If the packet is supposed to be forwarded to another site of VPN through the backbone, it uses two- level label stack. The upper label is used to forward the packet from ingress PE router to the egress PE router; where as, the inner label is used for the egress PE router to identify the associated CE router where the packet is supposed to be forwarded. BGP is used by the Service Provider to exchange the routes of a particular VPN among the PE routers that are attached to that VPN. Configuration takes place on PE routers of both the sides of LSP. The simplest way to achieve this is to configure these attributes manually on PE routers. In order to have dynamic allocation of inner label, MPLS signaling protocols (in place of BGP) need to be extended. Allocation of inner label has to be done by the egress PE router. Same message that is used for the assignment of upper label may be used for the assignment of inner label. Inside the forwarding table, each entry contains the forwarding destination address based on a set of destination addresses (NetAddress/NetMask) of the IP packets received from ingress CE router. While establishing inner label, ingress PE router needs to send these attributes with the signaling message and the egress PE router needs to validate those before assigning label. Bandyopadhyay Expires November 16, 2018 [Page 4] Internet Draft Real IP Framework May 16, 2018 3.1. Extension to RSVP-TE to support IP VPN inside VLSM tree This section describes extension to RSVP-TE[4] to support dynamic allocation of inner label of two-level label stack used to support VPN services. In order to establish LSP using RSVP-TE, ingress PE router sends Path message to the egress PE router. Path message is augmented with a LABEL_REQUEST object. Labels are allocated downstream and distributed (propagated upstream) by means of RSVP Resv message. For this purpose, the RSVP Resv message is extended with a special LABEL object. In order to support VPN to establish the inner label, Path message is augmented with a VPN_ATTRIBUTE label. Similarly, RSVP Resv message is extended with a VPN_LABEL object. When an egress PE router receives a Path message, it checks the presence of VPN_ATTRIBUTE object. On finding this object, egress PE router checks the viability of assignment of VPN label with the parameters from the VPN_ATTRIBUTE object and the attributes that are already configured with the egress PE router. If the test is positive, it assigns a VPN label and does the rest of the processing of LSP label assignment and sends the RSVP Resv message with the extension of VPN_LABEL object towards the ingress PE router. On receiving Resv message with VPN_LABEL object, ingress PE router assigns VPN label along with the rest of the processing of Resv message and completes the operation. VPN_ATTRIBUTE and VPN_LABEL objects are described below. VPN_LABEL class=, C-Type=1 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | (inner label) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ VPN_ATTRIBUTE class=, C-Type=1 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Global Unicast Address of Ingress CE Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Global Unicast Address of Egress CE Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Net Address of Destination IP Packet | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Net Mask of Destination IP Packet | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The format of the Path message is as follows: Bandyopadhyay Expires November 16, 2018 [Page 5] Internet Draft Real IP Framework May 16, 2018 ::= [ ] [ ] [ ] [ ] [ ... ] ::= [ ] [ ] The format of the Resv message is as follows: ::= [ ] [ ] [ ] [ ... ] [ ]