Betrifft: DF-Protokolle

DF Protokolle
Hier eine Vorstellung der drei bekanntesten DF-Protokolle.

X-Modem

Das wohl bekannteste bertragungsprotokoll heit X-Modem. Es ist auf
Terminalprogramme aller Rechnersysteme implementiert und praktisch in jeder
Mailbox mit Downloadservice zu finden.
X-Modem arbeitet mit einer Paketgre von 128 Byte und bildet zur
Fehlerprfung eine Checksumme, indem es alle Bytes miteinander addiert.
Der Transfer eines Files geht folgendermaen vor sich:
Der erste Rechner sendet ein Datenpaket, bildet ber alle 128 Bytes eine
Checksumme und schickt diese ebenfalls ab. Jetzt stoppt die bertragung,
und der Empfnger bildet die Checksumme. Stellt er keinen Unterschied fest,
erhlt der Sender eine Besttigung, damit er das nchste Paket senden kann.
Diese Methode verschlingt sehr viel Zeit, da bei der bertragung dr
Quittung jedesmal der Kanal gewechselt werden mu. Auch wenn eine bertra-
gung erfolgreich verlief, so sind immer noch Fehler denkbar, denn das
einzige Prfkriterium ist die Summe aller gesendeten Bytes. Da X-Modem sich
nicht um die FehlerpoSiion im Datenpaket kmmert, ist es denkbar, da sich
ein Fehler durch einen anderen wieder aufhebt.
Viele Anfnger in der DF lassen sich durch die Meldung ihres Terminalpro-
grammes wie zum bsp. >12 Bad Blocks< verunsichern.
Alle Protokolle senden Pakete noch einmal, bei denen ein Fehler aufgetreten
ist. Die Meldung dient also lediglich als statistische Anzeige, wie oft
Pakete wiederholt gesendet wurden.

bertragungsrate:
Zu jedem gesendetem Byte kommen bei der gngigen asynchronen bertragung
zustzlich noch ein Start- und ein Stopbit hinzu. Da jedes Zeichen 10 Bits
bentigt, werden rein rechnerisch bei 1200 Baud 120 Zeichen pro Sekunde
bertragen. Tatschlich stellt man aber fest, da X-Modem nur 90 Zeichen
pro Sekunde bertrgt."3bertragungsrate liegt also nur bei 75 Prozent.
Und sie sinkt mit wachsender Baudrate. Zwei extreme Beispiel machen das
deutlich: 300 und 2400 Baud.
Die Zeit, die ein Rechner bentigt, um die 128 Bytes, der Checksumme zu
bilden, bleibt immer gleich. Ebenso die Zeit, die das Modem fr den
Kanalwechsel braucht. Die bertragung der eigentlichen Daten geht aber mit
2400 Baud achtmal schneller als bei 300 Baud. Angenommen, die Fehlerber-
prfung, bentigt eine viertel Sekunde pro 128-Byte-Block. Die bertragung
braucht bei 300 Baud vier Sekunden, bei 2400 Baud kommt sie aber mit einer
halben Sekunde aus. Das verhltnis zwischen Datenbertragung und Fehler-
berprfung wird mit zunehmender Baudrate daher immer ungnstiger. Das heit
natrlich nicht, da die bertragung selbst langsamer wird, sondern nur,
da der Protokoll-Overhaed mehr an Gewicht gewinnt.

Y-Modem
X-Modem stammt aus einer Zeit, als 300 Baud die bliche bertragungsrate
war. Mit dem Aufkommen der 1200- und 2400-Baud-Modems kam Y-Modem auf den
Markt. Die Idee, die sich dahinter verbirgt, ist denkbar einfach.
Y-Modem arbeitet mit einer Paketgre von 1024 Byte, daher bentigtes nur
ein Achtel der Zeit fr die Fehlerberprfung. Natrlich verbirgt sich auch
hier ein Pferdefu: Tritt ein Fehler auf, men jetzt noch einmal 1024
statt 128 Byte gesendet werden.
Vom Aufbau her sind X- und Y-Modem absolut identisch. Daher ist Y-Modem
auch vielfach unter dem Namen " X-Modem-1K " zu finden. Ein
Schnheitsfehler dieser beiden Protokolle ist die Tatsache, da die File-
Gre auf der Empfangsseite immer bis zur Blockgre aufgefllt wird.
Dadurch kann ein File bei X-Modem maximal 127 Bytes, bei Y-Modem maximal
1023 Bytey grer werden.
Durch die rasche Entwicklung der Hardware entstanden eine Reihe von neuen
Protokollen, die sich aber alle aus X-Modem ableiten. Beim WX-Modem erfolgt
die Rckmeldung von der Empfangsseite parallel zum Empfang der Daten. Damit
ist zwar kein Kanalwechsel mehr ntig, aber das Timing fr die bertragung
ist sehr )l"1unger zur exakt gleichen Zeit
die Fehlerberprfung durchfhren mssen. Ein sauber programmiertes WX-
Modem sollte aber auch in der Lage sein, das normale X-modem zu handhaben.
WX-Modem sowie alle jetzt folgenden Protokolle arbeiten nicht mehr mit
einer Checksumme, sondern mit einer " Cyclic Redundancy Check " (CRC).
Diese Methode ist wesentlich genauer als die Checksumme, da sie auch die
Lage der Bytes im Paket bercksichtigt. Das Checking kann sowohl als 16-
Bit-Wert wie auch als 32-Bit-Wert durchgefhrt werden.

