G Cristallo,G Diribarne D Ooms, D.Galand, C Preguica ALCATEL A.Baudot FRANCE TELECOM Internet Draft Document: July 2001 Expires January 2002 Category: Experimental Connecting IPV6 islands within a same IPV4 AS Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 [1]. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. 1. Abstract This draft proposes a mechanism that allows an incremental deployment of IPv6 inside an IPv4 AS. It aims at automatically set up tunnels, using EGP standard capabilities, in order to gradually introduce IPv6 connectivity within an initially IPv4 AS. From a scope point of view, this technique must be considered as an intermediary between ISATAP and interdomain techniques ([6to4], [BGP-tunnel]). The connectivity between IPv6 islands within a domain is obtained by the introduction of Routing Protocols Gateways (RPG). IPv6-specific routing information is transferred over the IPv4 routing infrastructure and allows the automatic creation of tunnels between the IPv6 islands. First, the general mechanism of an RPG is explained. Then, an instantiation of an RPG for OSPFv2/OSPFv3 is detailed and the structure of a generic opaque LSA is specified. 2. Conventions and terminology used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [2]. Terminology: o Routing Protocols Gateway RPG A routing protocols gateway is a component able to transfer routing information (e.g. IPv6 prefixes, metrics...) from a routing protocol to another one. 3. Introduction This draft proposes a mechanism that allows an incremental deployment of IPv6 inside an IPv4 AS. The mechanism is intended as a transition tool used during the period of co-existence of IPv4 and IPv6. In a late transition phase, the same mechanism can be applied to IPv4 islands in an IPv6 domain. In this document, an IPv6 island is a connected set of IPv6 nodes surrounded by an IPv4 network, separated from other IPv6 networks. The nodes inside an IPv6 island can be IPv6-only nodes, Dual Stack nodes, or both can be mixed. Internal nodes should only use their IPv6 capabilities. An island will be connected to the IPv4 routing infrastructure with dual stack (IPv4/IPv6) routers. 4. Specification 4.1 General case As previously said, this technique of transition is used to provide connectivity between IPv6 islands within the same IPv4 AS. The figure below illustrates the situation. +--------------------------------+ | | | +-------+ +-------+ | | |IPv6 * - - - -* IPv6 | | | |island | |island | | | +-------+ +-------+ | | | | | | IPv4 AS domain | +--------------------------------+ Note : The dual stack routers integrating Routing Protocols gateways are represented with "*". These IPv6 islands are connected to the IPv4 AS with dual stack (IPv4/IPv6) routers containing an RPG. RPGs could be developed for a lot of routing protocol combinations: OSPFv3, ISISv6, etc running in the IPv6 islands and OSPFv2, ISISv4, RIP in the IPv4 AS domain) For the moment, we will only consider an RPG for interconnecting OSPFv3 and OSPFv2. 4.2 Connecting IPv6 islands running OSPFv3 over an IPv4 AS running OSPFv2. This case is depicted below: +--------------------------------+ | | | +-------+ +-------+ | | |IPv6 *- - - - - *IPv6 | | | |island | |island | | | |OSPFv3 | |OSPFv3 | | | +-------+ +-------+ | | | | | | IPv4 AS domain (OSPFv2) | +--------------------------------+ RPGs transfer specific information arriving via OSPFv2 to OSPFv3 and vice versa. In this way, it passes information from one OSPFv3 island to another OSPFv3 island crossing one or multiple OSPFv2 areas. To create tunnels between IPv6 islands the IPv6 prefixes of a particular island will be passed by OSPFv3 to OSPFv2 via the RPG. The RPG will construct an OSPFv2 message and will flood it to all other OSPFv2 nodes. An OSPF v2 handling specific routing protocol gateway message will receive this message and pass it to OSPF v3 via the RPG. This naturally drives to the definition of an OPAQUE-LSA for OSPF v2 that carries IPv6-specific information. The next section defines a general opaque LSA format that will be used for this case. 4.3 Definition of a Multi-protocol opaque LSA As specified in the RFC 2370, opaque LSAs consist of standard LSA header followed by application specific information. Opaque LSAs provide a generalized mechanism to allow for the future extensibility of OSPF. The information contained in Opaque LSAs may be used directly by OSPF or indirectly by any application that wishes information to be distributed throughout the OSPF domain. This draft applies for types (10 ,11) of opaque LSAs, according to the selected scope. The type 10 is used to connect two islands included in the same area. The type 11 is used to connect two island included in the same Autonomous System According to the packet format of the opaque LSA given in appendix A.2 of the RFC 2370 : 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS age | Options | 10 or 11 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opaque Type | Opaque ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS checksum | Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI | SAFI | orig Rout prot| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Value ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | the solution is to use: o The Opaque Type to define the type of information carried by the opaque LSA. Its value is registered by IANA. In that case it indicates that it carries a tunnel end point value and transferred prefixes. o The opaque ID field is TBD o The AFI and SAFI contains the Address Family and Subsequent Address Family Identifiers that are carried by the opaque LSA. It allows to carry multi-protocol as defined by MP_BGP. These fields are already defined by IANA and are re-used in the opaque LSA, since it fits the same purpose. The AFI and SAFI will express the characteristics of the originating island. o The Originating Routing Protocol (8 bits) specifies the kind and the version of the routing protocol running inside the origin islands (e.g. OSPF v3,RIPng etc). An opaque LSA contains only one value specifying only one routing protocol. The value 0 is used when no IPv6 routing protocol runs inside the IPv6 island. Other values should be defined for the other originating routing protocols. o Different TLVs described here under. For all TLV, eight bits are used to define Type, 8 bits are used to define Length. These TLVs are used: Type 1: It corresponds to the tunnel end point address. The address carried is unicast address, with a length corresponding to the address length (128 for IPv6, 32 for IPV4) Type 1 is mandatory in this opaque LSA and must appear only once in the opaque LSA. Type 2 : The format of this type is : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=2 |TLV Leng=1byte | cost (3 bytes) ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... cost | prefix length | prefix of the island... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ This type is used to transfer one prefix of the island with the related cost. This prefix will be ADDED in the routing database of the remote island(s). The type 2 is optional in this opaque LSA. A cost field has been defined to contain cost from originating routing protocols. If AFI = IPV6, the prefix of the island will be encoded in a 128 bits structure. If AFI = IPV4, the prefix of the island will be encoded in a 32 bits structure. Type 3: To transfer and withdraw one prefix of the island. This prefix will be WITHDRAWN in the routing database of the remote IPv6 island. New TLVs can be added later. 4.4 Role of routing protocols gateways at emission and reception of opaque LSA The triggers for the emission of this opaque LSA for OSPF v2 are implementation dependant and are not tackled in this document. Nevertheless, the operations that have to be performed at emission and reception of this opaque LSA are briefly detailed. 4.4.1 Emission of opaque LSA When the application of the IPv6 egress router decides to send LSAs, it includes all the information inside the opaque LSA with respect to the framework detailed previously specifying the opaque ID and, the opaque Type. This opaque LSA is broadcasted throughout the network (with the related scope). Emission of WITHDRAWN happens when an OSPF node is not visible anymore. The RPG is in charge of sending a specific WITHDRAWN with the impacted prefixes. 4.4.2 Reception of opaque LSA When receiving this kind of opaque LSA, a tunnel is created with the information given by the opaque LSA : the TLV Type 1 giving the tunnel end point information and the TLVs Type 2 giving the prefixes information. The way tunnel can be setup and used is implementation dependant. It can be automatic or configured tunnels. At reception phase, the same process will be performed when the route has to be withdrawn. The prefixes are withdrawn from the routing table and the WITHDRAWN information is flooded into the island. When reception of these opaque LSA are successfully completed, each IPv6 island included in this IPv4 AS has the opportunity to communicate with all the other IPv6 islands included in this AS. 4.4.3 OSPF cost use In the Type 2 field, a cost has been designed. This field cost needs to be refined here. Indeed, this field contains a OSPF-based metric, but with modification due to the cross of different routing protocols. +-----------------------------------------------------------+ | | | IPv6 island A (OSPFv3) IPv6 island B (OSPFv3) | | +------------+ +------------+ | | | | | | | | | RPG A RPG B | | | | A...........................*..............................................................................*...............C | | | | metric A | metric B | metric C | | | +------------+ +------------+ | | | | IPV4 AS domain (OSPFv2) | +-----------------------------------------------------------+ RPG A is a member of IPv6 island A. It is an OSPFv2/v3 router. RPG A calculates a path toward destination A in IPv6 island A with a cost equal to metric A. It creates an opaque LSA for advertisement of this prefix to IPv6 island B. This opaque LSA contains a TLV type 2 with prefix A and a "metric A". Metric A is an OSPFv3 metric. RPG B receives this opaque LSA. RPG B calculates a path to RPG A with a cost equal to metric B: this is an OSPFv2 metric because the path between RPG B and A crosses the IPv4 domain. The total cost, from RPG B to RPG A is equal to metric A + metric B. Since the two metrics come from different origins, the total cost from RPG B to destination A is set to: metric A + metric B + DELTA. RPG B advertises this prefix A, within IPv6 island B, with the cost: metric A + metric B + DELTA. DELTA would be a fixed cost that allow to avoid problem when cost that allow to give the RPG prefixes less specific than home network. The value of DELTA is TBD: it probably will be a configurable parameter. +-----------------------------------------------------------+ | | | IPv6 island A (OSPFv3) IPv6 island B (OSPFv3) | | +------------+ +------------+ | | | | | | | | | RGP A RPG B | | | | A--met AA-*---------metric BA--------* | | | | \-met CA-*---------metric BC------ /| | | | | RPG C | | | | +------------+ +------------+ | | | | IPV4 AS domain (OSPFv2) | +-----------------------------------------------------------+ RPG A and RPG C both advertise prefix A with -respectively- metric AA and metric CA. RPG knows the cost of the path to reach A and C -respectively BA and BC. The costs of the two paths to A are: via RPG A: metric BA + metric AA + DELTA via RPG C: metric BC + metric CA + DELTA RPG B (or any node within island B) can thus decide which of the two paths is the best one. No loop is introduced and no configuration is needed. RPG advertises the best of the two paths within IPv6 island B. 4.5 Routers requirements All the routers present in the IPv4 AS, must be opaque-LSA capable in order to assure the transfer of the opaque LSAs. 5. IANA Considerations 6. Number for opaque Type need to be registered at IANA 7. Security considerations The security mechanisms of the native routing protocols are used. 8. References 9. Author's Addresses Alain Baudot FRANCE TELECOM R&D FTR&D/DMI/SIR/IPI 42 rue des coutures BP 6423 F-14066 CAEN Cedex 4 Phone: +33 2 31 75 94 27 Email: alain.baudot@francetelecom.com Geoffrey Cristallo ALCATEL Fr. Wellesplein 1, 2018 Antwerp, Belgium Email: Geoffrey.Cristallo@alcatel.be Gilles Diribarne ALCATEL R&I Route de Nozay F-91461 Marcoussis Cedex Phone: +33 1 69 63 46 45 Email: Gilles.Diribarne@alcatel.fr Damien Galand ALCATEL R&I Route de Nozay, F-91461 Marcoussis Cedex FRANCE Phone: +33 1 69 63 41 84 Email: Damien.Galand@alcatel.fr Dirk Ooms ALCATEL Fr. Wellesplein 1, 2018 Antwerp, Belgium Email: Dirk.ooms@alcatel.be Christophe Preguica ALCATEL R&I Route de Nozay F-91461 Marcoussis Cedex Phone: +33 1 69 63 44 09 Email: Christophe.Preguica@ms.alcatel.fr Full Copyright Statement "Copyright (C) The Internet Society (date). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into 1 Moy, J., "OSPF Version 2", RFC 2328, April 1998. 2 Rekhter, Y. and Li, T., "A Border Gateway Protocol 4 (BGP-4)", RFC 1771, March 1995 3 Coltun, R., Ferguson, D. and Moy, J., "OSPF for IPv6", RFC 2740, December 1999 4. Templin, Fred L., "Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)", draft-ietf-ngtrans-isatap-00.txt, March 2001