| TOC |
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.
Copyright © The Internet Society (1997). All Rights Reserved.
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.
| TOC |
2. Router Alert Option
3. Impact on Other Protocols
4. Security Considerations
5. References (BOILERPLATE)
§ Author's Address
§ Intellectual Property and Copyright Statements
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).
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 [_XREF_1] (, “Braden, B. (ed.), L. Zhang, D. Estrin, S. Herzog, S. Jamin, "Resource ReSerVation Protocol (RSVP)," work in progress,” March 1996.) 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. 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 [_XREF_1] (, “Braden, B. (ed.), L. Zhang, D. Estrin, S. Herzog, S. Jamin, "Resource ReSerVation Protocol (RSVP)," work in progress,” March 1996.) and IGMP [_XREF_2] (Fenner, W., “Internet Group Management Protocol, Version 2 (IGMPv2," work in progress,” October 1996.).
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.
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.
This RFC contained boilerplate in this section which has been moved to the RFC2223-compliant unnumbered section "References."
|[_XREF_1]||“Braden, B. (ed.), L. Zhang, D. Estrin, S. Herzog, S. Jamin, "Resource ReSerVation Protocol (RSVP)," work in progress,” March 1996.|
|[_XREF_2]||Fenner, W., “Internet Group Management Protocol, Version 2 (IGMPv2," work in progress,” October 1996.|
|170 W. Tasman Dr.|
|Phone:||+1 408 526 8284|
Copyright © The Internet Society (1997). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an “AS IS” basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP 11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director.