RFC 7917
Advertising Node Administrative Tags in IS-IS
RFC 7917: Advertising Node Administrative Tags in IS-IS ๐
Okay bestie, this is RFC 7917, and it's an IETF doc from July 2016 ๐ . It's on the Standards Track ๐ฅ with ISSN 2070-1721. The header lists P. Sarkar, Ed. as an Individual Contributor, then H. Gredler from RtBrick Inc., S. Hegde from Juniper Networks, Inc., S. Litkowski, and B. Decraene from Orange ๐ซถ. The title block doesn't list anything it obsoletes or updates, so it's a fresh start โจ.
Abstract ๐ธ
This doc describes an extension to the IS-IS routing protocol that lets routers advertise node administrative tags ๐ . This optional capability lets you tag and group the nodes in an IS-IS domain ๐ง. The tags can be used to express and apply locally defined network policies, which is seriously useful for operations ๐ฅ. Node administrative tags can be used by IS-IS itself, or by other applications that consume information propagated via IS-IS ๐.
Status of This Memo ๐
This is an Internet Standards Track document ๐.
This document is a product of the Internet Engineering Task Force (IETF) ๐. It represents the consensus of the IETF community, received public review, and was approved for publication by the Internet Engineering Steering Group (IESG) โจ. For more on Internet Standards, check Section 2 of RFC 7841 ๐.
For the current status, any errata, and how to give feedback on this document, go to http://www.rfc-editor.org/info/rfc7917 ๐ฆ.
Copyright Notice ๐
Copyright (c) 2016 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, which are at http://trustee.ietf.org/license-info and apply as of the publication date ๐. Please read those carefully, because they spell out your rights and restrictions for this document ๐. Code Components extracted from this document must include the Simplified BSD License text described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as the Simplified BSD License describes ๐ซถ.
Table of Contents ๐ง
1. Introduction ....................................................3
1.1. Requirements Language ......................................3
2. Node Administrative Tags ........................................3
3. Node Administrative Tag (Node-Admin-Tag) Sub-TLV ................3
3.1. TLV Format .................................................4
4. Elements of Procedure ...........................................5
4.1. Interpretation of Node Administrative Tags .................5
4.2. Use of Node Administrative Tags ............................5
4.3. Processing Node Administrative Tag Changes .................6
5. Applications ....................................................7
6. Security Considerations .........................................7
7. Operational Considerations ......................................8
8. Manageability Considerations ....................................8
9. IANA Considerations .............................................8
10. References .....................................................9
10.1. Normative References ......................................9
10.2. Informative References ....................................9
Acknowledgments ...................................................11
Contributors ......................................................11
Authors' Addresses ................................................11
1. Introduction ๐
It's really useful to assign a node administrative tag to a router in the IS-IS domain and use it as an attribute of that node ๐ง. The tag can show up in all kinds of applications ๐ . For example:
- (a) Traffic-engineering applications, to offer different path-selection criteria ๐ฃ๏ธ.
- (b) Preference for, or pruning of, certain paths in Loop-Free Alternate (LFA) [RFC5286] backup selection, using local policies as defined in [RFC7916] ๐ฅ.
This document gives you the mechanisms to advertise node administrative tags in IS-IS for lots of uses, including (but not limited to) route and path selection ๐ฆ. Route and path selection works for both Traffic Engineering (TE) and non-TE applications, so the new sub-TLV for carrying node administrative tags is included in the Router CAPABILITY TLV [RFC4971] ๐.
1.1. Requirements Language ๐
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119] ๐.
2. Node Administrative Tags ๐
An administrative tag is a 32-bit unsigned integer value that can identify a group of nodes in the IS-IS domain ๐ข. An IS-IS router should advertise, at the specific IS-IS level, the set of groups it is a part of ๐.
For example, all edge network devices in a given network might get one tag value, while all core network devices get another, different tag value ๐.
3. Node Administrative Tag (Node-Admin-Tag) Sub-TLV ๐ซถ
The new sub-TLV from this document rides inside an IS-IS Router CAPABILITY TLV (IS-IS TLV type 242) [RFC4971], in the Link State PDUs that the device originates โจ. Router CAPABILITY TLVs [RFC4971] can have "level-wide" or "domain-wide" flooding scope ๐. Which flooding scope a specific node administrative tag shall be flooded in is purely a matter of local policy, and it's set by the operator's usage needs ๐ฏ. An operator MAY choose to advertise one set of node administrative tags across levels and a different set within a specific level ๐งฉ. Or the operator may use the same node administrative tags in both the "domain-wide" flooding scope and one or more "level-wide" flooding scopes ๐ .
The format of the Node Administrative Tag (Node-Admin-Tag) sub-TLV (see Section 3.1) does not include a topology identifier ๐. So it isn't possible to indicate a topology-specific context when advertising node administrative tags ๐ญ. That means that in deployments using multi-topology routing [RFC5120], advertising a separate set of node administrative tags for each topology SHOULD NOT be supported ๐ซ.
3.1. TLV Format ๐
[RFC4971] defines the Router CAPABILITY TLV, which can be used to advertise properties of the originating router ๐ฆ. The payload of the Router CAPABILITY TLV is one or more nested Type-Length-Value (TLV) triplets ๐ช.
The new Node-Admin-Tag sub-TLV, like other IS-IS sub-TLVs, is formatted as TLV triplets ๐ง. Figure 1 shows the format of the new sub-TLV ๐.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Administrative Tag #1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Administrative Tag #2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Administrative Tag #N |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: IS-IS Node-Admin-Tag Sub-TLV ๐ผ๏ธ
Here's what each field means ๐:
Type:21(Node-Admin-Tag) ๐ท๏ธ.Length: an 8-bit field that gives the length of the Value portion in octets. It's always a multiple of 4 octets, depending on how many tags get advertised ๐.Value: defines the node administrative tags (Administrative Tag #1, Administrative Tag #2, and so on). It comes in multiples of 4 octets ๐.
4. Elements of Procedure ๐งโโ๏ธ
4.1. Interpretation of Node Administrative Tags ๐ฎ
The meaning of node administrative tags is generally opaque to IS-IS ๐ซฅ. A router can advertise one or more node administrative tags without knowing about, or even explicitly supporting, the functionality the tag implies ๐คทโโ๏ธ. This section lays out general rules, regulations, and guidelines for using and interpreting a node administrative tag ๐. These will help vendors build interoperable implementations ๐ค.
Interpreting tag values is specific to the administrative domain of a particular network operator ๐ฐ. That's why tag values SHOULD NOT be propagated outside the administrative domain they apply to ๐. The meaning of a node administrative tag is defined by the network's local policy and controlled via configuration โ๏ธ. If a receiving node doesn't understand a tag value, it ignores that specific tag and floods the Router CAPABILITY TLV without any change, as defined in [RFC4971] ๐.
The order of tags has no meaning โฌ๏ธ. Nothing about the ordering implies a particular operation, or a set of operations, that needs to be performed based on that order ๐ โโ๏ธ.
Each tag SHOULD be treated as an independent identifier that may be used in a policy to perform a policy action ๐ฏ. Each tag carried by Node-Admin-Tag sub-TLVs should indicate a characteristic of a node that's independent of the characteristics shown by the other administrative tags, whether they're in the same instance or in another Node-Admin-Tag sub-TLV instance ๐งฉ. The list of node administrative tags in a Node-Admin-Tag sub-TLV MUST be considered an unordered list ๐. Policies can be built on the presence of multiple tags (for example, if tag A AND tag B are present) ๐, but they MUST NOT rely on the order of the tags. All policies should be commutative operations, so tag A coming before or after tag B doesn't change the outcome ๐.
4.2. Use of Node Administrative Tags ๐
Node administrative tags aren't meant to be extended by future IS-IS standards ๐ . New IS-IS extensions aren't expected to need node administrative tags or to define well-known tag values ๐ซ . Node administrative tags are for generic use and don't require IANA registration ๐ท. Future IS-IS extensions that need well-known values MAY define their own data signaling, tailored to the needs of their feature, or MAY use the Router CAPABILITY TLV as defined in [RFC4971] ๐ ๏ธ.
Node administrative tags are expected to be tied to a stable attribute ๐ชจ. In particular, node administrative tags MUST NOT be associated with something whose state can oscillate frequently, for example the reachability of a specific destination ๐ โโ๏ธ๐.
There's no specific limit on how many node administrative tags can be advertised, but it's expected that a deployment will only need a modest number of them ๐ธ.
4.3. Processing Node Administrative Tag Changes โจ
okay so this part is all about what happens when the tags CHANGE, and bestie, it's giving "the group chat just got a new rule and everyone has to update their notes" ๐ ๐ซถ Multiple Node-Admin-Tag sub-TLVs MAY appear in a Router CAPABILITY TLV, or Node-Admin-Tag sub-TLVs MAY be contained in different instances of Router CAPABILITY TLVs ๐ So you can stack them in one TLV or spread them across several, both totally fine. ๐ฆ The node administrative tags associated with a node that originates tags for the purpose of any computation or processing at a receiving node SHOULD be a superset of node administrative tags from all the TLVs in all the instances of Router CAPABILITY TLVs received in the Link State PDU(s) advertised by the corresponding IS-IS router ๐ธ So ideally, the originating node's tag set should be the full collection across every Router CAPABILITY TLV it has sent, so nothing gets lost in the shuffle, no cap. โจ When a Router CAPABILITY TLV is received that changes the set of node administrative tags applicable to any originating node, a receiving node MUST repeat any computation or processing that makes use of node administrative tags ๐ฅ Translation: if the tags shift, you have to redo any math that depended on them. Non-negotiable, periodt. ๐
When there is a change to, or removal of, an administrative affiliation of a node, the node MUST re-originate the Router CAPABILITY TLV(s) with the latest set of node administrative tags ๐ So if the node's affiliation changes or gets dropped, it has to send out fresh Router CAPABILITY TLVs with the up-to-date tags, no excuses. ๐ On a receiving router, on detecting a change in contents (or removal) of existing Node-Admin-Tag sub-TLV(s) or the addition of new Node-Admin-Tag sub-TLV(s) in any instance of Router CAPABILITY TLV(s), implementations MUST take appropriate measures to update their state according to the changed set of node administrative tags ๐ง Whether a tag got edited, deleted, or a brand new one showed up, the receiving side has to update its state to match. The exact actions needed will vary, depending on what features are associated with node administrative tags; this topic is outside the scope of this specification ๐ Basically, what "appropriate measures" looks like depends on what you're using the tags for, and this spec doesn't spell that out.
5. Applications ๐ธ
okay so [RFC7777] lists several non-normative examples of how implementations might use node administrative tags ๐ฆ These examples are given only to demonstrate the generic usefulness of the router tagging mechanism ๐ An implementation supporting this specification is not required to implement any of the use cases โจ Lowkey the vibe is "here are some cool ideas, you don't have to build any of them." The following is a brief list of non-normative use cases listed in [RFC7777]. Please refer to Section 3 of [RFC7777] for more details ๐
- Auto-discovery of services ๐ง
- Policy-based Fast Reroute (FRR) ๐ (a) Administrative limitation of LFA scope ๐ (b) Optimizing LFA calculations โญ
- Controlling remote LFA tunnel termination ๐ซถ
- Mobile backhaul network service deployment ๐
- Policy-based explicit routing ๐
6. Security Considerations ๐
This is the part where I get a little serious, bestie, because security matters ๐ญ This document does not introduce any new security issues ๐ฅ Node administrative tags, like link administrative tags (a.k.a. administrative groups) [RFC5305], can be used by operators to indicate geographical location or other sensitive information ๐ The information carried in node administrative tags, like link administrative tags, can be leaked to an IGP snooper ๐ So don't put anything in a tag you wouldn't want a random snooper reading.
Advertisement of tag values for one administrative domain into another involves the risk of misinterpretation of the tag values (if the two domains have assigned different meanings to the same values) and may have undesirable and unanticipated side effects ๐ญ Same number, different meaning across domains = chaos, fr fr.
Security concerns for IS-IS are already addressed in [ISO10589], [RFC5304], and [RFC5310] and are applicable to the mechanisms described in this document ๐ซถ Extended authentication mechanisms described in [RFC5304] or [RFC5310] SHOULD be used in deployments where attackers have access to the physical networks, because nodes included in the IS-IS domain are vulnerable ๐จ Like, if bad actors can touch the physical wires, use the extended authentication, please and thank you ๐
7. Operational Considerations โจ
Operators can assign a meaning to the node administrative tags that is local to the operator's administrative domain ๐ The operational use of node administrative tags is analogical to the IS-IS prefix tags [RFC5130] and BGP communities [RFC1997] ๐ฆ Operational discipline and procedures followed in configuring and using BGP communities and IS-IS prefix tags are also applicable to the usage of node administrative tags ๐
Defining a language for local policies is outside the scope of this document ๐ธ As is the case with other policy applications, the pruning policies can cause the path to be completely removed from the forwarding plane and hence have the potential for a more severe impact on operations (e.g., node unreachability due to path removal) as compared to preference policies that only affect path selection ๐ญ Pruning can yeet a path entirely, which is way more dramatic than just making it less preferred. ๐
8. Manageability Considerations ๐
Node administrative tags are configured and managed using routing policy enhancements ๐ YANG [RFC6020] is a data modeling language used to specify configuration data models ๐ง The IS-IS YANG data model is described in [YANG-ISIS-CFG], and the routing policy configuration model is described in [RTG-POLICY-MODEL] โญ At the time of writing this document, some work to enhance these two other documents so that they include configurations related to node administrative tags is either already in progress or shall be taken up soon ๐
9. IANA Considerations ๐
This specification updates one IS-IS registry: the "Sub-TLVs for TLV 242" registry ๐ The following value has been registered ๐
Value Description
----- -----------
21 Node-Admin-Tag
10. References ๐
10.1. Normative References ๐
[ISO10589] International Organization for Standardization,
"Intermediate System to Intermediate System intra-domain
routeing information exchange protocol for use in
conjunction with the protocol for providing the
connectionless-mode network service (ISO 8473)",
ISO Standard 10589, 2002.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC4971] Vasseur, JP., Ed., Shen, N., Ed., and R. Aggarwal, Ed.,
"Intermediate System to Intermediate System (IS-IS)
Extensions for Advertising Router Information", RFC 4971,
DOI 10.17487/RFC4971, July 2007,
<http://www.rfc-editor.org/info/rfc4971>.
[RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic
Authentication", RFC 5304, DOI 10.17487/RFC5304,
October 2008, <http://www.rfc-editor.org/info/rfc5304>.
[RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R.,
and M. Fanto, "IS-IS Generic Cryptographic
Authentication", RFC 5310, DOI 10.17487/RFC5310,
February 2009, <http://www.rfc-editor.org/info/rfc5310>.
10.2. Informative References ๐
[RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities
Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996,
<http://www.rfc-editor.org/info/rfc1997>.
[RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi
Topology (MT) Routing in Intermediate System to
Intermediate Systems (IS-ISs)", RFC 5120,
DOI 10.17487/RFC5120, February 2008,
<http://www.rfc-editor.org/info/rfc5120>.
[RFC5130] Previdi, S., Shand, M., Ed., and C. Martin, "A Policy
Control Mechanism in IS-IS Using Administrative Tags",
RFC 5130, DOI 10.17487/RFC5130, February 2008,
<http://www.rfc-editor.org/info/rfc5130>.
[RFC5286] Atlas, A., Ed., and A. Zinin, Ed., "Basic Specification
for IP Fast Reroute: Loop-Free Alternates", RFC 5286,
DOI 10.17487/RFC5286, September 2008,
<http://www.rfc-editor.org/info/rfc5286>.
[RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic
Engineering", RFC 5305, DOI 10.17487/RFC5305,
October 2008, <http://www.rfc-editor.org/info/rfc5305>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010,
<http://www.rfc-editor.org/info/rfc6020>.
[RFC7777] Hegde, S., Shakir, R., Smirnov, A., Li, Z., and B.
Decraene, "Advertising Node Administrative Tags in OSPF",
RFC 7777, DOI 10.17487/RFC7777, March 2016,
<http://www.rfc-editor.org/info/rfc7777>.
[RFC7916] Litkowski, S., Ed., Decraene, B., Filsfils, C., Raza, K.,
Horneffer, M., and P. Sarkar, "Operational Management of
Loop-Free Alternates", RFC 7916, DOI 10.17487/RFC7916,
July 2016, <http://www.rfc-editor.org/info/rfc7916>.
[RTG-POLICY-MODEL]
Shaikh, A., Shakir, R., D'Souza, K., and C. Chase,
"Routing Policy Configuration Model for Service Provider
Networks", Work in Progress,
draft-ietf-rtgwg-policy-model-01, April 2016.
[YANG-ISIS-CFG]
Litkowski, S., Yeung, D., Lindem, A., Zhang, J., and L.
Lhotka, "YANG Data Model for IS-IS protocol", Work in
Progress, draft-ietf-isis-yang-isis-cfg-08, March 2016.
Acknowledgments ๐ซถ
Many thanks to Les Ginsberg, Dhruv Dhody, Uma Chunduri, and Chris Bowers for providing useful inputs ๐
Contributors ๐ธ
Many many thanks to Ebben Aries and Rafael Rodriguez for their help with reviewing and improving the text of this document ๐ Many thanks to Harish Raguveer for his contributions to initial draft versions of the document as well ๐ฆ Finally, many thanks to Zhenbin Li for providing some valuable use cases โจ
Authors' Addresses ๐
Pushpasis Sarkar (editor)
Individual Contributor
Email: pushpasis.ietf@gmail.com
Hannes Gredler
RtBrick Inc.
Email: hannes@rtbrick.com
Shraddha Hegde
Juniper Networks, Inc.
Electra, Exora Business Park
Bangalore, KA 560103
India
Email: shraddha@juniper.net
Stephane Litkowski
Orange
Email: stephane.litkowski@orange.com
Bruno Decraene
Orange
Email: bruno.decraene@orange.com
๐ฆ where this page comes from
- ietf: rfc7917 2016-07
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms