ETH Zurich :
Computer Science :
Pervasive Computing :
Distributed Systems :
Education :
VS WS2001/02
Vernetzte Systeme
Prof. Dr. Friedemann Mattern
Vorlesung WS 2001/02
Aktuell: Prüfung im Frühjahr 2003
Die schriftliche Vordiplomprüfung in diesem Frühjahr findet am
20. März 2003 zwischen
9:00 und 10:30 Uhr statt.
(Achtung: 90-minütige Prüfung; Änderung
gegenüber den Vorjahren, als diese noch 120 Minuten betrug.)
Für die Prüfung sind die Räume
HG F1 und
HG F7
vorgesehen; die genaue Saaleinteilung wird am Prüfungstag an den
Sälen ausgehängt sein.
Zur Prüfung sind keine Hilfsmittel zugelassen.
Zeit und Ort:
Mittwoch 15:00-17:00, HG E7
Inhalt:
Die Veranstaltung befasst sich mit den wichtigsten Charakteristika
moderner Rechnernetze. Schwerpunkte sind: Motivation und Geschichte
der Kommunikation, nachrichtentechnische Grundlagen, lokale Netze
(u.a. Ethernet, CSMA/CD), Schichtenmodelle, Protokolle, Überblick
zu TCP/IP, Internet (Adressen, Struktur, Dienste), Routing,
Hochgeschwindigkeitskommunikation, drahtlose lokale Netze und mobile
Netze. Ferner wird auf einige Grundaspekte verteilter Systeme
eingegangen.
Folien:
Foliensammlungen zur Vorlesung sind in der ersten Vorlesungsstunde
verkauft worden. Einige Exemplare sind noch übrig und können
zum Umkostenbeitrag von 10 SFr. bei Michael
Rohs erworben werden.
Übungen
Inhalt:
In der Regel wird jede Woche ein Aufgabenblatt ausgegeben. Dabei
handelt es sich um theoretische Übungen zur Vertiefung des
Vorlesungsstoffes und um praktische Übungen, zum Teil auch als
Ergänzung zur Vorlesung. Die Übungen sollen in
Zweiergruppen bearbeitet werden, in Ausnahmefällen kann auch pro
Person eine Lösung abgegeben werden. Es wird erwartet, dass die
Teilnehmer die Aufgaben regelmässig und selbständig
bearbeiten. Offensichtlich abgeschriebene Lösungen wirken sich zu
Ihrem Nachteil aus! Zur Bearbeitung der Aufgaben haben Sie in der
Regel eine Woche Zeit. Die Aufgaben werden in dem auf den Abgabetermin
folgenden Tutorium besprochen.
Testatbedingungen:
Um ein Testat für die Vorlesung zu erhalten, müssen 80
Prozent der insgesamt gestellten Aufgaben bearbeitet werden. Die
bearbeiteten Aufgaben werden nach einem Punktesystem bewertet (mehr
Punkte für schwierigere und/oder arbeitsaufwendigere
Aufgaben). Sie müssen 40 Prozent der Gesamtpunktzahl aller
gestellten Aufgaben erreichen, um das Testat zu erlangen.
Rechnerzugang:
Die praktischen Übungen können Sie an den Computern des
Departements Informatik (beispielsweise in den Räumen D 31 und D
35 im IFW-Gebäude) erledigen. Die dazu nötigen Accounts
sollten Sie bereits zu Beginn Ihres Studiums erhalten haben. Bei
Fragen bzw. Problem bezüglich Ihrer Accounts wenden Sie sich
bitte an den Leiter Ihres Tutoriums.
Übungsgruppen:
Die Übungen beginnen am 29.10.2001 und finden jeweils montags von
11:00-12:00 Uhr statt.
Übungsaufgaben:
Übung |
Ausgabe |
Abgabe |
PDF-Format |
PS-Format |
1 |
24.10.01 |
29.10.01 |
uebung1.pdf (9k) |
uebung1.ps (23k) |
Zu Aufgabe 1b: Auf den Rechnern in IFW D31 und D35 ist
traceroute unter /usr/local/admin/bin/ zu
finden. Falls Sie auf einem anderen Sun-Rechner arbeiten, auf dem
traceroute nicht installiert ist, können Sie sich hier ein Perl-Script herunterladen, das die
Funktionalität von traceroute bereitstellt. Anstelle von
traceroute müssen Sie dann
perl traceroute.pl eingeben.
|
2 |
29.10.01 |
05.11.01 |
uebung2.pdf (8k) |
uebung2.ps (21k) |
3 |
05.11.01 |
12.11.01 |
uebung3.pdf (50k) |
uebung3.ps (469k) |
4
|
12.11.01 |
19.11.01 |
uebung4.pdf (35k) |
uebung4.ps (27k) |
Zu Aufgabe 18a: Bitte laden Sie sich hier den Java Quelltext des Web-Clients herunter (am
besten mit der rechten Maustaste auf den Link klicken und dann mittels
"Save as..." bzw. "Speichern unter..." in Ihrem Home-Directory als
UserAgent.java speichern). Weitere Informationen finden Sie im
Quelltext. |
5
|
19.11.01 |
26.11.01 |
uebung5.pdf (29k) |
uebung5.ps (34k) |
Zu Aufgabe 21: Sie finden hier ein kurzes
HTTP-Tutorial, welches Ihnen
beim Bearbeiten der Aufgabe helfen soll. Es werden vor allem die
Unterschiede zwischen HTTP/1.0 und HTTP/1.1 hervorgehoben, die zum
Lösen der Aufgabe notwendig sind.
|
6
|
26.11.01 |
03.12.01 |
uebung6.pdf (40k) |
uebung6.ps (60k) |
Zu Aufgabe 25: Bitte laden Sie sich hier die
Beispielimplementierungen des
Ping-Pong-Clients und des
Ping-Pong-Servers herunter.
Übersetzen Sie die Quelltexte wie gewohnt mittels
javac und führen Sie die Programme mittels
java auf dem gleichen Rechner aus. Starten Sie dazu
zunächst den Ping-Pong-Server und danach (in einem zweiten
Fenster) den Ping-Pong-Client. Unter UNIX können Sie
alternativ auch beide Programme in einem Fenster starten, indem
Sie zuerst den Ping-Pong-Server mittels "java PingPongServer
& " als Hintergrundprozess starten und anschliessend den
Ping-Pong-Client wie gewohnt mit "java
PingPongClient " aufrufen.
|
7
|
03.12.01 |
10.12.01 |
uebung7.pdf (17k) |
uebung7.ps (46k) |
Die Schablone zu Aufgabe 27.a als
pdf und
ps.
Korrektur zu Aufgabe 27.b: 2*Sendefenstergrösse +
Empfangsfenstergrösse Sequenznummern reichen aus,
Sendefenstergrösse + Empfangsfenstergrösse
Sequenznummern jedoch nicht. Der Aufgabentext wurde entsprechend
korrigiert. |
8
|
10.12.01 |
17.12.01 |
uebung8.pdf (24k) |
uebung8.ps (29k) |
9
|
17.12.01 |
07.01.02 |
uebung9.pdf (33k) |
uebung9.ps (38k) |
Zu Aufgabe 34: Bitte laden Sie sich hier die Grundstruktur
einer Sliding Window Receiver
Klasse herunter. Testen Sie Ihre Erweiterungen mit Hilfe eines Testprogramms.
Hinweis: Eine Liste von Operatoren in Java (wie z.B. Modulo) finden
Sie auf Sun's
Java
Operators Seite.
|
10
|
07.01.02 |
14.01.02 |
uebung10.pdf (29k) |
uebung10.ps (965k) |
11
|
14.01.02 |
21.01.02 |
uebung11.pdf (20k) |
uebung11.ps (39k) |
12
|
21.01.02 |
28.01.02 |
uebung12.pdf (424k) |
uebung12.ps (212k) |
13
|
28.01.02 |
04.02.02 |
uebung13.pdf (25k) |
uebung13.ps (34k) |
Zu Aufgabe 43: Das TCP-Zustandsübergangsdiagramm aus RFC 793
finden Sie hier.
Fehler im Skript (Folie 332): In der dritten Nachricht im
TCP-Handshake muss das SYN-Bit gelöscht sein. Nur in den ersten
beiden ist es gesetzt.
Zu Aufgabe 45: Anfragen an DNS-Server können Sie mit diesem Web-Interface
durchführen. (Weiterführende Information: DNS ist in den
RFCs 1034 und
1035
spezifiziert.)
|
Weiterführende Informationen:
Informationen zu Java finden Sie in Sun's Java
Tutorial (in Englisch):
Bei ganz speziellen Java-Fragen hilft die Language Specification:
Wenn Sie die Methoden einer bestimmten Klasse herausfinden möchten,
oder die Ein- und Ausgabeparameter einer Methode benötigen, finden
Sie diese Angaben in der offiziellen Java-Referenz:
Die in den Übungen gestellten Programmieraufgaben sollten jedoch mit
den im Aufgabentext erwähnten Methoden und Klassen vollständig
lösbar sein.
Lösungen der Programmieraufgaben
Da für die meisten Hörer der Vorlesung Java neu ist, stellen
wir hier Beispiellösungen für die Programmieraufgaben aus
den Übungen vor. Es handelt sich dabei lediglich um
Lösungsvorschläge.
Zum Thema Musterlösungen, hier ein Ausschnitt einer Email von Prof. Mattern, welcher seine Meinung
unterstreicht.
Ansprechpartner:
Falls Sie inhaltliche oder organisatorische Fragen zur Vorlesung haben,
die sich nicht anderweitig (etwa in den Tutorien oder der Vorlesung)
klären lassen, können Sie dienstags von 14:15 Uhr
bis 15:00 Uhr zu Michael Rohs in die Sprechstunde kommen oder ihm eine
Email schreiben:
Michael Rohs, rohs@inf.ethz.ch
C43.1, IFW Gebäude, Haldeneggsteig 4, 8006 Zürich
|
Literatur:
-
L. Peterson, B. Davie: Computer Networks - A Systems Approach, Morgan
Kaufmann (2nd edition, 2000)
-
A.S. Tanenbaum: Computer Networks, Prentice-Hall (3rd edition, 1996)
-
F. Halsall: Data Communications, Computer Networks and Open Systems,
Addison Wesley (4th edition, 1996)
-
W. Stallings: Data and Computer Communications, Prentice Hall (6th
edition, 1999)
-
W. P. Kowalk, M. Burke: Rechnernetze, Teubner (1994)
-
D. Comer: Computer Networks and Internets, Prentice Hall (2nd edition,
1999)
-
J.F. Kurose, K.W. Ross: Computer Networking, Addison Wesley (2001), ISBN
0-201-47711-4
-
G. Coulouris, J. Dollimore, T. Kindberg: Distributed Systems - Concepts
and Design, Addison-Wesley (3rd edition, 2000)
Für die meisten der oben aufgeführten englischsprachigen Bücher
existieren deutsche Übersetzungen. So ist im dpunkt-Verlag
die 2. Auflage des Lehrbuchs von Peterson / Davie erschienen:
|