RFC 7917

Advertising Node Administrative Tags in IS-IS

๐Ÿ“… published July 2016, from ietf

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 (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 ๐ŸŽ€

  1. Auto-discovery of services ๐Ÿงš
  2. Policy-based Fast Reroute (FRR) ๐Ÿ’… (a) Administrative limitation of LFA scope ๐ŸŒˆ (b) Optimizing LFA calculations โญ
  3. Controlling remote LFA tunnel termination ๐Ÿซถ
  4. Mobile backhaul network service deployment ๐Ÿ“
  5. 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