draft-ietf-rolc-nhrp-02.txt   draft-ietf-rolc-nhrp-03.txt 
Routing over Large Clouds Working Group Dave Katz Routing over Large Clouds Working Group Dave Katz
INTERNET-DRAFT (cisco Systems) INTERNET-DRAFT (cisco Systems)
<draft-ietf-rolc-nhrp-02.txt> David Piscitello <draft-ietf-rolc-nhrp-03.txt> David Piscitello
(Core Competence, Inc.) (Core Competence, Inc.)
August 25, 1994 November 29, 1994
NBMA Next Hop Resolution Protocol (NHRP) NBMA Next Hop Resolution Protocol (NHRP)
Status of this Memo Status of this Memo
This document is an Internet Draft. Internet Drafts are working This document is an Internet Draft. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas, documents of the Internet Engineering Task Force (IETF), its Areas,
and its Working Groups. Note that other groups may also distribute and its Working Groups. Note that other groups may also distribute
working documents as Internet Drafts. working documents as Internet Drafts.
skipping to change at page 1, line 39 skipping to change at page 1, line 39
This document describes the NBMA Next Hop Resolution Protocol (NHRP). This document describes the NBMA Next Hop Resolution Protocol (NHRP).
NHRP can be used by a source station (host or router) connected to a NHRP can be used by a source station (host or router) connected to a
Non-Broadcast, Multi-Access (NBMA) network to determine the IP and Non-Broadcast, Multi-Access (NBMA) network to determine the IP and
NBMA network addresses of the "NBMA next hop" towards a destination NBMA network addresses of the "NBMA next hop" towards a destination
station. If the destination is connected to the NBMA network, then station. If the destination is connected to the NBMA network, then
the NBMA next hop is the destination station itself. Otherwise, the the NBMA next hop is the destination station itself. Otherwise, the
NBMA next hop is the egress router from the NBMA network that is NBMA next hop is the egress router from the NBMA network that is
"nearest" to the destination station. Although this document focuses "nearest" to the destination station. Although this document focuses
on NHRP in the context of IP, the technique is applicable to other on NHRP in the context of IP, the technique is applicable to other
network layer protocols as well. network layer protocols (e.g., IPX, CLNP, Appletalk) as well.
This document is intended to be a functional superset of the NBMA This document is intended to be a functional superset of the NBMA
Address Resolution Protocol (NARP) documented in [1]. Address Resolution Protocol (NARP) documented in [1].
1. Introduction 1. Introduction
The NBMA Next Hop Resolution Protocol (NHRP) allows a source station The NBMA Next Hop Resolution Protocol (NHRP) allows a source station
(a host or router), wishing to communicate over a Non-Broadcast, (a host or router), wishing to communicate over a Non-Broadcast,
Multi-Access (NBMA) network, to determine the IP and NBMA addresses Multi-Access (NBMA) network, to determine the IP and NBMA addresses
of the "NBMA next hop" toward a destination station. A network can of the "NBMA next hop" toward a destination station. A network can
be non-broadcast either because it technically doesn't support be non-broadcast either because it technically doesn't support
broadcasting (e.g., an X.25 network) or because broadcasting is not broadcasting (e.g., an X.25 network) or because broadcasting is not
feasible for one reason or another (e.g., an SMDS broadcast group or feasible for one reason or another (e.g., an SMDS multicast group or
an extended Ethernet would be too large). If the destination is an extended Ethernet would be too large). If the destination is
connected to the NBMA network, then the NBMA next hop is the connected to the NBMA network, then the NBMA next hop is the
destination station itself. Otherwise, the NBMA next hop is the destination station itself. Otherwise, the NBMA next hop is the
egress router from the NBMA network that is "nearest" to the egress router from the NBMA network that is "nearest" to the
destination station. destination station.
An NBMA network may, in general, consist of multiple logically An NBMA network may, in general, consist of multiple logically
independent IP subnets (LISs), defined in [3] and [4] as having the independent IP subnets (LISs), defined in [3] and [4] as having the
following properties: following properties:
skipping to change at page 3, line 4 skipping to change at page 3, line 4
NHRP in its most basic form provides a simple IP-to-NBMA-address NHRP in its most basic form provides a simple IP-to-NBMA-address
binding service. This may be sufficient for hosts which are directly binding service. This may be sufficient for hosts which are directly
connected to an NBMA network, allowing for straightforward connected to an NBMA network, allowing for straightforward
implementations in NBMA stations. Optional services extend this implementations in NBMA stations. Optional services extend this
functionality to include loop detection, sanity checks, diagnostics, functionality to include loop detection, sanity checks, diagnostics,
security features, and fallback capabilities, providing improved security features, and fallback capabilities, providing improved
robustness and functionality. robustness and functionality.
NHRP supports both a server-based style of deployment and a NHRP supports both a server-based style of deployment and a
ubiquitous "fabric", consisting of NHRP-capable routers. The ubiquitous "fabric", consisting of NHRP-capable routers. The
server-based approach requires a smaller number of machines to server-based approach requires a smaller number of machines (possibly
support NHRP, but requires significantly more manual configuration. one) to support NHRP, but requires significantly more manual
configuration.
Address resolution techniques such as those described in [3] and [4] Address resolution techniques such as those described in [3] and [4]
may be in use when NHRP is deployed. ARP servers and services over may be in use when NHRP is deployed. ARP servers and services over
NBMA networks may be required to support hosts that are not capable NBMA networks may be required to support hosts that are not capable
of dealing with any model for communication other than the LIS model, of dealing with any model for communication other than the LIS model,
and deployed hosts may not implement NHRP but may continue to support and deployed hosts may not implement NHRP but may continue to support
ARP variants such as those described in [3] and [4]. NHRP is ARP variants such as those described in [3] and [4]. NHRP is
designed to eliminate the suboptimal routing that results from the designed to eliminate the suboptimal routing that results from the
LIS model, and can be deployed in a non-interfering manner alongside LIS model, and can be deployed in a non-interfering manner alongside
existing ARP services. existing ARP services.
skipping to change at page 3, line 45 skipping to change at page 3, line 46
(NHSs). Each NHS serves a set of destination hosts, which may or may (NHSs). Each NHS serves a set of destination hosts, which may or may
not be directly connected to the NBMA network. NHSs cooperatively not be directly connected to the NBMA network. NHSs cooperatively
resolve the NBMA next hop within their logical NBMA network. In resolve the NBMA next hop within their logical NBMA network. In
addition to the NHRP, NHSs participate in protocols used to addition to the NHRP, NHSs participate in protocols used to
disseminate routing information across (and beyond the boundaries of) disseminate routing information across (and beyond the boundaries of)
the NBMA network, and may support "classical" ARP service as well. the NBMA network, and may support "classical" ARP service as well.
An NHS maintains a "next-hop resolution" cache, which is a table of An NHS maintains a "next-hop resolution" cache, which is a table of
address mappings (IP-to-NBMA address). This table can be constructed address mappings (IP-to-NBMA address). This table can be constructed
from information gleaned from NHRP Register packets (see Section from information gleaned from NHRP Register packets (see Section
5.4), extracted from NHRP replies that traverse NHS as they are 5.4), extracted from NHRP requests or replies that traverse the NHS
forwarded toward the NHRP request initiator, or through mechanisms as they are forwarded, or through mechanisms outside the scope of
outside the scope of this document (examples of such mechanisms this document (examples of such mechanisms include ARP [2, 3, 4] and
include ARP [2, 3, 4] and pre-configured tables). pre-configured tables).
A host or router that is not an NHRP speaker must be configured with A host or router that is not an NHRP speaker must be configured with
the identity of the NHS which serves it (see Configuration, Section the identity of the NHS which serves it (see Configuration, Section
4). 4).
[Note: for NBMA networks that offer group or multicast addressing [Note: for NBMA networks that offer group or multicast addressing
features, it may be desirable to configure stations with a group features, it may be desirable to configure stations with a group
identity for NHSs, i.e., addressing information that would solicit a identity for NHSs, i.e., addressing information that would solicit a
response from "all NHSs". The means whereby a group of NHSs divide response from "all NHSs". The means whereby a group of NHSs divide
responsibilities for next hop resolution are not described here.] responsibilities for next hop resolution are not described here.]
The protocol proceeds as follows. An event occurs triggering station The protocol proceeds as follows. An event occurs triggering station
S to want to resolve the NBMA address of a path to D. This is most S to want to resolve the NBMA address of a path to D. This is most
likely to be when data packet addressed to station D is to be emitted likely to be when a data packet addressed to station D is to be
from station S (either because station S is a host, or station S is a emitted from station S (either because station S is a host, or
transit router), but could also be triggered by other means (a station S is a transit router), but could also be triggered by other
resource reservation request, for example). Station S first means (a resource reservation request, for example). Station S first
determines the next hop to station D through normal routing processes determines the next hop to station D through normal routing processes
(for a host, this may simply be the default router; for routers, this (for a host, the next hop may simply be the default router; for
is the "next hop" to the destination IP address). If the next hop is routers, this is the "next hop" to the destination IP address). If
reachable through its NBMA interface, S constructs an NHRP request the next hop is reachable through its NBMA interface, S constructs an
packet (see Section 5.2) containing station D's IP address as the NHRP request packet (see Section 5.2) containing station D's IP
(target) destination address, S's own IP address as the source address as the (target) destination address, S's own IP address as
address (NHRP request initiator), and station S's NBMA addressing the source address (NHRP request initiator), and station S's NBMA
information. Station S may also indicate whether it prefers an addressing information. Station S may also indicate that it prefers
authoritative reply (i.e., station S only wishes to receive a reply an authoritative reply (i.e., station S only wishes to receive a
from the NHS-speaker that maintains the NBMA-to-IP address mapping reply from the NHS-speaker that maintains the NBMA-to-IP address
for this destination). Station S encapsulates the NHRP request mapping for this destination). Station S encapsulates the NHRP
packet in an IP packet containing as its destination address the IP request packet in an IP packet containing as its destination address
address of its NHS. This IP packet is emitted across the NBMA the IP address of its NHS. This IP packet is emitted across the NBMA
interface to the NBMA address of the NHS. interface to the NBMA address of the NHS.
If the NHRP request is triggered by a data packet, station S may If the NHRP request is triggered by a data packet, station S may
choose to dispose of the data packet While awaiting an NHRP reply in choose to dispose of the data packet while awaiting an NHRP reply in
one of the following ways: one of the following ways:
(a) Drop the packet (a) Drop the packet
(b) Retain the packet until the reply arrives and a more optimal (b) Retain the packet until the reply arrives and a more optimal
path is available path is available
(c) Forward the packet along the routed path toward D (c) Forward the packet along the routed path toward D
The choice of which of the above to perform is a local policy matter, The choice of which of the above to perform is a local policy matter,
though option (c) is an attractive default. though option (c) is the recommended default, since it may allow data
to flow to the destination while the NBMA address is being resolved.
When the NHS receives an NHRP request, it checks to see if it When the NHS receives an NHRP request, it checks to see if it
"serves" station D, i.e., the NHS checks to see if it has a "next "serves" station D, i.e., the NHS checks to see if it has a "next
hop" entry for D in its next-hop resolution cache. If so, the NHS hop" entry for D in its next-hop resolution cache. If the NHS does
resolves station D's NBMA address. The NHS then generates a positive not serve D, the NHS forwards the NHRP request to another NHS.
NHRP reply on D's behalf. The NHRP reply packet contains the next hop
IP and NBMA address for station D and is sent back to S. The reply (Mechanisms for determining how to forward the NHRP request are
generated in this case is marked as "authoritative". (Note that if discussed in Section 3, Modes of Deployment.)
station D is not on the NBMA network, the next hop IP address will be
that of the egress router through which packets for station D are If this NHS serves D, the NHS resolves station D's NBMA address, and
forwarded.) generates a positive NHRP reply on D's behalf. (NHRP replies in this
scenario are always marked as "authoritative".) The NHRP reply
packet contains the next hop IP and NBMA address for station D and is
sent back to S. (Note that if station D is not on the NBMA network,
the next hop IP address will be that of the egress router through
which packets for station D are forwarded.)
If the NHS does not serve D, the NHS forwards the NHRP request to
another NHS. (Mechanisms for determining how to forward the NHRP
request are discussed in Section 3, Modes of Deployment.) If this
NHS serves D, it generates a positive NHRP reply on D's behalf.
(NHRP replies in this scenario are always marked as "authoritative".)
NHRP replies usually traverse the same sequence of NHSs as the NHRP NHRP replies usually traverse the same sequence of NHSs as the NHRP
request (in reverse order). This is typically a consequence of request (in reverse order). This is a consequence of having
having symmetric routing. An NHS receiving an NHRP reply may cache symmetric routing, which is typically (but not necessarily) the case.
the NBMA next hop information contained therein. To a subsequent An NHS receiving an NHRP reply may cache the NBMA next hop
NHRP request, this NHS may respond with the cached, non- information contained therein. To a subsequent NHRP request, this
authoritative, NBMA next hop information or with cached negative NHS may respond with the cached, non-authoritative, NBMA next hop
information. Non-authoritative NHRP replies are distinguished from information or with cached negative information. Non-authoritative
authoritative replies so that if a communication attempt based on NHRP replies are distinguished from authoritative replies so that if
non-authoritative information fails, a source station can choose to a communication attempt based on non-authoritative information fails,
send an authoritative NHRP request. NHSs MUST never respond to a source station can choose to send an authoritative NHRP request.
authoritative NHRP requests with cached information. NHSs MUST never respond to authoritative NHRP requests with cached
information.
[Note: An NHRP reply can be returned directly to the NHRP request [Note: An NHRP reply can be returned directly to the NHRP request
initiator, i.e., without traversing the list of NHSs that forwarded initiator, i.e., without traversing the list of NHSs that forwarded
the request, if all of the following criteria are satisfied: the request, if all of the following criteria are satisfied:
(a) Direct communication is available via datagram transfer (a) Direct communication is available via datagram transfer
(e.g., SMDS) or the NHS has an existing virtual circuit (e.g., SMDS) or the NHS has an existing virtual circuit
connection to the NHRP request initiator or is permitted connection to the NHRP request initiator or is permitted
to open one. to open one.
(b) The NHRP request initiator has not included the NHRP (b) The NHRP request initiator has not included the NHRP
skipping to change at page 9, line 6 skipping to change at page 9, line 8
an NHS serving the destination (or the destination itself, if it is an NHS serving the destination (or the destination itself, if it is
an NHRP-speaker), which generates the NHRP reply. an NHRP-speaker), which generates the NHRP reply.
If the source station is a host, it sets the IP destination address If the source station is a host, it sets the IP destination address
of the NHRP request to the first-hop NHS/router (so that hosts of the NHRP request to the first-hop NHS/router (so that hosts
needn't know the mode in which the network is running). If the needn't know the mode in which the network is running). If the
source station is a router, the destination IP address may be set source station is a router, the destination IP address may be set
either to the next-hop router or to the ultimate destination being either to the next-hop router or to the ultimate destination being
resolved. Each NHS/router examines the NHRP request packet on its resolved. Each NHS/router examines the NHRP request packet on its
way toward the destination, optionally modifying it on the way way toward the destination, optionally modifying it on the way
(such as updating the Forward Record option). If an NHS/router (such as updating the Forward Record option). The Router Alert
receives an NHRP packet addressed to itself to which it cannot option [6] is added by the first NHS in order to ensure that
reply (because it does not serve the destination directly), it will router/NHSs along the path process the packet, even though it may
forward the NHRP request with the destination IP address set to the be addressed to the ultimate destination.
ultimate destination (thus allowing invariant host behavior).
Eventually, the NHRP packet will arrive at the router/NHS that If an NHS/router receives an NHRP packet addressed to itself to
serves the destination (which will return a positive NHRP reply) or which it cannot reply (because it does not serve the destination
it will arrive at a router/NHS that has no route to the destination directly), it will forward the NHRP request with the destination IP
(which will return a negative NHRP reply), or it may arrive at a address set to the ultimate destination (thus allowing invariant
router/NHS that cannot reach the NHS that serves the destination host behavior). Eventually, the NHRP packet will arrive at the
due to a loss of reachability among the NHSs (in which case the router/NHS that serves the destination (which will return a
router will return a negative NHRP reply). positive NHRP reply) or it will arrive at a router/NHS that has no
route to the destination (which will return a negative NHRP reply),
or it may arrive at a router/NHS that cannot reach the NHS that
serves the destination due to a loss of reachability among the NHSs
(in which case the router will return a negative NHRP reply).
The procedural difference between server mode and fabric mode is The procedural difference between server mode and fabric mode is
reduced to deciding how to update the destination address in the IP reduced to deciding how to update the destination address in the IP
packet carrying the NHRP request. packet carrying the NHRP request.
Note that addressing the NHRP request to the ultimate destination Note that addressing the NHRP request to the ultimate destination
allows for networks that do not have NHSs deployed in all routers; allows for networks that do not have NHSs deployed in all routers;
typically a very large NBMA network might only deploy NHSs in typically a very large NBMA network might only deploy NHSs in
egress routers, and not in transit routers. egress routers, and not in transit routers.
skipping to change at page 12, line 19 skipping to change at page 12, line 24
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Request ID | | Request ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(IPv4-Specific) (IPv4-Specific)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination IP address | | Destination IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source IP address | | Source IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Holding Time | Unused | Address Type | | Holding Time | Address Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NBMA Length | Source NBMA Address (variable length) | | Unused | NBMA Length | NBMA Address (variable length)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Q Q
Set if the Requestor is a router; clear if the requestor is a Set if the Requestor is a router; clear if the requestor is a
host. host.
S S
Unused (zero on transmit) Unused (zero on transmit)
A A
skipping to change at page 13, line 15 skipping to change at page 13, line 19
Destination and Source IP Addresses Destination and Source IP Addresses
Respectively, these are the IP addresses of the station for which Respectively, these are the IP addresses of the station for which
the NBMA next hop is desired, and the NHRP request initiator. the NBMA next hop is desired, and the NHRP request initiator.
Source Holding Time, Address Type, NBMA Length, and NBMA Address Source Holding Time, Address Type, NBMA Length, and NBMA Address
The Holding Time field specifies the number of seconds for which The Holding Time field specifies the number of seconds for which
the source NBMA information is considered to be valid. Cached the source NBMA information is considered to be valid. Cached
information shall be discarded when the holding time expires. information shall be discarded when the holding time expires.
The Address Type field specifies the type of NBMA address The Address Type field specifies the type of NBMA address
(qualifying the NBMA address). Possible address types are <TBD>. (qualifying the NBMA address). Possible address types are listed
in [5].
The NBMA length field is the length of the NBMA address of the The NBMA length field is the length of the NBMA address of the
source station in bits. The NBMA address field itself is zero- source station in bits. The NBMA address field itself is zero-
filled to the nearest 32-bit boundary. filled to the nearest 32-bit boundary.
5.3 NHRP Reply 5.3 NHRP Reply
The NHRP Reply packet has a type code of 2. The Mandatory Part has The NHRP Reply packet has a type code of 2. The Mandatory Part has
the following format: the following format:
skipping to change at page 14, line 23 skipping to change at page 14, line 23
(IPv4-Specific) (IPv4-Specific)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination IP address | | Destination IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source IP address | | Source IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next-hop IP address | | Next-hop IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Holding Time | Preference | Address Type | | Holding Time | Address Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NBMA Length | NBMA Address (variable length) | | Preference | NBMA Length | NBMA Address (variable length)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
... ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next-hop IP address | | Next-hop IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Holding Time | Preference | Address Type | | Holding Time | Address Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NBMA Length | NBMA Address (variable length) | | Preference | NBMA Length | NBMA Address (variable length)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Q Q
Copied from the NHRP Request. Set if the Requestor is a router; Copied from the NHRP Request. Set if the Requestor is a router;
clear if the requestor is a host. clear if the requestor is a host.
S S
Set if the next hop identified in the reply is a router; clear if Set if the next hop identified in the reply is a router; clear if
the next hop is a host. the next hop is a host.
skipping to change at page 15, line 38 skipping to change at page 15, line 38
hop IP Address, a 16-bit Holding Time, an 8-bit Preference, an 8- hop IP Address, a 16-bit Holding Time, an 8-bit Preference, an 8-
bit Address Type, an 8-bit NBMA Length, and an NBMA Address whose bit Address Type, an 8-bit NBMA Length, and an NBMA Address whose
length is the value of the NBMA length field. length is the value of the NBMA length field.
The Next-hop IP Address specifies the IP address of the next hop. The Next-hop IP Address specifies the IP address of the next hop.
This will be the address of the destination host if it is directly This will be the address of the destination host if it is directly
attached to the NBMA network, or the egress router if it is not attached to the NBMA network, or the egress router if it is not
directly attached. directly attached.
The Holding Time field specifies the number of seconds for which The Holding Time field specifies the number of seconds for which
the associated Next-hop entry inforamtion is considered to be the associated Next-hop entry information is considered to be
valid. Cached information shall be discarded when the holding time valid. Cached information shall be discarded when the holding time
expires. (Holding time is to be specified for both positive and expires. (Holding time is to be specified for both positive and
negative replies). negative replies).
The Address Type field specifies the type of NBMA address
(qualifying the NBMA address). Possible address types are listed
in [5].
The Preference field specifies the preference of the Next-hop The Preference field specifies the preference of the Next-hop
entry, relative to other Next-hop entries in this NHRP Reply entry, relative to other Next-hop entries in this NHRP Reply
packet. Higher values indicate more preferable Next-hop entries. packet. Higher values indicate more preferable Next-hop entries.
Action taken when multiple next-hop entries have the highest
The Address Type field specifies the type of NBMA address preference value is a local matter.
(qualifying the NBMA address). Possible address types are <TBD>.
The NBMA length field specifies the length of the NBMA address of The NBMA length field specifies the length of the NBMA address of
the destination station in bits. The NBMA address field itself is the destination station in bits. The NBMA address field itself is
zero-filled to the nearest 32-bit boundary. For negative replies, zero-filled to the nearest 32-bit boundary. For negative replies,
the Holding Time field is relevant; however, the preference, the Holding Time field is relevant; however, the preference,
Address Type, and NBMA length fields must be zero, and the NBMA Address Type, and NBMA length fields must be zero, and the NBMA
Address shall not be present. Address shall not be present.
There may be multiple Next-hop entries returned in the reply (as There may be multiple Next-hop entries returned in the reply (as
implied by the Mandatory Part Length). The preference values are implied by the Mandatory Part Length). The preference values are
skipping to change at page 16, line 34 skipping to change at page 16, line 37
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Unused | Protocol ID | | Unused | Protocol ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(IPv4-Specific) (IPv4-Specific)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source IP address | | Source IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Holding Time | Unused | Address Type | | Holding Time | Address Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NBMA Length | NBMA Address (variable length) | | Unused | NBMA Length | NBMA Address (variable length)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Protocol ID Protocol ID
Specifies the network layer protocol for which we are obtaining Specifies the network layer protocol for which we are obtaining
routing information. This value also qualifies the structure of routing information. This value also qualifies the structure of
the remainder of the Mandatory Part. For IPv4, the Protocol ID is the remainder of the Mandatory Part. For IPv4, the Protocol ID is
hexadecimal 800 (decimal 2048). Protocol ID values for other hexadecimal 800 (decimal 2048). Protocol ID values for other
network layer protocols are for future study. network layer protocols are for future study.
Source IP Address Source IP Address
The IP address of the station wishing to register its NBMA address The IP address of the station wishing to register its NBMA address
with an NHS. with an NHS.
Source Holding Time, Address Type, NBMA Length, and NBMA Address Source Holding Time, Address Type, NBMA Length, and NBMA Address
The Holding Time field specifies the number of seconds for which The Holding Time field specifies the number of seconds for which
the source NBMA information is considered to be valid. Cached the source NBMA information is considered to be valid. Cached
information shall be discarded when the holding time expires. information shall be discarded when the holding time expires.
The Address Type field specifies the type of NBMA address The Address Type field specifies the type of NBMA address
(qualifying the NBMA address). Possible address types are <TBD>. (qualifying the NBMA address). Possible address types are listed
in [5].
The NBMA length field is the length of the NBMA address of the The NBMA length field is the length of the NBMA address of the
source station in bits. The NBMA address itself is zero-filled to source station in bits. The NBMA address itself is zero-filled to
the nearest 32-bit boundary. the nearest 32-bit boundary.
This packet is used to register a station's IP and NBMA addresses This packet is used to register a station's IP and NBMA addresses
with its configured NHS. This allows static configuration with its configured NHS. This allows static configuration
information to be reduced; the NHSs need not be configured with the information to be reduced; the NHSs need not be configured with the
identities of all of the stations that they serve. identities of all of the stations that they serve.
It is possible that a misconfigured station will attempt to register It is possible that a misconfigured station will attempt to register
with the wrong NHS (i.e., one that cannot serve it due to policy with the wrong NHS (i.e., one that cannot serve it due to policy
constraints or routing state). If this is the case, the NHS must constraints or routing state). If this is the case, the NHS must
reply with an Error Indication of type Can't Serve This Address. reply with an Error Indication of type Can't Serve This Address.
If an NHS cannot serve a station due to a lack of resources, the NHS If an NHS cannot serve a station due to a lack of resources, the NHS
must reply with an Error Indication of type Registration Overflow. must reply with an Error Indication of type Registration Overflow.
In order to keep the registration entry from being discarded, the
station must resend the Register packet often enough to refresh the
registration, even in the face of occasional packet loss. It is
recommended that the Registration packet be sent at an interval equal
to one-third of the Holding Time specified therein.
5.5 NHRP Error Indication 5.5 NHRP Error Indication
The NHRP Error Indication is used to convey error indications to the The NHRP Error Indication is used to convey error indications to the
initiator of an NHRP Request packet. It has a type code of 4. The initiator of an NHRP Request packet. It has a type code of 4. The
Mandatory Part has the following format: Mandatory Part has the following format:
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Error Code | Error Offset | | Error Code | Error Offset |
skipping to change at page 18, line 31 skipping to change at page 18, line 48
generated, the offending NHRP packet shall be discarded. In no case generated, the offending NHRP packet shall be discarded. In no case
should more than one Error Indication packet be generated for a should more than one Error Indication packet be generated for a
single NHRP packet. single NHRP packet.
5.6 Options Part 5.6 Options Part
The Options Part, if present, carries one or more options in {Type, The Options Part, if present, carries one or more options in {Type,
Length, Value} triplets. Options are only present in a Reply if they Length, Value} triplets. Options are only present in a Reply if they
were present in the corresponding Request; therefore, minimal NHRP were present in the corresponding Request; therefore, minimal NHRP
station implementations that do not act as an NHS and do not transmit station implementations that do not act as an NHS and do not transmit
options need not be able to receive them. Such an implementation options need not be able to receive them. An implementation that is
that receives a packet with options shall return an Error Indication incapable of processing options shall return an Error Indication of
of type Unrecognized Option. type Unrecognized Option when it receives an NHRP packet containing
options.
Options are typically protocol-specific, as noted. Options are typically protocol-specific, as noted.
Options have the following format: Options have the following format:
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|O| Type | Length | |O| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 21, line 7 skipping to change at page 21, line 16
is used for identification only, not for routing or any other is used for identification only, not for routing or any other
purpose. purpose.
Each NHS processing an NHRP Request shall verify these values. If Each NHS processing an NHRP Request shall verify these values. If
none of the values matches the NHS's NBMA Network ID, the NHS shall none of the values matches the NHS's NBMA Network ID, the NHS shall
return an Error Indication of type "Network ID Mismatch" and discard return an Error Indication of type "Network ID Mismatch" and discard
the NHRP Request. the NHRP Request.
When an NHS is building an NHRP Reply and the NBMA Network ID option When an NHS is building an NHRP Reply and the NBMA Network ID option
is present in the NHRP Request, the NBMA Network ID option shall be is present in the NHRP Request, the NBMA Network ID option shall be
copied from the Request to the Reply. copied from the Request to the Reply, including all values carried
therein.
Each NHS processing an NHRP Reply shall verify the value carried in Each NHS processing an NHRP Reply shall verify the values carried in
the NBMA Network ID option, if present. If none of the values the NBMA Network ID option, if present. If none of the values
matches the NHSs NBMA Network ID, the NHS shall return an Error matches the NHSs NBMA Network ID, the NHS shall return an Error
Indication of type "Network ID Mismatch" and discard the NHRP Reply. Indication of type "Network ID Mismatch" and discard the NHRP Reply.
5.6.3 Responder Address Option (IPv4-Specific) 5.6.3 Responder Address Option (IPv4-Specific)
Optional = 0 Optional = 0
Type = 3 Type = 3
Length = 4 Length = 4
This option is used to determine the IP address of the NHRP This option is used to determine the IP address of the NHRP
Responder, that is, the entity that generates the NHRP Reply packet. Responder, that is, the entity that generates the NHRP Reply packet.
The intent is to identify the entity responding to the request, which
may be different (in the case of cached replies) than the system
identified in the Next-hop field of the reply, and to aid in
detecting loops in the NHRP forwarding path.
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Responder's IP Address | | Responder's IP Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
If a requestor desires this information, it shall include this If a requestor desires this information, it shall include this
option, with a value of zero, in the NHRP Request packet. option, with a value of zero, in the NHRP Request packet.
If an NHS is generating an NHRP Reply packet in response to a request If an NHS is generating an NHRP Reply packet in response to a request
containing this option, it shall include this option, containing its containing this option, it shall include this option, containing its
IP address, in the NHRP Reply. If an NHS has more than one IP IP address, in the NHRP Reply. If an NHS has more than one IP
address, it shall use the same IP address consistently in all of the address, it shall use the same IP address consistently in all of the
Responder Address, Forward NHS Record, and Reverse NHS Record Responder Address, Forward NHS Record, and Reverse NHS Record
options. options. The choice of which of several IP addresses to include in
this option is a local matter.
If an NHRP Reply packet being forwarded by an NHS contains the IP If an NHRP Reply packet being forwarded by an NHS contains an IP
address of that NHS in the Responder Address Option, the NHS shall address of that NHS in the Responder Address Option, the NHS shall
generate an Error Indication of type "NHRP Loop Detected" and discard generate an Error Indication of type "NHRP Loop Detected" and discard
the Reply. the Reply.
If an NHRP Reply packet is being returned by an intermediate NHS If an NHRP Reply packet is being returned by an intermediate NHS
based on cached data, it shall place its own address in this option based on cached data, it shall place its own address in this option
(differentiating it from the address in the Next-hop field). (differentiating it from the address in the Next-hop field).
5.6.4 NHRP Forward NHS Record Option (IPv4-Specific) 5.6.4 NHRP Forward NHS Record Option (IPv4-Specific)
skipping to change at page 22, line 26 skipping to change at page 22, line 37
packets from the source to the destination shall include information packets from the source to the destination shall include information
about their NBMA Address. about their NBMA Address.
Each Next-hop element is formatted as follows: Each Next-hop element is formatted as follows:
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP address | | IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Holding Time | Unused | Address Type | | Holding Time | Address Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NBMA Length | NBMA Address (variable length) | | Unused | NBMA Length | NBMA Address (variable length)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IP address IP address
The IP address of the NHS. The IP address of the NHS.
Holding Time Holding Time
The number of seconds for which this information is valid. If a The number of seconds for which this information is valid. If a
station chooses to use this information as a next-hop entry, it may station chooses to use this information as a next-hop entry, it may
not be used once the holding timer expires. not be used once the holding timer expires.
Address Type, NBMA Length, and NBMA Address Address Type, NBMA Length, and NBMA Address
The Address Type field specifies the type of NBMA address The Address Type field specifies the type of NBMA address
(qualifying the NBMA address). Possible address types are <TBD>. (qualifying the NBMA address). Possible address types are listed
in [5].
The NBMA length field is the length of the NBMA address of the The NBMA length field is the length of the NBMA address of the
destination station in bits. The NBMA address itself is zero- destination station in bits. The NBMA address itself is zero-
filled to the nearest 32-bit boundary. filled to the nearest 32-bit boundary.
NHSs that are not egress routers shall specify an NBMA Length of NHSs that are not egress routers shall specify an NBMA Length of
zero and shall not include an NBMA Address. zero and shall not include an NBMA Address.
If a requestor wishes to obtain this information, it shall include If a requestor wishes to obtain this information, it shall include
this option with a length of zero. this option with a length of zero.
skipping to change at page 23, line 15 skipping to change at page 23, line 30
Each NHS shall append an appropriate Next-hop element to this option Each NHS shall append an appropriate Next-hop element to this option
when processing an NHRP Request. The option length field and NHRP when processing an NHRP Request. The option length field and NHRP
checksum shall be adjusted as necessary. checksum shall be adjusted as necessary.
The last-hop NHS (the one that will be generating the NHRP Reply) The last-hop NHS (the one that will be generating the NHRP Reply)
shall not update this option (since this information will be in the shall not update this option (since this information will be in the
reply). reply).
If an NHS has more than one IP address, it shall use the same IP If an NHS has more than one IP address, it shall use the same IP
address consistently in all of the Responder Address, Forward NHS address consistently in all of the Responder Address, Forward NHS
Record, and Reverse NHS Record options. Record, and Reverse NHS Record options. The choice of which of
several IP addresses to include in this option is a local matter.
If an NHRP Request packet being forwarded by an NHS contains the IP If an NHRP Request packet being forwarded by an NHS contains the IP
address of that NHS in the Forward NHS Record Option, the NHS shall address of that NHS in the Forward NHS Record Option, the NHS shall
generate an Error Indication of type "NHRP Loop Detected" and discard generate an Error Indication of type "NHRP Loop Detected" and discard
the Request. the Request.
5.6.5 NHRP Reverse NHS Record Option (IPv4-Specific) 5.6.5 NHRP Reverse NHS Record Option (IPv4-Specific)
Optional = 0 Optional = 0
Type = 5 Type = 5
skipping to change at page 23, line 43 skipping to change at page 24, line 12
packets from the source to the destination shall include information packets from the source to the destination shall include information
about their NBMA Address. about their NBMA Address.
Each Next-hop element is formatted as follows: Each Next-hop element is formatted as follows:
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP address | | IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Holding Time | Unused | Address Type | | Holding Time | Address Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NBMA Length | NBMA Address (variable length) | | Unused | NBMA Length | NBMA Address (variable length)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IP address IP address
The IP address of the NHS. The IP address of the NHS.
Holding Time Holding Time
The number of seconds for which this information is valid. If a The number of seconds for which this information is valid. If a
station chooses to use this information as a next-hop entry, it may station chooses to use this information as a next-hop entry, it may
not be used once the holding timer expires. not be used once the holding timer expires.
Address Type, NBMA Length, and NBMA Address Address Type, NBMA Length, and NBMA Address
The Address Type field specifies the type of NBMA address The Address Type field specifies the type of NBMA address
(qualifying the NBMA address). Possible address types are <TBD>. (qualifying the NBMA address). Possible address types are listed
in [5].
The NBMA length field is the length of the NBMA address of the The NBMA length field is the length of the NBMA address of the
destination station in bits. The NBMA address itself is zero- destination station in bits. The NBMA address itself is zero-
filled to the nearest 32-bit boundary. filled to the nearest 32-bit boundary.
NHSs that are not egress routers shall specify an NBMA Length of NHSs that are not egress routers shall specify an NBMA Length of
zero and shall not include an NBMA Address. zero and shall not include an NBMA Address.
If a requestor wishes to obtain this information, it shall include If a requestor wishes to obtain this information, it shall include
this option with a length of zero. this option with a length of zero.
Each NHS shall append an appropriate Next-hop element to this option Each NHS shall append an appropriate Next-hop element to this option
when processing an NHRP Reply. The option length field and NHRP when processing an NHRP Reply. The option length field and NHRP
checksum shall be adjusted as necessary. checksum shall be adjusted as necessary.
The NHS generating the NHRP Reply shall not update this option. The NHS generating the NHRP Reply shall not update this option.
If an NHS has more than one IP address, it shall use the same IP If an NHS has more than one IP address, it shall use the same IP
address consistently in all of the Responder Address, Forward NHS address consistently in all of the Responder Address, Forward NHS
Record, and Reverse NHS Record options. Record, and Reverse NHS Record options. The choice of which of
several IP addresses to include in this option is a local matter.
If an NHRP Reply packet being forwarded by an NHS contains the IP If an NHRP Reply packet being forwarded by an NHS contains the IP
address of that NHS in the Reverse NHS Record Option, the NHS shall address of that NHS in the Reverse NHS Record Option, the NHS shall
generate an Error Indication of type "NHRP Loop Detected" and discard generate an Error Indication of type "NHRP Loop Detected" and discard
the Reply. the Reply.
Note that this information may be cached at intermediate NHSs; if Note that this information may be cached at intermediate NHSs; if
so, the cached value shall be used when generating a reply. Note so, the cached value shall be used when generating a reply. Note
that the Responder Address option may be used to disambiguate the set that the Responder Address option may be used to disambiguate the set
of NHSs that actually processed the reply. of NHSs that actually processed the reply.
skipping to change at page 25, line 19 skipping to change at page 25, line 35
The syntax and semantics of this option are TBD; alignment with The syntax and semantics of this option are TBD; alignment with
resource reservation may be useful. resource reservation may be useful.
5.6.7 NHRP Authentication Option 5.6.7 NHRP Authentication Option
Optional = 0 Optional = 0
Type = 7 Type = 7
Length = variable Length = variable
The NHRP Authentication Option is carried in NHRP packets to convey The NHRP Authentication Option is carried in NHRP packets to convey
authentication information between NHRP speakers. The semantics and authentication information between NHRP speakers. The Authentication
encoding of the authentication option is for further study. Option may be included in any NHRP packet type.
Authentication is done pairwise on an NHRP hop-by-hop basis; the
authentication option is regenerated on each hop. If a received
packet fails the authentication test, the NHS shall generate an Error
Indication of type "Authentication Failure" and discard the packet.
In no case shall an Error Indication packet be generated on the
receipt of an Error Indication packet, however. Note that one
possible authentication failure is the lack of an Authentication
Option; the presence or absence of the Authentication Option is a
local matter.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Authentication Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+-+-+-+-+-+-+-+-+-+-+ Authentication Data... -+-+-+-+-+-+-+-+-+-+
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Authentication Type field identifies the authentication method in
use. Currently assigned values are:
1 - Cleartext Password
2 - Keyed MD5
All other values are reserved.
The Authentication Data field contains the type-specific
authentication information.
In the case of Cleartext Password Authentication, the Authentication
Data consists of a variable length password.
In the case of Keyed MD5 Authentication, the Authentication Data
contains the 16 byte MD5 digest of the entire NHRP packet, including
the IP header, with the authentication key appended to the end of the
packet. The authentication key is not transmitted with the packet.
Distribution of authentication keys is outside the scope of this
document.
5.6.8 NHRP Vendor-Private Option
Optional = 0
Type = 8
Length = variable
The NHRP Vendor-Private Option is carried in NHRP packets to convey
vendor-private information or NHRP extensions between NHRP speakers.
This option may be used at any time; if the receiver does not handle
this option, or does not match the vendor ID in the option, then the
option may be completely ignored by the receiver. The first 24 bits
of the option's payload (following the length field) contains the 802
vendor ID as assigned by the IEEE [5]. The remaining octets in the
payload are vendor-dependent.
6. Security Considerations 6. Security Considerations
Security considerations are for further study. As in any routing protocol, there are a number of potential security
attacks possible, particularly denial-of-service attacks. The use of
authentication on all packets is recommended to avoid such attacks.
The authentication schemes described in this document are intended to
allow the receiver of a packet to validate the identity of the
sender; they do not provide privacy or protection against replay
attacks.
Detailed security analysis of this protocol is for further study.
7. Discussion 7. Discussion
The result of an NHRP request depends on how routing is configured The result of an NHRP request depends on how routing is configured
among the NHSs of an NBMA network. If the destination station is among the NHSs of an NBMA network. If the destination station is
directly connected to the NBMA network and the NHSs always prefer directly connected to the NBMA network and the NHSs always prefer
NBMA routes over routes via other link layer networks, the NHRP NBMA routes over routes via other link layer networks, the NHRP
replies always return the NBMA address of the destination station replies always return the NBMA address of the destination station
itself rather than the NBMA address of some egress router. For itself rather than the NBMA address of some egress router. For
destinations outside the NBMA network, egress routers and routers in destinations outside the NBMA network, egress routers and routers in
skipping to change at page 27, line 5 skipping to change at page 28, line 39
In practice, the initiating and responding stations may be either In practice, the initiating and responding stations may be either
hosts or routers. However, there is a possibility under certain hosts or routers. However, there is a possibility under certain
conditions that a stable routing loop may occur if NHRP is used conditions that a stable routing loop may occur if NHRP is used
between two routers. This situation can be avoided if there are no between two routers. This situation can be avoided if there are no
"back door" paths between the entry and egress router outside of the "back door" paths between the entry and egress router outside of the
NBMA network, and can be ameliorated by periodically reissuing the NBMA network, and can be ameliorated by periodically reissuing the
NHRP request. If these conditions cannot be satisfied, the use of NHRP request. If these conditions cannot be satisfied, the use of
NHRP between routers is not recommended. NHRP between routers is not recommended.
One approach to the router-to-router case that is being considered is
to run a limited instance of a routing protocol between the two
routers. Any routing protocol that provides loop detection may be
used. This routing protocol instance will likely only carry a subset
of the total routing information, and is unlikely to be closely
integrated into the routing in which each of the routers is otherwise
participating (due to the abitrary connectivity possible in such
situations and its impact on the stability and quality of overall
routing). This approach is for further study.
8.2 Handling of IP Destination Address Field 8.2 Handling of IP Destination Address Field
NHRP packets are self-contained in terms of the IP addressing NHRP packets are self-contained in terms of the IP addressing
information needed for protocol operation--the IP source and information needed for protocol operation--the IP source and
destination addresses in the encapsulating IP header are not used. destination addresses in the encapsulating IP header are not used.
However, the setting of the IP destination address field does impact However, the setting of the IP destination address field does impact
how NHRP requests are forwarded. how NHRP requests are forwarded.
There are essentially three choices in how to set the destination IP There are essentially three choices in how to set the destination IP
address field at any particular point in the forwarding of an NHRP address field at any particular point in the forwarding of an NHRP
skipping to change at page 28, line 23 skipping to change at page 30, line 23
to another NHS, shall set the destination IP address in one of the to another NHS, shall set the destination IP address in one of the
following ways: following ways:
If there is a configured next-hop NHS for the destination being If there is a configured next-hop NHS for the destination being
resolved (Server mode), it shall transmit the packet with the IP resolved (Server mode), it shall transmit the packet with the IP
destination address set to the next-hop NHS. destination address set to the next-hop NHS.
If there is no configured next-hop NHS (Fabric Mode), it shall If there is no configured next-hop NHS (Fabric Mode), it shall
transmit the packet with the IP destination address set to the transmit the packet with the IP destination address set to the
address of the destination being resolved, and shall include the address of the destination being resolved, and shall include the
Router Alert option [5] so that intermediate NHS/routers can Router Alert option [6] so that intermediate NHS/routers can
examine the NHRP packet. examine the NHRP packet.
8.3 Pseudocode 8.3 Pseudocode
TBD. TBD.
References References
[1] NBMA Address Resolution Protocol (NARP), Juha Heinanen and Ramesh [1] NBMA Address Resolution Protocol (NARP), Juha Heinanen and Ramesh
Govindan, draft-ietf-rolc-nbma-arp-00.txt. Govindan, draft-ietf-rolc-nbma-arp-00.txt.
[2] Address Resolution Protocol, David C. Plummer, RFC 826. [2] Address Resolution Protocol, David C. Plummer, RFC 826.
[3] Classical IP and ARP over ATM, Mark Laubach, Internet Draft. [3] Classical IP and ARP over ATM, Mark Laubach, RFC 1577.
[4] Transmission of IP datagrams over the SMDS service, J. Lawrence [4] Transmission of IP datagrams over the SMDS service, J. Lawrence
and D. Piscitello, RFC 1209. and D. Piscitello, RFC 1209.
[5] IP Router Alert Option, Dave Katz, draft-katz-router-alert- [5] Assigned Numbers, J. Reynolds and J. Postel, RFC 1700.
[6] IP Router Alert Option, Dave Katz, draft-katz-router-alert-
00.txt. 00.txt.
Acknowledgements Acknowledgements
We would like to thank Juha Heinenan of Telecom Finland and Ramesh We would like to thank Juha Heinenan of Telecom Finland and Ramesh
Govidan of ISI for their work on NBMA ARP and the original NHRP Govidan of ISI for their work on NBMA ARP and the original NHRP
draft, which served as a basis for this work. John Burnett of draft, which served as the basis for this work. John Burnett of
Adaptive, Dennis Ferguson of ANS, Joel Halpern of Network Systems, Adaptive, Dennis Ferguson of ANS, Joel Halpern of Newbridge, Paul
Paul Francis of NTT, and Tony Li of cisco should also be acknowledged Francis of NTT, and Tony Li and Bruce Cole of cisco should also be
for comments and suggestions that improved this work substantially. acknowledged for comments and suggestions that improved this work
substantially.
Authors' Addresses Authors' Addresses
Dave Katz David Piscitello Dave Katz David Piscitello
cisco Systems Core Competence cisco Systems Core Competence
1525 O'Brien Dr. 1620 Tuckerstown Road 170 W. Tasman Dr. 1620 Tuckerstown Road
Menlo Park, CA 94025 USA Dresher, PA 19025 USA San Jose, CA 95134 USA Dresher, PA 19025 USA
Phone: +1 415 688 8284 Phone: +1 215 830 0692 Phone: +1 408 526 8284 Phone: +1 215 830 0692
Email: dkatz@cisco.com Email: dave@corecom.com Email: dkatz@cisco.com Email: dave@corecom.com
 End of changes. 51 change blocks. 
105 lines changed or deleted 213 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/