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

📄 rfc1883.txt

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

   Next Header          8-bit selector.  Identifies the type of header
                        immediately following the Destination Options
                        header.  Uses the same values as the IPv4
                        Protocol field [RFC-1700 et seq.].

   Hdr Ext Len          8-bit unsigned integer.  Length of the
                        Destination Options header in 8-octet units,
                        not including the first 8 octets.

   Options              Variable-length field, of length such that the
                        complete Destination Options header is an
                        integer multiple of 8 octets long.  Contains
                        one or  more TLV-encoded options, as described
                        in section 4.2.


   The only destination options defined in this document are the Pad1
   and PadN options specified in section 4.2.

   Note that there are two possible ways to encode optional destination
   information in an IPv6 packet: either as an option in the Destination
   Options header, or as a separate extension header.  The Fragment
   header and the Authentication header are examples of the latter
   approach.  Which approach can be used depends on what action is
   desired of a destination node that does not understand the optional
   information:

      o  if the desired action is for the destination node to discard
         the packet and, only if the packet's Destination Address is not
         a multicast address, send an ICMP Unrecognized Type message to
         the packet's Source Address, then the information may be
         encoded either as a separate header or as an option in the


Deering & Hinden            Standards Track                    [Page 24]

RFC 1883                   IPv6 Specification              December 1995


         Destination Options header whose Option Type has the value 11
         in its highest-order two bits.  The choice may depend on such
         factors as which takes fewer octets, or which yields better
         alignment or more efficient parsing.

      o  if any other action is desired, the information must be encoded
         as an option in the Destination Options header whose Option
         Type has the value 00, 01, or 10 in its highest-order two bits,
         specifying the desired action (see section 4.2).



4.7 No Next Header

   The value 59 in the Next Header field of an IPv6 header or any
   extension header indicates that there is nothing following that
   header.  If the Payload Length field of the IPv6 header indicates the
   presence of octets past the end of a header whose Next Header field
   contains 59, those octets must be ignored, and passed on unchanged if
   the packet is forwarded.































Deering & Hinden            Standards Track                    [Page 25]

RFC 1883                   IPv6 Specification              December 1995


5. Packet Size Issues

   IPv6 requires that every link in the internet have an MTU of 576
   octets or greater.  On any link that cannot convey a 576-octet packet
   in one piece, link-specific fragmentation and reassembly must be
   provided at a layer below IPv6.

    From each link to which a node is directly attached, the node must
   be able to accept packets as large as that link's MTU.  Links that
   have a configurable MTU (for example, PPP links [RFC-1661]) must be
   configured to have an MTU of at least 576 octets; it is recommended
   that a larger MTU be configured, to accommodate possible
   encapsulations (i.e., tunneling) without incurring fragmentation.

   It is strongly recommended that IPv6 nodes implement Path MTU
   Discovery [RFC-1191], in order to discover and take advantage of
   paths with MTU greater than 576 octets.  However, a minimal IPv6
   implementation (e.g., in a boot ROM) may simply restrict itself to
   sending packets no larger than 576 octets, and omit implementation of
   Path MTU Discovery.

   In order to send a packet larger than a path's MTU, a node may use
   the IPv6 Fragment header to fragment the packet at the source and
   have it reassembled at the destination(s).  However, the use of such
   fragmentation is discouraged in any application that is able to
   adjust its packets to fit the measured path MTU (i.e., down to 576
   octets).

   A node must be able to accept a fragmented packet that, after
   reassembly, is as large as 1500 octets, including the IPv6 header.  A
   node is permitted to accept fragmented packets that reassemble to
   more than 1500 octets.  However, a node must not send fragments that
   reassemble to a size greater than 1500 octets unless it has explicit
   knowledge that the destination(s) can reassemble a packet of that
   size.

   In response to an IPv6 packet that is sent to an IPv4 destination
   (i.e., a packet that undergoes translation from IPv6 to IPv4), the
   originating IPv6 node may receive an ICMP Packet Too Big message
   reporting a Next-Hop MTU less than 576.  In that case, the IPv6 node
   is not required to reduce the size of subsequent packets to less than
   576, but must include a Fragment header in those packets so that the
   IPv6-to-IPv4 translating router can obtain a suitable Identification
   value to use in resulting IPv4 fragments.  Note that this means the
   payload may have to be reduced to 528 octets (576 minus 40 for the
   IPv6 header and 8 for the Fragment header), and smaller still if
   additional extension headers are used.




Deering & Hinden            Standards Track                    [Page 26]

RFC 1883                   IPv6 Specification              December 1995


        Note: Path MTU Discovery must be performed even in cases where a
        host "thinks" a destination is attached to the same link as
        itself.

        Note: Unlike IPv4, it is unnecessary in IPv6 to set a "Don't
        Fragment" flag in the packet header in order to perform Path MTU
        Discovery; that is an implicit attribute of every IPv6 packet.
        Also, those parts of the RFC-1191 procedures that involve use of
        a table of MTU "plateaus" do not apply to IPv6, because the IPv6
        version of the "Datagram Too Big" message always identifies the
        exact MTU to be used.








































Deering & Hinden            Standards Track                    [Page 27]

