Verbindungen von Rechnern und dazugehörige Dienstprogramme -
Werner Cirsovius

1.Direkte Verbindung.

Besitzt man zwei Rechner mit unterschiedlichen, nicht kompatiblen Laufwerken (z.B. ein PCW Besitzer, der auf eine MS-DOS Maschine umgestiegen ist), so kann man dennoch Dateien von der einen zur anderen Maschine kopieren, wenn man eine serielle Schnittstelle besitzt (Bei MS-DOS ist eine solche Schnittstelle vorhanden, beim PCW benötigt man dieses Teil als Zubehör). Auf der einen Maschine muß dann die Sendeleitung (TxD) mit der Empfangsleitung (RxD) der jeweils anderen Maschine verbunden werden. Die Signale der Schnittstelle können also nicht 1:1 verbunden werden, die Signale TxD und RxD müßen "gedreht" werden. Zwischen beiden Rechnern muß es eine Übereinstimmung geben über bestimmte Parameter, z.B. die Geschwindigkeit der Übertragung (gemessen in "Bits pro Sekunde" = Baud Rate). Außerdem wird ein Programm benötigt, das diese Schnittstelle sinnvoll bedient.

2.Externe Verbindung.

Meistens hat man nur einen Rechner, mit dem Kontakt aufgenommen werden soll mit einem anderen Rechner, der ganz woanders steht. Da die meisten Haushalte ein Telefon besitzen, das wiederum mit dem Rest der Welt verbunden ist, bietet sich eine Verdindung über diese öffentlichen Leitungen an. Allerdings sind diese Leitungen ausgelegt für Sprechverkehr, d.h. für relativ tiefe Frequenzen. Es muß deshalb eine Anpassung an die Datenleitung eines Rechners erfolgen. Zu sendende Daten müßen MOduliert, empfangene Daten DE-Moduliert werden, also wird ein Akustik-Koppler (AK) oder MODEM benötigt. Ein AK und MODEM ordnen den Sende- und Empfangsdaten eine jeweils unterschiedliche Frequenz zu.

Der Unterschied zwischen AK und MODEM liegt in der Handhabung.

Akustik-Koppler

Ein AK wird aktiviert, indem der Telefonhörer auf dieses Gerät gelegt wird. Dann wird am Telefon die Nummer des entfernten Rechners gewählt. Meldet sich die Gegenseite, so geschieht dies durch das Aussenden eines Tones konstanter Frequenz, dem sogenannten Träger (CARRIER). Der AK synchronisiert sich und die Kommunikation kann beginnen.

MODEM

Ein MODEM ist eher zu vergleichen mit einem Anrufbeantworter. Empfängt das MODEM den Träger und steht im Zustand "ANSWER" (s.u.), dann kommt eine Verbindung zustande, ähnlich wie bei einem Anrufbeantworter. Verbindungen in die Außenwelt werden prinzipiell wie beim AK beschrieben ablaufen. Da aber im MODEM "ein Telefon drin ist" erfolgt der Verbindungsaufbau mit einer MODEM-Kontrollsprache. Das bedeutet, daß Befehle vom Rechner das MODEM steuern, bis eine Verbindung hergestellt ist. Die dann abgeschickten Befehle vom Rechner werden nun "transparent" durch das MODEM hindurch zum Zielsystem geschickt. Erst nach dem Abbau der Verbindung wirken Befehle wieder auf das MODEM.

Ähnlich wie bei der Signaldrehung oben beschrieben, muß auch hier eine Drehung erfolgen. Was bei dem einen MODEM die Sendefrequenz ist, muß bei dem anderen MODEM die Empfangsfrequenz sein und umgekehrt. Hierfür stellt man normalerweise das anrufende MODEM in den sog. Zustand "Originate" und das anzurufende MODEM (z.B. eine MailBox) in den Zustand "Answer".

Neben diesen Einstellungen am MODEM ist es noch wichtig, daß, wie oben angedeutet, die Schnittstellen beider Rechner gleich eingestellt sind:

-Baud-RateDie Geschwindigkeit der Schnittstelle
(Typischerweise 1200 oder 2400 Bd)
-ParitätArt der Prüfung der Daten
(Meistens "Keine")
-Anzahl zu sendender BitsAnzahl der Bits
(Meistens 8)
-Anzahl Stop-BitsMechanismus zur Synchronisation
(Meistens 1)

Die amerikanische Firma HAYES hat frühzeitig mit dem Bau von MODEMs begonnen und eine Kontrollsprache (sog. AT Befehle, von ATtention) entwickelt, die de facto zu einem Standard geworden ist. Dies bedeutet, daß die meisten auf dem Markt befindlichen MODEMs HAYES kompatibel sind.

Nach dieser kurzen Übersicht als Beispiel der Ablauf einer Einwahl in eine Mailbox:
                      (Originate)       (Answer)
                +++++  MODEM     { }      MODEM /++++++
               (    |--[]-------{   }-------[]--/     /
               (    |            { }            /++++++
                +++++             ^
            /===            Telefonleitung
                  ^                               ^
  PC mit Tastatur, Bildschirm,                  Mailbox
  Drucker, Speichermedium (Disk)             (oder Rechner)
  und serieller Schnittstelle
Der Ablauf ist dann wie folgt:

Es wird auf dem PC ein Programm gestartet, das diesen quasi in ein Terminal verwandelt. Einfach gesprochen werden alle Daten von der Tastatur auf die serielle Schnittstelle (und zum MODEM) ausgegeben und alle Daten von der seriellen Schnittstelle (vom MODEM) auf den Bildschirm.

Mit speziellen Befehlen lässt sich z.B. das MODEM ansprechen, das seinerseits über die öffentliche Telefonleitung eine Verbindung aufbaut zum MODEM der Mailbox.

Die Mailbox ihrerseits antwortet auf die Verbindung, schickt also Daten zurück und der Dialog kann beginnen.

Aufgrund der zusätzlichen Peripherie (Drucker und Disk) lassen sich Daten mitprotokollieren oder aber abspeichern.

Das einfache Abspeichern von Daten, parallel zur Ausgabe auf den Bildschirm, kann Probleme machen, wenn eine Leitung z.B. gestört ist. Dann können Daten verloren gehen. Binäre Daten, z.B. die unter CP/M die ausführbaren .COM Dateien, können sowieso nicht auf dem Bildschirm ausgegeben werden, aber gerade bei diesen Dateien kommt es besonders darauf an, daß die Daten 100% richtig sind.

Für diesen Fall wurden Protokolle entwickelt, um eine fehlerfreie Übertragung zu gewährleisten. Solche Protokolle beinhalten Mechanismen, die erkennen, ob eine Übertragung korrekt erfolgte. Falls Daten fehlerhaft sind, wird in der Regel versucht, diese Daten erneut zu übertragen. Bei zu vielen Fehlern wird dann allerdings die Übertragung abgebrochen.

1978 entwickelte einer der Pioniere, Ward Christensen, das sogenannte XMODEM Protokoll. Dieses Protokoll lehnte sich sehr stark an die CP/M Umgebung an, d.h. Dateien wurden in Blöcken, die den Rekords in CP/M entsprachen, von einer festen Länge mit 128 Bytes übertragen.

Dieses Protokoll wurde im Laufe der Jahre weiterentwickelt:
-Die Blocklängen wurden vergrössert (auf 1024 und mehr)
-Bei Fehlern auf der Leitung wird automatisch auf kleinere Blocklängen geschaltet
-Mehrfach Dateitransfer ist möglich. Beim XMODEM musste noch für jede Übertragung sowohl auf dem Sender als auch auf dem Empfänger ein Befehl pro Datei abgesetzt werden.
In Anlehnung an das Originalprotokoll nennen sich diese neuen Protokolle YMODEM und ZMODEM, manchmal auch in Variationen, z.B. YMODEM BATCH oder YMODEM 1K.

Neben den xMODEM Protokollen ist ein anderes Protokoll entwickelt worden, das sich auszeichnet durch eine Vielzahl von Parametereinstellungen und damit sehr flexibel ist. Neben den Datenpaketen für die Übertragung gibt es weitere Pakete, z.B. für die Übermittlung des Dateinamens. Dies ist das KERMIT Protokoll.

Während die xMODEM Protokolle in der Umgebung von Mailboxes (BBS Systeme, Base Bulletin Boards) eingesetzt wurden, hat sich KERMIT z.B. an Rechenzentren im Hochschulbereich durchgesetzt. Aus diesem Grund gibt es KERMIT Programme für verschiedenste Rechnerhersteller, z.B. DEC, SUN usw.

Einige Mailboxsystem stellen sowohl KERMIT als auch ein oder mehrere xMODEM Protokolle zur Verfügung.

Normalerweise benötigt man zunächst nur einen Terminalemulator, um mit einer Mailbox kommunizieren zu können. Hier ist z.B. das Programm MAIL232 gut geeignet, da es speziell für den PCW entwickelt wurde. Leider besitzt MAIL232 ein eigenes Protokoll (ein Mittelding zwischen KERMIT und xMODEM), so daß nur PCWs gesicherte Daten untereinander austauschen können.

Will man Daten gesichert übertragen, so muss ein Programm gewählt werden, welches das Protokoll der jeweiligen Mailbox unterstützt.

Ein ganz großes Problem unter CP/M ist, daß dieses Betriebssystem standardmäßig keine serielle Schnittstelle unterstützt. Dies bedeutet, daß für jeden CP/M Rechner eigene Geräte-Treiber geschrieben werden müssen. Danach wird das entsprechende Anwendungsprogramm verknüpft mit diesem Treiber.

3.Kommunikationsprogramme.

Wie bereits oben angedeutet, existiert bei der Kommunikation ein Sender und ein Empfänger. Im einfachsten Fall ist der Sender kein Rechner sondern ein simples Terminal. Vom Empfänger wird erwartet, daß dieser auf den Sender reagiert. Auf der Empfängerseite sind deshalb recht ausgeklügelte Programme installiert.

Die beigefügte Übersicht über vorhandene Programme erhebt nicht den Anspruch der Vollständigkeit.

Kategorie 1: Terminalemulatoren

Im einfachsten Fall sind zwei Terminals verbunden. Entweder direkt, also mit gedrehten TxD und RxD, über AKs oder MODEMs, dann mit den unterschiedlichen Frequenzeinstellungen (Originate/Answer). Damit das funktioniert, müssen schon zwei Anwender an den Terminals sitzen. Der Sender startet die Kommunikation durch Anwahl der Telefonnummer des Empfängers. Tippt jetzt der Sender ein Zeichen, so erscheint dies auf dem Bildschirm des Empfängers. Der Empfänger tippt daraufhin ein Zeichen, das auf dem Bildschirm des Senders erscheint, usw.

Zur folgenden Liste ist anzumerken, daß alle Programme Daten ohne ein Protokoll in eine Datei mitschreiben können. Ebenfalls sind alle Programme in der Lage, Daten ohne Protokoll zum entfernten Rechner zu schicken. Zu beachten ist, daß diese Daten "ungesichert" übertragen werden.

ProgrammProtokoll
MAIL232Intern
IMPXMODEM
ZMPX-, Y-, ZMODEM
YAMXMODEM
MODEM7XMODEM
XMODEMXMODEM
ZMODEMX-, Y-, ZMODEM
MEXX-, YMODEM
QTERMX-, YMODEM, KERMIT
KERMITKERMIT

Das Programmpaket Mini Office beinhaltet ein integriertes Kommunikationsprogramm, mit dem das XMODEM und KERMIT Protokoll unterstützt wird.

Kategorie 2: Modemzugangsprogramme

Soll die Möglichkeit bestehen, daß entfernte Benutzer auf den eigenen Rechner zugreifen, so muß hier ein Programm existieren, daß einen Zugang erlaubt. Ein entfernter Benutzer kann dann den Rechner so benutzen als säße er direkt vor dem Bildschirm, d.h. Programme können aufgerufen werden. Um Mißbrauch vorzubeugen, kann eine Zugangskontrolle aktiviert werden, so daß jeder entfernte Benutzer ein Passwort eingeben muß. Die aufgeführten Programme unterstützen jeweils nur ein globales Passwort.

BYE3Diese drei Programme sind in der Struktur ähnlich.
BYE5 
NUBYENUBYE ist das bisher neueste Programm dieser Art.

Eine Besonderheit dieser Programme ist, daß durch die Installation dem lokalen Benutzer Erweiterungen des Betriebssystems zur Verfügung gestellt werden. Jetzt ist es möglich, über neue BDOS Funktionen - z.B. zur Eingabe vom MODEM - standardisierte Programme zu entwickeln. Ein Beispiel hierfür ist das XMODEM Übertragungsprogramm KMD. Dieses Programm ist nur lauffähig, wenn eines der drei BYE Programme installiert wurde.

Kategorie 3: Mailboxprogramme

Diese Kategorie ähnelt der Kategorie 2, allerdings sind

  1. die Zugangskontrollen komplexer. Anstelle eines einzigen Passwortes wird jedem Benutzer ein eigenes Passwort zugeordnet.
  2. keine Maschinenprogramme aufrufbar sondern es werden Dienstleistungen bereitgestellt. Verschieden sog. "Bretter", die unterschiedliche Themen behandeln, können abgerufen werden, Programme können übertragen werden (Download und Upload).
Normalerweise wird eine solche Mailbox verwaltet von einem System Operator (SYSOP), der dann die entsprechenden Dienstleistungen bereitstellt.

Folgende Mailboxprogramme (BBS = Base Board Bullein) sind u.a. verfügbar:

MBBSEin Mini BBS. Es existieren mehrere Implementierungen. Eine Version benötigt das oben beschriebene Programm BYE5 (allerdings ebenfalls Mini, nämlich MBYE), ist also ein standardisiertes Programm, ähnlich KMD.
RBBS>
PBBS> Unterschiedliche Implemantationen
TURBO BBS>
ROSRemote Operating System. Ein ausgeklügeltes BBS System für TURBO PASCAL
PICSPascal Integrated Communication System. Eine Weiterentwicklung von ROS.