Computerkommunikation

Das Internet ist heute allgegenwärtig! Professionelles Arbeiten ohne Internet ist in vielen Bereichen gar nicht mehr möglich. Und natürlich macht das Internet auch in der Freizeit Spass.
Wir stellen in diesem Kurs das Internet ins Zentrum. Wir wollen uns aber höchstens am Rande mit den Dingen befassen, die den Anwender im Alltag interessieren. Das Ziel ist, hinter die Kulissen zu schauen und verstehen zu lernen, wie das Internet funktioniert. Wir werden dabei grundlegende Mechanismen und Prinzipien antreffen, die für die Kommunikation zwischen Computern allgemein eine grosse Bedeutung haben.

Internet

Wir beginnen mit einer einfach verständlichen Übersicht. Dabei werden Begriffe wie Schichtenmodell, Protokoll, Service, Verbindung, Router etc. geklärt.

In einem anschliessenden Teil wird spezifisch auf die Anwendungsschicht eingegangen. Es handelt sich um den Teil, wo die vielen mächtigen Applikationen wie World Wide Web, E-Mail etc. aber auch solche, die weniger offensichtlich täglich wahrgenommen werden, wie verteilte Datenbanksysteme, vernetzte Steuerungen etc. angesiedelt sind. Es wird das Client-Server Modell vorgestellt und grossen Wert auf die Programmierung verteilter Applikationsbeispiele gelegt. Wir werden einen eigenen Web-Server, der sogar dynamische Webseiten unterstützt, wie auch einen Mail-Client programmieren.

Bei der Behandlung der Anwendungsschicht werden wir feststellen, dass verteilte Applikationen ähnliche Dienstanforderungen haben oder anders ausgedrückt, dass es viel einfacher ist, verteilte Applikationen zu programmieren, wenn Dienste wie Remote Procedure Call (RPC) oder Remote Method Invocation (RMI) zur Verfügung stehen würden. Kurz gesagt kann man mit RMI Methoden eines entfernten Objekts (remote object), welches auf einer anderen Maschine lokalisiert ist, nach einem gewissen Initialisierungsaufwand genau so einfach benutzen, wie solche lokaler Objekte. Die erwähnten Dienste fasst man heute unter dem Begriff Middleware zusammen. Auch in diesem Teil werden wir selbst Programmbeispiele entwickeln.

Natürlich beschränken wir uns nicht allein auf die Applikationsschicht. Wir behandeln auch alle unteren Schichten des Internet. Ganz tief unten geht es dort um Fragen, wie Bits über ein Medium (Draht, Glasfasern, Funkäther) übertragen werden können, wie der Zugriff mehrerer Stationen auf ein gemeinsames Medium geregelt wird, wie verhindert werden kann, dass ein Sender einen Empfänger mit Daten überflutet. Nebst allgemein gültigen Verfahren werden wir u.a. auf Ethernet eingehen, welches heute die dominierende drahtgebundene Netztechnologie ist. Weiter oben wenden wir uns dem Routing zu, klären, was ein Router, ein Switch ist oder was unter NAT zu verstehen ist, etc. etc. Schliesslich studieren wir auch die recht komplexe Funktionsweise des Transmission Control Protocols TCP.

Drahtlose und mobile Kommunikation

Dem heutigen Trend zu mobiler, drahtloser Kommunikation folgend, werden wir mobile Kommunikation speziell betrachten. Es beginnt damit, dass die spezifischen Eigenschaften des "Äthers" studiert werden und geeignete Übertragungsverfahren behandelt werden. Konkret werden wir auf GSM (Natel), GPRS, UMTS sowie WLAN und Bluetooth eingehen und diese interessanten Systeme kennen lernen.