RFC 1883                   IPv6 Specification              December 1995


6.  Flow Labels

   The 24-bit Flow Label field in the IPv6 header may be used by a
   source to label those packets for which it requests special handling
   by the IPv6 routers, such as non-default quality of service or
   "real-time" service.  This aspect of IPv6 is, at the time of writing,
   still experimental and subject to change as the requirements for flow
   support in the Internet become clearer.  Hosts or routers that do not
   support the functions of the Flow Label field are required to set the
   field to zero when originating a packet, pass the field on unchanged
   when forwarding a packet, and ignore the field when receiving a
   packet.

   A flow is a sequence of packets sent from a particular source to a
   particular (unicast or multicast) destination for which the source
   desires special handling by the intervening routers.  The nature of
   that special handling might be conveyed to the routers by a control
   protocol, such as a resource reservation protocol, or by information
   within the flow's packets themselves, e.g., in a hop-by-hop option.
   The details of such control protocols or options are beyond the scope
   of this document.

   There may be multiple active flows from a source to a destination, as
   well as traffic that is not associated with any flow.  A flow is
   uniquely identified by the combination of a source address and a
   non-zero flow label.  Packets that do not belong to a flow carry a
   flow label of zero.

   A flow label is assigned to a flow by the flow's source node.  New
   flow labels must be chosen (pseudo-)randomly and uniformly from the
   range 1 to FFFFFF hex.  The purpose of the random allocation is to
   make any set of bits within the Flow Label field suitable for use as
   a hash key by routers, for looking up the state associated with the
   flow.

   All packets belonging to the same flow must be sent with the same
   source address, destination address, priority, and flow label.  If
   any of those packets includes a Hop-by-Hop Options header, then they
   all must be originated with the same Hop-by-Hop Options header
   contents (excluding the Next Header field of the Hop-by-Hop Options
   header).  If any of those packets includes a Routing header, then
   they all must be originated with the same contents in all extension
   headers up to and including the Routing header (excluding the Next
   Header field in the Routing header).  The routers or destinations are
   permitted, but not required, to verify that these conditions are
   satisfied.  If a violation is detected, it should be reported to the
   source by an ICMP Parameter Problem message, Code 0, pointing to the
   high-order octet of the Flow Label field (i.e., offset 1 within the
   IPv6 packet).


Deering & Hinden            Standards Track                    [Page 28]

RFC 1883                   IPv6 Specification              December 1995


   Routers are free to "opportunistically" set up flow-handling state
   for any flow, even when no explicit flow establishment information
   has been provided to them via a control protocol, a hop-by-hop
   option, or other means.  For example, upon receiving a packet from a
   particular source with an unknown, non-zero flow label, a router may
   process its IPv6 header and any necessary extension headers as if the
   flow label were zero.  That processing would include determining the
   next-hop interface, and possibly other actions, such as updating a
   hop-by-hop option, advancing the pointer and addresses in a Routing
   header, or deciding on how to queue the packet based on its Priority
   field.  The router may then choose to "remember" the results of those
   processing steps and cache that information, using the source address
   plus the flow label as the cache key.  Subsequent packets with the
   same source address and flow label may then be handled by referring
   to the cached information rather than examining all those fields
   that, according to the requirements of the previous paragraph, can be
   assumed unchanged from the first packet seen in the flow.

   Cached flow-handling state that is set up opportunistically, as
   discussed in the preceding paragraph, must be discarded no more than
   6 seconds after it is established, regardless of whether or not
   packets of the same flow continue to arrive.  If another packet with
   the same source address and flow label arrives after the cached state
   has been discarded, the packet undergoes full, normal processing (as
   if its flow label were zero), which may result in the re-creation of
   cached flow state for that flow.

   The lifetime of flow-handling state that is set up explicitly, for
   example by a control protocol or a hop-by-hop option, must be
   specified as part of the specification of the explicit set-up
   mechanism; it may exceed 6 seconds.

   A source must not re-use a flow label for a new flow within the
   lifetime of any flow-handling state that might have been established
   for the prior use of that flow label.  Since flow-handling state with
   a lifetime of 6 seconds may be established opportunistically for any
   flow, the minimum interval between the last packet of one flow and
   the first packet of a new flow using the same flow label is 6
   seconds.  Flow labels used for explicitly set-up flows with longer
   flow-state lifetimes must remain unused for those longer lifetimes
   before being re-used for new flows.

   When a node stops and restarts (e.g., as a result of a "crash"), it
   must be careful not to use a flow label that it might have used for
   an earlier flow whose lifetime may not have expired yet.  This may be
   accomplished by recording flow label usage on stable storage so that
   it can be remembered across crashes, or by refraining from using any
   flow labels until the maximum lifetime of any possible previously
   established flows has expired (at least 6 seconds; more if explicit


Deering & Hinden            Standards Track                    [Page 29]

RFC 1883                   IPv6 Specification              December 1995


   flow set-up mechanisms with longer lifetimes might have been used).
   If the minimum time for rebooting the node is known (often more than
   6 seconds), that time can be deducted from the necessary waiting
   period before starting to alloca

⌨️ 快捷键说明

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