Network Working Group F. Templin, Ed.
Internet-Draft Boeing Research & Technology
Intended status: Informational December 19, 2011
Expires: June 19, 2012

Asymmetric Extended Route Optimization (AERO)
draft-templin-aero-06.txt

Abstract

Nodes attached to link types such as multicast-capable, shared media and non-broadcast multiple access (NBMA), etc. can exchange packets as neighbors on the link. Each node should therefore be able to discover a trusted neighboring gateway that can provide default routing services to reach off-link destinations, and should also accept redirection messages from the gateway informing it of a different neighbor that is closer to the final destination. This redirect function can provide a useful route optimization, since the triangular path from the ingress link neighbor, to the gateway, and finally to the egress link neighbor may be considerably longer than the direct path between the neighbors. However, ordinary redirection may lead to operational issues on certain link types and/or in certain deployment scenarios. This document therefore introduces an Asymmetric Extended Route Optimization (AERO) capability that addresses the issues.

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 June 19, 2012.

Copyright Notice

Copyright (c) 2011 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

Nodes attached to link types such as multicast-capable, shared media, non-broadcast multiple access (NBMA), etc. can exchange packets with each other as neighbors on the link. Each node should therefore be able to discover a trusted neighboring gateway that can provide default routing services to reach off-link destinations, and should also accept redirection messages from the gateway informing it of a different neighbor that is closer to the final destination. This redirect function can provide a useful route optimization, since the triangular path from the ingress link neighbor, to the gateway, and finally to the egress link neighbor may be considerably longer than the direct path between the neighbors. However, ordinary redirection may lead to operational issues on certain link types and/or in certain deployment scenarios.

For example, when an ingress link neighbor accepts an ordinary redirect message from a gateway, it has no way of knowing whether the egress link neighbor is ready and willing to accept packets directly without involving the gateway. In particular, without involvement from the gateway, the egress would have no way of knowing that the ingress is authorized to forward packets from a given source address. (This is especially important for very large links, since any node on the link can spoof the network-layer source address with low probability of detection even if the link-layer source address cannot be spoofed.) Additionally, the ingress would have no way of knowing whether the direct path to the egress has failed, nor whether the final destination has moved away from the egress to some other network attachment point.

Therefore, a new redirection approach is required that can enable a reliable one-way handshake from the egress to the ingress link node under the mediation of trusted gateways. The mechanism is asymmetric (since only the forward direction from the ingress to the egress is optimized) and extended (since the redirection extends forward to the egress before reaching back to the ingress). This document therefore introduces an Asymmetric Extended Route Optimization (AERO) capability that addresses the issues.

While the AERO mechanisms were initially designed for the specific purpose of NBMA tunnel virtual interfaces (e.g., see: [RFC2529][RFC5214][RFC5569][I-D.templin-intarea-vet]) they can also be applied to any link types that support redirection [RFC0792][RFC4861]. The rest of this document refers to this class of links collectively as "AERO links".

The AERO techniques apply to both the IPv4 [RFC0791] and IPv6 [RFC2460] protocols, as well as any other network layer protocol that includes link models that can support redirection.

2. Terminology

The terminology in the normative references apply; the following terms are defined within the scope of this document:

AERO link

any link over which the AERO mechanisms can be applied.
AERO node

a gateway, router or host connected to an AERO link.
AERO gateway

a router that configures an advertising router interface on the AERO link, and that can provide default routing services for forwarding packets toward their final destinations.
AERO router

a router that configures a non-advertising router interface on the AERO link, and that connects End User Networks to the AERO link.
AERO host

a simple host on the AERO link.
ingress AERO node ("ingress")

a node that injects packets into the AERO link.
egress AERO node ("egress")

a node that receives packets from the AERO link.

3. Requirements

The route optimization mechanism must satisfy the following requirements:

Req 1: Off-load traffic from performance-critical gateways

The mechanism must offload sustained transit though a gateway that would otherwise become a traffic concentrator.
Req 2: Support route optimization

Ingress nodes must be able to send packets directly to egress nodes without involving a gateway as an intermediary hop.
Req 3: Support multiple levels of hierarchy

For scaling purposes, allow multiple levels of hierarchy in which gateways in higher levels have progressively more topology knowledge than those in lower levels.
Req 4: Do not circumvent ingress filtering

The mechanism must not open an attack vector where network-layer source address spoofing is enabled even when link-layer source address spoofing is disabled.
Req 5: Do not expose packets to loss due to filtering

The ingress node must have a way of knowing that the egress node will accept its forwarded packets.
Req 6: Do not expose packets to loss due to path failure

