Zusammenfassung

  • Der IPv6-Präfix FEC0::/10 stellte interne Site-Local-Adressen ohne globalen Präfix bereit, sagte aber nicht, zu welcher Site die Adresse gehörte.
  • RFC 4193 ersetzte die Abhängigkeit von einer Site-Grenze durch lokal erzeugte Präfixe mit hoher Wahrscheinlichkeit eindeutiger Werte; das Routing blieb lokale Aufgabe.

Analyse

Die zweite Hälfte der Adresse lag auf dem Host

Eine Anwendung speicherte FEC0::1234:5678:9ABC und versuchte, eine Verbindung aufzubauen. Auf einem mehrfach angebundenen oder mobilen Host konnte die Hexadezimalfolge allein nicht reichen: Die Anwendung musste mit einer Bereichskennung wie %1 auch die gemeinte Site angeben. Auf einer anderen Host-Instanz konnte dieselbe Site als %2 erscheinen. Die Adresse sah portabel aus; die fehlende Hälfte steckte im lokalen Zustand des Rechners.

Das war der heikle Tausch hinter IPv6-Site-Local-Unicast-Adressen. RFC 3513 definierte im April 2003 FEC0::/10 für den Einsatz innerhalb einer Site ohne globalen Präfix. Danach folgten eine 54 Bit lange Subnetzkennung und eine 64 Bit lange Schnittstellenkennung. Router sollten Pakete mit solchen Adressen nicht aus der Site hinaus weiterleiten. Ein Netz konnte IPv6 intern nutzen, ohne zuvor einen weltweit routbaren Block zu erhalten.

Die Adresse verriet nicht, welche Site sie lokal machte. FEC0::1 konnte gleichzeitig an zwei Sites vorkommen. RFC 3879 vom September 2004 beschreibt die Folgen: Anwendungen mussten eine zusätzliche Site-Kennung verwalten; eine wörtliche Adresse ließ sich nicht als hostunabhängiges Ziel speichern oder einfach aus dem DNS lernen; und Software, die IP-Adressen weitergab, konnte die Mehrdeutigkeit über die Grenze tragen.

Das Wort „Site“ sollte zu viele Grenzen auf einmal festlegen. Unternehmensnetz, Campus, geografischer Standort, Routing-Domäne, Firewall-Zone und Verwaltungsgrenze müssen nicht übereinstimmen. RFC 3879 nennt Grenzen für Sicherheit, Erreichbarkeit, Routing, Dienstgüte, Verwaltung und Finanzierung. Eine DMZ konnte für einen Zweck innen und für einen anderen außen liegen. Das Paket hatte eine Adresse; die Organisation mehrere Karten.

Router erbten denselben Streit. Wenn dasselbe site-lokale Ziel je nach Eingangsinterface eine andere Bedeutung hatte, brauchte ein Router für mehrere Sites site-spezifische Routen und besondere Weiterleitungstabellen. Tunnel und virtualisierte Routingtabellen konnten die Arbeit übernehmen, machten „Site“ aber nicht zu einer allgemeinen Einheit.

Der Nutzen war real: interne Adressen ohne globalen Präfix und eine Grenze, an der Router filtern konnten. 2003 bewegte sich die IPv6-Arbeitsgruppe auf einen Ersatz zu. RFC 3879 hält eine gewisse Einigung im März und deren Bestätigung im Juli fest, merkt aber an, dass der Konsens weit von Einstimmigkeit entfernt war. Die RFC vom September 2004 erklärte FEC0::/10 für veraltet, erlaubte bestehenden Implementierungen und Netzen aber die weitere Nutzung, bis ein Ersatz standardisiert war. Eine Neuzuweisung des Präfixes hätte einen künftigen IETF-Standardisierungsbeschluss benötigt.

RFC 4193 lieferte den Ersatz im Oktober 2005. Unique Local IPv6-Adressen verwenden FC00::/7; bei lokal zugewiesenen Präfixen wird eine 40 Bit lange Global ID pseudozufällig erzeugt, gefolgt von einer 16 Bit langen Subnetz-ID und einer 64 Bit langen Interface ID. „Global“ beschreibt hier die angestrebte Eindeutigkeit des Präfixes, keinen Zugang zum globalen Internet. Die RFC verspricht eine hohe Wahrscheinlichkeit, keine Gewissheit. ULA sind für lokale Kommunikation gedacht, können zwischen einer begrenzten Zahl von Sites geroutet werden und sollen nicht im globalen Internet geroutet werden.

Der Unterschied wird wichtig, wenn Netze zusammenkommen. Unabhängig erzeugte ULA-Präfixe kollidieren wahrscheinlich nicht, sodass eine Fusion oder private Verbindung oft ohne Umnummerierung der Schnittstellen auskommt. Für Kommunikation zwischen den Sites braucht es dennoch explizite Routen. Die Adresse muss keine universelle „Site“ mehr codieren; das Netz entscheidet mit seinen Routen und Filtern, wohin sie gelangt.

Im Februar 2006 übernahm RFC 4291 die Abkündigung in die IPv6-Adressarchitektur: Neue Implementierungen dürfen FEC0::/10 nicht mehr mit dem alten Sonderverhalten behandeln. Die RFCs erklären die Designänderung, zählen aber nicht die Systeme, die den Präfix heute noch verwenden. Dafür wären aktuelle Messungen von Hosts, Routern oder Verkehr nötig.

Quellen