 |
Grundlagen Computernetze
Prof. Jürgen Plate |
Praktische Übungen Kommunikationsnetze
Vorbereitung
Informieren Sie sich über den Namen Ihres Rechners. Die Praktikumsrechner
haben folgende Namen:
Merkur Venus Erde Mars
Jupiter Saturn Uranus Neptun
Pluto Ceres Eris Pallas
Vesta Juno Xena
(wobei die letzten zu den sogenannten Zwergplaneten gehören).
Ausserdem spielt der Server blackhole bei einigen
Aufgaben eine Rolle.
Die Domain für alle Rechner ist da.private.fhm.edu.
Dabei steht "da" für den Standort Dachauerstr. und "private"
bedeutet, daß der Rechner im privaten (von aussen nicht
erreichbaren) Netz steht. Die Rechner im Labor haben folgende
Zuordnung zwischen IP-Adresse und Namen:
10.27.210.17 merkur.da.private.fhm.edu merkur
10.27.210.18 venus.da.private.fhm.edu venus
10.27.210.19 erde.da.private.fhm.edu erde
10.27.210.20 mars.da.private.fhm.edu mars
10.27.210.21 jupiter.da.private.fhm.edu jupiter
10.27.210.22 saturn.da.private.fhm.edu saturn
10.27.210.23 uranus.da.private.fhm.edu uranus
10.27.210.24 neptun.da.private.fhm.edu neptun
10.27.210.25 pluto.da.private.fhm.edu pluto
10.27.210.26 ceres.da.private.fhm.edu ceres
10.27.210.27 eris.da.private.fhm.edu eris
10.27.210.28 pallas.da.private.fhm.edu pallas
10.27.210.29 vesta.da.private.fhm.edu vesta
10.27.210.30 juno.da.private.fhm.edu juno
10.27.210.31 xena.da.private.fhm.edu xena
Das Einloggen erfolgt automatisch mit grafischer Benutzeroberfläche,
die hauptsächlich verwendet wird, um ein Shell-Fenster zu öffnen.
Für einige Aufgaben ist die Root-Berechtigung notwendig.
Der Wechsel in die Rolle des Superusers erfolgt mit dem Kommando
sudo. Um eine Root-Shell zu erlangen, geben Sie demnach
sudo bash ein. Der Login auf anderen Rechnern erfolgt mittels
der Secure Shell (ssh <user>@<rechner>) und
zum Kopieren wird Secure Copy (scp) verwendet.
Das Herunterfahren des Rechners erfolgt mit dem Button rechts am oberen Bildschirmrand.
Hausaufgabe: Netzplanung
Wiederholen Sie die Abschnitte "Netzverkabelung" und "Netzplanung" im Kapitel 9 des
Skripts (Twisted-Pair-Verkabelung, www.netzmafia.de/skripten/netze/twisted.html)
durch und bearbeiten Sie danach die folgende Aufgabenstellung. Eine Bearbeitung
in Kleingruppen (max. drei Personen) ist erwünscht.
Berücksichtigen Sie dabei die Tatsache, dass es nicht die eine, ultimative
Lösung gibt, sondern mehrere gleichwertige richtige Lösungen. Beachten Sie
auch Kosten-, Geschwindigkeits- und Sicherheitsaspekte (z. B. die Frage:
"Switch oder Hub?") und die Eventualität einer späteren Erweiterung.
Aufgabenstellung
Ein Bürogebäude mit 4 Stockwerken (siehe unten) und einer Grundfläche
von etwa 25 x 10 Metern soll komplett neu vernetzt werden. Planen Sie das Netzwerk
unter Verwendung von Hubs und Switches so, dass
- der Verkabelungsaufwand möglichst gering ist,
- die Abteilungen möglichst unabhängig voneinander sind und
- die Server für alle gleich schnell angebunden sind.
| 3. Stock: | 2 Chefbüros (Büro + Vorzimmer, je 1 PC),
Personalabteilung (2 PCs), Controlling (4 PCs) |
| 2. Stock: | Software-Entwicklung (4 Büros, je 4 PCs) |
| 1. Stock: | Vertrieb und Buchhaltung (4 Büros, je 3 PCs) |
| EG: | Empfang (1 PC), Konferenzraum (1 PC),
Serverraum (4 Server) |
- Skizzieren Sie einen Übersichtsplan des Netzes und kommentieren Sie ihn.
- Stellen Sie eine Liste der benötigten Netzwerkkomponenten, Kabel usw.
auf (Längen dürfen großzügig geschätzt werden).
- Informieren Sie sich über die Preise der benötigten Materialien
(z. B. bei Transtec oder
Lindy) und erstellen Sie eine Kostenschätzung
sowie eine Einkaufsempfehlung.
Einstieg
Demonstration
Es beginnt mit der Vorführung einiger wichtiger Netzwerkkommandos.
Anschliessend erfolgt die Demonstation eines managebaren Switches über
Webinterface. Neben einfachen Managementfunktionen werden auch virtuelle
LANs eingerichtet (Hintergrundinfo siehe Skript).
Die folgende Übung dient dazu, einige Möglichkeiten der Internet-Dienste
kennenzulernen.
Routen finden
Stellen Sie fest, welchen Weg ein Datenpaket von der Hochschule zur Website
von Boeing (http://www.boeing.com) nimmt (traceroute). Machen Sie dasselbe
für die neuseeländische Stadt Auckland (http://www.aucklandnz.com/). Versuchen Sie,
den Weg auch geographisch zu verfolgen (Google Maps).
Portscan
Verwenden Sie das Programm nmap, um offene Ports (Ports, auf denen
Dienste zur Verfügung gestellt werden) zu finden. Verwenden Sie als
"Opfer" nur Rechner innerhalb der HM (www.netzmafia.de, info.ee.hm.edu,
www.hm.edu). Welche Dienste stecken hinter den offenen Ports?
Domainsuche/Whois
- Die Firmenleitung der Bayerischen Maschinenwerke meint es ernst
und will eine Domain beantragen. Der Name 'Bayerische Maschinenwerke' erscheint
aber zu lang. Überlegen Sie sich einen kurzen Domainnamen (4 Zeichen oder mehr)
und Informieren Sie sich bei www.nic.de, www.whois.de,
www.united-domains.de oder www.netzmafia.de/service/whois.html
ob eine Domain dieses Namens schon existiert.
- Informieren Sie sich über die Domain netzmafia.de und
stellen Sie fest, wer administrativ und technisch dafür zuständig ist.
- Wer verwaltet die Post der Domäne "netzmafia.de"? Wenn dieser
Server ausfällt, wer übernimmt dann den Postempfang?
(Benutzen Sie den Befehl "host".)
TCP/IP und höhere Protokolle
Anwendung von Standardprotokollen
Schreiben Sie sich selbst mittels des Protokolls SMTP eine E-Mail und
holen Sie diese E-Mail mit dem Protokoll POP3 wieder ab.
- Versenden Sie per Telnet (Port 25) eine E-Mail an sich selbst.
Verwenden Sie hierzu den Mail-Server des Labors, blackhole.
- Verwenden Sie dazu das SMTP-Protokoll (RFC 2821) sowie als
Format für die E-Mail den RFC 2822.
- Holen Sie sich anschließend Ihre E-Mail wieder vom Mail-Server mittels
Telnet und verwenden Sie hierfür das POP3-Protokoll (RFC 1939).
Physical Computing im Netz
Für Versuche mit TCP/IP ist ein Microcontrollerboard im Labor eingerichtet worden, auf
dem nicht die üblichen Standardprotokolle gefahren werden, sondern demonstriert wird,
dass mit TCP/IP auch Steuerungsaufgaben wahrgenommen werden können. Das Board ist
erreichbar unter der IP Adresse 10.27.210.80 oder dem Namen "orcus" (auch ein Zwergplanet).
Es gibt drei Dienste, die über verschiedene Ports erreichbar sind:
- Display-Port: 666
- LED-Port: 667
- Servo-Port: 668
Der Verbindungsaufbau zum Board erfolgt über:
- Telnet (Linux, z.B. telnet 10.27.210.80 666)
- Putty (Windows, IP-Adresse und Port angeben; Connection Type: RAW)
Nach erfolgreichem Verbindungsaufbau wird der Benutzer nach Username und Passwort gefragt.
Dieses Angaben erhalten Sie im Praktikum.
Display
Es kann über das Netz ein einzeiliges Punktmatrix-Display angesteuert werden. Ein einfaches
Protokoll, das an POP3 angelehnt ist, dient der Übertragung von Nachrichten. Es lassen sich
bis zu fünf kurze Nachrichten mit jeweils einer maximalen Länge von 50 Zeichen speichern.
Eine dieser Nachrichten kann auf einem Display angezeigt werden. Wie bei POP3 werden alle
positiven Rückmeldungen des Boards mit "+OK" begonnen, alle Fehler mit "-ERR".
Das Board kennt folgende Befehle:
- ENABLE
Display einschalten.
- DISABLE
Display ausschalten.
- STATUS
Zeigt die Anzahl der gespeicherten Nachrichten an sowie die Gesamtzahl der davon belegten Bytes.
- LIST
Alle fünf Nachrichten sowie deren Anzahl an Bytes werden aufgelistet. Längere Nachrichten werden abgekürzt.
- SEND Message
Eine neue Nachricht wird abgespeichert. Es sind keine Anführungszeichen etc. nötig.
- WRITE Message
show 1
Text an eine vorhandene Nachricht anhängen.
- SHOW N
Die Nachricht mit der Nummer N wird angezeigt. Die Identifikationsnummer richtet sich nach der
Nummer, unter der die Nachricht unter dem Befehl LIST geführt wird.
- DELETE N
Die Nachricht mit der Nummer N wird gelöscht.
- DISPLAY N
Die Nachricht mit der Nummer N wird an das Display geschickt und dort angezeigt.
- CLEAR
Das Display wird zurückgesetzt.
- NOOP
Es wird "+OK" zurückgegeben (für Testzwecke).
- RESET
Alle Nachrichten werden gelöscht und das Display wird zurückgesetzt.
- HELP
Eine Liste der verfügbaren Befehle wird angezeigt.
- LOGOUT
Die Verbindung wird beendet.
Starten Sie eine Verbindung zum Board, fragen Sie Status und gespeicherte Meldungen ab, tragen
Sie eine neue Nachricht ein und sorgen Sie für deren Anzeige. Testen Sie auch die anderen
Befehle.
Kameraüberwachung
Über den Servo-Port erreichen Sie ein Programm zur Steuerung von zwei Servo-Motoren. Auf diesen
ist eine Webcam angebracht die sich in X und Y-Richtung schwenken lässt (die IP-Adressen der
Kameras lauten "cam1-lbs": 10.27.210.202 und "cam2-lbs" 10.27.210.203).
Es kann eine Liste von maximal 15 Punkten in der X-Y Ebene erstellt
werden, welche dann nacheinander angefahren werden. Dabei kann für beide Servos jeweils eine
Geschwindigkeit in den Stufen 1 (langsam) bis 5 (schnell) angegeben werden. Der Schwenkbereich
der Servos ist sowohl in X als auch in Y- Richtung im Werte-Bereich von 0 bis 1800 möglich,
was etwa einem Winkelbereich von 270° entspricht. Die Grundposition ist (X = 900, Y = 550).
Beachten Sie, dass nach dem Einschalten die Servos erst aktiviert werden müssen. Das System
beherrscht folgende Befehle:
- enable servos
Die Servos werden aktiviert und in die Grundposition gebracht.
- disable servos
Die Servos werden in die Grundposition gefahren und dort abgeschaltet.
- status
Es erfolgt die Angabe der aktuellen Position der Servos, des Status der Kamera und ob im
Moment ein Scanvorgang läuft. Sind die Servos deaktiviert, wird eine entsprechende Nachricht angezeigt.
- set servo x xval
Der Servo in X-Richtung wird auf die Position xval gefahren. Diese muss im Bereich von 0 bis 1800 liegen.
- set servo y yval
Der Servo in Y-Richtung wird auf die Position yval gefahren. Diese muss im Bereich von 0 bis 1800 liegen.
- left [n]
Der Servo wird in X-Richtung um n Schritte nach links gedreht.
Wird keine Zahl angegeben, so wird der Servo um 50 Schritte gedreht.
- right [n]
Der Servo wird in X-Richtung um n Schritte nach rechts gedreht.
Wird keine Zahl angegeben, so wird der Servo um 50 Schritte gedreht.
- up [n]
Der Servo wird in Y-Richtung um n Schritte nach oben gedreht.
Wird keine Zahl angegeben, so wird der Servo um 50 Schritte gedreht.
- down [n]
Der Servo wird in Y-Richtung um [n] Schritte nach unten gedreht.
Wird keine Zahl angegeben, so wird der Servo um 50 Schritte gedreht.
- enable camera
Die Kamera wird eingeschaltet.
- disable camera
Die Kamera wird abgeschaltet.
- new scan xval yval speedx speedy
Mit diesem Befehl wird ein neuer Zielpunkt an die Liste der Scanpunkte angehängt. Zusätzlich
werden die Geschwindigkeiten für die Servos in X und Y-Richtung angegeben.
- list
Die Scanliste wird angezeigt. Im Scanmodus werden die Einträge von oben nach unten abgearbeitet
und die jeweilige Position wird mit der jeweils gewählten Geschwindigkeit angefahren. Erst wenn
beide Servos die Zielposition erreicht haben, wird die nächste Position angefahren.
Ist der Scan Loop aktiviert, wird die Liste wieder von der Position 1 aus durchlaufen.
Sonst verweilen die Servos in ihrer letzten Position.
- delete list
Alle Einträge der Scanliste werden gelöscht, der Scan Loop deaktiviert und der Scanmodus wird gestoppt.
- start
Der Scanmodus wird aktiviert und die Scanliste wird abgearbeitet.
- pause
Das Scannen wird angehalten und kann ab der aktuellen Position fortgefahren werden.
- stop
Das Scannen wird angehalten und wird bei Wiederaufnahme mit dem ersten Eintrag der Scanliste fortgesetzt.
- enable loop
Wenn die Scanliste durchlaufen wurde, dann wird diese automatisch wieder von vorne begonnen.
- disable loop
Wenn die Scanliste durchlaufen wurde, dann bleiben die Servos auf der letzten Position.
- help
Eine Liste der verfügbaren Befehle wird angezeigt.
- reset
Die Servos werden in die Grundposition gefahren, die Scan Liste wird gelöscht, das Scannen wird beendet
und der Scan Loop wird deaktiviert.
- logout
Die Verbindung wird beendet.
Machen Sie sich zuerst mit den einzelnen Kommandos vertraut und beobachten Sie parallel das Kamerabild
auf dem Browser. Stellen Sie dabe sinnvolle Grenzen für die X- und -Y-Richtung fest. Erstellen Sie
nun eine Scan-Liste (auf Papier vorbereiten), speichern Sie dies und starten Sie die Überwachung.
Betrieb eines Nameservers
Für die oben aufgelisteten Rechner soll nun ein Nameserver für die (fiktive) Domain
"netzmafia.local" aufgesetzt werden. Auf dem System "blackhole" ist dazu das
Nameserprogramm BIND vorbereitet. Die Rechner sollen für diesen Versuch die IP-Adressen
172.20.20.17 bis 172.20.20.31 statt 10.27.210.17 bis 10.27.210.31 erhalten.
Sie müssen dazu zwei Zonendateien für "netzmafia.local" und "20.20.172.in-addr.arpa"
für die Reverse-Abfrage erstellen. Verwenden Sie dabei das Muster aus der Vorlesung.
Zum Testen werden für jede Gruppe die Zonendateien auf blackhole hochgeladen und der
BIND neu gestartet (Betreuer!). Testen Sie nun mit dem "host"-Programm unter Angabe
von "blackhole" als Nameserver Ihre Konfiguration.