summaryrefslogtreecommitdiff
path: root/internet-draft-anytun.txt
diff options
context:
space:
mode:
Diffstat (limited to 'internet-draft-anytun.txt')
-rw-r--r--internet-draft-anytun.txt672
1 files changed, 0 insertions, 672 deletions
diff --git a/internet-draft-anytun.txt b/internet-draft-anytun.txt
deleted file mode 100644
index e61e7ca..0000000
--- a/internet-draft-anytun.txt
+++ /dev/null
@@ -1,672 +0,0 @@
-
-
-
-Network Working Group O. Gsenger
-Internet-Draft March 2007
-Expires: September 2, 2007
-
-
- anycast tunneling and relay protocol
- draft-gsenger-anycast-relay-00
-
-Status of this Memo
-
- By submitting this Internet-Draft, each author represents that any
- applicable patent or other IPR claims of which he or she is aware
- have been or will be disclosed, and any of which he or she becomes
- aware will be disclosed, in accordance with Section 6 of BCP 79.
-
- 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 September 2, 2007.
-
-Copyright Notice
-
- Copyright (C) The IETF Trust (2007).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Gsenger Expires September 2, 2007 [Page 1]
-
-Internet-Draft anycast tunneling and relay protocol March 2007
-
-
-Abstract
-
- The anycast tunneling and relay protocol (anytun) defines a protocol
- used for communication between unicast clients and anycast servers.
- It can be used for tunneling information between 2 clients over the
- anycast servers or in relay mode to transmit data form the client
- over the anycast servers to a third party not using the protocol and
- vice versa. Unlike other tunneling protocols like GRE or IPIP
- tunnels which indeed will work with anycast as well, anytun directly
- includes cryptography and authentication. In relay mode it also
- supports source NAT with integrated NAT transversal. It is intended
- to deliver a high performance and reliability solution for tunneling
- and relaying of data over servers, where direct client to client
- connections are not possible or not wanted.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Gsenger Expires September 2, 2007 [Page 2]
-
-Internet-Draft anycast tunneling and relay protocol March 2007
-
-
-1. Introduction
-
- anytun defines a Host Anycast Service as defined in rfc1546. It uses
- a peer-to-peer achitecture, with anycast servers and unicast clients.
- It can be used to build high scalable and redundant tunnel services.
- It also has a relay mode, that makes it possible, that only one of
- the connection endpoints has to use the anytun protocol. This can be
- used to make connections through Firewalls or behind a NAT Router
-
- RFC3068 [1] DTD.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Gsenger Expires September 2, 2007 [Page 3]
-
-Internet-Draft anycast tunneling and relay protocol March 2007
-
-
-2. Operation modes
-
- This section gives an overview of possible operation modes und usage
- scenarios. Please note, that the protocols used in the figures are
- only examples and that anytun itself does not care about either
- transport protocols or encapsulated protocols. Routing and network
- address translation is not done by anytun. Each implemetation MAY
- choose it's own way of doing this task (e.g. using functions provided
- by the operating system). Anytun is used to establish and controll
- tunnnels, to encapsulate and encrypt data.
-
-2.1. Usage scenarions
-
-2.1.1. tunneling from unicast client over anycast servers to unicast
- client
-
- An example of anytun used in tunnel mode
-
- ----------- -----------
- | RTP | ---------- | RTP |
- ----------- -> |server 1| -> -----------
- | UDP | ---------- | UDP |
- ----------- -----------
- ----- | IPv6 | ---------- | IPv6 | -----
- | | -> ----------- -> |server 2| -> ----------- -> | |
- ----- | anytun | ---------- | anytun | -----
- ##### ----------- ----------- #####
- | UDP | ---------- | UDP |
- client 1 ----------- -> |server 3| -> ----------- client 2
- | IPv4 | ---------- | IPv4 |
- ----------- -----------
- | ... | anycast | ... |
-
- Figure 1
-
- In tunneling mode the payload of the anytun packet is transmitted
- from one unicast host to the anycast server. This server makes a
- routing descision based on the underlying protocol and transmits a
- new anytun package to one or more clients depending on the routing
- descition. The server MAY also route the packet to a directly
- connected network or a service running on the server, but please
- note, that this is only usefull for anycast host services like DNS
- and that the services HAVE TO be running on all servers in order to
- work.
-
-
-
-
-
-
-
-Gsenger Expires September 2, 2007 [Page 4]
-
-Internet-Draft anycast tunneling and relay protocol March 2007
-
-
-2.1.2. tunneling from client to a server connected network
-
- An example of anytun used in open tunnel mode
-
- -----------
- | RTP | ----------
- ----------- -> |server 1| ->
- | UDP | ---------- -----------
- ----------- | RTP |
- ----- | IPv6 | ---------- ----------- -----
- | | -> ----------- -> |server 2| -> | UDP* | -> | |
- ----- | anytun | ---------- ----------- -----
- ##### ----------- | IPv6* | #####
- | UDP | ---------- -----------
- client 1 ----------- -> |server 3| -> | ... | host
- | IPv4 | ---------- not using
- ----------- anytun
- | ... | anycast
- *changed source address
- or port
-
- Figure 2
-
- In open tunnel mode only one of two clients talking to each other
- over the servers MUST use the anytun protocol. When a client using
- the anytun protocol wants to tunnel data, it is building a connection
- to the anycast servers using the anytun protocol. The anycast
- servers relay the encapsulated packages directly to the destination
- without using the anytun protocol. The source address of the
- datagramm HAS TO be changed to the anycast address of the server.
- The anytun servers act like a source NAT router, therefor for the
- destination it saems that it is talking to the client directly.
-
-2.2. Transport modes
-
- Anytun does not define wich lower layer protocols HAVE TO be used,
- but it's most likely used on top of udp. This section should only
- discuss some issues on udp in combination with anycasting and
- tunnels.
-
-
-
-
-
-
-
-
-
-
-
-
-Gsenger Expires September 2, 2007 [Page 5]
-
-Internet-Draft anycast tunneling and relay protocol March 2007
-
-
-2.2.1. Using UDP
-
- An example of anytun used with udp as transport
-
- ----------- -----------
- | RTP | ---------- | RTP |
- ----------- -> |server 1| -> -----------
- | UDP | ---------- | UDP |
- ----------- -----------
- ----- | IPv6 | ---------- | IPv6 | -----
- | | -> ----------- -> |server 2| -> ----------- -> | |
- ----- | anytun | ---------- | anytun | -----
- ##### ----------- ----------- #####
- | UDP | ---------- | UDP |
- client 1 ----------- -> |server 3| -> ----------- client 2
- | IPv4 | ---------- | IPv4 |
- ----------- -----------
- | ... | anycast | ... |
-
- Figure 3
-
- When using UDP no flow controll or retransmission is done, neigther
- by UDP nor anytun. The encapsulated protocol HAS TO take care of
- this tasks if needed. UDP however has a checksum of the complete udp
- datagram, so a packet gets discarded if there is a biterror in the
- payload
-
-2.2.2. Using lightUDP
-
- An example of anytun used with udp transport
-
- ----------- -----------
- | RTP | ---------- | RTP |
- ----------- -> |server 1| -> -----------
- | UDP | ---------- | UDP |
- ----------- -----------
- ----- | IPv6 | ---------- | IPv6 | -----
- | | -> ----------- -> |server 2| -> ----------- -> | |
- ----- | anytun | ---------- | anytun | -----
- ##### ----------- ----------- #####
- |lightUDP | ---------- |lightUDP |
- client 1 ----------- -> |server 3| -> ----------- client 2
- | IPv4 | ---------- | IPv4 |
- ----------- -----------
- | ... | anycast | ... |
-
- Figure 4
-
-
-
-
-Gsenger Expires September 2, 2007 [Page 6]
-
-Internet-Draft anycast tunneling and relay protocol March 2007
-
-
- The difference between normal UDP and lightUDP is, that the udp size
- is not set to the length of the full packet, but to the lenght of the
- data used for the checksum and therefor the checksum is only
- calculated for that part. When using lightUDP, the lenght HAS tO be
- set to the udp header length + the anytun header lenght. So there is
- no error correction or detection done on the payload. This can be
- usefull if realtime data is beeing transimittet or the tunneled
- protocol does error correction/detection by itself.
-
-2.2.3. Fragmentation
-
- The only way of fully supporting fragmentation would be to syncronise
- fragments between all anycast servers. This is considered to be to
- much overhead, so there are two non perfect solutions for this
- problems. Either fragmentation HAS TO be disabled or if not all
- fragments arrive at the same server the ip datagramm HAS TO be
- discarded. As routing changes are not expected to occure very
- frequently, the encapsulated protocol can do a retransmission and all
- fragments will arrive at the new server.
-
-2.3. Protocol specification
-
-2.3.1. Header format
-
- Protocol Format
-
- 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
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |V=2| ???????????????????? | sequence number | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
- | | payload lenght | payload type | |
- | |-------------------------------+-------------------------------| |
- | | .... payload ... | |
- +-------------------------------+ |
- | | | padding (OPTIONAL) | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | ~ MKI (OPTIONAL) ~ |
- | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
- | : authentication tag (RECOMMENDED) : |
- | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
- | |
- +- Encrypted Portion* Authenticated Portion ---+
-
- Figure 5
-
-
-
-
-
-Gsenger Expires September 2, 2007 [Page 7]
-
-Internet-Draft anycast tunneling and relay protocol March 2007
-
-
-2.3.2. payload type field
-
- The protocol field defines the payload protocol. ETHER TYPE protocol
- numerbers are used. http://www.iana.org/assignments/ethernet-numbers
- . The values 0000-05DC are reserverd and not used at the moment.
-
- Some exmples for protocol types
-
- HEX
- 0000 Reserved
- .... Reserved
- 05DC Reserved
- 0800 Internet IP (IPv4)
- 6558 transparent ethernet bridging
- 86DD IPv6
-
- Figure 6
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Gsenger Expires September 2, 2007 [Page 8]
-
-Internet-Draft anycast tunneling and relay protocol March 2007
-
-
-Appendix A. The appan
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Gsenger Expires September 2, 2007 [Page 9]
-
-Internet-Draft anycast tunneling and relay protocol March 2007
-
-
-3. References
-
- [1] Huitema, C., "An Anycast Prefix for 6to4 Relay Routers",
- RFC 3068, June 2001.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Gsenger Expires September 2, 2007 [Page 10]
-
-Internet-Draft anycast tunneling and relay protocol March 2007
-
-
-Author's Address
-
- Othmar Gsenger
- Sporgasse 6
- Graz 8010
- AT
-
- Phone:
- Email: otti@wirdorange.org
- URI: http://anytun.org/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Gsenger Expires September 2, 2007 [Page 11]
-
-Internet-Draft anycast tunneling and relay protocol March 2007
-
-
-Full Copyright Statement
-
- Copyright (C) The IETF Trust (2007).
-
- This document is subject to the rights, licenses and restrictions
- contained in BCP 78, and except as set forth therein, the authors
- retain all their rights.
-
- This document and the information contained herein are provided on an
- "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
- OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
- THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
-
-
-Intellectual Property
-
- The IETF takes no position regarding the validity or scope of any
- Intellectual Property Rights or other rights that might be claimed to
- pertain to the implementation or use of the technology described in
- this document or the extent to which any license under such rights
- might or might not be available; nor does it represent that it has
- made any independent effort to identify any such rights. Information
- on the procedures with respect to rights in RFC documents can be
- found in BCP 78 and BCP 79.
-
- Copies of IPR disclosures made to the IETF Secretariat and any
- assurances of licenses to be made available, or the result of an
- attempt made to obtain a general license or permission for the use of
- such proprietary rights by implementers or users of this
- specification can be obtained from the IETF on-line IPR repository at
- http://www.ietf.org/ipr.
-
- The IETF invites any interested party to bring to its attention any
- copyrights, patents or patent applications, or other proprietary
- rights that may cover technology that may be required to implement
- this standard. Please address the information to the IETF at
- ietf-ipr@ietf.org.
-
-
-Acknowledgment
-
- Funding for the RFC Editor function is provided by the IETF
- Administrative Support Activity (IASA).
-
-
-
-
-
-Gsenger Expires September 2, 2007 [Page 12]
-