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

📄 rfc2332.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:
     subnetworks (including logical NBMA subnetworks), the NHC should
     also be configured to receive routing information from its NHS(s)
     and peer routers so that it can determine which internetwork layer
     networks are reachable through which subnetworks.

   Next Hop Servers

     An NHS is configured with knowledge of its own internetwork layer
     and NBMA addresses.  An NHS MAY also be configured with a set of
     internetwork layer address prefixes that correspond to the
     internetwork layer addresses of the stations it serves. The NBMA
     addresses of the stations served by the NHS may be learned via NHRP
     Registration packets.

     If a served NHC is attached to several subnetworks, the
     router/route-server coresident with the serving NHS may also need
     to be configured to advertise routing information to such NHCs.

     If an NHS acts as an egress router for stations connected to other
     subnetworks than the NBMA subnetwork, the NHS must, in addition to
     the above, be configured to exchange routing information between
     the NBMA subnetwork and these other subnetworks.

     In all cases, routing information is exchanged using conventional
     intra-domain and/or inter-domain routing protocols.

5. NHRP Packet Formats

   This section describes the format of NHRP packets.  In the following,
   unless otherwise stated explicitly, the unqualified term "request"
   refers generically to any of the NHRP packet types which are
   "requests".  Further, unless otherwise stated explicitly, the
   unqualified term "reply" refers generically to any of the NHRP packet
   types which are "replies".

   An NHRP packet consists of a Fixed Part, a Mandatory Part, and an
   Extensions Part.  The Fixed Part is common to all NHRP packet types.
   The Mandatory Part MUST be present, but varies depending on packet
   type.  The Extensions Part also varies depending on packet type, and
   need not be present.

   The length of the Fixed Part is fixed at 20 octets.  The length of
   the Mandatory Part is determined by the contents of the extensions
   offset field (ar$extoff).  If ar$extoff=0x0 then the mandatory part
   length is equal to total packet length (ar$pktsz) minus 20 otherwise
   the mandatory part length is equal to ar$extoff minus 20.  The length



Luciani, et. al.            Standards Track                    [Page 11]

RFC 2332                       NBMA NHRP                      April 1998


   of the Extensions Part is implied by ar$pktsz minus ar$extoff.  NHSs
   may increase the size of an NHRP packet as a result of extension
   processing, but not beyond the offered maximum packet size of the
   NBMA network.

   NHRP packets are actually members of a wider class of address mapping
   and management protocols being developed by the IETF. A specific
   encapsulation, based on the native formats used on the particular
   NBMA network over which NHRP is carried, indicates the generic IETF
   mapping and management protocol. For example, SMDS networks always
   use LLC/SNAP encapsulation at the NBMA layer [4], and an NHRP packet
   is preceded by the following LLC/SNAP encapsulation:

   [0xAA-AA-03] [0x00-00-5E] [0x00-03]

   The first three octets are LLC, indicating that SNAP follows.  The
   SNAP OUI portion is the IANA's OUI, and the SNAP PID portion
   identifies the mapping and management protocol. A field in the Fixed
   Header following the encapsulation indicates that it is NHRP.

   ATM uses either LLC/SNAP encapsulation of each packet (including
   NHRP), or uses no encapsulation on VCs dedicated to a single protocol
   (see [7]).  Frame Relay and X.25 both use NLPID/SNAP encapsulation or
   identification of NHRP, using a NLPID of 0x0080 and the same SNAP
   contents as above (see [8], [9]).

   Fields marked "unused" MUST be set to zero on transmission, and
   ignored on receipt.

   Most packet types (ar$op.type) have both internetwork layer
   protocol-independent fields and protocol-specific fields. The
   protocol type/snap fields (ar$pro.type/snap) qualify the format of
   the protocol-specific fields.

5.1 NHRP Fixed Header

   The Fixed Part of the NHRP packet contains those elements of the NHRP
   packet which are always present and do not vary in size with the type
   of packet.












Luciani, et. al.            Standards Track                    [Page 12]

RFC 2332                       NBMA NHRP                      April 1998



    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            ar$afn             |          ar$pro.type          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          ar$pro.snap                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  ar$pro.snap  |   ar$hopcnt   |            ar$pktsz           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           ar$chksum           |            ar$extoff          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ar$op.version |   ar$op.type  |    ar$shtl    |    ar$sstl    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   ar$afn
     Defines the type of "link layer" addresses being carried.  This
     number is taken from the 'address family number' list specified in
     [6].  This field has implications to the coding of ar$shtl and
     ar$sstl as described below.

   ar$pro.type
     field is a 16 bit unsigned integer representing the following
     number space:

       0x0000 to 0x00FF  Protocols defined by the equivalent NLPIDs.
       0x0100 to 0x03FF  Reserved for future use by the IETF.
       0x0400 to 0x04FF  Allocated for use by the ATM Forum.
       0x0500 to 0x05FF  Experimental/Local use.
       0x0600 to 0xFFFF  Protocols defined by the equivalent Ethertypes.

     (based on the observations that valid Ethertypes are never smaller
     than 0x600, and NLPIDs never larger than 0xFF.)

   ar$pro.snap
     When ar$pro.type has a value of 0x0080, a SNAP encoded extension is
     being used to encode the protocol type. This snap extension is
     placed in the ar$pro.snap field.  This is termed the 'long form'
     protocol ID. If ar$pro != 0x0080 then the ar$pro.snap field MUST be
     zero on transmit and ignored on receive. The ar$pro.type field
     itself identifies the protocol being referred to. This is termed
     the 'short form' protocol ID.

     In all cases, where a protocol has an assigned number in the
     ar$pro.type space (excluding 0x0080) the short form MUST be used
     when transmitting NHRP messages; i.e., if Ethertype or NLPID
     codings exist then they are used on transmit rather than the



Luciani, et. al.            Standards Track                    [Page 13]

RFC 2332                       NBMA NHRP                      April 1998


     ethertype.   If both Ethertype and NLPID codings exist then when
     transmitting NHRP messages, the Ethertype coding MUST be used (this
     is consistent with RFC 1483 coding).  So, for example, the
     following codings exist for IP:

       SNAP:      ar$pro.type = 0x00-80, ar$pro.snap = 0x00-00-00-08-00
       NLPID:     ar$pro.type = 0x00-CC, ar$pro.snap = 0x00-00-00-00-00
       Ethertype: ar$pro.type = 0x08-00, ar$pro.snap = 0x00-00-00-00-00

     and thus, since the Ethertype coding exists, it is used in
     preference.

   ar$hopcnt
     The Hop count indicates the maximum number of NHSs that an NHRP
     packet is allowed to traverse before being discarded.  This field
     is used in a similar fashion to the way that a TTL is used in an IP
     packet and should be set accordingly.  Each NHS decrements the TTL
     as the NHRP packet transits the NHS on the way to the next hop
     along the routed path to the destination.  If an NHS receives an
     NHRP packet which it would normally forward to a next hop and that
     packet contains an ar$hopcnt set to zero then the NHS sends an
     error indication message back to the source protocol address
     stating that the hop count has been exceeded (see Section 5.2.7)
     and the NHS drops the packet in error;  however, an error
     indication is never sent as a result of receiving an error
     indication.  When a responding NHS replies to an NHRP request, that
     NHS places a value in ar$hopcnt as if it were sending a request of
     its own.

   ar$pktsz
     The total length of the NHRP packet, in octets (excluding link
     layer encapsulation).

   ar$chksum
     The standard IP checksum over the entire NHRP packet starting at
     the fixed header.  If the packet is an odd number of bytes in
     length then this calculation is performed as if a byte set to 0x00
     is appended to the end of the packet.

   ar$extoff
     This field identifies the existence and location of NHRP
     extensions.  If this field is 0 then no extensions exist otherwise
     this field represents the offset from the beginning of the NHRP
     packet (i.e., starting from the ar$afn field) of the first
     extension.






Luciani, et. al.            Standards Track                    [Page 14]

RFC 2332                       NBMA NHRP                      April 1998


   ar$op.version
     This field indicates what version of generic address mapping and
     management protocol is represented by this message.

       0               MARS protocol [11].
       1               NHRP as defined in this document.
       0x02 - 0xEF     Reserved for future use by the IETF.
       0xF0 - 0xFE     Allocated for use by the ATM Forum.
       0xFF            Experimental/Local use.

   ar$op.type
     When ar$op.version == 1, this is the NHRP packet type: NHRP
     Resolution Request(1), NHRP Resolution Reply(2), NHRP Registration
     Request(3), NHRP Registration Reply(4), NHRP Purge Request(5), NHRP
     Purge Reply(6), or NHRP Error Indication(7).  Use of NHRP packet
     Types in the range 128 to 255 are reserved for research or use in
     other protocol development and will be administered by IANA as
     described in Section 9.

   ar$shtl
     Type & length of source NBMA address interpreted in the context of
     the 'address family number'[6] indicated by ar$afn.  See below for
     more details.

   ar$sstl
     Type & length of source NBMA subaddress interpreted in the context
     of the 'address family number'[6] indicated by ar$afn.  When an
     NBMA technology has no concept of a subaddress, the subaddress
     length is always coded ar$sstl = 0 and no storage is allocated for
     the subaddress in the appropriate mandatory part.  See below for
     more details.

   Subnetwork layer address type/length fields (e.g., ar$shtl, Cli Addr
   T/L) and subnetwork layer subaddresses type/length fields (e.g.,
   ar$sstl, Cli SAddr T/L) are coded as follows:

    7 6 5 4 3 2 1 0
   +-+-+-+-+-+-+-+-+
   |0|x|  length   |
   +-+-+-+-+-+-+-+-+

   The most significant bit is reserved and MUST be set to zero. The
   second most significant bit (x) is a flag indicating whether the
   address being referred to is in:

      - NSAP format (x = 0).
      - Native E.164 format (x = 1).




Luciani, et. al.            Standards Track                    [Page 15]

RFC 2332                       NBMA NHRP                      April 1998


   For NBMA technologies that use neither NSAP nor E.164 format
   addresses, x = 0 SHALL be used to indicate the native form for the
   particular NBMA technology.

   If the NBMA network is ATM and a subaddress (e.g., Source NBMA
   SubAddress, Client NBMA SubAddress) is to be included in any part of

⌨️ 快捷键说明

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