RFC 5301

Dynamic Hostname Exchange Mechanism for IS-IS

πŸ“… published October 2008, from ietf

RFC 5301: Dynamic Hostname Exchange Mechanism for IS-IS πŸŽ€

Network Working Group πŸ’–

  • Request for Comments: 5301
  • Authors: Danny McPherson (Arbor Networks) and Naiming Shen (Cisco Systems) πŸ‘―
  • Category: Standards Track ✨
  • Date: October 2008 πŸ“…
  • Obsoletes: RFC 2763 πŸ™…β€β™€οΈ

Status of This Memo πŸ“‹

okay so this doc is an Internet standards track protocol for the whole Internet community, and it's basically asking everyone to talk about it and suggest improvements πŸ—£οΈ For the official standardization state of this protocol, go check the current edition of "Internet Official Protocol Standards" (STD 1) πŸ” Distribution of this memo is unlimited, so share it with all your friends πŸ¦‹

Abstract 🌸

RFC 2763 was the one that gave routers running IS-IS a simple, dynamic way to learn symbolic hostnames 🧚 It defined a brand-new TLV so the IS-IS routers could flood their name-to-systemID mapping info across the entire IS-IS network. iconic πŸ‘‘

This document obsoletes RFC 2763. It also moves the capability RFC 2763 provided over to the Standards Track. πŸš€

Table of Contents πŸ—‚οΈ

   1. Introduction ....................................................2
      1.1. Specification of Requirements ..............................2
   2. Possible Solutions ..............................................2
   3. Dynamic Hostname TLV ............................................3
   4. Implementation ..................................................4
   5. Security Considerations .........................................4
   6. Acknowledgments .................................................4
   7. IANA Considerations .............................................4
   8. Informative References ..........................................4

1. Introduction ✨

okay so IS-IS uses a system ID that's 1 to 8 bytes (normally 6 bytes) to represent a node in the network πŸ–₯️ For management and operations, network operators need to check the status of IS-IS adjacencies, routing table entries, and the contents of the IS-IS link state database πŸ“Š Honestly, when you're staring at diagnostics, hex system IDs and Link State Protocol Data Unit (LSP) identifiers are just not it. Symbolic names are way more readable πŸ’…

One way to fix this is to define a name-to-systemID mapping on a router. The mapping works in both directions, so you can look up symbolic names from system IDs and system IDs from symbolic names πŸ”„ You can build that table with static definitions, and network admins who run IS-IS as their IGP already do exactly that as common practice 🫢

So basically, every router has to keep a statically-configured table of router names and system IDs. Those tables need to include the names and system IDs of every router in the network, and they have to be updated every single time something gets added, deleted, or changed 😭

There are a few ways to build a table like this. You could do static configuration, or you could use DNS lookups. This document is the third option, and in wide-scale deployment it has turned out to be easier and more manageable than static mapping or DNS πŸ¦‹

1.1. Specification of Requirements πŸ“œ

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. Possible Solutions πŸ’­

Static config has a big scalability and maintainability problem, and it's the obvious drawback here 😩 Network operators have to maintain the name tables, and that means keeping an entry for every router in the network on every router in the network. The effort grows with the total number of routers. Change the name or system ID of one router, or add a new router, and you end up touching the configuration of every other router. That makes it super likely those static tables will be outdated πŸ’€

It would be really helpful to have one table that you can update from a centralized place 🌈 DNS could do this, but there are drawbacks. During network problems, DNS response times might not be satisfactory, or DNS might not be available at all. DNS can also be a bit more complex than people want. And some DNS implementations might not support A and PTR records for Connection Network Service (CLNS) Network Service Access Points (NSAPs) πŸ™ˆ

The third way to build dynamic mappings is to use the routing protocol's own transport to advertise symbolic names in IS-IS link-state PDUs ✨ This document defines a new TLV that lets IS-IS routers include name-to-systemID mapping data in their LSPs. That gives you simple and reliable transport of name mapping info across the IS-IS network, and honestly it's giving efficiency πŸ”₯

3. Dynamic Hostname TLV πŸŽ€