Da in aller Regel die Dateinamen auf der Sende- und Empfangsseite identisch
sind, hat man bei der Weiterentwicklung der Protokolle Weauf[YRH!eferX die
Protokolle in der
Lage sind, Dateinamen zu bertragen. Um automatisch Nachrichten ber ein
Netzwerk zu versenden, ist die bergabe des Namens zwingend erforderlich.
Tom Henderson, der Mitbegrnder des Fido-Netzes, entwickelte speziell fr
dieses Netzwerk SEAlink, ein Vollduplex-Protokoll, da mit 128-Byte-Blcken
arbeitet und sich durch eine sehr gute Strsicherheit auch bei schlechten 9=El
Telefonleitungen auszeichnet. Es erlaubt die Benutzung von Wildcards ('?'
und '*') im Dateinamen oder/und die Angabe von mehreren Namen bei einem
Aufruf.

Z-Modem
Z-Modem vereinigt alle bisherigen berlegungen zur bertragungarate sowie
zum Komfort und drfte wohl das beste zur Zeit bekannte Protokoll sein.
(stand 12/88)
Es wurde von Chuck Forsberg fr ein kommerzielles System entwickelt.
Die Routinen wurden bald darauf "public domain" und konnten in andere
Terminalprogramme bernommen werden.
Eine wesentliche Neuerung sind die flexiblen Blockgren, die abhngig von
der Baudrate sind. Bei 1200 Baud sind es 1024-Byte-Blcke, bei 9600 imerhin
8192 Bytes pro Block. Die Blockgre ist jedoch nicht starr eingestellt,
wie bei den anderen Protokollen, sondern nach unten offen. Tritt ein Fehler
bei der bertragung auf, wird die Blockgre halbiert. Wenn danach bei zehn
Blockbertragungen kein Fehler auftritt, fhrt die Blockgre wieder hoch.
Minimal sind 64 Bytes mglich, erst dann beginnt Z-Modem, die Fehler zu
zhlen und bricht den Transfer gegebenenfalls ab.
Auch beim Handshaking geht Z-Modem ganz neue Wege: Es sendet nur dann eine
Rckmeldung, wenn ein Fehler auftritt, nicht wie sonst blich auch die
Besttigung, da alles o.k. ist. So kann man bei einer fehlerfreien
bertragung beobachten da am Modem nur die Receive- oder Transmit-Data-
Lampe leuchtet.
Z-Modem hat die Fhigkeit, einen abgebrochenen Transfer an der
Abbruchstelle wieder aufzunehmen. Will man z.B. ein 200 KB langes File
bertragen, und nach 180 KB bricht der Verkehr zusammen, so ist das bei Z-
Modem kein Grund zum rgern. Ein erneuter Anruf und der Transfer wird an
der alten Stelle wieder aufgenommen, das heit, nun werden nur noch die
fehlenden 20 KB bertragen. Man kann dieses Feature sogar bewut einsetzen,
um bei einer schlechten Verbindung den Transfer abzubrechen. Meist ist es
sinnvoller, eine neue, hoffentlich bessere, Verbindung aufzubauen, als eine
Datei mit 64-Byte-Blcken durch die Leitung zu qulen.
Selbstverstndlich darf auf der Sendeseite zwischen zwei Download-Versuchen
an der Datei nichts verndert werden. Z-Modem wrde das automatisch
erkennen und den Tarnsfer wieder von vorne beginnen. Z-Modem ist in der
Lage, auch das Dateidatum zu bertragen. Dadurch wird auf der Empfangsseite
nicht wie sonst blich das Datum des Downloads eingetragen, sondern das
tatschliche Entstehungsdatum der Datei (THEORIE)

Spezial-Protokolle
Die moderne High-Speed-Modem-technik macht es erforderlich, Gerte zu
entwickeln, die bereits modemintern bertragungsfehler abfangen. Dieser
Entwicklung targen auch einige Protokolle Rechnung, indem sie ganz oder
fast ganz auf eine Fehlerberprfung verzichten. Y-Modem G ist eine Y-
Modem-Variante und verzichtet vllig auf eine Fe]x|Mser Nachteil
ist dabei, da der Transfer zusammenbricht, wenn ein Fehler modem-intern
nicht abgefangen werden kann.
ACKless-SEAlink sendet gleich 32 Blcke zu 128 Bytes. ACKless bedeutet
dabei, da dr Sender nicht auf ein Acknowledge, also eine Besttigung,
wartet. Z-Modem ist durchdie groen Blcke von bis zu 8192 Byte ohnehin so
schnell, da die modem-interne Fehlerkorrektur nur dafr sorgt, die
maximale Blockgre zu erhalten.
Neue Protokolle sind mitlerweile enstanden die die Vorteile von Z-Modem mit
der modem-internen Fehlerkorrektur verbinden. " JANUS" so der
Entwicklungsname soll den stndig freien Kanal bei Z-Modem nutzen.
Das steigert die bertragungsrate bis zu 80 Prozent.



bersicht

Name        Blockgre       Prfart       Dateiname     Wildcards  -Rate
---------------------------------------------------------------------------
X-Modem         128         Checksumme        nein          nein     70%
Y-Modem        1024         Checksumme        nein          nein     90%
Y-Modem/Batch  1024         Check/CRC          ja            ja      90%
T-Link          128            CRC             ja           nein     95%
SEAlink         128            CRC 16          ja            ja      95%
Z-Modem     64-8192            CRC 32          ja            ja      98%
---------------------------------------------------------------------------
Y-Modem G      1024            ./.             ja           nein    110%
ACKless
   SEAlink   32*128            CRC 16          ja            ja     100%
Z-Modem    1024-8192           CRC 32          ja            ja     100%



Die letzten drei Protokolle sind die Spezial-Protokolle.

Die bertragungsraten sind bezogen auf 2400 Baud


>>>>> entnommen c't 12/88 <<<<<<<<<
