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 <<<<<<<<<


