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

📄 rfc1933.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
📖 第 1 页 / 共 4 页
字号:
RFC 1933               IPv6 Transition Mechanisms             April 1996   encapsulating node because it is the IPv4 source of the encapsulated   packet.   The ICMP "packet too big" error messages are handled according to   IPv4 Path MTU Discovery [8] and the resulting path MTU is recorded in   the IPv4 layer.  The recorded path MTU is used by IPv6 to determine   if an IPv6 ICMP "packet too big" error has to be generated as   described in section 4.1.1.   The handling of other types of ICMP error messages depends on how   much information is included in the "packet in error" field, which   holds the encapsulated packet that caused the error.   Many older IPv4 routers return only 8 bytes of data beyond the IPv4   header of the packet in error, which is not enough to include the   address fields of the IPv6 header. More modern IPv4 routers may   return enough data beyond the IPv4 header to include the entire IPv6   header and possibly even the data beyond that.   If the offending packet includes enough data, the encapsulating node   may extract the encapsulated IPv6 packet and use it to generating an   IPv6 ICMP message directed back to the originating IPv6 node, as   shown below:                +--------------+                | IPv4 Header  |                | dst = encaps |                |       node   |                +--------------+                |     ICMP     |                |    Header    |         - -    +--------------+                | IPv4 Header  |                | src = encaps |        IPv4    |       node   |                +--------------+   - -        Packet  |    IPv6      |                |    Header    |   Original IPv6         in     +--------------+   Packet -                |  Transport   |   Can be used to        Error   |    Header    |   generate an                +--------------+   IPv6 ICMP                |              |   error message                ~     Data     ~   back to the source.                |              |         - -    +--------------+   - -        IPv4 ICMP Error Message Returned to Encapsulating NodeGilligan & Nordmark         Standards Track                    [Page 12]RFC 1933               IPv6 Transition Mechanisms             April 19964.1.4.  IPv4 Header Construction   When encapsulating an IPv6 packet in an IPv4 datagram, the IPv4   header fields are set as follows:        Version:                4        IP Header Length in 32-bit words:                5 (There are no IPv4 options in the encapsulating                header.)        Type of Service:                0        Total Length:                Payload length from IPv6 header plus length of IPv6 and                IPv4 headers (i.e. a constant 60 bytes).        Identification:                Generated uniquely as for any IPv4 packet transmitted by                the system.        Flags:                Set the Don't Fragment (DF) flag as specified in                section 4.1.1. Set the More Fragments (MF) bit as                necessary if fragmenting.        Fragment offset:                Set as necessary if fragmenting.        Time to Live:                Set in implementation-specific manner.        Protocol:                41 (Assigned payload type number for IPv6)Gilligan & Nordmark         Standards Track                    [Page 13]RFC 1933               IPv6 Transition Mechanisms             April 1996        Header Checksum:                Calculate the checksum of the IPv4 header.        Source Address:                IPv4 address of outgoing interface of the                encapsulating node.        Destination Address:                IPv4 address of tunnel endpoint.   Any IPv6 options are preserved in the packet (after the IPv6 header).4.1.5. Decapsulating IPv6-in-IPv4 Packets   When an IPv6/IPv4 host or a router receives an IPv4 datagram that is   addressed to one of its own IPv4 address, and the value of the   protocol field is 41, it removes the IPv4 header and submits the IPv6   datagram to its IPv6 layer code.   The decapsulation is shown below:        +-------------+        |    IPv4     |        |   Header    |        +-------------+                 +-------------+        |    IPv6     |                 |    IPv6     |        |   Header    |                 |   Header    |        +-------------+                 +-------------+        |  Transport  |                 |  Transport  |        |   Layer     |      ===>       |   Layer     |        |   Header    |                 |   Header    |        +-------------+                 +-------------+        |             |                 |             |        ~    Data     ~                 ~    Data     ~        |             |                 |             |        +-------------+                 +-------------+                    Decapsulating IPv6 from IPv4   When decapsulating the IPv6-in-IPv4 packet, the IPv6 header is not   modified.  If the packet is subsequently forwarded, its hop limit is   decremented by one.   The encapsulating IPv4 header is discarded.Gilligan & Nordmark         Standards Track                    [Page 14]RFC 1933               IPv6 Transition Mechanisms             April 1996   The decapsulating node performs IPv4 reassembly before decapsulating   the IPv6 packet.  All IPv6 options are preserved even if the   encapsulating IPv4 packet is fragmented.   After the IPv6 packet is decapsulated, it is processed the same as   any received IPv6 packet.4.2. Configured Tunneling   In configured tunneling, the tunnel endpoint address is determined   from configuration information in the encapsulating node.  For each   tunnel, the encapsulating node must store the tunnel endpoint   address.  When an IPv6 packet is transmitted over a tunnel, the   tunnel endpoint address configured for that tunnel is used as the   destination address for the encapsulating IPv4 header.   The determination of which packets to tunnel is usually made by   routing information on the encapsulating node.  This is usually done   via a routing table, which directs packets based on their destination   address using the prefix mask and match technique.4.2.1. Default Configured Tunnel   Nodes that are connected to IPv4 routing infrastructures may use a   configured tunnel to reach an IPv6 "backbone".  If the IPv4 address   of an IPv6/IPv4 router bordering the backbone is known, a tunnel can   be configured to that router.  This tunnel can be configured into the   routing table as a "default route".  That is, all IPv6 destination   addresses will match the route and could potentially traverse the   tunnel.  Since the "mask length" of such default route is zero, it   will be used only if there are no other routes with a longer mask   that match the destination.   The tunnel endpoint address of such a default tunnel could be the   IPv4 address of one IPv6/IPv4 router at the border of the IPv6   backbone.  Alternatively, the tunnel endpoint could be an IPv4   "anycast address".  With this approach, multiple IPv6/IPv4 routers at   the border advertise IPv4 reachability to the same IPv4 address.  All   of these routers accept packets to this address as their own, and   will decapsulate IPv6 packets tunneled to this address.  When an   IPv6/IPv4 node sends an encapsulated packet to this address, it will   be delivered to only one of the border routers, but the sending node   will not know which one.  The IPv4 routing system will generally   carry the traffic to the closest router.   Using a default tunnel to an IPv4 "anycast address" provides a high   degree of robustness since multiple border router can be provided,   and, using the normal fallback mechanisms of IPv4 routing, trafficGilligan & Nordmark         Standards Track                    [Page 15]RFC 1933               IPv6 Transition Mechanisms             April 1996   will automatically switch to another router when one goes down.4.3. Automatic Tunneling   In automatic tunneling, the tunnel endpoint address is determined   from the packet being tunneled.  The destination IPv6 address in the   packet must be an IPv4-compatible address.  If it is, the IPv4   address component of that address -- the low-order 32-bits -- are   extracted and used as the tunnel endpoint address.  IPv6 packets that   are not addressed to an IPv4-compatible address can not be tunneled   using automatic tunneling.   IPv6/IPv4 nodes need to determine which IPv6 packets can be sent via   automatic tunneling.  One technique is to use the IPv6 routing table   to direct automatic tunneling.  An implementation can have a special   static routing table entry for the prefix 0:0:0:0:0:0/96.  (That is,   a route to the all-zeros prefix with a 96-bit mask.)  Packets that   match this prefix are sent to a pseudo-interface driver which   performs automatic tunneling.  Since all IPv4-compatible IPv6   addresses will match this prefix, all packets to those destinations   will be auto-tunneled.4.4. Default Sending Algorithm   This section presents a combined IPv4 and IPv6 sending algorithm that   IPv6/IPv4 nodes can use.  The algorithm can be used to determine when   to send IPv4 packets, when to send IPv6 packets, and when to perform   automatic and configured tunneling.  It illustrates how the   techniques of dual IP layer, configured tunneling, and automatic   tunneling can be used together.  Note that is just an example to show   how the techniques can be combined; IPv6/IPv6 implementations may   provide different algorithms.  This algorithm has the following   properties:   -    Sends IPv4 packets to all IPv4 destinations.   -    Sends IPv6 packets to all IPv6 destinations on the same link.   -    Using automatic tunneling, sends IPv6 packets encapsulated in        IPv4 to IPv6 destinations with IPv4-compatible addresses that        are located off-link.   -    Sends IPv6 packets to IPv6 destinations located off-link when        IPv6 routers are present.   -    Using the default IPv6 tunnel, sends IPv6 packets encapsulated        in IPv4 to IPv6 destinations with IPv6-only addresses when no        IPv6 routers are present.Gilligan & Nordmark         Standards Track                    [Page 16]RFC 1933               IPv6 Transition Mechanisms             April 1996The algorithm is as follows:  1)    If the address of the end node is an IPv4 address then:          1.1)  If the destination is located on an attached link, then                send an IPv4 packet addressed to the end node.          1.2)  If the destination is located off-link, then;                1.2.1)  If there is an IPv4 router on link, then send an                        IPv4 format packet.  The IPv4 destination                        address is the IPv4 address of the end node.                        The datalink address is the datalink address of                        the IPv4 router.                1.2.2)  Else, the destination is treated as                        "unreachable" because it is located off link and                        there are no on-link routers.  2)    If the address of the end node is an IPv4-compatible IPv6        address (i.e. bears the prefix 0:0:0:0:0:0), then:          2.1)  If the destination is located on an attached link, then                send an IPv6 format packet (not encapsulated).  The IPv6                destination address is the IPv6 address of the end node.

⌨️ 快捷键说明

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