router-route NHRP - multi-domain shortcuts (moderately long)
Yakov Rekhter <yakov@cisco.com> Fri, 20 October 1995 15:46 UTC
Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa13282;
20 Oct 95 11:46 EDT
Received: from guelah.nexen.com by IETF.CNRI.Reston.VA.US id aa13278;
20 Oct 95 11:46 EDT
Received: from maelstrom.nexen.com ([204.249.99.5]) by guelah.nexen.com
(8.6.12/8.6.12) with ESMTP id LAA21437; Fri, 20 Oct 1995 11:19:11 -0400
Received: (from root@localhost) by maelstrom.nexen.com (8.6.12/8.6.12) id
LAA06948 for rolc-out; Fri, 20 Oct 1995 11:28:33 -0400
Received: from guelah.nexen.com (guelah.nexen.com [204.249.96.19]) by
maelstrom.nexen.com (8.6.12/8.6.12) with ESMTP id LAA06935 for
<rolc@nexen.com>; Fri, 20 Oct 1995 11:28:28 -0400
Received: from hubbub.cisco.com (hubbub.cisco.com [198.92.30.32]) by
guelah.nexen.com (8.6.12/8.6.12) with ESMTP id LAA21429 for <rolc@nexen.com>;
Fri, 20 Oct 1995 11:18:09 -0400
Received: from puli.cisco.com (puli.cisco.com [171.69.1.174]) by
hubbub.cisco.com (8.6.12/CISCO.GATE.1.1) with SMTP id IAA09005 for
rolc@nexen.com; Fri, 20 Oct 1995 08:24:46 -0700
Message-Id: <199510201524.IAA09005@hubbub.cisco.com>
To: rolc@nexen.com
Subject: router-route NHRP - multi-domain shortcuts (moderately long)
Date: Fri, 20 Oct 95 08:24:45 PDT
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: Yakov Rekhter <yakov@cisco.com>
X-Orig-Sender: owner-rolc@nexen.com
Precedence: bulk
X-Info: Submissions to rolc@nexen.com
X-Info: [Un]Subscribe requests to rolc-request@nexen.com
X-Info: Archives for rolc via
ftp://ietf.cnri.reston.va.us/ietf-mail-archive/rolc/
Folks, Here (as I promised) is a rough outline of how the router-router mechanism (the one I posted today) could be extended to provide information for the shortcut that could cross routing domain boundaries. Your review and comments would be greatly appreciated. Yakov. ---------------------------------cut here------------------------------------ Extensions to multi-domains shortcuts While the R2R NHRP mechanism is mostly constrained to the routers within a single routing domain, in certain situations the information provided by this mechanism could be sufficient to establish shortcuts that would span multiple domains. Consider an example where an NHRP Request was originated within a particular routing domain A, and the NHRP target of the Request is in some other routing domain B. Further assume that the border routers in both A and B participate in a single common instance of BGP. Since BGP preserves the next hop information across an NBMA network, the routing information available at the border routers in A would contain the next hop IP information that may be in some other routing domain along the path to B, perhaps even in B itself. Therefore, when a border router in A receives the Request, the router would annotate the Request with the next hop information that is associated with a router in some other routing domain, thus providing the information needed to establish a shortcut that spans multiple routing domains. [Discussion: BGP preserves the next hop IP information, but does not carry NBMA address information. The NBMA address information could be either added to BGP (as another attribute), or NHRP could be used to resolve IP address to NBMA address mapping.] [The following could be viewed as controversial. More discussion is needed.] While the ability of BGP to preserve the next hop information could reduce the number of IP hops along a path, the information, by itself, may not be sufficient to form a single IP hop across an NBMA network. However, we could observe that once a router (e.g., a border router) acquires a shortcut information, then as long as the router has sufficient assurances that the information is correct, the router could pass this information to other routers in response to NHRP Requests. Since a border router (by definition) belongs to multiple routing domains, passing the information through the border router from one domain to another would be sufficient for establishing shortcuts that span multiple routing domains. For example, assume that a border router X within a given domain A acquired the information needed to form a shortcut within A for a given NHRP target (the target may be either within A or outside of A). Further assume that X is also in some other routing domain B, and there is a router Y in B that would like to acquire the shortcut information for exactly the same NHRP target. If the NHRP Request originated by Y would reach X, then when X receives the Request rather than indicating itself as the next hop, X would use the shortcut information it already has to specify the next hop in the Reply. Thus Y would have the information to construct a shortcut that crosses domain's boundary. If X would detect any changes in the information associated with the shortcut (either due to local changes, or as a result of receiving a Purge message), then X would reissue the NHRP Request, and also would send a Purge message to Y. When Y would receive the Purge message from X, Y would reissue the NHRP Request as well. [Getting into more controversy...] Additional complexity in handling multi-domains shortcuts arise if routing information gets aggregated at the border routers (which certainly happens in practice). Since BGP is the major protocol that is used to exchange routing information across multiple routing domains, we'll restrict our proposal to the case where the routing information exchange across domains' boundaries is controlled by BGP. If both the source and the destination domains are on a common NBMA network, and the path between these two domains is also fully within the same NBMA network, then we have only three routing domains to deal with: source routing domain, BGP routing domain, and destination routing domain. If the destination domain is not on the same NBMA as the source domain, then we need to deal only with two domains - the source and the BGP. Note that we treat all routers that participate in a single (common) instance of BGP as a single BGP routing domain, even if these routers participate in different intra-domain routing protocols, or in different instances of the same intra-domain routing protocol. To simplify the presentation we decompose the problem into the following three subproblems: (a) how a border router in the domain that the originator of the Request is in handles the Request (crossing IGP/BGP boundary), (b) how the Request is handled across the BGP domain, and finally (c) how a border router in the domain where the NHRP target is in handles the Request (crossing BGP/IGP boundary). Handling NHRP Request at the source domain border router When a border router receives an NHRP Request originated from within its own (IGP) routing domain, the border router determines the NHRP forwarding route for the NHRP target carried by the Request. If the router already has the shortcut information for the forwarding route, then the router uses this information to construct a Reply to the source of the NHRP Request. Otherwise, the router originates its own NHRP Request. The Request contains exactly the same NHRP target, as was carried by the original Request; the NHRP route information contains NLRI and the protocol (BGP) of the NHRP forwarding route. The newly originated Request is sent to the next hop of the NHRP forwarding route. Once the border router receives a Reply to its own Request, the border router uses the next hop information from the Reply to construct its own Reply to the source of the original NHRP Request. If the border router later on receives a Purge message for the NHRP forwarding route, the border router treats this event as if there was a local change in the NHRP forwarding route (even if the there was no changes in the route). Handling NHRP Request within the BGP domain When a BGP router (e.g., a border router at the source domain) originates an NHRP Request, this Request would be sent to a router that is either (a) an egress router from an NBMA network (since in the absence of aggregation BGP preserves the next hop information), or (b) a border router within the domain that contains all the destinations carried by the NHRP target, or (c) a router that aggregates NLRI carried by the NHRP route information of the Request. With case (a) when the router receives the Request the router sends back an NHRP Reply and terminates the query. Case (b) is handled as described in the next section. With case (c) when the router receives the Request, the router determines the NHRP forwarding route for the NHRP target carried by the Request and originates its own NHRP Request. The Request contains exactly the same NHRP target, as was carried by the original request; the NHRP route information contains NLRI and the protocol (BGP) of the NHRP forwarding route. The newly originated Request is sent to the next hop of the NHRP forwarding route. Once the router receives a Reply to its own Request, the router uses the next hop information from the Reply to construct its own Reply to the source of the original NHRP Request. If the router later on receives a Purge message for the NHRP forwarding route, the router treats this event as if there was a change in the NHRP forwarding route (even if the there was no changes in the route). Handling NHRP Request at the destination domain border router When a border router receives an NHRP Request from a BGP speaker, and the border router determines that all the destinations covered by the NHRP target of the Request are within the (IGP) domain of that border router, the border router determines the NHRP forwarding route for the NHRP target carried by the Request. The newly formed Request contains exactly the same NHRP target as the received Request; the NHRP route information contains NLRI and the protocol of the NHRP forwarding route. The newly originated Request is sent to the next hop of the NHRP forwarding route. Once the border router receives a Reply to its own Request, the border router uses the next hop information from the Reply to construct its own Reply to the source of the original NHRP Request. If the border router later on receives a Purge message for the NHRP forwarding route, the border router treats this event as if there was a change in the NHRP forwarding route (even if the there was no changes in the route). [Discussion: it is not clear what are the merits of carrying and updating NLRI in the NHRP route information.] More state, less messages It should be possible to reduce the number of Purge messages and subsequent NHRP messages (caused by the Purge messages) by maintaining more state on the border routers at the source and destination domains, and the BGP routers that perform aggregation along the path from the source to the destination. Specifically, on these routers it would be necessary to keep the information about all the NHRP targets for which the routers maintain the shortcut information. This way when such a router determines that the NHRP forwarding route (for which the router maintains the shortcut information) changes due to some local routing changes, the router could check whether these local changes impact forwarding to the destinations covered by the NHRP targets. Only for the targets that are impacted by the changes the router would send Purge messages. Note that this mechanism (maintaining NHRP targets) precludes the use of Address Prefix Extension - the shortcut will be determined only for the destinations covered by the NHRP target (so, if the target is a single IP address, then the shortcut would be determined only for this address).
- router-route NHRP - multi-domain shortcuts (moder… Yakov Rekhter