RFC 6232 PROPOSED STANDARD ROUTING · IS-IS · TROUBLESHOOTING

IS-IS purge originator: Purge Originator Identification TLV for IS-IS

An IS-IS field that records which router created a purge and can identify the neighbor that passed it on.

On rfc-editor.org ↗
PUBLISHED
May 2011
AUTHORS
F. Wei, Y. Qin, Z. Li, T. Li, J. Dong
STREAM
IETF
BUILDS ON
RFC 5301 — IS-IS Dynamic Hostname, RFC 5304 — IS-IS HMAC-MD5 Auth, RFC 5310 — IS-IS Generic Auth
UPDATED BY
RFC 8918 — Invalid TLV Handling in IS-IS
POI TLV CODE
13
SYSTEM IDS IN VALUE
1 or 2
DYNAMIC HOSTNAME TLV TYPE
137
ALLOWED MESSAGE TYPES
LSP and Purge
DOI
10.17487/RFC6232

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                            F. Wei
Request for Comments: 6232                                        Y. Qin
Updates: 5301, 5304, 5310                                          Z. Li
Category: Standards Track                                   China Mobile
ISSN: 2070-1721                                                    T. Li
                                                     Cisco Systems, Inc.
                                                                 J. Dong
                                                     Huawei Technologies
                                                                May 2011


             Purge Originator Identification TLV for IS-IS

Abstract

   At present, an IS-IS purge does not contain any information
   identifying the Intermediate System (IS) that generates the purge.
   This makes it difficult to locate the source IS.

   To address this issue, this document defines a TLV to be added to
   purges to record the system ID of the IS generating it.  Since normal
   Link State Protocol Data Unit (LSP) flooding does not change LSP
   contents, this TLV should propagate with the purge.

   This document updates RFC 5301, RFC 5304, and RFC 5310.

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.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in 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/rfc6232.

Copyright Notice

   Copyright (c) 2011 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. Requirements Language ...........................................3
   3. The Purge Originator Identification (POI) TLV ...................3
   4. Using the Dynamic Hostname TLV in Purges ........................3
   5. Security Considerations .........................................4
   6. IANA Considerations .............................................4
   7. Acknowledgments .................................................4
   8. Normative References ............................................4

1.  Introduction

   The IS-IS [ISO-10589] routing protocol has been widely used in large-
   scale IP networks because of its strong scalability and fast
   convergence.

   The IS-IS protocol floods purges throughout an area, regardless of
   which IS initiated the purge.  If a network operator would like to
   investigate the cause of the purge, it is difficult to determine the
   origin of the purge.  At present, the IS-IS protocol has no mechanism
   to locate the originator of a purge.  To address this problem, this
   document defines a TLV to be added to purges to record the system ID
   of the IS generating the purge.

   Field experience has shown several circumstances where an IS can
   improperly generate a purge.  These are all due to implementation
   deficiencies or implementations that predate [ISO-TC1] and generate a
   purge when they receive a corrupted Link State Protocol Data Unit
   (LSP).

2.  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 [RFC2119].

3.  The Purge Originator Identification (POI) TLV

   This document defines a TLV to be included in purges.  If an IS
   generates a purge, it SHOULD include this TLV in the purge with its
   own system ID.  If an IS receives a purge that does not include this
   TLV, then it SHOULD add this TLV with both its own system ID and the
   system ID of the IS from which it received the purge.  This allows
   ISs receiving purges to log the system ID of the originator, or the
   upstream source of the purge.  This makes it much easier for the
   network administrator to locate the origin of the purge and thus the
   cause of the purge.  Similarly, this TLV is helpful to developers in
   lab situations.

   The POI TLV is defined as:

      CODE - 13

      LENGTH - total length of the value field.

      VALUE -

         Number of system IDs carried in this TLV (1 octet) -- only the
         values 1 and 2 are defined.

         System ID of the Intermediate System that inserted this TLV.

         System ID of the Intermediate System from which the purge was
         received (optional).

   The POI TLV SHOULD be found in all purges and MUST NOT be found in
   LSPs with a non-zero Remaining Lifetime.

4.  Using the Dynamic Hostname TLV in Purges

   This document also extends the use of the Dynamic hostname TLV
   (type 137) [RFC5301] to further aid in the rapid identification of
   the system that generated the purge.  This TLV MAY be included in
   purges.  Implementations SHOULD include one instance of the Dynamic
   hostname TLV if the POI TLV is included.  Only the local hostname
   should be inserted.

5.  Security Considerations

   Use of the extensions defined here, with authentication as defined in
   [RFC5304] or [RFC5310], will result in the discarding of purges by
   legacy systems that are in strict conformance with either of those
   RFCs.  This may compromise the correctness/consistency of the routing
   database unless all ISs in the network support these extensions.
   Therefore, all implementations in a domain implementing
   authentication MUST be upgraded to receive the POI TLV before any IS
   is allowed to generate a purge with the POI TLV.

   More interactions between the POI TLV, the Dynamic hostname TLV, and
   the Authentication TLV are described in [RFC6233].

6.  IANA Considerations

   IANA has assigned code point 13 for the 'Purge Originator
   Identification' TLV from the IS-IS 'TLV Codepoints' registry.  The
   additional values for this TLV should be IIH:n, LSP:y, SNP:n, and
   Purge:y.

