E-Book, Deutsch, 1045 Seiten
Reihe: Rheinwerk Computing
Dordal Rechnernetze
1. Auflage 2022
ISBN: 978-3-8362-9096-8
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Das umfassende Lehrbuch
E-Book, Deutsch, 1045 Seiten
Reihe: Rheinwerk Computing
ISBN: 978-3-8362-9096-8
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Wie Daten zwischen Rechnern ausgetauscht werden, ist absolutes Grundlagenwissen im Informatikstudium: Das OSI-Modell und die Grundlagen der paketbasierten Kommunikation müssen Sie kennen, wenn Sie professionell mit Computern arbeiten. Dazu finden Sie in diesem umfassenden Lehrbuch den vollständigen Überblick über moderne Netzwerkthemen: Von der technischen Umsetzung über Algorithmen und Protokolle bis zur Planung und Konzeption von Netzwerkarchitekturen .
- Theorie und Grundlagen IP-basierter Netzwerke
- Protokolle, Algorithmen und Techniken
- Ihr Begleiter für Vorlesung, Tutorium und Praxis
Aus dem Inhalt:
- Netzwerke im Überblick
- Ethernet und WLAN
- Packete, Verbindungen und Routing
- Routing-Algorithmen und Large Scale IP-Routing
- Border Gateway Protocol (BGP)
- IPv4 und IPv6 und Ihre Begleiter: DNS, ARP, DHCP, SLAAC
- Transportprotokolle: UDP und TCP
- Queuing und Scheduling
- Quality of Service
- Netzwerkmanagement mit SNMP
- Sicherheit und praktische Anwendung
Autoren/Hrsg.
Weitere Infos & Material
Materialien zum Buch ... 25
Geleitwort des Fachgutachters ... 27
1. Netzwerke im Überblick ... 29
1.1 ... Schichten ... 29
1.2 ... Datenrate, Durchsatz und Bandbreite ... 30
1.3 ... Pakete ... 31
1.4 ... Datagrammweiterleitung ... 33
1.5 ... Topologie ... 37
1.6 ... Routing-Schleifen ... 38
1.7 ... Überlast ... 40
1.8 ... Mehr über Pakete ... 41
1.9 ... LANs und Ethernet ... 42
1.10 ... IP -- Internet Protocol ... 45
1.11 ... DNS ... 54
1.12 ... Transport ... 55
1.13 ... Firewalls ... 61
1.14 ... Einige nützliche Dienstprogramme ... 63
1.15 ... IETF und OSI ... 65
1.16 ... Berkeley Unix ... 69
1.17 ... Epilog ... 70
1.18 ... Übungen ... 70
2. Ethernet-Grundlagen ... 75
2.1 ... Klassisches 10-Mbit/s-Ethernet ... 76
2.2 ... 100 Mbit/s (Fast) Ethernet ... 93
2.3 ... Gigabit-Ethernet ... 95
2.4 ... Ethernet-Switches ... 96
2.5 ... Epilog ... 101
2.6 ... Übungen ... 102
3. Weiterführende Ethernet-Themen ... 107
3.1 ... Spanning-Tree-Algorithmus und Redundanz ... 108
3.2 ... Virtuelles LAN (VLAN) ... 114
3.3 ... TRILL und SPB ... 119
3.4 ... Software-Defined Networking ... 122
3.5 ... Epilog ... 132
3.6 ... Übungen ... 132
4. Drahtlose LANs ... 137
4.1 ... Abenteuer im Funkland ... 137
4.2 ... Wi-Fi ... 143
4.3 ... WiMAX und LTE ... 182
4.4 ... Ortsfeste Drahtlosnetzwerke ... 188
4.5 ... Epilog ... 190
4.6 ... Übungen ... 191
5. Sonstige LAN-Technologien ... 195
5.1 ... Virtuelle private Netzwerke ... 195
5.2 ... Carrier-Ethernet ... 197
5.3 ... Token Ring ... 198
5.4 ... Virtuelle Verbindungen ... 200
5.5 ... Asynchronous Transfer Mode: ATM ... 204
5.6 ... Epilog ... 208
5.7 ... Übungen ... 208
6. Verbindungen ... 213
6.1 ... Kodierung und Frames ... 213
6.2 ... Zeitmultiplexverfahren ... 220
6.3 ... Epilog ... 227
6.4 ... Übungen ... 227
7. Pakete ... 229
7.1 ... Paketverzögerung ... 229
7.2 ... Schwankungen der Paketverzögerung ... 233
7.3 ... Paketgröße ... 234
7.4 ... Fehlererkennung ... 237
7.5 ... Epilog ... 245
7.6 ... Übungen ... 245
8. Sliding Windows ... 251
8.1 ... Zuverlässige Datenübertragung: Stop-and-Wait ... 251
8.2 ... Die Sliding-Windows-Strategie ... 256
8.3 ... Lineare Flaschenhälse ... 261
8.4 ... Epilog ... 271
8.5 ... Übungen ... 271
9. IP Version 4 ... 277
9.1 ... Der IPv4-Header ... 279
9.2 ... Schnittstellen ... 282
9.3 ... Spezielle Adressen ... 284
9.4 ... Fragmentierung ... 287
9.5 ... Der klassenlose IP-Delivery-Algorithmus ... 290
9.6 ... IPv4-Subnetze ... 294
9.7 ... Netzwerkadressübersetzung ... 302
9.8 ... Unnummerierte Schnittstellen ... 309
9.9 ... Mobile IP ... 311
9.10 ... Epilog ... 313
9.11 ... Übungen ... 313
10. IPv4-Begleitprotokolle ... 317
10.1 ... DNS ... 317
10.2 ... Address Resolution Protocol: ARP ... 336
10.3 ... Dynamic Host Configuration Protocol (DHCP) ... 341
10.4 ... Internet Control Message Protocol ... 343
10.5 ... Epilog ... 349
10.6 ... Übungen ... 349
11. IPv6 ... 351
11.1 ... Der IPv6-Header ... 352
11.2 ... IPv6-Adressen ... 353
11.3 ... Netzwerkpräfixe ... 358
11.4 ... IPv6-Multicast ... 359
11.5 ... IPv6-Erweiterungsheader ... 360
11.6 ... Nachbarschaftserkennung (Neighbor Discovery) ... 364
11.7 ... Zuweisung von IPv6-Hostadressen ... 371
11.8 ... Epilog ... 378
11.9 ... Übungen ... 378
12. Weitere IPv6-Funktionen ... 381
12.1 ... Weltweit sichtbare Adressen ... 381
12.2 ... ICMPv6 ... 382
12.3 ... IPv6-Subnetze ... 384
12.4 ... IPv6 und IPv4 gemeinsam benutzen ... 386
12.5 ... IPv6-Beispiele ohne Router ... 392
12.6 ... IPv6-Konnektivität über Tunneling ... 395
12.7 ... Konnektivität von IPv6 nach IPv4 ... 400
12.8 ... Epilog ... 402
12.9 ... Übungen ... 402
13. Routing-Update-Algorithmen ... 405
13.1 ... Distanzvektor-Routing-Update-Algorithmus ... 406
13.2 ... Langsames Konvergenzproblem bei Distanzvektoren ... 413
13.3 ... Minimierung der Streckenkosten ... 415
13.4 ... Schleifenfreie Distanzvektor-Algorithmen ... 418
13.5 ... Link-State-Routing-Update-Algorithmus ... 427
13.6 ... Routing nach anderen Attributen ... 432
13.7 ... ECMP ... 434
13.8 ... Epilog ... 435
13.9 ... Übungen ... 436
14. IP-Routing im großen Maßstab ... 445
14.1 ... Classless Internet Domain Routing: CIDR ... 446
14.2 ... Hierarchisches Routing ... 449
14.3 ... Routing in früherer Zeit ... 450
14.4 ... Providerbasiertes Routing ... 451
14.5 ... Geografisches Routing ... 458
14.6 ... Epilog ... 459
14.7 ... Übungen ... 459
15. Border Gateway Protocol (BGP) ... 465
15.1 ... AS-Pfade ... 467
15.2 ... AS-Pfade und Routenaggregation ... 469
15.3 ... Transit-Traffic ... 471
15.4 ... BGP-Filterung und Routing-Policies ... 471
15.5 ... BGP-Tabellengröße ... 474
15.6 ... BGP-Pfadattribute ... 475
15.7 ... BGP und Traffic-Engineering ... 480
15.8 ... BGP und Anycast ... 484
15.9 ... BGP für internes Routing ... 485
15.10 ... BGP-Beziehungen ... 486
15.11 ... Beispiele für BGP-Instabilität ... 492
15.12 ... BGP-Sicherheit und Route Registrys ... 494
15.13 ... Epilog ... 500
15.14 ... Übungen ... 500
16. UDP-Übertragung ... 503
16.1 ... User Datagram Protocol -- UDP ... 503
16.2 ... Trivial File Transport Protocol, TFTP ... 520
16.3 ... Grundlegende Übertragungsprobleme ... 523
16.4 ... Weitere Anmerkungen zu TFTP ... 531
16.5 ... Remote Procedure Call (RPC) ... 534
16.6 ... Epilog ... 539
16.7 ... Übungen ... 539
17. Grundlagen des TCP-Transports ... 545
17.1 ... Das Ende-zu-Ende-Prinzip ... 547
17.2 ... TCP-Header ... 547
17.3 ... Aufbau einer TCP-Verbindung ... 549
17.4 ... TCP und WireShark ... 555
17.5 ... TCP-Offloading ... 557
17.6 ... TCP-Simplex-Talk ... 558
17.7 ... TCP und bind() ... 563
17.8 ... TCP-Zustandsdiagramm ... 565
17.9 ... Epilog ... 572
17.10 ... Übungen ... 572
18. TCP -- Probleme und Alternativen ... 577
18.1 ... Alte Duplikate bei TCP ... 577
18.2 ... TIMEWAIT ... 578
18.3 ... Der dreifache Handshake -- erneut betrachtet ... 580
18.4 ... Anomale TCP-Szenarien ... 583
18.5 ... Schnelleres Öffnen von TCP-Verbindungen ... 584
18.6 ... Path MTU Discovery ... 587
18.7 ... Sliding Windows bei TCP ... 587
18.8 ... Verzögerte ACKs bei TCP ... 588
18.9 ... Nagle-Algorithmus ... 589
18.10 ... Flusssteuerung bei TCP ... 590
18.11 ... Silly-Window-Syndrom ... 591
18.12 ... Zeitüberschreitung und Neuübertragung bei TCP ... 592
18.13 ... KeepAlive ... 594
18.14 ... TCP-Timer ... 594
18.15 ... Varianten und Alternativen ... 595
18.16 ... Epilog ... 608
18.17 ... Übungen ... 608
19. TCP Reno und Überlastmanagement ... 611
19.1 ... Grundlagen des TCP-Überlastmanagements ... 612
19.2 ... Slow Start ... 618
19.3 ... TCP Tahoe und Fast-Retransmit ... 624
19.4 ... TCP Reno und Fast-Recovery ... 626
19.5 ... TCP NewReno ... 630
19.6 ... Selektive Bestätigungen (SACK) ... 632
19.7 ... TCP und Auslastung der Flaschenhalsverbindung ... 633
19.8 ... Verluste einzelner Pakete ... 638
19.9 ... Annahmen zu TCP und Skalierbarkeit ... 639
19.10 ... TCP-Parameter ... 640
19.11 ... Epilog ... 641
19.12 ... Übungen ... 641
20. TCP-Dynamik ... 647
20.1 ... Ein erster Blick auf das Queuing ... 647
20.2 ... Flaschenhalsverbindungen mit konkurrierendem Datenverkehr ... 649
20.3 ... TCP Reno -- Fairness mit synchronisierten Verlusten ... 659
20.4 ... Epilog ... 669
20.5 ... Übungen ... 669
21. Weitere TCP-Dynamiken ... 675
21.1 ... Begriffe der Fairness ... 675
21.2 ... TCP-Reno-Verlustrate und cwnd ... 677
21.3 ... TCP-Freundlichkeit ... 680
21.4 ... Noch einmal AIMD ... 684
21.5 ... Aktives Warteschlangenmanagement ... 686
21.6 ... Das TCP-Problem der hohen Bandbreiten ... 694
21.7 ... Das Problem der verlustbehafteten Verbindungen ... 696
21.8 ... Das Problem der Satelliten-TCP-Verbindungen ... 697
21.9 ... Epilog ... 697
21.10 ... Übungen ... 698
22. Queuing und Scheduling ... 705
22.1 ... Queuing und Echtzeitdatenverkehr ... 706
22.2 ... Traffic-Management ... 707
22.3 ... Priority Queuing ... 708
22.4 ... Warteschlangenverfahren ... 708
22.5 ... Fair Queuing ... 710
22.6 ... Anwendungen von Fair Queuing ... 730
22.7 ... Hierarchisches Queuing ... 733
22.8 ... Hierarchical Weighted Fair Queuing ... 737
22.9 ... Epilog ... 744
22.10 ... Übungen ... 745
23. Token-Bucket ... 749
23.1 ... Token-Bucket -- Definition ... 750
23.2 ... Token-Bucket -- Beispiele ... 753
23.3 ... Mehrere Token-Buckets ... 754
23.4 ... GCRA ... 755
23.5 ... Gewährleistung der VoIP-Bandbreite ... 757
23.6 ... Verzögerung begrenzen ... 758
23.7 ... Token-Bucket durch einen Router ... 760
23.8 ... Token-Bucket durch mehrere Router ... 761
23.9 ... Verzögerungsbedingungen ... 762
23.10 ... CBQ ... 765
23.11 ... Linux HTB ... 765
23.12 ... Parekh-Gallager Theorem ... 767
23.13 ... Epilog ... 768
23.14 ... Übungen ... 768
24. Quality of Service ... 773
24.1 ... Netzneutralität ... 775
24.2 ... Wo die wilden Warteschlangen wohnen ... 775
24.3 ... Echtzeit-Datenverkehr ... 776
24.4 ... Integrated Services/RSVP ... 780
24.5 ... Globales IP-Multicast ... 781
24.6 ... RSVP ... 788
24.7 ... Differentiated Services ... 794
24.8 ... RED with In and Out ... 801
24.9 ... NSIS ... 801
24.10 ... Comcast-System zu Überlaststeuerung ... 802
24.11 ... Real-time Transport Protocol (RTP) ... 804
24.12 ... Multi-Protocol Label Switching (MPLS) ... 810
24.13 ... Epilog ... 814
24.14 ... Übungen ... 814
25. Netzwerkverwaltung und SNMP ... 817
25.1 ... Netzwerkarchitektur ... 820
25.2 ... SNMP-Grundlagen ... 820
25.3 ... Namen und OIDs unter SNMP ... 823
25.4 ... MIBs ... 825
25.5 ... SNMPv1-Datentypen ... 827
25.6 ... ASN.1-Syntax und SNMP ... 828
25.7 ... SNMP-Tabellen ... 829
25.8 ... SNMP-Operationen ... 835
25.9 ... MIB-Browsing ... 841
25.10 ... MIB-2 ... 842
25.11 ... SNMPv1-Communitys und -Sicherheit ... 853
25.12 ... SNMP und die ASN.1-Kodierung ... 855
25.13 ... Übungen ... 859
26. Die SNMP-Versionen 2 und 3 ... 863
26.1 ... SNMPv2 ... 863
26.2 ... Erstellung von Tabellenzeilen ... 879
26.3 ... SNMPv3 ... 890
26.4 ... Übungen ... 905
27. Sicherheit ... 907
27.1 ... Einbruch mit Ausführung von Code ... 909
27.2 ... Stapelüberlauf ... 911
27.3 ... Heap-Überlauf ... 923
27.4 ... Network Intrusion Detection ... 930
27.5 ... Ziele der Kryptografie ... 932
27.6 ... Sichere Hashes ... 934
27.7 ... Verschlüsselung mit gemeinsamem Schlüssel ... 940
27.8 ... Diffie-Hellman-Merkle-Schlüsselaustausch ... 954
27.9 ... Übungen ... 959
28. Verschlüsselung mit öffentlichem Schlüssel ... 963
28.1 ... RSA ... 963
28.2 ... Vorwärts gerichtete Geheimhaltung ... 967
28.3 ... Vertrauen und der Mann in der Mitte ... 969
28.4 ... Ende-zu-Ende-Verschlüsselung ... 970
28.5 ... SSH und TLS ... 971
28.6 ... IPsec ... 998
28.7 ... DNSSEC ... 1002
28.8 ... Beispiele mit RSA-Schlüssel ... 1016
28.9 ... Übungen ... 1020
Bibliografie ... 1023
Index ... 1033
1.4 Datagrammweiterleitung
Beim Datagrammweiterleitungsmodell für die Paketzustellung enthalten die Paketköpfe eine Zieladresse. Es ist Aufgabe der zwischengeschalteten Switches oder Router, diese Adresse zu prüfen und das Paket an das richtige Ziel weiterzuleiten.
Dies wird bei der Datagrammweiterleitung dadurch erreicht, dass jeder Switch eine Weiterleitungstabelle mit
Die »destination«-Einträge in der Weiterleitungstabelle müssen nicht genau mit den Zieladressen der Pakete übereinstimmen, obwohl das hier in den Beispielen – und bei der Ethernet-Datagrammweiterleitung – der Fall ist. Beim IP-Routing entsprechen die »destination«-Einträge in der Tabelle jedoch Präfixen von IP-Adressen; dies führt zu einer enormen Platzersparnis. Die Grundvoraussetzung ist, dass der Switch mithilfe seiner Weiterleitungstabelle und der Zieladresse im ankommenden Paket eine Lookup-Operation durchführen kann, um den nächsten Hop zu bestimmen.
Für den Moment stellen wir noch zurück, wie die Weiterleitungstabelle aufgebaut ist. Wir kommen in Abschnitt 2.4.2, »Ethernet-Lernalgorithmus«, für Ethernet-Switches und in Kapitel 13, »Routing-Update-Algorithmen«, für IP-Router darauf zurück. Vorerst können die Weiterleitungstabellen als durch Erstkonfiguration erstellt betrachtet werden.
In Abbildung 1.3 hat Switch S1 die Schnittstellen 0, 1 und 2 und Switch S2 die Schnittstellen 0, 1, 2, 3. Wenn A ein Paket an B senden will, muss S1 einen Eintrag in der Weiterleitungstabelle aufweisen, der angibt, dass das Ziel B über seine Schnittstelle 2 erreicht wird, und S2 muss einen Eintrag aufweisen, der das Paket über die Schnittstelle 3 weiterleitet.
Abbildung 1.3 Zwei Switches (S1 und S2) mit ihren Schnittstellennummern
Die vollständige Weiterleitungstabelle für S1 mit Schnittstellennummern in der Spalte next_hop könnte folgendermaßen aussehen:
| destination | next_hop |
|---|
| A | 0 |
| C | 1 |
| B | 2 |
| D | 2 |
| E | 2 |
Tabelle 1.1 Weiterleitung von S1
Die Tabelle für S2 könnte wie folgt aussehen, wobei wir der Einfachheit halber die Ziele A und C zusammengefasst haben.
| destination | next_hop |
|---|
| A,C | 0 |
| D | 1 |
| E | 2 |
| B | 3 |
Tabelle 1.2 Weiterleitung von S2
Im oben gezeigten Netzwerk sind alle Verbindungen Punkt-zu-Punkt, und deshalb entspricht jede Schnittstelle dem einzigen unmittelbaren Nachbarn, der von dieser Schnittstelle erreicht wird. Wir können also die Schnittstelleneinträge in der Spalte next_hop durch den Namen des entsprechenden Nachbarn ersetzen. Für menschliche Leserinnen und Leser ist die Verwendung von Nachbarn in der next_hop-Spalte in der Regel deutlich leichter verständlich. Die Tabelle von S1 kann nun wie folgt aussehen (mit Konsolidierung der Einträge für B, D und E):
| destination | next_hop |
|---|
| A | A |
| C | C |
| B, D, E | S2 |
Tabelle 1.3 Weiterleitung von S1
Ein zentrales Merkmal der Datagrammweiterleitung ist, dass jedes Paket »isoliert« weitergeleitet wird; die beteiligten Switches haben keine Kenntnis von logischen Verbindungen auf höherer Schicht, die zwischen den Endpunkten bestehen. Man bezeichnet dies auch als zustandslose Weiterleitung: Die Weiterleitungstabellen weisen keinen verbindungsbezogenen Zustand auf. In RFC 1122 wird es folgendermaßen formuliert (im Zusammenhang mit der Datagrammweiterleitung auf IP-Schicht):
Um die Stabilität des Kommunikationssystems zu verbessern, sind die Gateways zustandslos konzipiert, sodass sie jedes IP-Datagramm unabhängig von anderen Datagrammen weiterleiten. Dadurch können redundante Pfade genutzt werden, um auch bei Ausfällen zwischengeschalteter Gateways und Netzwerke einen zuverlässigen Dienst bereitzustellen.
Die grundlegende Alternative zur Datagrammweiterleitung sind virtuelle Verbindungen, Abschnitt 5.4, »Virtuelle Verbindungen«. In Netzwerken mit virtuellen Verbindungen unterhält jeder Router einen Status über jede Verbindung, die ihn durchläuft; verschiedene Verbindungen können unterschiedlich weitergeleitet werden. Wenn die Weiterleitung von Paketen z. B. von verbindungsspezifischen Informationen abhängt – etwa von den beiden TCP-Portnummern – handelt es sich nicht um eine Datagrammweiterleitung. (Abgesehen davon handelt es sich wohl trotzdem um eine Datagrammweiterleitung, wenn Web-Traffic – an TCP-Port 80 – anders weitergeleitet wird als der übrige Traffic, weil diese Regel nicht von der spezifischen Verbindung abhängt).
Bei der Datagrammweiterleitung können manchmal auch andere Informationen als die Zieladresse verwendet werden. Theoretisch kann das IP-Routing auf der Grundlage der Zieladresse und bestimmter Quality-of-Service-Informationen erfolgen, sodass z. B. für Volumen-Traffic mit hoher Bandbreite und für Echtzeit-Traffic mit niedriger Latenz eine unterschiedliche Weiterleitung zum selben Ziel möglich ist. In der Praxis ignorieren die meisten Internet-Service-Provider (ISP) die vom Benutzer bereitgestellten QoS-Informationen im IP-Header, es sei denn, sie haben eine entsprechende Vereinbarung getroffen, und leiten nur auf der Grundlage des Ziels weiter.
...



