⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2473.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:






Network Working Group                                          A. Conta
Request for Comments: 2473                     Lucent Technologies Inc.
Category: Standards Track                                    S. Deering
                                                          Cisco Systems
                                                          December 1998


                    Generic Packet Tunneling in IPv6
                             Specification

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

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

Abstract

   This document defines the model and generic mechanisms for IPv6
   encapsulation of Internet packets, such as IPv6 and IPv4.  The model
   and mechanisms can be applied to other protocol packets as well, such
   as AppleTalk, IPX, CLNP, or others.

Table of Contents

   1. Introduction..................................................2
   2. Terminology...................................................2
   3. IPv6 Tunneling................................................4
       3.1 IPv6 Encapsulation.......................................6
       3.2 IPv6 Packet Processing in Tunnels........................7
       3.3 IPv6 Decapsulation.......................................7
       3.4 IPv6 Tunnel Protocol Engine..............................8
   4. Nested Encapsulation.........................................11
       4.1  Limiting Nested Encapsulation..........................12
           4.1.1  Tunnel Encapsulation Limit Option................13
           4.1.2  Loopback Encapsulation...........................15
           4.1.3  Routing Loop Nested Encapsulation................15
   5. Tunnel IPv6 Header...........................................16
       5.1 Tunnel IPv6 Extension Headers...........................17
   6. IPv6 Tunnel State Variables..................................19
       6.1 IPv6 Tunnel Entry-Point Node............................19
       6.2 IPv6 Tunnel Exit-Point Node.............................19



Conta & Deering             Standards Track                     [Page 1]

RFC 2473            Generic Packet Tunneling in IPv6       December 1998


       6.3 IPv6 Tunnel Hop Limit...................................19
       6.4 IPv6 Tunnel Packet Traffic Class........................20
       6.5 IPv6 Tunnel Flow Label..................................20
       6.6 IPv6 Tunnel Encapsulation Limit.........................20
       6.7 IPv6 Tunnel MTU.........................................20
   7. IPv6 Tunnel Packet Size Issues...............................21
       7.1 IPv6 Tunnel Packet Fragmentation........................21
       7.2 IPv4 Tunnel Packet Fragmentation........................22
   8. IPv6 Tunnel Error Reporting and Processing...................22
       8.1 Tunnel ICMP Messages....................................27
       8.2 ICMP Messages for IPv6 Original Packets.................28
       8.3 ICMP Messages for IPv4 Original Packets.................29
       8.4 ICMP Messages for Nested Tunnel Packets.................30
   9. Security Considerations......................................30
   10. Acknowledgments.............................................31
   11. References..................................................31
   Authors' Addresses..............................................32
   Appendix A. Risk Factors in Recursive Encapsulation.............33
   Full Copyright Statement........................................36

1. Introduction

   This document specifies a method and generic mechanisms by which a
   packet is encapsulated and carried as payload within an IPv6 packet.
   The resulting packet is called an IPv6 tunnel packet. The forwarding
   path between the source and destination of the tunnel packet is
   called an IPv6 tunnel. The technique is called IPv6 tunneling.

   A typical scenario for IPv6 tunneling is the case in which an
   intermediate node exerts explicit routing control by specifying
   particular forwarding paths for selected packets.  This control is
   achieved by prepending IPv6 headers to each of the selected original
   packets. These prepended headers identify the forwarding paths.

   In addition to the description of generic IPv6 tunneling mechanisms,
   which is the focus of this document, specific mechanisms for
   tunneling IPv6 and IPv4 packets are also described herein.

   The keywords MUST, MUST NOT, MAY, OPTIONAL, REQUIRED, RECOMMENDED,
   SHALL, SHALL NOT, SHOULD, SHOULD NOT are to be interpreted as defined
   in RFC 2119.

2. Terminology

   original packet

        a packet that undergoes encapsulation.




Conta & Deering             Standards Track                     [Page 2]

RFC 2473            Generic Packet Tunneling in IPv6       December 1998


   original header

        the header of an original packet.

   tunnel

        a forwarding path between two nodes on which the payloads of
        packets are original packets.

   tunnel end-node

        a node where a tunnel begins or ends.

   tunnel header

        the header prepended to the original packet during
        encapsulation.  It specifies the tunnel end-points as source and
        destination.

   tunnel packet

        a packet that encapsulates an original packet.

   tunnel entry-point

        the tunnel end-node where an original packet is encapsulated.

   tunnel exit-point

        the tunnel end-node where a tunnel packet is decapsulated.

   IPv6 tunnel

        a tunnel configured as a virtual link between two IPv6 nodes, on
        which the encapsulating protocol is IPv6.

   tunnel MTU

        the maximum size of a tunnel packet payload without requiring
        fragmentation, that is, the Path MTU between the tunnel entry-
        point and the tunnel exit-point nodes minus the size of the
        tunnel header.

   tunnel hop limit

        the maximum number of hops that a tunnel packet can travel from
        the tunnel entry-point to the tunnel exit-point.




Conta & Deering             Standards Track                     [Page 3]

