OSPF Stub Router Advertisement
How an OSPF router can say 'do not route through me' while still being reachable itself.
Retana, A., Nguyen, L., Zinin, A., White, R., and D. McPherson, "OSPF Stub Router Advertisement", RFC 6987, DOI 10.17487/RFC6987, September 2013, <https://www.rfc-editor.org/info/rfc6987>.
@misc{rfc6987,
series = {Request for Comments},
number = 6987,
howpublished = {RFC 6987},
publisher = {RFC Editor},
doi = {10.17487/RFC6987},
url = {https://www.rfc-editor.org/info/rfc6987},
author = {A. Retana and L. Nguyen and A. Zinin and R. White and D. McPherson},
title = {{OSPF Stub Router Advertisement}},
pagetotal = 7,
year = 2013,
month = sep,
} RFC text
Contents
Internet Engineering Task Force (IETF) A. Retana
Request for Comments: 6987 L. Nguyen
Obsoletes: 3137 Cisco Systems, Inc.
Category: Informational A. Zinin
ISSN: 2070-1721 Cinarra Systems
R. White
D. McPherson
Verisign, Inc.
September 2013
OSPF Stub Router Advertisement
Abstract
This document describes a backward-compatible technique that may be
used by OSPF (Open Shortest Path First) implementations to advertise
a router's unavailability to forward transit traffic or to lower the
preference level for the paths through such a router.
This document obsoletes RFC 3137.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are a candidate for any level of Internet
Standard; see Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc6987.
Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. OSPFv3-Only Solution . . . . . . . . . . . . . . . . . . 3
3. Maximum Link Metric . . . . . . . . . . . . . . . . . . . . . 4
4. Deployment Considerations . . . . . . . . . . . . . . . . . . 4
5. Security Considerations . . . . . . . . . . . . . . . . . . . 4
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.1. Normative References . . . . . . . . . . . . . . . . . . 5
7.2. Informative References . . . . . . . . . . . . . . . . . 5
Appendix A. Changes from RFC 3137 . . . . . . . . . . . . . . . 6
1. Introduction
In some situations, it may be advantageous to inform routers in a
network not to use a specific router as a transit point but to still
route to it. Possible situations include the following:
o The router is in a critical condition (for example, has a very
high CPU load or does not have enough memory to store all Link
State Advertisements (LSAs) or build the routing table).
o Graceful introduction and removal of the router to/from the
network.
o Other (administrative or traffic engineering) reasons.
Note that the solution introduced in this document does not remove
the router from the topology view of the network (as could be done by
just flushing that router's router-LSA) but discourages other routers
from using it for transit routing, while still routing packets to the
router's own IP addresses, i.e., the router is announced as a stub.
It must be emphasized that the solution provides real benefits in
networks designed with at least some level of redundancy, so that
traffic can be routed around the stub router. Otherwise, traffic
destined for the networks and reachable through such a stub router
may still be routed through it.
2. Solutions
The solution introduced in this document solves two challenges
associated with the outlined problem. In the description below,
router X is the router announcing itself as a stub. The challenges
are
1) Making other routers prefer routes around router X while
performing the Dijkstra calculation.
2) Allowing other routers to reach IP prefixes directly connected to
router X.
Note that it would be easy to address issue 1) alone by just flushing
router X's router-LSA from the domain. However, it does not solve
problem 2), since other routers will not be able to use links to
router X in Dijkstra (no back link), and because router X will not
have links to its neighbors.
To address both problems, router X announces its router-LSA to the
neighbors with the cost of all non-stub links (links of the types
other than 3) being set to MaxLinkMetric (defined in Section 3).
The solution above applies to both OSPFv2 [RFC2328] and OSPFv3
[RFC5340].
2.1. OSPFv3-Only Solution
OSPFv3 [RFC5340] introduces additional options to provide similar
control of the forwarding topology; the R-bit provides an indication
of whether a router is active and should be used for transit traffic.
It is left to network operators to decide which technique to use in
their network. See Section 4 for more details.
3. Maximum Link Metric
Section 2 refers to the cost of all non-stub links as MaxLinkMetric,
which is a new fixed architectural value introduced in this document.
MaxLinkMetric
The metric value indicating that a router-LSA link (see Section 2)
should not be used for transit traffic. It is defined to be the
16-bit binary value of all ones: 0xffff.
4. Deployment Considerations
When using MaxLinkMetric, some inconsistency may be seen if the
network is constructed of routers that perform an intra-area Dijkstra
calculation as specified in [RFC1247] (discarding link records in
router-LSAs that have a MaxLinkMetric cost value) and routers that
perform it as specified in [RFC1583] and higher (do not treat links
with MaxLinkMetric cost as unreachable). Note that this
inconsistency will not lead to routing loops, because if there are
some alternate paths in the network, both types of routers will agree
on using them rather than the path through the stub router. If the
path through the stub router is the only one, the routers of the
first type will not use the stub router for transit (which is the
desired behavior), while the routers of the second type will still
use this path.
On the other hand, clearing the R-bit will consistently result in the
router not being used for transit.
The use of MaxLinkMetric or the R-bit in a network depends on the
objectives of the operator. One of the possible considerations for
selecting one or the other is in the desired behavior if the path
through the stub router is the only one available. Using
MaxLinkMetric allows for that path to be used while the R-bit
doesn't.
5. Security Considerations
The technique described in this document does not introduce any new
security issues into the OSPF protocol.
6. Acknowledgements
The authors of this document do not make any claims on the
originality of the ideas described. Among other people, we would
like to acknowledge Henk Smit for being part of one of the initial
discussions around this topic.
We would like to thank Shishio Tsuchiya, Gunter Van de Velde,
Tomohiro Yamagata, Faraz Shamim, and Acee Lindem who provided
significant input for the latest draft version of this document.
Dave Cridland and Tom Yu also provided valuable comments.
7. References
7.1. Normative References
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.
[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
for IPv6", RFC 5340, July 2008.
7.2. Informative References
[RFC1247] Moy, J., "OSPF Version 2", RFC 1247, July 1991.
[RFC1583] Moy, J., "OSPF Version 2", RFC 1583, March 1994.
[RFC3137] Retana, A., Nguyen, L., White, R., Zinin, A., and D.
McPherson, "OSPF Stub Router Advertisement", RFC 3137,
June 2001.
Appendix A. Changes from RFC 3137
This document obsoletes [RFC3137].
In addition to editorial updates, this document defines a new
architectural constant (MaxLinkMetric in Section 3) to eliminate any
confusion about the interpretation of LSInfinity. It also
incorporates and explains the use of the R-bit [RFC5340] as a
solution to the problem addressed in the text.
Authors' Addresses
Alvaro Retana
Cisco Systems, Inc.
7025 Kit Creek Rd.
Research Triangle Park, NC 27709
USA
EMail: aretana@cisco.com
Liem Nguyen
Cisco Systems, Inc.
3750 Cisco Way
San Jose, CA 95134
USA
EMail: lhnguyen@cisco.com
Alex Zinin
Cinarra Systems
Menlo Park, CA
USA
EMail: alex.zinin@gmail.com
Russ White
1500 N. Greenville Avenue
Suite 1100
Richardson, TX 75081
USA
EMail: Russ.White@vce.com
Danny McPherson
Verisign, Inc.
12061 Bluemont Way
Reston, VA 20190
USA
EMail: dmcpherson@verisign.com
AI ELI5
On this page
§1Why Hide a Router from Transit Traffic
Sometimes it helps to tell the routers in a network not to use one router as a transit point while still being able to route to it. The RFC lists three situations: the router is in a critical condition (very high CPU load, or not enough memory to store all Link State Advertisements or build the routing table), graceful introduction and removal of the router, and other administrative or traffic engineering reasons.
The technique does not remove the router from the topology view, which flushing its router-LSA would do. Other routers are discouraged from using it for transit, while packets for the router's own IP addresses still reach it, so the router is announced as a stub. The RFC stresses that the benefit is real in networks with some redundancy, so traffic can be routed around the stub router. Otherwise, traffic for networks reachable only through it may still go through it.
A busy shop can ask people not to walk through it as a shortcut, while still welcoming customers. That only helps if there is another way around.
§2How the Stub Router Announces Itself
Call the router that wants to become a stub router X. The solution has to do two things: make other routers prefer routes around X during the Dijkstra calculation, and still let them reach IP prefixes directly connected to X.
Simply flushing X's router-LSA would cover the first goal but not the second. Other routers could not use links to X in Dijkstra (there would be no back link), and X would have no links to its neighbors. So X instead announces its router-LSA with the cost of all non-stub links (links of types other than 3) set to MaxLinkMetric. This applies to both OSPFv2 (RFC 2328) and OSPFv3 (RFC 5340).
The router does not vanish from the map. It just marks all its roads as 'very expensive', so travelers pick other roads, but its own front door stays reachable.
§3The MaxLinkMetric Value
MaxLinkMetric is a new fixed architectural value introduced by this document. It is the metric value that says a router-LSA link should not be used for transit traffic, and it is defined as the 16-bit binary value of all ones: 0xffff.
Appendix A explains the purpose: a named constant removes confusion about how to interpret LSInfinity.
It is a special 'biggest possible price' label that every router recognizes as 'please do not use'.
§4The OSPFv3 R-bit Alternative
OSPFv3 has additional options for similar control of the forwarding topology. The R-bit indicates whether a router is active and should be used for transit traffic. A router that clears it stops being used for transit.
The RFC leaves it to network operators to decide which technique to use in their network.
OSPFv3 also has an on/off switch that says 'this router is not for passing through', which is a clearer way to say the same thing.
§5Deployment and Security Notes
Routers differ in how they treat a MaxLinkMetric link. Routers that follow the intra-area Dijkstra calculation of RFC 1247 discard link records with that cost. Routers that follow RFC 1583 and higher do not treat such links as unreachable. This inconsistency does not cause routing loops: if alternate paths exist, both kinds of router agree to use them. If the path through the stub router is the only one, the first kind will not use it for transit, which is the desired behavior, but the second kind still will.
Clearing the R-bit consistently results in the router not being used for transit. So the choice depends on the operator's goal: MaxLinkMetric allows the only available path to be used, while the R-bit does not.
The Security Considerations section says the technique does not introduce any new security issues into OSPF.
Some older routers ignore the 'expensive' label and use the road anyway when there is no other way. The on/off switch is stricter. Pick the one that fits what you want.