Zusammenfassung
- RFC 3533 machte eine Ogg-Seite mit
OggS, Stream- und Seitennummer, Segmenttabelle und CRC auffindbar und einzeln prüfbar. - Ein Codec-Paket durfte sich über mehrere Seiten erstrecken; eine korrekte spätere Seite konnte deshalb von einem verlorenen früheren Paketstück abhängen.
Der aufschlussreichste Fehler ist eine unbeschädigte Seite nach einer Lücke. Ihr Header ist plausibel, ihre Prüfsumme stimmt, doch das erste Paket wird ausdrücklich von der vorigen Seite fortgesetzt. Die Prüfung hat dann nicht versagt. Versagt hätte nur die Behauptung, aus einer gültigen Seite folge ein vollständiges Medium.
RFC 3533 erschien im Mai 2003 als Informational RFC im Independent Stream und definierte Version 0 des Ogg-Kapselungsformats. Encoder erzeugen logische Bitströme aus Paketen. Ogg zerlegt diese Pakete in Segmente, fasst Segmente zu Seiten zusammen und verschachtelt Seiten eines oder mehrerer logischer Ströme in einem physischen Bitstrom. Das Containerformat übernimmt Rahmen und Reihenfolge, nicht die Bedeutung des Codecs.
Das vier Byte lange Capture Pattern OggS markiert einen möglichen Seitenanfang und hilft nach beschädigten Daten bei der Resynchronisierung. Danach muss ein Parser den Header und die Segmenttabelle lesen, die Seitengröße bestimmen und den CRC vergleichen. Der 32-Bit-CRC nutzt das Polynom 0x04c11db7. Das als Verified geführte Erratum 8825 stellt klar, dass der Header mit genulltem CRC-Feld und der Seiteninhalt in die Berechnung eingehen. Das ist ein Beleg gegen zufällige Seitenkorruption, keine Signatur.
Die Lacing Values zeigen die Trennlinie. 255 bedeutet, dass dasselbe Paket in einem weiteren Segment fortgesetzt wird; ein kleinerer Wert beendet es. Null kann ein leeres Paket darstellen oder ein Paket abschließen, dessen Größe ein exaktes Vielfaches von 255 ist. Ein Header-Flag meldet zudem, dass das erste Paket der Seite von der vorigen Seite weiterläuft. Daher kann eine Seite ihren CRC bestehen, obwohl ihr erstes Paket ohne das verlorene Vorgängerstück unbrauchbar ist.
Die Page Sequence Number steigt innerhalb jedes logischen Bitstroms separat. Auch bei verschachtelten Audio-, Video- und Metadatenseiten wird so ein Seitenverlust sichtbar. Sichtbarkeit ist keine Wiederherstellung. Die Nummer liefert die verlorenen Bytes nicht zurück. Eine lückenlose Folge beweist umgekehrt weder Speicherung noch Paketaufbau, Decodierung oder Ausgabe; sie belegt nur die an dieser Stelle beobachtete Reihenfolge.
Die Bitstream Serial Number ist ebenfalls eng begrenzt. Sie führt Seiten beim Demultiplexen zum richtigen logischen Strom. RFC 3533 bezeichnet sie als zufällig erzeugt und ohne Beziehung zu Inhalt oder Encoder. Sie ist keine Werk-, Urheber-, Geräte-, Konto- oder Rechteidentität und kein Herkunftsnachweis. Wer sie so verwendet, erfindet eine Geschäftssemantik außerhalb des Formats.
BOS und EOS markieren Anfang und Ende eines logischen Stroms. Die BOS-Seite enthält Codec-Erkennung gemäß Media Mapping; weitere Headerpakete können vor den Nutzdaten folgen. Eine EOS-Seite darf sogar inhaltsleer sein. Grouping verschachtelt gleichzeitig beginnende Ströme, Chaining reiht vollständige physische Ströme aneinander. Diese Strukturzeichen beweisen nicht, dass zwischen den Grenzen jedes erwartete Medienobjekt vorhanden ist.
Auch die Granule Position ist keine allgemeine Uhr. Ogg habe keinen Zeitbegriff, sagt das RFC, sondern kenne nur steigende, einheitenlose Positionsmarken. Ein Audio-Mapping kann Samples, ein Video-Mapping Bilder zählen. Minus eins zeigt an, dass auf der Seite kein Paket endet. Erst eine höhere Schicht mit Codec- und Mapping-Wissen kann daraus Zeit ableiten.
Die späteren Opus-Mappings machen das greifbar. RFC 7845 und sein Nachfolger RFC 9639 definieren für Opus in Ogg eine 48-kHz-Granule-Uhr, Pre-Skip, End-Trimming und Seek-Regeln; RFC 6716 beschreibt den Codec. Diese Regeln wohnen nicht automatisch in den acht Bytes des Basis-Headers. Sie werden vom konkreten Mapping vergeben.
MIME-Bezeichnungen bleiben ebenfalls begrenzte Hinweise. RFC 3534 registrierte application/ogg; RFC 5334 löste es ab, definierte die Nutzung neu und ergänzte audio/ogg und video/ogg. Das IANA-Register koordiniert die Namen. Ein korrekter Typ erleichtert die Handler-Wahl, bescheinigt aber weder Seitenkontinuität noch Codec-Unterstützung, sichere Inhalte, Synchronität oder Wiedergabe.
Der CRC ist auch kein Sicherheitsurteil. RFC 3533 bietet weder generische Verschlüsselung noch Signierung für Container oder Teilströme. Geschützte Inhalte können transportiert werden, wenn eine andere Schicht sie schützt. Außerdem warnt das Dokument vor manipulierten Bitströmen, Buffer Overflows und ähnlichen Gefahren. Syntaktischer Erfolg nimmt späterem Code nicht die Pflicht, Längen, Speicher und Codec-Zustand zu verteidigen.
Das Errata-Verzeichnis verlangt Statusdisziplin. Erratum 6796, Verified, korrigiert in einem Beispiel „pages“ zu „segments“. Erratum 8825, ebenfalls Verified, klärt die CRC-Abdeckung. Das technische Erratum 8824 hält die genauen CRC32-Parameter für unterbestimmt, steht aber nur auf Reported. Es ist eine offene Frage, keine bereits geltende Änderung.
Eine belastbare Beweiskette trennt daher: empfangene Bytes, gefundenes Capture Pattern, bestätigte Seitengrenze, analysierte Lacing-Tabelle, geprüfter CRC, Sequenzkontinuität je Strom, rekonstruierte Pakete, gewähltes Mapping, akzeptierte Codec-Header, umgerechnete Granules, synchronisierte Ströme, decodierte Frames, gerenderte Ausgabe und beobachtetes Ergebnis. RFC 3533 stärkte die frühen Glieder, ohne sie als Ersatz für die späten auszugeben.
Quellen
- RFC 3533 — HTML
- RFC 3533 — Text
- RFC-Editor-Informationsseite
- IETF-Datatracker-Eintrag
- IETF-Datatracker-Historie
- Errata zu RFC 3533
- RFC 3534 — application/ogg
- RFC 5334 — Ogg-Medientypen
- RFC 7845 — Ogg-Opus-Mapping
- RFC 9639 — aktuelles Ogg-Opus-Mapping
- RFC 6716 — Opus-Codec
- RFC 2119 — Anforderungswörter
- RFC 8174 — BCP-14-Klarstellung
- RFC 6838 — Medientyp-Verfahren
- IANA-Medientyp-Register
- Xiph-Beschreibung des Ogg-Framings
- Heng Lu — Running Code Is Primary
- Heng Lu — On Reality Layers
Mitgliederbriefing
Detaillierter Profilkontext
Melden Sie sich mit der richtigen Mitgliedschaftsstufe an, um das vollständige Briefing und die Quellennotizen freizuschalten.
Nur für Strategic Circle
Strategic Circle
Offen für alle Leser. Schalten Sie Profil-Briefings nach Beitritt und Anmeldung frei.
Strategic Circle beitretenNur für Leadership Alliance
Leadership Alliance
Für qualifizierte Inhaber von IP-Assets und Management; melden Sie sich an, um Leadership-Alliance-Briefings freizuschalten.
Leadership Alliance beitreten
