Network Working Group F. Templin, Ed.
Internet-Draft Boeing Research & Technology
Intended status: Informational January 27, 2012
Expires: July 28, 2012

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

Abstract

Nodes attached to common multi-access link types (e.g., multicast-capable, shared media, non-broadcast multiple access (NBMA), etc.) can exchange packets as neighbors on the link, but may not always be provisioned with sufficient routing information for optimal neighbor selection. Such nodes should therefore be able to discover a trusted intermediate router on the link that provides both forwarding services to reach off-link destinations and redirection services to inform the node of an on-link neighbor that is closer to the final destination. This redirection can provide a useful route optimization, since the triangular path from the ingress link neighbor, to the intermediate router, and finally to the egress link neighbor may be considerably longer than the direct path from ingress to egress. 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 July 28, 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

Nodes attached to common multi-access link types (e.g., multicast-capable, shared media, non-broadcast multiple access (NBMA), etc.) can exchange packets as neighbors on the link, but may not always be provisioned with sufficient routing information for optimal neighbor selection. Such nodes should therefore be able to discover a trusted intermediate router on the link that provides both default forwarding services to reach off-link destinations and redirection services to inform the node of an on-link neighbor that is closer to the final destination.

               +--------------+
               |   Router A   |
               |    (D->C)    |
               +--------------+
                      |
    X--------+--------+--------+------X
             |                 |
  +----------+---+         +---+----------+
  |    Node B    |         |   Router C   |
  | (default->A) |         +-------+------+
  +--------------+                .-.
                               ,-(  _)-.
                            .-(_ IPv6  )-.
                          (__    EUN      )
                             `-(______)-' 
                           +-------+------+
                           |    Node D    |
                           +--------------+

Figure 1: Classical Multi-Access Link Redirection

Figure 1 shows a classical multi-access link redirection scenario. In this figure, Node 'B' is provisioned with only a default route with Router 'A' as the next hop. Router 'A' in turn has a more-specific route that lists Router 'C' as the next hop neighbor on the link for Node 'D's attached network.

If Node 'B' has a packet to send to Node 'D', 'B' is obliged to send its initial packets via Router 'A'. Router 'A' then forwards the packet to Router 'C' and also returns a redirect message to inform 'B' that 'C' is in fact an on-link neighbor that is closer to the final destination 'D'. After receiving the redirect message, 'B' can place a more-specific route in its forwarding table so that future packets destined to 'D' can be sent directly via Router 'C', as shown in Figure 2.

               +--------------+
               |   Router A   |
               |    (D->C)    |
               +--------------+
                      |
    X--------+--------+--------+------X
             |                 |
  +----------+---+         +---+----------+
  |    Node B    |         |   Router C   |
  | (default->A) |         +-------+------+
  |    (D->C)    |                .-.
  +--------------+             ,-(  _)-.
                            .-(_ IPv6  )-.
                          (__    EUN      )
                             `-(______)-' 
                           +-------+------+
                           |    Node D    |
                           +--------------+

Figure 2: More-Specific Routes Following Redirection

For example, when an ingress link neighbor accepts an ordinary redirect message, it has no way of knowing whether the egress link neighbor is ready and willing to accept packets directly without involving an intermediate router. Likewise, the egress has no way of knowing that the ingress is authorized to forward packets from the claimed 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 approach is required that can enable redirection signaling from the egress to the ingress link node under the mediation of a trusted intermediate router. 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 multiple access link types that support redirection. The AERO techniques are discussed herein with reference to IPv6 [RFC2460][RFC4861], however they can also be applied to any other network layer protocol (e.g., IPv4 [RFC0791][RFC0792][RFC2131]) that provides a redirection service (details of operation for other network layer protocols are out of scope.)

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 router or host connected to an AERO link.
intermediate AERO router ("intermediate router")

a router that configures an advertising router interface on the AERO link over which it can provide default forwarding and redirection services for other AERO nodes.
edge AERO router ("edge router")

a router that configures a non-advertising router interface on the AERO link over which it can connect End User Networks (EUNs) to the AERO link.
AERO host

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

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

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 an intermediate AERO router that would otherwise become a traffic concentrator.
Req 2: Support route optimization

The ingress AERO node should be able to send packets directly to the egress node without involving an intermediate router for route optimization purposes.
Req 3: Support scaling

For scaling purposes, support interworking and control message relaying between multiple intermediate routers (see appendix A).
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 node has gone unreachable on the route optimized path.
Req 7: Do not introduce routing loops

Intermediate routers must not invoke 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.), routers can engage in a classical 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 classical dynamic routing protocol cannot be used, the mechanisms specified in this section can provide a useful on-demand route discovery capability. When both classical dynamic routing protocols and the AERO mechanism are active on the same link, routes discovered by the dynamic routing protocol should take precedence over those discovered by AERO.

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

Intermediate AERO routers 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.

Edge 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. AERO Host Behavior

AERO hosts send Router Solicitation (RS) messages to obtain RA messages from an intermediate AERO router. 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 intermediate router through the use of stateful mechanisms, e.g., DHCPv6 [RFC3315], administrative configuration, etc.

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

4.2.3. Edge AERO Router Behavior

Edge AERO routers send RS messages to obtain RA messages from an intermediate AERO router, i.e., they act as "hosts" on their non-advertising AERO link router interfaces for the purpose of default router discovery. Edge routers can then acquire managed prefix delegations aggregated by an intermediate router through the use of, e.g., DHCPv6 Prefix Delegation [RFC3633], administrative configuration, etc.

After the edge 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 intermediate router. The edge router may subsequently receive redirection messages from the intermediate router listing a better next hop.

4.2.4. Intermediate AERO Router Behavior

Intermediate AERO routers respond to RS messages from AERO hosts and edge routers by returning an RA message. Intermediate routers may further configure a DHCP relay or server function on their AERO links and/or provide an administrative interface for delegation of addresses and prefixes.

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

When the intermediate router 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 3 depicts the AERO reference operational scenario. The figure shows an intermediate AERO router ('A'), two edge AERO routers ('B', 'D'), an AERO host ('F'), and three ordinary IPv6 hosts ('C', 'E', 'G'):