LSR Working Group Z.Li Internet Draft China Mobile Intended status: Standards Track C. Lin Expires: January 9, 2025 New H3C Technologies July 9, 2024 Purge Originator Identification for OSPF draft-li-lsr-ospf-purge-originator-02 Abstract In RFC6232(Purge Originator Identification TLV for IS-IS), ISIS POI (Purge Originator Identification) TLV is added to the purge LSP to record the system ID of the IS generating it. At present, OSPF purge does not contain any information identifying the Router that generates the purge. This makes it difficult to locate the source router. While OSPF protocol is difficult to add additional content to the purge LSA, this document proposes generating a POI LSA together with a purge LSA to record the router ID of the router generating the purge. To address this issue, this document defines a POI LSA to record the router ID of the OSPF generating it. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt li & lin, et al. Expire January 9, 2025 [Page 1] Internet-Draft OSPF Purge Originator Identification July 2024 The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html This Internet-Draft will expire on January 9, 2025. Copyright Notice Copyright (c) 2024 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 ............................................. 3 2. Requirements Language .................................... 3 3. Solution ................................................. 3 3.1 POI Capability ......................................... 4 3.2 POI LSA for OSPF........................................ 5 3.3 POI LSA for OSPFv3 ..................................... 7 4. Deployment Considerations ............................... 10 5. Security Considerations ................................. 10 6. IANA Considerations ..................................... 10 7. References .............................................. 11 7.1 Normative References .................................. 11 7.2 Informative References ................................ 12 Authors' Addresses ........................................... 13 li & lin, et al. Expires January 9, 2025 [Page 2] Internet-Draft OSPF Purge Originator Identification July 2024 1. Introduction OSPF protocol floods purges throughout an area, regardless of which router initiates the purge. At present, the OSPF protocol has no mechanism to locate the originator of a purge. This makes it difficult for network operators to determine the origin of the purge. RFC6232 introduces Purge Originator Identification TLV for IS-IS to record the system ID of the IS generating a purge LSP. For OSPF protocol, the same mechanism is required. While OSPF protocol is difficult to add additional content to the purge LSA, this document proposes generating a Purge Originator Identification (POI) LSA together with a purge LSA to record the router ID of the router generating the purge. The format of the POI LSA is defined for OSPF and OSPFv3 respectively in section 3.2 and 3.3. 2. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. Solution An OSPF router SHOULD generate a POI LSA to record its router ID when it generates a purge. POI LSA is used by other routers or network administrators to determine the originator of the purge LSA. POI LSA SHOULD only be sent to neighbors that support POI capability. Routers that do not support POI capability SHOULD ignore the POI LSA they receive as unknown LSA. POI capability is defined in section 3.1. The format of POI LSA for OSPF and OSPFv3 is defined in section 3.2 and 3.3 respectively. When a purge LSA is received from a neighbor that does not support POI LSA, the receiver with POI capability SHOULD generate a POI LSA for it. li & lin, et al. Expires January 9, 2025 [Page 3] Internet-Draft OSPF Purge Originator Identification July 2024 +---+ +---+ +---+ +---+ |R1 |--X--|R2 |------|R3 | ------------|R4 | +---+ +---+ +---+ +---+ R2(notPOI) --> R3 R3 --> R4 | PurgeLSA1 PurgeLSA1 | POI LSA | ***************************** PurgeLSA1 *LinkID of Purge LSA : LSA1 * | *LsType of Purge LSA : xx * | *AdvRtr of Purge LSA : R1 * | *Advertising RouterID: R3 * | *Neighbor Router ID : R2 * | ***************************** | | +---+ +---+ |R5 |----------|R6 | +---+ +--- R5 -------> R6 PurgeLSA1 POI LSA ***************************** *LinkID of Purge LSA : LSA1 * *AdvRtr of Purge LSA : R1 * *Advertising RouterID: R5 * *Neighbor Router ID : R2 * ***************************** Figure 1: Generator of a Purge LSA does not support the feature The POI LSAs are encapsulated in Link State Update Packets and sent out to neighbors with POI capability. 3.1 POI Capability OSPF router need to exchange POI capability with neighbors. With this Originator Identification Solution, a new bit, called PS (purge signal), is introduced into the Extended Options (EO) TLV in the Link-Local Signaling (LLS) block (see [RFC5613]). see Figure 2 below. +---+---+---+---+---+---+---+- -+---+---+---+---+---+---+---+---+ | * | * | * | * | * | * | * |...| * | * | * | * | * |PS | RS| LR| +---+---+---+---+---+---+---+- -+---+---+---+---+---+---+---+---+ Figure 2: PS Bits in Extended Options TLV Value: TBD, suggest 0x00000004 li & lin, et al. Expires January 9, 2025 [Page 4] Internet-Draft OSPF Purge Originator Identification July 2024 Description: Purge Signal(PS-bit) Routers capable of performing POI LSAs synchronization should always set the PS-bit in their Hello packets. When Receive Hello Packets with PS-Bit Set, the router should record that the neighbor has POI ability, Otherwise, the router should record that the neighbor has no POI ability. It is important to mention that operation of the OSPF neighbor FSM is not changed by this document. 3.2 POI LSA for OSPF The POI LSA for OSPF is used by OSPF router to advertise the originator of a corresponding purge LSA. The flood scope of POI LSA should be consistent with the purge LSA. If the purge LSA is link-local, area-local, or entire domain, then scope of the POI LSA should be link-local, area-local or entire domain. A POI LSA must not be generated for another POI LSA. This document defines POI LSA for OSPF. The format of OSPF POI LSA is shown below: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS age | Options | 9,10, or 11 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opaque Type | Opaque ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS checksum | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +- TLVs -+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: POI LSA for OSPF Opaque Type: 1 byte, TBD, for POI LSA, suggest 05 li & lin, et al. Expires January 9, 2025 [Page 5] Internet-Draft OSPF Purge Originator Identification July 2024 The format of the TLVs within the body of the POI LSA is the same as the format used by [RFC3630]. The variable TLV section consist of one or more nested TLV tuples. Nested TLV are also referred to as Sub-TLVs. The format of each TLV is shown below: 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value | o o o | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4: OSPF POI LSA TLV Format Type: 2-octet field. Length: The total length (in octets) of the value portion of the TLV including nested Sub-TLVs. The format of POI TLV is shown below: 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Purge LSA Link State ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Purge LSA Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Purge LSA AdvRtr | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 5: OSPF POI Identification TLV Where: li & lin, et al. Expires January 9, 2025 [Page 6] Internet-Draft OSPF Purge Originator Identification July 2024 Type: 1 Length: The total length (in octets) of the value portion of the TLV including nested Sub-TLVs Purge LSA Link Statate ID: Link State ID of the purged LSA. Purge LSA Type: LSA Type of the purged LSA. Purge LSA AdvRtr: Router ID of the router that generates the original LSA. Advertising Router ID: Router ID of the router that generates this POI LSA. Neighbor Router ID: Router ID of the router from which the purge was received, if the purge LSA is generated itself, then the Neighbor Router ID is set zero. 3.3 POI LSA for OSPFv3 The Flooding Scope in LSA Header of POI LSA should be consistent with purge LSA. The U-bit will not be set indicating that the LSA should not be flooded if it is not understood. This document defines POI LSA for OSPFv3. The format of OSPFv3 POI LSA is shown below: li & lin, et al. Expires January 9, 2025 [Page 7] Internet-Draft OSPF Purge Originator Identification July 2024 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Age |0|S12| Function Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link State ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Checksum | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +- TLVs -+ | ... | Figure 6: POI LSA for OSPFv3 Function Code: TBD, suggest 10 The format of the TLVs within the body of the POI LSA is the same as the format used by [RFC3630]. The variable TLV section consist of one or more nested TLV tuples. Nested TLV are also referred to as Sub-TLVs. The format of each TLV is: The POI LSA TLV of POI LSA is shown below: 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value | o o o | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 7: OSPFv3 POI LSA TLV Format Type: 2-octet field. li & lin, et al. Expires January 9, 2025 [Page 8] Internet-Draft OSPF Purge Originator Identification July 2024 Length: The total length (in octets) of the value portion of the TLV including nested Sub-TLVs. The format of OSPF POI TLV is shown below: 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Purge LSA Link State ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Purge LSA Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Purge LSA AdvRtr | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 8: OSPFV3 POI Identification TLV Where: Type: 1 Length: The total length (in octets) of the value portion of the TLV including nested Sub-TLVs Purge LSA Link Statate ID: Link State ID of the purged LSA. Purge LSA Type: LSA Type of the purged LSA. Purge LSA AdvRtr: Router ID of the router that generates the original LSA. Advertising Router ID: Router ID of the router that generates this POI LSA. Neighbor Router ID: Router ID of the router from which the purge was received, if the purge LSA is generated itself, then the Neighbor Router ID is set zero. li & lin, et al. Expires January 9, 2025 [Page 9] Internet-Draft OSPF Purge Originator Identification July 2024 4. Deployment Considerations If the router that generate the purge LSA does not support this feature, then the nearest router that support this feature should generate the POI LSA instead. And the POI LSA should not be send to routers that does not support this feature. So the routers should exchange and record the capability when establishing neighbors. When receive a purge from a neighbor that does not support the POI LSA, then it SHOULD generates a POI LSA with both its own router ID and the router ID of the neighbor from which it received the purge. This allows routers receiving purges to log the router 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 POI LSA is helpful to developers in lab situations. The POI LSA is then flood to all neighbors that support this feature. 5. Security Considerations TBD. 6. IANA Considerations This document update the Extended Options (EO) TLV 0x00000004 in OSPF and OSPFv3 hello packet, reference to [RFC4813] PS-bit: TBD, suggest 0x00000004 This document updates the OSPF Opaque LSA type for POI LSA, reference to [RFC5250]. Opaque Type: TBD, OSPF POI-LSA, suggest 5 This document requests the creation of an "OSPF POI LSA TLVs" registry, that defines top-level TLVs for the OSPF POI LSA, under the "OSPF Parameters" registry. The initial code-points assignment is as below: li & lin, et al. Expires January 9, 2025 [Page 10] Internet-Draft OSPF Purge Originator Identification July 2024 * Type 0: Reserved. * Type 1: OSPF POI Identification TLV: Refer to Section 3.2 of this document. This document update the OSPFv3 Function Code for POI LSA, reference to [RFC5340]. Function Code: TBD, OSPFv3 POI-LSA, suggest 10 This document requests the creation of an "OSPFv3 POI LSA TLVs" registry, that defines top-level TLVs for the OSPFv3 POI LSA, under the "OSPFv3 Parameters" registry. The initial code-points assignment is as below: * Type 0: Reserved. * Type 1: OSPFv3 POI Identification TLV: Refer to Section 3.3 of this document. 7. References 7.1 Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC5250] Rob Coltun , Alex D. Zinin , Igor Bryskin , Lou Berger,"The OSPF Opaque LSA Option", RFC 5250, DOI 10.17847/RFC5250, July 2008, . [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, . li & lin, et al. Expires January 9, 2025 [Page 11] Internet-Draft OSPF Purge Originator Identification July 2024 [RFC5613] Barry Friedman , Liem Nguyen , Abhay Roy , Alex D. Zinin , Derek M. Yeung,"OSPF Link-Local Signaling", RFC 5613, DOI 10.17487/RFC5613, August 2009,. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 7.2 Informative References [RFC6232] Wei, F., Qin, Y., Li, Z., Li, T., and J. Dong, "Purge Originator Identification TLV for IS-IS", RFC 6232, DOI 10.17487/RFC6232, May 2011, . li & lin, et al. Expires January 9, 2025 [Page 12] Internet-Draft OSPF Purge Originator Identification July 2024 Authors' Addresses Zhenqiang Li China Mobile P.R. China EMail: lizhenqiang@chinamobile.com Changwang Lin New H3C Technologies P.R. China Email: linchangwang.04414@h3c.com li & lin, et al. Expires January 9, 2025 [Page 13]