GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


rfc:rfc1853

Network Working Group W. Simpson Request for Comments: 1853 Daydreamer Category: Informational October 1995

                         IP in IP Tunneling

Status of this Memo

 This memo provides information for the Internet community.  It does
 not specify an Internet standard.  Distribution of this memo is
 unlimited.

IESG Note:

 Note that this memo is an individual effort of the author.  This
 document reflects a current informal practice in the internet.  There
 is an effort underway within the IETF Mobile-IP Working Group to
 provide an appropriate proposed standard to address this issue.

Abstract

 This document discusses implementation techniques for using IP
 Protocol/Payload number 4 Encapsulation for tunneling with IP
 Security and other protocols.

Table of Contents

   1.     Introduction ..........................................    2
   2.     Encapsulation .........................................    3
   3.     Tunnel Management .....................................    5
      3.1       Tunnel MTU Discovery ............................    5
      3.2       Congestion ......................................    6
      3.3       Routing Failures ................................    6
      3.4       Other ICMP Messages .............................    6
   SECURITY CONSIDERATIONS ......................................    7
   REFERENCES ...................................................    7
   ACKNOWLEDGEMENTS .............................................    8
   AUTHOR'S ADDRESS .............................................    8

Simpson Informational [Page 1] RFC 1853 IP Tunnelling October 1995

1. Introduction

 The IP in IP encapsulation Protocol/Payload number 4 [RFC-1700] has
 long been used to bridge portions of the Internet which have disjoint
 capabilities or policies.  This document describes implementation
 techniques used for many years by the Amateur Packet Radio network
 for joining a large mobile network, and also by early implementations
 of IP Security protocols.
 Use of IP in IP encapsulation differs from later tunneling techniques
 (for example, protocol numbers 98 [RFC-1241], 94 [IDM91a], 53
 [swIPe], and 47 [RFC-1701]) in that it does not insert its own
 special glue header between IP headers.  Instead, the original
 unadorned IP Header is retained, and simply wrapped in another
 standard IP header.
 This information applies principally to encapsulation of IP version
 4.  Other IP versions will be described in separate documents.

Simpson Informational [Page 2] RFC 1853 IP Tunnelling October 1995

2. Encapsulation

 The encapsulation technique is fairly simple.  An outer IP header is
 added before the original IP header.  Between them are any other
 headers for the path, such as security headers specific to the tunnel
 configuration.
 The outer IP header Source and Destination identify the "endpoints"
 of the tunnel.  The inner IP header Source and Destination identify
 the original sender and recipient of the datagram.
 Each header chains to the next using IP Protocol values [RFC-1700].
                                        +---------------------------+
                                        |      Outer IP Header      |
                                        +---------------------------+
                                        |      Tunnel Headers       |
    +---------------------------+       +---------------------------+
    |         IP Header         |       |      Inner IP Header      |
    +---------------------------+ ====> +---------------------------+
    |                           |       |                           |
    |         IP Payload        |       |         IP Payload        |
    |                           |       |                           |
    +---------------------------+       +---------------------------+
 The format of IP headers is described in [RFC-791].
 Type Of Service  copied from the inner IP header.  Optionally,
                  another TOS may be used between cooperating peers.
                  This is in keeping with the transparency principle
                  that if the user was expecting a given level of
                  service, then the tunnel should provide the same
                  service.  However, some tunnels may be constructed
                  specifically to provide a different level of service
                  as a matter of policy.
 Identification   A new number is generated for each outer IP header.
                  The encapsulated datagram may have already been
                  fragmented, and another level of fragmentation may
                  occur due to the tunnel encapsulation.  These tunnel
                  fragments will be reassembled by the decapsulator,
                  rather than the final destination.
 Reserved
                  ignored (set to zero).