RFC 2473            Generic Packet Tunneling in IPv6       December 1998


   inner tunnel

        a tunnel that is a hop (virtual link) of another tunnel.

   outer tunnel

        a tunnel containing one or more inner tunnels.

   nested tunnel packet

        a tunnel packet that has as payload a tunnel packet.

   nested tunnel header

        the tunnel header of a nested tunnel packet.

   nested encapsulation

        encapsulation of an encapsulated packet.

   recursive encapsulation

        encapsulation of a packet that reenters a tunnel before exiting
        it.

   tunnel encapsulation limit

        the maximum number of nested encapsulations of a packet.

3. IPv6 Tunneling

   IPv6 tunneling is a technique for establishing a "virtual link"
   between two IPv6 nodes for transmitting data packets as payloads of
   IPv6 packets (see Fig.1).  From the point of view of the two nodes,
   this "virtual link", called an IPv6 tunnel, appears as a point to
   point link on which IPv6 acts like a link-layer protocol.  The two
   IPv6 nodes play specific roles.  One node encapsulates original
   packets received from other nodes or from itself and forwards the
   resulting tunnel packets through the tunnel.  The other node
   decapsulates the received tunnel packets and forwards the resulting
   original packets towards their destinations, possibly itself. The
   encapsulator node is called the tunnel entry-point node, and it is
   the source of the tunnel packets. The decapsulator node is called the
   tunnel exit-point, and it is the destination of the tunnel packets.







Conta & Deering             Standards Track                     [Page 4]

RFC 2473            Generic Packet Tunneling in IPv6       December 1998


   Note:
   This document refers in particular to tunnels between two nodes
   identified by unicast addresses - such tunnels look like "virtual
   point to point links". The mechanisms described herein apply also to
   tunnels in which the exit-point nodes are identified by other types
   of addresses, such as anycast or multicast.  These tunnels may look
   like "virtual point to multipoint links". At the time of writing this
   document, IPv6 anycast addresses are a subject of ongoing
   specification and experimental work.

                   Tunnel from node B to node C
                    <---------------------->
                 Tunnel                     Tunnel
                 Entry-Point                Exit-Point
                 Node                       Node
  +-+            +-+                        +-+            +-+
  |A|-->--//-->--|B|=====>=====//=====>=====|C|-->--//-->--|D|
  +-+            +-+                        +-+            +-+
  Original                                                 Original
  Packet                                                   Packet
  Source                                                   Destination
  Node                                                     Node
                          Fig.1 Tunnel

   An IPv6 tunnel is a unidirectional mechanism - tunnel packet flow
   takes place in one direction between the IPv6 tunnel entry-point and
   exit-point nodes (see Fig.1).

                   Tunnel from Node B to Node C
                    <------------------------>
                 Tunnel                      Tunnel
  Original       Entry-Point                 Exit-Point     Original
  Packet         Node                        Node           Packet
  Source                                                    Destination
  Node                                                      Node
  +-+            +-+                         +-+            +-+
  | |-->--//-->--| |=====>=====//=====>======| |-->--//-->--| |
  |A|            |B|                         |C|            |D|
  | |--<--//--<--| |=====<=====//=====<======| |--<--//--<--| |
  +-+            +-+                         +-+            +-+
  Original                                                  Original
  Packet                                                    Packet
  Destination    Tunnel                      Tunnel         Source
  Node           Exit-Point                  Entry-Point    Node
                 Node                        Node
                   <------------------------->
                  Tunnel from Node C to Node B
              Fig.2 Bi-directional Tunneling Mechanism



Conta & Deering             Standards Track                     [Page 5]

RFC 2473            Generic Packet Tunneling in IPv6       December 1998


   Bi-directional tunneling is achieved by merging two unidirectional
   mechanisms, that is, configuring two tunnels, each in opposite
   direction to the other - the entry-point node of one tunnel is the
   exit-point node of the other tunnel (see Fig.2).

3.1 IPv6 Encapsulation

   IPv6 encapsulation consists of prepending to the original packet an
   IPv6 header and, optionally, a set of IPv6 extension headers (see
   Fig.3), which are collectively called tunnel IPv6 headers.  The
   encapsulation takes place in an IPv6 tunnel entry-point node, as the
   result of an original packet being forwarded onto the virtual link
   represented by the tunnel. The original packet is processed during
   forwarding according to the forwarding rules of the protocol of that
   packet. For instance if the original packet is an:

    (a)  IPv6 packet, the IPv6 original header hop limit is  decremented
         by one.

    (b)  IPv4 packet, the IPv4 original header time to live field (TTL)
         is decremented by one.

   At encapsulation, the source field of the tunnel IPv6 header is
   filled with an IPv6 address of the tunnel entry-point node, and the
   destination field with an IPv6 address of the tunnel exit-point.
   Subsequently, the tunnel packet resulting from encapsulation is sent
   towards the tunnel exit-point node.

                            +----------------------------------//-----+
                            | Original |                              |
                            |          |   Original Packet Payload    |
                            | Header   |                              |
                            +----------------------------------//-----+
                             <            Original Packet            >
                                              |
                                              v
       <Tunnel IPv6 Headers> <       Original Packet                 >

      +---------+ - - - - - +-------------------------//--------------+
      | IPv6    | IPv6      |                                         |

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -