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