Simpson Informational [Page 3] RFC 1853 IP Tunnelling October 1995

                  This unofficial flag has seen experimental use, and
                  while it remains in the inner IP header, does not
                  affect the tunnel.
 Don't Fragment   copied from the inner IP header.  This allows the
                  originator to control the level of performance
                  tradeoffs.  See "Tunnel MTU Discovery".
 More Fragments   set as required when fragmenting.
                  The flag is not copied for the same reason that a
                  separate Identification is used.
 Time To Live     the default value specified in the most recent
                  "Assigned Numbers" [RFC-1700].  This ensures that
                  long unanticipated tunnels do not interrupt the flow
                  of datagrams between endpoints.
                  The inner TTL is decremented once before
                  encapsulation, and is not affected by decapsulation.
 Protocol         the next header; 4 for the inner IP header, when no
                  intervening tunnel headers are in use.
 Source           an IP address associated with the interface used to
                  send the datagram.
 Destination      an IP address of the tunnel decapsulator.
 Options          not copied from the inner IP header.  However, new
                  options particular to the path MAY be added.
                  Timestamp, Loose Source Route, Strict Source Route,
                  and Record Route are deliberately hidden within the
                  tunnel.  Often, tunnels are constructed to overcome
                  the inadequacies of these options.
                  Any supported flavors of security options of the
                  inner IP header MAY affect the choice of security
                  options for the tunnel.  It is not expected that
                  there be a one-to-one mapping of such options to the
                  options or security headers selected for the tunnel.

Simpson Informational [Page 4] RFC 1853 IP Tunnelling October 1995

