rfc760.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 2,014 行 · 第 1/5 页

TXT
2,014
字号











[Page 10]                                                               


January 1980                                                            
                                                       Internet Protocol



                           3.  SPECIFICATION

3.1.  Internet Header Format

  A summary of the contents of the internet header follows:

                                    
    0                   1                   2                   3   
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Version|  IHL  |Type of Service|          Total Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Identification        |Flags|      Fragment Offset    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Time to Live |    Protocol   |         Header Checksum       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Source Address                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Destination Address                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Options                    |    Padding    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Example Internet Datagram Header

                               Figure 3.

  Note that each tick mark represents one bit position.

  Version:  4 bits

    The Version field indicates the format of the internet header.  This
    document describes version 4.

  IHL:  4 bits

    Internet Header Length is the length of the internet header in 32
    bit words, and thus points to the beginning of the data.  Note that
    the minimum value for a correct header is 5.












                                                               [Page 11]


                                                            January 1980
Internet Protocol
Specification



  Type of Service:  8 bits

    The Type of Service provides an indication of the abstract
    parameters of the quality of service desired.  These parameters are
    to be used to guide the selection of the actual service parameters
    when transmitting a datagram through a particular network.  Several
    networks offer service precedence, which somehow treats high
    precedence traffic as more important than other traffic.  A few
    networks offer a Stream service, whereby one can achieve a smoother
    service at some cost.  Typically this involves the reservation of
    resources within the network.  Another choice involves a low-delay
    vs. high-reliability trade off.  Typically networks invoke more
    complex (and delay producing) mechanisms as the need for reliability
    increases.

      Bits 0-2:  Precedence.
      Bit    3:  Stream or Datagram.
      Bits 4-5:  Reliability.
      Bit    6:  Speed over Reliability.
      Bits   7:  Speed.

         0     1     2     3     4     5     6     7
      +-----+-----+-----+-----+-----+-----+-----+-----+
      |                 |     |           |     |     |
      |   PRECEDENCE    | STRM|RELIABILITY| S/R |SPEED|
      |                 |     |           |     |     |
      +-----+-----+-----+-----+-----+-----+-----+-----+

      PRECEDENCE          STRM      RELIABILITY  S/R      SPEED
      111-Flash Override  1-STREAM  11-highest   1-speed  1-high
      110-Flash           0-DTGRM   10-higher    0-rlblt  0-low
      11X-Immediate                 01-lower
      01X-Priority                  00-lowest
      00X-Routine

    The type of service is used to specify the treatment of the datagram
    during its transmission through the internet system.  In the
    discussion (section 3.2) below, a chart shows the relationship of
    the internet type of service to the actual service provided on the
    ARPANET, the SATNET, and the PRNET.

  Total Length:  16 bits

    Total Length is the length of the datagram, measured in octets,
    including internet header and data.  This field allows the length of
    a datagram to be up to 65,535 octets.  Such long datagrams are
    impractical for most hosts and networks.  All hosts must be prepared
    to accept datagrams of up to 576 octets (whether they arrive whole


[Page 12]                                                               


January 1980                                                            
                                                       Internet Protocol
                                                           Specification



    or in fragments).  It is recommended that hosts only send datagrams
    larger than 576 octets if they have assurance that the destination
    is prepared to accept the larger datagrams.

    The number 576 is selected to allow a reasonable sized data block to
    be transmitted in addition to the required header information.  For
    example, this size allows a data block of 512 octets plus 64 header
    octets to fit in a datagram.  The maximal internet header is 60
    octets, and a typical internet header is 20 octets, allowing a
    margin for headers of higher level protocols.

  Identification:  16 bits

    An identifying value assigned by the sender to aid in assembling the
    fragments of a datagram.

  Flags:  3 bits

    Various Control Flags.

      Bit 0: reserved, must be zero
      Bit 1: Don't Fragment This Datagram (DF).
      Bit 2: More Fragments Flag (MF).

          0   1   2
        +---+---+---+
        |   | D | M |
        | 0 | F | F |
        +---+---+---+

  Fragment Offset:  13 bits

    This field indicates where in the datagram this fragment belongs.
    The fragment offset is measured in units of 8 octets (64 bits).  The
    first fragment has offset zero.

  Time to Live:  8 bits

    This field indicates the maximum time the datagram is allowed to
    remain the internet system.  If this field contains the value zero,
    then the datagram should be destroyed.  This field is modified in
    internet header processing.  The time is measured in units of
    seconds.  The intention is to cause undeliverable datagrams to be
    discarded.






                                                               [Page 13]


                                                            January 1980
