Network Working Group M. Blanchet
Internet-Draft Hexago
Expires: August 9, 2004 February 9, 2004
IPv6 Tunnel Broker with the Tunnel Setup Protocol(TSP)
draft-blanchet-v6ops-tunnelbroker-tsp-00
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-
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.
This Internet-Draft will expire on August 9, 2004.
Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved.
Abstract
A tunnel broker with the Tunnel Setup Protocol(TSP) enables the
establishment of tunnels of various inner protocols, such as IPv6 or
IPv4, inside various outer protocols packets, such as IPv4, IPv6 or
UDP over IPv4 for IPv4 NAT traversal. The control protocol (TSP) is
used by the tunnel client to negociate the tunnel with the broker.
The negociation involves authentication, authorization, tunnel
information such as IP addresses, prefixes when the client is a
router, DNS information such as the NS for the inverse zone
corresponding to the delegated prefix, etc. Some parameters may be
proposed by the broker, such as the transport over UDP IPv4 where an
IPv4 NAT is found in the path between the client and the broker. A
mobile node implementing TSP can be connected to both IPv4 and IPv6
Blanchet Expires August 9, 2004 [Page 1]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
networks whether he is on IPv4, IPv4 behind a NAT or on IPv6. A
tunnel broker may terminate the tunnels on remote tunnel servers or
on itself. This document describes the TSP protocol within the model
of the tunnel broker [3].
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Description of the TSP framework . . . . . . . . . . . . . . 4
2.1 NAT Discovery . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Any encapsulation . . . . . . . . . . . . . . . . . . . . . 5
2.3 Mobility . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Advantages of TSP . . . . . . . . . . . . . . . . . . . . . 5
4. Protocol Description . . . . . . . . . . . . . . . . . . . . 6
4.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 Topology . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.3 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.4 Authentication phase . . . . . . . . . . . . . . . . . . . . 8
4.5 Command phase . . . . . . . . . . . . . . . . . . . . . . . 9
4.6 XML Messaging . . . . . . . . . . . . . . . . . . . . . . . 10
4.6.1 Tunnel . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.6.2 Client element . . . . . . . . . . . . . . . . . . . . . . . 11
4.6.3 Server element . . . . . . . . . . . . . . . . . . . . . . . 11
4.6.4 broker element . . . . . . . . . . . . . . . . . . . . . . . 11
4.7 Tunnel request examples . . . . . . . . . . . . . . . . . . 11
4.7.1 Host Tunnel request and Reply . . . . . . . . . . . . . . . 11
4.7.2 Router Tunnel request with a /48 prefix delegation, and
reply . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.7.3 IPv4 in IPv6 tunnel request . . . . . . . . . . . . . . . . 13
4.7.4 NAT Traversal tunnel request . . . . . . . . . . . . . . . . 15
5. Applicability of TSP in Different Environments . . . . . . . 15
5.1 Applicability of TSP in Provider Networks with Enterprise
Customers . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2 Applicability of TSP in Provider Networks with Home/Small
Office Customers . . . . . . . . . . . . . . . . . . . . . . 16
5.3 Applicability of TSP in Enterprise Networks . . . . . . . . 16
5.4 Applicability of TSP in Wireless Networks . . . . . . . . . 16
5.5 Applicability of TSP in Unmanaged networks . . . . . . . . . 16
5.6 Applicability of TSP for Mobile Hosts . . . . . . . . . . . 17
5.7 Applicability of TSP for Mobile Networks . . . . . . . . . . 17
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . 17
7. Security Considerations . . . . . . . . . . . . . . . . . . 17
8. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 18
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18
References . . . . . . . . . . . . . . . . . . . . . . . . . 18
Author's Address . . . . . . . . . . . . . . . . . . . . . . 18
A. DTD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
B. Error codes . . . . . . . . . . . . . . . . . . . . . . . . 19
Blanchet Expires August 9, 2004 [Page 2]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
Full Copyright Statement . . . . . . . . . . . . . . . . . . 21
Blanchet Expires August 9, 2004 [Page 3]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
1. Introduction
This document first describes the TSP framework as well as the
different profiles used. It then describes the applicability of TSP
in different environments, some were described in the v6ops scenario
documents.
2. Description of the TSP framework
Tunnel Setup Protocol (TSP) is a control/signaling protocol to setup
tunnel parameters between two tunnel end-points. TSP is implemented
as a tiny client code in the requesting tunnel end-point. The other
end-point is the TSP server. TSP uses XML basic messaging over TCP
or UDP. The use of XML gives extensibility and easy option
processing.
Inside a session, TSP can negociate between the two tunnel end-
points:
o authentication of the users, using any kind of authentication
mechanism(through SASL [1]) including anonymous
o IPv6 over IPv4 tunnels
o IPv4 over IPv6 tunnels
o IPv6 over UDP-IPv4 tunnels, when IPv4 NAT are in the path between
the two endpoints
o IP address allocation for the tunnel endpoints
o IPv6 prefix assignment when the client is a router and has a
network behind
o DNS delegation of the inverse tree, based on the ipv6 prefix
assignment
o DNS registration of the end point.
o Routing protocols
The TSP connexion can be established between two nodes, where each
node can control a tunnel end-point. In this context, it is possible
to have up to 4 parties involved: 1- the tsp client, 2- controlling
the requesting tunnel end-point, 3- the tsp server, 4- controlling
the receiving tunnel end-point. 1,3 and 4 is the Tunnel Broker
model. 1 and 2 can be on the same node, as well as 3 and 4 can be on
the same node.
Blanchet Expires August 9, 2004 [Page 4]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
From the point of view of an operating system, TSP is implemented as
a client application which is able to configure network parameters of
the kernel and operating system.
2.1 NAT Discovery
TSP is also used to discover if a NAT is in the path. In this
discovery mode, the client sends a TSP message, containing its source
tunnel information (such as its source IPv4 address) and the request
for the tunnel over UDP-IPv4 to the TSP server. The TSP server
compares the IPv4 source address of the packet with the IPv4 source
address in the TSP messaging. If they differ, a NAT was in the path.
If an IPv4 NAT is discovered, then UDP-IPv4 encapsulation of the IPv6
tunnel is used over the same UDP channel used for TSP, which enables
the use of the same NAT address-port mapping for both the TSP session
and the IPv6 traffic. A keepalive mechanism is also included to keep
the NAT mapping constant. If there is no IPv4 NAT in the path as
verified by the tunnel broker, then usual IPv6 in IPv4 encapsulation
is used.
When the TSP client moves to another network, the same discovery
process is done. This IPv4 NAT discovery builds the most effective
tunnel for all cases, including in a dynamic situation where the
client moves. On the IPv6 layer, if the client have used user
authentication, the same IPv6 address and prefix are kept and re-
established. On the IPv6 layer, there are no mobility seen.
2.2 Any encapsulation
TSP is used to negociate IPv6 over IPv4 tunnels, IPv6 over UDP-IPv4
tunnels and IPv4 over IPv6 tunnels. IPv4 in IPv6 tunnels are used in
the Dual Stack Transition Mechanism (DSTM) together with TSP.
2.3 Mobility
When a tunnel endpoint changes its underlying IP address (i.e.
change of its IPv4 address when doing IPv6 in IPv4 encapsulation),
the keepalive mechanism fail and the TSP client reconnects to the
broker to re-establish the tunnel.
3. Advantages of TSP
o A signaling protocol to establish the tunnel: no need to change
kernels, routing...
o A signaling protocol flexible and extensible
Blanchet Expires August 9, 2004 [Page 5]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
o one solution to many encapsulation techniques: v6 in v4, v4 in v6,
v6 over udp over v4, ...
o prefix assignment
o dns delegation
o routing negociation
o discovery of IPv4 NAT in the path, establishing the most optimized
tunnelling technique depending on the discovery.
o mobility of the underlying IP node.
o two to four tier tunnel broker model
o stability of the IP address and prefix, enabling applications
needing stable address to be deployed and used.
o Tunnels established by TSP are static tunnels, which are more
secure than automated tunnels
4. Protocol Description
4.1 Terminology
Tunnel Broker (TB) In a Tunnel Broker model, the broker is taking
charge of all communication between Tunnel Servers (TS) and Tunnel
Clients (TC). Tunnel clients query brokers for a tunnel and the
broker find a suitable tunnel server, ask the Tunnel server to
setup the tunnel and send the tunnel information to the Tunnel
Client.
Tunnel Server (TS) Tunnel Servers are providing the specific tunnel
service to a Tunnel Client. It can reveive the tunnel request
from a Tunnel Broker (as in the Tunnel Broker model) or directly
from the Tunnel Client as in the Tunnel Setup Protocol option.
The Tunnel Server is the tunnel end-point.
Tunnel Client (TC) The Tunnel Client is the entity that need a tunnel
for a particular service or connectivity. A Tunnel Client can be
either a host or a router. The tunnel client is the other tunnel
end-point.
Blanchet Expires August 9, 2004 [Page 6]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
4.2 Topology
The following diagrams describe typical TSP scenarios. The goal is
to establish a tunnel between Tunnel client and Tunnel server.
Tunnel Setup Protocol used on Tunnel Broker model
_______________
| TUNNEL BROKER |--> Databases (dns, whois)
| |
| TSP TSP |
| SERVER CLIENT |
|_______________|
| |
__________ | | ________
| | | | | TSP |
| TSP |--[TSP]-- +--[TSP]--| SERVER |
| CLIENT | | |--[NETWORK]--
[HOST]--| |<==[CONFIGURED TUNNEL]==>| TUNNEL |
|___________| | SERVER |
|________|
Tunnel Setup Protocol used on Tunnel Server model
___________ ________
| | | TSP |
| TSP |-----------[TSP]---------| SERVER |
| CLIENT | | |--[NETWORK]--
[HOST]--| |<==[CONFIGURED TUNNEL]==>| TUNNEL |
|___________| | SERVER |
|________|
4.3 Overview
The Tunnel Setup Protocol has three phases:
Authentication phase: The Authentication phase is when the Tunnel
Brokers/Servers advertises their capability to Tunnel Clients and
when Tunnel clients authenticate to the server.
Command phase: The command phase is where the client requests or
updates a tunnel.
Response phase: The response phase is where the respond to the client
For each command sent by a Tunnel Client their is an expected
response by the server.
Blanchet Expires August 9, 2004 [Page 7]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
4.4 Authentication phase
The authentication phase has 3 steps :
o Client's protocol version identification
o Server's capability advertisement
o Client authentication
When a TCP (or UDP-reliable) session is established to a Tunnel
Server, the Tunnel Client sends the current protocol version it is
supporting. The version number syntax is:
VERSION=2.0 CR LF
Version 2.0 is the version number of this specification. Version 1.0
was defined in earlier drafts.
If the server doesn't support the protocol version it sends an error
message and closes the session. The server can optionally send a
server list that may support the protocol version of the client.
Example of a Version not supported (without a server list)
-- Successful TCP Connection --
C:VERSION=0.1 CR LF
S:302 Unsupported client version CR LF
-- Connection closed --
Example of a Version not supported (with a server list)
-- Successful TCP Connection --
C:VERSION=1.1 CR LF
S:1302 Unsupported client version CR LF
1.2.3.4
ts1.isp1.com
-- Connection closed --
If the server supports the version sent by the client, then the
server sends a list of the capabilities supported for authentication
and tunnels.
Blanchet Expires August 9, 2004 [Page 8]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
CAPABILITY TUNNEL=V6V4 AUTH=DIGEST-MD5 AUTH=ANONYMOUS CR LF
Tunnel types must be registered with IANA and their profiles are
defined in other documents. Authentication is done using SASL [1].
Each authentication mechanism must be a registered SASL mechanism.
Description of such mechanism is not in the scope of this document.
The Tunnel Client can then choose to close the session if none of the
capabilities fits its needs. If the Tunnel Client chooses to
continue, it must authenticate itself to the server using one of the
adevertised mechanism. If the authentication fails the server sends
an error message and closes the session.
Example of failed authentication
-- Successful TCP Connection --
C:VERSION=2.0 CR LF
S:CAPABILITY TUNNEL=V6V4 AUTH=DIGEST-MD5 CR LF
C:AUTHENTICATE ANONYMOUS CR LF
S:300 Authentication failed CR LF
If the authentication succeed, the server sends a success return code
and the protocol enter the Command phase.
Successful authentication
-- Successful TCP Connection --
C:VERSION=2.0 CR LF
S:CAPABILITY TUNNEL=V6V4 AUTH=DIGEST-MD5 AUTH=ANONYMOUS CR LF
C:AUTHENTICATE ANONYMOUS CR LF
S:200 Authentication successful CR LF
Upon successful authentication the protocol enters the command phase
as described in the next section.
4.5 Command phase
The Command phase is where the Tunnel Client send a tunnel request or
a tunnel update to the server. In this phase, commands are sent as
XML messages. The first line is a "Content-length" directive that
tells the size of the following XML message. This makes it easier
for protocol implementation to tell when they got the whole XML
message. When the server sends a response, the first line is the
"Content-length" directive, the second is the return code and third
one is the XML message if any. The size of the response for the
"Content-length" directive is the first character of the return code
line to the last character of the XML message.
Blanchet Expires August 9, 2004 [Page 9]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
Spaces can be inserted freely.
Example of a command/response sequence
-- Successful TCP Connection --
C:VERSION=2.0 CR LF
S:CAPABILITY TUNNEL=V6V4 AUTH=DIGEST-MD5 AUTH=ANONYMOUS CR LF
C:AUTHENTICATE ANONYMOUS CR LF
S:200 Authentication successful CR LF
C: Content-length: 123 CR LF
1.1.1.1
CR LF
S: Content-length: 234 CR LF
200 OK CR LF
206.123.31.114
3ffe:b00:c18:ffff:0000:0000:0000:0000
1.1.1.1
3ffe:b00:c18:ffff::0000:0000:0000:0001
userid.domain
CR LF
-- TCP Connection closed --
4.6 XML Messaging
4.6.1 Tunnel
The client uses the tunnel token with an action attribute. 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
Blanchet Expires August 9, 2004 [Page 10]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
server Server's information
broker List of other server's
4.6.2 Client element
The client element contains 2 elements: 'address' and 'router'.
These elements are 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 IPv4 endpoint of
the tunnel. The client MUST send only an IPv4 address to the server.
The server will then return the IPv6 address endpoint and domain name
inside the 'client' element when the tunnel is created or updated.
Optionaly a client can send a 'router' element to ask for a prefix
delegation.
4.6.3 Server element
The 'server' element contains 2 elements: 'address' and 'router'.
These elements are 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, while the 'router' element provides
information for the routing method choosen by the client.
4.6.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.
4.7 Tunnel request examples
This section presents multiple examples of requests.
4.7.1 Host Tunnel request and Reply
A simple tunnel request consist of a 'tunnel' element which contains
only an 'address' element
Blanchet Expires August 9, 2004 [Page 11]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
Simple tunnel request made by a client.
-- Successful TCP Connection --
C:VERSION=1.0 CR LF
S:CAPABILITY TUNNEL=V6V4 AUTH=ANONYMOUS CR LF
C:AUTHENTICATE ANONYMOUS CR LF
S:200 Authentication successful CR LF
C:Content-length: 123 CR LF
1.1.1.1
CR LF
S: Content-length: 234 CR LF
200 OK CR LF
206.123.31.114
3ffe:b00:c18:ffff:0000:0000:0000:0000
1.1.1.1
3ffe:b00:c18:ffff::0000:0000:0000:0001
userid.domain
CR LF
4.7.2 Router Tunnel request with a /48 prefix delegation, and reply
A tunnel request with prefix consist of a 'tunnel' element which
contains 'address' element and a 'router' element.
Tunnel request with prefix and static routes.
C: Content-length: 234 CR LF
1.1.1.1
2.3.4.5
2.3.4.6
3ffe:0c00::1
Blanchet Expires August 9, 2004 [Page 12]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
CR LF
S: Content-length: 234 CR LF
200 OK CR LF
206.123.31.114
3ffe:b00:c18:ffff:0000:0000:0000:0000
1.1.1.1
3ffe:b00:c18:ffff::0000:0000:0000:0001
userid.domain
3ffe:0b00:c18:1234::
2.3.4.5
2.3.4.6
3ffe:0c00::1
CR LF
4.7.3 IPv4 in IPv6 tunnel request
Tunnel type is set to 'v4v6'.
Simple tunnel request made by a client.
-- Successful TCP Connection --
C:VERSION=1.0 CR LF
S:CAPABILITY TUNNEL=V4V6 AUTH=DIGEST-MD5 AUTH=ANONYMOUS CR LF
C:AUTHENTICATE ANONYMOUS CR LF
S:OK Authentication successful CR LF
C:Content-length: 228 CR LF
fe80:0000:0000:0000:0000:0000:0000:0001
3ffe:0b00:0c18:ffff:0000:0000:0000:0001
CR LF
If the allocation request is accepted, the broker will acknowledge
the allocation to the client by sending a 'tunnel' element with the
Blanchet Expires August 9, 2004 [Page 13]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
attribute 'action' set to 'info', 'type' set to 'v4v6' and the
'lifetime' attribute set to the period of validity or lease time of
the allocation. The 'tunnel' element contains 'server' and 'client'
elements.
Server response
S: Content-length: 370 CR LF
200 OK CR LF
206.123.31.2
3ffe:b00:c18:ffff:0000:0000:0000:0002
206.123.31.1
3ffe:b00:c18:ffff::0000:0000:0000:0001
CR LF
Blanchet Expires August 9, 2004 [Page 14]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
4.7.4 NAT Traversal tunnel request
-- Successful TCP Connection --
C:VERSION=1.1 CR LF
S:CAPABILITY TUNNEL=V6V4 TUNNEL=V6UDPV4 AUTH=DIGEST-MD5 CR LF
C:AUTHENTICATE ... CR LF
S:200 Authentication successful CR LF
C:Content-length: ... CR LF
10.1.1.1
CR LF
S: Content-length: ... CR LF
200 OK CR LF
206.123.31.114
3ffe:b00:c18:ffff:0000:0000:0000:0000
10.1.1.1
3ffe:b00:c18:ffff::0000:0000:0000:0001
CR LF
5. Applicability of TSP in Different Environments
This section describes the applicability of TSP in different
environments.
5.1 Applicability of TSP in Provider Networks with Enterprise Customers
In a provider network where IPv4 is dominant, a tunnelled
infrastructure can be used to provider IPv6 services to the
enterprise customers, before a full IPv6 native infrastructure is
built. In order to start deploying in a controlled manner and to
give enterprise customers a prefix, the TSP framework is used. The
TSP server can be put in the core, in the aggregation points or in
the pops to offer the service to the customers. IPv6 over IPv4
encapsulation can be used. If the customers are behind an IPv4 NAT,
then IPv6 over UDP-IPv4 encapsulation can be used. TSP can be used
in combination of other techniques.
Blanchet Expires August 9, 2004 [Page 15]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
5.2 Applicability of TSP in Provider Networks with Home/Small Office
Customers
In a provider network where IPv4 is dominant, a tunnelled
infrastructure can be used to provider IPv6 services to the home/
small office customers, before a full IPv6 native infrastructure is
built. The small networks such as Home/Small offices have a non-
upgradable gateway with NAT. TSP with NAT traversal is used to offer
IPv6 connectivity and a prefix to the internal network.
Automation of the prefix assignment and DNS delegation, done by TSP,
is a very important feature for a provider in order to substantially
decrease support costs. The provider can use the same authentication
database that is used to authenticate the IPv4 users. Customers can
deploy home IPv6 networks without any intervention of the provider
support people.
With the NAT discovery function of TSP, providers can use the same
TSP infrastructure for both NAT and not-NAT parts of the network.
5.3 Applicability of TSP in Enterprise Networks
In an enterprise network where IPv4 is dominant, a tunnelled
infrastructure can be used to provider IPv6 services to the IPv6
islands (hosts or networks) inside the enterprise, before a full IPv6
native infrastructure is built. TSP can be used to give IPv6
connectivity, prefix and routing for the islands. This gives to the
enterprise a full control deployment of IPv6 while maintaining
automation and permanence of the IPv6 assignments to the islands.
5.4 Applicability of TSP in Wireless Networks
In a wireless network where IPv4 is dominant, hosts and networks move
and change IPv4 address. TSP enables the automatic re-establishment
of the tunnel when the IPv4 address change.
In a wireless network where IPv6 is dominant, hosts and networks
move. TSP enables the automatic re-establishment of the tunnel
together with the DSTM mechasnism.
5.5 Applicability of TSP in Unmanaged networks
An unmanaged network is where no network manager or staff is
available to configure network devices. TSP is particularly powerful
in this context where automation of all necessary information for the
IPv6 connectivity is handled by TSP: tunnel end-points parameters,
prefix assignment, dns delegation, routing.
Blanchet Expires August 9, 2004 [Page 16]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
An unmanaged network may be behind a NAT, maybe not. With the NAT
discovery function, TSP works automatically in both cases.
5.6 Applicability of TSP for Mobile Hosts
Mobile hosts are common and used. Laptops moving from wireless,
wired in office, home, ... are examples. They often have IPv4
connectivity, but not necessarily IPv6. TSP framework enables the
mobile hosts to have IPv6 connectivity wherever they are, by having
the TSP client sends updated information of the new environment to
the TSP server, when a change occur. Together with NAT discovery,
the mobile host can be always IPv6 connected wherever it is.
Mobile here means only the change of IPv4 address. MobileIP
mechanisms and fast handoff take care of additional constraints in
mobile environments.
5.7 Applicability of TSP for Mobile Networks
Mobile networks share the applicability of the mobile hosts.
Moreover, in the TSP framework, they also keep their prefix
assignment and can control the routing. NAT discovery can also be
used.
6. IANA Considerations
A tunnel type registry should be setup by IANA. The following
strings are defined in this document: "v6v4" for IPv6 in IPv4
encapsulation (using IPv4 protocol 41) "v6udpv4" for IPv6 in UDP in
IPv4 encapsulation "v6anyv4" for IPv6 in IPv4 or IPv6 in UDP in IPv4
encapsulation "v4v6" for IPv4 in IPv6 encapsulation.
Details on the registration procedure for new tokens TBD.
IANA assigned 3653 as the TSP port number.
7. Security Considerations
Authentication of the TSP session uses the SASL[RFC2222] framework,
where the authentication mechanism is negociated between the client
and the server. The framework enables to use the level of
authentication needed for securing the session, based on the
policies.
Static tunnels are created when the TSP negociation is terminated.
Static tunnels are not open gateways and exhibit less security issues
than automated tunnels. Static IPv6 in IPv4 tunnels security
considerations are described in [RFC2893].
Blanchet Expires August 9, 2004 [Page 17]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
8. Conclusion
The Tunnel Setup Protocol (TSP) is applicable in many environments,
such as: providers, enterprises, wireless, unmanaged networks, mobile
hosts and networks. TSP gives the two tunnel end-points the ability
tonegociate tunnel parameters, as well as prefix assignment, dns
delegation and routing in an authenticated session. It also provides
IPv4 NAT discovery function by using the most effective
encapsulation. It also supports the IPv4 mobility of the nodes.
9. Acknowledgements
This draft is the merge of many previous drafts about TSP. Authors
who have contributed to earlier drafts are: Florent Parent and
Octavio Medina.
References
[1] Myers, J., "Simple Authentication and Security Layer (SASL)",
RFC 2222, October 1997.
[2] Gilligan, R. and E. Nordmark, "Transition Mechanisms for IPv6
Hosts and Routers", RFC 2893, August 2000.
[3] Durand, A., Fasano, P., Guardini, I. and D. Lento, "IPv6 Tunnel
Broker", RFC 3053, January 2001.
[4] Bound, J., "Dual Stack Transition Mechanism (DSTM)", draft-ietf-
ngtrans-dstm-08 (work in progress), July 2002.
[5] Hagino, J., "Possible abuse against IPv6 transition
technologies", July 2000.
Author's Address
Marc Blanchet
Hexago
2875 boul. Laurier, suite 300
Sainte-Foy, QC G1V 2M2
Canada
Phone: +1 418 266 5533
EMail: Marc.Blanchet@hexago.com
URI: http://www.hexago.com/
Blanchet Expires August 9, 2004 [Page 18]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
Appendix A. DTD
]>
Appendix B. Error codes
Error codes are sent as a numeric value followed by a text message
describing the code. The Tunnel Setup Protocol defines error code
numbers 1 through 499 and 1000 through 1499. Profile dependant error
codes are defined within the 500 through 999 and 1500 through 1999
range.
The predefined values are :
if a list of tunnel servers is following the error code as a referal
service, then 1000 is added to the error code.
200 Success
Successful operation
300 Authentication failed
Invalid userid, password or authentication mechanism.
Blanchet Expires August 9, 2004 [Page 19]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
301 No more tunnels available
The server has reached its capacity limit.
302 Unsupported client version
The client version is not supported by the server.
303 Unsupported tunnel type
The server does not provide the requested tunnel type.
306 Address Pool Exhausted
307 Configuration Error at TEP
308 Requested Address Unavailable
309 Invalid IPv6 address
501 Invalid IPv4 address
502 Invalid or duplicate nicname
504 Router function not supported
506 IPv4 prefix already used for existing tunnel
507 Requested prefix length cannot be assigned
509 DNS delegation setup error
514 Protocol error
517 Unsupported router protocol
518 Unsupported prefix length
520 Missing prefix length
Blanchet Expires August 9, 2004 [Page 20]
Internet-Draft Tunnel Setup Protocol(TSP) February 2004
Full Copyright Statement
Copyright (C) The Internet Society (2004). 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 languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Blanchet Expires August 9, 2004 [Page 21]