Inhalt TCP/IP Stevens 9783800732234

Werbung
TCP_IP.book Seite 13 Mittwoch, 20. Januar 2010 11:50 11
Inhaltsverzeichnis
Vorwort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Vorwort zur deutschen Übersetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
1.16
1.17
1.18
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TCP/IP-Schichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Internet-Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Das Domain Name System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verkapselung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demultiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Client-Server-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Portnummern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standardisierungsprozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RFCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einfache Standardservices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Das Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Implementierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Application Programming Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . .
Test-Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
23
23
28
30
32
32
34
34
35
37
37
39
39
40
41
41
43
43
2
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
Link Layer (Sicherungsschicht) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ethernet- und IEEE-802-Verkapselung . . . . . . . . . . . . . . . . . . . . . . . . .
Trailer-Verkapselung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SLIP: Serial Line IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Komprimiertes SLIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PPP: Point-to-Point Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Loopback-Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MTU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MTU eines Pfades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Berechnung des Durchsatzes für serielle Leitungen . . . . . . . . . . . . . . .
45
45
45
47
48
49
50
52
54
55
55
TCP_IP.book Seite 14 Mittwoch, 20. Januar 2010 11:50 11
Inhaltsverzeichnis
14
2.11
2.12
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
IP: Internet Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP-Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP-Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Subnetz-Adressierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Subnetzmaske . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sonderfälle von IP-Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Beispiel eines Subnetzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ifconfig-Befehl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
netstat-Befehl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Zukunft von IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
59
59
64
70
72
74
74
76
78
79
80
81
4
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
ARP: Address Resolution Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ARP-Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Format eines ARP-Pakets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Beispiel für ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Proxy-ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gratuitous ARP (Gratis-ARP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der ARP-Befehl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
83
84
86
86
87
92
94
95
96
96
5
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
RARP: Reverse Address Resolution Protocol . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RARP-Paketformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RARP-Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RARP-Server-Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RARP-Server als User-Prozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mehrere RARP-Server im Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
97
97
97
100
100
100
101
101
6
6.1
6.2
ICMP: Internet Control Message Protocol . . . . . . . . . . . . . . . . . . . . . . 103
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
ICMP-Nachrichtentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
TCP_IP.book Seite 15 Mittwoch, 20. Januar 2010 11:50 11
Inhaltsverzeichnis
6.3
6.4
106
6.5
6.6
6.7
6.8
ICMP-Adressmaske-Request und -Reply . . . . . . . . . . . . . . . . . . . . . . .
ICMP-Timestamp-Request und -Reply (Zeitstempelanforderung
und -antwort) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ICMP Port Unreachable-(Port unerreichbar-)Nachricht . . . . . . . . . . .
Verarbeitung von ICMP-Nachrichten durch 4.4BSD . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
108
112
118
118
119
7
7.1
7.2
7.3
7.4
7.5
7.6
Der Ping-Befehl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ping-Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP-Record-Route-Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP-Timestamp-Option (Zeitstempel-Option) . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
121
121
121
128
134
135
135
8
8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
Das Traceroute-Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Traceroute-Programmoperationen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LAN-Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
WAN-Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP-Source-Routing-Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
traceroute Round Trip mit Loose-Source-Routing . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
137
137
137
139
143
145
152
153
153
9
9.1
9.2
9.3
9.4
155
155
156
163
9.5
9.6
9.7
9.8
IP Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Routing-Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ICMP-Host- und Network-Unreachable-Fehlermeldungen . . . . . . . .
To Forward or Not to Forward – Weiterleiten oder
nicht weiterleiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ICMP-Redirect-Fehlermeldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ICMP-Router-Discovery-Nachrichten . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
165
165
170
173
173
10
10.1
10.2
10.3
10.4
Dynamische Routing-Protokolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dynamisches Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Routing-Daemon unter UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RIP: Routing Information Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . .
175
175
175
177
177
15
TCP_IP.book Seite 16 Mittwoch, 20. Januar 2010 11:50 11
Inhaltsverzeichnis
16
10.5
10.6
10.7
10.8
10.9
10.10
RIP-Version 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OSPF: Open Shortest Path First . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BGP: Border Gateway Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CIDR: Classless Interdomain Routing . . . . . . . . . . . . . . . . . . . . . . . . .
Zusamenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
186
187
189
190
192
193
11
11.1
11.2
11.3
11.4
11.5
11.6
11.7
11.8
11.9
11.10
11.11
11.12
11.13
11.14
UDP: User Datagram Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UDP-Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UDP-Prüfsumme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein einfaches Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP-Fragmentierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ICMP-Unreachable-Fehler (Fragmentierung erforderlich) . . . . . . . . .
Wie die Path-MTU mit Hilfe von Traceroute ermittelt wird . . . . . . . .
Path-MTU-Discovery mit UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interaktion zwischen UDP und ARP . . . . . . . . . . . . . . . . . . . . . . . . . .
Maximale UDP-Datagrammgröße . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ICMP-Source-Quench-Fehler (Quelle unterdrücken) . . . . . . . . . . . . .
UDP-Server-Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
195
195
196
197
200
202
205
208
210
213
215
217
219
226
227
12
12.1
12.2
12.3
12.4
12.5
12.6
Broadcasting und Multicasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Broadcasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Beispiele für Broadcasts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multicasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
229
229
231
233
237
241
241
13
13.1
13.2
13.3
13.4
13.5
13.6
IGMP: Internet Group Management Protocol . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IGMP-Nachricht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IGMP-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
243
243
244
244
247
251
252
14
14.1
14.2
DNS: Das Domain Name System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Grundlegendes zu DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
TCP_IP.book Seite 17 Mittwoch, 20. Januar 2010 11:50 11
Inhaltsverzeichnis
14.3
14.4
14.5
14.6
14.7
14.8
14.9
DNS-Nachrichtenformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein einfaches Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pointer-Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ressourceneinträge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UDP oder TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
257
261
266
269
275
278
278
15
15.1
15.2
15.3
15.4
15.5
15.6
TFTP: Trivial File Transfer Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
281
281
281
283
285
286
286
16
16.1
16.2
16.3
16.4
16.5
16.6
16.7
16.8
BOOTP: Das Bootstrap-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BOOTP-Paketformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BOOTP-Server-Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BOOTP über einen Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Herstellerspezifische Informationen . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
287
287
287
290
292
293
294
296
296
17
17.1
17.2
17.3
17.4
17.5
TCP: Transmission Control Protocol . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TCP-Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TCP-Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
297
297
297
299
302
303
18
18.1
18.2
18.3
18.4
18.5
18.6
18.7
18.8
TCP-Verbindungen auf- und abbauen . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verbindungen auf- und abbauen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zeitüberschreitung beim Verbindungsaufbau . . . . . . . . . . . . . . . . . . .
Maximale Segmentgröße . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TCP einseitiges Schließen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TCP-Zustandsübergänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reset-Segmente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simultaner Verbindungsaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
305
305
305
311
313
315
318
325
330
17
TCP_IP.book Seite 18 Mittwoch, 20. Januar 2010 11:50 11
Inhaltsverzeichnis
18.9
18.10
18.11
18.12
18.13
Simultaner Verbindungsabbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TCP-Optionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TCP-Server-Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
333
333
334
343
344
19
19.1
19.2
19.3
19.4
19.5
19.6
19.7
TCP Interactive Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interaktive Eingabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verzögerte Bestätigungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Nagle-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Window-Size-Advertisements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
347
347
347
349
351
358
359
359
20
20.1
20.2
20.3
20.4
20.5
20.6
20.7
20.8
20.9
20.10
TCP-Massendatenfluss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Normaler Datenfluss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sliding Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fenstergröße . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PUSH-Flagge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Slow-Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Massendatendurchsatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Urgent-Modus (Dringlichkeitsmodus) . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
361
361
361
366
368
369
372
373
379
383
384
21
21.1
21.2
21.3
21.4
21.5
21.6
21.7
TCP-Timeouts und -Wiederholungen . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einfaches Beispiel für Timeouts und Wiederholungen . . . . . . . . . . . .
Messung der Round-Trip-Zeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Beispiel für RTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Beispiel für Überlastung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Algorithmus zur Überlastungsvermeidung . . . . . . . . . . . . . . . . . . . . .
Fast-Retransmit- (Schnelle Wiederholung) und
Fast-Recovery-Algorithmus (Schnelles Wiederherstellen) . . . . . . . . . .
Beispiel für die Überlastung (Fortsetzung) . . . . . . . . . . . . . . . . . . . . .
Routenbasierte Metrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ICMP-Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Repacketization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
385
385
386
388
390
396
399
21.8
21.9
21.10
21.11
21.12
21.13
18
402
403
408
408
412
413
413
TCP_IP.book Seite 19 Mittwoch, 20. Januar 2010 11:50 11
Inhaltsverzeichnis
22
22.1
22.2
22.3
22.4
22.5
TCP-Persist-Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Silly-Window-Syndrom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
415
415
415
417
423
423
23
23.1
23.2
23.3
23.4
23.5
TCP-Keepalive-Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keepalive-Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
425
425
426
428
432
432
Die Zukunft und Performance von TCP . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Path-MTU-Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Long-Fat-Pipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fensterskalierungsoption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timestamp-(Zeitstempel-)Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schutz gegen wiederholte Sequenznummern – PAWS:
Protection Against Wrapped Sequence Numbers . . . . . . . . . . . . . . . .
24.7 T/TCP: Eine TCP-Erweiterung für Transaktionen . . . . . . . . . . . . . . .
24.8 TCP-Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24.9 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24.10 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
433
433
434
439
442
445
447
448
451
454
454
25
25.1
25.2
25.3
25.4
25.5
25.6
25.7
25.8
25.9
25.10
25.11
25.12
25.13
25.14
457
457
458
461
463
464
467
469
472
484
487
489
490
491
492
24
24.1
24.2
24.3
24.4
24.5
24.6
SNMP: Simple Network Management Protocol . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Struktur der Manager-Information . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Objektkennungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung in die Management Information Base . . . . . . . . . . . . . . .
Identifikation einzelner Instanzen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einfache Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Management Information Base (Fortsetzung) . . . . . . . . . . . . . . . . . . .
Zusätzliche Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ASN.1 und BER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SNMP-Version 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
TCP_IP.book Seite 20 Mittwoch, 20. Januar 2010 11:50 11
Inhaltsverzeichnis
20
26
26.1
26.2
26.3
26.4
26.5
26.6
26.7
Telnet und Rlogin: Remote Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rlogin-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rlogin-Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Telnet-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Telnet-Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
493
493
495
501
506
513
525
526
27
27.1
27.2
27.3
27.4
27.5
FTP: File Transfer Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FTP-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FTP-Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
527
527
527
535
552
552
28
28.1
28.2
28.3
28.4
28.5
28.6
28.7
SMTP: Simple Mail Transfer Protocol . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SMTP-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SMTP-Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SMTP-Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Zukunft von SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
553
553
554
557
561
567
575
575
29
29.1
29.2
29.3
29.4
29.5
29.6
29.7
29.8
29.9
NFS: Network File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Suns Remote Procedure Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XDR: External Data Representation . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port-Mapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NFS-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NFS-Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NFS-Version 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
577
577
577
581
582
584
592
598
599
600
30
30.1
30.2
30.3
30.4
30.5
Andere TCP/IP-Applikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Finger-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Whois-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
601
601
601
603
612
612
TCP_IP.book Seite 21 Mittwoch, 20. Januar 2010 11:50 11
Inhaltsverzeichnis
A
A.1
A.2
A.3
A.4
A.5
Das tcpdump-Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BSD-Packfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SunOS Network Interface Tap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tcpdump-Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sicherheitsthematik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Socket-Debug-Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
613
613
615
617
618
619
B
Computer-Uhren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
C
Das sock-Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
D
Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
E
E.1
E.2
E.3
E.4
E.5
E.6
Konfigurierbare Optionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BSD/386 Version 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SunOS 4.1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System V Release 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solaris 2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AIX 3.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4BSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F
Verfügbarkeit des Source-Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
G
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
653
653
656
657
658
667
669
Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
21
Herunterladen