Modems

ModemDie Bedeutung von Modems hat in den Ländern, in denen flächendeckend und kostengünstig ISDN- oder gar ADSL-Anschlüsse zur Verfügung stehen, merklich nachgelassen. Trotzdem haben Modems bei der Datenübertragung und bei der Internet-Einwahl nach wie vor einen erheblichen Anteil.

Unter einem Modem (Modulator und Demodulator) versteht man im normalen Sprachgebrauch ein Gerät, das die Übertragung von Daten über eine analoge Telefonleitung erlaubt. Zu diesem Zweck wandelt es die Datenbits in Tonsignale um (Modulator) oder umgekehrt (Demodulator).

PC1 _ Modem _ Telefonnetz _ Modem _ PC2

Im Prinzip wäre übrigens im digitalisierten deutschen Telefonnetz bei Modems seit 1998 genau wie bei einem ISDN-Anschluss auch die Meldung der Anrufer-Nummer möglich (CLIP = Calling Line Identification Presentation, siehe auch ISDN). Bisher unterstützen nur einige wenige analoge Endgeräte diese Möglichkeit. Bei einem Anruf wird hierzu von der Vermittlung zwischen dem ersten und zweiten Klingelsignal die Anrufernummer mit 1200 bit/s gesendet (V.23-Norm, asynchrones Datenformat 8N1 = 8 Datenbits, no parity, 1 Stopbit). Eine Prüfsumme erlaubt das Erkennen von Übertragungsfehlern. Das Senden einer Wiederholungs-Anforderung oder anderer Daten seitens des Endgeräts ist allerdings nicht vorgesehen, da nur begrenzte Zeit für die Übertragung zur Verfügung steht.

TAE6- und RJ11-Stecker

TAE6-SteckerDer Anschluss eines Modems an das Telefonnetz erfolgt in Deutschland meist mit einem TAE6-Stecker (Telekommunikations-Anschluss-Einheit, 6polig). Davon gibt es zwei Varianten, die sich durch eine kleine Nase am Stecker unterscheiden, um Verwechslungen vorzubeugen: F für Telefone und N für Modems, Faxgeräte und Anrufbeantworter. Die gebräuchlichen Dreifach-Telefondosen sind gewöhnlich NFN-codiert, so dass man ganz links ein Modem, in der Mitte ein Telefon und rechts einen Anrufbeantworter einstecken kann. Das Modem kann dann während einer Datenverbindung das Telefon deaktivieren, damit die Übertragung nicht durch ein versehentliches Abheben des Telefonhörers gestört wird (allerdings verzichten manche Billigmodems auf das dafür nötige Umschaltrelais). Am TAE-F-Stecker von Telefonen sind meist nur die Kontakte 1+2 (a1/b1) belegt. Bei korrekter Verdrahtung ist a der Minus- und b der Pluspol, für die meisten Endgeräte spielt das aber keine Rolle.

Belegung eines TAE6-N-
Steckers, Kontaktseite,
Kabel nach unten (s.Foto)
  4-
