home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1853.txt < prev    next >
Text File  |  1996-05-07  |  15KB  |  270 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         W. Simpson Request for Comments: 1853                                    Daydreamer Category: Informational                                     October 1995 
  8.  
  9.                             IP in IP Tunneling 
  10.  
  11.  Status of this Memo 
  12.  
  13.    This memo provides information for the Internet community.  It does    not specify an Internet standard.  Distribution of this memo is    unlimited. 
  14.  
  15.  IESG Note: 
  16.  
  17.    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. 
  18.  
  19.  Abstract 
  20.  
  21.    This document discusses implementation techniques for using IP    Protocol/Payload number 4 Encapsulation for tunneling with IP    Security and other protocols. 
  22.  
  23.  Table of Contents 
  24.  
  25.      1.     Introduction ..........................................    2 
  26.  
  27.      2.     Encapsulation .........................................    3 
  28.  
  29.      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 
  30.  
  31.      SECURITY CONSIDERATIONS ......................................    7      REFERENCES ...................................................    7      ACKNOWLEDGEMENTS .............................................    8      AUTHOR'S ADDRESS .............................................    8 
  32.  
  33.  
  34.  
  35.  
  36.  
  37. Simpson                      Informational                      [Page 1] 
  38.  RFC 1853                     IP Tunnelling                  October 1995 
  39.  
  40.  1.  Introduction 
  41.  
  42.    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. 
  43.  
  44.    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. 
  45.  
  46.    This information applies principally to encapsulation of IP version    4.  Other IP versions will be described in separate documents. 
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80. Simpson                      Informational                      [Page 2] 
  81.  RFC 1853                     IP Tunnelling                  October 1995 
  82.  
  83.  2.  Encapsulation 
  84.  
  85.    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. 
  86.  
  87.    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. 
  88.  
  89.    Each header chains to the next using IP Protocol values [RFC-1700]. 
  90.  
  91.                                           +---------------------------+                                           |      Outer IP Header      |                                           +---------------------------+                                           |      Tunnel Headers       |       +---------------------------+       +---------------------------+       |         IP Header         |       |      Inner IP Header      |       +---------------------------+ ====> +---------------------------+       |                           |       |                           |       |         IP Payload        |       |         IP Payload        |       |                           |       |                           |       +---------------------------+       +---------------------------+ 
  92.  
  93.    The format of IP headers is described in [RFC-791]. 
  94.  
  95.    Type Of Service  copied from the inner IP header.  Optionally,                     another TOS may be used between cooperating peers. 
  96.  
  97.                     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. 
  98.  
  99.    Identification   A new number is generated for each outer IP header. 
  100.  
  101.                     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. 
  102.  
  103.    Reserved                     ignored (set to zero). 
  104.  
  105.  
  106.  
  107.  Simpson                      Informational                      [Page 3] 
  108.  RFC 1853                     IP Tunnelling                  October 1995 
  109.  
  110.                      This unofficial flag has seen experimental use, and                     while it remains in the inner IP header, does not                     affect the tunnel. 
  111.  
  112.    Don't Fragment   copied from the inner IP header.  This allows the                     originator to control the level of performance                     tradeoffs.  See "Tunnel MTU Discovery". 
  113.  
  114.    More Fragments   set as required when fragmenting. 
  115.  
  116.                     The flag is not copied for the same reason that a                     separate Identification is used. 
  117.  
  118.    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. 
  119.  
  120.                     The inner TTL is decremented once before                     encapsulation, and is not affected by decapsulation. 
  121.  
  122.    Protocol         the next header; 4 for the inner IP header, when no                     intervening tunnel headers are in use. 
  123.  
  124.    Source           an IP address associated with the interface used to                     send the datagram. 
  125.  
  126.    Destination      an IP address of the tunnel decapsulator. 
  127.  
  128.    Options          not copied from the inner IP header.  However, new                     options particular to the path MAY be added. 
  129.  
  130.                     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. 
  131.  
  132.                     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. 
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142. Simpson                      Informational                      [Page 4] 
  143.  RFC 1853                     IP Tunnelling                  October 1995 
  144.  
  145.  3.  Tunnel Management 
  146.  
  147.    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. 
  148.  
  149.    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: 
  150.  
  151.     - Reachability of the end of the tunnel.     - Congestion of the tunnel.     - MTU of the tunnel. 
  152.  
  153.    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. 
  154.  
  155.    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. 
  156.  
  157.  3.1.  Tunnel MTU Discovery 
  158.  
  159.    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. 
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  Simpson                      Informational                      [Page 5] 
  166.  RFC 1853                     IP Tunnelling                  October 1995 
  167.  
  168.     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. 
  169.  
  170.  3.2.  Congestion 
  171.  
  172.    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. 
  173.  
  174.  3.3.  Routing Failures 
  175.  
  176.    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. 
  177.  
  178.    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. 
  179.  
  180.  3.4.  Other ICMP Messages 
  181.  
  182.    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. 
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  Simpson                      Informational                      [Page 6] 
  199.  RFC 1853                     IP Tunnelling                  October 1995 
  200.  
  201.  Security Considerations 
  202.  
  203.    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. 
  204.  
  205.  References 
  206.  
  207.    [IDM91a] Ioannidis, J., Duchamp, D., Maguire, G., "IP-based             protocols for mobile internetworking", Proceedings of             SIGCOMM '91, ACM, September 1991. 
  208.  
  209.    [RFC-791]             Postel, J., "Internet Protocol", STD 5, RFC 791,             USC/Information Sciences Institute, September 1981. 
  210.  
  211.    [RFC-792]             Postel, J., "Internet Control Message Protocol", STD 5,             RFC 792, USC/Information Sciences Institute, September             1981. 
  212.  
  213.    [RFC-1191]             Mogul, J., and S. Deering, "Path MTU Discovery", RFC 1191,             DECWRL, Stanford University, November 1990. 
  214.  
  215.    [RFC-1241]             Mills, D., and R. Woodburn, "A Scheme for an Internet             Encapsulation Protocol: Version 1", UDEL, July 1991. 
  216.  
  217.    [RFC-1435]             Knowles, S., "IESG Advice from Experience with Path MTU             Discovery", RFC 1435, FTP Software, March 1993. 
  218.  
  219.    [RFC-1700]             Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC             1700, USC/Information Sciences Institute, October 1994. 
  220.  
  221.    [RFC-1701]             Hanks, S., Li, T., Farinacci, D., and P. Traina, "Generic             Routing Encapsulation (GRE)", RFC 1701, October 1994. 
  222.  
  223.    [swIPe]  Ioannidis, J., and Blaze, M., "The Architecture and             Implementation of Network-Layer Security Under Unix", Fourth             Usenix Security Symposium Proceedings, October 1993. 
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  Simpson                      Informational                      [Page 7] 
  230.  RFC 1853                     IP Tunnelling                  October 1995 
  231.  
  232.  Acknowledgements 
  233.  
  234.    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. 
  235.  
  236.    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]. 
  237.  
  238.    The chaining of headers was also described in "Simple Internet    Protocol", by Steve Deering (Xerox PARC). 
  239.  
  240.    The overall organization and some of this text was derived from    [RFC-1241], by David Mills (U Delaware) and Robert Woodburn (SAIC). 
  241.  
  242.    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). 
  243.  
  244.  Author's Address 
  245.  
  246.    Questions about this memo can also be directed to: 
  247.  
  248.       William Allen Simpson       Daydreamer       Computer Systems Consulting Services       1384 Fontaine       Madison Heights, Michigan  48071 
  249.  
  250.       Bill.Simpson@um.cc.umich.edu           bsimpson@MorningStar.com 
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. Simpson                      Informational                      [Page 8] 
  269.  
  270.