Larry L. Peterson Bruce S. Davie Computernetze Eine systemorientierte Einführung Deutsche Ausgabe der 4. amerikanischen Auflage dpunkt.verlag
Inhalt 1 Grundlagen 2 1.1 Anwendungen 4 1.2 Anforderungen 6 1.2.1 Konnektivität 7 1.2.2 Kostengünstige gemeinsame Nutzung von Ressourcen 10 1.2.3 Unterstützung gemeinsamer Dienste 15 1.3 Netzwerkarchitektur 19 1.3.1 Schichten und Protokolle 20 1.3.2 OSI-Architektur 27 1.3.3 Internet-Architektur 28 1.4 Implementierung von Netzsoftware 30 1.4.1 APIs und Sockets 31 1.4.2 Anwendungsbeispiel 34 1.4.3 Aspekte der Protokollimplementierung 37 1.5 Leistung 40 1.5.1 Bandbreite und Latenz 40 1.5.2 Verzögerung-Bandbreite-Produkt 44 1.5.3 Hochgeschwindigkeitsnetze 47 1.5.4 Leistungsanforderungen von Anwendungen 49 1.6 Zusammenfassung 51 Weiterführende Literatur 53 Übungen 55 2 Direktverbindungsnetzwerke 64 2.1 Hardwarebausteine 66 2.1.1 Knoten 66 2.1.2 Verbindungsleitungen 71 2.2 Kodierung (NRZ, NRZI, Manchester, 4B/5B) 80 2.3 Erzeugung von Frames 84 2.3.1 Byte-orientierte Protokolle (PPP) 85 2.3.2 Bitorientierte Protokolle (HDLC) 88 2.3.3 Taktbasierte Erzeugung von Frames (SONET) 89
xii I Inhalt 2.4 Fehlererkennung 92 2.4.1 Zweidimensionale Parität 94 2.4.2 Internet-Prüfsummenalgorithmus 94 2.4.3 CRC (Zyklische Redundanzprüfung) 97 2.5 Zuverlässige Übertragung 102 2.5.1 Stop-and-Wait-Algorithmus 102 2.5.2 Sliding-Window 105 2.5.3 Gleichzeitige logische Kanäle 115 2.6 Ethernet (802.3) 116 2.6.1 Physikalische Eigenschaften 117 2.6.2 Medienzugriffssteuerung 119 2.6.3 Erfahrung mit Ethernet 123 2.7 Ringförmige Netzwerke (802.5, FDDI, RPR) 124 2.7.1 MAC beim Token-Ring 126 2.7.2 Token-Ring-Wartung 128 2.7.3 FDDI 130 2.7.4 Resilient Packet Ring (802.17) 131 2.8 Drahtlose Netze 133 2.8.1 Bluetooth (802.15.1) 136 2.8.2 Wi-Fi (802.11) 138 2.8.3 WiMAX (802.16) 143 2.8.4 Mobiltelefon-Technologien 145 2.9 Zusammenfassung 148 Weiterführende Literatur 150 Übungen 152 3 Paketvermittlung 168 3.1 Vermittlung und Weiterleitung 170 3.1.1 Datagramme 172 3.1.2 Virtuelle Leitungsvermittlung 174 3.1.3 Source-Routing 181 3.2 Bridges und LAN-Switche 185 3.2.1 Lernende Bridges 186 3.2.2 Spanning-Tree-Algorithmus 188 3.2.3 Broadcast und Multicast 193 3.2.4 Beschränkungen von Bridges 194 3.3 Zellenvermittlung (ATM) 196 3.3.1 Zellen 197 3.3.2 Segmentierung und Reassemblierung 201 3.3.3 Virtuelle Pfade 207 3.3.4 Bitübertragungsschichten für ATM 208 3.4 Implementierung und Leistung 210 3.4.1 Ports 214 3.4.2 Schaltnetzwerke 217
Inhalt xiii 3.5 Zusammenfassung 220 Weiterführende Literatur... 222 Übungen 223 4 Internetworking 234 4.1 Einfaches Internetworking (IP) 236 4.1.1 Was ist ein Internetwork? 236 4.1.2 Dienstmodell 238 4.1.3 Globale Adressen 250 4.1.4 Weiterleitung von Datagrammen in IP 252 4.1.5 Adressübersetzung (ARP) : 256 4.1.6 Host-Konfiguration (DHCP) 261 4.1.7 Fehlermeldung (ICMP) 264 4.1.8 Virtuelle Netzwerke und Tunnel 264 4.2 Routing 268 4.2.1 Netzwerk als Graph 270 4.2.2 Distanzvektor-Routing (RIP) 271 4.2.3 Link-State-Routing (OSPF) 279 4.2.4 Metriken 288 4.2.5 Routing für mobile Hosts 291 4.2.6 Router-Implementierung 297 4.3 Das globale Internet 300 4.3.1 Subnetting 302 4.3.2 Klassenloses Routing (CIDR) 306 4.3.3 Interdomain Routing (BGP) 310 4.3.4 Routing-Bereiche 319 4.3.5 IP-Version 6 (IPv6) 321 4.4 Multicast 333 4.4.1 Multicast-Adressen 335 4.4.2 Multicast-Routing (DVMRP, PIM, MSDP) 335 4.5 Multiprotocol Label Switching (MPLS) 347 4.5.1 Zielbasierte Weiterleitung 348 4.5.2 Explizites Routing 354 4.5.3 Virtuelle private Netzwerke und Tunnel 356 4.6 Zusammenfassung 361 Weiterführende Literatur 363 Übungen 365 5 Ende-zu-Ende-Protokolle 384 5.1 Einfacher Demultiplexer (UDP) 386 5.2 Zuverlässiger Byte-Strom (TCP) 388 5.2.1 Ende-zu-Ende-Fragen 389 5.2.2 Segmentformat 392 5.2.3 Auf- und Abbau von Verbindungen 394 5.2.4 Nochmals: Sliding-Window 399 5.2.5 Übertragung anstoßen 404
xiv I Inhalt 5.2.6 Adaptive Neuübertragung 407 5.2.7 Datensatzgrenzen 411 5.2.8 TCP-Erweiterungen 412 5.2.9 Alternative Designoptionen 414 5.3 Remote Procedure Call (RPC) 416 5.3.1 RPC-Grundlagen 417 5.3.2 RPC-Implementierungen (SunRPC, DCE) 424 5.4 Transport für Echtzeitanwendungen (RTP) 430 5.4.1 Anforderungen 432 5.4.2 RTP-Details 434 5.4.3 RTCP - das Kontrollprotokoll 438 5.5 Netzwerkleistung (Performance) 441 5.6 Zusammenfassung 444 Weiterführende Literatur 447 Übungen 448 6 Überlastkontrolle und Ressourcenzuteilung 462 6.1 Ressourcenzuteilung 464 6.1.1 Netzwerkmodell 465 6.1.2 Taxonomie 468 6.1.3 Bewertungskriterien 471 6.2 Queuing-Disziplinen 474 6.2.1 FIFO 474 6.2.2 Faires Queuing 476 6.3 Überlastkontrolle in TCP 481 6.3.1 Additive Increase / Multiplicative Decrease 481 6.3.2 Slow-Start 484 6.3.3 Fast-Retransmit und Fast-Recovery 490 6.4 Mechanismen zur Überlastvermeidung 492 6.4.1 DECbit 493 6.4.2 Random Early Detection (RED) 494 6.4.3 Quellenbasierte Überlastvermeidung 500 6.5 Dienstgüte (QoS) 506 6.5.1 Anforderungen von Anwendungen 507 6.5.2 Integrated-Services (RSVP) 512 6.5.3 Differentiated-Services (EF, AF) 523 6.5.4 Gleichungsbasierte Überlastkontrolle 530 6.6 Zusammenfassung 532 Weiterführende Literatur 533 Übungen 535
Inhalt xv 7 Ende-zu-Ende-Daten 548 7.1 Darstellungsformatierung 550 7.1.1 Taxonomie 551 7.1.2 Beispiele (XDR, ASN.l, NDR) 555 7.1.3 Markup-Sprachen (XML) 559 7.2 Datenkompression 563 7.2.1 Verlustlose Kompressionsalgorithmen 565 7.2.2 Bildkompression (JPEG) 567 7.2.3 Videokompression (MPEG) 572 7.2.4 Übertragung von MPEG über das Netzwerk 577 7.2.5 Audiokompression (MP3) 581 7.3 Zusammenfassung 583 Weiterführende Literatur 584 Übungen 585 8 Sicherheit in Netzwerken 592 8.1 Kryptografische Werkzeuge 595 8.1.1 Chiffrierungsprinzipien 595 8.1.2 Symmetrische Chiffrierverfahren 598 8.1.3 Asymmetrische Chiffrierverfahren 599 8.1.4 Authentifizierungscodes 602 8.2 Schlüsselverteilung 606 8.2.1 Vorverteilung öffentlicher Schlüssel 607 8.2.2 Vorverteilung symmetrischer Schlüssel 611 8.3 Authentifikationsprotokolle 612 8.3.1 Techniken für Ursprungsechtheit und Aktualität 613 8.3.2 Public-Key-Authentifikationsprotokolle 614 8.3.3 Symmetrie-Key-Authentifikationsprotokolle 615 8.3.4 Die Diffie-Hellman-Schlüsselvereinbarung 619 8.4 Sichere Systeme 621 8.4.1 Pretty Good Privacy (PGP) 621 8.4.2 Secure Shell (SSH) 623 8.4.3 Sicherheit auf der Transportschicht (TLS, SSL, HTTPS) 626 8.4.4 IP Security (IPsec) 631 8.4.5 Sicherheit in drahtlosen Netzen (802.11i) 633 8.5 Firewalls 635 8.5.1 Die Stärken und Schwächen von Firewalls 637 8.6 Zusammenfassung 639 Weiterführende Literatur 643 Übungen 644
xvi I Inhalt 9 Anwendungen 650 9.1 Traditionelle Anwendungen 652 9.1.1 Electronic Mail (SMTP, MIME) 653 9.1.2 Das World Wide Web (HTTP) 660 9.1.3 Domain Name System (DNS) 667 9.1.4 Netzwerkmanagement (SNMP) 676 9.2 Web Services 678 9.2.1 Anpassbare Anwendungsprotokolle (WSDL, SO AP) 680 9.2.2 REST - ein generisches Anwendungsprotokoll 687 9.3 Multimedia-Anwendungen 689 9.3.1 Session Control und Call Control (SDP, SIP, H.323) 689 9.3.2 Ressourcenzuweisung für Multimedia-Anwendungen 699 9.4 Overlay-Netzwerke 704 9.4.1 Routing-Overlays 707 9.4.2 Peer-to-Peer-Netzwerke (Gnutella, BitTorrent) 714 9.4.3 Inhaltsverteilungsnetzwerke 726 9.5 Zusammenfassung 732 Weiterführende Literatur 733 Übungen 735 Lösungen zu ausgewählten Übungen 743 Glossar 759 Literatur 793 Index 807