Network Working Group                                        M. Blanchet
Internet-Draft                                               Viagenie inc
Expires: August 22, 2002                                     February 22,

          DSTM IPv4 over IPv6 tunnel profile for Tunnel Setup Protocol(TSP)

Status of this Memo

    This document is an Internet-Draft and is in full conformance with
    all provisions of Section 10 of RFC2026.

    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-

    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

    The list of Internet-Draft Shadow Directories can be accessed at

    This Internet-Draft will expire on August 22, 2002.

Copyright Notice

    Copyright (C) The Internet Society (2002).  All Rights Reserved.


    This document proposes a tunnel profile to setup IPv4 over IPv6
    tunnels to be used in conjonction with the DSTM mechanism
    with the Tunnel Setup Protocol (TSP). With TSP, a DSTM server can
    serve the IPv4 address to the DSTM nodes with appropriate security
    and problem handling.

1. Introduction

DSTM [1] is an IPv6 transition mechanism for deploying IPv6 networks where
some dual-stack nodes need to communicate with IPv4.
DSTM provides a IPv4 in IPv6 tunnel for the IPv4 traffic to be carried to
the DSTM gateway.
DSTM nodes need to get a temporary IPv4 address for the time of the
TSP [2] is a protocol designed to negociate tunnel information, as IP
addresses, prefixes and routing information, through optional
It provides redundancy of the service. This document proposes a profile of
TSP to be used by DSTM nodes in order to negociate the necessary
information with the DSTM server to be able to build the tunnel. One of the
information is the temporary IPv4 address.

2. TSP profile for DSTM

2.1 Overview

This profile uses the included DTD for the xml format of the message.
The dtd contains the description of the tunnel XML message.  This
    message is used by the TSP-DSTM compliant server to provide the
    information to the DSTM node to establish an IPv4 in IPv6 tunnel.
     Action for the specified tunnel is provided in the
    'action' attribute of the 'tunnel' message.  Valid actions for this
    profile are : 'create', 'info' and 'delete'.

    The 'create' action is used to request a new tunnel or update an
    existing tunnel.  The 'info' action is used to request current
    properties of an existing tunnel.  The 'delete' action is used to
    remove an existing tunnel from the server.

    The 'tunnel' message contains three elements:

    client Client's information

    server Server's information

    broker List of other server's

2.2 Client element

    The client element contains 1 element: 'address'.
    This element is used to describe the client needs and will be used
    by the server to create the appropriate tunnel.  This is the only
    element sent by a client.

    The 'address' element is used to identify the client IPv6 endpoint of
    the tunnel.  The client MUST send only an IPv6 address to the server.
    The server will then return the IPv4 address endpoint and domain name
    inside the 'client' element when the tunnel is created or updated.

2.3 Server element

    The 'server' element contains 1 element: 'address'.
    This element is used to describe the server's tunnel endpoint.
    The 'address' element is used to provide both IPv4 and IPv6 addresses
    of the server's tunnel endpoint.

2.4 broker element

    The 'broker' element is used by a server to provide a alternate list
    of servers to a client in the case where the server is not able to
    provide the requested tunnel.

    The 'broker' element will contain a series of 'address' element.

3. Tunnel request

    This section presents an example of a host tunnel request and Reply

    A simple tunnel request consist of a 'tunnel' element which contains
    an 'address' element

    Simple tunnel request made by a client.

          -- Successful TCP Connection --
          C:VERSION=1.0 CR LF
          S:200 Authentication successful CR LF
          C:Content-length: 123 CR LF
            <tunnel action="create" type="v4v6">
            </tunnel> CR LF
          S: Content-length: 234 CR LF
             200 OK CR LF
             <tunnel action="info" type="v4v6" lifetime="1440">
                  <address type="ipv4"></address>
                  <address type="ipv4"></address>
                  <address type="dn">userid.domain</address>
             </tunnel> CR LF

4. Error codes

    This profile dependant error codes are :

    501 Invalid IPv4 address

    502 Invalid or duplicate nicname

    505 No more tunnels available

    521 Invalid IPv6 address

    if a list of tunnel servers is following the error code as a referal
    service, then 1000 is added to the error code.

5. IANA Considerations

    The TUNNELTYPE "v4v6" is registered for this document.

6. Security considerations

    This protocol is also in accordance with guidelines for IPv6
    transition [3] about possible abuse against IPv6 transition

7. References

    [1]  Bound J. and al., "Dual Stack Transition Mechanism (DSTM)", Work
in progress,
         draft-ietf-ngtrans-dstm-07.txt, February 2002.

    [2]  Blanchet, M., "Tunnel Setup Protocol", draft-vg-ngtrans-tsp-00.txt,
         Work in progressJuly 2001.

    [3]  Hagino, J., "Possible abuse against IPv6 transition
         technologies", July 2000.

8. Authors' Addresses

    Marc Blanchet
    Viagenie inc.
    2875 boul. Laurier, bureau 300
    Sainte-Foy, QC  G1V 2M2

    Phone: +1 418 656 9254

Appendix A. IPv4 over IPv6 tunnel DTD


    <?xml version="1.0"?>

    <!DOCTYPE tunnel  [

    <!ELEMENT tunnel        (server?,client?,broker?)>

      <!ATTLIST tunnel action   (create|info|list) #REQUIRED >
      <!ATTLIST tunnel type     (v4v6|broker)      #REQUIRED >
      <!ATTLIST tunnel lifetime CDATA              "1440"    >

    <!ELEMENT server        (address+,router?)>

    <!ELEMENT client        (address+,router?)>

    <!ELEMENT broker        (adress+)>

    <!ELEMENT router        (prefix?,dns_server?,as?)>
      <!ATTLIST router protocol (rip|bgp) "">

    <!ELEMENT dns_server    (address+)>

      <!ATTLIST as number CDATA #REQUIRED>

    <!ELEMENT prefix        (#PCDATA)>
      <!ATTLIST prefix length CDATA #REQUIRED>

    <!ELEMENT address       (#PCDATA)>
      <!ATTLIST address type (ipv4|ipv6|dn) #REQUIRED>