home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc2185 < prev    next >
Text File  |  1997-09-05  |  31KB  |  732 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          R. Callon
  8. Request for Comments: 2185                    Cascade Communications Co.
  9. Category: Informational                                        D. Haskin
  10.                                                        Bay Networks Inc.
  11.                                                           September 1997
  12.  
  13.  
  14.                    Routing Aspects Of IPv6 Transition
  15.  
  16. Status of this memo
  17.  
  18.    This memo provides information for the Internet community.  This memo
  19.    does not specify an Internet standard of any kind.  Distribution of
  20.    this memo is unlimited.
  21.  
  22. Abstract
  23.  
  24.    This document gives an overview of the routing aspects of the IPv6
  25.    transition.  It is based on the protocols defined in the document
  26.    "Transition Mechanisms for IPv6 Hosts and Routers" [1].  Readers
  27.    should be familiar with the transition mechanisms before reading this
  28.    document.
  29.  
  30.    The proposals contained in this document are based on the work of the
  31.    Ngtrans working group.
  32.  
  33. 1. TERMINOLOGY
  34.  
  35.    This paper uses the following terminology:
  36.  
  37.    node      - a protocol module that implements IPv4 or IPv6.
  38.  
  39.    router    - a node that forwards packets not explicitly
  40.                addressed to itself.
  41.  
  42.    host      - any node that is not a router.
  43.  
  44.    border router - a router that forwards packets across
  45.                routing domain boundaries.
  46.  
  47.    link      - a communication facility or medium over which
  48.                nodes can communicate at the link layer, i.e., the layer
  49.                immediately below internet layer.
  50.  
  51.    interface - a node's attachment to a link.
  52.  
  53.    address   - an network layer identifier for an interface or
  54.                a group of interfaces.
  55.  
  56.  
  57.  
  58. Callon & Haskin              Informational                      [Page 1]
  59.  
  60. RFC 2185           Routing Aspects Of IPv6 Transition     September 1997
  61.  
  62.  
  63.    neighbors - nodes attached to the same link.
  64.  
  65.    routing domain - a collection of routers which coordinate
  66.                routing knowledge using a single routing protocol.
  67.  
  68.    routing region (or just "region")  - a collection of routers
  69.                interconnected by a single internet protocol (e.g. IPv6)
  70.                and coordinating their routing knowledge using routing
  71.                protocols from a single internet protocol stack. A
  72.                routing region may be a superset of a routing domain.
  73.  
  74.    tunneling  - encapsulation of protocol A within protocol B,
  75.                such that A treats B as though it were a datalink layer.
  76.  
  77.    reachability information - information describing the set of
  78.                reachable destinations that can be used for packet
  79.                forwarding decisions.
  80.  
  81.    routing information - same as reachability information.
  82.  
  83.    address prefix - the high-order bits in an address.
  84.  
  85.    routing prefix - address prefix that expresses destinations
  86.                which have addresses with the matching address prefixes.
  87.                It is used by routers to advertise what systems they are
  88.                capable of reaching.
  89.  
  90.    route leaking - advertisement of network layer reachability
  91.                information across routing region boundaries.
  92.  
  93. 2. ISSUES AND OUTLINE
  94.  
  95.    This document gives an overview of the routing aspects of IPv4 to
  96.    IPv6 transition. The approach outlined here is designed to be
  97.    compatible with the existing mechanisms for IPv6 transition [1].
  98.  
  99.    During an extended IPv4-to-IPv6 transition period, IPv6-based systems
  100.    must coexist with the installed base of IPv4 systems. In such a dual
  101.    internetworking protocol environment, both IPv4 and IPv6 routing
  102.    infrastructure will be present. Initially, deployed IPv6-capable
  103.    domains might not be globally interconnected via IPv6-capable
  104.    internet infrastructure and therefore may need to communicate across
  105.    IPv4-only routing regions. In order to achieve dynamic routing in
  106.    such a mixed environment, there need to be mechanisms to globally
  107.    distribute IPv6 network layer reachability information between
  108.    dispersed IPv6 routing regions. The same techniques can be used in
  109.    later stages of IPv4-to-IPv6 transition to route IPv4 packets between
  110.    isolated IPv4-only routing region over IPv6 infrastructure.
  111.  
  112.  
  113.  
  114. Callon & Haskin              Informational                      [Page 2]
  115.  
  116. RFC 2185           Routing Aspects Of IPv6 Transition     September 1997
  117.  
  118.  
  119.    The IPng transition provides a dual-IP-layer transition, augmented by
  120.    use of encapsulation where necessary and appropriate. Routing issues
  121.    related to this transition include:
  122.  
  123.    (1) Routing for IPv4 packets
  124.  
  125.    (2) Routing for IPv6 packets
  126.            (2a) IPv6 packets with IPv6-native addresses
  127.            (2b) IPv6 packets with IPv4-compatible addresses
  128.  
  129.    (3) Operation of manually configured static tunnels
  130.  
  131.    (4) Operation of automatic encapsulation
  132.            (4a) Locating encapsulators
  133.            (4b) Ensuring that routing is consist with
  134.                encapsulation
  135.  
  136.    Basic mechanisms required to accomplish these goals include: (i)
  137.    Dual-IP-layer Route Computation; (ii) Manual configuration of point-
  138.    to-point tunnels; and (iii) Route leaking to support automatic
  139.    encapsulation.
  140.  
  141.    The basic mechanism for routing of IPv4 and IPv6 involves dual-IP-
  142.    layer routing. This implies that routes are separately calculated for
  143.    IPv4 addresses and for IPv6 addressing. This is discussed in more
  144.    detail in section 3.1.
  145.  
  146.    Tunnels (either IPv4 over IPv6, or IPv6 over IPv4) may be manually
  147.    configured. For example, in the early stages of transition this may
  148.    be used to allow two IPv6 domains to interact over an IPv4
  149.    infrastructure. Manually configured static tunnels are treated as if
  150.    they were a normal data link. This is discussed in more detail in
  151.    section 3.2.
  152.  
  153.    Use of automatic encapsulation, where the IPv4 tunnel endpoint
  154.    address is determined from the IPv4 address embedded in the IPv4-
  155.    compatible destination address of IPv6 packet, requires consistency
  156.    of routes between IPv4 and IPv6 routing domains for destinations
  157.    using IPv4-compatible addresses. For example, consider a packet which
  158.    starts off as an IPv6 packet, but then is encapsulated in an IPv4
  159.    packet in the middle of its path from source to destination. This
  160.    packet must locate an encapsulator at the correct part of its path.
  161.    Also, this packet has to follow a consistent route for the entire
  162.    path from source to destination. This is discussed in more detail in
  163.    section 3.3.
  164.  
  165.    The mechanisms for tunneling IPv6 over IPv4 are defined in the
  166.    transition mechanisms specification [1].
  167.  
  168.  
  169.  
  170. Callon & Haskin              Informational                      [Page 3]
  171.  
  172. RFC 2185           Routing Aspects Of IPv6 Transition     September 1997
  173.  
  174.  
  175. 3. MORE DETAIL OF BASIC APPROACHES
  176.  
  177. 3.1 Basic Dual-IP-layer Operation
  178.  
  179.    In the basic dual-IP-layer transition scheme, routers may
  180.    independently support IPv4 and IPv6 routing. Other parts of the
  181.    transition, such as DNS support, and selection by the source host of
  182.    which packet format to transmit (IPv4 or IPv6) are discussed in [1].
  183.    Forwarding of IPv4 packets is based on routes learned through running
  184.    IPv4-specific routing protocols. Similarly, forwarding of IPv6
  185.    packets (including IPv6-packets with IPv4-compatible addresses) is
  186.    based on routes learned through running IPv6-specific routing
  187.    protocols. This implies that separate instances of routing protocols
  188.    are used for IPv4 and for IPv6 (although note that this could consist
  189.    of two instances of OSPF and/or two instances of RIP, since both OSPF
  190.    and RIP are capable of supporting both IPv4 and IPv6 routing).
  191.  
  192.    A minor enhancement would be to use an single instance of an
  193.    integrated routing protocol to support routing for both IPv4 and
  194.    IPv6.  At the time that this is written there is no protocol which
  195.    has yet been enhanced to support this. This minor enhancement does
  196.    not change the basic dual-IP-layer nature of the transition.
  197.  
  198.    For initial testing of IPv6 with IPv4-compatible addresses, it may be
  199.    useful to allow forwarding of IPv6 packets without running any IPv6-
  200.    compatible routing protocol. In this case, a dual (IPv4 and IPv6)
  201.    router could run routing protocols for IPv4 only. It then forwards
  202.    IPv4 packets based on routes learned from IPv4 routing protocols.
  203.    Also, it forwards IPv6 packets with an IPv4-compatible destination
  204.    address based on the route for the associated IPv4 address. There are
  205.    a couple of drawbacks with this approach: (i) It does not
  206.    specifically allow for routing of IPv6 packets via IPv6-capable
  207.    routers while avoiding and routing around IPv4-only routers; (ii) It
  208.    does not produce routes for "non-compatible" IPv6 addresses. With
  209.    this method the routing protocol does not tell the router whether
  210.    neighboring routers are IPv6-compatible. However, neighbor discovery
  211.    may be used to determine this. Then if an IPv6 packet needs to be
  212.    forwarded to an IPv4-only router it can be encapsulated to the
  213.    destination host.
  214.  
  215. 3.2 Manually Configured Static Tunnels
  216.  
  217.    Tunneling techniques are already widely deployed for bridging non-IP
  218.    network layer protocols (e.g. AppleTalk, CLNP, IPX) over IPv4 routed
  219.    infrastructure. IPv4 tunneling is an encapsulation of arbitrary
  220.    packets inside IPv4 datagrams that are forwarded over IPv4
  221.    infrastructure between tunnel endpoints. For a tunneled protocol, a
  222.    tunnel appears as a single-hop link (i.e. routers that establish a
  223.  
  224.  
  225.  
  226. Callon & Haskin              Informational                      [Page 4]
  227.  
  228. RFC 2185           Routing Aspects Of IPv6 Transition     September 1997
  229.  
  230.  
  231.    tunnel over a network layer infrastructure can inter-operate over the
  232.    tunnel as if it were a one-hop, point-to-point link). Once a tunnel
  233.    is established, routers at the tunnel endpoints can establish routing
  234.    adjacencies and exchange routing information.  Describing the
  235.    protocols for performing encapsulation is outside the scope of this
  236.    paper (see [1]).  Static point-to-point tunnels may also be
  237.    established between a host and a router, or between two hosts. Again,
  238.    each manually configured point-to-point tunnel is treated as if it
  239.    was a simple point-to-point link.
  240.  
  241. 3.3  Automatic Tunnels
  242.  
  243.    Automatic tunneling may be used when both the sending and destination
  244.    nodes are connected by IPv4 routing.  In order for automatic
  245.    tunneling to work, both nodes must be assigned IPv4-compatible IPv6
  246.    addresses.  Automatic tunneling can be especially useful where either
  247.    source or destination hosts (or both) do not have any adjacent IPv6-
  248.    capable router.  Note that by "adjacent router", this includes
  249.    routers which are logically adjacent by virtue of a manually
  250.    configured point-to-point tunnel (which is treated as if it is a
  251.    simple point-to-point link).
  252.  
  253.    With automatic tunneling, the resulting IPv4 packet is forwarded by
  254.    IPv4 routers as a normal IPv4 packet, using IPv4 routes learned from
  255.    routing protocols. There are therefore no special issues related to
  256.    IPv4 routing in this case. There are however routing issues relating
  257.    to how IPv6 routing works in a manner which is compatible with
  258.    automatic tunneling, and how tunnel endpoint addresses are selected
  259.    during the encapsulation process.  Automatic tunneling is useful from
  260.    a source host to the destination host, from a source host to a
  261.    router, and from a router to the destination host. Mechanisms for
  262.    automatic tunneling from a router to another router are not currently
  263.    defined.
  264.  
  265. 3.3.1 Host to Host Automatic Tunneling
  266.  
  267.    If both source and destination hosts make use of IPv4-compatible IPv6
  268.    addresses, then it is possible for automatic tunneling to be used for
  269.    the entire path from the source host to the destination host. In this
  270.    case, the IPv6 packet is encapsulated in an IPv4 packet by the source
  271.    host, and is forwarded by routers as an IPv4 packet all the way to
  272.    the destination host. This allows initial deployment of IPv6-capable
  273.    hosts to be done prior to the update of any routers.
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Callon & Haskin              Informational                      [Page 5]
  283.  
  284. RFC 2185           Routing Aspects Of IPv6 Transition     September 1997
  285.  
  286.  
  287.    A source host may make use of Host to Host automatic tunneling
  288.    provided that the following are both true:
  289.  
  290.      - the source address is an IPv4-compatible IPv6 address.
  291.      - the destination address is an IPv4-compatible IPv6 address.
  292.      - the source host does know of one or more neighboring IPv4-
  293.        capable routers, or the source and destination are on the
  294.        same subnet.
  295.  
  296.    If all of these requirements are true, then the source host may
  297.    encapsulate the IPv6 packet in an IPv4 packet, using a source IPv4
  298.    address which is extracted from the associated source IPv6 address,
  299.    and using a destination IPv4 address which is extracted from the
  300.    associated destination IPv6 address.
  301.  
  302.    Where host to host automatic tunneling is used, the packet is
  303.    forwarded as a normal IPv4 packet for its entire path, and is
  304.    decapsulated (i.e., the IPv4 header is removed) only by the
  305.    destination host.
  306.  
  307. 3.3.2 Host to Router Configured Default Tunneling
  308.  
  309.    In some cases "configured default" tunneling may be used to
  310.    encapsulate the IPv6 packet for transmission from the source host to
  311.    an IPv6-backbone. However, this requires that the source host be
  312.    configured with an IPv4 address to use for tunneling to the backbone.
  313.  
  314.    Configured default tunneling is particularly useful if the source
  315.    host does not know of any local IPv6-capable router (implying that
  316.    the packet cannot be forwarded as a normal IPv6 packet directly over
  317.    the link layer), and when the destination host does not have an
  318.    IPv4-compatible IPv6 address (implying that host to host tunneling
  319.    cannot be used).
  320.  
  321.    Host to router configured default tunneling may optionally also be
  322.    used even when the host does know of a local IPv6 router. In this
  323.    case it is a policy decision whether the host prefers to send a
  324.    native IPv6 packet to the IPv6-capable router or prefers to send an
  325.    encapsulated packet to the configured tunnel endpoint.
  326.  
  327.    Similarly host to router default configured tunneling may be used
  328.    even when the destination address is an IPv4-compatible IPv6 address.
  329.    In this case for example a policy decision may be made to prefer
  330.    tunneling for part of the path and native IPv6 for part of the path,
  331.    or alternatively to use tunneling for the entire path from source
  332.    host to destination host.
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Callon & Haskin              Informational                      [Page 6]
  339.  
  340. RFC 2185           Routing Aspects Of IPv6 Transition     September 1997
  341.  
  342.  
  343.    A source host may make use of host to router configured default
  344.    tunneling provided that ALL of the following are true:
  345.  
  346.      - the source address is an IPv4-compatible IPv6 address.
  347.      - the source host does know of one or more neighboring IPv4-
  348.        capable routers
  349.      - the source host has been configured with an IPv4 address of
  350.        an dual router which can serve as the tunnel endpoint.
  351.  
  352.    If all of these requirements are true, then the source host may
  353.    encapsulate the IPv6 packet in an IPv4 packet, using a source IPv4
  354.    address which is extracted from the associated source IPv6 address,
  355.    and using a destination IPv4 address which corresponds to the
  356.    configured address of the dual router which is serving as the tunnel
  357.    endpoint.
  358.  
  359.    When host to router configured default tunneling is used, the packet
  360.    is forwarded as a normal IPv4 packet from the source host to the dual
  361.    router serving as tunnel endpoint, is decapsulated by the dual
  362.    router, and is then forwarded as a normal IPv6 packet by the tunnel
  363.    endpoint.
  364.  
  365. 3.3.2.1 Routing to the Endpoint for the Configured Default Tunnel
  366.  
  367.    The dual router which is serving as the end point of the host to
  368.    router configured default tunnel must advertise reachability into
  369.    IPv4 routing sufficient to cause the encapsulated packet to be
  370.    forwarded to it.
  371.  
  372.    The simplest approach is for a single IPv4 address to be assigned for
  373.    use as a tunnel endpoint.  One or more dual routers,  which have
  374.    connectivity to the IPv6 backbone and which are capable of serving as
  375.    tunnel endpoint,  advertise a host route to this address into IPv4
  376.    routing in the IPv4-only region.  Each dual host in the associated
  377.    IPv4-only region is configured with the address of this tunnel
  378.    endpoint and selects a route to this address for forwarding
  379.    encapsulated packet to a tunnel end point  (for example, the nearest
  380.    tunnel end point, based on whatever metric(s) the local routing
  381.    protocol is using).
  382.  
  383.    Finally, in some cases there may be some reason for specific hosts to
  384.    prefer one of several tunnel endpoints, while allowing all potential
  385.    tunnel endpoints to serve as backups in case the preferred endpoint
  386.    is not reachable. In this case, each dual router with IPv6 backbone
  387.    connectivity which is serving as potential tunnel endpoint is given a
  388.    unique IPv4 address taken from a single IPv4 address block (where the
  389.    IPv4 address block is assigned either to the organization
  390.    administering the IPv4-only region, or to the organization
  391.  
  392.  
  393.  
  394. Callon & Haskin              Informational                      [Page 7]
  395.  
  396. RFC 2185           Routing Aspects Of IPv6 Transition     September 1997
  397.  
  398.  
  399.    administering the local part of the IPv6 backbone). In the likely
  400.    case that there are much less than 250 such dual routers serving as
  401.    tunnel endpoints, we suggest using multiple IPv4 addresses selected
  402.    from a single 24-bit IPv4 address prefix for this purpose. Each dual
  403.    router then advertises two routes into the IPv4 region: A host route
  404.    corresponding to the tunnel endpoint address specifically assigned to
  405.    it, and also a standard (prefix) route to the associated IPv4 address
  406.    block. Each dual host in the IPv4-only region is configured with a
  407.    tunnel endpoint address which corresponds to the preferred tunnel
  408.    endpoint for it to use. If the associated dual router is operating,
  409.    then the packet will be delivered to it based upon the host route
  410.    that it is advertising into the IPv4-only region. However, if the
  411.    associated dual router is down, but some other dual router serving as
  412.    a potential tunnel endpoint is operating, then the packet will be
  413.    delivered to the nearest operating tunnel endpoint.
  414.  
  415. 3.3.3 Router to Host Automatic Tunneling
  416.  
  417.    In some cases the source host may have direct connectivity to one or
  418.    more IPv6-capable routers,  but the destination host might not have
  419.    direct connectivity to any IPv6-capable router. In this case,
  420.    provided that the destination host has an IPv4-compatible IPv6
  421.    address, normal IPv6 forwarding may be used for part of the packet's
  422.    path, and router to host tunneling may be used to get the packet from
  423.    an encapsulating dual router to the destination host.
  424.  
  425.    In this case, the hard part is the IPv6 routing required to deliver
  426.    the IPv6 packet from the source host to the encapsulating router. For
  427.    this to happen, the encapsulating router has to advertise
  428.    reachability for the appropriate IPv4-compatible IPv6 addresses into
  429.    the IPv6 routing region.  With this approach, all IPv6 packets
  430.    (including those with IPv4-compatible addresses) are routed using
  431.    routes calculated  from native IPv6 routing. This implies that
  432.    encapsulating routers need to advertise into IPv6 routing specific
  433.    route entries corresponding to any IPv4-compatible IPv6 addresses
  434.    that belong to dual hosts which can be reached in an neighboring
  435.    IPv4-only region. This requires manual configuration of the
  436.    encapsulating routers to control which routes are to be injected into
  437.    IPv6 routing protocols.  Nodes in the IPv6 routing region would use
  438.    such a route to forward IPv6 packets along the routed path toward the
  439.    router that injected (leaked) the route, at which point packets are
  440.    encapsulated and forwarded to the destination host using normal IPv4
  441.    routing.
  442.  
  443.    Depending upon the extent of the IPv4-only and dual routing regions,
  444.    the leaking of routes may be relatively simple or may be more
  445.    complex.  For example, consider a dual Internet backbone, connected
  446.    via one or two dual routers to an IPv4-only stub routing domain. In
  447.  
  448.  
  449.  
  450. Callon & Haskin              Informational                      [Page 8]
  451.  
  452. RFC 2185           Routing Aspects Of IPv6 Transition     September 1997
  453.  
  454.  
  455.    this case, it is likely that there is already one summary address
  456.    prefix which is being advertised into the Internet backbone in order
  457.    to summarize IPv4 reachability to the stub domain.  In such a case,
  458.    the border routers would be configured to announce the IPv4 address
  459.    prefix into the IPv4 routing within the backbone, and also announce
  460.    the corresponding IPv4-compatible IPv6 address prefix into IPv6
  461.    routing within the backbone.
  462.  
  463.    A more difficult case involves the border between a major Internet
  464.    backbone which is IPv4-only, and a major Internet backbone which
  465.    supports both IPv4 and IPv6. In this case, it requires that either
  466.    (i) the entire IPv4 routing table be fed into IPv6 routing in the
  467.    dual routing domain (implying a doubling of the size of the routing
  468.    tables in the dual domain); or (ii) Manual configuration is required
  469.    to determine which of the addresses contained in the Internet routing
  470.    table include one or more IPv6-capable systems, and only these
  471.    addresses be advertised into IPv6 routing in the dual domain.
  472.  
  473. 3.3.4 Example of How Automatic Tunnels May be Combined
  474.  
  475.    Clearly tunneling is useful only if communication can be achieved in
  476.    both directions. However, different forms of tunneling may be used in
  477.    each direction, depending upon the local environment, the form of
  478.    address of the two hosts which are exchanging IPv6 packets, and the
  479.    policies in use.
  480.  
  481.    Table 1 summarizes the form of tunneling that will result given each
  482.    possible combination of host capabilities, and given one possible set
  483.    of policy decisions. This table is derived directly from the
  484.    requirements for automatic tunneling discussed above.
  485.  
  486.    The example in table 1 uses a specific set of policy decisions: It is
  487.    assumed in table 1 that the source host will transmit a native IPv6
  488.    where possible in preference over encapsulation. It is also assumed
  489.    that where tunneling is needed, host to host tunneling will be
  490.    preferred over host to router tunneling. Other combinations are
  491.    therefore possible if other policies are used.
  492.  
  493.    Due to a specific policy choice, the default sending rules in [1] may
  494.    not be followed.
  495.  
  496.    Note that IPv6-capable hosts which do not have any local IPv6 router
  497.    must be given an IPv4-compatible v6 address in order to make use of
  498.    their IPv6 capabilities. Thus, there are no entries for IPv6-capable
  499.    hosts which have an incompatible IPv6 address and which also do not
  500.    have any connectivity to any local IPv6 router. In fact, such hosts
  501.    could communicate with other IPv6 hosts on the same local network
  502.    without the use of a router.  However, since this document focuses on
  503.  
  504.  
  505.  
  506. Callon & Haskin              Informational                      [Page 9]
  507.  
  508. RFC 2185           Routing Aspects Of IPv6 Transition     September 1997
  509.  
  510.  
  511.    routing and router implications of IPv6 transition, direct
  512.    communication between two hosts on the same local network without any
  513.    intervening router is outside the scope of this document.
  514.  
  515.    Also, table 1 does not consider manually configured point-to-point
  516.    tunnels.  Such tunnels are treated as if they were normal point-to-
  517.    point links. Thus any two IPv6-capable devices which have a manually
  518.    configured tunnel between them may be considered to be directly
  519.    connected.
  520.  
  521.   -----------------+------------------+--------------------------
  522.   Host A           | Host B           | Result
  523.   -----------------+------------------+--------------------------
  524.   v4-compat. addr. | v4-compat. addr. | host to host tunneling
  525.   no local v6 rtr. | no local v6 rtr. | in both directions
  526.   -----------------+------------------+--------------------------
  527.   v4-compat. addr. | v4-compat. addr. | A->B: host to host tunnel
  528.   no local v6 rtr. | local v6 rtr.    | B->A: v6 forwarding plus
  529.                    |                  |       rtr->host tunnel
  530.   -----------------+------------------+--------------------------
  531.   v4-compat. addr. | incompat. addr.  | A->B: host to rtr tunnel
  532.   no local v6 rtr. | local v6 rtr.    |       plus v6 forwarding
  533.                    |                  | B->A: v6 forwarding plus
  534.                    |                  |       rtr to host tunnel
  535.   -----------------+------------------+--------------------------
  536.   v4-compat. addr. | v4-compat. addr. | end to end native v6
  537.   local v6 rtr.    | local v6 rtr.    | in both directions
  538.   -----------------+------------------+--------------------------
  539.   v4-compat. addr. | incompat. addr.  | end to end native v6
  540.   local v6 rtr.    | local v6 rtr.    | in both directions
  541.   -----------------+------------------+--------------------------
  542.   incompat. addr.  | incompat. addr.  | end to end native v6
  543.   local v6 rtr.    | local v6 rtr.    | in both directions
  544.   -----------------+------------------+--------------------------
  545.  
  546.           Table 1: Summary of Automatic Tunneling Combinations
  547.  
  548. 3.3.5 Example
  549.  
  550.    Figure 2 illustrates an example network with two regions A and B.
  551.    Region A is dual, meaning that the routers within region A are
  552.    capable of forwarding both IPv4 and IPv6. Region B is IPv4-only,
  553.    implying that the routers within region B are capable of routing only
  554.    IPv4. The illustrated routers R1 through R4 are dual. The illustrated
  555.    routers r5 through r9 are IPv4-only. Also assume that hosts H3
  556.    through H8 are dual. Thus H7 and H8 have been upgraded to be IPv6-
  557.    capable, even though they exist in a region in which the routers are
  558.    not IPv6-capable. However, host h1 and h2 are IPv4-only.
  559.  
  560.  
  561.  
  562. Callon & Haskin              Informational                     [Page 10]
  563.  
  564. RFC 2185           Routing Aspects Of IPv6 Transition     September 1997
  565.  
  566.  
  567.      .........................       .......................
  568.      .                       .       .                     .
  569.      .       h1              .       .              |-h2   .
  570.      .       |               .       .              |      .
  571.      .  H3---R1--------R2---------------r5----r9----+      .
  572.      .       |         |     .       .        |     |-H7   .
  573.      .       |         |     .       .        |            .
  574.      .       |         |     .       .        |            .
  575.      .  H4---R3--------R4---------------r6----r8-----H8    .
  576.      .                       .       .                     .
  577.      .........................       .......................
  578.       Region A (Dual Routers)        Region B (IPv4-only Rtrs)
  579.  
  580.                 Figure 2: Example of Automatic Tunneling
  581.  
  582.    Consider a packet from h1 to H8. In this case, since h1 is IPv4-only,
  583.    it will send an IPv4 packet. This packet will traverse regions A and
  584.    B as a normal IPv4 packet for the entire path. Routing will take
  585.    place using normal IPv4 routing methods, with no change from the
  586.    operation of the current IPv4 Internet (modulo normal advances in the
  587.    operation of IPv4, of course). Similarly, consider a return packet
  588.    from H8 to h1. Here again H8 will transmit an IPv4 packet, which will
  589.    be forwarded as a normal IPv4 packet for the entire path.
  590.  
  591.    Consider a packet from H3 to H8. In this case, since H8 is in an
  592.    IPv4-only routing domain, we can assume that H8 uses an IPv4-
  593.    compatible IPv6 address. Since both source and destination are IPv6-
  594.    capable, H3 may transmit an IPv6 packet destined to H8. The packet
  595.    will be forwarded as far as R2 (or R4) as an IPv6 packet.
  596.  
  597.    Router R2 (or R4) will then encapsulate the full IPv6 packet in an
  598.    IPv4 header for delivery to H8. In this case it is necessary for
  599.    routing of IPv6 within region A to be capable of delivering this
  600.    packet correctly to R2 (or R4). As explained in section 3.3, routers
  601.    R2 and R4 may inject routes to IPv4-compatible IPv6 addresses into
  602.    the IPv6 routing used within region A corresponding to the routes
  603.    which are available via IPv4 routing within region B.
  604.  
  605.    Consider a return packet from H8 to H3. Again, since both source and
  606.    destination are IPv6-capable, a IPv6 packet may be transmitted by H8.
  607.    However, since H8 does not have any direct connectivity to an IPv6-
  608.    capable router, H8 must make use of an automatic tunnel.  Which form
  609.    of automatic tunnel will be used depends upon the type of address
  610.    assigned to H3.
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Callon & Haskin              Informational                     [Page 11]
  619.  
  620. RFC 2185           Routing Aspects Of IPv6 Transition     September 1997
  621.  
  622.  
  623.    If H3 is assigned an IPv4-compatible address, then the requirements
  624.    specified in section 3.3.1 will all be satisfied. In this case host
  625.    H8 may encapsulate the full IPv6 packet in an IPv4 header using a
  626.    source IPv4 address extracted from the IPv6 address of H8, and using
  627.    a destination IPv4 address extracted from the IPv6 address of H3.
  628.  
  629.    If H3 has an IPv6-only address, then it is not possible for H8 to
  630.    extract an IPv4 address to use as the destination tunnel address from
  631.    the IPv6 address of H3.  In this case H8 must use host to router
  632.    tunneling, as specified in section 3.3.2. In this case one or both of
  633.    R2 and R4 must have been configured with a tunnel endpoint IPv4
  634.    address (R2 and R4 may use either the same address or different
  635.    addresses for this purpose).  R2 and/or R4 therefore advertise
  636.    reachability to the tunnel endpoint address to r5 and r6
  637.    (respectively), which advertise this reachability information into
  638.    region B. Also, H8 must have been configured to know which tunnel
  639.    endpoint address to use for host to router tunneling. This will
  640.    result in the IPv6 packet, encapsulated in an IPv4 header, to be
  641.    transmitted as far as the border router R2 or R4. The border router
  642.    will then strip off the IPv4 header, and forward the remaining IPv6
  643.    packet as a normal IPv6 packet using the normal IPv6 routing used in
  644.    region A.
  645.  
  646. 4. SECURITY CONSIDERATIONS
  647.  
  648.    Use of tunneling may violate firewalls of underlying routing
  649.    infrastructure.
  650.  
  651.    No other security issues are discussed in this paper.
  652.  
  653. 5. REFERENCES
  654.  
  655.    [1] Gilligan, B. and E. Nordmark. Transition Mechanisms for IPv6
  656.        Hosts and Routers, Sun Microsystems, RFC 1933,  April 1996.
  657.  
  658.  
  659. 6. AUTHORS' ADDRESSES
  660.  
  661.    Ross Callon
  662.    Cascade Communications Co.
  663.    5 Carlisle Road
  664.    Westford, MA 01886
  665.    email: rcallon@casc.com
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Callon & Haskin              Informational                     [Page 12]
  675.  
  676. RFC 2185           Routing Aspects Of IPv6 Transition     September 1997
  677.  
  678.  
  679.    Dimitry Haskin
  680.    Bay Networks, Inc.
  681.    2 Federal Street
  682.    Billerica, MA 01821
  683.    email: dhaskin@baynetworks.com
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Callon & Haskin              Informational                     [Page 13]
  731.  
  732.