Network Working Group D. Katz
Request for Comments: 2113 cisco Systems
Category: Standards Track February 1997
IP Router Alert Option
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Abstract
This memo describes a new IP Option type that alerts transit routers
to more closely examine the contents of an IP packet. This is useful
for, but not limited to, new protocols that are addressed to a
destination but require relatively complex processing in routers
along the path.
A recent trend in routing protocols is to loosely couple new routing
functionality to existing unicast routing. The motivation for this
is simple and elegant -- it allows deployment of new routing
functionality without having to reinvent all of the basic routing
protocol functions, greatly reducing specification and implementation
complexity.
The downside of this is that the new functionality can only depend on
the least common denominator in unicast routing, the next hop toward
the destination. No assumptions can be made about the existence of
more richly detailed information (such as a link state database).
It is also desirable to be able to gradually deploy the new
technology, specifically to avoid having to upgrade all routers in
the path between source and destination. This goal is somewhat at
odds with the least common denominator information available, since a
router that is not immediately adjacent to another router supporting
the new protocol has no way of determining the location or identity
of other such routers (unless something like a flooding algorithm is
implemented over unicast forwarding, which conflicts with the
simplicity goal).
Katz Standards Track [Page 1]
RFC 2113 Router Alert Option February 1997
One obvious approach to leveraging unicast routing is to do hop-by-
hop forwarding of the new protocol packets along the path toward the
ultimate destination. Each system that implements the new protocol
would be responsible for addressing the packet to the next system in
the path that understood it. As noted above, however, it is
difficult to know the next system implementing the protocol. The
simple, degenerate case is to assume that every system along the path
implements the protocol. This is a barrier to phased deployment of
the new protocol, however.
RSVP [1] finesses the problem by instead putting the address of the
ultimate destination in the IP Destination Address field, and then
asking that every RSVP router make a "small change in its ...
forwarding path" to look for the specific RSVP packet type and pull
such packets out of the mainline forwarding path, performing local
processing on the packets before forwarding them on. This has the
decided advantage of allowing automatic tunneling through routers
that don't understand RSVP, since the packets will naturally flow
toward the ultimate destination. However, the performance cost of
making this Small Change may be unacceptable, since the mainline
forwarding path of routers tends to be highly tuned--even the
addition of a single instruction may incur penalties of hundreds of
packets per second in performance.
The goal, then, is to provide a mechanism whereby routers can
intercept packets not addressed to them directly, without incurring
any significant performance penalty. This document defines a new IP
option type, Router Alert, for this purpose.
The Router Alert option has the semantic "routers should examine this
packet more closely". By including the Router Alert option in the IP
header of its protocol message, RSVP can cause the message to be
intercepted while causing little or no performance penalty on the
forwarding of normal data packets.
Routers that support option processing in the fast path already
demultiplex processing based on the option type field. If all option
types are supported in the fast path, then the addition of another
option type to process is unlikely to impact performance. If some
option types are not supported in the fast path, this new option type
will be unrecognized and cause packets carrying it to be kicked out
into the slow path, so no change to the fast path is necessary, and
no performance penalty will be incurred for regular data packets.
Katz Standards Track [Page 2]
RFC 2113 Router Alert Option February 1997
Routers that do not support option processing in the fast path will
cause packets carrying this new option to be forwarded through the
slow path, so no change to the fast path is necessary and no
performance penalty will be incurred for regular data packets.
The Router Alert option has the following format:
+--------+--------+--------+--------+
|10010100|00000100| 2 octet value |
+--------+--------+--------+--------+
Type:
Copied flag: 1 (all fragments must carry the option)
Option class: 0 (control)
Option number: 20 (decimal)
Length: 4
Value: A two octet code with the following values:
0 - Router shall examine packet
1-65535 - Reserved
Hosts shall ignore this option. Routers that do not recognize this
option shall ignore it. Routers that recognize this option shall
examine packets carrying it more closely (check the IP Protocol
field, for example) to determine whether or not further processing is
necessary. Unrecognized value fields shall be silently ignored.
The semantics of other values in the Value field are for further
study.
For this option to be effective, its use must be mandated in
protocols that expect routers to perform significant processing on
packets not directly addressed to them. Currently such protocols
include RSVP [1] and IGMP [2].
If the Router Alert option is not set and should be set, the behavior
of the protocol using the Router Alert, e.g., RSVP or IGMPv2, will be
adversely affected since the protocol relies on the use of the Router
Alert option.
Katz Standards Track [Page 3]
RFC 2113 Router Alert Option February 1997
If the Router Alert option is set when it should not be set, it is
likely that the flow will experience a performance penalty, as a
packet whose Router Alert option is set will not go through the
router's fastpath and will be processed in the router more slowly
than if the option were not set.
[1] Braden, B. (ed.), L. Zhang, D. Estrin, S. Herzog, S. Jamin,
"Resource ReSerVation Protocol (RSVP)," work in progress, March
1996.
[2] Fenner, W., "Internet Group Management Protocol, Version 2
(IGMPv2)," work in progress, October 1996.
Author's Address
Dave Katz
cisco Systems
170 W. Tasman Dr.
San Jose, CA 95134-1706 USA
Phone: +1 408 526 8284
Email: dkatz@cisco.com
Katz Standards Track [Page 4]