Internet Protocol
Specification



  Protocol:  8 bits

    This field indicates the next level protocol used in the data
    portion of the internet datagram.  The values for various protocols
    are specified in reference [6].

  Header Checksum:  16 bits

    A checksum on the header only.  Since some header fields may change
    (e.g., time to live), this is recomputed and verified at each point
    that the internet header is processed.

    The checksum algorithm is:

      The checksum field is the 16 bit one's complement of the one's
      complement sum of all 16 bit words in the header.  For purposes of
      computing the checksum, the value of the checksum field is zero.

    This is a simple to compute checksum and experimental evidence
    indicates it is adequate, but it is provisional and may be replaced
    by a CRC procedure, depending on further experience.

  Source Address:  32 bits

    The source address.  The first octet is the Source Network, and the
    following three octets are the Source Local Address.

  Destination Address:  32 bits

    The destination address.  The first octet is the Destination
    Network, and the following three octets are the Destination Local
    Address.


















[Page 14]                                                               


January 1980                                                            
                                                       Internet Protocol
                                                           Specification



  Options:  variable

    The option field is variable in length.  There may be zero or more
    options.  There are two cases for the format of an option:

      Case 1:  A single octet of option-type.

      Case 2:  An option-type octet, an option-length octet, and the
               actual option-data octets.

    The option-length octet counts the option-type octet and the
    option-length octet as well as the option-data octets.

    The option-type octet is viewed as having 3 fields:

      1 bit   reserved, must be zero
      2 bits  option class,
      5 bits  option number.

    The option classes are:

      0 = control
      1 = internet error
      2 = experimental debugging and measurement
      3 = reserved for future use

























                                                               [Page 15]


                                                            January 1980
Internet Protocol
Specification



    The following internet options are defined:

      CLASS NUMBER LENGTH DESCRIPTION
      ----- ------ ------ -----------
        0     0      -    End of Option list.  This option occupies only
                          1 octet; it has no length octet.
        0     1      -    No Operation.  This option occupies only 1
                          octet; it has no length octet.
        0     2      4    Security.  Used to carry Security, and user
                          group (TCC) information compatible with DOD
                          requirements.
        0     3     var.  Source Routing.  Used to route the internet
                          datagram based on information supplied by the
                          source.
        0     7     var.  Return Route.  Used to record the route an
                          internet datagram takes.
        0     8      4    Stream ID.  Used to carry the stream
                          identifier.
        1     1     var.  General Error Report.  Used to report errors
                          in internet datagram processing.
        2     4      6    Internet Timestamp.
        2     5      6    Satellite Timestamp.

      

    Specific Option Definitions

      End of Option List

        +--------+
        |00000000|
        +--------+
          Type=0

        This option indicates the end of the option list.  This might
        not coincide with the end of the internet header according to
        the internet header length.  This is used at the end of all
        options, not the end of each option, and need only be used if
        the end of the options would not otherwise coincide with the end
        of the internet header.

        May be copied, introduced, or deleted on fragmentation.








[Page 16]                                                               


January 1980                                                            
                                                       Internet Protocol
                                                           Specification



      No Operation

        +--------+
        |00000001|
        +--------+
          Type=1

        This option may be used between options, for example, to align
        the beginning of a subsequent option on a 32 bit boundary.

        May be copied, introduced, or deleted on fragmentation.

      Security

        This option provides a way for DOD hosts to send security and
        TCC (closed user groups) parameters through networks whose
        transport leader does not contain fields for this information.
        The format for this option is as follows:

          +--------+--------+---------+--------+
          |00000010|00000100|000000SS |  TCC   |
          +--------+--------+---------+--------+
            Type=2  Length=4

        Security:  2 bits

          Specifies one of 4 levels of security

            11-top secret

⌨️ 快捷键说明

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