Einführung in - Webmasters Europe

Werbung
WE C ERTIFIED WEB ADMINISTRATOR I
Einführung in
TCP/IP-Networking
....................................................
Offizielles Curriculum des Europäischen Webmasterverbandes
WE C ERTIFIED WEB ADMINISTRATOR I
Einführung in
TCP/IP-Networking
....................................................
Art.-Nr. 011023013
Versionsnr. 4.0.1 vom 27.02.2012
Autoren: Dorian Karnbaum, Marc Remolt, Thorsten Schneider
© webmasters akademie Nürnberg GmbH, Nürnberg, Germany
Das vorliegende Schulungsskript ist urheberrechtlich geschützt. Alle Rechte vorbehalten.
Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne schriftliche
Genehmigung der webmasters akademie GmbH urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder Verwendung in
elektronischen Systemen sowie für die Verwendung in Schulungsveranstaltungen.
Die Informationen in diesem Schulungsskript wurden mit größter Sorgfalt erarbeitet.
Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Autoren und Herausgeber übernehmen keine juristische Verantwortung oder irgendeine Haftung für eventuell verbliebene fehlerhafte Angaben und deren Folgen.
Inhaltsverzeichnis
1
Allgemeine Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1
1.1.1
1.1.2
1.1.3
2
Entstehung der Computernetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1
2.2
2.3
2.3.1
2.4
2.5
2.5.1
2.5.2
2.5.3
2.5.4
2.5.5
2.5.6
2.6
3
Die ersten Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
PC-basierte Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Peer to Peer Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Client-Server-Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Entstehung des Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Verwaltung des Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
IAB (Internet Architecture Board) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
ISOC (Internet Society) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
IETF (Internet Engineering Task Force) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
ICANN (The Internet Corporation for Assigned Names and Numbers) . . . . . . . . . . . . 16
Regional Internet Registries (RIRs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Network Information Centers (NIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Einteilung von Computernetzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Schichtenmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1
3.1.1
3.1.2
3.2
3.2.1
3.2.2
3.2.3
3.2.4
3.2.5
3.2.6
3.2.7
3.2.8
3.3
3.3.1
3.3.2
3.3.3
3.4
4
Allgemeine Vorbereitungen zum Lehrgang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Einrichten der Arbeitsumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Umgang mit diesem Skript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Schichtenmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Briefversand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Anfrage an einen Webserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
ISO/OSI-Schichtmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Physikalische Schicht (1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Verbindungsschicht (2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Netzwerkschicht (3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Transportschicht (4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Sitzungsschicht (5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Darstellungsschicht (6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Anwendungsschicht (7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Geschichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Netzzugangsschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1
4.2
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5
4.3
4.3.1
Aufgaben der Netzzugansschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Klassifizierung von Netzwerken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Netzwerkstandards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Übertragungsmedien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Zugriffsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Topologien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Warum kilo nicht gleich kilo ist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Technologien der Netzzugangsschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.2
4.3.3
4.3.4
4.3.5
4.3.6
4.3.7
4.3.8
4.3.9
4.4
5
38
38
38
40
40
40
40
41
41
41
42
42
42
43
Logische und hardwarebasierte Netzwerkadressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Austausch von Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gruppierung von Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unterschiedliche Hardwarestandards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ARP - Address Resolution Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arbeitsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
arp-Kommando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RARP-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
44
44
45
45
45
46
47
47
Internetschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.1
7.2
7.2.1
7.2.2
7.3
7.3.1
7.3.2
7.3.3
7.3.4
7.4
8
Geschichte und Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Netzwerkhardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Übertragungsmedien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bandbreite im Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Netzwerkkarte und MAC-Adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Repeater . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ethernet-Paket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zugriffsverfahren CSMA/CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bus/Hub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.1
6.1.1
6.1.2
6.1.3
6.2
6.2.1
6.2.2
6.3
6.4
7
32
33
33
34
34
35
35
36
37
Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.1
5.2
5.2.1
5.2.2
5.2.3
5.2.4
5.2.5
5.2.6
5.2.7
5.3
5.4
5.4.1
5.4.2
5.5
6
Token Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ISDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FDDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ATM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
WLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xDSL (Digital Subscriber Line) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Weitere Technologien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben der Internetschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Protokolle der Internetschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Router und Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vorgang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Routingtabellen und Standardroute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Routingprotokolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
48
48
48
48
48
49
49
50
50
IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.1
8.2
8.3
8.4
IP - Internet Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP-Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben von IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
53
54
54
8.4.1
8.4.2
8.4.3
8.5
9
IP-Adressierung und Subnetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
9.1
9.1.1
9.2
9.3
9.3.1
9.3.2
9.3.3
9.3.4
9.4
9.4.1
9.4.2
9.4.3
9.4.4
9.4.5
9.5
9.5.1
9.5.2
9.6
9.7
9.8
9.9
10
ICMP - Internet Control Message Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Aufgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Nachrichtentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Traceroute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Arbeitsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Transportschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
11.1
11.1.1
11.1.2
11.1.3
11.2
11.2.1
11.2.2
11.3
12
Aufbau einer IP-Adresse (IPv4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
IP-Adressen der Version 4 (IPv4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Binäre Darstellung von IP-Adressen (IPv4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Bedeutung für den Routing-Vorgang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Subnetzmaske . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Netzwerk-Adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Broadcast-Adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
IP-Adressklassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
IP-Adressen der Klasse A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
IP-Adressen der Klasse B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
IP-Adressen der Klasse C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Klasse-D-Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Klasse-E-Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Classless Inter-Domain Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Problem der Einteilung in feste Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Subnetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Reservierte IP-Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Private IP-Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
IP-Protokoll Version 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
10.1
10.1.1
10.1.2
10.2
10.3
10.3.1
10.3.2
10.4
11
Validierung der IP-Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Prüfen der TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Fragmentierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Aufgaben der Transportschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Multiplexing/Demultiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Prüfsummen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Protokolle der Transportschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
12.1
12.2
12.3
12.3.1
12.3.2
UDP - User Datagram Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Aufgaben von UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Multiplexing/Demultiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Datenintegrität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
12.3.3
12.3.4
12.4
13
TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
13.1
13.2
13.3
13.3.1
13.3.2
13.3.3
13.4
13.4.1
13.4.2
13.4.3
13.4.4
13.4.5
13.4.6
13.4.7
13.5
14
TCP - Transmission Control Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TCP-Verbindungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-Wege-Handshake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bidirektionale Verbindungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verbindungsabbau und halboffene Verbindungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Funktionen von TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multiplexing/Demultiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufteilung der Daten der Anwendungsschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Datenintegrität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zuverlässigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Priorisierung von Paketen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flusssteuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Überlastungssteuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
83
86
86
87
87
87
87
87
88
88
89
90
90
91
Anwendungsschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
14.1
14.2
14.2.1
14.2.2
14.2.3
14.2.4
14.2.5
14.2.6
14.2.7
14.2.8
14.3
15
Echtzeit-Datenübertragung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Multicast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Aufgaben der Anwendungsschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wichtige Protokolle der Anwendungsschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
POP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
92
92
92
93
93
93
93
94
94
94
94
Firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
15.1
15.1.1
15.1.2
15.1.3
15.2
15.2.1
15.2.2
15.2.3
15.2.4
15.3
Typen von Firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Paketfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Stateful Inspection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Firewalls in den TCP/IP-Schichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
ARP-Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
IP-Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
TCP/UDP-Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Application Layer Firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
52
8
8 IP
IP
In dieser Lektion lernen Sie:
h
h
h
8.1
das IP-Protokoll näher kennen.
den Aufbau des IP-Headers.
den Vorgang, wie IP-Pakete im Internet ihren Weg finden.
IP - Internet Protocol
Das Internet Protokoll IP deckt Schicht 3 des ISO/OSI-Referenzmodells (Netzwerkschicht) ab. Seine Aufgabe besteht darin, die Datenpakete des Absenders innerhalb eines Netzwerkes oder über mehrere
Netzwerke hinweg zum Empfänger zu transportieren. In diesem Sinne kann es mit einem LogistikUnternehmen, z. B. der Post, verglichen werden. IP-Pakete werden auch als Datagramme22 bezeichnet,
um sie von den Paketen anderer Netzwerkprotokolle bzw. darunterliegender Schichten (z. B. EthernetPakete) zu unterscheiden. Der Adresskopf (Header) des IP-Pakets enthält die Absender- und Empfänger-IP-Adresse der miteinander kommunizierenden Computer, den sogenannten Netzknoten.
IP ist ein verbindungsloses Protokoll23, d. h. vor der Datenübertragung werden zwischen Sender und
Empfänger keinerlei Kontrollinformationen ausgetauscht. IP kümmert sich nicht darum, ob der Zielhost
erreichbar ist oder es ihn überhaupt gibt. IP ist nur für den eigentlichen Transport zuständig.
IP ist ein unzuverlässiges Protokoll, da es selbst keinerlei Mechanismen zur Fehlererkennung und Korrektur besitzt und keine Empfangsquittungen anfordert. Wie gesagt, IP kümmert sich nur um den
eigentlichen Transport.
Dies bedeutet aber nicht, dass man sich auf IP nicht verlassen könnte, ganz im Gegenteil: Wenn das
Netzwerk funktionstüchtig ist, liefert IP die Pakete auch korrekt aus. Es ist ähnlich wie mit Ihren Briefen:
Die meisten Briefe senden Sie nicht per Einschreiben und trotzdem wissen Sie, dass diese in aller Regel
auch beim Empfänger ankommen. Ohne Einschreiben jedoch können Sie sich nicht zu 100% sicher
sein. Wirklich wichtige Post werden Sie daher wohl via Einschreiben versenden. Ähnlich ist es bei
TCP/IP. Protokolle in anderen Schichten, vor allem TCP, können diese Art von Prüfung übernehmen.
22. Ich bevorzuge, die Pakete aller Schichten auch als Paket zu bezeichnen. Wo eine Verwechslung auftreten könnte,
setze ich das Protokoll als Präfix vor den Begriff Paket, also zum Beispiel TCP-Paket oder IP-Paket.
23. Als verbindungsorientiert werden Protokolle bezeichnet, die vor dem Datenaustausch zu Kontrollzwecken bereits eine Kommunikation mit dem Empfänger aufbauen, z. B. um zu checken, ob der Empfänger überhaupt bereit
ist, Daten entgegenzunehmen.
8.2 HEADER
8.2
53
Header
Der Header eines IP-Pakets umfasst normalerweise 20 Byte, wobei bis zu 40 Byte weitere optionale Felder hinzukommen können. Das Maximum liegt also bei 60 Byte. Lassen Sie mich Ihnen den IP-Header
zuerst in der Übersicht vorstellen.
Abb. 8-1: Format eines IP-Datagramms
Feldbezeichnung
Länge des
Feldes (Bits)
Beschreibung
Version
4
Gibt die IP-Versionsnummer an. Zur Zeit wird noch
überwiegend IPv4 eingesetzt.
IHL
4
Internet Header Length – gibt die Länge des IP-Headers
an. Da dieser zwischen 20 und 60 Byte lang sein kann,
ist es nötig, im Header die tatsächliche Länge festzuhalten.
TOS
8
Type of Service – dient zur Festlegung, wie das Datenpaket behandelt wird (z. B. Priorität, Verzögerung, Durchsatz).
Gesamtlänge
16
Gibt die Gesamtlänge des IP-Pakets, d. h. Header und
Daten, an.
Kennung
16
Router sind in der Lage, bei Bedarf IP-Pakete weiter zu
zerlegen (fragmentieren), wenn diese für die Datenleitung zu groß sind.
Dieses Feld dient zur Erkennung der einzelnen Fragmente eines Pakets, um diese beim Empfänger wieder
korrekt zusammenzusetzen. Alle Fragmente eines Original-Pakets weisen dieselbe Kennung auf.
Flags
3
Zeigt an, ob ein Datagramm fragmentiert werden darf
und welches das letzte Fragment ist.
Fragment-Offset 13
Legt die Position eines Fragmentes fest. Dies ist notwendig, um die IP-Fragmente beim Empfänger wieder
in die richtige Reihenfolge zu bringen.
TTL
Time-to-Live – Gibt die maximale Lebensdauer eines
Datagramms an. Der Maximalwert beträgt 255.
8
Tabelle 8-1: Felder des IP-Datagramms gemäß RFC 791.
54
8 IP
Protokoll
8
In diesem Feld wird das Protokoll für die Transportschicht verschlüsselt, z. B. TCP, UDP, OSPF.
Kopf-Prüfsumme
16
Über die Felder des IP-Headers wird eine Prüfsumme
gebildet und in diesem Feld abgelegt. Damit kann ein
Router prüfen, ob der Header beim Transport beschädigt wurde, und das Paket verwerfen.
AbsenderIP-Adresse
32
Enthält die IP-Adresse des Absenders. Die IP-Adressierung wird im nächsten Kapitel beschrieben.
Empfänger
-IP-Adresse
32
Enthält die IP-Adresse des Empfängers.
Optionen
max. 32
IP kann durch verschiedene Optionen an die Protokolle
der höheren Schichten angepasst werden. Die Feldlänge wird durch die Art und die Anzahl der Optionen
bestimmt.
Füllzeichen
variabel
Dieses Feld dient zum Auffüllen der leeren Bits, falls das
Feld Optionen nicht vollständig genutzt wird.
Daten
variabel
Enthält die eigentlichen Dateninformationen.
Tabelle 8-1: Felder des IP-Datagramms gemäß RFC 791.
8.3
IP-Adressen
Das wichtigste Merkmal des IP-Protokolls sind wohl die IP-Adressen. Diese werden im IP-Header zwar
binär (also mit 0 und 1) abgelegt, wir kennen jedoch eher die dezimale Schreibweise. Eine IP-Adresse
der Version 4 des Protokolls besteht aus vier Zahlen zwischen 0 und 255, die jeweils mit einem Punkt
getrennt sind, also zum Beispiel 192.168.3.8 oder 12.17.100.0.
IP-Adressen werden im Internet zur eindeutigen Identifizierung von Hosts verwendet. Jede IP-Adresse
darf weltweit nur ein einziges Mal verwendet werden24. Die Router verwenden die Empfänger-IPAdresse eines Pakets, um es weltweit zu seinem Zielhost zu bringen.
Da dem Thema IP-Adressen eine eigene Lektion 9 »IP-Adressierung und Subnetting« gewidmet ist,
möchte ich an dieser Stelle nicht weiter auf das Thema eingehen.
8.4
Aufgaben von IP
Den weltweiten Versand von Datenpaketen zu organisieren und zu verwalten ist eine enorme Aufgabe.
Sehen wir uns doch einige Funktionen von IP an, die den Routern bei der Aufgabe helfen, IP-Pakete
möglichst sicher ans Ziel zu bringen.
Bedenken Sie dabei, dass diese Funktionen von jedem Router auf dem Weg durchgeführt werden.
8.4.1
Validierung der IP-Headers
Wenn ein Router ein IP-Paket erhält, prüft dieser zuerst, ob das Paket auch nicht auf dem Transport
beschädigt wurde. Dabei interessiert ihn nicht die Nutzlast des Pakets, sondern nur die Header-Informationen.
Wenn ein IP-Paket beim Absender erzeugt wird, berechnet dieser aus den Feldern des IP-Headers eine
Prüfsumme und legt sie im Header ab. Jeder Router, der dieses Paket erhält, führt diese Berechnung
ebenfalls durch und vergleicht sein Ergebnis mit dem im Header eingetragenen Wert. Weicht dieser ab,
wurde der Header offensichtlich beschädigt und der Router verwirft das Paket sofort.
Wenn Sie sich jetzt fragen, warum IP nur den Header auf Beschädigungen prüft, nicht aber das ganze
Paket, ist die Antwort ganz einfach. IP interessiert sich nicht dafür, was es transportiert, nur dass die Lie24. Ausgenommen die privaten IP-Adressen. Siehe Abschnitt 9.7 »Private IP-Adressen«.
8.4 AUFGABEN VON IP
ferung ankommt. Erst auf dem Zielrechner wird auch der Inhalt auf Beschädigungen geprüft, was aber
die Transportschicht übernimmt.
Den Header auf jedem Router zu prüfen, ist eine sehr wichtige Aufgabe von IP. Stellen Sie sich vor,
durch die Beschädigung würde das Feld mit der Absender-Adresse verändert. Das Paket wird korrekt
zugestellt, doch die Antwort des Servers wird an den falschen Host versendet. Der ursprügliche Absender wird die Antwort niemals erhalten.
8.4.2
Prüfen der TTL
Eine weitere wichtige Aufgabe von IP ist, den Müll wegzuräumen. Durch verschiedene Umstände, zum
Beispiel falsch konfigurierte Router, kann es vorkommen, dass IP-Pakete ihr Ziel nicht erreichen können.
Beispiel
Der Router mit der IP-Adresse 12.14.5.1 erhält ein IP-Paket für den Empfänger 80.45.2.9. Gemäß seiner
Konfiguration leitet er das Paket an einen weiteren Router (IP 12.25.2.255). Dieser prüft den Empfänger
und leitet das Paket an einen dritten Router (IP 12.26.7.1) weiter.
So weit an sich nichts Besonderes. Doch Router Nummer 3 ist falsch konfiguriert. Er leitet das Paket an
den Router mit der IP-Adresse 12.14.5.1, also unseren ersten Router weiter. Dieser erhält das Paket, leitet es an Router 2, dieser leitet es an Router 3 ...
Sie sehen das Problem. Dieses IP-Paket wird bis in alle Ewigkeit25 zwischen diesen Routern kreisen. Bei
einem Paket ist dies kein Problem, aber stellen Sie sich vor, was passiert, wenn mit der Zeit tausende
Pakete in dieser Schleife hängen.
Um Pakete auszufiltern, die ihr Ziel nie erreichen werden, bedient sich IP eines einfachen Mechanismus.
Im Header-Feld TTL, also Time To Live (Lebenszeit), wird beim Absender eine Zahl eingetragen. Jeder
Router, der dieses Paket nun erhält und weiterschickt, öffnet den Header und verringert die Zahl um 1.
Wenn ein Router ein IP-Paket mit einer TTL von 0 erhält, wirft er es sofort weg.
Damit werden Pakete, die niemals ihr Zeit erreichen, zwar nicht sofort, aber zumindest nach einigen
Sekunden, aus dem Datenstrom entfernt.
Original-IP-Spezifikation wurde die TTL als Wert in Sekunden festgelegt, wobei der Wert
) Inbeiderjedem
Hop um mindestens 1 verringert wird. Hat ein Hop länger gedauert, musste die TTL
auch um mehr als 1 verringert werden.
Da heutzutage kein Router auch nur annähernd eine Sekunde für einen Hop benötigt, betrachtet man die TTL inzwischen als einen reinen Hop-Zähler. Jeder Router verringert den Wert um 1
und ignoriert die tatsächlich benötigte Zeit.
8.4.3
Fragmentierung
Darüber hinaus übernimmt IP auch die Fragmentierung eines Datenpakets und die Zusammensetzung
der fragmentierten Pakete in der richtigen Reihenfolge beim Empfänger. Dies ist wichtig, da die maximale Paketgröße (Maximum Transfer Unit, MTU), die über ein Netzwerk transporiert werden kann, von
dem zugrunde liegenden Netzwerkstandard abhängt.
Die MTU eines Ethernet ist anders als die von ISDN oder ATM. Da das Internet sich aus den unterschiedlichsten Netzwerken zusammensetzt, muss die Paketgröße an jedem Übergang von einem zum anderen Netzwerktyp angepasst werden.
Um das zu illustrieren, stellen Sie sich Folgendes vor: Sie sind Erdöl-Verkäufer und müssen den Transport des Öls von den Ölfeldern im persischen Golf bis zum Endabnehmer, dem Besitzer eines Einfamilienhauses in Berlin, organisieren. Hierbei kommen verschiedene Verkehrswege ins Spiel: Ein Tanker
transportiert das Öl auf dem Meer in den Hamburger Hafen. Dort muss es in viele Eisenbahnwagons
umgeladen werden, da die MTU auf der Schiene kleiner ist als auf dem Meer. Im Berliner Bahnhof muss
jeder Eisenbahnwagon auf mehrere Tanklaster aufgeteilt werden, da die MTU des Transportwegs
25. Oder zumindest, bis einer der Router resettet, umkonfiguriert oder ersetzt wird.
55
56
8 IP
Straße noch kleiner ist als auf der Schiene. Am Ziel angekommen, wird das Öl aus den vielen einzelnen
Lastern in ein einzelnes großes Silo geladen.
Die Paketgröße muss also bei jedem Übergang von einem zu einem anderen Transportmedium angepasst werden. Am Ende wird die Nutzlast aus den vielen Teilen wieder zu einem großen Ganzen zusammengefügt.
Genauso verhält es sich auch im Internet. Wenn ein Router ein Paket erhält und über eine Route weiterleiten soll, für die das Paket zu groß ist, fragmentiert der Router das Paket. Dabei wird die Nutzlast der
IP-Pakets in ausreichend kleine Teile aufgespalten und auf mehrere einzelne IP-Pakete verteilt.
Diese Fragment-Pakete weisen einige Besonderheiten auf, die Sie im Header sehen können:
h
h
h
Das Kennung-Feld ist bei allen Fragment-Paketen identisch. Hierüber erkennt der Zielhost, welche
Pakete zusammengehören.
In dem Feld Flags gibt es ein Bit More Fragments (weitere Fragmente), das festlegt, ob nach diesem
Fragment noch weitere folgen. Bei jedem Fragment, bis auf das letzte, ist dieser Wert auf 1 gesetzt.
Das letzte Fragment (oder ein nicht framentiertes Paket) hat hier den Wert 0. Damit erkennt der
Empfänger, wann er alle Pakete erhalten hat.
Im Feld Fragment-Offset wird die Position des Framents im Originalpaket festgehalten. Dies ist
notwendig, um die Fragmente später auch in der richtigen Reihenfolge zusammenzusetzen.
Mit diesen drei Informationen kann der Zielhost Fragmente wieder zum Original-IP-Paket zusammensetzen. Wenn das Feld Fragment Offset gesetzt ist, weiß der Host, dass er ein Fragment vor sich hat.
Dann sammelt er alle Fragmente mit derselben Kennung ein, bis zum letzten, das More Fragments auf 0
gesetzt hat. Sobald er alle hat, baut er aus den Teilen wieder das alte Paket zusammen.
8.5
Zusammenfassung
Das IP-Protokoll ist das Transportmedium, das die Datenpakete vom Absender zum Zielhost transportiert. Durch die weltweit eindeutigen IP-Adressen kann IP den Empfänger eines IP-Pakets im Internet
finden und ihm das Paket zustellen.
Dabei verfügt IP über einige nützliche Funktionen, die ihm die Aufgabe erst ermöglichen:
h
h
h
Validierung des Headers über Prüfsummen
Verwerfen alter Pakete mit Hilfe der TTL
Fragmentierung von Paketen
Aufgaben zur Selbstkontrolle
1.
Warum wird IP als verbindungsloses Protokoll bezeichnet?
2.
Warum wird IP als unzuverlässig bezeichnet?
3.
Wie und warum prüft jeder Router ein IP-Paket auf Beschädigungen?
4.
Was ist die Aufgabe des TTL-Felds im IP-Header?
5.
Was versteht man unter der Fragmentierung eines IP-Pakets?
6.
Warum muss IP Fragmentierung beherrschen?
92
14
14 ANWENDUNGSSCHICHT
Anwendungsschicht
In dieser Lektion lernen Sie:
h
h
h
dass in der Anwendungsschicht viele unterschiedliche Protokolle arbeiten.
dass jedes Protokoll dieser Schicht über mindestens einen festen Port verfügt.
dass diese Protokolle entweder aus TCP oder UDP aufbauen.
14.1
Aufgaben der Anwendungsschicht
Die Anwendungsschicht ist die Schicht, die uns als Netzwerker eigentlich gar nicht mehr interessiert.
Das Datenpaket hat seinen Zielhost erreicht und wurde an das richtie Programm weitergeleitet. Was
weiter mit dem Paket passiert, hängt nun von der jeweiligen Applikation ab.
Ein Paket, das eine E-Mail enthält, wird nun vom Mailserver weiterverarbeitet, also entweder weitergeschickt oder in einem Postfach abgelegt. Ein Paket mit einer HTTP-Anfrage bringt den Webserver dazu,
dass er nachsieht, ob für die angeforderte URL ein Dokument existiert, und er dieses dann ausliefert
oder eine Fehlermeldung zurücksendet.
Diese Schicht gehört ganz den Anwendungsentwicklern und ist für den Netzwerker an sich weniger
von Bedeutung. Wenn Sie sich allerdings mit den entsprechenden Diensten näher befassen35, werden
die passenden Protokolle sehr wichtig. Ohne solide Kenntnisse von HTTP werden Sie nur schwer einen
Webserver so konfigurieren, dass er alles so tut, wie Sie es von ihm wollen. Ohne zu wissen, wie SSH
funktioniert, werden die vielen Optionen zu privaten und öffentlichen Schlüsseln, Authentifizierung
und Kryptografie nur wenig Sinn für Sie ergeben.
Aus diesem Grund werden in diesem Lehrgang diese Protokolle zusammen mit den Diensten besprochen. An dieser Stelle möchte ich Ihnen nur einen kleinen Überblick über die Protokolle geben, die Sie
in Ihrer Netzwerker-Karriere wahrscheinlich noch näher kennenlernen werden.
14.2
Wichtige Protokolle der Anwendungsschicht
14.2.1
HTTP
HTTP, das Hypertext Transfer Protocol, wird für die Übertragung von Ressourcen über ein TCP/IP-Netzwerk verwendet. Im Normalfall bestehen diese Daten aus HTML-Webseiten oder darin eingebetteten
Dokumenten wie Javascript, Bildern oder auch Videos. Der Zugriff auf die Resourcen erfolgt über URLs.
Über HTTP tauschen Client und Server sogenannte Nachrichten aus, wobei eine Nachricht immer ein
Request (Anfrage) ist, auf die der Kommunikationspartner eine Response (Antwort) sendet.
Da das Thema Sicherheit immer wichtiger wird, gibt es eine verschlüsselte Variante von HTTP, genannt
HTTPS. Im Prinzip handelt es sich dabei um normales HTTP, das in einer SSL-geschützten Sitzung transportiert wird.
Der Standardport von HTTP ist 80/TCP, der von HTTPS 443/TCP.
35. Wovon ich mal ausgehe, da diese Schulungsunterlage Teil eines Lehrganges ist, der unter anderem die Konfiguration von Web-, Mail, FTP- und SSH-Servern beinhaltet.
14.2 WICHTIGE PROTOKOLLE DER ANWENDUNGSSCHICHT
14.2.2
FTP
FTP, das File Transfer Protocol ist, wie der Name vermuten lässt, für die Übertragung von Dateien über
TCP/IP-Netzwerke zuständig. Dabei ist für den Dateiaustausch ein Login auf dem Server notwenig,
wobei auch ein anonymer Login konfiguriert werden kann.
Die Verbindung zwischen Server und Client läuft unverschlüsselt ab, es werden also auch sensible
Daten wie Benutzernamen und Passwörter im Klartext übertragen. Daher wird FTP in einigen Bereichen
langsam aber sicher durch andere Protokolle wie SSH verdrängt. Eine Alternative ist, FTP über eine SSLVerbindung zu tunneln (FTPS).
Das FTP-Protokoll hat eine Besonderheit, das es von den anderen Protokollen der Applikationsschicht
unterscheidet. Es verwendet zwei TCP-Verbindungen, eine für die Übertragung von Kommandos, die
andere für die eigentliche Datenübertragung. Diese Besonderheit verursacht oft Probleme im Zusammenhang mit Firewalls, die den zweiten Kanal gerne blockieren.
Der Kontrollkanal verwendet den Port 21, der Datenkanal Port 20.
14.2.3
SMTP
SMTP, das Simple Mail Transfer Protocol, ist das Protokoll, über das im Internet E-Mails ausgetauscht
werden. Der Standardport von SMTP ist 25/TCP. Mit SMTP kommunizieren entweder zwei Mailserver,
kurz MTA36 genannt, untereinander, wenn ein Server eine E-Mail an den zweiten weiterleiten möchte,
oder es kommuniziert ein Mailclient mit einem MTA.
Im zweiten Fall kommuniziert der Client mit dem Mailserver, der im Client konfiguriert wurde, um eine
E-Mail an einen beliebigen Absender zu schicken.
haben viele Menschen tatsächlich eine falsche Vorstellung, was genau passiert. Viele den) Hier
ken, ihr Mailclient kommuniziert direkt mit dem Mailserver der Zieladresse. Stattdessen redet
der Client immer nur mit dem konfigurierten Server des eigenen Providers, also dem MTA, den
Sie im Client eingestellt haben.
Beispiel
Sie haben in Ihrem Mailclient einen Account von googlemail.com konfiguriert. Eines schönen
Tages schreiben Sie eine E-Mail an einen Freund, dessen Account bei web.de gehostet wird.
Ihr Mailclient kommuniziert niemals direkt mit dem MTA von web.de. Stattdessen versendet
der Client die E-Mail an den MTA von googlemail.com. Dieser kümmert sich dann darum, die
Mail an den eigentlichen Empfänger zu versenden.
14.2.4
POP3
Das Post Office Protocol Version 3 (POP3) wird zum Abholen von E-Mails aus Postfächern verwendet.
Während SMTP zum Versand von E-Mails dient, wird POP3 erst aktiv, wenn die Mail bereits im Postfach
des Empfängers liegt. Der Standardport ist 110/TCP.
POP3 ist ein relativ einfach aufgebautes Protokoll, das nur wenige Funktionen bereitstellt. POP3 erlaubt
es, E-Mails auf dem Server aufzulisten, diese herunterzuladen und zu löschen. Weitergehende Funktionen wie die Verwaltung von mehreren Mail-Ordnern oder das Verschieben von E-Mails auf dem Server
sind mit POP3 nicht möglich.
14.2.5
IMAP
Genau an dieser Schwachstelle von POP3 setzt IMAP, das Internet Message Access Protocol, an. Er erfüllt
dieselben Aufgaben, also das Abrufen von E-Mails aus Postfächern, bietet darüber hinaus aber wesentlich mehr Funktionen als POP3. Der Standardport ist 143/TCP.
36. MTA steht für Mail Transfer Agent.
93
94
14 ANWENDUNGSSCHICHT
Der grundlegende Unterschied ist, dass IMAP die E-Mails direkt auf dem Server verwaltet, während
POP3 nur das Abrufen und Löschen beherrscht. IMAP ist in der Lage, mehrere Mail-Ordner zu verwalten, Mails zwischen Ordnern oder sogar Konten zu kopieren oder zu verschieben, oder auch direkt auf
dem Server Filterregeln anzuwenden.
14.2.6
DNS
Das Domain Name System, kurz DNS, ist für die Auflösung von Namen in IP-Adressen zuständig. Ohne
DNS könnten wir im Browser nicht einfach URLs wie http://www.example.com/ eingeben, sondern
müssten uns die IP-Adresse jedes Webservers merken. Der Standardport für DNS-Anfragen ist 53,
wobei DNS in den meisten Fällen UDP als Transportprotokoll einsetzt. Einige Funktionen von DNS
benötigen allerdings auch TCP, weshalb DNS den Port 53 für TCP und UDP reserviert.
Weitere Funktionen des DNS sind zum Beispiel die umgekehrte Auflösung von IP-Adressen zu Namen
und die Festlegung der Mailserver, die für eine Domäne zuständig sind.
14.2.7
Telnet
Telnet ermöglicht den Zugriff auf die Kommandozeile eines entfernten Hosts. Es wurde entwickelt,
damit Administratoren auf einem entfernten Server wie auf einer lokalen Shell arbeiten können. Auf
diese Weise müssen Administratoren nicht zum physikalischen Standort des Servers reisen, um Änderungen an der Konfiguration vorzunehmen oder Wartungsarbeiten durchzuführen.
Stellen Sie sich vor, für jede kleine Änderung am Server, jedes Anlegen eines Benutzerkontos, jeden Einblick in die Logdateien wäre eine Reise in das nächste Rechenzentrum notwendig.
Inzwischen ist Telnet weitgehend durch SSH abgelöst worden, da es heutigen Sicherheitsanforderungen nicht mehr genügt. Der Standardport ist 23/TCP.
14.2.8
SSH
SSH, die Secure Shell, bietet die gleichen Funktionen wie Telnet, nämlich den Shellzugang zu einem
Server über das Internet. Im Gegensatz zu Telnet läuft dieser Zugriff bei SSH allerdings verschlüsselt ab.
Telnet überträgt die vollständige Kommunikation inklusive aller Kommandos und der eingegebenen
Passwörter im Klartext, was heute nicht mehr tragbar ist.
Neben dem verschlüsselten Shellzugriff bietet SSH zusätzlich noch erweiterte Authentifizierungsmöglichkeiten, wie zum Beispiel die Public Key Authentication, und stellt mit SFTP eine verschlüsselte Alternative zum FTP-Protokoll zur Verfügung. Der Standardport ist 22/TCP.
14.3
Zusammenfassung
Die Protokolle der Anwendungsschicht sind die Vermittler zwischen den Anwendungsprogrammen,
wie Browser oder Mailclient, und dem Internet. Mit TCP oder UDP-Paketen als Transportmedium
ermöglichen sie die vielen Dienste des Internet, die Sie täglich nutzen.
Für uns als Netzwerker sind die Details dieser Protokolle eher uninteressant, da sie nichts mehr mit der
eigentlichen Datenübertragung zu tun haben. Für uns als Administratoren und/oder Webentwickler
sind diese Protokolle allerdings sehr interessant. Ohne ein zumindest grundlegendes Verständnis dieser Protokolle ist es nicht möglich, die entsprechenden Dienste effektiv zu konfigurieren oder Anwendungen auf Basis der Protokolle zu entwickeln.
Einen Mailserver ohne Kenntnisse über SMTP sicher und reibungslos am Laufen zu halten, wird Ihnen
kaum gelingen. Genauso ist es nicht möglich, ohne tiefere Kenntnisse von IMAP ein Webmail-Anwendung zu programmieren.
Aufgaben zur Selbstkontrolle
1.
Welcher Port wird von HTTP standardmäßig verwendet?
2.
Welcher Port wird von SMTP standardmäßig verwendet?
INDEX
115
Index
ting
Client-Server-Prinzip
CSMA/CD
CSNET
Zahlen
10 Gigabit-Ethernets
10Base-2
10Base5
10BaseT
3-Wege Handshake
64
14
42
15
D
40
39
39
39
86
A
Access Point
35
ACK-Flag
88
Address Resolution Protocol
45
ADSL
35
ADSL-Modem
35
Anwendungsschichten
22
ARIN
17
ARP
45
ARPA
15
ARPANET
15
ARP-Request
45
B
Backbones
15
Bandbreite
31
bidirektional
14
BITNET
15
Bitübertragungsschicht
22
Blacklist
96
Bridge
41
Broadcast
25, 46
Bus-Topologie
38
C
Caching Proxy
98
Carrier Sense Multiple Access/Collision Detection
42
CIDR
64
Classless Inter-Domain Rou-
Datentransferrate
31
Datenübertragungsrate 31
Default Route
69
Demultiplexing
23, 77, 81
DENIC
18
DNS
94
Domain Name System
94
Downsizing
13
downstream
35
dynamische Routen
50
E
Ethernet
EUnet
15
15
Kollisionsdomäne
40
93
41
93
60
49
40
H
halboffene Verbindung
87
Hops
49
HTTP
92
Hub
39–40
Hypertext Transfer Protocol
92
42
L
LAN
Layer-3-Switch
G
Gateway
Gateways
Gigabit Ethernets
IAB
16
IANA
16
ICANN
17
ICMP
48
IETF
16
illegale IP-Adressen
70
IMAP
93
IMP
15
Internet Activities Board 16
Internet Architect
16
Internet Control Message Protocol
48
Internet Message Access Protocol
93
Internet Protocol
48
Internet Society
16
Internetwork
15
IP
25, 48
IP-Adresskonflikt
69
IPnG
70
IPv6
70
ISDN
33
ISOC
16
K
F
Fast-Ethernets
File Transfer Protocol
Frame
FTP
I
18
48
M
MAC-Adresse
44
MAC-Adressen
40
Mainframes
12
Maximum Transfer Unit
42
MILNET
15
MTU
42, 55
Multicast
82
Multiplexing
23, 77, 81
multiuserfähig
12
116
INDEX
N
NAT
NCP
Netzwerkkarte
NIC
NSFNET
69
15
27
17
15
P
Patchkabel
39
Peer To Peer
13
Personal Computer
13
ping
74
POP3
93
Post Office Protocol Version 3
93
Proxy
98
PSH-Flag
89
Public Key Authentication 94
R
RARP
47
Registered Ports
78
Relay
98
Repeater
38, 40
Request
14, 92
Request for Comment
16
Response
14, 92
RFC
16
RIPE
17
RIRs
17
RJ45
39
Router
48
Routing
49
Routingprotokolle
50
Routingtabelle
49
S
Secure Shell
94
Server
13
Sicherungsschicht
22
Simple Mail Transfer Protocol
93
Sliding Window Algorithmus
90
SMTP
93
Splitter
35
SSH
94
Stateful-Inspection-Firewall
97
statische Routen
50
Stern-Topologie
39
Subnetting
65
Subnetzmaske
60
Switch
41
Systemschichten
22
T
Task Force
16
TCP
79
TCP/IP-Protokoll
15
Teilnetzfeld
65
Telnet
94
Terminals
12
Thin Clients
14
Token
32
Token Passing
32
Toplevel Domains
17
traceroute
75
Transceiver
39
Transmission Control Protocol
79
Twisted Pair
39
U
UDP
UMTS
Unicast
upstream
URG-Flag
USENET
User Datagram Protocol
78
36
46
35
89
15
78
V
Vermittlungsschicht
22
W
WAN
Well Known Ports
Whitelist
18
78
96
Wireless Local Area Network
35
WLAN
35
Herunterladen