Network Working Group D. Lewis Internet-Draft D. Meyer Intended status: Experimental D. Farinacci Expires:August 20,September 1, 2012 V. Fuller Cisco Systems, Inc. February17,29, 2012 Interworking LISP with IPv4 and IPv6draft-ietf-lisp-interworking-04.txtdraft-ietf-lisp-interworking-05.txt Abstract This document describes techniques for allowing sites running the Locator/ID Separation Protocol (LISP) to interoperate with Internet sites (which may be using either IPv4, IPv6, or both) but which are not running LISP. A fundamental property of LISP speaking sites is that they use Endpoint Identifiers (EIDs), rather than traditional IP addresses, in the source and destination fields of all traffic they emit or receive. While EIDs are syntactically identical to IPv4 or IPv6 addresses, normally routes to them are not carried in the global routing system so an interoperability mechanism is needed for non- LISP-speaking sites to exchange traffic with LISP-speaking sites. This document introduces three such mechanisms. The first uses a new network element, the LISP Proxy Ingress Tunnel Routers(PITR)(Proxy-ITRs) (Section 5) to act as a intermediate LISP Ingress Tunnel Router (ITR) for non-LISP-speaking hosts. Second the document adds Network Address Translation (NAT) functionality to LISP Ingress and LISP Egress Tunnel Routers (xTRs) to substitute routable IP addresses for non-routable EIDs. Finally, this document introducesathe Proxy Egress Tunnel Router(PETR)(Proxy ETR) to handle cases where a LISP ITR cannot send packets to non-LISP sites without encapsulation. 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 onAugust 20,September 1, 2012. Copyright Notice Copyright (c) 2012 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.LISP Interworking ModelsDefinition of Terms . . . . . . . . . . . . . . . . . . .6 3. Definition of Terms. . 6 3. LISP Interworking Models . . . . . . . . . . . . . . . . . . . 7 4. Routable EIDs . . . . . . . . . . . . . . . . . . . . . . . . 8 4.1. Impact on Routing Table . . . . . . . . . . . . . . . . . 8 4.2. Requirement forusingsites to use BGP . . . . . . . . . . . . .. . .8 4.3. Limiting the Impact of Routable EIDs . . . . . . . . . . . 8 4.4. Use of Routable EIDs for sites transitioning to LISP . . . 8 5. Proxy Ingress Tunnel Routers . . . . . . . . . . . . . . . . . 10 5.1.PITRProxy-ITR EID announcements . . . . . . . . . . . . . . .. . .10 5.2. Packet Flow withPITRs . . .Proxy-ITRs . . . . . . . . . . . . . . . 10 5.3. ScalingPITRs . .Proxy-ITRs . . . . . . . . . . . . . . . . . . . . 11 5.4. Impact of thePITRsProxy-ITRs placement in the network . . . .. . .12 5.5. Benefit to Networks DeployingPITRs . .Proxy-ITRs . . . . . . . . . 12 6. Proxy Egress Tunnel Routers . . . . . . . . . . . . . . . . . 13 6.1. Packet Flow with Proxy Egress Tunnel Routers . . . . . . . 13 7. LISP-NAT . . . . . . . . . . . . . . . . . . . . . . . . . . .13 6.1.15 7.1. Using LISP-NAT with LISP-NR EIDs . . . . . . . . . . . . .13 6.2.15 7.2. LISP Sites with Hosts using RFC 1918 Addresses Sending to non-LISP Sites . . . . . . . . . . . . . . . . . . . .14 6.3.16 7.3. LISP Sites with Hosts using RFC 1918 Addresses Sending Packets to Other LISP Sites . . . . . . . . . . .14 6.4.16 7.4. LISP-NAT and multiple EIDs . . . . . . . . . . . . . . . .15 7. Proxy Egress Tunnel Routers . . . . . . . . . . . . . . . . . 16 7.1. Packet Flow with Proxy Egress Tunnel Routers . . . . . . . 1617 8. Discussion ofProxy ITRs (PITRs),Proxy-ITRs (Proxy-ITRs), LISP-NAT, and Proxy-ETRs(PETRs) . . . . . . . .(Proxy-ETRs) . . . . . . . . . . . . . . . . . . . 18 8.1. How Proxy-ITRs and Proxy-ETRs Interact . . . . . . . . . . 18 9. Security Considerations . . . . . . . . . . . . . . . . . . . 19 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 20 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22 12.1. Normative References . . . . . . . . . . . . . . . . . . . 22 12.2. Informative References . . . . . . . . . . . . . . . . . . 22 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24 1. Introduction This document describes interoperation mechanisms between LISP [LISP] sites which use non-globally-routed EIDs, and non-LISP sites.The first is the use of Proxy Ingress Tunnel router (PITRs), which originate highly-aggregated routes to EID prefixes for non-LISP sites to use. It also describes the use of NAT by LISP ITRs when sending packets to non-LISP hosts. Finally, it describes Proxy Egress Tunnel routers (PETRs) LISP for sites relying on PITRs, and which are faced with certain restrictions.A key behavior of the separation of Locators andEnd-Point-IDsEndpoint IDs is that EID prefixes are normally not advertised into the Internet's Default Free Zone (DFZ). Specifically, only Routing Locators (RLOCs) are carried in the Internet's DFZ. Existing Internet sites (and their hosts) which do not run in the LISP protocol must still be able to reach sites numbered from LISP EID space. This draft describes three mechanisms that can be used to provide reachability between sites that are LISP-capable and those that are not. The first mechanism uses a new network element, the LISP Proxy Ingress Tunnel Router(PITR)(Proxy-ITR) to act as a intermediate LISP Ingress Tunnel Router (ITR) for non-LISP-speaking hosts. The second mechanism adds a form of Network Address Translation (NAT) functionality to Tunnel Routers (xTRs), to substitute routable IP addresses for non-routable EIDs. The final network element is the LISP Proxy Egress Tunnel Routers(PETR),(Proxy-ETR), which act as an intermediate Egress Tunnel Router (ETR) for LISP sites which need to encapsulatepacketsLISP packets destined to non-LISP sites. More detailed descriptions of these mechanisms and the network elements involved may be found in the following sections: - Section 2 defines terms used throughout the document - Section 2 describes the different cases where interworking mechanisms are needed - Section3 defines terms used throughout the document - Section4 describes the relationship between the new EID prefix space and the IP address space used by the current Internet - Section 5 introduces and describes the operation ofProxy-ITRsProxy Ingress tunnel Routerss - Section 6 introduces and describes the operations of Proxy-ETRs - Section 7 defines how NAT is used by ETRs to translate non-routable EIDs into routable IP addresses. - Section7 introduces and describes the operations of Proxy-ETRs - Section8 describes the relationship between asymmetric andSymmetricsymmetric interworking mechanisms (Proxy-ITRs and Proxy-ETRs vs LISP- NAT) Note that any successful interworking model should be independent of any particular EID-to-RLOC mapping algorithm. This document does not comment on the value of any of the particular LISP mapping systems. Several areas concerning the Interworking of LISP and non-LISP sites remain open for further study. These areas include an examination of the impact of LISP-NAT oninternetInternet traffic and applications, understanding the deployment motivations for the deployment and operation of Proxy Tunnel Routers, the impact of EID routes originated into the Internet's Default Free Zone,and the effects of Proxy Tunnel Routers or LISP-NAT oninternetInternet traffic and applications. Until these issues are fully understood, it is possible that the interworking mechanisms described in this document are hard to deploy, or may have unintended consequences to applications. 2.LISP Interworking Models There are 4 unicast connectivity cases which describe how sites can send packetsDefinition of Terms Default Free Zone: The Default-Free Zone (DFZ) refers toeach other: 1. Non-LISP sitethe collection of all Internet autonomous systems that do not require a default route toNon-LISP site 2. LISP siteroute a packet to any destination. LISPsite 3.Routable (LISP-R) Site: A LISP siteto Non-LISP site 4. Non-LISP site towhose addresses are used as both globally routable IP addresses and LISP EIDs. LISP Non-Routable (LISP-NR) Site: A LISP siteNote that while Cases 3 and 4 seem similar, therewhose addresses aresubtle differences due to the way packetsEIDs only, these EIDs areoriginated. The first case isnot found in the legacy Internetas we know it todayrouting table. LISP Proxy Ingress Tunnel Router (Proxy-ITR): Proxy-ITRs are used to provide connectivity between sites which use LISP EIDs and those which do not. They act assuch willgateways between those parts of the Internet which are notbe discussed further here. The second case is documented in [LISP]using LISP (the legacy Internet) A given Proxy-ITR advertises one or more highly aggregated EID prefixes into the public Internet andthere are no new interworking requirements because there are no new protocol requirements placed on intermediate non-acts as the ITR for traffic received from the public Internet. LISProuters. In case 3,Proxy-ITRs are described in Section 5. LISPsiteNetwork Address Translation (LISP-NAT): Network Address Translation between EID space assigned toNon-LISP site,aLISPsitecan (in most cases) send packetsand RLOC space also assigned to that site. LISP Network Address Translation is described in Section 7. LISP Proxy Egress Tunnel Router (Proxy-ETR): Proxy-ETRs provide anon-LISP siteLISP (Routable or Non-Routable EID) site's ITRs the ability to send packets to non-LISP sites in cases where unencapsualted packets (the default mechanism) would fail to be delivered. Proxy-ETRs function by having an ITR encapsulate all non-LISP destined traffic to a pre-configured Proxy-ETR. LISP Proxy Egress Tunnel Routers are described in Section 6. EID Sub Namespace: A power-of-two block of aggregatable locators set aside for LISP interworking. For definitions of other terms, notably Map-Request, Map-Reply, Ingress Tunnel Router (ITR), and Egress Tunnel Router (ETR), please consult the LISP specification [LISP]. 3. LISP Interworking Models There are 4 unicast connectivity cases which describe how sites can send packets to each other: 1. non-LISP site to non-LISP site 2. LISP site to LISP site 3. LISP site to non-LISP site 4. non-LISP site to LISP site Note that while Cases 3 and 4 seem similar, there are subtle differences due to the way packets are originated. The first case is the Internet as we know it today and as such will not be discussed further here. The second case is documented in [LISP] and there are no new interworking requirements because there are no new protocol requirements placed on intermediate non- LISP routers. In case 3, LISP site to non-LISP site, a LISP site can (in most cases) send packets to a non-LISP site because the non-LISP site prefixes are routable. The non-LISPsitesites need not do anything new to receive packets. The only action the LISP site needs to take is to know when not to LISP-encapsulate packets. An ITR knows explicitly that the destination is non-LISP if the destination IP address of an IP packet matches a (negative) Map-Cache entry which has the action 'Natively-Forward'. There could be some situations where (unencapsulated) packets originated by a LISP site may not be forwarded to a non-LISP site. These cases are reviewed in section 7,(Proxy-Egress(Proxy Egress Tunnel Routers). Case 4, typically the most challenging, occurs when a host at a non- LISP site wishes to send traffic to a host at a LISP site. If the source host uses a (non-globally-routable) EID as the destination IP address, the packet is forwarded inside the source site until it reaches a router which cannot forward it (due to lack of a default route), at which point the traffic is dropped. For traffic not to be dropped, either some mechanism to make this destination EID routable must be in place. Section 5(PITRs)(Proxy-ITRs) and Section 6 (LISP-NAT) describe two such mechanisms. Case 4 also applies to packets returning to the LISP site, in Case 3.3. Definition of Terms Default Free Zone: The Default-Free Zone (DFZ) refers4. Routable EIDs An obvious way tothe collection of all Internet autonomous systems that do not require a default route to route a packet to any destination. LISP Routable (LISP-R) Site: Aachieve interworking between LISPsite whose addresses are used as both globally routable IP addressesandLISP EIDs. LISP Non-Routable (LISP-NR) Site: Anon-LISP hosts is for a LISP sitewhose addresses are EIDs only, these EIDs are not found into simply announce EID prefixes into thelegacy InternetDFZ, much like the current routingtable. LISP Proxy Ingress Tunnel Router (PITR): PITRs are used to provide interconnectivity between sites which use LISP EIDs and those whichsystem, effectively treating them as "Provider Independent (PI)" prefixes. Having a site donot. They actthis is undesirable asgateways between those partsit defeats one of theInternet which are not usingprimary goals of LISP(the legacy Internet) A given PITR advertises one or more highly aggregated- to reduce global routing system state. 4.1. Impact on Routing Table If EID prefixes are announced into thepublic Internet and acts asDFZ, theITR for traffic received fromimpact is similar to thepublic Internet. LISP Proxy Ingress Tunnel Routers are describedcase inSection 5.which LISPNetwork Address Translation (LISP-NAT): Network Address Translation betweenhas not been deployed, because these EIDspace assigned toprefixes will be no more aggregatable than existing PI addresses. Such a mechanism is not viewed as a viable long term solution, but may be a viable short term way for a siteand RLOC space also assignedtothat site. LISP Network Address Translation is described in Section 6. LISP Proxy Egress Tunnel Router (PETR): PETRs providetransition aLISP (Routable or Non-Routable EID) site's ITRs the ability to send packets to non-LISP sites in cases where unencapsualted packets (the default mechanism) would fail to be delivered. PETRs are function by having an ITR encapsulate all non-LISP destined traffic to a pre-configured PETR. LISP Proxy Egress Tunnel Routers are described in Section 7. EID Sub Namespace: A power-of-two block of aggregatable locators set aside for LISP interworking. For definitions of other terms, notably Map-Request, Map-Reply, Ingress Tunnel Router (ITR), and Egress Tunnel Router (ETR), please consult the LISP specification [LISP]. 4. Routable EIDs An obvious way to achieve interworking between LISP and non-LISP hosts is for a LISP site to simply announce EID prefixes into the DFZ, much like the current routing system, effectively treating them as "Provider Independent (PI)" prefixes. Having a site do this is undesirable as it defeats one of the primary goals of LISP - to reduce global routing system state. 4.1. Impact on Routing Table If EID prefixes are announced into the DFZ, the impact is similar to the case in which LISP has not been deployed, because these EID prefixes will be no more aggregatable than existing PI addressing. Such a mechanism is not viewed as a viable long term solution, but may be a viable short term way for a site to transition a portion of its address spaceportion of its address space to EID space without changing its existing routing policy. 4.2. Requirement forusingsites to use BGPNon-LISPRoutable EIDs might cause non-LISP sites today to use BGP to, among other things, originate their site's routes into the DFZ, and to enable ingress traffic engineering. Relaxing this requirement while still letting sites control their ingress traffic engineering policy is another primary design goal of LISP. 4.3. Limiting the Impact of Routable EIDs Two schemes are proposed to limit the impact of having EIDs announced in the current global Internet routing table: 1. Section 5 discusses the LISP Proxy Ingress Tunnel Router, an approach that provides ITR functionality to bridge LISP-capable andnon- LISP-capablenon-LISP-capable sites. 2. Section67 discusses another approach, LISP-NAT, in which NAT [RFC2993] is combined with ITR functionality to limit the impact of routable EIDs on the Internet routing infrastructure. 4.4. Use of Routable EIDs for sites transitioning to LISP A primary design goal for LISP (and other Locator/ID separation proposals) is to facilitate topological aggregation of namespace usedbyfor the path computation, and, thus, decrease global routing system overhead. Another goal is to achieve the benefits of improved aggregation as soon as possible. Individual sites advertising their own routes for LISP EID prefixes into the global routing system is therefore not recommended. That being said,single homedsingle-homed sites (or multi-homed sites that are not leaking more specific exceptions)andthat are already using provider-aggregated prefixes can use these prefixes as LISP EIDs without adding state to the routing system. In other words, such sites do not cause additional prefixes to be advertised. For such sites, connectivity to a non-LISPsitessite does not require interworking machinery because the "PA" EIDs are already routable (they are effectively LISP-R type sites). Their EIDs are found in the LISP mapping system, and their (aggregate) PA prefix(es) are found in the DFZ of the Internet. The continued announcements of an existing site's Provider Independent (or "PI") prefix(es) is of course under control of that site. Some period of transition, where a site is found both in the LISP mapping system, and as a discrete prefix in the Internet routing system, may be a viable transition strategy. Care should be taken not to advertise additional more specific LISP EID prefixes into the DFZ. 5. Proxy Ingress Tunnel Routers Proxy Ingress Tunnel Routers(PITRs)(Proxy-ITRs) allow for non-LISP sites to send packets to LISP-NR sites. APITRProxy-ITR is a new network element that shares many characteristics with the LISP ITR.PITRsProxy-ITRs allow non-LISP sites to send packets to LISP-NR sites without any changes to protocols or equipment at the non-LISP site.PITRsProxy-ITRs have two primary functions: Originating EID Advertisements:PITRsProxy-ITRs advertise highly aggregated EID-prefix space on behalf of LISP sitestoso thatnon-LISPnon- LISP sites can reach them. Encapsulating Legacy Internet Traffic:PITRsProxy-ITRs also encapsulatenon- LISPnon-LISP Internet traffic into LISP packets and route them towards their destination RLOCs. 5.1.PITRProxy-ITR EID announcements A key part ofPITRProxy-ITR functionality is to advertise routes for highly- aggregated EID prefixes intopartparts of the global routing system. Aggressive aggregation is performed to minimize the number of new announced routes. In addition, careful placement ofPITRsProxy- ITRs can greatly reduce the advertised scope of these new routes. To this end,PITRsProxy-ITRs should be deployed close to non-LISP-speaking rather than close to LISP sites. Such deployment not only limits the scope of EID-prefix route advertisements, it also allows traffic forwarding load to be spread among manyPITRs.Proxy-ITRs. 5.2. Packet Flow withPITRsProxy-ITRs What follows is an example of the path a packet would take when using aPITR.Proxy-ITR. In this example, the LISP-NR site is given the EID prefix 192.0.2.0/24. For the purposes of this example, neither this prefixornor any covering aggregate are present in the global routing system. In other words, without the Proxy-ITR announcing 192.0.2.0/24, if a packet with this destination were to reach a router in the "Default Free Zone", it would be dropped. A full protocol exchange example follows: 1. The source host makes a DNS lookup EID for destination, and gets 192.0.2.1 in return. 2. The source host has a default route tocustomerCustomer Edge (CE) router and forwards the packet to the CE. 3. The CE has a default route to its Provider Edge (PE) router, and forwards the packet to the PE. 4. The PE has a route to 192.0.2.0/24 and the next hop is thePITR.Proxy- ITR. 5. ThePITRProxy-ITR has or acquires a mapping for 192.0.2.1 and LISP encapsulates the packet. The outer IP header now has a destination address of one of the destination EID's RLOCs. The outer source address of this encapsulated packet is thePITR'sProxy- ITR's RLOC. 6. ThePITRProxy-ITR looks up the RLOC, and forwards LISP packet to the next hop, after which, it is forwarded by other routers to the ETR's RLOC. 7. The ETR decapsulates the packet and delivers the packet to the 192.0.2.1 host in the destination LISP site. 8. Packets from host 192.0.2.1 will flow back through the LISP site's ITR. Such packets are not encapsulated because the ITR knows that the destination (the original source) is a non-LISP site. The ITR knows this because it can check the LISP mapping database for the destination EID, and on a failuredeterminedetermines that the destination site is not LISP enabled. 9. Packets are then routed natively and directly to the destination (original source) site. Note that in this example the return path is asymmetric, so return traffic will not go back through thePITR.Proxy-ITR. This is because the LISP-NR site's ITR will discover that the originating site is not a LISP site, and not encapsulate the returning packet (see [LISP] for details of ITR behavior). The asymmetric nature of traffic flows allows thePITRProxy-ITR to be relatively simple - it will only have to encapsulate LISP packets. 5.3. ScalingPITRs PITRsProxy-ITRs Proxy-ITRs attract traffic by announcing the LISP EID namespace into parts of the non-LISP-speaking global routing system. There are several ways that a network could control how traffic reaches a particularPITRProxy-ITR to prevent it from receiving more traffic than it can handle: 1. ThePITR'sProxy-ITR's aggregate routes might be selectively announced, giving a coarse way to control the quantity of traffic attracted by thatPITR.Proxy-ITR. For example, some of the routes being announced might be tagged with a BGP community and their scope of announcement limited by the routing policy of the provider. 2. The same address might be announced by multiplePITRsProxy-ITRs in order to share the traffic using IP Anycast. The asymmetric nature of traffic flows through theProxy ITRProxy-ITR means that operationally, deploying a setPITRsof Proxy-ITRs would be very similar to existing Anycasted services like DNS caches. MultipleProxy ITRsProxy-ITRs could advertise the same BGP Next Hop IP address as their RLOC, and traffic would be attracted to the nearest Next Hop according to the network's IGP. 5.4. Impact of thePITRsProxy-ITRs placement in the network There are several approaches that a network could take in placingPITRs.Proxy-ITRs. Placing thePITRProxy-ITR near the source of traffic allows for the communication between the non-LISP site and the LISP site to have the least "stretch" (i.e. the least number of forwarding hops when compared to an optimal path between the sites). Some proposals, for example Core Router-Integrated Overlay [CRIO], have suggested groupingPITRsProxy-ITRs near an arbitrary subset of ETRs and announcing a 'local' subset of EID space. This model cannot guarantee minimum stretch if the EID prefix route advertisement points are changed (such a change might occur if a site adds, removes, or replaces one or more of its ISP connections). 5.5. Benefit to Networks DeployingPITRsProxy-ITRs When packets destined for LISP-NR sites arrive and are encapsulated at a Proxy-ITR, a new LISP packet header is pre-pended. This causes the packet's destination to be set to the destination ETRs RLOC. Because packets are thus routed towards RLOCs, it can potentially better follow the Proxy-ITR network's traffic engineering policies (such as closest exit routing). This also means that providers which are not default-free and do not deploy Proxy-ITRs end up sending more traffic to expensive transit links (assuming their upstreams have deployed Proxy-ITRs) rather than to the ETR's RLOC addresses, to which they may well have cheaper and closer connectivity to (via, for example, settlement-free peering). A corollary to this would be that large transit providers, deployingPITRsProxy-ITRs may attract more traffic, and therefore more revenue, from their customers. 6.LISP-NAT LISP Network Address Translation (LISP-NAT) is a limited form of NAT [RFC2993]. LISP-NAT is designed to enable the interworking of non-Proxy Egress Tunnel Routers Proxy Egress Tunnel Routers (Proxy-ETRs) allow for LISP sitesand LISP-NRto send packets to non-LISP sitesby ensuring thatin theLISP-NR'scase where the access network does not allow the LISP siteaddresses are always routable. LISP-NAT accomplishes this by translating a host'sto send packets with the source addressfromof the site's EID(s). A Proxy-ETR is a new network element that, conceptually, acts as an'inner' (LISP-NR EID) valueETR for traffic destined to non-LISP sites. This also has the effect of allowing an'outer' (LISP-R) value and keeping this translation in a table thatITR avoid having to decide whether to encapsulate packets or not - it canreference for subsequentalways encapsulate packets.In addition, existing RFC 1918 [RFC1918]An ITR would encapsulate packets destined for LISP sitescan use LISP-NAT to talk(no change here) and these would be routed directly toboth LISP or non-LISP sites. The basic concept of LISP-NAT is that when transmitting a packet,theITR replaces a non-routable EID source address with a routable source address, which enablescorespondent site's ETR. All other packets (those destined toreturnnon- LISP sites) will be sent to thesite.originating site's Proxy-ETR. There are twomain cases that involve LISP-NAT: 1. Hosts at LISP sites that use non-routable global EIDs speaking to non-LISP sites using global addresses. 2. Hosts at LISPprimary reasons why sitesthat use RFC 1918 private EIDs speakingwould want toother sites, who may be either LISP or non-LISP. Note that LISP-NAT is not needed in the case of LISP-R (routable global EIDs) sources. This case occurs whenutilize asite is announcing its prefix into both the LISP mapping system as well asProxy-ETR: Avoiding strict uRPF failures: Some provider's access networks require theInternet DFZ. This is becausesource of theLISP-R source's address is routable, and returnpacketswill be ableemitted tonatively reachbe within thesite. 6.1. Using LISP-NAT with LISP-NR EIDs LISP-NAT allows a host withaddressing scope of the access networks. (see section 9) Traversing aLISP-NR EIDdifferent IP Protocol: A LISP site may want tosendtransmit packets to a non-LISPhosts by translatingsite where some of theLISP-NR EID to a globally unique address (a LISP-R EID). This globally unique address may be a either a PIintermediate network does not support the particular IP protocol desired (v4 orPA address. An example ofv6). Proxy-ETRs can allow thistranslation follows. ForLISP site's data to 'hop over' thisexample,by utilizing LISP's support for mixed protocol encapsulation. 6.1. Packet Flow with Proxy Egress Tunnel Routers Packets from a LISP sitehas been assignedcan reach aLISP-NR EID of 203.0.113.0/24. In order to utilize LISP-NAT, thenon-LISP sitehas also been provided the PA EID of 192.0.2.0/24, and uses the first address (192.0.2.1) aswith thesite's RLOC. The restaid ofthis PA space (192.0.2.2 to 192.0.2.254) is used asatranslation pool for this site's hosts who needProxy-ETR (or Proxy-ETR). An ITR is simply configured to sendpackets toall non-LISPhosts. The translation table might look like the following: Site NR-EID Site R-EID Site's RLOC Translation Pool ============================================================== 203.0.113.0/24 192.0.2.0/24 192.0.2.1 192.0.2.2-254 Figure 1: Example Translation Table The Host 203.0.113.2 sendstraffic, which it normally would have forwarded natively (non-encapsulated), to apacket (which, forProxy-ETR. In the case where thepurposes of this example is destined for a non-LISP site) to its default route (the ITR). TheITRreceivesuses a Map- Resolver(s), thepacket, and determinesITR will encapsulate packets that match thedestination is not a LISP site. Howreceived Negative Map-Cache to the configured Proxy-ETR(s). In the case where the ITRmakes this determinationisupconnected to theITRs implementation of the EID-to-RLOCmapping systemused (see, for example [LISP-ALT]). The ITRdirectly it would encapsulate all packets to the configured Proxy-ETR that are cache misses. Note that this outer encapsulation to the Proxy-ETR may be in an IP protocol other than the (inner) encapsulated data. Routers thenrewritesuse thesourceLISP (outer) header's destination addressof the packet from 203.0.113.2to192.0.2.2, which isroute thefirst available address inpackets toward theLISP-Rconfigured Proxy-ETR. A Proxy-ETR should verify the (inner) source EIDspace available to it. The ITR keeps this translation in a tableof the packet at time of decapsulation in order toreverseverify that thisprocess when receiving packets destinedis from a configured LISP site. This is to192.0.2.2. Finally, whenprevent spoofed inner sources from being encapsulated through theITR forwards this packet without encapsulating it, it usesProxy-ETR. What follows is an example of theentry in its LISP-NAT table to translatepath a packet would take when using a Proxy-ETR. In this example, thereturning packets' destination IPs toLISP-NR (or LISP-R) site is given theproper host. 6.2.EID prefix 192.0.2.0/24, and it is trying to reach host at a non- LISPSitessite withHosts using RFC 1918 Addresses Sending to non-LISP Sites Inthecase where hosts using RFC 1918 addresses desire to send packets to non-LISP hosts,IP prefix of 198.51.100.0/24. For theLISP-NAT implementation acts much like an existing IPv4 NAT device. The ITR providingpurposes of this example, theNAT service must use LISP-R EIDs for its global address pool as well as providing alldestination (198.51.100.0/24) is found in thestandard NAT functions required today.Internet's routing system. A full protocol exchange example follows: 1. The sourceofhost makes a DNS lookup for thepacket must be translated todestination, and gets 198.51.100.100 (an IP address of aLISP-R EIDhost in the non-LISP site) in return. 2. The source host has amanner similardefault route toSection 6,Customer Edge (CE) router andthis packet must be forwarded toforwards theITR's next hop forpacket towards thedestination, without LISP encapsulation. 6.3. LISP Sites with Hosts using RFC 1918 Addresses Sending Packets to Other LISP Sites LISP-NAT allowsCE. 3. The CE is ahost with an RFC 1918 addressLISP ITR, and is configured tosend packetsencapsulate traffic destined for non-LISP sites to a Proxy-ETR. 4. The Proxy ETR decapsulates the LISPhosts by translatingpacket and forwards theRFC 1918 addressoriginal packet toa LISP EID. After translation, the communication between sourceits next hop. 5. The packet is then routed natively and directly to the destinationITR and ETRs continues as described(non-LISP) site 198.51.100.0/24. Note that in[LISP]. An example of this translation and encapsulation follows. Forthisexample, a host has been assignedexample the return path is asymmetric, so return traffic will not go back through the Proxy-ETR. This means that in order to reach LISP-NR sites, non-LISP sites must still use Proxy- ITRs. 7. LISP-NAT LISP Network Address Translation (LISP-NAT) is aRFC 1918 addresslimited form of192.168.1.2. In orderNAT [RFC2993]. LISP-NAT is designed toutilize LISP-NAT, the site also has been providedenable theLISP-R EID prefixinterworking of192.0.2.0/24,non- LISP sites anduses the first address (192.0.2.1) asLISP-NR sites by ensuring that thesite's RLOC. The rest ofLISP-NR's site addresses are always routable. LISP-NAT accomplishes thisPA space (192.0.2.2 to 192.0.2.254) is used asby translating a host's source address from an 'inner' (LISP-NR EID) value to an 'outer' (LISP-R) value and keeping this translationpoolin a table that it can reference forthis site's hosts who needsubsequent packets. In addition, existing RFC 1918 [RFC1918] sites can use LISP-NAT tosend packetstalk to bothnon-LISP andLISPhosts. The Host 192.168.1.2 sends a packet destined for aor non-LISPsite to its default route (the ITR).sites. TheITR receives the packet and determines that the destinationbasic concept of LISP-NAT is that when transmitting aLISP site. Howpacket, the ITRmakes this determination is upreplaces a non-routable EID source address with a routable source address, which enables packets to return to theITRs implementation of the EID/RLOC mapping system. The ITR then rewrites the source address of the packet from 192.168.1.2 to 192.0.2.2, which is the first available address in the LISP EID space available to it. The ITR keeps this translation in a table in order to reverse this process when receiving packets destined to 192.0.2.2. The ITR then LISP encapsulatessite. Note that thispacket (see [LISP] for details). The ITR uses the site's RLOC as the LISP outer header's source and the translation addresssection is intended asthe LISP inner header's source. Once it decapsulates returning traffic, it uses the entry in its LISP-NAT table to translate the returning packet's destination IP addressrough overview of what could be done andthen forwardnot an exhaustive guide tothe proper host. 6.4. LISP-NAT and multiple EIDs With LISP-NAT, thereIPv4 NAT. There are twoEIDs possible for a given host, the LISP-R EID and the LISP-NR EID. When a site has two addressesmain cases that involve LISP-NAT: 1. Hosts at LISP sites thata host mightusefor global reachability, name-to-address directories may need to be modified. This problem,non-routable globalvs. local addressability, exists for NAT in general, but the specific issue described above is uniqueEIDs speaking tolocation/identity separation schemes. Some of these have suggested running a separate DNS instance for new types of EIDs. This solves the problem but introduces complexity for the site. Alternatively,non-LISP sites usingPITRs can mitigate this problem, because the LISP-NR EID can be reached in all cases. 7. Proxy Egress Tunnel Routers Proxy Egress Tunnel Routers (PETRs) allow forglobal addresses. 2. Hosts at LISP sites that use RFC 1918 private EIDs speaking tosend packets toother sites, who may be either LISP or non-LISPsitessites. Note that LISP-NAT is not needed in the casewhere the access network does not allow for the LISP site send packets with the source addressofthe site's EID(s). A PETR isLISP-R (routable global EIDs) sources. This case occurs when anew network element that, conceptually, actssite is announcing its prefix into both the LISP mapping system asan ETR for traffic destined to non-LISP sites.well as the Internet DFZ. Thisalso hasis because theeffect of allowing an ITR avoid having to decide whether to encapsulate packets or not - it can always encapsulate packets. An ITR would encapsulate packets destined for LISP sites (no change here)LISP-R source's address is routable, andthese would be routed directly to the corespondent site's ETR. All otherreturn packets(those destined to non- LISP sites)will besentable to natively reach theoriginating site's PETR. There are two primary reasons why sites would want to utilizesite. 7.1. Using LISP-NAT with LISP-NR EIDs LISP-NAT allows aPETR: Avoiding strict uRPF failures: Some provider's access networks require the source ofhost with a LISP-NR EID to send packets to non-LISP hosts by translating thepackets emittedLISP-NR EID to a globally unique address (a LISP-R EID). This globally unique address may bewithin the addressing scopea either a PI or PA address. An example ofthe access networks. (see section 9) Traversingthis translation follows. For this example, adifferent IP Protocol: A LISPsitemay want to transmit packets tohas been assigned anon-LISPLISP-NR EID of 203.0.113.0/24. In order to utilize LISP-NAT, the sitewhere somehas also been provided the PA EID of 192.0.2.0/24, and uses theintermediate network does not supportfirst address (192.0.2.1) as theparticular IP protocol desired (v4 or v6). PETRs can allowsite's RLOC. The rest of this PA space (192.0.2.2 to 192.0.2.254) is used as a translation pool for thisLISPsite'sdatahosts who need to'hop over'send packets to non-LISP hosts. The translation table might look like the following: Site NR-EID Site R-EID Site's RLOC Translation Pool ============================================================== 203.0.113.0/24 192.0.2.0/24 192.0.2.1 192.0.2.2-254 Figure 1: Example Translation Table The host 203.0.113.2 sends a packet (which, for the purposes of thisby utilizing LISP's supportexample is destined formixed protocol encapsulation. 7.1. Packet Flow with Proxy Egress Tunnel Routers Packets from a LISP site can reacha non-LISPsite withsite) to its default route (the ITR). The ITR receives theaid ofpacket, and determines that the destination is not aProxy-ETR (or PETR). AnLISP site. How the ITR makes this determination issimply configuredup tosend all non- LISP traffic, which it normally would have forwarded natively (non- encapsulated),the ITRs implementation of the EID-to-RLOC mapping system used (see, for example [LISP-ALT]). The ITR then rewrites the source address of the packet from 203.0.113.2 toa PETR. In192.0.2.2, which is thecase wherefirst available address in the LISP-R EID space available to it. The ITRuseskeeps this translation in aMap- Resolver(s),table in order to reverse this process when receiving packets destined to 192.0.2.2. Finally, when the ITRwill encapsulate packets that matchforwards this packet without encapsulating it, it uses thereceived Negative Map-Cacheentry in its LISP-NAT table to translate theconfigured Proxy-ETR(s).returning packets' destination IPs to the proper host. 7.2. LISP Sites with Hosts using RFC 1918 Addresses Sending to non-LISP Sites In the case wherethe ITR is connectedhosts using RFC 1918 addresses desire tothe mapping system directly it would encapsulate allsend packets to non-LISP hosts, theconfigured Proxy-ETR that are cache misses. Note that this outer encapsulation to the Proxy-ETR may be inLISP-NAT implementation acts much like anIP protocol other thanexisting IPv4 NAT device that is doing address only (not port translation. The ITR providing the(inner) encapsulated data. Routers thenNAT service must usethe LISP (outer) header's destinationLISP-R EIDs for its global addressto route the packets toward the configured Proxy-ETR. A PETR should verifypool as well as providing all the(inner)standard NAT functions required today. The sourceEIDof the packetat time of decapsulationmust be translated to a LISP-R EID inordera manner similar to Section 7, and this packet must be forwarded to the ITR's next hop for the destination, without LISP encapsulation. 7.3. LISP Sites with Hosts using RFC 1918 Addresses Sending Packets to Other LISP Sites LISP-NAT allows a host with an RFC 1918 address to send packets to LISP hosts by translating the RFC 1918 address toverify that this is fromaconfiguredLISPsite. This is to prevent spoofed inner sources from being encapsulated throughEID. After translation, theProxy-ETR. What follows is ancommunication between source and destination ITR and ETRs continues as described in [LISP]. An example ofthe paththis translation and encapsulation follows. For this example, apacket would take when usinghost has been assigned aPETR.RFC 1918 address of 192.168.1.2. Inthis example,order to utilize LISP-NAT, theLISP-NR (or LISP-R)siteis givenalso has been provided the LISP-R EID prefix of 192.0.2.0/24, andituses the first address (192.0.2.1) as the site's RLOC. The rest of this PA space (192.0.2.2 to 192.0.2.254) istryingused as a translation pool for this site's hosts who need toreachsend packets to both non-LISP and LISP hosts. The hostat192.168.1.2 sends a packet destined for a non-LISP sitewithto its default route (the ITR). The ITR receives theIP prefixpacket and determines that the destination is a LISP site. How the ITR makes this determination is up to the ITRs implementation of198.51.100.0/24. ForthepurposesEID/RLOC mapping system. The ITR then rewrites the source address ofthis example,thedestination (198.51.100.0/24)packet from 192.168.1.2 to 192.0.2.2, which isfoundthe first available address in theInternet's routing system. A full protocol exchange example follows: 1.LISP EID space available to it. Thesource host makesITR keeps this translation in aDNS lookuptable in order to reverse this process when receiving packets destined to 192.0.2.2. The ITR then LISP encapsulates this packet (see [LISP] for details). The ITR uses thedestination,site's RLOC as the LISP outer header's source andgets 198.51.100.100 (a Ipthe translation addressof a host inas thenon-LISP site)LISP inner header's source. Once it decapsulates returning traffic, it uses the entry inreturn. 2. The source host has a default routeits LISP-NAT table tocustomer Edge (CE) routertranslate the returning packet's destination IP address and then forwards to thepacket towards the CE. 3. The CE is a LISP ITR,proper host. 7.4. LISP-NAT andis configured to encapsulate traffic destinedmultiple EIDs With LISP-NAT, there are two EIDs possible fornon-LISP sites toaProxy-ETR. 4. The Proxy ETR decapsulates the LISP packet and forwardsgiven host, theoriginal packet to its next hop. 5. The packet is then routed nativelyLISP-R EID anddirectly tothedestination (non-LISP)LISP-NR EID. When a site198.51.100.0/24. Notehas two addresses that a host might use for global reachability, name-to-address directories may need to be modified. This problem, global vs. local addressability, exists for NAT inthis examplegeneral, but thereturn pathspecific issue described above isasymmetric, so return traffic will not go back through the Proxy-ETR. This means that in orderunique toreachlocation/identity separation schemes. Some of these have suggested running a separate DNS instance for new types of EIDs. This solves the problem but introduces complexity for the site. Alternatively, using Proxy-ITRs can mitigate this problem, because the LISP-NRsites, non-LISP sites must still use Proxy ITRs.EID can be reached in all cases. 8. Discussion ofProxy ITRs (PITRs),Proxy-ITRs (Proxy-ITRs), LISP-NAT, and Proxy-ETRs(PETRs)(Proxy-ETRs) In summary, there are three mechanisms for interworking LISP with non-LISP Sites (for both IPv4 and IPv6). In the LISP-NAT option the LISP site can manage and control the interworking on its own. In thePITRProxy-ITR case, the site is not required to manage the advertisement of it's EID prefix into the DFZ, with the cost of potentially adding stretch to the connections of non-LISP sites sending packets to the LISP site. The third option is Proxy-ETRs, which are optionally used by sites relying onPITRs caseProxy-ITRs to mitigate two caveats for LISP sites sending packets to non-LISP sites. This means Proxy-ETRs are not usually expected to be deployed by themselves, rather they will be used to assist LISP-NR sites which are already usingPITRs.Proxy-ITRs. 8.1. How Proxy-ITRs and Proxy-ETRs Interact There is a subtle difference between Symmetrical (LISP-NAT) vs Asymmetrical (Proxy-ITR and Proxy-ETR) Interworking techniques. Operationally, Proxy-ITRs(PITRs)(Proxy-ITRs) and Proxy-ETRs(PETRs)(Proxy-ETRs) can (and likely should) be decoupled since Proxy-ITRs are best deployed closest to non-LISP sites, and Proxy-ETRs are best located close to the LISP sites they are decapsulating for. This asymmetric placement of the two network elements minimizes the stretch imposed on each direction of the packet flow, while still allowing for coarsely aggregated announcements of EIDs into the Internet's routing table. 9. Security Considerations Like any router or LISP ITR,Proxy ITRsProxy-ITRs will have the opportunity to inspect traffic at the time that they encapsulate. The location of these devices in the network can have implications for discarding malicious traffic on behalf of ETRs which request this behavior (via the drop action bit in Map-Reply packets for an EID or EID prefix). This is an area that would benefit from further experimentation and analysis. LISP-Interworking via Proxy-ITRs should have no impact on the existing network beyond what LISP ITRs and ETRs introduce when multihoming. That is, if a site multi-homes today (with LISP or BGP) there is a possibility of asymmetric flows. Proxy-ITRs and Proxy-ETRs will likely be operated by organizations other than those of the end site receiving or sending traffic. Care should be taken, then, in selecting a Proxy-ITR/Proxy-ETR provider to insure the quality of service meets the site's expectations. Proxy-ITRs and Proxy ETRs share many of the same security issues discussed of ITRs and ETRs. For further information, see the security considerations section of [LISP]. As with traditional NAT, LISP-NAT will obscure the actual host LISP-NR EID behind the LISP-R addresses used as the NAT pool. When LISP sites send packets to non-LISP sites (these non-LISP sites rely onPITRsProxy-ITRs to enable Interworking), packets will have theSite'ssite's EID as its source IP address. These EIDs may not be recognized by their Internet Service Provider's Unicast Reverse Path Forwarding (uRPF) rules enabled on the Provider Edge Router. Several options are available to the service provider. For example they could enable a less strict version of uRPF, where they only look for the existence of the EID prefix in the routing table. Another, more secure, option is to add a static route for the customer on the PE router, but not redistribute this route into the provider's routing table. Finally, Proxy-ETRs can enable LISP sites to bypass this uRPF check by encapsulating all of theiregressingegress traffic destined tonon-LISPnon- LISP sites to the Proxy-ETR (thus ensuring the outer IP source address is the site's RLOC). 10. Acknowledgments Thanks goes to Christian Vogt, Lixia Zhang, Robin Whittle, Michael Menth, and Xuewei Wang, and Noel Chiappa who have made insightful comments with respect to LISP Interworking and transition mechanisms. A special thanks goes to Scott Brim for his initial brainstorming of these ideas and also for his careful review. 11. IANA Considerations This document creates no new requirements on IANA namespaces [RFC5226]. 12. References 12.1. Normative References [LISP] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "Locator/ID Separation Protocol (LISP)", draft-ietf-lisp-20 (work in progress), January 2012. [LISP-ALT] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "LISP Alternative Topology (LISP+ALT)", draft-ietf-lisp-alt-10.txt (work in progress), December 2011. [LISP-MS] Farinacci, D. and V. Fuller, "LISP Map Server", draft-ietf-lisp-ms-15.txt (work in progress), January 2012. [RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and E. Lear, "Address Allocation for Private Internets", BCP 5, RFC 1918, February 1996. [RFC4632] Fuller, V. and T. Li, "Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan", BCP 122, RFC 4632, August 2006. 12.2. Informative References [CRIO] Zhang, X., Francis, P., Wang, J., and K. Yoshida, "CRIO: Scaling IP Routing with the Core Router-Integrated Overlay", January 2006. [LISP-DEPLOY] Jakab, L., Cabellos-Aparicio, A., Coras, F., Domingo- Pascual, J., and D. Lewis, "LISP Network Element Deployment Considerations", draft-ietf-lisp-deployment-02.txt (work in progress), November 2011. [RFC2663] Srisuresh, P. and M. Holdrege, "IP Network Address Translator (NAT) Terminology and Considerations", RFC 2663, August 1999. [RFC2993] Hain, T., "Architectural Implications of NAT", RFC 2993, November 2000. [RFC3027] Holdrege, M. and P. Srisuresh, "Protocol Complications with the IP Network Address Translator", RFC 3027, January 2001. [RFC4787] Audet, F. and C. Jennings, "Network Address Translation (NAT) Behavioral Requirements for Unicast UDP", BCP 127, RFC 4787, January 2007. [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008. [RFC5382] Guha, S., Biswas, K., Ford, B., Sivakumar, S., and P. Srisuresh, "NAT Behavioral Requirements for TCP", BCP 142, RFC 5382, October 2008. Authors' Addresses Darrel Lewis Cisco Systems, Inc. Email: darlewis@cisco.com David Meyer Cisco Systems, Inc. Email: dmm@cisco.com Dino Farinacci Cisco Systems, Inc. Email: dino@cisco.com Vince Fuller Cisco Systems, Inc. Email: vaf@cisco.com