Zusammenfassung
- COMPRESSED unterschied Literalfolgen, Wiederholungen beliebiger Bytes und darstellungsabhängige Füllung; nur die Füllform ließ den Wert weg.
TYPEergänzte ihn: Leerzeichen für ASCII/EBCDIC, Nullbyte für Image/Local byte.- Ein vollständig erfasster MODE-C-Datenstrom kann ohne die Parameterchronik dennoch mehrdeutig bleiben.
Kein Musterbyte war genau richtig
Ein Füllbezeichner beginnt mit 11; die übrigen sechs Bits tragen die Anzahl. Damit endet die Form. RFC 765 und RFC 959 reservieren für beliebige Wiederholungen dagegen 10, sechs Zählbits und ein folgendes Byte d als ausdrückliches Muster.
Folglich ist „Anzahl ohne Wert“ kein allgemeiner Abbruchbefund. Nach 10 fehlt tatsächlich etwas. Nach 11 würde ein Parser, der noch ein Muster verlangt, den Beginn des nächsten Elements verschlucken.
Normale Daten haben eine dritte Form: höchstes Bit null, positive Sieben-Bit-Länge bis 127 und genau n Literalbytes. Erst die Klasse sagt, welche Folgepflicht besteht.
TYPE lieferte den Stoff
Bei ASCII ist der Füllwert das Leerzeichen mit Code 32, bei EBCDIC das Leerzeichen mit Code 64. Image und Local byte verwenden ein Nullbyte. Derselbe Füllbezeichner kann somit Leerstellen oder Nullen erzeugen, obwohl der Datenkanal bitgleich bleibt.
RFC 959 nennt Darstellung und Übertragungsmodus grundsätzlich unabhängig, markiert aber genau diese Ausnahme: In Compressed hängt die Natur des Füllbytes vom Darstellungstyp ab. Der Satz ist keine Randnotiz, sondern die zweite Eingabe des Decoders.
Wer nur den Datenkanal archiviert, bewahrt die Anzahl und verliert die Materialwahl. Ein korrekter Hash belegt dann die codierte Folge, nicht das damals erzeugte Dateiobjekt.
Wiederholung und Füllung waren nicht austauschbar
10 kann jeden Wert wiederholen, weil es ein Muster mitführt. 11 darf nur den privilegierten Füllwert der Darstellung einsetzen. Eine Nullserie in ASCII ist daher nicht automatisch ASCII-Füllung; dort ist das Leerzeichen privilegiert. In Image können Nullen ohne Muster entstehen.
Die Ersparnis nutzte Bedeutung, nicht bloß Gleichheit. Weil die Sitzung eine Leerstelle bereits definiert hatte, musste die Datenfolge sie nicht erneut nennen.
Kontrollinformation nahm einen vierten Weg: Auf ein Null-Escape folgte ein Deskriptor mit den in BLOCK festgelegten Codes für die nächste Folge. Der Empfänger musste Literal, explizite Wiederholung, implizite Füllung und Steuerung unterscheiden, bevor er speicherte.
Druckränder kosteten Bandbreite
RFC 959 beschrieb COMPRESSED als Tausch von etwas CPU-Arbeit gegen Bandbreite bei sehr großen Übertragungen. Besonders geeignet seien Druckdateien, etwa von RJE-Systemen. Feste Felder und Seitenränder erzeugten lange Leerraumfolgen.
Für diese Last war eine Ein-Byte-Darstellung von Leerzeichen praktisch. In binären Darstellungen übernahm die Null die entsprechende Rolle. Das war keine allgemeine Theorie moderner Kompression, sondern eine enge Verbindung von Darstellung und historischem Arbeitsprofil.
Der Vorteil verschob zugleich Evidenz in den Kontrollkanal. Ein Protokoll, das TYPE A fälschlich als TYPE I festhält, ändert eine spätere Rekonstruktion, ohne ein Datenbit anzutasten. Ein Decoder, der hinter jedem Zähler ein Muster erwartet, verwirft gültige Eingabe.
Akzeptierte Parameter bildeten Decoder-Epochen
TYPE, STRU und MODE wurden durch Befehle und Antworten gesetzt. Maßgeblich ist der akzeptierte Zustand, nicht nur der gesendete Wunsch. Ein zurückgewiesener TYPE-Wechsel eröffnet keine neue Darstellung.
Jeder Transfer gehört zu den beim Start wirksamen Parametern. Nach einer angenommenen Änderung beginnt eine neue Decoder-Epoche mit eigenen Grenzen und Zuständen. TCP-Segmente und lokale Lesepuffer können Formen beliebig teilen; sie besitzen keine syntaktische Autorität.
Ein Basiskommando garantierte nicht jedes Argument
RFC 959 vergab S, B und C und setzte Stream als Standard. RFC 1123 verlangte später im Minimum nur Stream. MODE C war standardisiert; daraus folgt weder universelle damalige noch heutige Unterstützung.
RFC 5797 und das IANA-Register führen MODE als Basiskommando. Das koordiniert Name und Normverweis, prüft aber weder C noch Parsergrenzen oder Speicherrundläufe.
Codierung und Ergebnis gemeinsam belegen
Eine belastbare Akte enthält Rohstrom, Länge und Hash; die akzeptierte TYPE/STRU/MODE-Folge; Klasse, Anzahl und erwartete Fortsetzung jedes Elements; Kontrollereignisse; Endzustand; und Hash der kanonischen Ausgabe. Füllung und explizite Wiederholung bleiben verschiedene Tatsachen, selbst wenn sie gleiche Bytes erzeugen.
Canary-Tests verwenden denselben 11-Bezeichner unter ASCII, EBCDIC, Image und Local byte, vergleichen ihn mit 10 samt gleichwertigem Muster, trennen Mehrbyteformen zwischen Leseaufrufen und schließen nach einer Wiederholung ohne Muster. Grammatik und Kontext bestimmen den Befund, nicht die Paketgröße.
Der Sender schickte das Byte nicht, weil die Sitzung es schon benannt hatte. Wer die Einsparung später als Beweis lesen will, muss den geliehenen Kontext zu den Bytes zurücklegen.
Quellen
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