The Dynamic hostname TLV is defined here as TLV type 137 πŸ”’

  • Length - total length of the value field.
  • Value - a string of 1 to 255 bytes.

The Dynamic hostname TLV is optional πŸ’… It may show up in any fragment of a non-pseudonode LSP. The value field names the router that originated the LSP. That name can be the FQDN for the router, a subset of the FQDN, or literally any string operators want to use. Using the FQDN or a subset of it is strongly recommended 🫢 The content of the value is a domain name (see [RFC2181]). The string is not null-terminated. The system ID of the router can be derived from the LSP identifier 🧚

If this TLV shows up in a pseudonode LSP, then it SHOULD NOT be interpreted as the DNS hostname of the router ⚠️

The Value field is encoded in 7-bit ASCII πŸ”€ If a user interface for configuring or displaying this field allows Unicode characters, then that user interface is responsible for applying the ToASCII and/or ToUnicode algorithm described in [RFC3490]. That's how you get the correct format for transmission or display πŸ‘‘

4. Implementation πŸ› οΈ

The Dynamic hostname TLV is optional, so when a router originates an LSP, it may decide to include this TLV in it 🌸 When a router receives an LSP with the Dynamic hostname TLV, it may decide to ignore the TLV, or it may install the symbolic name and system ID in its hostname mapping table for the IS-IS network 🧠

A router may also optionally insert this TLV into its pseudonode LSP to associate a symbolic name with a local LAN πŸ“

If a system receives a mapping for a name or system ID that's different from the mapping in its local cache, then an implementation SHOULD replace the existing mapping with the latest information πŸ”„

5. Security Considerations πŸ”

Okay this part is serious, so listen up 🚨 The name-to-systemID mapping relies on info that the routers provide about themselves, so a misconfigured or compromised router can inject false mapping information 😱 Because of that, this information needs to be treated with suspicion when, for example, you're doing diagnostics about a suspected security incident πŸ•΅οΈβ€β™€οΈ

This document raises no other new security issues for IS-IS. Security issues with IS-IS are discussed in [RFC5304] πŸ”’

6. Acknowledgments 🫢

The original efforts and acknowledgments in [RFC2763] made this work possible πŸ™ Special shoutout to Henk Smit, who was an author of that document πŸ’œ

7. IANA Considerations πŸ“‹

This document specifies TLV 137, "Dynamic Name". That TLV has already been allocated and reserved [RFC2763], so no new actions are required from IANA βœ…

8. Informative References πŸ“š

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2181]  Elz, R. and R. Bush, "Clarifications to the DNS
              Specification", RFC 2181, July 1997.

   [RFC2763]  Shen, N. and H. Smit, "Dynamic Hostname Exchange Mechanism
              for IS-IS", RFC 2763, February 2000.

   [RFC3490]  Faltstrom, P., Hoffman, P., and A. Costello,
              "Internationalizing Domain Names in Applications (IDNA)",
              RFC 3490, March 2003.

   [RFC5304]  Li, T. and R. Atkinson, "IS-IS Cryptographic
              Authentication", RFC 5304, October 2008.

Authors' Addresses πŸ’Œ

  • Danny McPherson, Arbor Networks, Inc., EMail: danny@arbor.net πŸ¦‹
  • Naiming Shen, Cisco Systems, Inc., EMail: naiming@cisco.com 🌈

Copyright (C) The IETF Trust (2008).

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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. πŸ™…β€β™€οΈ

Intellectual Property πŸ’œ

The IETF takes no position on the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document, or on whether any license under such rights might or might not be available. It also doesn't claim to have made any independent effort to identify such rights. Info on the procedures for rights in RFC documents can be found in BCP 78 and BCP 79 πŸ“–

Copies of IPR disclosures made to the IETF Secretariat, any assurances of licenses to be made available, or the results of an attempt to get a general license or permission for implementers or users to use such proprietary rights can be obtained from the IETF's online IPR repository at http://www.ietf.org/ipr πŸ”

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology required to implement this standard. Send that info to the IETF at ietf-ipr@ietf.org πŸ’–

πŸ“¦ where this page comes from