Modul 3

Werbung
Transportprotokolle
Modul 3
Transportprotokolle
Lernen Sie
➧
Dieses Modul führt Sie in die unterschiedlichen
Transportprotokolle ein und damit in die Protokolle, die auch als OSI-Schicht-3/4-Protokolle
bezeichnet werden.
Sie werden die wesentlichen Eigenschaften
dieser Protokolle kennen lernen und einordnen
können.
Als eines der zentralen Protokolle werden Sie
sich intensiv mit dem TCP/IP-Protokoll und den
wichtigsten darauf beruhenden Anwendungen
auseinandersetzen. Als Grundlage für die weiteren Module wird daneben auch der Adressvergabe ein großer Raum eingeräumt.
3.1
➧
➧
➧
➧
wesentliche Eigenschaften von Netzwerk- und Transportprotokollen kennen
die Einordnung in das OSI-Referenzmodell verstehen
das IP-Protokoll sowie das TCP-Protokoll kennen
wichtige Anwendungen von TCP/IP
kennen
souverän die Adressvergabe in einem
IP-Netz durchzuführen
Transportprotokolle
Im Laufe der Zeit haben sich eine Vielzahl unterschiedlicher Transportprotokolle entwickelt. Wir ordnen diese auf die OSI-Schichten 3 und 4 ein. Ein typischer Vertreter eines Transportprotokolls ist
TCP/IP. Andere sind etwa IPX/SPX oder AppleTalk.
Historisch gesehen waren bestimmte Transportprotokolle oft mit physikalischen Eigenschaften verbunden. So wurde TCP/IP früher oft mit Ethernet in Verbindung gebracht. Dieser Zusammenhang ist
technisch jedoch nicht wirklich bindend, so lässt sich ein TCP/IP-Netz natürlich auch etwa auf einem
Token Ring benutzen. Allerdings hat diese ursprünglich gemeinsame Nutzung auch die Eigenarten
der Transportprotokolle mitbestimmt. Hierdurch besitzen diese Protokolle zum Teil Eigenschaften,
die vielleicht auf einem anderen physikalischen Medium nicht notwendig gewesen wären. Beispielsweise sind Mechanismen zur Fehlerkorrektur nur dann notwendig, wenn die Wahrscheinlichkeit eines Übertragungsfehlers auf einem Medium hoch ist.
Der Grund für diesen Zusammenhang ist in der Entwicklung der Systeme zum Ende des 20. Jahrhunderts zu suchen. Oft wurden hier neue Protokolle zusammen mit der Einführung spezieller Hardware der Hersteller vorgestellt. Eine Harmonisierung der Protokolle hin zu TCP/IP entstand erst mit
dem explosionsartigen Erfolg des Internets.
Oft werden die Transportprokolle im Rahmen einer gemeinsamen Betrachtung von OSI-Schicht 3
und 4 betrachtet. Nur selten werden die Netzwerkprotokolle (OSI 3) ohne das entsprechende Transportprotokoll (OSI 4) beschrieben. Man spricht hier oft nur von einem Transportprotokoll meint aber
das Paar aus Netzwerk- und Transportprotokoll.
Stellen wir erneut hier die Aufgaben eines solchen Protokolls zusammen:
➧
➧
Netzwerk und Wegewahl (OSI 3)
Gesicherter Übertragungsweg (OSI 4)
Routing & Switching
45
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Bei der Betrachtung von Transportprotokollen unterscheiden wir im Wesentlichen in die folgenden:
➧
➧
Zuverlässige Protokolle
Datagramm-Dienste
3.2
Zuverlässige Protokolle
Ein zuverlässiges Protokoll bedeutet, dass eine größere Menge an Daten zuverlässig zwischen zwei
Systemen ausgetauscht werden kann. Hierzu stellt ein Transportprotokoll einen logischen Kanal zwischen den beteiligten Systemen bereit. Daneben werden die folgenden Aufgaben erfüllt:
➧
➧
➧
➧
Flusskontrollle
Erhaltung der Sequenz
Fehlerkontrolle
Fragmentierung
Flusskontrolle
Bei der Kommunikation zwischen zwei Systemen müssen nicht unbedingt beide gleich leistungsfähig
sein. In der Regel finden wir – in Bezug auf die Rechenleistung – auf der einen Seite einen leistungsfähigeren und auf der anderen Seite einen schwächeren Partner vor. Die Flusskontrolle soll diesem
Umstand Rechnung tragen, also einen Mechanismus bereitstellen, mit dem sich die Menge an gesendeten Daten innerhalb einer Zeitspanne regulieren lässt. Oft ist dieser Mechanismus sehr einfach. Der Empfänger signalisiert seine Bereitschaft zum Empfang und sendet ein Stop-Signal, wenn
die verarbeitbare Datenmenge erreicht ist. Andere Mechanismen regulieren die Datenmenge dynamisch.
Erhaltung der Sequenz
Oft arbeiten Netzwerke paketorientiert. Hierbei wird das Übertragungsmedium nicht exklusiv von den
Kommunikationspartnern genutzt, sondern alle Netzteilnehmer teilen sich ein gemeinsames Medium. Dazu kommt, dass die einzelnen Datenpakete auf ihrem Weg zwischen Sender und Empfänger
unterschiedliche Wege nehmen können und damit evtl. auch unterschiedlich stark verzögert werden
können. Als Ergebnis könnte hierbei die Reihenfolge der Daten durcheinander geraten.
Der Sequenzerhaltungsmechanismus garantiert etwa durch eine Zwischenspeicherung der Datenpakete die richtige Auslieferungsreihenfolge beim Empfänger.
Fehlerkontrolle
Fehlerkontrolle und Korrekturautomatismus sollen die einwandfreie Datenübertragung sicherstellen.
Oft beschränkt sich die Erkennung von Fehlern lediglich auf die vollständige Ablieferung eines Datenpakets.
Zur Erkennung eines eventuellen Übertragungsfehlers wird in der Regel eine Prüfsumme gebildet.
Hierbei berechnet der Sender aus den Nutzdaten eine Prüfsumme und verschickt diese mit den Daten. Der Empfänger berechnet nach demselben Verfahren und kann dadurch die Integrität der Daten
feststellen.
46
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Zur evtl. Korrektur der Daten bieten sich unterschiedliche Wege an. Durch geeignete Verfahren lassen sich fehlende oder fehlerhafte Daten mittels Annäherungsverfahren rekonstruieren. Allerdings
ist ein solches Verfahren meist nur für Daten geeignet, die nicht auf eine exakte Übertragung angewiesen sind (z.B. Sprach- oder Musikübertragung), daneben steigt die Größe der zu versendenden
Daten durch die Korrekturinformationen.
Hinweis
Oft beschränkt sich ein Korrekturmechanismus auf die erneute Auslieferung eines als fehlerhaft erkannten Datenpakets. Da die eingesetzten Datennetze bezogen auf ihre Physik weitgehend fehlerfrei sind, tritt die Fehlerkorrektur hier eher selten in Funktion.
Beachten Sie bitte, dass die Kontrolle und Korrektur von Übertragungsfehlern sich nicht
nur auf echte, durch Probleme in der Physik verursachte Fehler beziehen. Wesentlich
häufiger sind Fehler, die sich durch eine netzbedingte Überlast oder Fehlfunktion ergeben. So werden Datenpakete oft etwa durch Router fehlgeleitet oder irgendein Netzwerkknoten ist so stark belastet, dass dieser Datenpakete nicht zwischenspeichern kann und
diese hierdurch verloren gehen.
Fragmentierung
Ein Netzwerk kann durchaus aus unterschiedlichen physikalischen Medien bestehen. Je nach Topologie oder Übertragungsverfahren unterscheiden sich die Transitnetze, die ein Datenpaket durchläuft, in der maximalen Größe der transportablen Datenpakete.
Ein Fragmentierungsmechanismus ist hier in der Lage, ein Paket aufzuteilen und wieder zusammenzufügen.
Betrachten wir etwa eine Übertragung in einem Verbund von Ethernet und einem Token-Ring-Netzwerk. Ein Ethernet kann Datenpakete mit einer wesentlich größeren maximalen Framegröße übertragen als ein Token-Ring-Netzwerk. Bei der Übertragung von einer Station aus dem Token Ring in
das Ethernet ist dies unproblematisch. Umgekehrt kann es hier durchaus zu Problemen kommen.
Hier müssen dann evtl. Ethernet-Pakete in mehrere Token-Ring-Pakete zerlegt werden.
3.3
Datagramm-Dienste
Oft wird im Rahmen einer Datenübertragung lediglich eine kleinere Menge von Daten ausgetauscht.
Um ein sog. zuverlässiges Protokoll einzusetzen ist in der Regel der Aufbau einer (logischen) Verbindung notwendig. Hierdurch entsteht unter Umständen ein Aufwand, der die Menge an wirklichen
Nutzdaten bei weitem übertrifft.
Ein Datagramm-Dienst ist in der Lage, solch einen kurzen Datenversand durchzuführen. Man bezeichnet diesen auch als unzuverlässig, da nicht garantiert werden kann, ob die Daten wirklich den
Empfänger erreichen.
Routing & Switching
47
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
3.4
Grundlagen von TCP/IP
Zweck
TCP/IP bezeichnet ursprünglich einen ganzen Satz unterschiedlicher Protokolle. Der Zweck des
Ganzen war und ist, die Kommunikation zwischen einer Reihe unterschiedlicher Rechnersysteme
mittels eines Standardprotokolls zu gewährleisten.
Dabei umfasst die sog. TCP/IP-Protokollsuite Regeln für den Kommunikationsauf- und -abbau innerhalb eines Netzes sowie Regeln für die Kommunikation in unterschiedlichen Netzen, die miteinander
verbunden sind.
TCP – das Transmission Control Protocol – stellt eine gesicherte Verbindung zwischen zwei Rechnersystemen her.
Auf der Basis dieser Verbindung können dann weitere Programme aufsetzen. Zu diesen Programmen gehören etwa der Dateitransfer (FTP) oder der Austausch von E-Mail mittels SMTP. Aber auch
die im Zusammenhang mit dem World Wide Web (WWW) interessanten Systeme wie HTTP nutzen
TCP als Transportmittel.
Neben diesen eher anwendungsorientierten Systemen werden in der Protokollsuite auch Systeme
für die internen Netzaspekte beschrieben.
Entstehung
Die Entstehung von TCP/IP ist eng mit der Entwicklung des Internets und des Betriebssystems UNIX
verbunden. Etwa Mitte der 70er Jahre wurde mit der Entwicklung von TCP/IP als Experimentalprojekt
des amerikanischen Verteidigungsministeriums (Departement of Defense, DoD) begonnen.
Ziel war die Entwicklung eines herstellerunabhängigen Standards für die Kommunikation zwischen
unterschiedlichen Hard- und Softwaresystemen.
Durch das rasante Wachstum des Internets, dessen Basis TCP/IP bildet, steht dieses Protokoll heute
auf fast allen Rechnerplattformen zur Verfügung.
In UNIX-Systemen gehört TCP/IP zur Grundausstattung, aber auch die Hersteller anderer Netzwerkbetriebssysteme (wie etwa Microsoft und Novell) gehen immer stärker dazu über, TCP/IP als Standardprotokoll anzubieten.
Leider bringt die relativ weit zurückliegende Entwicklung von TCP/IP aber auch eine Reihe von Nachteilen mit sich. In den 70ern, d.h. noch vor der Einführung des PC, konnte man es sich kaum vorstellen, dass innerhalb von 20 Jahren ein Rechner mit der Leistung der damaligen Großrechner unter jedem Schreibtisch stehen würde.
So ist der Adressraum mit 32 Bit sehr knapp gewählt, insbesondere dadurch, dass durch strukturelle
Vorgaben hier die Grenzen fast erreicht sind.
Sicherlich ist daher innerhalb der nächsten zwei Jahre mit einer neuen Generation von TCP/IP zu
rechnen, die einige Veränderungen in den Bereich der Netzwerktechnik bringen wird.
48
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
3.5
Einordnung von TCP/IP in das
OSI-Referenzmodell
Die Entwicklung des OSI-Referenzmodells liegt etwa in der Mitte der 80er Jahre und somit ca. 10
Jahre hinter der Geburt von TCP/IP. Das Protokoll orientiert sich aber bereits an den später von OSI
festgeschriebenen Regeln. Man kann sogar so weit gehen, TCP/IP als einen der Vorläufer des OSIReferenzmodells zu verstehen.
Auch TCP/IP liefert ein Schichtenmodell, welches nach dem militärischen Ursprung mit DoD-4Schichtenmodell bezeichnet wird. DoD steht dabei für Department of Defense, also dem amerikanischen Verteidigungsministerium.
Hier der Versuch einer Gegenüberstellung :
OSI
DoD
Application
Process
TCP/IP-Familie
NFS
FTP, Telnet,
SMTP, SNMP
Presentation
X-Windows
Application
RPC
Session
Transport
Network
Host to Host
Internet
TCP / UDP
Routing
Protokolle
IP
ICMP
ARP / RARP
Data Link
Network Access
Physical
3.6
Nicht spezifiziert
Die TCP/IP-Protokollfamilie – Ein Überblick
Wie bereits angedeutet besteht das TCP/IP aus einer ganzen Reihe von unterschiedlichen Protokollen und Programmen. Neben den beiden prominenten Vertretern TCP und IP findet sich eine Reihe
von Programmen wie FTP oder MAIL-Systeme.
Die Spezifikation der einzelnen Systeme ist in den sog. RFCs (Request for Comments) festgelegt. Das
Management des Internets und damit im Zusammenhang die Standardisierung der TCP/IP-Protokolle
unterlag ursprünglich dem SRI (Stanford Research Institute). Heute ist es die IETF (Internet Engineering Task Force), die für die RFC und die Einführung neuer Standards verantwortlich zeichnet.
Routing & Switching
49
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Schauen wir uns im Folgenden einige Protokolle der TCP/IP-Protokollsuite an. Wir unterscheiden
hier die eher anwendungsorientierten Dienste und die eher transportorientierten Protokolle.
Process/Application Layer
Die Protokolle auf der Ebene der Process/Application Layer dienen vielen unterschiedlichen Zwecken. Fast allen ist gemein, dass die Übertragung hier mit Hilfe des 7-Bit-ASCII-Codes vorgenommen wird. In den Protokolldefinitionen, die sich in den bereits angesprochenen RFCs befinden, wird
oftmals ein Satz von Befehlen definiert, mit dem der Datenaustausch vorzunehmen ist.
Sämtliche Protokolle arbeiten auf Basis des Client/Server-Prinzips. Ein Client baut dazu meist aktiv
eine Verbindung zu einem Server auf. Der Server antwortet mit einem bestimmten Identifikationsstring. Jetzt kann der Client mit Hilfe definierter Befehle Dienste auf dem Server anfordern. Die Art und
Weise wie der Server Daten an den Client sendet bzw. umgekehrt, sind die wesentlichen Informationen, die sich aus der Protokolldefinition ableiten lassen.
Wichtige Informationen für die Implementierung sind etwa der Port (s.u.), auf welchem ein Server auf
die Anfrage eines Clients wartet.
Zur Verdeutlichung hier ein kleiner Ausschnitt aus RFC1436 – der Spezifikation zu Gopher:
Client
Baut eine Verbindung zu einem Server über Port 70 auf
Server
Akzeptiert, keine Rückmeldung
Client
Sendet <cr><lf>, Bedeutung ist „list what you have“
Server
Sendet eine Reihe von Zeilen, jeweils mit <cr><lf> abgeschlossen
0Neuste Information<tab>news<tab>server.com<tab>70
Die Zeilen bestehen aus mehreren Abschnitten:
erstes Zeichen gibt den Typ an, z.B.
0 Text-Datei, 1 Verzeichnis, 9 Binär-Datei
Anzeigetext, danach ein <tab>
Schlüssel für den Abruf, danach ein <tab>
Server für den Abruf, danach ein <tab>
Portnummer
Server
Die letzte Zeile besteht aus einem Punkt (Period) und <cr><lf>
Server
Baut Verbindung ab
Wir könnten dieses System noch weiter ausführen, indem wir beschreiben, wie ein Client ein Dokument vom Server holt. Die o.g. Ausführungen sollen lediglich die Grundstrukturen der Protokolldefinitionen beschreiben. Die vollständige Spezifikation findet sich in RFC1436.
FTP
Das File Transfer Protocol (FTP) ermöglicht den Austausch von Dateien zwischen zwei Rechnern.
Hier kann der Zugriff auf bestimmte Benutzer eingeschränkt werden (Benutzer und Passwort).
Daneben bietet FTP eine Reihe von weiteren Funktionen, wie etwa das Auflisten der Dateien in einem Verzeichnis oder die Möglichkeit Datei- bzw. Verzeichnisnamen zu verändern bzw. diese anzulegen oder zu löschen. FTP setzt dabei auf TCP auf.
50
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Problematisch insbesondere auf dem Internet ist, dass FTP das Benutzerpasswort unverschlüsselt
überträgt.
Im Zusammenhang mit FTP taucht hier oft der Begriff des „anonymous FTP“ auf. Da FTP heute auch
stark für die Verbreitung von Software genutzt wird und die Anzahl der Internetnutzer stetig wächst,
ist es kaum sinnvoll, für jeden Benutzer auf jedem Server einen entsprechenden Account bereitzustellen. Per Konvention bieten viele FTP-Server einen Gastzugang mit dem Benutzernamen anonymous. Als Passwort wird hier dann wieder per Konvention die E-Mail-Adresse des Benutzers angegeben. So können dann beliebige Benutzer auf den Dateivorrat auf einem FTP-Server zugreifen.
TFTP
Geschichtlich jünger ist das Trivial FTP. Hier können lediglich Dateien übertragen werden. Die erweiterten Möglichkeiten stehen nicht zur Verfügung. TFTP setzt auf UDP auf.
Ein wichtiges Einsatzgebiet für TFTP ist etwa die Übertragung des Bootimages beim Einsatz von
BOOTP, also des Remotbooting bei Diskless-Workstations.
UUCP
Das UNIX to UNIX Copy Protocol dient der Übertragung von Daten zwischen unterschiedlichen
UNIX-Maschinen. Mittlerweile stehen Implementierungen aber auch unter anderen Betriebssysteme
zur Verfügung. UUCP wird etwa zur Übertragung von E-Mail-Daten zwischen unterschiedlichen
SMTP-Servern verwendet.
SMTP
Das Simple Mail Transfer Protocol dient der Übermittlung von E-Mail-Dateien zwischen einem lokalen und einem entfernten (remote) System. SMTP nutzt dabei TCP.
Ein Mailserver, der das SMTP-Protokoll unterstützt, nimmt E-Mail-Nachrichten von Benutzern entgegen und versucht diese an den Empfänger bzw. dessen Mailserver weiterzuleiten, hierzu wird dann
UUCP genutzt.
Im Zusammenhang mit E-Mail hat die Definition der sog. Messagefields eine besondere Bedeutung.
Diese bestehen aus der Kombination von einem Attribut und einem Wert.
Wichtig für E-Mails sind die Attribute aus der folgenden Tabelle:
Attribut
Bedeutung
TO:
Empfänger einer E-Mail
FROM:
Absender einer E-Mail
CC:
Carbon Copy
Ist eine Liste von E-Mail-Adressen, an die die Nachricht auch versendet wird.
Die Empfänger sehen die gesamte Carbon-Copy-Liste
BC:
Blind Copy
Diese Liste ähnelt dem Feld CC:, auch hier werden die Nachrichten kopiert,
allerdings sehen die Empfänger nicht die anderen Listenmitglieder
SUBJECT:
Beschreibt kurz die Nachricht
BODY:
Inhalt der Nachricht
Routing & Switching
51
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Teilweise werden diese Felder von Mailservern ausgewertet und zur Adressierung einer Nachricht
genutzt. Andere Felder wie etwa CC oder BC werden lokal von einem E-mail-Client bearbeitet.
POP3
Das Postoffice Protocol Version 3 (POP3) ermöglicht Anwendern, an sie adressierte E-Mail-Nachrichten von einem Server aufzurufen. Da nicht alle Benutzer ständig mit dem Internet verbunden
sind, speichern E-Mail-Server diese Nachrichten, bis sie ein Benutzer mit Hilfe von POP3 abholt.
Für die Implementierung von Internet-Mail ist also eine Kombination von SMTP (für die Verschickung) und POP3 (für die Annahme) notwendig.
Listserver
Ein Listserver ist eigentlich kein Protokoll, steht aber in einem gewissen Zusammenhang mit SMTP.
Ein Listserver verwaltet sog. Mailinglists.
Diese Listen bestehen aus einer Gruppe von E-Mail-Adressen, stellen sich aber auch selbst als eine
bestimmte E-Mail-Adresse dar.
Eine Nachricht, die an eine solche Mailinglist adressiert wird, wird von dem Listserver an alle Mitglieder der Gruppe versendet.
Das Gleiche ließe sich sicherlich auch auf der Clientseite (über eine Gruppe) in einem E-Mail-Programm realisieren. Vorteil der Mailinglist ist, dass der Client entlastet wird und außer dem Listserver
keine Mitglieder kennen muss.
Der Eintritt in eine Mailinglist funktioniert i.d.R. über eine E-Mail, die z.B. in dem Subject-Field den
Eintrag „subscribe“ enthält.
MIME / UUEncoded / Base 64 / BinHex
Auch dies sind keine TCP-Protokolle. Hinter den Begriffen stehen Algorithmen zur Verschlüsselung
von Binärdaten in Textdateien.
MIME steht für Multipurpose Internet Mail Extensions und UUEncoded für UNIX to UNIX Encoded.
Aufgabe dieser Protokolle ist die Umwandlung von 8-Bit-Daten, wie etwa Exe-Dateien oder Textverarbeitungsdokumenten, in einen 7-Bit-ASCII-Code. Dies ist notwendig, da alle E-Mail-Protokolle auf
der Basis von ASCII-Code arbeiten und es somit nicht direkt möglich ist, eine Binärdatei via E-mail zu
verschicken.
Moderne E-Mail-Clientprogramme ermöglichen es, die Kodierung und Dekodierung transparent für
den Anwender im Hintergrund durchzuführen.
Leider existiert hier noch kein echter Standard, MIME scheint sich aber stärker als die anderen Typen
zu etablieren. BinHex ist ein Format, welches sehr häufig auf dem Macintosh anzutreffen ist.
Neben den hier genannten existieren noch eine Reihe weiterer Systeme, die z.T. auch mit einer
Komprimierung arbeiten.
NNTP
Das Network News Transport Protocol wird für die Nutzung der sog. Newsgroups verwendet.
Newsgroups sind Foren bzw. schwarze Bretter mit den unterschiedlichsten Zielsetzungen. So kann
eine Newsgroup etwa für den Support genutzt werden oder dem Informationsaustausch mit anderen
Benutzern dienen.
Man unterscheidet hier zwischen lokalen und globalen Newsgroups. Die lokalen Gruppen befinden
sich lediglich auf einem Server, die globalen Gruppen werden hingegen weltweit verbreitet.
52
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
So werden Nachrichten an den NNTP-Server „gepostet“ und von dort mit Hilfe von UUCP an andere
NNTP-Server weitergeleitet. Die Benutzer abonnieren eine Newsgroup und nutzen NNTP für den
Abruf der 'News'. Sobald ein Benutzer auf einem Newsserver eine Newsgroup abonniert, wird der
Server die Gruppe auch bei seinem eigenen Newsserver abonnieren. Bei diesem Austausch, dem
sog. SUCK, werden dann auch die neuen Beiträge der lokalen Benutzer weitergeleitet (FEED). So
verbreiten sich neue Diskussionsbeiträge in wenigen Stunden weltweit über die einzelnen Newsserver.
Der Newsdienst ist in letzter Zeit, insbesondere durch wenig appetitliche Erotik-Newsgroups, ein wenig in Verruf geraten. Aber seit längerer Zeit dienen Newsgroups auch dem Informationsaustausch
über Themen wie Computer-Technik, Politik, Kultur usw. Die Diskussionen, die hier geführt werden,
haben sicherlich auch starken Einfluss auf die zukünftige Entwicklung des Internets.
NNTP nutzt TCP als Grundlage für die Kommunikation.
HTTP
Das Hyper Text Transport Protocol (HTTP) ist die Grundlage für das WWW (World Wide Web) und
damit sicherlich das Protokoll, welches heutzutage am häufigsten genutzt wird. Aufgabe ist der
Transfer von WWW-Dokumenten von einem Server zu einem Client.
In diesem Zusammenhang ist auch das HTTPS-Protokoll zu nennen, welches im Gegensatz zu
HTTP die Daten in einer verschlüsselten Form über das Netz versendet.
GOPHER
Gopher dient dem Zugriff auf Datenbanken, die sich im Netz befinden. Die Aufgaben von Gopher
sind mittlerweile fast vollständig durch WWW ersetzt worden. Gopher nutzt TCP.
ARCHIE
Dieses Protokoll steht im Zusammenhang mit FTP. Mittels ARCHIE können Dateien auf FTP-Servern genutzt werden. Notwendig ist allerdings, dass der Dateiname, wenn auch nur teilweise, bekannt ist. Ähnlich wie Gopher werden auch die Aufgaben von ARCHIE heute vom WWW einfacher
bereitgestellt.
IRC
Der Internet Relay Chat ist ein Protokoll, welches es ermöglicht, online mit mehreren Benutzern zu
kommunizieren. Dabei meldet sich ein Benutzer an einem IRC-Server in einem sog. Channel an. Das
System ist am ehesten mit dem CB-Funk zu vergleichen. Berühmt ist IRC spätestens seit dem September 1993, als die Ereignisse um Boris Jelzin 'live' via IRC aus Moskau geschildert wurden.
TELNET
Das Programm TELNET ermöglicht den Aufbau einer Terminal-Sitzung auf einem Server. Normalerweise wird TELNET zur Arbeit auf einem UNIX-Host verwendet. TELNET setzt auf TCP auf.
TELNET auf einem DOS-PC hat nur Client-Funktionalität. Unter Windows können jedoch mehrere
TELNET-Verbindungen hergestellt werden.
Bei zeilenorientierten Paketen muss das betreffende Kommando und mindestens der Name oder die
Internet-Adresse des Partners bekannt sein, tnvt220 204.203.201.99. Grundsätzlich bekommt man
eine Übersicht der möglichen Kommandos innerhalb von TELNET über das „?“; z.B. Schließen einer
Session mit CLOSE, Eröffnen einer neuen Session mit open Adresse.
Routing & Switching
53
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
NFS
Das Protokoll NFS (Network File System) ist ein Protokoll der Firma SUN zur gemeinsamen Nutzung
von Dateisystemen, die über unterschiedliche Server verteilt sein können. NFS setzt auf UDP auf.
DNS
Der Domain Name Service dient zur Auflösung von textuellen Rechnernamen wie host1.xyz.com auf
eine IP-Adresse. Wir werden dieses Protokoll später noch genauer behandeln. DNS setzt auf UDP
auf.
RIP, OSPF
Das Router Information Protocol wird für den Austausch sog. Routeringinformationen genutzt. Auch
dazu später mehr. RIP setzt auf UDP auf.
Ein modernes Routingprotokoll ist OSPF (Open Shortest Path First), auch hierzu in einen späteren
Abschnitt mehr.
SNMP
Das Simple Network Management Protocol dient zur Verwaltung und Konfiguration der unterschiedlichsten Netzwerkkomponenten. So können etwa Router, Bridges und andere Komponenten, die
i.d.R. weit verstreut platziert werden, von einem zentralen Arbeitsplatz verwaltet werden. SNMP
setzt auf UDP auf.
NTP
Das Network Time Protocol dient, wie sich leicht aus dem Namen ableiten lässt, der Synchronisation
der Systemzeit zwischen unterschiedlichen Systemen.
WHOIS
Mittels WHOIS lassen sich Informationen zu einer IP-Adresse oder einem Domain-Namen finden.
Dabei kontaktiert das System eine Zentrale wie etwa das InterNic, von wo sich Informationen abrufen
lassen. Zu den Informationen gehört etwa der zuständige Webmaster mit seiner E-Mail-Adresse.
FINGER
Über FINGER erhalten Sie Informationen über Teilnehmer, die mit einem bestimmten Host verbunden sind. Informationen wie der Name, unter dem der Teilnehmer angemeldet ist, der vollständige
Name, das Home-Verzeichnis, die Anmelde-Shell, die Uhrzeit, zu der er sich angemeldet hat, falls er
noch angemeldet ist, oder die Uhrzeit, zu der er sich das letzte Mal angemeldet hat, sowie das Terminal oder den Host, von dem aus er sich angemeldet hat.
z.B. finger <Benutzername>@<Hostname>
rsh, rlogin, rcp, rexec
Diese Dienste wurden zur Vereinfachung der Login- und Autorisierungsabläufe im 4.3 BSD UNIX implementiert. rsh ist dabei eine Variante des rlogin, d.h., es aktiviert einen Kommandointerpreter auf
der Remotemaschine, und so können direkt Kommandos an diese Maschine übergeben werden.
rcp dient dem Filetransfer, und über rexec können Programme auf anderen Maschinen gestartet werden.
54
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Vorsicht ist geboten beim Einsatz dieser Programme auf PC-Umgebungen, da die Login-Namen und
Passwörter im Klartext in Dateien auf diesen Maschinen stehen. Ein PC-Kundiger könnte somit die
Sicherheit auch eines über TCP/IP erreichbaren Host und UNIX-Systems gefährden.
Ping
Ping schickt kontinuierlich oder definierbar Pakete an ein entsprechend angesprochenes System
und bewertet die Pakete, die von dort zurückkommen (Echoanforderung).
z.B. ping 103.45.78.99 (zeilenorientierte Aktivierung)
Hat man in seinen Konfigurationsdateien häufig gewählte Ziele definiert, so kann man auch mit ping
<Hostname> vorgehen. Eine Ping-Anforderung wird von allen Systemen ausgeführt, auch wenn sie
z.Z. anderweitig beschäftigt sind.
Internet-Telephonie
Hier existieren noch keine allgemein verbindlichen Protokolle, da die Technik wirklich noch sehr neu
ist. Obwohl bereits in den 70ern erste Versuche gemacht wurden, existieren erst seit kurzem 'akzeptable' Lösungen.
Die Idee ist, das Internet als Transportmedium von Sprachdaten zu nutzen. Ähnlich wie im ISDN werden die Sprachsignale auf Senderseite digitalisiert sowie komprimiert und nach dem Weg durch das
Internet beim Empfänger wieder in analoge Signale umgesetzt. Im Gegensatz zu ISDN ist das Internet jedoch kein leitungsvermittelnder Dienst, die hier eingesetzte Paketvermittlung macht es ungleich schwieriger, eine flüssige Sprachübermittlung zu implementieren.
Da die Einwahl ins Internet oft zum Ortstarif möglich ist, lassen sich auf diesem Wege weltweite Verbindungungen zu einem Bruchteil der üblichen Kosten realisieren. Sicherlich ist dies einer der Gründe, warum die großen Telekommunikationsgesellschaften den Bestrebungen recht skeptisch gegenüberstehen.
X-Window
Das X-Protokoll legt die Grundprinzipien der Kommunikation zwischen Clients und Servern fest. Es
verfolgt eine asynchrone Kommunikation, d.h., der Absender muss nicht auf eine Bestätigung des
Adressaten warten (ein Vorteil in Netzwerken, aber es stellt Anforderungen an das eingesetzte
Transportprotokoll).
X-Lib liegt als Bibliothek in C vor, aber minimaler Komfort und somit großer Aufwand. Programme
brauchen nicht umgeschrieben oder neu übersetzt zu werden, um in einer neuen Hardware-Umgebung lauffähig zu sein.
Die Anwendung läuft auf einer Maschine, und die Ausgabe wird auf das Display einer anderen im
Netzwerk umgelenkt. Programme können auf mehrere Rechner gelegt werden. X-Windows ist selbst
keine Oberfläche, sondern stellt eine Schnittstelle für eine solche zur Verfügung.
Es liegt ein echter Client/Server-Gedanke vor. Wobei jedoch hier der Client i.d.R. ein Programm auf
einem UNIX-Host ist, auf dem Terminal liegt dann eine X-Server-Komponente vor. Somit läuft der
X-Server auf dem Client und der X-Client auf dem Server (verkehrte Welt).
BOOTP
Die Aufgabe des BOOT-Protokolls (BOOTP) liegt darin eine Workstation ohne eine Festplatte zu
starten. Dabei fordert das Protokoll eine IP Adresse und verbindet sich danach mit einem Server, um
den Startprozess abzuschliessen.
BOOTP setzt als Applikation direkt auf UDP auf. Verwendet werden die Ports 67, Kommunikation
zum BOOTP-Server, und 68, Kommunikation zum BOOTP-Client.
Routing & Switching
55
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Beschrieben wird das Protokoll im RFC 951. Im RFC 1084 finden sich Erweiterungen für Hersteller.
Das BOOTP-Protokoll erlaubt wesentlich mehr Informationen, die dem Client zur Verfügung gestellt
werden können, als RARP.
Hinweis
Die BOOTP-Informationen, die ein Server zurücksendet, überschreiben die Konfiguration.
Man kann direkt die IP-Adresse des BOOTP-Servers angeben, um einen Broadcast über
das gesamte Netzwerk zu vermeiden.
Durch Angabe eines Boot-Files können Änderungen, die der Netzwerkadministrator vorgenommen
hat, beim Neustart des Clients direkt übernommen werden.
Host-To-Host Layer
TCP
Das Transmission Control Protocol (TCP) ist ein Protokoll für eine gesicherte Verbindung zwischen
zwei Systemen. Die Sicherung besteht in der Bestätigung für empfangene Datenpakete. Erhält der
Sender innerhalb einer bestimmten Zeitspanne keine Bestätigung, wird von einem Fehler ausgegangen und das entsprechende Paket erneut versandt. Daneben garantiert TCP die Erhaltung der Sequenzreihenfolge zwischen den einzelnen Datenpaketen einer Datenübertragung.
Im Rahmen einer TCP-Kommunikation wird eine logische Verbindung zwischen den Endsystemen
hergestellt. Da auf einem Rechnersystem durchaus mehrere Programme parallel TCP-Verbindungen zu anderen Systemen nutzen können, werden die einzelnen logischen Verbindungen durch eine
spezielle Nummer weiter unterschieden (siehe dazu „Ports“).
Aufbau einer Verbindung
Send SYN seq=x
Receive SYN u. ACK
Send ACK y+1
Receive SYN
Send SYN seq=y, ACK
x+1
56
Receive ACK
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Sendeablauf
Send Paket 1
Receive ACK Paket 1
Send Paket 2
Receive ACK Paket 2
Receive Paket 1
Send ACK Paket 1
Receive Paket 1
Send ACK Packet 2
Sendeablauf mit Timer
Send Paket 1
Starte Timer
ACK 1 sollte kommen
Timer läuft ab
Send Paket 1
Starte Timer
Receive ACK Paket 1
???
Receive Paket 1
Send ACK Paket 1
Warum sorgt eine Applikation nicht für einen verlässlichen Datentransport? Hier finden Sie mögliche
Antworten:
➧
➧
➧
➧
➧
Der Bitfluss wird in 8-Bit-Oktets (oder Bytes) aufgeteilt.
Die Sicherheit des Transports ist eine Illusion.
Unabhängig von der Applikation wird der Datenstrom aufgeteilt.
Strukturierte Datenströme werden nicht berücksichtigt (Bsp.: Gehaltslisten).
Es sind zwei gegenläufige Datenströme beteiligt.
Wieso ist der Datentransport bei TCP verlässlich, wenn das darunter liegende Protokoll IP als nicht
verlässlich bezeichnet wird? Diese Technik nennt sich Positives Acknowledgement mit Retransmission.
Der Empfänger schickt dabei eine Quittung für jedes erhaltene Paket. Der Sender behält eine Kopie
des Pakets und wartet auf das ACK, bevor er das nächste Paket auf die Reise schickt. Gleichzeitig
wird ein Timer gestartet und bei dessen Ablauf die Übertragung wiederholt.
Es bleiben die Probleme duplizierter Pakete, verspäteter oder duplizierter ACKs. Die Lösung liegt in
der Vergabe von Sequenznummern für Pakete und ACKs. Ein Nachteil der Übertragungstechnik
„Positives ACK mit Retransmission“ liegt in den Idle-Zeiten, senden, warten, senden,...
Mit der Technik des Sliding Window können nun mehrere Pakete verschickt werden, bis das erste
ACK kommt. Es wird ein Fenster über die zu sendenden Pakete gelegt. Alle im Fenster liegenden Pakete werden versendet.
Bsp.: Fenstergröße 8 Pakete: Die ersten 8 Pakete werden hintereinander auf die Reise geschickt.
Paket 9 geht ab, sobald das ACK für Paket 1 da ist. Nur Pakete, für die kein ACK vorliegt, werden
nochmals verschickt.
Routing & Switching
57
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Betrachten wir dazu den folgenden Auszug aus einem Protokollanalyzer:
Packet Number : 1
18:08:56
Length : 64 bytes
ether: ==================== Ethernet Datalink Layer ====================
Station: 02–60–8C-7A-EC-B8 ----> 02–60–8C-8A-01–32
Type: 0x0800 (IP)
ip: ======================= Internet Protocol =======================
Station:204.204.204.71 ---->204.204.204.70
Protocol: TCP
Version: 4
Header Length (32 bit words): 5
Precedence: Routine
Normal Delay, High Throughput, Normal Reliability
Total length: 40
Identification: 170
Fragmentation allowed, Last fragment
Fragment Offset: 0
Time to Live: 64 seconds
Checksum: 0x47F7(Valid)
tcp: ================= Transmission Control Protocol =================
Source Port: 21273
Destination Port: FTP-DATA
Sequence Number: 177017681
Acknowledgement Number: 521980759
Data Offset (32-bit words): 5
Window: 2048
Control Bits: Acknowledgement Field is Valid (ACK)
Checksum: 0x1A2E(Valid)
Urgent Pointer: 0
Packet Number : 2
18:08:56
Length : 64 bytes
ether: ==================== Ethernet Datalink Layer ====================
Station: 02–60–8C-7A-EC-B8 ----> 02–60–8C-8A-01–32
Type: 0x0800 (IP)
ip: ======================= Internet Protocol =======================
Station:204.204.204.71 ---->204.204.204.70
Protocol: TCP
Version: 4
Header Length (32 bit words): 5
Precedence: Routine
Low Delay, Normal Throughput, Normal Reliability
Total length: 40
Identification: 171
Fragmentation allowed, Last fragment
Fragment Offset: 0
Time to Live: 64 seconds
Checksum: 0x47EE(Valid)
tcp: ================= Transmission Control Protocol =================
Source Port: 21269
Destination Port: FTP
Sequence Number: 177017681
Acknowledgement Number: 376380960
Data Offset (32-bit words): 5
58
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Window: 1530
Control Bits: Acknowledgement Field is Valid (ACK)
Checksum: 0xD21B(Valid)
Urgent Pointer: 0
Wie UDP benutzt TCP Ports zur Identifizierung des Benutzers bzw. der Applikation. Allerdings benötigt TCP zwei Ports.
1. Die Maschine führt ein „passive open“ aus und erhält so vom OS eine Portnummer für ein Ende.
2. Beim „active open“ über das OS kommunizieren beide TCP-Module, um die Verbindung zu bestätigen. Erst danach erfolgt ein Datenversand.
TCP behandelt Datenströme (Streams) als eine Sequenz von Oktets oder Bytes. Diese werden für
die Übertragung in Segmente eingeteilt. Jedes Segment ist in einem IP-Datagramm verpackt.
Das Sliding Window ist bei TCP spezialisiert, um eine effiziente Übertragung und Flusskontrolle sicherzustellen. Ein Empfänger bekommt die Möglichkeit, den Datenstrom einzuschränken, bis er über
genügend Puffer verfügt, mehr Daten aufzunehmen. Das Window arbeitet auf dem Byte-Level, nicht
auf dem Paketlevel. Die Bytes des Datenflusses sind sequenzmäßig nummeriert, und der Sender
setzt 3 Pointer auf jede Verbindung, die ein Sliding Window definiert.
1. Markierung der linken Seite des Windows; Trennung der gesendeten und bestätigten Bytes von
denen, die noch gesendet werden müssen.
2. Markierung der rechten Seite; Festlegung des höchsten Bytes, das gesendet werden kann, bevor mehr ACKs kommen.
3. Markierung der Grenze zwischen Bytes, die gesendet wurden, und denen, die noch gesendet
werden müssen.
Die Protokollsoftware sendet alle Bytes im Fenster ohne Verzögerung, so dass die Grenze innerhalb
des Fensters im Normalfall schnell von links nach rechts wandert. Der Empfänger führt auch ein solches Fenster, d.h., TCP führt für jede Verbindung 2 Fenster. Jedes ACK, das meldet, wie viele Bytes
empfangen wurden, enthält zusätzlich eine Information darüber, wie viele zusätzliche Bytes empfangen werden können. Auf diese Weise kann ein Sender sein Fenster vergrößern oder verkleinern. Extremfall: zusätzlich 0 = Übertragung einstellen. Damit löst TCP das Problem der Flusskontrolle zwischen Sender und Empfänger.
Was bleibt, ist die Flußkontrolle, wenn Router an der Übertragung beteiligt sind. In diesem Fall muss
man sich darauf verlassen, dass diese ICMP Source Quench Nachrichten austauschen, leider mit
der bereits erwähnten Unzuverlässigkeit.
Ein Segment ist die Einheit des Datenaustauschs zwischen zwei TCP-Modulen. Sie werden ausgetauscht, um Verbindungen aufzubauen, Daten zu senden, ACKs zu senden, Fenstergrößen anzupassen und Verbindungen zu schließen. TCP benutzt „Piggy-Backing“, d.h., ein ACK kann im selben
Segment mit Daten fließen.
PORTs wird analog zu UDP genutzt.
Die ACK-Nummer zeigt das höchste Byte (in der Folge) an, welches die Source erhalten hat. Die Sequenznummer bezieht sich auf die Richtung Sender-Empfänger, die ACK-Nummer auf die Gegenrichtung. OFF gibt wieder die Offsetnummer der Daten im Segment an. Es wird gebraucht, da das
OPTION-Feld von variabler Größe ist. CODE enthält Angaben darüber, welcher Art die Daten sind
(Verbindungsauf- oder -abbau, nur Daten).
Im Window-Feld wird die Puffergröße angegeben.
OPTIONS dient der TCP-Kommunikation, z.B. Festlegung einer maximalen Segmentgröße durch
eine Seite der Verbindung.
Routing & Switching
59
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
ACK-Segmente enthalten die Zahl des nächsten Bytes, das erwartet wird.
➧
Vorteil: einfach zu generieren; verlorene ACKs implizieren nicht unbedingt eine nochmalige
Übertragung.
➧
Nachteil: Der Sender empfängt nur Informationen über einzelne Positionen im Datenfluss und
nicht über alle erfolgreichen Übertragungen.
TCP erwartet vom Empfänger, dass dieser ACKs für jeden erfolgreichen Teil des Datenstromes sendet. Für jedes dieser Segmente wird ein Timer gestartet. Läuft er ab, bevor ein ACK ankommt, so
nimmt TCP an, dass dieses Segment verloren ging oder beschädigt wurde, und schickt es nochmals.
Beachten Sie, dass TCP für den Einsatz in einer Internetumgebung konzipiert wurde. Hier trifft man
zwangsläufig auf Wege zwischen Hosts, die sich in Geschwindigkeit, Anzahl der Hops und der zu
durchlaufenden Netzwerke unterscheiden. Hier a priori zu wissen, wie lange ein Segment unterwegs
ist, wäre Utopie. Verzögerungen durch Gateways oder Router, die durch die Verkehrsdichte bedingt
sind, haben dramatische Konsequenzen. (Messungen ergaben Laufzeiten von < 2 s bis > 9 s.)
TCP benutzt dazu einen adaptiven Algorithmus. Für jedes Segment wird die Zeit aufgezeichnet, die
zwischen Abschicken und Erhalt des betreffenden ACKs vergeht. Daraus ermittelt TCP die Round
Trip Time (RTT ). Wann immer eine neue Zeit berechnet wird, wird die RTT angepasst.
Gewöhnlich behält TCP eine gemittelte Zeit, und neue RTT's werden erst nach einer Verzögerung
benutzt.
Gemittelte Zeit = (q * altes Mittel) + ( (1-q) * neue RTT) , wobei 0<q<1
Congestion ist der Zustand einer ernsten Verzögerung, verursacht durch Überbelastung von GW
oder Router. TCP muss darauf eingehen und die Übertragungsrate anpassen. Normalerweise steht
eine Maschine in einem passiven Wartezustand für Handshake, initiiert wird er von einer anderen
Maschine. Der Handshake berücksichtigt auch den Fall, dass zwei Maschinen gleichzeitig initiieren.
Es gibt keinen Slave und keinen Master.
Der Handshake garantiert, dass beide Seiten bereit sind, Daten zu übertragen, und dass sie dies
voneinander wissen. Weiterhin erlaubt er beiden Seiten, sich auf Anfangssequenznummern zu einigen. Diese Nummern müssen nicht bei 1 beginnen. In allen Fällen wird im ACK die nächste erwartete
Nummer angezeigt. Nach dem Protokolldesign könnten auch hier schon Daten im Segment sein,
aber in der Verbindungsphase ist dies noch nicht möglich.
Jede TCP-Verbindung hat zwei Datenströme. Hat eine Applikation nichts mehr zu senden, so wird
eine Hälfte der Verbindung geschlossen (Segment mit FIN-Bit). Der Empfänger schickt das bekannte
ACK und informiert seine Applikation darüber, dass keine Daten mehr folgen. Erst wenn beide Richtungen geschlossen wurden, wird die Verbindung gelöscht.
Für abnormale Unterbrechungen bietet TCP eine Resetoperation, d.h., eine Seite schickt ein Segment mit dem RST-Bit. Die andere Seite antwortet mit dem direkten Abbruch der alten Verbindung
und informiert das Applikationsprogramm.
TCP teilt den Datenstrom in Segmente auf, die unabhängig von der Größe gewählt werden, welche
das Applikationsprogramm benutzt. Der Hauptvorteil liegt in der Effizienz. Allerdings kann dieses
Buffering mit bestimmten Applikationen interferrieren.
60
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Durch Setzen des PSH-Bit (Pushoperation) bietet TCP einem Applikationsprogramm an, die Daten
sofort zu versenden.
Packet Number : 3
18:08:56 Length : 1518 bytes
ether: ==================== Ethernet Datalink Layer ====================
Station: 02–60–8C-8A-01–32 ----> 02–60–8C-7A-EC-B8Type: 0x0800 (IP)
ip: ======================= Internet Protocol =======================
Station:204.204.204.70 ---->204.204.204.71
Protocol: TCP
Version: 4
Header Length (32 bit words): 5
Precedence: Routine
Normal Delay, Normal Throughput, Normal Reliability
Total length: 1500
Identification: 38533
Fragmentation allowed, Last fragment
Fragment Offset: 0
Time to Live: 128 seconds
Checksum: 0x6C6F(Valid)
tcp: ================= Transmission Control Protocol =================
Source Port: FTP-DATA
Destination Port: 21273
Sequence Number: 521980759
Acknowledgement Number: 177017681
Data Offset (32-bit words): 5
Window: 2920
Control Bits: Acknowledgement Field is Valid (ACK)
Checksum: 0x6B81(Valid)
Urgent Pointer: 0
UDP
Das User Datagram Protocol ist im Gegensatz zu TCP ein ungesicherter verbindungsloser Dienst.
Damit verzichtet UDP auf den bei TCP notwendigen Overhead, allerdings auf Kosten der Datensicherung. TFTP oder NFS nutzen UDP für den Datenaustausch.
IP bietet nichts, das auf einen bestimmten User oder eine bestimmte Applikation hinweist.
Aus diesem Grund werden abstrakte Zielpunkte, die Protokollports, eingeführt. Ein Sender braucht
damit wiederum die Internetadresse und die Protokollportnummer.
UDP schickt immer eine Absenderportnummer mit, die für Rückmeldungen genutzt werden kann. Es
bietet weiterhin die Möglichkeit eine Checksumme mitzusenden, die eine Garantie für die übermittelten Daten bietet.
Bei den Portnummern sind nur die letzten 8 Bits signifikant, d.h., es sind maximal 255 unterschiedliche Ports nutzbar. Die restlichen Bits werden immer auf 0 gesetzt.
Dezimal
Bedeutung
Dezimal
Bedeutung
5
Remote Job Entry
42
Nameserver
7
Echo
43
Nicname
9
Discard
67
Bootstrap Protocol Server
Routing & Switching
61
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Dezimal
Bedeutung
Dezimal
Bedeutung
11
Active Users
68
Bootstrap Protocol Client
13
Daytime
69
TFTP
15
Netstat (Who is up?)
77
Private RJE-Service
19
Character Generator
79
Finger
37
Time
123
Network Time Protocol
39
Resource Location Protocol
Internet Layer
IP
Das Internet Protocol (IP) übernimmt die Datenpakete aus der weiter oben liegenden Ebene und versendet sie über das Netzwerk. Die Hauptaufgabe von IP liegt dabei im Routing, also der Suche des
idealen Wegs zwischen den beiden beteiligten Stationen. IP verkörpert die Idee der unzuverlässigen
Zustellung von Paketen und die assoziierte Idee des Routings. Die Sicherheit der Zustellung muss
somit von anderen Ebenen übernommen werden.
Es ist so fundamental, dass das Internet oft als IP-basierte Technologie bezeichnet wird.
Der verbindungslose Transportdienst kann analog zu dem Dienst betrachtet werden, den die Netzwerkhardware zur Verfügung stellt.
Ein Paket kann verloren gehen, dupliziert werden oder über die Grenzen hinaus transportiert werden,
aber das Internet wird diese Vorgänge nicht feststellen und weder Sender noch Empfänger benachrichtigen. Jedes Paket wird unabhängig von den anderen behandelt. Das Internet unternimmt „ernst
gemeinte“ Versuche der Zustellung, d.h., es verwirft kein Paket aus „launischen“ Gründen.
IP-Datagramm:
Datagramme werden von der Software behandelt. Sie dürfen eine Länge haben, die vom Softwareschreiber gewählt wurde. Aber sie müssen in physikalischen Frames, die festliegen, transportiert
werden. Im Idealfall passt ein Datagramm in einen physikalischen Frame, d.h., eine effiziente Übertragung ist garantiert. Das Dilemma bleibt die Frage nach der Größe: Ethernet 1500 Oktets, Token
Ring 4096 Byte. Die Bestimmung einer MTU (Maximum Transfer Unit) auf Grundlage aller beteiligten
Rechner ist sicher nicht effizient, da die kleinste Größe genommen werden müsste. Das Internet limitiert Datagramme nicht, sagt aber, dass 576 Oktets möglich sein sollen, ohne zu fragmentieren.
Fragmentierung bedeutet zusätzlichen Overhead, da jedes Fragment vom Aufbau her einem Datagramm entspricht. Ein weiterer Nachteil sind die aufzusetzenden Mechanismen bei Verlust eines
oder mehrerer Fragmente.
Eine Kontrolle der Fragmente ist durch die folgenden Felder möglich :
IDENT:
eindeutige ganze Zahl, die das Datagramm identifiziert
FLAGS:
low order 2 bit; 1. Fragment oder nicht (=1) 2. Gibt es weitere Fragmente?
FRAGMENT OFFSET:
Offset des Fragments im Datagramm
62
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Hinweis
Transportprotokolle
Wenn eines oder mehrere Fragmente verloren gehen, so ist das ganze Datagramm wertlos.
Weitere Felder
TIME:
Gibt die Zeit in Sekunden an, die das Datagramm im Internet verweilen darf
=> Schutz vor Endloskreisern
Hosts oder Router ziehen jeweils 1 ab, da sie nicht wissen, wie lange es tatsächlich in ihrem phys. Netzwerk dauert.
PROTO:
Analog zum Type-Feld im Ethernet; nutzbar durch höhere Protokolle; zentrale
eindeutige Vergabe
Beispiel: Ausschnitt der Interpretation eines Datenpakets mit Protokollanalyzer
Packet Number : 1
18:08:56
Length : 64 bytes
ether: ==================== Ethernet Datalink Layer ====================
Station: 02–60–8C-7A-EC-B8 ----> 02–60–8C-8A-01–32
Type: 0x0800 (IP)
ip: ======================= Internet Protocol =======================
Station:204.204.204.71 ---->204.204.204.70
Protocol: TCP
Version: 4
Header Length (32 bit words): 5
Precedence: Routine
Normal Delay, High Throughput, Normal Reliability
Total length: 40
Identification: 170
Fragmentation allowed, Last fragment
Fragment Offset: 0
Time to Live: 64 seconds
Checksum: 0x47F7(Valid)
ICMP
Das Internet Control Message Protocol (ICMP) dient dem Austausch von Service-Meldungen etwa
zwischen Routern oder Host-Systemen. Solche Meldungen werden etwa im Fehlerfall übermittelt.
ARP
Das Address Resolution Protocol (ARP) übersetzt die IP-Adressen in MAC-Adressen. Oft wird hier
auch von einer Umsetzung von Software-Adressen in Hardware-Adressen gesprochen.
Für den Weg eines IP-Pakets durch die unterschiedlichen Transitnetze wird für die Adressierung lediglich die sog. IP-Adresse verwendet. Ist ein IP-Paket im Zielnetz angekommen, gilt es, die Hardware-Adresse des Empfängersystems zu ermitteln und damit die Daten zuzustellen. Für die Zuordnung von IP- zu MAC-Adresse wird mit Hilfe von ARP eine Tabelle aufgebaut.
Routing & Switching
63
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Prinzipiell gibt es 2 Möglichkeiten:
➧
➧
Führen von Tabellen in jedem Host
Kodierung der phys. Adresse innerhalb der Internet-Adresse
Beispiel:
Im ARCnet repräsentiert die Internet-Adresse 192.5.48.3 die Stationsadresse 3.
Schwierigkeiten treten allerdings sofort auf, wenn die physikalische Adresse größer ist als die Internet-Adresse, z.B. Ethernet und Token Ring, 48 Bit physikalische gegen 32 Bit Internet.
ARP bindet nun diese Adressen dynamisch.
Beispiel:
A möchte mit dem Host B kommunizieren; A kennt die Internet-Adresse, nicht die physikalische
Adresse. A sendet ein Paket mit der Aufforderung an den Host, mit der Internet-Adresse IB, mit der
physikalischen Adresse PB zu antworten. Alle Hostsysteme, auch B, erhalten diese Anfrage, aber
nur B erkennt IB und schickt PB an A.
Die Zuordnung Internet und physikalische Adresse des Senders ist in jedem ARP-Broadcast enthalten. Damit führt auch der Empfänger ein Update seiner Liste durch, bevor er ein ARP-Paket verschickt.
Hostsysteme mit ARP führen eine Liste der gebräuchlichsten Adressen. Bevor ein ARP-Request verschickt wird, wird erst die Liste konsultiert. Diese Liste befindet sich im sog. ARP-Cache, oder das
TCP/IP-Paket lässt die Erstellung einer Liste „Oft frequentierte Ziele“ zu.
Im ARP-Cache befindet sich eine solche Adresse für ca. 20 Minuten. Ein ARP-Timer sorgt für eine
Bereinigung. Wird die Adresse allerdings innerhalb dieser Zeit genutzt, so startet der Timer erneut.
Hinweis
Jedes Mal eine Broadcast-Nachricht zu senden, wenn eine Datenübertragung ansteht, würde das
Netzwerk unnötig belasten.
Nach dem Wechsel einer Netzwerkkarte sollten Sie ca. 20 Minuten warten, denn spätestens dann haben alle Kommunikationspartner ihre ARP-Caches bereinigt.
Bei Einsatz von DECNet und TCP/IP über Multiprotokoll-Router bitte zuerst das DECNet-Protokoll
starten, da es die physikalische Adresse mit einer DEC-spezifischen Adresse überschreibt.
Bei TCP/IP-Implementationen auf UNIX-Basis stehen dem Anwender einige Befehle zur Verfügung:
arp <Rechnername>
Eintrag in der Tabelle für einen bestimmten Rechner
arp -a
Auslesen der ARP-Tabelle
arp -d und -s
Löschen und Ändern von Einträgen in der Tabelle (Superuser)
Packet Number : 1
08:17:34
Length : 62 bytes
802.5: =================== IEEE 802.5 Datalink Layer ===================
Frame, Priority=0, Monitor Count=1, Priority Reservation=0
64
AC:
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
FC: LLC Frame, Attention Code=0
Station: 10–00–5A-03–01–59 ----> Broadcast
Source Routing Information:
Length: 8 bytes Broadcast: Single-route brdcast, all routes return
Direction: From originating station
Largest Frames: 4472 bytes LF=3)
Ring Number 005-->002 Bridge Number 5 Ring Number 002-->999 Bridge Number 2
802.2: ================ IEEE 802.2 Logical Link Control ================
SSAP:
SNAP
DSAP: SNAP
Unnumbered Command: Unnumbered Information (UI) SNAP
Organization Code: 00 00 00 SNAP Protocol Type: 0x0806 (ARP)
arp: ================== Address Resolution Protocol ==================
Hardware:
6 Protocol: 0x0800 (IP) Operation: ARP Request
Hardware adress length: 6
Protocol address length: 4 Sender Hardware Address: 10005A030159 Sender Protocol
Address: 145.203.96.136 Target Hardware Address: 000000000000 Target Protocol
Address: 145.203.96.44
Packet Number : 2
08:17:34
Length : 60 bytes
802.5: =================== IEEE 802.5 Datalink Layer ===================
AC:
Frame, Priority=0, Monitor Count=1, Priority Reservation=0
FC: LLC Frame, Attention Code=0 Station: 10–00–5A-38–72–42 ----> 10–00–5A-03–01–59
Source Routing Information:
Length: 6 bytes Broadcast: Single-route brdcast, all routes return
Direction: From originating station Largest Frames: 4472 bytes (LF=3)
Ring Number 001-->999 Bridge Number
1
802.2: ================ IEEE 802.2 Logical Link Control ================
SNAP
DSAP: SNAP
Unnumbered Command: Unnumbered Information (UI)
Organization Code: 00 00 00
SNAP Protocol Type: 0x0806 (ARP)
SSAP:
SNAP
arp: ================== Address Resolution Protocol ==================
Hardware:
6 Protocol: 0x0800 (IP) Operation: ARP Reply Hardware adress length: 6
Protocol
address length: 4 Sender Hardware Address: 10005A387242 Sender Protocol Address:
145.203.96.44 Target Hardware Address: 10005A030159
Target Protocol Address:
145.203.96.136
ARP-Request und ARP-Reply im Token Ring mit Source-Routing-Brücken und einer IBM 8209, die
die Verbindung zu einem Ethernet mit einem SAP-Host herstellt.
RARP
Das Reverse ARP dient der Umwandlung von Hardware-Adressen in IP-Adressen.
Der Einsatz ist dabei primär auf diskless-Workstations begrenzt, die beim Systemstart die eigene IPAdresse via RARP bei einem anderen System erfragen und dann TCP/IP nutzen können, um die Initialisierung abzuschließen.
Network Access Layer
IEEE 802.3
Dies ist der bekannte Standard für das Ethernet. Hierbei wird das CSMA/CD-Zugriffsverfahren verwendet sowie eine Reihe von Festlegungen bezüglich der verwendbaren Verkabelung definiert.
Routing & Switching
65
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Wichtig ist, dass auf dem Ethernet bestimmte Frame-Typen verwendet werden müssen.
IEEE 802.4
Hiermit wird das Token-Bus-System beschrieben, welches etwa im ARCnet eingesetzt wird.
IEEE 802.5
Hier haben wir den Token Ring mit der entsprechenden Verkabelungs-Topologie.
PPP / SLIP
Dieses Protokoll hat insbesondere in Zusammenhang mit dem Internet an Bedeutung gewonnen.
Das Point to Point Protocol (PPP) bzw. das Serial Line Internet Protocol (SLIP) wird immer dann genutzt, wenn anstatt von LAN-Verbindungen analoge Leitungen, z.B. Telefonleitungen, verwendet
werden müssen.
Daneben existieren aber auch Lösungen, die eine Datenübertragung über eine ISDN-Leitung oder
andere (digitale) Leitungsformen wie X.25 etc. ermöglichen.
Datenoverhead
Jede Ebene des Modells fügt jeweils einen Header zu denen der weiter oben liegenden Ebenen hinzu. Dies gilt, falls es sich um den Sender handelt. Beim Empfänger durchwandern die empfangenen
Daten dann in umgekehrter Reihenfolge wieder die einzelnen Ebenen.
Process
Application
DATA
Host-To-Host
Internet
Network Access
MAC Header
TCP Header
DATA
IP Header
TCP Header
DATA
IP Header
TCP Header
DATA
CRC
Die jeweilige Schicht „interessiert“ sich dabei lediglich für den eigenen Header und lässt den Rest
passieren.
Dieses System funktioniert natürlich nur dann, wenn auf allen Ebenen der Kommunikation jeweils die
gleichen Mechanismen arbeiten. Anders ausgedrückt müssen bei beiden Kommunikationspartnern
die gleichen oder zumindest kompatible Protokollimplementationen genutzt werden.
Obwohl man bei einem Standardprotokoll eigentlich davon ausgeht, dass die unterschiedlichen Implementationen problemlos zusammenarbeiten, zeigt die Praxis doch Probleme. Manche Hersteller
ergänzen ihre Protokollimplementation durch 'besondere' Features und implementieren bestimmte
nur selten genutzte Funktionen erst gar nicht.
66
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
3.7
Adressen und TCP/IP
Ein Netzwerk bzw. eine Paketvermittlung wie das Internet kann nur dann funktionieren, wenn alle
Teilnehmer eindeutig identifizierbar sind. Im Rahmen der Betrachtung von TCP/IP haben wir es mit
einer Reihe von Adressen zu tun. Beginnen wir von unten nach oben mit den Adressen der Hardware-Ebene, den sog. MAC-Adressen.
Die MAC-Adresse
Mit MAC ist der Begriff Media Access Control gemeint und damit die Hardware-Ebene. Alle Netzwerkkarten sind weltweit eindeutig vom Hersteller kodiert. Bei Ethernet-Karten werden dazu 6 Bytes
genutzt. Die ersten 3 Bytes geben dabei den Hersteller an, die restlichen 3 Bytes werden vom Hersteller autonom vergeben.
Für die Vergabe der Herstellercodes ist die IEEE zuständig. Dabei ist es durchaus üblich, dass die
Hersteller mehrere 3-Byte-Kombinationen zugewiesen bekommen haben.
Nutzen Sie aber ein Modem etwa über eine PPP-Verbindung, besitzt das Modem keine HardwareAdresse, sondern kommuniziert direkt auf der IP-Ebene.
Die IP-Adresse
Die IP-Adresse ist eine Software-Adresse, die aus 4 Bytes gebildet wird.
Diese Adresse kann entsprechend eingestellt werden und muss eindeutig sein, wobei sich diese Eindeutigkeit auf alle erreichbaren Netzwerkknoten beziehen muss. Grundsätzlich können die IP-Adressen frei vergeben werden, wenn ein Rechner nicht direkt mit anderen Netzen verbunden ist.
Befindet sich ein Rechner im direkten Anschluss an das Internet, muss sogar auf die weltweite Eindeutigkeit der IP-Adresse geachtet werden. Die verwendbaren Adressen müssen dabei von bestimmten autorisierten Stellen angefordert werden.
Normalerweise wird die IP-Adresse in der sog. conial form angegeben, dabei werden die 4 Bytes jeweils einzeln in dezimaler Schreibweise mit Punkten getrennt angegeben. Beispielsweise:
149.172.211.5
Reservierte IP-Adressen
Die IP-Adresse wird in einen Network- und einen Host-Anteil aufgeteilt (siehe Network und Host). Dabei sind eine Reihe von Kombinationen für bestimmte Aufgaben reserviert.
➧
Netz-Anteil
➧
➧
➧
127
internes Loopback-Netz
0
Default Router
Host-Anteil
➧
➧
alles Null Netz-Adresse
alles Eins netzinterne Broadcast-Adresse
Daneben sind weitere Netze für interne oder Testzwecke reserviert. Router sollten diese Adressen
nicht routen. Die Network-Adressen sind die Class A Adresse 10.0.0.0, die Class B Adressen
172.16.0.0 bis 172.31.0.0 und die Class C Netze, die mit 192.168. beginnen. So etwa das Netzwerk
192.168.0.0 oder 192.168.230.0.
Routing & Switching
67
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Die Port-Adresse
Wir hatten die Port-Adresse schon kurz bei TCP besprochen. Die Aufgabe der Port-Adressen ist die
Trennung der einzelnen TCP-Verbindungen eines Systems voneinander. Daneben lässt sich mit Hilfe der Port-Nummern gezielt eine bestimmte Anwendung auf einem Host-System aufbauen.
Stellen Sie sich die folgende Situation vor:
Ein Benutzer an einer Arbeitsstation möchte mit Hilfe von FTP bestimmte Dateien von einem Server
auf die lokale Station kopieren. Auf dem Server wurde TCP/IP und ein FTP-Server eingerichtet. Natürlich wurden Server und Client-Station jeweils mit eindeutigen IP-Adressen ausgestattet.
Der Benutzer startet sein FTP-Clientprogramm und wählt die IP-Adresse des Servers als Ziel aus.
Die Frage, die sich stellt, ist, wie denn nun die Verbindung aufgebaut werden kann. Die Antwort ist die
Port-Nummer. Alle Anwendungen, die TCP nutzen und Serverdienste anbieten, nutzen eine ganz
bestimmte Port-Nummer. Wird eine Verbindung zu einem TCP-System mit einer bestimmten PortNummer aufgebaut, reagiert das System mit dem Start des Serverdienstes, der unter dieser Nummer
registriert wurde. Bestimmte Dienste haben fest zugeordnete Port-Nummern (wir sprechen hier auch
von den sog. Well-known-Ports und zwar zwischen 1 und 1023). FTP ist etwa unter dem Well-knownPort 21 zu erreichen. Insgesamt sind Port-Nummenr zwischen 1 und 65535 (also 16 Bit) möglich.
Damit muss der Client lediglich eine TCP-Verbindung mit der Anforderung an den Port 21 stellen und
kann damit eine FTP-Verbindung aufbauen.
Solange der Client lediglich eine FTP-Verbindung zu einem Server besitzt, ist dies auch schon alles.
Was aber, wenn mehr als eine FTP-Verbindung zu dem gleichen Server aufgebaut werden soll?
Dann sind die Daten nicht mehr eindeutig einem Client-FTP-Programm zuzuordnen. Zur Vermeidung des Problems wählt der Client einfach aus dem Pool der Port-Nummern eine noch nicht belegte
Nummer aus. Das Ergebnis ist eine Kombination aus jeweils einer IP-Adresse und einer Port-Nummer auf beiden Seiten der Verbindung.
3.8
Network und Host
Wir hatten bereits angedeutet, dass die IP-Adresse aus zwei Teilen besteht. Wir teilen die IP-Adresse in die Anteile Network und Host ein, wobei die Teilung stets an den Bytegrenzen erfolgt. Das Network bezeichnet eine logische oder organisatorische Einheit von Rechnern wie etwa eine Firma oder
eine Universität, der Host-Anteil bezeichnet dann die einzelnen Rechner in dieser Einheit.
Oft wird der Network-Anteil auch als Domain bezeichnet. Verwirrend ist sicherlich auch der Begriff
Host. Unter einem Host stellen Sie sich vielleicht nur einen Server vor, gemeint ist hier aber jeder
Rechner, der mit einer IP-Adresse ausgerüstet werden soll. Historisch ist der Begriff aus der Entstehung von TCP/IP abgeleitet. Es gab damals nur Host-Systeme (mit TCP/IP) und Terminals.
Pro Anteil muss mindestens immer ein Byte verwendet werden. Je kleiner der Network-Anteil, umso
mehr Hosts können sich in einem Network befinden und umgekehrt.
Aus der 4-bytigen IP-Adresse ergeben sich dann die folgenden Kombinationen (jeweils in Bytes):
68
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Network-Anteil
Host-Anteil
1
3
2
2
3
1
Damit unterschieden werden kann, um welche Kombination es sich handelt, wird dies in den ersten 3
Bits des ersten Bytes verschlüsselt.
1
0
Class B
10
Class C
110
Hinweis
Class A
3.9
8
16
Netz
24
32
Host
Netz
Host
Netz
Host
Bitte beachten Sie, dass bei der Nutzung des Subnetting- oder auch des SupernettingVerfahrens Anteile von Bytes für die Netzwerkanteile bzw. Hostanteile genutzt werden
können. Hier ist dann keine Ausrichtung an den Bytegrenzen notwendig.
Subnet-Mask
Nach der Einteilung in verschiedene Adressklassen ist die kleinste Einheit ein Netz mit 255 „hosts“.
Auf Wunsch kann der Host-Anteil weiter aufgeteilt werden, wobei dies allerdings nur netzintern bekannt ist. Mit Hilfe der Subnet-Mask wird festgelegt, was (innerhalb des Host-Anteils) als netzinterner
Network-Anteil und was als netzinterner Host-Anteil gelten soll. Dieser Vorgang wird als Subclassing
bezeichnet.
Die Subnet-Mask muss auf allen Rechnern des Netzwerks gleich eingestellt werden.
Routing & Switching
69
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Die Subnet-Mask ähnelt einer IP-Adresse und besteht auch aus 4 Bytes, auch die Schreibweise
gleicht den IP-Adressen. Wir müssen die Bedeutung der Subnet-Mask binär verstehen; eine „EINS“
bedeutet dann Network-Anteil, eine „NULL“ bedeutet Host-Anteil. Wird unser Netz etwa als Class-C
Netz eingestuft, dann sind die ersten 3 Bytes als Network-Adresse definiert. Eine Subnet-Mask
255.255.255.0 nimmt dann keine Veränderung an der Zuordnung vor. Definieren wir als SubnetMask 255.255.255.240 (binär also 11111111.11111111.11111111.1111000), dann reservieren wir 4
Bits plus 3 Bytes als Network-Anteil und für die Adressierung der Rechner bleiben uns weitere 4 Bits.
Anders ausgedrückt können wir 16 Subnetze mit jeweils 16 Rechnern bilden.
3.10 Namen und IP-Adressen
Sicherlich sind die IP-Adressen notwendig, aber ein wenig unhandlich. Es gibt nur wenige Menschen,
die sich vielleicht einige hundert 4-Byte-Zahlenkombinationen merken können und damit glücklich
sind. Anstatt der Zahlen werden üblicherweise Namen eingesetzt wie etwa „host1“. Damit ist dann ein
Rechner mit einer ganz bestimmten IP-Adresse gemeint. Auch hier wird dann eine Trennung zwischen
Host und Network vorgenommen, und damit kommen wir etwa zu Bezeichnungen wie „host1.rz.orga.de“. Der Name vor dem ersten Punkt bezeichnet den Host-, der Rest den Network-Anteil der
„Adresse“. Prinzipiell sind dabei auch Konstrukte wie „sun1.ding.dongs.zing.zapp.ping.pong.com“
möglich; d.h., die 4 Bytes werden nicht unbedingt einzeln in Namen übersetzt.
Da ein Rechner intern weiterhin mit den numerischen IP-Adressen arbeitet, ist es notwendig, hier
entsprechende Übersetzungsmöglichkeiten zur Verfügung zu stellen. Dazu werden entweder lokale
Konfigurationsdateien genutzt oder Dienste wie DNS in Anspruch genommen.
Zusammenfassung
✔
✔
✔
✔
✔
✔
70
Sie haben in diesem Modul die wesentlichen Eigenschaften von Network und Transportprotokollen kennen gelernt.
Intensiv haben Sie sich mit den Eigenschaften des IP und des hierauf aufsetzenden TCPProtokolls beschäftigt.
Als zustandsloses Protokoll haben Sie UDP und die Fähigkeiten des Protokolls verstanden.
Sie kennen die wichtigsten Anwendungsprotokolle und können die Funktionen dieser Protokolle einordnen.
Sie können das TCP/IP-Protokoll in die Ebene des OSI-Referenzmodells einordnen.
Sie sind in der Lage, den Aufbau einer IP-Adresse zu verstehen, und können eine Trennung in Netzwerk- und Hostteil vornehmen.
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Transportprotokolle
Übungen
1. Auf welcher OSI-Schicht arbeitet ein Transportprotokoll?
2. Nennen Sie bitte zwei Eigenschaften, die ein zuverlässiges Protokoll auszeichnen!
3. Was unterscheidet einen Datagramm-Dienst von einem zuverlässigen Protokoll?
4. Für was steht die Abkürzung TCP?
5. Was wird innerhalb der TCP/IP-Familie auf der Host-to-Host-Ebene des DoD-Modells implementiert?
6. Welche Grundvoraussetzung brauchen SMTP und FTP wesentlich?
7. Auf welcher Ebene ist das Sliding Window-Verfahren implementiert? Byte oder Paketebene?
8. Was wird unter Congestion verstanden?
9. Das ARP übersetzt _____ Adressen in _____ Adressen. Bitte ergänzen Sie den Satz.
10. Wie lang (in Bits) ist der Netzwerk-Anteil bei einer Standard Class B IP-Adresse ?
Die Lösungen zu diesen Aufgaben finden Sie im Anschluss an das Glossar.
Routing & Switching
71
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Stichwortverzeichnis
Stichwortverzeichnis
A
AAL 82
AC 42, 64
ACK 59
Acknowledgement 57
Adaption 82
ANSI 14, 83
API 28
AppleTalk 38, 45, 117, 143, 169
Arbitrated 78
ARCHIE 53
ARCnet 35, 64
Areas 160, 172
ARPANET 120, 153, 175
ARQ 22
ASCII 50, 129
AU 76
Autonomous 176
B
Backbone 77, 172
BDR 173
Bellmann 153, 172
Betriebssysteme 26, 51, 122
BGB 148, 177
BinHex 52
Bitrate 78
BPDU 101
Breitband 76
Broadcastverkehr 144
BSD 54
Bustopologie 34, 139
BW 170
Bypass 85
C
Carrier 36
CCITT 14
CDDI 85
Classful 170
Classless 169
CLP 80
Cluster 35
Concentrator 85
Routing & Switching
Congestion 60
Convergence 76
Copper 83
Cost 135, 171
CRC 43, 80
Crossmedia 114
CSMA 43, 65, 141
D
DAC 85
Datalink 58
Datenrate 42, 126, 144
Datenverschlüsselung 27
DECNet 64, 117
Delay 58, 170
Delimiter 42
Denial 185
DHCP 39, 126
Dienstklassenspezifische 169
Dijkstra 159
Diskless 65, 126
Distanzvektor 153
DNS 54
DoD 71
DOS 53
DPDU 102
DSAP 65
DSL 86, 109
Duplex 76
E
Echo 61, 126
ECMA 14
EIGRP 157, 178
Encapsulation 40
Entfernungsvektorprotokoll 169
Entfernungsvektorverfahren 152
ETSI 14
Explorer 110
F
Fehlererkennung 22, 40, 80, 105
Fehlerkorrektur 22, 45
Fenstergröße 57
203
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Stichwortverzeichnis
FINGER 62
Flooding 159
Flusskontrolle 23, 59
Flusssteuerung 23, 80
Ford 153
Forwarding 141
Fragmentation 61
Fragmentierung 46, 126
Framegeneratoren 76
G
Gateway 60, 120, 168, 182
Gebühren 135
Gewichtung 170
GFC 80
Gigabit 144
Grenzrouter 172
Großrechner 42, 48
GW 60, 129
J
Jam 37, 140
K
Kaskadierung 85, 143
KAT6 31
Koax 40
Kollisionen 91, 144
Kollisionsdomäne 91, 142
Konvergenz 163, 170
Konvergenzzeit 152
L
Laufzeitunterschiede 135
Leitungsunterbrechung 77
Leitungsvermittlung 26, 35
Lernphase 97
LSA 158, 173
H
M
Handshake 60
HEC 80
Hello 175
Hierarchische Routing 119, 160, 176
holddown 156
Hops 60, 103, 155, 170
HRC 84
HTTP 48, 186
HTTPS 53
I
IBM 36, 65
IETF 49
IGP 177
IMP 120
Intelligenz 33, 92, 121
Intermediate 120, 172
Internetprovider 183
Intradomain 167
IOS 129
IPv6 125
IPX 45, 117, 143, 169
IRC 53
ISO 14, 83
ITU 14, 78
204
Mailinglist 52
Mailserver 51
Maske 125
MAU 33
Microsoft 48, 122
MIME 52
Monitor 64, 91
MTU 62
Multibridge 98
Multicast 37, 102
Multiplexern 35
Multiplexing 21, 79
N
Nachfolger 36, 158
Neighbor 158, 175
Neukonfiguration 107
Newsserver 53
NFS 54
NLSP 172
NNI 80
NNTP 52
NTP 54
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Stichwortverzeichnis
O
Öffentliche Netze 74, 187
Oktets 57
OPTION 59, 83
P
PA 78
Paketdatenvermittlung 74
Paketvermittlung 35, 67, 79
Payload 80, 127
Pfadbestimmungsverfahren 162
PLS 40
PMD 84
PNNI 172
POP3 52
PPP 66
Präambel 41
Precedence 58
Protokollanalyzer 63
Protokollstapel 13
Protokollsuite 48
PT 80
Q
Quellrouting 162, 168
Quench 59, 126
R
Radnabe 139
RARP 65, 126
Redirect 126
Redundanz 43, 101
Relais 33
Relay 53, 86
Reliability 58
Reply 65, 126, 169
Retransmission 57
Reverse 65, 126, 157, 170, 186
rexec 54
RFC 56, 169
Ringleitungsverteiler 42
Ringtopologie 33
RIPv2 169
rlogin 54
Routingdomänen 167
Routing & Switching
Routingeintrag 128
Routinginformation 175
Routingprozess 119, 183
rsh 54
RTP 172
RTT 60
Rückkanal 76
S
SAC 85
Sammelrouten 132
SAP 65
SAR 82
SAS 85
Schleifenproblem 101, 155
Schleifenvermeidung 170
Sequenz 46, 136
Sequenznummer 57, 59, 159, 173
Sequenzreihenfolge 26, 56, 114
Session 27, 53
Sicherheitsprobleme 74, 181
Signalflanken 21
Signalregenerierung 34
Slave 60, 85
SLIP 66
SMT 84
SMTP 71
SNAP 65
SNMP 54
SONET 84
Spannungsabfall 21
Spannungsanstieg 21
SPF 159
SPX 45
SRI 49
SSAP 65
stackable 144
Stellvertreter 177, 186
Sterntopologie 33
Sternverkabelung 139
Stillhalten 156
Strukturierung 120, 172
Subclassing 69
Subnetting 69, 125
Subnetz 90, 128
SUN 28, 54
Supernetting 69, 128, 169
Switching 75, 136, 141
205
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Stichwortverzeichnis
T
Takt 21, 76, 91
TC 108
TCA 108
TELNET 53, 129
Terminator 76
TFTP 61
Thick 35
Thin 35
Timer 64, 114
Topologieänderung 107, 133
Trägerfrequenz 21
Transceiver 34
Transferrate 79
Transmission 48, 81
Transportprotokoll 45, 73, 117
TTL 163
Twisted-Pair-Kabel 83
Verbindungszustand 158, 173
Verbindungszustandsprotokoll 161
Verbindungszustandsverfahren 162
Verkehr
asynchron 78
isochron 78
Verkehrsvolumen 89, 132, 151
Vermittlungseinrichtung 16, 82
Verschlüsselung 27, 52
Vollduplex 144
VPN 87
W
Webbrowser 129, 186
Webserver 186
Wechselrouten 134
WHOIS 54
Wrap 85
WWW 48
U
X
Übertragungsrate 36, 60, 144
Unicast 37
Unit 33, 62, 76
Uplink 145
UTP 40
UUCP 51
UUEncoded 52
V
X3T9 83
Z
Zelle 80
Zone 183
Zugriffsteuerung 23
Zwischenspeicherung 46, 92
VCI 80
Vektor 161
206
Routing & Switching
© des Titels »Routing & Switching« (ISBN 978-3-8266-9405-9)
2006 by Redline GmbH, Heidelberg
Herunterladen