The ingress node must have a way of discovering whether the egress has gone unreachable on the route optimized path.
Req 7: Do not introduce routing loops

The gateway must not perform a route optimization that would cause a routing loop to form.
Req 8: Support mobility

The mechanism must continue to work even if the final destination node/network moves from a first egress node and re-associates with a second egress node.

4. Asymmetric Extended Route Optimization (AERO)

The following sections specify an Asymmetric Extended Route Optimization (AERO) capability that fulfills the requirements specified in Section 3.

4.1. AERO Link Dynamic Routing

In many AERO link use case scenarios (e.g., small enterprise networks, small and stable MANETs, etc.), AERO gateways and routers can engage in a proactive dynamic routing protocol (e.g., OSPF, RIP, IS-IS, etc.) so that routing/forwarding tables can be populated and standard forwarding between routers can be used. In other scenarios (e.g., large enterprise/ISP networks, cellular service provider networks, dynamic MANETs, etc.), this might be impractical due to routing protocol control message scaling issues.

When a proactive dynamic routing protocol cannot be used, the mechanisms specified in this section can provide a useful on-demand dynamic routing capability.

4.2. AERO Node Behavior

The following sections discuss characteristics of nodes attached to links over which AERO can be used:

4.2.1. AERO Node Types

AERO gateways configure their AERO link interfaces as advertising router interfaces (see: [RFC4861], Section 6.2.2), and therefore may send Router Advertisement (RA) messages that include non-zero Router Lifetimes.

AERO routers configure their AERO link interfaces as non-advertising router interfaces.

AERO hosts configure their AERO link interfaces as simple host interfaces.

4.2.2. Source Address Verification

AERO nodes must employ a source address verification check for the packets they receive on an AERO interface in a manner that is consistent with the Source Address Validation Improvement (SAVI) Framework [I-D.ietf-savi-framework]. In order to perform source address verification, the node considers the network-layer source address correct for the link-layer source address if:

Section 4.4.

The latter of these checks can be established through static configuration, via a proactive dynamic routing protocol, or through the AERO mechanisms specified in

4.2.3. AERO Host Behavior

AERO hosts send Router Solicitation (RS) messages to obtain RA messages from an AERO gateway. When the RA contains Prefix Information Options with non-link-local prefixes, the host autoconfigures addresses from the prefixes using Stateless Address Autoconfiguration (SLAAC) [RFC4861][RFC4862]. When managed address delegation services are available, the host can also (or instead) acquire addresses taken from prefixes aggregated by the gateway through the use of stateful mechanisms, e.g., DHCP [RFC2131][RFC3315], manual configuration, etc.

After the host receives addresses, it assigns them to its AERO interface and forwards any of its outbound packets via the gateway as a default router. The host may subsequently receive redirection messages from the gateway listing a better next hop.

4.2.4. AERO Router Behavior

AERO routers send RS messages to obtain RA messages from an AERO gateway, i.e., they act as "hosts" on their non-advertising AERO link router interfaces for the purpose of default router discovery.

The router can then acquire managed prefix delegations aggregated by the gateway through the use of, e.g., DHCPv6 Prefix Delegation [RFC3633], manual configuration, etc. in the same fashion as described above for host-based autoconfiguration.

After the router acquires prefixes, it can sub-delegate them to nodes and links within its attached End User Networks (EUNs), then can forward any outbound packets coming from its EUNs via the gateway. The router may subsequently receive redirection messages from the gateway listing a better next hop.

4.2.5. AERO Gateway Behavior

AERO gateways respond to RS messages from hosts and routers on the AERO link by returning an RA message. Gateways may further configure a DHCP relay or server function on their AERO links and/or provide an administrative interface for manual configuration of address/prefix-to-client forwarding table entries.

When the gateway completes a stateful address or prefix delegation transaction (e.g., as a DHCP relay/server, etc.), it establishes forwarding table entries that list the link-layer address of client as the link-layer address of the next hop toward the delegated addresses/prefixes.

When the gateway forwards a packet out the same AERO interface it arrived on, it initiates an AERO route optimization procedure as specified in Section 4.4.

4.3. AERO Reference Operational Scenario

Figure 1 depicts a reference AERO network topology. IPv6 is used only as an example network layer protocol, and the same fundamental AERO techniques can be applied for other network layer protocols. The figure shows an AERO gateway ('A'), two non-advertising AERO routers ('B', 'D'), an AERO host ('F'), and three ordinary IPv6 hosts ('C', 'E', 'G') in a typical operational scenario: