Lokale Netze und verteilte Rechnersysteme:

Server/Client-Konzept versus symmetrischer LAN-Ausbau

15.03.1985

Auf dem Gebiet der lokalen Netze (Local Area Network, LAN) gibt es auch bei vielen Datenverarbeitungsfachleuten immer noch erhebliche Begriffsverwirrungen: So wird zum Beispiel lange darüber diskutiert, ob ein Netz auf Basis von Ethernet oder alternativ auf Basis von DECnet realisiert werden soll - natürlich kann Ethernet mit oder ohne DECnet und DECnet mit oder ohne Ethernet betrieben werden. Zusätzliche Verwirrung entsteht, wenn noch die verteilten Rechnersysteme und ihre Integration in die LANs hinzukommen. In diesem Beitrag wird versucht, einige dieser Begriffe zu veranschaulichen und die Rolle der lokalen Netze in verteilten Rechnersystemen darzustellen.

Es fällt schwer, heute noch über Kommunikation zu schreiben, ohne auf das ISO-Schichtenmodell Bezug zu nehmen. Die unteren vier Schichten dienen zum Transport von Nachrichten zwischen Prozessen, wobei ein Prozeß entweder ein Rechenprozeß in einem Rechnersystem oder beispielsweise ein Terminalprozeß sein kann, mit welchem der Anwender in Kommunikation tritt.

Das Transportsystem ist durch eine geeignete Kombination von Hardware (Übertragungsmedium, Coder/Decoder, zum Beispiel Ethernet Chip) und Software (Protokollsoftware) implementiert und ermöglicht jeden Prozeß in jedem Rechnerknoten am lokalen Netz,

- Verbindungen zu beliebigen anderen Prozessen auf- beziehungsweise abzubauen und

- Nachrichten in beiden Richtungen auszutauschen.

Damit könnten eigentlich alle Teilnehmer am lokalen Netz beliebig Daten austauschen - falls sie dieselbe Präsentation ihrer Daten wählen und falls auch gegenseitig die Aufträge verstanden werden, die mit der Übermittlung der Daten auf der anderen Seite ausgeführt werden sollen. So lange der Anwender nur das Transportsystem zur Verfügung hat, muß er selbst Aufträge und Daten zusammenstellen und - durch individuelle Programmierung - sicherstellen, daß diese auch auf der anderen Seite verstanden und richtig interpretiert werden.

Homogene verteilte Systeme

Eine besondere Situation besteht, wenn alle Rechner im lokalen Netz identisch sind - wenn sie also per Definition dieselbe Art der Datendarstellung und der Auftragscodierung haben. Dann handelt es sich um ein homogenes verteiltes System.

Beispiel für ein solches System ist die Newcastle-Connection, wie sie für die Kopplung der Cadmus-Rechner von PCS eingesetzt wird. Die Grafik zeigt die Struktur dieses Systems:

- Zwischen die Anwendungsprozesse und das Betriebssystem Munix (das von PCS implementierte Unix-System) ist eine zusätzliche Softwareschicht eingefügt, die sogenannte RPC-Schicht (Remote Procedure Call).

- Systemaufrufe aus den Anwenderprozessen werden in dieser RPC-Schicht daraufhin analysiert, ob sie einen Dienst des lokalen Betriebssystems in Anspruch nehmen oder den Dienst eines entfernten Rechnersystems (zum Beispiel einen Zugriff auf eine Platte oder ein anderes Peripheriegerät).

- Lokale Aufrufe werden an das lokale Munix-System weitergegeben, die anderen werden in Form des RPC

über das Kommunikationssystem (Lokales Netz und Software) an den entsprechenden ausführenden Knoten weitergeleitet. Das Transportsystem des LAN wird also zur Übermittlung dieses Auftrages herangezogen (für Aufträge und Daten).

- In dem entfernten Rechnersystem wird dann dieser Betriebssystemaufruf ausgeführt, die Rückmeldung beziehungsweise die erarbeiteten Daten werden über das Kommunikationssystem zurückübertragen und von der RPC-Schicht an den Anwenderprozeß zurückgemeldet.

Für den Anwender transparent

Dieser ganze Vorgang bleibt für den Anwender transparent, für den Benutzer der Newcastle-Connection ist es gleichgültig, ob er den Zugriff auf einen File lokal oder einem entfernt aufgestellten Rechner (Remote) durchführt. Da im Unix-Betriebssystem auch die Peripheriegeräte als "Special Files" organisiert sind, kann auch der Zugriff zu entfernt aufgestellten Peripheriegeräten völlig transparent erfolgen. Dieses Schema ist schließlich noch um die Eigenschaft "Remote Execution" ergänzt, durch welche es dem Unix-Anwender ermöglicht wird, auch Prozesse in einem entfernt aufgestellten Rechner auszuführen.

Aus Benutzersicht paßt sich dieses verteilte System ausgezeichnet in die Unix-Systemphilosophie ein: Da das File-System hierarchisch organisiert ist und in jedem Rechnerknoten über eine Wurzel (Root) verfügt, liegt es nahe, diese Wurzeln zu einer virtuellen Super-Root zusammenzufassen und das so entstehende Gesamtsystem als ein virtuelles, verteiltes Rechnersystem zu betrachten. Über die so definierbaren Zugriffspfade sind dann logisch (ohne zusätzliche Systemaufrufe) alle Ressourcen im Netz für alle (berechtigten) Teilnehmer zugänglich.

Besonders interessant am Prinzip der Newcastle-Connection ist es, daß nicht nur die Cadmus-Rechner von PCS in das lokale Netz homogen eingebunden werden können: Vielmehr können im Prinzip beliebige Unix-Systeme zu einem einheitlichen, verteilten System zusammengebunden werden. Die Newcastle-Connection kann also beispielsweise um eine VAX, eine PDP 11 oder andere Rechner ergänzt werden, soweit diese unter Unix-Betriebssystemen laufen. Bei der Newcastle-Connection ist das sogenannte Anwendungssystem - die oberen drei Schichten des ISO-Modells - durch das Betriebssystem Unix (seine Systemaufrufe, seine interne Datenrepräsentation) vorgegeben. Da alle Unix-Systeme sich implizit an diese Regelungen halten, benötigen die höheren Protokollschichten keine spezielle Implementierung.

Wesentlich komplexer wird diese Aufgabe, wenn unterschiedliche Rechnersysteme mit unterschiedlichen Betriebssystemen in einem lokalen Netz zusammengekoppelt werden sollen. In diesem Fall muß auch das Anwendersystem des ISO-Modells explizit implementiert werden:

- die Schicht fünf (Session-Layer), in welcher alle Funktionen der Auftragssteuerung zusammengefaßt sind und die dafür sorgt, daß Aufträge eines Rechnersystems auch in jedem anderen Knoten verstanden werden können.

- Die Schicht sechs (Presentation Layer), durch welche die interne Datendarstellung aller einfachen und komplexen Datenstrukturen geregelt wird. Da es unmöglich ist, auf dieser Schicht alle nur denkbaren Datenstrukturen a priori zu standardisieren, wird hier ein Verfahren vorgezogen, nach welchem sich zwei Kommunikationspartner vor dem Eintritt in die eigentliche Kommunikationsphase auf eine gemeinsame Darstellungsform einigen.

- Die Schicht sieben (Application-Layer), in welcher für unterschiedliche Anwendungsgebiete spezielle Application-Protokolle definiert sind. Damit beispielsweise zwei Textsysteme miteinander Dokumente austauschen können, müssen auch alle Formatsteuerzeichen und in Zukunft auch die Beschreibung der integrierten Grafik zueinander kompatibel sein.

Für verschiedene Teile dieser drei Schichten gibt es bereits Protokollvorschläge für die Standardisierung. Dennoch wird es voraussichtlich noch viele Jahre dauern, bis die herstellerspezifischen Netze und die dort definierten Protokolle durch die standardisierten ISO-Protokolle ersetzt werden können: In diese Netzkonzepte wurde sowohl beim Hersteller als auch bei den Anwendern zuviel investiert, als daß hier ein kurzfristiger Wechsel möglich wäre.

Leider gibt es - gerade in den USA - Ad-hoc-Standards, welche von immer mehr Herstellern angeboten und unkritisch übernommen wurden. Ein Beispiel hierfür ist etwa das TCP-IP-Protokoll, welches sich im Apra-Netz gut bewährt hat. Allerdings handelt es sich dort um ein ausgedehntes Netz mit relativ geringen Datenraten: Probleme sind dann zu erwarten, wenn Teilnehmer in einem lokalen Netz über ein Gateway mit dem (viel langsameren) öffentlichen Netz in Kommunikation treten.

Zahlreiche Diskussionen

Es gibt zahlreiche Diskussionen darüber, ob die einzelnen Teilnehmer in einem lokalen Netz in Zukunft symmetrisch oder unsymmetrisch belastet werden:

- In dem "Server/Client-"Konzept, welches zuerst von der Firma Xerox eingeführt wurde, gibt es Arbeitsplatzrechner, welche für bestimmte Aufgaben sogenannte Server heranziehen. Beispiele hierfür sind etwa der File-Server, der Gateway-Server, der Print-Server oder der Computer Server. Das Gesamtsystem erhält also die Struktur eines verteilten Rechnersystems mit ungleichen (unsymmetrischen) Komponenten.

- Alternativ gibt es natürlich die Möglichkeit (wie sie etwa von den Cadmus-Rechnern unter der Newcastle-Connection realisiert ist), die einzelnen Stationen am lokalen Netz symmetrischer (gleichmäßiger) aufzubauen. Damit können zusätzliche Rechnersysteme an das Netz gehängt werden, welche jeweils mehrere Arbeitsplätze bedienen und zusätzlich um Platten und andere Peripheriegeräte ergänzt werden. Wichtig ist hier allerdings, daß alle Betriebsmittel im Netz für alle Anwender (mit der notwendigen Berechtigung) zur Verfügung stehen.

Ein Vorteil des zweiten Konzepts ist die Möglichkeit des kontinuierlichen Systemausbaus: Sollte einmal die Leistung des Rechnersystems den steigenden Anforderungen nicht mehr genügen, dann kann einfach ein weiterer Rechnerknoten in das Netz eingehängt werden und die Kapazität des Gesamtsystems ist entsprechend erweitert (zusätzliche Bedienkapazität für Terminals, Plattenspeicher, Peripherie etc.). Dieser modulare Ausbau eines Rechnersystems durch das Anfügen zusätzlicher Knoten an ein lokales Netz gibt dem Anwender die Sicherheit, nicht zu einem späteren Zeitpunkt an der Kapazität seines Systems anzustoßen - das Rechnersystem wächst mit den Anforderungen, ohne daß früher getätigte Investitionen überflüssig werden.

*Bernd Wiemann ist Assistent der Geschäftsleitung der PCS Periphere Computer Systeme

GmbH, München.