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