Table Of ContentPeter Mandl | Andreas Bakomenko | Johannes Weiß
Grundkurs Datenkommunikation
Aus dem Programm Technische und
Ingenieurinformatik
Weitere Titel des Autors:
Grundkurs Betriebssysteme
von P. Mandl
Grid Computing
herausgegeben von G. Barth und A. Schüll
Masterkurs Parallele und Verteilte Systeme
von G. Bengel, C. Baun, M. Kunze und K.-U. Stucky
Grundkurs Verteilte Systeme
von G. Bengel
Grundkurs Codierung
von W. Dankmeier
Hardware-Software-Codesign
von R. Gessler und T. Mahr
Rechnerarchitektur
von P. Herrmann
Grundkurs Mobile Kommunikationssysteme
von M. Sauter
Grundkurs Computernetze
von J. Scherff
Grundlagen der Rechnerkommunikation
von B. Schürmann
www.viewegteubner.de
Peter Mandl | Andreas Bakomenko | Johannes Weiß
Grundkurs
Datenkommunikation
TCP/IP-basierte Kommunikation: Grundlagen,
Konzepte und Standards
Mit 219 Abbildungen
STUDIUM
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der
Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über
<http://dnb.d-nb.de> abrufbar.
Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgend-
einer Art verbunden. Der Autor übernimmt infolgedessen keine Verantwortung und wird keine daraus
folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieses
Programm-Materials oder Teilen davon entsteht.
Höchste inhaltliche und technische Qualität unserer Produkte ist unser Ziel. Bei der Produktion und
Auslieferung unserer Bücher wollen wir die Umwelt schonen: Dieses Buch ist auf säurefreiem und
chlorfrei gebleichtem Papier gedruckt. Die Einschweißfolie besteht aus Polyäthylen und damit aus
organischen Grundstoffen, die weder bei der Herstellung noch bei der Verbrennung Schadstoffe
freisetzen.
1. Auflage 2008
Alle Rechte vorbehalten
© Vieweg+Teubner|GWV Fachverlage GmbH, Wiesbaden 2008
Lektorat: Sybille Thelen | Andrea Broßler
Vieweg+Teubner ist Teil der Fachverlagsgruppe Springer Science+Business Media.
www.viewegteubner.de
Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede
Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne
Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für
Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung
und Verarbeitung in elektronischen Systemen.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk
berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im
Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher
von jedermann benutzt werden dürften.
Umschlaggestaltung:KünkelLopka Medienentwicklung, Heidelberg
Druck und buchbinderische Verarbeitung: MercedesDruck, Berlin
Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier.
Printed in Germany
ISBN 978-3-8348-0517-1
Vorwort
Obwohl es Netzwerke zur Datenkommunikation noch gar noch nicht so lange gibt,
sind sie heute die Basis für viele Anwendungssysteme. Im Zuge der ISO/OSI-
Bemühungen in den 80er Jahren wurden einige grundlegende Konzepte für die
Datenkommunikation erarbeitet. Jedoch waren die zum Teil sehr guten Ansätze in
mancher Hinsicht zu komplex für eine Implementierung. So ganz nebenbei ver-
breitete sich seit dieser Pionierzeit die TCP/IP-Protokollfamilie immer mehr. Imp-
lementierungen waren schon bald auf Unix-Systemen verfügbar und die Netze
wurden immer größer. TCP/IP und die darüberliegenden Protokolle stellen heute
einen Standard dar, ohne den viele Netzwerke nicht funktionieren könnten. Bei-
spielsweise ist das globale Internet mit seinen Anwendungen ohne TCP/IP heute
nicht mehr vorstellbar. In diesem Buch werden die Grundlagen, wichtige Konzepte
und Standards TCP/IP-basierter Kommunikation anhand konkreter Protokolle
vermittelt. Es soll dazu beitragen, den komplexen Sachverhalt zu strukturieren
und verständlich zu machen. Dabei liegt der Schwerpunkt vor allem bei praktisch
relevanten Themen, aber auch die grundlegenden Aspekte sollen erläutert werden.
Das Buch behandelt insgesamt die folgenden acht Themenkomplexe:
1. Einführung in Referenzmodelle und Protokolle
2. Technische Grundlagen von Rechnernetzen
3. Ausgewählte Technologien und Protokolle unterer Schichten
4. Konzepte und Protokolle der Vermittlungsschicht
5. Konzepte und Protokolle der Transportschicht
6. Ausgewählte Anwendungsprotokolle
7. Grundlagen der mobilen Kommunikation
8. Entwicklung von Kommunikationsanwendungen
Kapitel 1 gibt eine grundlegende Einführung in Referenzmodelle und Protokolle,
wobei auf das ISO/OSI-Referenzmodell und das TCP/IP-Referenzmodell eingegan-
gen wird. Kapitel 2 fasst wichtige technische Grundlagen für das Verständnis der
unteren beiden Schichten zusammen. In Kapitel 3 werden einige ausgewählte
Netzwerktechnologien und Protokolle aus den unteren Schichten vorgestellt, die
heute für den WAN-Zugang sowie im LAN von Bedeutung sind.
V
Vorwort
In Kapitel 4 und 5 wird detailliert auf die Vermittlungsschicht und die Transport-
schicht eingegangen, wobei vor allem die wichtigsten Kommunikationsprotokolle
aus der TCP/IP-Protokollfamilie als Beispiele dienen.
In Kapitel 6 wird schließlich exemplarisch auf einige Anwendungsprotokolle bzw.
-systeme eingegangen. Als Fallbeispiele dienen das Domain Name System, das
World Wide Web und E-Mailsysteme. Dies sind Protokolle und Systeme, ohne die
das Internet und das WWW heute kaum mehr vorstellbar wären. Weiterhin wer-
den einige Multimedia-Protokolle, die zunehmend an Bedeutung gewinnen, disku-
tiert. Kapitel 7 befasst sich mit den Grundlagen von mobilen Systemen, die heute
Einzug in verschiedenste Anwendungen halten und Kapitel 8 zeigt schließlich auf,
wie man Kommunikationsanwendungen auf Basis von Transportzugriffsschnitt-
stellen wie Sockets programmiert.
In diesem Buch wird ein praxisnaher Ansatz gewählt. Der Stoff wird mit vielen
Beispielen aus aktuell relevanten Protokollstandards angereichert. Für das Ver-
ständnis einiger Programmbeispiele sind grundlegende Kenntnisse von Program-
miersprachen (C, C++, Java und C#) nützlich, jedoch können die wesentlichen
Konzepte auch ohne tiefere Programmierkenntnisse verstanden werden. Vom Le-
ser werden ansonsten keine weiteren Grundkenntnisse vorausgesetzt.
Der Inhalt des Buches entstand aus mehreren Vorlesungen über Datenkommuni-
kation an der Hochschule für angewandte Wissenschaften – FH München.
Bedanken möchten wir uns sehr herzlich bei unseren Studentinnen und Studenten,
die uns Feedback zum Vorlesungsstoff gaben. Dem Verlag danken wir für die
großartige Unterstützung im Projekt und für die sehr konstruktive Zusammenar-
beit.
Fragen und Korrekturvorschläge richten Sie bitte an mandl@cs.hm.edu.
Für begleitende Informationen zur Vorlesung siehe www.prof-mandl.de.
München, im Juli 2008
Peter Mandl, Andreas Bakomenko und Johannes Weiß
VI
Inhaltsverzeichnis
1 Einführung in Referenzmodelle und Protokolle......................................................1
1.1 Das ISO/OSI-Referenzmodell.................................................................................2
1.2 Das TCP/IP-Referenzmodell...................................................................................9
1.3 Klassische Protokollemechanismen.....................................................................11
1.4 Übungsaufgaben....................................................................................................13
2 Technische Grundlagen von Rechnernetzen..........................................................15
2.1 Bitübertragungsschicht..........................................................................................15
2.1.1 Aufgaben und Einordnung......................................................................15
2.1.2 Digitale Übertragung und Multiplexierung..........................................22
2.1.3 Pulse Code Modulation (PCM)...............................................................24
2.1.4 Kanalkodierung.........................................................................................27
2.1.5 Datenübertragungsmedien und Verkabelung......................................28
2.2 Sicherungsschicht...................................................................................................32
2.2.1 Aufgaben und Einordnung......................................................................32
2.2.2 Topologien..................................................................................................36
2.2.3 Buszugriffsverfahren................................................................................36
2.2.4 Fallbeispiel: CSMA-Protokolle................................................................39
2.2.5 Überblick über konkrete Netzwerktechnologien..................................41
2.3 Übungsaufgaben....................................................................................................43
3 Ausgewählte Technologien und Protokolle unterer Schichten..........................45
3.1 Bitübertragungsschicht: Der RS-232-Standard...................................................45
3.2 Protokolle und Technologien der Sicherungsschicht........................................49
3.2.1 HDLC-Protokoll........................................................................................49
3.2.2 Point-to-Point-Protocol (PPP)..................................................................54
3.2.3 Ethernet LAN.............................................................................................56
VII
Inhaltsverzeichnis
3.2.4 Wireless LAN (WLAN)............................................................................67
3.3 Zugang zu öffentlichen Netzen (WAN-Technologien)....................................69
3.3.1 ISDN...........................................................................................................69
3.3.2 DSL.............................................................................................................73
3.3.3 PDH, SDH und SONET...........................................................................75
3.3.4 ATM............................................................................................................77
3.4 Übungsaufgaben....................................................................................................83
4 Konzepte und Protokolle der Vermittlungsschicht..............................................85
4.1 Grundlagen............................................................................................................85
4.1.1 Vermittlungsverfahren............................................................................86
4.1.2 Wegewahl (Routing)................................................................................90
4.1.3 Staukontrolle (Congestion Control).......................................................96
4.2 Das Internet und das Internet-Protokoll IPv4...................................................98
4.2.1 Überblick....................................................................................................98
4.2.2 Autonome Systeme..................................................................................99
4.2.3 Standardisierung im Internet................................................................101
4.2.4 Adressierung in Internet-basierten Netzen.........................................102
4.2.5 Subnetze und deren Adressierung.......................................................107
4.2.6 VLSM und CIDR.....................................................................................109
4.2.7 IP-Protokoll-Header...............................................................................116
4.2.8 IP-Fragmentierung und -Reassemblierung.........................................118
4.2.9 Routing im Internet................................................................................120
4.3 Steuer- und Konfigurationsprotokolle im Internet.........................................141
4.3.1 Internet Control Message Protocol (ICMP).........................................141
4.3.2 ARP und RARP.......................................................................................142
4.3.3 NAT und IP-Masquerading..................................................................145
4.3.4 Dynamic Host Configuration Protocol (DHCP).................................148
4.4 Das neue Internet-Protokoll IPv6......................................................................151
4.4.1 Ziele der IPv6-Entwicklung..................................................................151
VIII
Inhaltsverzeichnis
4.4.2 IPv6-Adressstruktur und -Adressraum...............................................151
4.4.3 Der IPv6-Header......................................................................................157
4.4.4 Flussmarken.............................................................................................160
4.4.5 Neighbor Discovery................................................................................161
4.4.6 Automatische Adresskonfiguration.....................................................162
4.4.7 Anpassung wichtiger Protokolle an IPv6............................................164
4.4.8 Migrationaspekte und abschließende Bemerkungen.........................166
4.5 Virtual Private Networks....................................................................................168
4.6 Übungsaufgaben..................................................................................................169
5 Konzepte und Protokolle der Transportschicht...................................................173
5.1 Grundlagen...........................................................................................................173
5.1.1 Transportdienste......................................................................................173
5.1.2 Verbindungsmanagement und Adressierung.....................................175
5.1.3 Zuverlässiger Datentransfer..................................................................181
5.1.4 Flusskontrolle...........................................................................................185
5.1.5 Staukontrolle............................................................................................188
5.1.6 Multiplexierung und Demultiplexierung............................................188
5.1.7 Fragmentierung/Segmentierung und Defragmentierung.................189
5.2 Transmission Control Protocol (TCP)...............................................................189
5.2.1 Einordnung und Aufgaben....................................................................189
5.2.2 TCP-Header..............................................................................................191
5.2.3 Adressierung............................................................................................196
5.2.4 Flusskontrolle...........................................................................................197
5.2.5 Datenübertragung...................................................................................200
5.2.6 Verbindungsmanagement......................................................................204
5.2.7 Staukontrolle............................................................................................208
5.2.8 Timer-Management.................................................................................212
5.2.9 TCP-Zustandsautomat............................................................................213
5.3 User Datagram Protocol (UDP)..........................................................................218
IX
Inhaltsverzeichnis
5.3.1 Einordnung und Aufgaben...................................................................218
5.3.2 UDP-Header............................................................................................219
5.3.3 Datenübertragung..................................................................................221
5.4 Abschließende Bemerkung................................................................................222
5.5 Übungsaufgaben..................................................................................................222
6 Ausgewählte Anwendungsprotokolle..................................................................225
6.1 Überblick über TCP/UDP-Anwendungsprotokolle........................................225
6.2 Domain Name System (DNS)............................................................................228
6.2.1 Systemüberblick......................................................................................228
6.2.2 DNS-Zonen und deren Verwaltung.....................................................231
6.2.3 Namensauflösung...................................................................................233
6.2.4 Inverse Auflösung von IP-Adressen....................................................236
6.2.5 DNS-Konfiguration................................................................................237
6.2.6 DNS-Nachrichten...................................................................................242
6.3 Das World Wide Web.........................................................................................243
6.3.1 Einführung..............................................................................................243
6.3.2 Web-Server und Proxy-Cache-Server..................................................244
6.3.3 Web-Browser...........................................................................................247
6.3.4 HTTP-Protokoll.......................................................................................248
6.3.5 HTTPS, SSL und TLS..............................................................................253
6.3.6 AJAX.........................................................................................................255
6.4 Electronic Mail.....................................................................................................263
6.5 Multimediale Kommunikationsanwendungen...............................................265
6.5.1 Grundlagen und Anforderungen.........................................................265
6.5.2 Audio- und Video-Kompression..........................................................268
6.5.3 Multimedia-Protokolle im Internet......................................................270
6.6 Übungsaufgaben..................................................................................................280
X