Zum Hauptinhalt springen

3. OSPF Segment Routing über MPLS-Datenebene YANG-Modul (OSPF Segment Routing over MPLS YANG Module)

Dieser Abschnitt präsentiert das vollständige YANG-Modul für OSPF Segment Routing-Erweiterungen über die MPLS-Datenebene.

Modulstruktur (Module Structure)

Das ietf-ospf-sr-mpls YANG-Modul erweitert das OSPF Basis-YANG-Modell [RFC9129] und integriert sich mit dem Segment Routing Basismodul [RFC9020]. Es unterstützt OSPFv2 [RFC8665] und OSPFv3 [RFC8666].

Modulkopf (Module Header)

module ietf-ospf-sr-mpls {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-ospf-sr-mpls";
prefix ospf-sr-mpls;

organization
"IETF LSR - Link State Routing Working Group";

description
"Dieses YANG-Modul definiert die Konfiguration und den Betriebszustand
für OSPF-Erweiterungen des Segment Routing (SR) über die MPLS-Datenebene.

Dieses YANG-Modul entspricht der Network Management Datastore Architecture
(NMDA), wie in RFC 8342 beschrieben.

Copyright (c) 2025 IETF Trust und die Autoren des Codes.
Alle Rechte vorbehalten.

Diese Version dieses YANG-Moduls ist Teil von RFC 9903;
siehe die RFC selbst für vollständige rechtliche Hinweise.";

revision 2025-12 {
description
"Erstveröffentlichung.";
reference
"RFC 9903: A YANG Data Model for OSPF Segment Routing
over the MPLS Data Plane";
}
}

Wichtige Datenknoten (Key Data Nodes)

Globale Segment Routing-Konfiguration (Segment Routing Global Configuration)

SRGB-Konfiguration:

  • Pfad (Path): /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ospf:ospf/segment-routing/srgb
  • Typ (Type): Container mit lower-bound und upper-bound Blättern
  • Beschreibung (Description): Definiert den Segment Routing Global Block-Bereich

SRLB-Konfiguration:

  • Pfad: /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ospf:ospf/segment-routing/srlb
  • Typ: Container mit lower-bound und upper-bound Blättern
  • Beschreibung: Definiert den Segment Routing Local Block-Bereich

MSD-Konfiguration:

  • Pfad: /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ospf:ospf/segment-routing/msd
  • Typ: uint8
  • Beschreibung: Maximale SID-Tiefe, die der Knoten aufbringen kann (Maximum SID Depth)

Bereichsebenen-Konfiguration (Area-Level Configuration)

Segment Routing-Aktivierung:

  • Pfad: /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ospf:ospf/areas/area/segment-routing/enabled
  • Typ: boolean
  • Standard: false
  • Beschreibung: SR-MPLS auf allen Schnittstellen innerhalb des Bereichs aktivieren

Schnittstellenebenen-Konfiguration (Interface-Level Configuration)

Adjacency-Segment-Identifier-Konfiguration (Adjacency-SID Configuration):

  • Pfad: /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ospf:ospf/areas/area/interfaces/interface/segment-routing/adjacency-sid
  • Typ: Container
  • Inhalt:
    • value: SID-Wert oder Index
    • neighbor: Nachbar-Router-ID (für Mehrfachzugriffsnetzwerke)
    • flags: Schutz- und Wert-/Index-Flags

TI-LFA-Konfiguration:

  • Pfad: /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ospf:ospf/areas/area/interfaces/interface/fast-reroute/ti-lfa
  • Typ: Container
  • Inhalt:
    • enable: TI-LFA aktivieren/deaktivieren
    • node-protection: Knotenschutz aktivieren

Betriebszustandsdaten (Operational State Data)

OSPFv2 LSA-Erweiterungen

Das Modul erweitert OSPFv2 LSAs mit SR-bezogenen TLVs:

Extended Prefix Opaque LSA:

  • Extended Prefix TLV
    • Präfix-Segment-Identifier-Sub-TLV (Prefix-SID Sub-TLV)
      • Flags: NP-Flag, M-Flag, E-Flag, V-Flag, L-Flag
      • Algorithmus
      • SID/Index/Label

Extended Link Opaque LSA:

  • Extended Link TLV
    • Adjacency-Segment-Identifier-Sub-TLV (Adj-SID Sub-TLV)
      • Flags: B-Flag, V-Flag, L-Flag, G-Flag, P-Flag
      • Gewicht
      • SID/Label

Router Information Opaque LSA:

  • SR-Algorithmus-TLV
  • SID/Label-Bereichs-TLV
  • SR-Lokalblock-TLV
  • SRMS-Präferenz-TLV

OSPFv3 LSA-Erweiterungen

Das Modul erweitert OSPFv3 E-LSAs mit SR-bezogenen TLVs:

E-Router LSA:

  • SR-Algorithmus-TLV
  • SID/Label-Bereichs-TLV
  • SR-Lokalblock-TLV

E-Intra-Area-Prefix LSA:

  • Präfix-Segment-Identifier-Sub-TLV (Prefix-SID Sub-TLV) (ähnlich OSPFv2)

E-Link LSA:

  • Adjacency-Segment-Identifier-Sub-TLV (Adj-SID Sub-TLV)
  • LAN Adjacency-Segment-Identifier-Sub-TLV (LAN Adj-SID Sub-TLV)
    • Nachbar-Router-ID
    • Flags und SID/Label

Kernterminologie (Core Terminology)

Prefix-SID (Präfix-Segment-Identifier)

Ein Segment-Identifier, der mit einem IP-Präfix verknüpft ist. Prefix-SIDs sind innerhalb einer SR-Domäne global eindeutig und repräsentieren einen ECMP-bewussten kürzesten Pfad zum Präfix.

Adjacency-SID (Adjacency-Segment-Identifier)

Ein Segment-Identifier, der eine spezifische Nachbarschaft zu einem benachbarten Router darstellt.

LAN Adjacency-SID (LAN Adjacency-Segment-Identifier)

Eine spezielle Form des Adjacency-SID, die in Mehrfachzugriffsnetzwerken (LANs) verwendet wird und sowohl die lokale Schnittstelle als auch den Nachbar-Router identifiziert.

SRGB (Segment Routing Global Block)

Der Label-Bereich, der für globale Segmente innerhalb einer SR-Domäne reserviert ist. Alle Knoten sollten eine konsistente SRGB-Konfiguration für den ordnungsgemäßen SR-Betrieb haben.

SRLB (Segment Routing Local Block)

Der Label-Bereich, der für lokale Segmente reserviert ist. SRLB-Labels haben nur lokale Bedeutung und werden nicht domänenweit verbreitet.

MSD (Maximale SID-Tiefe)

Die maximale Anzahl von SIDs, die ein Knoten auf ein Paket aufbringen kann. Dieser Wert wird beworben, um Pfadberechnungs-Engines bei der Bestimmung machbarer SR-Pfade zu unterstützen.

Verwendungsbeispiel (Usage Example)

Siehe Anhang A für ein vollständiges Konfigurationsbeispiel.

Vollständige Moduldefinition (Complete Module Definition)

Für die vollständige YANG-Moduldefinition einschließlich aller Datenknoten, Erweiterungen und Benachrichtigungen siehe:


Hinweis: Der vollständige YANG-Modulcode (ca. 600+ Zeilen) enthält detaillierte Beschreibungen, Einschränkungen und Referenzen für jeden Datenknoten. Netzwerkbetreiber sollten YANG-Validierungswerkzeuge verwenden, um die Konformität der Konfiguration mit den Einschränkungen des Moduls sicherzustellen.