5-
6-
] [
] [
] [
-3
-2
-1

1+2 = a1/b1, zum Telefonnetz, 6+5 = a2/b2, Ausgang für Telefon, 3+4 = G/E für Zweitklingel/Erdtaste

Am Modem selbst ist gewöhnlich eine vierpolige RJ11-Buchse (Western-Buchse) für den Anschluss ans Telefonnetz vorhanden, so dass ein entsprechendes Adapterkabel zur TAE-Buchse nötig ist. Die zwei mittleren RJ11-Kontakte führen zum Telefonnetz (a1/b1), an die zwei äußeren kann ein Telefon angeschlossen werden. Die RJ11-Belegung von Telefonen ist leider uneinheitlich; meist werden die zwei inneren Kontakte benutzt, Siemens verwendete bis etwa 1998 allerdings die zwei äußeren.

Kabel =
=
=
=
b2
b1
a1
a2
  Belegung
eines
RJ11-
Steckers
RJ11

Wahl und Übertragung

Das deutsche Telefonnetz wurde Anfang 1998 vollständig digitalisiert. Seitdem kann außer dem uralten Impulswahl-Verfahren (IWV) überall auch das schnellere Mehrfrequenz-Verfahren (MFV oder auch DTMF = Dual-Tone Multiple Frequency) zur Wahl benutzt werden.

Beim Impulswahl-Verfahren wird nach dem Abheben des Hörers der Schleifenstrom gemäß der zu wählenden Ziffer entsprechend oft im Takt von 0,1 s unterbrochen, z.B. einmal für die Ziffer 1 oder zehnmal für eine Null. Zwischen den Ziffern ist eine Pause von min. 0,2 s erforderlich, die bei alten Telefonen durch das Aufziehen der Nummernscheibe erzwungen wurde.

Beim Tonwahl-Verfahren benutzt man zwei gleichzeitige Töne mit jeweils mindestens 60 ms Dauer, um eine bestimmte Taste des Telefons zu codieren. Die Tasten kann man sich dabei in einer Matrix aus Spalten und Reihen denken, wobei jeder Spalte und Reihe eine Tonfrequenz zugeordnet ist. Die Frequenzen sind vom CCITT international genormt. Die Tasten A bis D fehlen bei Telefonen normalerweise, da sie netzinternen Steuerungszwecken vorbehalten sind. (Früher konnte man mit einer "Blue Box", die diese Spezialtasten besaß, beispielsweise in den USA gebührenfrei telefonieren; mittlerweile sind diese Funktionen aber in praktisch allen Netzen gesperrt.) Beispielsweise werden für die Taste "1" die zwei Frequenzen 1209 Hz und 697 Hz erzeugt.

Tonwahl-Frequenzen
Hz 1209 1336 1477 1633
697 1 2 3 A
770 4 5 6 B
852 7 8 9 C
941 * 0 # D

Tonwahlsignale lassen sich außer bei analogen Telefonen oft auch mit ISDN- und GSM-Telefonen erzeugen, dort aber erst nach dem erfolgreichen Herstellen der Verbindung, da die eigentlichen Wahlinformationen in diesen Netzen digital übertragen werden. Die erzeugten Töne dienen in diesem Fall beispielsweise der Steuerung von Sprachmailbox- oder Auskunfts-Systemen wie CapiCall von Shamrock Software.

Vor einer Daten-Übertragung sendet das anrufende Modem einen Kenn-Ton von 1300 Hz in Intervallen von 0,6 s Ton und 1,9 s Pause. Im Fax-Modus wird dagegen ein Kennton von 1100 Hz mit 0,5 s Dauer und 3 s Abstand erzeugt. Automatische Modem-/Fax-/Telefon-Umschalter können daran erkennen, dass der Anrufer ein Modem ist und ob eine Daten- oder Fax-Übertragung gewünscht wird.

Das angerufene Modem sendet zunächst 4 s lang einen Antwortton von 2100 Hz. Er dient bei einer Satellitenübertragung dazu, die Echosperre auszuschalten, die ein gleichzeitiges Senden beider Modems verhindern würde. Anschließend versuchen die zwei Modems unter Berücksichtigung ihrer Fähigkeiten und der momentanen Leitungsqualität, die maximal sinnvolle Datenrate zu vereinbaren (Negotiating). Dazu wird jeweils ein Testsignal mit der höchsten möglichen Bitrate gesendet und diese dann bei Bedarf schrittweise solange reduziert, bis die Bitfehlerrate (der prozentuale Anteil falscher Bits) auf ein vertretbares Maß gesunken ist. Erst jetzt kann die eigentliche Übertragung beginnen.

Die Art und Weise, wie Modems nach dem Verbindungsaufbau den Datenbits Tonsignale zuordnen, bestimmt ganz wesentlich die erreichbare Übertragungsrate, die man gewöhnlich in Nutzdaten-bit/s angibt. Da eine normale Telefonleitung nur Töne zwischen 300 Hz und 3500 Hz (Hertz, Schwingungen pro Sekunde) überträgt, muss man sich schon einiges einfallen lassen, um die heute üblichen Geschwindigkeiten von 28800...56000 bit/s zu erreichen. Hinzu kommt, dass die Übertragung im genannten Frequenzbereich nicht gleichmäßig gut ist (der Frequenzgang fällt oben und unten spürbar ab) und Störgeräusche wie Rauschen oder Knacken Datenfehler verursachen können. Übliche Verfahren werden im folgenden kurz umrissen.

CCITT Bitrate(n), * = nur halbduplex
V.17
V.21
V.22
V.22bis
V.23
V.26bis
V.27ter
V.29
V.32
V.32bis
V.34
V.34+
V.90
V.91
V.92
7200, 9600, 12000, 14400 *
300
600, 1200
1200, 2400
Empfangen 1200, Senden 75 (Btx
1200, 2400 *
2400, 4800 *
4800, 7200, 9600 *
4800, 9600
4800, 7200, 9600, 12000, 14400
2400 ... 28800
2400 ... 33600
Empfang bis 56000, Senden 33600
volldigital/ISDN, bis 64000
Empf. max. 56000, Senden 48000

Das CCITT (inzwischen unter dem Dach der ITU) hat eine ganze Reihe von Modulations-Verfahren in seinen V-Normen standardisiert, die Sie statt einer Geschwindigkeits-Angabe in vielen Modem-Prospekten finden. Dabei gibt es das Halbduplex-Verfahren, bei der die zwei beteiligten Modems nicht gleichzeitig, sondern nur abwechselnd senden dürfen und das vorwiegend bei der Fax-Übertragung benutzt wird, sowie das Duplex-Verfahren, bei dem immer beide gleichzeitig senden können und das bei der Datenübertragung heute praktisch ausschließlich eingesetzt wird.

AT-Befehle, MNP/V.42

Obwohl das Normungsgremium CCITT mit dem V.25bis-Standard ganz andere Modem-Befehle festlegte (wie etwa CRI oder CRN zum Wählen einer Nummer), haben sich doch die vom Modem-Hersteller Hayes erfundenen AT-Befehle als Industriestandard durchgesetzt - die "normative Kraft des Faktischen" hatte über die Bürokratie gesiegt.

Dazu werden die zwei Buchstaben AT an den Beginn jeder Befehlszeile gesetzt, die der Computer zum Modem schickt. Die meisten Modems erkennen an diesen zwei Buchstaben automatisch auch die Schnittstellen-Geschwindigkeit (diese hat nicht unbedingt etwas mit der telefonseitigen Übertragungs-Geschwindigkeit zu tun!). Leerräume in der Befehlszeile sowie Groß- oder Kleinschreibung werden ignoriert. Es ist auch möglich, mehrere Befehle in eine Zeile zu schreiben, z.B. AT E1 S0=1. Typische Befehlszeilen sind:

AT S0=1: Schaltet die automatische Rufannahme ein (aus mit 0)
AT S0?: Zeigt den aktuellen Inhalt des Steuer-Registers 0 an
AT S7=45: Setzt die max. Anwahl-Wartezeit auf 45 Sekunden
AT E0: Schaltet das Befehls-Echo aus (einschalten mit AT E1)
AT L1: Stellt niedere Lautsprecher-Lautstärke ein (2=mittel, 3=hoch)
AT &F: Stellt Fabrikzustand her (ggf. hinterher noch AT &W)
AT &W: Speichert die momentane Konfiguration als Einschalt-Standard
AT Z: Stellt den Einschalt-Standard her (siehe AT &W)
AT &C1 &D2: Sorgt für korrekte Behandlung der V.24-Leitungen DCD+DTR
AT A: Beantworten eines ankommenden Rufs
AT DT 1234: Wählt die Nummer 1234 (P statt T: Puls- statt Tonwahl)
AT X3DT0W1234: Nebenstelle: Wählt Amts-Null, wartet auf Amtston, wählt 1234
+++: Vom Online- in den Befehlsmodus (>1 s Pause vor-/nachher!)
AT H: Trennt die Verbindung nach +++
AT &V oder \S: Anzeige der momentanen Modem-Einstellungen (manchmal!)
AT I3 I6 I9: Firmware-Version, Modemtyp, Plug&Play-ID anzeigen
AT+FCLASS=?: Anzeige der unterstützten Fax-Klassen (nur bei Fax-Modems)

Bedauerlicherweise dokumentieren nicht mehr alle Hersteller die bei ihren Modems implementierten Befehle im zugehörigen Handbuch (z.B. Elsa-Fun). Die meisten der obigen Befehle funktionieren aber praktisch bei allen Modems.

Außer den in der obigen Befehlsübersicht bereits erwähnten Steuer-Registern S0 und S7 gibt es noch eine Reihe weiterer, die von den meisten Herstellern unterstützt werden; darüber hinaus sind oft noch herstellerspezifische vorhanden. Die standardisierten S-Register sind:

0: Anzahl der Klingeltöne bis Rufannahme (0 = keine Rufannahme)
1: Aktuelle Anzahl der bisherigen Klingeltöne (nur lesen)
2: Code des Escaping-Zeichens (normalerweise 43 für "+")
3: Code des Return-Zeichens (normalerweise 13)
4: Code des Line-Feed-Zeichens (normalerweise 10)
5: Code des Backspace-Zeichens (normalerweise 8)
6: Maximale Wartezeit auf Wählton in Sekunden (gewöhnlich 2)
7: Maximale Wartezeit auf Herstellen der Verbindung in Sekunden
8: Anzahl der Sekunden für Wählpause
9: Mindestzeit für Träger-Erkennung vor Connect-Meldung in 0.1 s
10: Auflegeverzögerung bei Verlust der Träger-Erkennung in 0.1 s
11: Tondauer/Pausendauer in 0.01 s beim Generieren von DTMF-Tönen
12: Schutzzeit für das Escaping-Zeichen in 0.02 s, meist 50 für 1 s

Da es viele Funktionen heutiger Modems bei den früheren Hayes-Geräten noch nicht gab, entstand ein gewisser Wildwuchs bei den AT-Befehlen. Deshalb sollten Sie im Zweifelsfall das jeweilige Modem-Handbuch zu Rate ziehen. Das gilt auch für die sogenannten S-Register (z.B. das für die automatische Rufannahme zuständige Register S0). Allerdings werden Sie bei den meisten moderneren Modems keine speziellen Einstellungen vornehmen müssen, da die Farbrikeinstellung (AT&F) gewöhnlich die sinnvollste Konfiguration darstellt. Typische Modem-Meldungen sind:

RING: Ankommender Ruf (Klingeln)
BUSY: Die Gegenstelle ist besetzt (nach AT D)
NO DIALTONE: Wahl abgebrochen, kein Amts-Wählton (Dauerton) zu hören
CONNECT xxx: Verbindung besteht, xxx=Bitrate (nach ATD oder bei ank. Ruf)
NO CARRIER: Die Verbindung kam nicht zustande oder wurde getrennt
ERROR: Die eingegebene Kommandozeile war fehlerhaft
OK: Die eingegebenen Kommandos wurden abgearbeitet

Die nach CONNECT gemeldete Bitrate ist nicht unbedingt immer die wirkliche Übertragungs-Geschwindigkeit. Manche Modems zeigen hier lediglich die Schnittstellen-Bitrate an, lassen sich aber über herstellerspezifische AT-Befehle meist auch so umkonfigurieren, dass die tatsächliche Bitrate und die Art der Verbindung (MNP, V.42) angezeigt wird. ISDN-Modems melden je nach Konfiguration hinter RING oft auch die Nummer des Anrufers.

Um AT-Befehle manuell einzugeben, benötigen Sie ein Terminal-Programm wie z.B. die Freeware ShamCom von Shamrock Software. Sie können eine kostenlose Version davon aus dem Internet laden; es eignet sich außer für Modems auch für GSM- und ISDN-Verbindungen.

Viele Modems eignen sich auch zum Fax-Versand und -Empfang. Dafür wurden vom CCITT zwei unterschiedliche Fax-Befehlsklassen standardisiert. Die ältere Class 1 überlässt einen großen Teil der Arbeit der Software im PC. Class-2-Faxmodems besitzen eine höhere Eigenintelligenz, so dass die Kommunikation zwischen PC und Modem weniger Befehlsschritte umfasst und dadurch speziell bei Multitasking-Umgebungen wie Windows auch zeitunkritischer ist. Welche Fax-Klassen ein Modem unterstützt, kann man mit AT+FCLASS=? abfragen.

Wie schon oben erwähnt, muss man bei herkömmlichen Telefonleitungen immer mit Störgeräuschen rechnen, die zu "umgekippten Bits" führen. Der Modem-Hersteller Microcom hat mit dem "Microcom Networking Protocol" (MNP) ein im Laufe der Jahre immer mehr verfeinertes Verfahren entwickelt, Übertragungsfehler im Modem automatisch zu erkennen und durch Wiederholung des fehlerhaften Datenblocks auch zu korrigieren (MNP4 bzw. LAP = Link Access Protocol).

Zusätzlich wurde die Netto-Datenrate durch Kompression der vom PC angelieferten Daten durch Kompression spürbar erhöht - etwa bis auf das Doppelte (MNP5; bei bereits komprimierten Dateien, z.B. ZIP, funktioniert das natürlich nicht).

Das Telekommunikations-Normungsgremium CCITT hat schließlich mit V.42 (entsprechend MNP4) und V.42bis (funktional ähnlich MNP5, aber nicht kompatibel dazu) Industrie-Standards für Fehlerkorrektur und Datenkompression geschaffen, die man heute in praktisch allen Modems vorfindet. MNP5 benutzt zur Kompression eine dynamisch ermittelte Huffman-Tabelle mit Zeichenhäufigkeiten und überträgt so (ähnlich wie im Morsealphabet) das in Textdateien häufiger auftretende "e" mit weniger Bits als ein "x". Das Lempel-Ziv-Verfahren von V.42bis prüft dagegen, ob sich Zeichenfolgen im Text wiederholen, und überträgt statt des erneuten Auftretens der Folge einfach einen relativen Verweis auf ihre vorherige Position.

Bei Modems ab der V.92-Generation wird mit dem ITU-Algorithmus V.44 ein V.42bis-Nachfolger eingesetzt, der eine um bis zu 25 % bessere Kompression ermöglicht (6:1 bei typischen Web-Seiten). Dies macht jedoch nur bei USB-Modems o.ä. Sinn, da eine normale serielle Schnittstelle (max. 115200 bit/s) die dann auftretende Netto-Datenrate von 300 kbit/s und mehr nicht bewältigt.

MNP5-, V.42bis- und V.44-Modems besitzen einen erweiterten Befehlssatz, mit dem sich festlegen lässt, ob der Fehlerkorrektur-Mechanismus und die Datenkompression benutzt wird. Typisch und sinnvoll sind folgende Befehle für Fehlerkorrektur und Kompression:

AT \N6: Es wird erst V.42, dann MNP versucht (\N4=nur V.42)
AT \J0: Rechnerseitige Bitrate unabhängig von der Modem-Bitrate
AT %C1: Datenkompression ein (nur bei V.42/MNP möglich; 0=aus)
AT &K3 oder \Q3: Aktiviert RTS/CTS-Hardware-Handshake (Flusskontrolle)

Um die Datenkompression des Modems nutzen zu können, muss die am Computer eingestellte Schnittstellen-Geschwindigkeit mindestens doppelt so hoch wie die telefonseite Übertragungsrate sein. Beispielsweise sollte man für ein 28800-bit/s-Modem 57600 oder 115200 Baud bzw. bit/s in der PC-Applikation einstellen. Das ist aber auch bei ausgeschalteter Kompression bereits sinnvoll, denn auf der Telefonstrecke benutzt das Modem meist ein synchrones Verfahren ohne die bei der asynchronen V.24-Schnittstelle nötigen Start- und Stopbits, so dass die V.24-Schnittstelle auf jeden Fall eine höhere Bitrate als die Modem-Geschwindigkeit aufweisen sollte.

Auf keinen Fall sollte man versuchen, im PC dieselbe Bitrate wie die Modem-Übertragungsrate einzustellen. Selbst wenn die DFÜ-Applikation 14400 oder 28800 bit/s als Schnittstellen-Geschwindigkeit anbietet, ist dies keine Standard-V.24-Bitrate, und viele Modems arbeiten damit nicht korrekt. Übliche Geschwindigkeiten sind 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 und 115200 bit/s.

Statusanzeigen

Auf der Vorderseite externer Modems findet man gewöhnlich eine Reihe von LED-Anzeigen (light emitting diodes, kleine Lämpchen), mit denen sich der Status des Modems und einiger Schnittstellen-Leitungen auf einen Blick überprüfen lässt. Die folgende Tabelle nennt typische Bezeichnungen, wobei je nach Hersteller kleine Abweichungen möglich sind.

Anzeigelampe Bedeutung V.24
MR
TR
CD
RD
TD
AA
OH
HS
Modem Ready
Terminal Ready
Carrier Detect
Receive Data
Transmit Data
Auto Answer
Off Hook
High Speed
Modem bereit
Computer bereit
Verbindung besteht
Empfangene Daten
Gesendete Daten
Aut. Rufannahme
Telefonleitung aktiv
Hohe Geschw.
DSR
DTR
DCD
RXD
TXD
-
-
-

Mit diesen Statusanzeigen, die übrigens ein großer Vorteil externer gegenüber internen Modems sind, lassen sich zusammen mit dem oft eingebauten Lautsprecher eventuelle Probleme schnell diagnostizieren. Einige Beispiele:

Die V.24-Schnittstelle

Externe Modems, aber auch externe ISDN- und GSM-Adapter, werden gewöhnlich über die serielle Schnittstelle mit dem PC verbunden, auch COM-Port (communication port) genannt. Diese ist vom CCITT in seiner V.24-Norm ursprünglich als 25polige Schnittstelle standardisiert worden. In den USA gibt es eine nationale gleichwertige Norm als RS232. Viele PCs besitzen allerdings keinen DB25-, sondern einen neunpoligen DB9-Stecker. Das entspricht zwar nicht der CCITT-Norm, reicht aber für asynchrone Schnittstellen aus, da auch eine neunpolige Buchse alle erforderlichen Leitungen zur Verfügung stellt.

DB25-Stecker

13
25
o o o o o o o o o o o o o
o o o o o o o o o o o o
1
14

DB9-Stecker

(Lötseite der
Steckerstifte)
5
9
o o o o o
o o o o
1
6

Wenn man ein Adapter-Kabel herstellen möchte, das am einen Ende eine neunpolige Kupplung und am anderen Ende einen 25poligen Stecker besitzt, z.B. für ein Modem, dann sind folgende Verbindungen nötig:Adapter

Signal DB9 DB25 PC Bedeutung
DCD
RXD
TXD
DTR
GND
DSR
RTS
CTS
RI
1
2
3
4
5
6
7
8
9
8
3
2
20
7
6
4
5
22
<
<
>
>
-
<
>
<
<
Data Carrier Detect
Receive Data
Transmit Data
Data Terminal Ready
Ground
Data Set Ready
Ready To Send
Clear to Send
Ring Indicator

Bei den Steuerleitungen DCD, DTR, DSR, RTS, CTS und RI wird der inaktive Zustand (0) durch eine Spannung von -15...-3 V dargestellt, der aktive Zustand (1) dagegen durch +3...+15 V. Bei den Datenleitungen RXD und TXD ist die Spannungslage umgekehrt; sie liegen im Ruhezustand (1) auf negativem Pegel. Am COM-Port eines PC werden im Leerlauf typisch etwa +/- 10 V erreicht, bei Laptops manchmal etwas weniger.

Möchte man zwei Computer direkt miteinander verbinden, so ist ein sogenanntes Nullmodem nötig - das ist schlicht ein Kabel, bei dem RXD-TXD, DTR-DSR sowie RTS-CTS miteinander vertauscht sind und das GND durchschleift..

Eine Datenübertragungs-Applikation legt nach dem Start Leitungen DTR und RTS auf 1 (+12 V) und zeigt dem Modem damit ihre Funktionsbereitschaft an. Da das Modem die Daten aber eventuell nicht so schnell senden kann, wie sie die Applikation sendet, legt es die CTS-Leitung auf 0 (-12 V), wenn es gerade keine weiteren Daten vom PC entgegennehmen kann, und dann wieder auf 1. Umgekehrt kann der PC, wenn er gerade zu beschäftigt ist, die Daten vom Modem entgegenzunehmen, seine RTS-Leitung vorübergehend auf 0 legen. Dieses Verfahren nennt man RTS/CTS-Handshake oder auch Hardware-Flusskontrolle. (Ein alternatives Verfahren, das ohne Steuerleitungen auskommt, benutzt die beiden Steuerzeichen Xon/Xoff, ist aber wegen dieser zwei reservierten Codes nicht für eine Binär-Übertragung geeignet und deshalb gewöhnlich weniger sinnvoll.)

Ob eine Datenverbindung besteht, erkennt eine Applikation daran, ob die Leitung DCD aktiv ist, d.h. positives Potential führt. Um eine Verbindung zu beenden, genügt es bei den meisten Modems, die DTR-Leitung für ein oder zwei Sekunden auf negatives Potential zu legen (logisch 0). Bei externen Modems ist der Zustand dieser Leitungen meist an entsprechenden Leuchtanzeigen zu sehen. (Einige ältere Modems bedienen die Leitungen DCD, DSR und DTR nur dann gemäß CCITT-Standard, wenn sie vorher mit einem Befehl wie AT &C1 &D2 initialisiert wurden.)

Die Daten selbst werden beim COM-Port eines PC asynchron übertragen (synchrone Schnittstellen würden getrennte Taktleitungen erfordern). Das bedeutet, ein Zeichen kann zu einem beliebigen Zeitpunkt gesendet werden, und sein Anfang wird an einem Pegelwechsel von 1 auf 0 erkannt (Startbit). Dann folgen die typischerweise acht Datenbits (das niederwertigste zuerst) und - damit das folgende Startbit auch dann erkannt wird, wenn das letzte Datenbit ein 0-Bit war - ein Stopbit mit 1-Pegel. Die Dauer eines Bits ist der Kehrwert der Geschwindigkeit, also z.B. 1,04 ms bei 9600 bit/s.

Für die Übertragung eines Bytes bzw. eines 8-Bit-Zeichens inklusive Start- und Stopbit werden immer genau 10 Bits benötigt. Somit erlaubt die asynchrone V.24-Übertragung z.B. bei 9600 bit/s "nur" 960 Byte/s, während ein 9600-bit/s-Modem telefonseitig durch seine synchrone Übertragung ohne Start- und Stopbits immerhin 9600/8 = 1200 Byte/s schafft. Schon deshalb sollte man die V.24-Schnittstelle des Modems mit einer höheren Bitrate als seiner effektiven Übertragungs-Geschwindigkeit ansteuern.

Fast alle Anwendungen benutzen heute das Datenformat 8 Datenbits, 1 Stopbit. In seltenen Fällen wird mit nur sieben Datenbits gearbeitet, damit ist allerdings nur eine reine ASCII-Textübertragung möglich, kein Binär-Transfer. Zur Fehler-Erkennung wird in solchen Fällen statt des achten Datenbits manchmal auch ein Paritätsbit gesendet, das 1 ist, wenn die Summe der sieben verbleibenden Datenbits ungerade war (odd parity). Seltener wird eine "even parity" verwendet: Das Paritätsbit ist hier 1, wenn die Datenbit-Summe einen geraden Wert ergibt. Da heute aber meist effizientere Fehlerkorrektur-Verfahren mit blockweiser CRC-Prüfsumme (Cyclic Redundancy Check) und automatischer Block-Wiederholung benutzt werden, ist das Paritätsverfahren aus der Mode gekommen.

Die COM-Ports von PCs unterstützen gewöhnlich Geschwindigkeiten bis zu 115.200 bit/s bzw. Baud. Dieser Maximalwert ergibt sich aus dem Quarz-Takt von 1,8432 MHz in Verbindung mit dem Frequenzteiler im Schnittstellenbaustein, dessen Mindest-Teilungsverhältnis 16 beträgt. Um das Betriebssystem bzw. die Schnittstellen-Treiberprogramme zu entlasten, besitzen moderne COM-Port-Chips wie der 16550 einen eingebauten, 16 Byte großen FIFO-Puffer (First in, First out). Dadurch muss nicht mehr bei jedem einzelnen empfangenen Zeichen ein Interrupt ausgelöst werden, sondern wesentlich seltener. Ältere Bausteine wie die Typen 8250 und 16450 besitzen noch keinen Pufferspeicher und führen deshalb speziell unter Windows zu Problemen bei hohen Baudraten.

Aber auch die Kabellänge reduziert die maximal nutzbare Geschwindigkeit: Mit einem 10 m langen V.24-Kabel sind erfahrungsgemäß höchstens 38400 bit/s nutzbar, bei 5 m Länge 57600 bit/s. Für 115200 bit/s sollte das Kabel nicht länger als 2 m sein, da die unvermeidliche Eigenkapazität der Adern die Rechteck-Impulse sonst zu stark verformt.

Ein PC kann auch virtuelle COM-Ports besitzen. Das sind serielle Schnittstellen, die durch Treiber-Programme nur simuliert werden, aber nicht physikalisch vorhanden sind. Unter DOS gab es dafür den von IBM definierten INT-14H-Standard, der über den Software-Interrupt 14 hex einige API-Funktionen zur Verfügung stellt (Application Program Interface). Unter Windows erfüllen diese Aufgabe VxD-Treiber, beispielsweise der CapiPort-Treiber von AVM, indem er sich in die COM-API von Windows einklinkt.

Sicherer Datentransfer

Bei normalen Telefonleitungen sind falsch übertragene Daten nie ganz auszuschließen. Selbst bei Verwendung fehlerkorrigierender Modems (MNP, V.42) können immer noch auf der Modem-Zuleitung Bits verfälscht werden, oder die serielle Schnittstelle kann Zeichen verlieren, z.B. weil die CPU die Daten nicht schnell genug aus dem Schnittstellen-Chip ausliest.

Um dennoch einen unverfälschten Transfer z.B. von Dateien zu gewährleisten, sind schon frühzeitig bei der Modem-Übertragung fehlerkorrigierende Protokolle eingeführt worden. Sie basieren gewöhnlich darauf, die zu übertragenden Daten in Blöcke (Pakete) aufzuteilen. Jeder Block wird mit einer Prüfsumme der Daten versehen, so dass der Empfänger feststellen kann, ob das Paket fehlerfrei ankam. Er wird dann den Erhalt dem Absender bestätigen, und letzterer fährt mit dem Senden fort. Wenn eine negative Bestätigung eintrifft oder der Empfänger einige Sekunden lang überhaupt keine Rückmeldung mehr liefert, wird der Block einfach erneut gesendet. Folgende Verfahren haben sich im Lauf der Zeit eingebürgert:

Beim ursprünglichen Xmodem-Protokoll entstehen deutliche Pausen im Datenfluss, weil der jeweils nächste Datenblock erst gesendet wird, wenn eine Bestätigung für den vorherigen eingetroffen ist. Bei MNP- oder V.42-Modems wird dieser Effekt sogar noch verstärkt, da solche Modems einen Datenblock erst weitergeben, sobald ihr eigener Blockpuffer voll ist oder einige Millisekunden keine neuen Daten vom PC kamen (ACK = Acknowledge = Bestätigung vom Empfänger):

Paket 1 >     Paket 2 >     Paket 3 >
  <ACK1   <ACK2  

Bei Zmodem und Enhanced Ymodem wird der nächste Block dagegen schon im voraus gesendet, ohne die Bestätigung für den vorherigen abzuwarten; dadurch werden Pausen vermieden und die Daten in kürzerer Zeit übertragen:

Paket 1 > Paket 2 > Paket 3 >
    <ACK1     <ACK2  

Die Anzahl der Pakete, die ohne Abwarten einer Bestätigung gesendet werden, bezeichnet man auch als "Fenstergröße" (englisch Window Size). Sie ist bei Xmodem und beim herkömmlichen Ymodem 1, bei Enhanced Ymodem 2 und bei Zmodem meist einstellbar. Ab einer Fenstergröße von 2 kann auch bei merklichen Übertragungs-Laufzeiten ein lückenloser Datenstrom gewährleistet werden. Bei sehr schlechten Verbindungen können kleine Datenpakete zusammen mit einer größeren Window Size für eine Verbesserung im Fehlerkorrektur-Verhalten sorgen.

Mit der Verbreitung des Internet spielten Mailbox-Dienste nur noch eine untergeordnete Rolle, und die hier genannten Protokolle und ihre Abarten werden nur noch für spezielle Anwendungen eingesetzt, zum Beispiel für den Punkt-zu-Punkt-Transfer zwischen zwei Computern via Modem, ISDN oder Satellit. So benutzt etwa das Programm SkyFile von Shamrock Software ein Enhanced-Ymodem-ähnliches, bidirektionales Verfahren und erreicht damit auch bei Satellitenverbindungen einen optimalen Datendurchsatz.

Das z.B. vom Windows-DFÜ-Netzwerk für den Internet-Zugang verwendete PPP-Verfahren arbeitet wie Zmodem und Enhanced Ymodem mit einer Fenstergröße von mehr als 1, und die Paketlänge kann dem verwendeten Übertragungsverfahren angepasst werden (Modem, ISDN, ADSL). Bei X.25-Netzen wie Datex-P, bei ISDN-X.75 sowie bei der modem-internen Fehlerkorrektur MNP/V.42 wird gewöhnlich 7 als Fenstergröße benutzt, um auch bei langen Antwortzeiten oder kurzen Paketlängen Pausen im Datenstrom zu vermeiden.


© Shamrock Software GmbH