7.  Acknowledgments

   Many thanks to Adrian Farrel and Daniel King for their comments to
   improve this document and move it forward.

   The first version of this document was mainly composed by
   Lianyuan Li.

   Acknowledgments are given to the discussion in the mailing list.
   Some improvements to this document are based on the discussion.

8.  Normative References

   [ISO-10589]  ISO, "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/IEC 10589:2002.

   [ISO-TC1]    ISO, "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) --
                Technical Corrigendum 1", ISO/IEC 10589:1992/
                Cor.1:1993.

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

   [RFC5301]    McPherson, D. and N. Shen, "Dynamic Hostname Exchange
                Mechanism for IS-IS", RFC 5301, October 2008.

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

   [RFC5310]    Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R.,
                and M. Fanto, "IS-IS Generic Cryptographic
                Authentication", RFC 5310, February 2009.

   [RFC6233]    Li, T. and L. Ginsberg, "IS-IS Registry Extension for
                Purges", RFC 6233, May 2011.

Authors' Addresses

   Fang Wei
   China Mobile
   No. 29, Financial Street, Xicheng District
   Beijing  100032
   P.R. China

   EMail: weifang@chinamobile.com


   Yue Qin
   China Mobile
   No. 29, Financial Street, Xicheng District
   Beijing  100032
   P.R. China

   EMail: qinyue@chinamobile.com


   Zhenqiang Li
   China Mobile
   Unit2, Dacheng Plaza, No. 28 Xuanwumenxi Ave., Xuanwu District
   Beijing  100053
   P.R. China

   EMail: lizhenqiang@chinamobile.com


   Tony Li
   Cisco Systems, Inc.
   170 W. Tasman Dr.
   San Jose, CA  95134
   USA

   EMail: tony.li@tony.li


   Jie Dong
   Huawei Technologies
   KuiKe Building, No. 9 Xinxi Rd., Haidian District
   Beijing  100085
   P.R. China

   EMail: dongjie_dj@huawei.com

ISO Plain Language

On this page
PROBLEMIS-IS purges are flooded without identifying the system that created them, making unexpected purges difficult to trace.
MECHANISMThe Purge Originator Identification TLV carries the inserting system's ID and may also carry the ID of the neighbor from which the purge arrived; a Dynamic Hostname TLV may add a readable name.
WHY IT MATTERSOperators can identify the origin or upstream source of a purge. RFC 6232 updates RFCs 5301, 5304 and 5310, and was updated by RFC 8918.

§1Why Purges Need an Origin

IS-IS floods a purge through an area regardless of which Intermediate System (IS) started it. A purge tells other routers to remove an old link-state protocol data unit. Without origin information, an operator investigating an unexpected purge has difficulty locating the source.

RFC 6232 defines a Type-Length-Value (TLV) that records the system ID of the IS that generates the purge. The RFC notes that implementations have sometimes generated purges improperly, including after receiving a corrupted link-state packet.

A purge tells routers to remove old routing information, but older purges did not identify their source. This RFC adds a field that records the system that created one.

§3The Purge Originator TLV

The Purge Originator Identification (POI) TLV uses code 13. Its value begins with a one-octet count of the system IDs that follow. The defined counts are 1 or 2: the first ID names the IS that inserted the TLV, and the optional second ID names the IS from which the purge was received.

The POI TLV should appear in all purges. It must not appear in an LSP whose Remaining Lifetime is non-zero, so it is limited to purge messages.

The field records one router ID, or two when it also records the neighbor that passed the purge on. It belongs on purges, not on active link-state messages.

§3Adding and Propagating the Origin

An IS that generates a purge should add the POI TLV with its own system ID. If an IS receives a purge without the TLV, it should add its own system ID and the ID of the neighbor that sent it.

Normal LSP flooding does not change the message contents, so the identifying information travels with the purge. A receiving router can log the originator or the upstream source to help locate the cause.

The router that creates a purge records its own ID. If a router receives an unmarked purge, it records itself and the neighbor that sent it.

SYSTEM IDS RECORDED IN THE POI TLV
SituationIDs recordedCount
The IS creates the purgeThe creating IS1
An IS receives a purge without POI THIS RFCThe receiving IS and its upstream neighbor2

§4Adding a Dynamic Hostname

The RFC extends use of the Dynamic Hostname TLV, type 137, so it may also appear in purges. Implementations should include one instance when they include the POI TLV. Only the local hostname should be inserted.

A hostname gives operators a human-readable way to identify a system alongside its system ID.

A router may include its hostname with the system ID. The hostname is easier for an operator to recognize.

§5Authentication and Network Readiness

With authentication from RFC 5304 or RFC 5310, legacy systems that strictly follow those RFCs will discard purges carrying these extensions. That could make routing databases inconsistent if only some routers support the change.

In an authenticated domain, every implementation must be upgraded to receive the POI TLV before any IS is allowed to generate a purge that contains it. RFC 6232 points to RFC 6233 for further interactions among the POI, Dynamic Hostname and Authentication TLVs.

Older authenticated routers may discard a purge that contains the new field. All routers in the domain must be ready to receive it before any router sends one.

§6The Assigned TLV Code

IANA assigned code point 13 to the Purge Originator Identification TLV in the IS-IS TLV Codepoints registry. The TLV is allowed in LSPs and purges, but not in IS-IS Hello PDUs or Sequence Number PDUs.

The POI TLV has the shared code number 13. The RFC also specifies which IS-IS message types may carry it.

§7References