3. Tunnel Management

 It is possible that one of the routers along the tunnel interior
 might encounter an error while processing the datagram, causing it to
 return an ICMP [RFC-792] error message to the encapsulator at the IP
 Source of the tunnel.  Unfortunately, ICMP only requires IP routers
 to return 8 bytes (64 bits) of the datagram beyond the IP header.
 This is not enough to include the entire encapsulated header.  Thus,
 it is not generally possible for an encapsulating router to
 immediately reflect an ICMP message from the interior of a tunnel
 back to the originating host.
 However, by carefully maintaining "soft state" about its tunnels, the
 encapsulator can return accurate ICMP messages in most cases.  The
 router SHOULD maintain at least the following soft state information
 about each tunnel:
  1. Reachability of the end of the tunnel.
  2. Congestion of the tunnel.
  3. MTU of the tunnel.
 The router uses the ICMP messages it receives from the interior of a
 tunnel to update the soft state information for that tunnel.  When
 subsequent datagrams arrive that would transit the tunnel, the router
 checks the soft state for the tunnel.  If the datagram would violate
 the state of the tunnel (such as the MTU is greater than the tunnel
 MTU when Don't Fragment is set), the router sends an appropriate ICMP
 error message back to the originator, but also forwards the datagram
 into the tunnel.  Forwarding the datagram despite returning the error
 message ensures that changes in tunnel state will be learned.
 Using this technique, the ICMP error messages from encapsulating
 routers will not always match one-to-one with errors encountered
 within the tunnel, but they will accurately reflect the state of the
 network.

3.1. Tunnel MTU Discovery

 When the Don't Fragment bit is set by the originator and copied into
 the outer IP header, the proper MTU of the tunnel will be learned
 from ICMP (Type 3 Code 4) "Datagram Too Big" errors reported to the
 encapsulator.  To support originating hosts which use this
 capability, all implementations MUST support Path MTU Discovery
 [RFC-1191, RFC-1435] within their tunnels.

Simpson Informational [Page 5] RFC 1853 IP Tunnelling October 1995

 As a benefit of Tunnel MTU Discovery, any fragmentation which occurs
 because of the size of the encapsulation header is done only once
 after encapsulation.  This prevents more than one fragmentation of a
 single datagram, which improves processing efficiency of the path
 routers and tunnel decapsulator.

3.2. Congestion

 Tunnel soft state will collect indications of congestion, such as an
 ICMP (Type 4) Source Quench in datagrams from the decapsulator
 (tunnel peer).  When forwarding another datagram into the tunnel,
 it is appropriate to send Source Quench messages to the originator.

3.3. Routing Failures

 Because the TTL is reset each time that a datagram is encapsulated,
 routing loops within a tunnel are particularly dangerous when they
 arrive again at the encapsulator.  If the IP Source matches any of
 its interfaces, an implementation MUST NOT further encapsulate.
 Instead, the datagram is forwarded normally.
 ICMP (Type 11) Time Exceeded messages report routing loops within the
 tunnel itself.  ICMP (Type 3) Destination Unreachable messages report
 delivery failures to the decapsulator.  This soft state MUST be
 reported to the originator as (Type 3 Code 0) Network Unreachable.

3.4. Other ICMP Messages

 Most ICMP error messages are not relevant to the use of the tunnel.
 In particular, parameter problems are likely to be a result of
 misconfiguration of the encapsulator, and MUST NOT be reported to the
 originator.

Simpson Informational [Page 6] RFC 1853 IP Tunnelling October 1995

Security Considerations

 Security issues are briefly discussed in this memo.  The use of
 tunneling may obviate some older IP security options (labelling), but
 will better support newer IP Security headers.

References

 [IDM91a] Ioannidis, J., Duchamp, D., Maguire, G., "IP-based
          protocols for mobile internetworking", Proceedings of
          SIGCOMM '91, ACM, September 1991.
 [RFC-791]
          Postel, J., "Internet Protocol", STD 5, RFC 791,
          USC/Information Sciences Institute, September 1981.
 [RFC-792]
          Postel, J., "Internet Control Message Protocol", STD 5,
          RFC 792, USC/Information Sciences Institute, September
          1981.
 [RFC-1191]
          Mogul, J., and S. Deering, "Path MTU Discovery", RFC 1191,
          DECWRL, Stanford University, November 1990.
 [RFC-1241]
          Mills, D., and R. Woodburn, "A Scheme for an Internet
          Encapsulation Protocol: Version 1", UDEL, July 1991.
 [RFC-1435]
          Knowles, S., "IESG Advice from Experience with Path MTU
          Discovery", RFC 1435, FTP Software, March 1993.
 [RFC-1700]
          Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC
          1700, USC/Information Sciences Institute, October 1994.
 [RFC-1701]
          Hanks, S., Li, T., Farinacci, D., and P. Traina, "Generic
          Routing Encapsulation (GRE)", RFC 1701, October 1994.
 [swIPe]  Ioannidis, J., and Blaze, M., "The Architecture and
          Implementation of Network-Layer Security Under Unix", Fourth
          Usenix Security Symposium Proceedings, October 1993.

Simpson Informational [Page 7] RFC 1853 IP Tunnelling October 1995

Acknowledgements

 These implementation details of IP Tunneling are derived in large
 part from independent work in 1990 by Phil Karn and the TCP-Group
 hams using KA9Q NOS.
 Special thanks to John Ioannidis (then of Columbia University) for
 inspiration and experimentation which began this most recent round of
 IP Mobility and IP Security development.  Some of this text was
 derived from [IDM91a] and [swIPe].
 The chaining of headers was also described in "Simple Internet
 Protocol", by Steve Deering (Xerox PARC).
 The overall organization and some of this text was derived from
 [RFC-1241], by David Mills (U Delaware) and Robert Woodburn (SAIC).
 Some of the text on tunnel soft state was derived from "IP Address
 Encapsulation (IPAE)", by Robert E. Gilligan, Erik Nordmark, and Bob
 Hinden (all of Sun Microsystems).

Author's Address

 Questions about this memo can also be directed to:
    William Allen Simpson
    Daydreamer
    Computer Systems Consulting Services
    1384 Fontaine
    Madison Heights, Michigan  48071
    Bill.Simpson@um.cc.umich.edu
        bsimpson@MorningStar.com

Simpson Informational [Page 8]

/data/webs/external/dokuwiki/data/pages/rfc/rfc1853.txt · Last modified: 1995/10/03 21:43 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki