IP für Anfänger
Workshop
Referent: Jan H. Haul
Zunächst wurde die Frage gestellt, wozu Netzwerkprotokolle wie TCP/IP
eingesetzt werden. Sie dienen zur betriebssystemunabhängigen
Datenübertragung zwischen Computern und erfüllen dabei auch noch die
Funktionen der Verbindungskontrolle (Hallo? Ist da jemand?), Adressierung
(Wo kommt das Datenpaket her, wie groß ist es und wo soll es hin?) und der
Fehlerkorrektur. Fortgeschrittene Protokolle beherrschen auch das Routing
(Auf welchem Weg kommt das Paket am schnellsten zum Empfänger?).
Die Geschichte der Netzwerkprotokolle wurde kurz abgehandelt. TCP und IP
wurden als unabhängiges System von einer kleinen Firma im Auftrag des
amerikanischen Militärs entwickelt, nachdem IBM erklärt hatte, ein System
mit den geforderten Eigenschafte - das ohne einen Zentralrechner auskommt
und ausfallredundant ist - sei technisch unmöglich zu realisieren.
Um zu erklären, auf welche Art ein Netzwerkprotokoll im System integriert
ist, wurde das 4-Schichten Modell verwendet.
Die erste und unterste Schicht ist die physikalische Verbindung (der
Übertragungsweg oder auch die Linkebene) zwischen den Computern, in den
meisten Fällen die eine oder andere Art von Kabel (es kann auch ein
Glasfaserstrang oder eine Funkverbindung sein). Diese Verbindungen werden
teilweise Aufgrund ihrer Länge und einem damit verbundenen Leistungsverlust
durch HUBs oder Repeater verstärkt. Auf dieser Ebene weist das ARP (Address
Resolution Protocol) Bezeichnungen für die Netzadapter anhand ihrer 6 Byte
langen Hardwareadressen zu. Diese Hardwareadressen sind weltweit einmalig
und ermöglichen so die Unterscheidung aller Rechner auf der Welt.
Die zweite Schicht bezeichnet die Art des Netzwerks und die
Zugriffsweise der Rechner auf das Netz, also die Art der Zustellung
einzelner Pakete. Dies erledigt das IP (Internet Protocol), welches
verbindungslos funktioniert und unsicher ist, weil es keine Kontrolle
über den Empfang der Daten ermöglicht. Das ICMP (Internet Control
Message Protocol) arbeitet ebenfalls auf dieser Ebene. Jeder Rechner
hat eine einmalige IP - Nummer, die meist dezimal angegeben wird, im
Format xxx.xxx.xxx.xxx, wobei die Werte für xxx zwischen 1 und 254
liegen können.
Anhand des Programms traceroute (Unix) bzw.
tracert (Windows) wurde der Aufbau der IP - Pakete und des Paket-Headers
(der wie ein Adressaufkleber funktioniert) vorgestellt. Bei traceroute wird ein
bestimmter Wert im Header, die "ttl" (Time To Live) auf einen Wert von
zunächst eins gesetzt und in einem Paket abgeschickt. Jeder Rechner, der
ein Paket erhält, zieht von dieser Lebensspanne 1 ab, um zu verhindern,
daß unzustellbare Pakete ewig um die Welt kreisen. Das abgeschickte
Paket mit der ttl von 1 wird also von dem ersten Computer, der es empfängt,
weggeworfen. Die meisten Rechner schicken dann eine ICMP - Fehlermeldung
ab, die auch Informationen über den Router enthält.
Im folgenden wird dann die
ttl auf 2, 3 usw. erhöht, solange. bis man den Zielrechner erreicht hat.
Dann ist der gesamte Netzwerkweg klar.
Die dritte Schicht ist die
Art der Absicherung des Transports, also quasi der Rückschein für die
abzuliefernden Pakete. Auf dieser Ebene kommen UDP (User Datagramm
Protocol) und TCP (Transport Control Protocol) zum Einsatz. UDP
kontrolliert nicht, ob die Pakete den Empfänger erreichen. Es bildet die
Basis für NFS (Network File System) und DNS (Domain Name Service) sowie
einige Netzwerkspiele. Der DNS ist eine verteilte Datenbank, die jeder IP - Nummer
einen Namen zuordnet, wie www.ccc.de . Die meisten Verbindungen werden
im Internet auf der Basis von TCP aufgebaut, das ein sicher4es Protokoll
ist, weil für alle Pakete eine Empfangsbestätigung erwartet wird.
Auf der 4. und obersten Ebene laufen die Applikationen, wie ftp und
http. Auf diesen Bereich sollte hier nicht weiter eingegangen
werden.
Im weiteren Verlauf wurde noch einmal auf das Routing
eingegangen. Zusammen mit der Netzmaske, die mit einem logischen UND mit
der IP - Nummer verknüpft wird, können Router die Hostadresse vom Netz,
in dem sich der Host befindet, unterscheiden. Es gibt mehrere
Routingprotokolle wie z.B. RIP, auf die aber nicht mehr eingegangen
werden konnte. Auch das Thema Überlast musste sehr knapp ausfallen, es
wurde das Slow-Start-Verfahren vorgestellt, bei dem die
Datenübertragungsgeschwindigkeit heruntergesetzt wird, wenn dopplte
Bestätigungen (Acks)`eintreffen, um dann langsam wieder zu
beschleunigen.
Die Möglichkeiten, die Arbeitsweise des IP und des
TCP für Attacken einzusetzen, wurden am Schluß noch kurz
angesprochen:
- Spoofing. Beim Spoofing täuscht ein Rechner eine andere IP -
Nummer vor, als er tatsächlich hat.
- Sniffer. Sie fangen alle Pakete
ab, die sie im Netz empfangen können, und zeigen den Inhalt direkt an.
- Flood ping. Sehr viele Pings in kurzer Zeit.
- Ping Pakete zu
groß.
- Syn Flooding. Bremst den Zielrechner aus.
- Einschleusen
anderer Daten.
Die Veranstaltung war wesentlich länger als
ursprünglich geplant (2,5 h) und sehr gut besucht. Es wurden reichlich
Zwischenfragen gestellt und auch beantwortet, so daß der Workshop allen
Teilnehmern eine Menge gebracht hat.
Grundlage für umfassende Kenntnis der Protokolle sind die Requests for Comments
(rfc), in denen alle Details festgelegt sind. Allerdings benutzen
alle Systeme heute die BSD - Implementation der Protokolle, die nicht
hundertprozentig den rfc entspricht.
Dieter Kirchner