Re: [rrg] LEIDs, SPI & ordinary IP addresses as both IDs & Locs
Robin Whittle <rw@firstpr.com.au> Sat, 20 February 2010 04:13 UTC
Return-Path: <rw@firstpr.com.au>
X-Original-To: rrg@core3.amsl.com
Delivered-To: rrg@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4EE7C3A7BEC for <rrg@core3.amsl.com>; Fri, 19 Feb 2010 20:13:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.737
X-Spam-Level:
X-Spam-Status: No, score=-1.737 tagged_above=-999 required=5 tests=[AWL=0.158, BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id K8Bm4h0zIz57 for <rrg@core3.amsl.com>; Fri, 19 Feb 2010 20:13:01 -0800 (PST)
Received: from gair.firstpr.com.au (gair.firstpr.com.au [150.101.162.123]) by core3.amsl.com (Postfix) with ESMTP id 55F773A7F3B for <rrg@irtf.org>; Fri, 19 Feb 2010 20:12:59 -0800 (PST)
Received: from [10.0.0.6] (wira.firstpr.com.au [10.0.0.6]) by gair.firstpr.com.au (Postfix) with ESMTP id 8EC6B175B0D; Sat, 20 Feb 2010 15:14:47 +1100 (EST)
Message-ID: <4B7F61B7.6030600@firstpr.com.au>
Date: Sat, 20 Feb 2010 15:14:47 +1100
From: Robin Whittle <rw@firstpr.com.au>
Organization: First Principles
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: "rrg@irtf.org" <rrg@irtf.org>
References: <20100219042424.65EB66BE587@mercury.lcs.mit.edu> <E1829B60731D1740BB7A0626B4FAF0A649510C87E6@XCH-NW-01V.nw.nos.boeing.com>
In-Reply-To: <E1829B60731D1740BB7A0626B4FAF0A649510C87E6@XCH-NW-01V.nw.nos.boeing.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Cc: Noel Chiappa <jnc@mercury.lcs.mit.edu>
Subject: Re: [rrg] LEIDs, SPI & ordinary IP addresses as both IDs & Locs
X-BeenThere: rrg@irtf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: IRTF Routing Research Group <rrg.irtf.org>
List-Unsubscribe: <http://www.irtf.org/mailman/listinfo/rrg>, <mailto:rrg-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www.irtf.org/mail-archive/web/rrg>
List-Post: <mailto:rrg@irtf.org>
List-Help: <mailto:rrg-request@irtf.org?subject=help>
List-Subscribe: <http://www.irtf.org/mailman/listinfo/rrg>, <mailto:rrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Sat, 20 Feb 2010 04:13:03 -0000
Short version: Getting down to brass tacks with the bits in a LISP EID address (LEID) or an Ivip SPI address and which bits are used by: Ordinary routers via their Algorithm 1 approach to using the destination address as a Locator ITRs and the mapping system for their Algorithm 2 approach. I described these algorithms in (msg06070). Whether the destination address is an EID (Ivip SPI) address or not, conventional routers and ITRs use it as the packet's destination Locator. Fred wrote: RW> Yes. A LEID (LISP EID) or an Ivip SPI address is exactly the same RW> as any other global unicast IP address in this respect. A host may RW> have one or more global unicast IP addresses and (except for anycast RW> and fancy things which spread load over back-end servers) each RW> unique global unicast IP address identifies a single host. > Not quite; an IP address identifies a single host *interface*. > You would have to turn to something like the HIP HIT if you > want a true host identifier. OK - the IP address identifies not just a single host, but if the host has multiple physical or logical interfaces, then it also identifies a specific interface. Still, the IP address identifies a single host. RW >>> if the LEID destination address is for a host in a network different RW >>> from that of the sending host, then for part of the journey to the RW >>> destination host, the LEID address has its Locator semantics RW >>> interpreted by a new "Algorithm 2", which ITRs execute. NC >> An LEID _has no general location semantics_. NC >> NC >> The fact that you _always_ _have_ to do a mapping from an LEID, to get NC >> something that _does_ have full location semantics (the RLOC) is the surest NC >> sign of that. > That's not right. For example, if a hypothetical corporation > decided to tear down its enterprise network and rebuild it > from scratch, it could number the entire network out of EID > space only and never have to deploy a single RLOC internally. > Enterprise-local communications would then be routed based on > EIDs only, and they would never have to be mapped to RLOCs. > It is only for communications extending outside the enterprise > boundaries that an EID-to-RLOC mapping be necessary. Yes - this shows that a packet with an EID address in the destination field is routable in the destination network just like a packet with any other kind of IP address which the local routing system recognises with more specific routes than routes with shorter prefixes which would cause the packet to be forwarded out of this local routing system. > So, EIDs are routable (i.e., have location semantics) within a > certain scope, and in some cases that scope may be quite large. This is what I am trying to state - and that for the EID subset of global unicast addresses, there is a second algorithm for interpreting the locator semantics of the address. A packet with a LEID (or an Ivip SPI address) in its destination field is routable just like any other packet, using Algorithm 1, in several contexts: 1 - In its destination network, as you described - the packet will be forwarded towards and ultimately to the destination host. As you note, from the point of view of the routing system, the packet is forwarded to a particular interface which announces that it is the proper destination for packets with this destination address. Conventional routing systems don't seem to have a notion of specific hosts. 2 - At the ETR - and perhaps in an ISP network between the ETR and the destination network - the packet will be forwarded, tunneled or whatever towards and ultimately to the destination network. 3 - Outside these two zones, the packet will be forwarded to the nearest ITR. This may be an ITR in the sending host's end-user or ISP network, or in the ISP network of the sending host's end-user network. If the packet gets to a DFZ router before being forwarded to an ITR, then it will be forwarded to the "nearest" (in BGP terms) PTR (LISP) or DITR (Ivip). The fact that there may be multiple ITRs (including PTRs and DITRs) advertising a prefix which covers this destination address (a "coarse" prefix in LISP, using Dino's recent term or a Mapped Address Block in Ivip) does not affect the way the Locator function of the destination LEID/SPI address is implemented. All these conventional routers use Algorithm 1. This is the same as if the packet was inside an ISP network and multiple BRs were advertising either a matching prefix or the default route - or if the packet was in the DFZ and there were multiple BRs advertising a matching prefix. In all these cases, "Algorithm 1" is used to "implement the Locator functionality of the destination address" AKA "interpret the LIED/SPI address's Locator semantics" as I described in: http://www.ietf.org/mail-archive/web/rrg/current/msg06070.html There is a second context: 4 - The packet arrives at an ITR. Now, a second Algorithm 2 is used to "implement the Locator functionality of the destination address" AKA "interpret the LIED/SPI address's Locator semantics". Algorithm 2 is different from Algorithm 1. It relies on cached or recently obtained and then cached information from outside the ITR. This is "mapping" information, and its nature, and the details of Algorithm 2 are quite different from Algorithm 1 and the externally supplied and then cached information a conventional router uses to interpret the LEID's "Locator semantics". But nonetheless, with Algorithm 2, the ITR does rely on the LEID destination address to be the packet's sole Locator, just as with Algorithm 1. Noel wrote: NC >>> you _always_ _have_ to do a mapping from an LEID, to get NC >>> something that _does_ have full location semantics (the RLOC) FT >> if a hypothetical corporation decided to tear down its FT >> enterprise network and rebuild it from scratch, it could FT >> number the entire network out of EID space only and never have FT >> to deploy a single RLOC internally. > Please note the words "to get something that _does_ have full [i.e. > Internetwork-wide usability] location semantics". Fred's example only involves the address being recognised by the local routing system which contains the destination host. My discussion is broader than that. I believe the LEID (or Ivip SPI address) does have: "full [i.e. Internetwork-wide usability] location semantics" The Locator semantics of the LEID can be interpreted in two different ways - Algorithm 1 by ordinary routers and Algorithm 2 by ITRs. Both algorithms work all over the world ("Intenetwork-wide"). Let's look in detail at the components of the LEID address. I will use a real IP address: 18.26.0.122 (the mail server Noel's messages come through) and imagine that this is a LISP EID (LEID) or an Ivip SPI address. The host this LEID uniquely Identifies belongs to MIT. Maybe the host has other IP addresses, LEID or not, but that doesn't alter the discussion. Let's say MIT didn't need all its current 18.0.0.0 /8: http://ws.arin.net/whois/?queryinput=18.0.0.0 and moved its hosts down to the bottom eighth of this. Let's say it returned the top seven eighths to ARIN and made the bottom eighth a LISP "coarse" prefix (or an Ivip MAB): 18.0.0.0 /11. MIT would then run (or pay someone else to run) PTRs (DITRs) in the DFZ all over the world, since they want to be able to split this space into large numbers of EID prefixes (Ivip micronets) and use them at sites in Massachusetts and in other parts of the world. The "coarse" (MAB) prefix is 18.0.0.0/11: 18 0 0 9 11 1111 1111 2222 2222 2233 0123 4567 8901 2345 6789 0123 4567 8901 0001 0010 000x xxxx xxxx xxxx xxxx xxxx ---- ---- --- Let's say this particular host is in a /26 EID prefix (micronet) which is used for some hosts in MIT's Computer Science Lab: 18.26.0.64/26: 11 1111 1111 2222 2222 2233 0123 4567 8901 2345 6789 0123 4567 8901 0001 0010 0001 1010 0000 0000 01xx xxxx ---- ---- ---- ---- ---- ---- -- So the LEID destination address 18.26.0.122 has its bits in three distinct sets: G Global 11 bits 0 - 10 M Mapped 15 bits 11 - 25 L Local 6 bits 26 - 31 11 1111 1111 2222 2222 2233 0123 4567 8901 2345 6789 0123 4567 8901 0001 0010 0001 1010 0000 0000 0111 1010 GGGG GGGG GGG M MMMM MMMM MMMM MM LL LLLL Let's say in the destination network there is a router RX leading to two LANs: LAN-A 18.26.0.64 /27 LAN-B 18.26.0.96 /27 Our example host is in LAN-B, and router RX uses Algorithm 1 on bits 0 to 26 to determine how to forward the packet. RX advertises 18.26.0.64 /26 in the local routing system, so once the packet is decapsulated in the ETR, the ETR forwards it to RX. (The local routing system may cover multiple prefixes, and may contain routes for a shorter prefix than this LEID prefix - such as 18.26.0.0 /23. In that case, the local routing system would cover 512 IPv4 addresses, and this LEID would deliver packets for 64 of this set. Presumably other LEIDs, of various lengths, would also deliver packets for the remainder of the addresses.) Here are the various ways the bits in this LEID can be used: A - In the DFZ or in all ISP and EUNs (End User Networks) except the destination network, the LISP "coarse" prefix (or Ivip MAB) 18.0.0.0 /11: 0001 0010 000x xxxx xxxx xxxx xxxx xxxx Alg. 1: GGGG GGGG GGG This gets the packet to a PTR (Ivip DITR), since there are one or more PTRs (DITRs) which advertise the "coarse" (MAB) prefix: 18.0.0.0 /11. B - At the ITR, the mapping query involves all 32 bits and the reply comes back stating that this address is within a particular /26 LISP EID prefix (Ivip Micronet), which is mapped to (LISP) one or more ETRs or (Ivip) a single ETR address. Alg 2: All 32 bits { 0001 0010 0001 1010 0000 0000 0111 1010 used in { GGGG GGGG GGG mapping query { M MMMM MMMM MMMM MM { LL LLLL Map reply { 0001 0010 0001 1010 0000 0000 01xx xxxx only concerns { GGGG GGGG GGG 26 bits { M MMMM MMMM MMMM MM The packet is tunneled to a particular ETR. C - At the ETR, there is a more specific route for all addresses in the LISP EID prefix (Ivip micronet) 18.26.0.64 /26. This has precedence over the default route or any other shorter prefix. Alg 1: { 0001 0010 0001 1010 0000 0000 01xx xxxx { GGGG GGGG GGG { M MMMM MMMM MMMM MM So the packet does not leave the local routing system - it is not forwarded towards the DFZ or to any ITR which might be advertising the LISP "coarse" prefix (or Ivip MAB) 18.0.0.0 /11. D - Within the local routing system, for instance at router RX: Alg 1: { 0001 0010 0001 1010 0000 0000 011x xxxx { GGGG GGGG GGG { M MMMM MMMM MMMM MM { L 27 bits are relevant, because the most-specific prefix matching 18.26.0.122 happens to be, in this case: 18.26.0.96 /27. In summary, all routers but ITRs use Algorithm 1 and various numbers of bits, depending on where the packet is. These routers do not need to be modified to handle packets addressed to an LEID address. They just use Algorithm 1 as they always did. The only special things about a packet with an LEID (Ivip SPI) address in the destination field are: 1 - When not in the destination network, such a packet will be forwarded to an ITR (including a LISP PTR or Ivip DITR) - by all routers, using their conventional Algorithm 1 method of implementing this IP address's Locator function. 2 - When they arrive at the ITR, such packets will have the Locator function of their destination address implemented with the Algorithm 2 method of mapping lookup (if it was not already cached) and then tunneling the packet to an ETR. Various bits are used in various parts of the routing system. The ITR can't know initially what length prefix EID prefix the address matches, so it sends the entire address to the mapping system. With both Algorithms 1 and 2, there is nothing innate about the bits: 0001 0010 0001 1010 0000 0000 0111 1010 which tell any router that the packet needs to go to Massachusetts. Ordinary routers (including DFZ routers) adapt their FIB to forward the packet to the best neighbour as part of a broader process of getting the packet closer to its destination, and finally to its destination host. The information in the FIB for all routers (except the final one) doesn't specify anything about the destination physical or logical interface of the destination host. Ordinary routers develop the information in their FIBs as part of a self-organising system - and the router bases its decisions on information arriving from its neighbours. When performing Algorithm 1, there's no need to look up any mapping outside the router in order to handle the packet correctly. If the ITR is a NERD ITR (full-database), an APT Default Mapper (also full-database) or an Ivip ITR directly connected to a full database query server (or the two are integrated into one host), then to perform Algorithm 2, the ITR doesn't need to get mapping from anywhere else. It already has what it needs. If the ITR is a caching ITR, then to perform Algorithm 2, if it doesn't currently have the required mapping cached, then it does need to look up the mapping and receive a reply before it can handle the packet. The NERD example shows that Algorithm 2 doesn't necessarily involve an external mapping lookup. A NERD ITR has already received information from other devices which it needs to perform Algorithm 2. This information is the same for all ITRs in the world - so the ITR's performance of Algorithm 2 is not at all dependent on its place in the topology. This is in contrast with ordinary routers' Algorithm 1 implementation, where the local information about how to forward packets matching a given prefix varies depending on the topological location of the router, since this is how the BGP or iGP routing protocol works as a self-organising system. None of these distinctions between Algorithm 1 and Algorithm 2, or the varying number of bits which are needed at each part of the packet's journey, alters the fact that the destination address is being used as the destination Locator. This is true whether the destination address is within the ordinary "core" ("RLOC") set of global unicast addresses or whether it is an LEID (Ivip SPI) address in the scalable "edge" subset. - Robin
- [rrg] LEIDs, SPI & ordinary IP addresses as both … Robin Whittle
- Re: [rrg] LEIDs, SPI & ordinary IP addresses as b… Noel Chiappa
- Re: [rrg] LEIDs, SPI & ordinary IP addresses as b… Robin Whittle
- Re: [rrg] LEIDs, SPI & ordinary IP addresses as b… Noel Chiappa
- Re: [rrg] LEIDs, SPI & ordinary IP addresses as b… Robin Whittle
- Re: [rrg] LEIDs, SPI & ordinary IP addresses as b… Templin, Fred L
- Re: [rrg] LEIDs, SPI & ordinary IP addresses as b… Templin, Fred L
- Re: [rrg] LEIDs, SPI & ordinary IP addresses as b… Noel Chiappa
- Re: [rrg] LEIDs, SPI & ordinary IP addresses as b… Templin, Fred L
- Re: [rrg] LEIDs, SPI & ordinary IP addresses as b… Robin Whittle