Rechennetze KE3 und KE4 Flashcards
Was versteht man unter verteilten Anwendungen oder Netzwerkanwendungen?
Wenn ein Programm Dienste eines anderen Programms aufruft müssen zur Laufzeit die Prozesse, welche die entsprechenden Programme ausführen, miteinander kommunizieren. Laufen diese Prozesse auf verschiedenen Rechnern dann spricht man auch von verteilten Anwendungen oder Netzwerkanwendungen.
Nenne Gründe, Rechnern miteinander zu vernetzen
- Resource Sharing (Betriebsmittel oder Funktionsverbund)
- Last und Liestungsverbund (anfallende Rechenlasten gleichmäßig auf mehrere Rechner zu verteilen, bzw. Mehrere Rechner für das Lösen einer einzigen umfangreichen Aufgabe einsetzen)
- World-Wide-Web (Computergesteuerte Gruppenarbeit)
In was unterteilt man Rechnennetze räumlich?
- Lokale Netze (LAN) Ausdehnung von höchstens wenige km
- Regionale Netze (MAN) Ausdehnung von ca. 100 km
Weiterverkehrsnetze (Wide Area Network, WAN) umspannen die gesamte Erde
Was versteht man unter einem Protokoll?
Ein Protokoll ist eine Vereinbarung zwischen kommunizierenden Parteien über den Ablauf der Kommunikation.
Protokolle sind Regeln und Konventionen, die das Format, den Inhalt von Feldern und seine Bedeutung sowie die Rehenfolge gesenderter Nachrichten festlegen.
Was definiert ein Protokoll?
- die Nachrichtentypen (z.B. Anforderungen und Antworten)
- ihre Syntax
- die Semantik der Nachrichtentypen und Felder
- die Regeln, wann und wie ein Prozess Nachrichten eines bestimmten Typs sendet, bzw. Wie er auf diese Nachrichten regiert.
Was ist ein Dienstmodell?
Ein Dienst wird durch eine Menge von Operationen definiert, die eine Schicht der darüber liegenden Schicht zur Verfügung stellt.
Was sind Protokolldateneinheiten (PDU`s)?
Die Prozesse, die auf dem Qellhost und Zielhost laufen, kommunizieren miteinander durch Austausch von Schicht-n-Nachrichten. Diese Nachrichten nennt man Protokolldateneinheiten.
Wozu dient der Header in den PDU‘s?
Ein Header enthält zusätzliche Informationen der Nachricht eine untergeordneten Schicht, die es dem Empfänger in der darüber liegenden Schicht ermöglichen, bei Empfang einer geteilten Nachricht, diese wieder zusammenzusetzen.
Was ist die Übertragungsraten/Bandbreite?
Die Netzwerkanwendungen laufen auf den Endsystemen, den sogenannten Hosts. Die Endsysteme sind über Kommunikationsleitungen verbunden. Eine wichtige Kenngröße einer Leitung ist die Übertragungsrate, die man auch als Bandbreite bezeichnet und in Bit/Sekunde (bps) misst.
1Kbps =10^3 bps, 1Mbps = 10^6 bps und 1Gbps = 10^9 bps.
Was sind Transitsysteme?
In einem größeren Computernetzwerk sind die Endsysteme nicht direkt miteinander verbunden. Zwischen ihnen liegen weiter Datenverarbeitungsgeräte, sogenannte Transitsysteme. Dies sind z.b. Router.
Was ist ein Zugangsnetzwerk?
Ein Zugangsnetzwerk kann
- ein lokales Netzwerk (LAN) innerhalb eines Unternehmens oder einer Universität
- eine Wählverbindung über Telefonleitung (Modem, ISDN oder DSL,
- ein Zugangsnetzwerk für mobile Endgeräte sein.
Wie nennt man die Standadisierungsdokumente im Internet, die von der IETF entwickelt werden?
RFC (Requests for Comments)
Was sind Server?
Mit Server bezeichnet man alle Rechner, die Dienstleistungen für andere Rechner anbieten.
Was ist mit Clients gemeint?
Alle Rechner, die Dienste von Servern in Anspruch nehmen
Was ist der Unterschied zwischen den Protokollen IP und TCP/UDP?
IP dient zur Weiterleitung von Informationen zwischen Endsystemen und Routern.
TCP/UDP leisten die Weiterleitung von Informationen zwischen einzelnen Prozessen, die auf den Endsystemen laufen. Sie nuten dazu IP.
Was ist prinzipiell der Unterschied zwischen leitungsvermittelnden Netzen und paketvermittelten Netzen?
In leitungsvermittelnden Netzen wird für jede Kommunikationsanforderung eine dauerhafte Verbindung aufgebaut. Dazu werden die auf einem Pfad vom Sender zum Empfänger zur Kommunikation zwischen den Endsystemen benötigten Ressourcen (Puffer,Leitungsbandbreite) für die Dauer der Sitzung reserviert. (Analoges Telefonnetz)
In paketvermittelten Netzen werden diese Ressourcen nicht reserviert. Jede Nachricht, die in einer Sitzung gesendet wird, verwendet die Ressourcen nach Bedarf (Internet)
Welchen Aufbau eines Netzwerkkerns verwendet das Internet?
Das Internet ist ein paketvermitteltes Netz.
Die Paketvermittlung erlaubt die gleichzeitige Nutzung von Pfaden oder Teilpfaden durch mehrere Endsysteme.
In modernen, paketvermittelten Netzwerken sieht der Quellhost auf dem der Sender-Prozess läuft, lange Nachrichten als Folge kleiner Pakete. Dazu teilt er die Nachricht in Teile und gibt diese an die darunter liegende Schicht weiter.
Warum wurde das Internet als paketvermitteltes Netz konzipiert?
Der Vorläufer des Internets war das sogenannte ARPANET, das in den 1960er Jahren von der ARPA entwickelt wurde, einer Forschungseinrichtung des amerikanischen Verteidigungsministeriums. Im Unterschied zum leitungsvermittelnden Telefonnetz sollte ein sehr ausfallsicheres Netz entstehen, das auch bei Zerstörung von Teilen der Verbindungen weiterhin funktionsfähig blieb. Außerdem sollten die Verbindungsleitungen gemeinsam genutzt und nicht für eine Verbindung zwischen zwei Knoten exklusiv reserviert werden. Jeder Knoten im Netz konnte im Prinzip zu jeder Zeit Nachrichten an jeden anderen schicken, wobei auch der Weg zwischen den Knoten nicht unbedingt festgelegt war. Diese Anforderungen war nur durch Paketvermittlung zu erfüllen
Was sind die Nachteile der Nachrichtenvermittlung?
Bei der Nachrichtenvermittlung wird jede Nachricht als ganzes Paket verschickt, dies hat folgende Nachteile:
Damit die Nachricht bei der Übertragung immer intakt bleibt, muss jede Zwischenstation zuerst die komplette Nachricht empfangen und Zwischenspeichern, bis sie Komplet vorhanden ist, bevor sie sie an die nächste Station weiterleitet, außerdem muss bei Übertragungsfehlern immer gleich die ganze Nachricht wiederholt übertragen werden.
Was ist der Nachteil von kleinen Paketen bei der Paketvermittlung?
Der Umfang der Header-Informationen für ein Paket oder eine Nachricht ist etwa gleich. Damit ergibt sich bei der Paketvermittlung gegenüber der Nachrichtenvermittlung ein höherer Header-Overheadprojektor pro Datenbyte
In welche Klassen unterteilt man Paketvermitteltes Netze?
Datagramm-Netzwerke
VC-Netzwerke
Zu welcher paketvermittelden Netzklasse gehört das Internet?
Das Internet ist ein Datagramm-Netzwerk, da das IP die Pakete anhand von Zieladressen weiterleitet.
Was zeichnet ein Datagramm-Netzwerk aus?
In einem Datagramm-Netzwerk startet ein Paket in einem Sender-Host, anschließend fließt es durch eine Reihe von Routern und endet in dem Empfängerhost.
Was ist eine Ende-zu-Ende-Verzögerung?
Die Summe aus Verarbeitungs-, Warteschlangen-, Übertragungs- und Ausbreitungsverzögerungen eines Pakets auf dem Pfad von einem Sender zu einem Empfänger.
Wie wird die Leistung an einem Router gemessen?
Im Bezug auf die Wahrscheinlichkeit von Paketverlusten.
Bei Überlastung eines Netzes kann es vorkommen, dass für ein Paket kein Speicherplatz in der Warteschlange eines Routers vorhanden ist. Dann verwirft der Router das Paket. Das Paket geht damit verloren. Der Anteil verlorener Pakete erhöht sich mit zunehmender Verkehrsintensität. Aus diesem Grund wird die Leistung an einem Router oft nicht in Bezug auf die Verzögerung, sondern in Bezug auf die Wahrscheinlichkeit von Paketverlusten gemessen.
Man betrachte eine Nachricht, die 7,5 Mbit groß ist. Angenommen, zwischen Quelle und Ziel befinden sich zwei Router und drei Verbindungsleitungen und jede Verbindungsleitung hat eine Übertragungsraten von 1,5 Mbps. Weiter ignorieren wir die Verarbeitungs-, Warteschlangen,- und Ausbreitungsverzögerung. Welche Ende-zu-Ende-Verzögerung ergibt sich,
- Wenn die Nachricht mit der Nachrichtenvermittlung befördert wird, also durch versenden der 7,5 Mbit langen Nachricht im ganzen?
- wenn die Nachricht in kleine Pakete mit der Länge von je 1,5 Kbit übertragen wird.
- Wir brauchen hier nur die Übertragungsverzögerung zu betrachten, also müssen wir die Zeit berechnen, die für die Einstellung aller Bits eines Pakets in die Verbindungsleitung von einem Router zum nächsten erforderlich ist. Da di eNachricht 7,5 Mbit groß ist und die Übertragungsraten 1,5 Mbps beträgt, ist die Übertragungsverzögerung
7,5Mbit/1,5 Mbps = 5 Sekunden bei jedem Knoten. Also ergibt sich die Ende-zu-Ende-Verzögerung von 3*5 =15 Sekunden, wenn man die anderen Verzögerungen ignoriert. - Wir müssen zuerst die Nachricht in
7,5Mbit/1,5 Kbit = 7,510^3/1,5= 5000 Pakete zerlegen. Jedes Paket braucht
1,5 Kbit/1,5Mbps= 1,5 Kbit/1,510^3 Kbit = 1ms, um von einem Knoten in die Verbindungsleitung zu gelangen.
Während das erste Paket vom ersten zum zweiten Router fließt, wird das zweite Paket gleichzeitig von der Quelle zum ersten Router gesendet. Wenn das erste Paket das Ziel erreicht, landet das dritte Paket beim ersten Router. Also ist die Verzögerung nun genau die Zeit, die benötigt wird, alle Paket über die erste Strecke zu verschicken plaus die Zeit für die Übertragung des letzten Pakets vom ersten Router bis zum Ziel. Da das letzte Paket über zwei weitere Verbindungsleitungen übertragen werden muss, wird es vom Ziel in 5,002 Sekunden empfangen.
Also hat die Paketvermittlung die Verzögerung der Nachrichtenvermittlung um einen Faktor drei reduziert. Die Nachrichtenvermittlung führt eine sequentielle Übertragung durch, während die Paketvermittlung eine parallele Übertragung vornimmt. Bei der Nachrichtenvermittlung sind alle übrigen Router untätig, während ein Router überträgt. Bei der Paketvermittlung in unserem Beispiel übertragen zwei Router gleichzeitig, nachdem das erste Paket den letzten Router erreicht hat.
Für was ist die Anwendungsschicht zuständig?
Die Anwendungsschicht ist zuständig für die Unterstützung von Netzwerkanwendungen. Sie beinhaltet viele Protokolle, darunter HTTP für das Web, SMTP für E-Mail und FTP für Filetransfer. In der Internet-Terminologie wird sie auch als Verarbeitungsschicht bezeichnet.
Was versteht man unter Transportschicht?
Die Transportschicht stellt einen Kommunikationsdienst zwischen zwei Anwendungsprozessen bereit und ermöglicht so eine Endpunkt-zu-Endpunkt-Kommunikation von Quell-Host zu Ziel-Host. Es gibt zwei Übertragungsprotokolle TCP und UPD.
Was ist die Vermittlungsschicht?
Die Vermittlungsschicht bietet einen Endpunkt-zu-Endpunkt-Kommunikationsdienst zwischen zwei Hosts. Sie transportiert Datagramme vom Quellhost zum Zeilhost. Die Vermittlungsschicht des Internets besteht aus zwei Hauptkomponenten: dem IP und vielen Routing-Protokollen.
Was ist die Sicherungsschicht?
Die Sicherungsschicht ist für die Beförderung ganzer Rahmen von einem Knoten (Host oder Paket-Switch) zu einem benachbarten Konten zuständig, die physikalisch über einen Übertragungskanal z.B. Ein Kabel, eine Telefonleitung oder eine Punkt-zu-Punkt-Funkverbindung miteinander verbunden sind. Der auf der Sicherungsschicht bereitgestellte Dienst hängt von dem spezifischen Sicherungsschichtprotokoll ab. Ethernet und PPP und in gespießtem Umfang auch ATM und Frame-Relay sind Beispiele für die Sicherungsschicht
Was ist die Bitübertragungsschicht?
Die Bitübertragungsschicht überträgt die einzelnen Bits der 1-PDU von einem Router zum nächsten. Die Protokolle dieser Schicht hängen wesentlich von der Verbindungsleitung und vom Übertragungsmedium der Verbindungsleitung ab. Ethernet benutzt z.B. Viele Protokolle für die Bitübertragungsschicht.: eines für Twited-Pair Kabel, eines für Koaxialkabel, eines für Glasfaser usw. Je nach Medium wird ein Bit unterschiedlich auf der Verbindungsleitung übertragen.
Was ist die Netzwerkschnittstellenschicht?
Der Begriff Netzwerkschnittstellenschicht (Network Interface Layer) fasst die Bitübertragungsschicht und die Sicherungsschicht zusammen. Diese Schicht wird auch als Host-an-Netz-Schicht bezeichnet
Wodurch unterscheiden sich Hosts, Router und Switchs im Bezug auf das Schichtenmodell?
Router und Switchs (Bridges) unterscheiden sich von Hosts dadurch, dass sie nicht alle schichten des Protokollstapels implementieren: Switchs und Bridges implementieren nur die Schichten 1 und 2 während Router die Schichten 1 bis 3 implementieren.
Welche Schichten beschreibt das ISO/OSI-Referenzmodell?
- Schicht:
Bitübertragungsschicht - physikalische Übertragungskanäle - Schicht:
Sicherungsschicht - sichere Übertragungskanäle - Schicht:
Vermittlungsschicht- logische Übertragungskanäle zwischen Endsysteme - Schicht:
Transportschicht - logische Übertragungskanäle zwischen den Anwendungsprozessen - Schicht: Kommunikationssteuerungsschicht oder auch Sitzungsschicht - erlaube es den kommunizierenden Prozessen ihren Dialog zu kontrollieren und zu synchronisieren.
- Schicht:
Darstellungsschicht - Darstellung von Daten in unterschiedlichen Repräsenationen - Schicht
Anwendungsschicht - implementiert die eigentliche Anwendungsfunktionalistät.
Aus welchen Komponenten besteht das WWW?
- Web-Browser als Benutzerschnittstelle
- HTML (HyperText Markup Language) einem Standard für Dokumentenformate
- Web-Servern, die die Dokumente bereithalten
- HTTP (HyperText Transfer Protokol) einem Protokoll der Anwendungsschicht.
Warum ist der Server im Client/Server-Modell ein kontinuierlich ablaufender Prozess?
Im Client/Server-Modell kann der Client jederzeit eine Anfrage zum Server senden und erwartet dann eine Antwort. Das heißt aber, dass der Server permanent mit Anfragen rechnen muss. Der Server-Prozess muss also kontinuierlich laufen und aufpassen, ob eine Nachricht für ihn ankommt
Aus welchen Teilen besteht eine URL?
- Protokoll
- DNS-Namen oder der IP-Adresse des Rechners aus dem sich die Seite befindet
Lokal eindeutigen Namen der Seite.
Dazu wird das Namensschema : verwendet.
Bspl. HTTP -> http://IP-Adresse/lokaler Pfad SMTP -> mailto: E-Mail-Adresse FTP -> ftp://IP-Adresse/lokaler Pfad Lokale Dateien -> file:lokaler Pfad
Um die Webseite für das Internet zu holen, muss sie identifiziert werden. Dafür benötigt man die folgenden drei Informationen:
- Wie heißt die Webseite?
- Wo befindet sie sich?
- Wie wird auf sie zugegriffen?
Sind diese Informationen in einer URL der Form
http: /// für einen Benutzer vorhanden?
Ja, eine URL soll genau diese Informationen enthalten, die für einen Benutzer sichtbar sind.
Die IP-Adresse kennzeichnet den Rechner, auf dem sich die Webseite befindet. Der lokale Pfad gibt an, in welchem Verzeichnis und in welcher Datei auf dem Rechner mit der IP-Adresse die Webseite liegt. Damit ist die Webseite benannt. Der Protokoll-Name gibt an, wie d.h. Mit welchem Protokoll man auf die Seite zugreifen möchte.
Warum taucht in der URL
http://www.fernuni-Hagen.de/ks/1801 bei der Identifizierung der Webseite 1801 im Verzeichnis /ks/ vom Webserver www.fernuni-Hagen.de nicht die IP-Adresse auf, sondern der Name www.fernuni-Hagen.de?
IP-Adressen sind als kryptische Zahlenkombinationen für Menschen schwer zu merken. Viel leichter fällt und das Erinnern von sinnvollen Wörtern. Deshalb wird der sogenannte Domainname des WebsServers z. B.
Www.fernuni-Hagen.de statt seiner IP-Adresse 132.176.114.181 verwendet. Ein Mensch gibt beim Zugriff auf eine Webseite den Domainnamen an und der Web-Client muss vor dem Zugriff auf die Seite den Domainnamen auf die IP-Adresse abbilden. Außerdem können die IP-Adressen immer wieder wechseln, aber ein bestimmter Dienst ist trotzdem unter einem festen Namen erreichbar
Was ist der Unterschied zwischen HTTP Version 1.0 und HTTP Version 1.1?
Version 1.0 arbeitet nur mit nicht persistenten Verbindungen. Nicht-persistente Verbindungen werden nach der Lieferung des angefragt ein Objekts sofort wieder abgebaut.
HTTP Version 1.1 unterstützt jedoch auch persistente Verbindungen. Bei persistenten Verbindungen überlässt der Server dem Client die Entscheidung, wann die Verbindung wieder abgebaut werden soll.
Was ist ein Web-Cache?
Web-Caches sind Webs-Server, die von (lokalen) Organisationen eingesetzt werden, um Kopien der zuletzt angeforderten Objekte zu speichern
Web-Caches können gleichzeitig als Server und Client operieren. Sie werden durch sogenannte Proxy-Server implementiert.
Warum bleibt ein Client, der über einen Proxy-Server einen Webserver kontaktiert, dem Webserver gegenüber anonym?
Wenn ein Web-Client einen Proxy-Server benutzt, dann kommt seine Anfrage zuerst beim Proxy-Server an. Falls dieser die Antwort hat, dann sendet er sie direkt zum Client; in diesem Fall bekommt der Web-Server von der Anfrage gar nichts mit. Falls der Proxy-Server das Objekt nicht hat, fungiert er selbst als Web-Client und sendet die Anfrage weiter an den Web-Server. Insbesondere gibt der Proxy-Server seine eigene IP-Adresse an, nicht aber die IP-Adresse des ursprünglichen Clients, da der Proxy das Objekt erst erhalten soll und nur eine Kopie an den Web-Client weitergibt. Also hat der Web-Server nur etwas vom Proxy-Server bemerkt, aber nichts vom Web-Client
Was zeichnet mitunter das FTP (File Transfer Protokol) aus?
FTP baut zwei Verbindungen für die Kommunikation zwischen Client und Server.
Eine TCP-Verbindung wird als sogenannte Steuerverbindungen aufgebaut. Die Steuerverbindungen bleibt während der gesamten FTP-Sitzung des Benutzers erhalten.
Wird der Transfer einer Datei angestoßen, so wird die Datei aber nicht über die bisherige Verbindung übertragen, sondern über eine zweite TCP-Verbindung, die Datenverbindung. Sie wird nur für den Transfer dieser einen Datei eingerichtet und danach wieder abgebaut. (Out of Band). Ein FTP-Server führt über den Zustand aller seiner Benutzersitzungen Buch.
Die Gesamtzahl der Sitzungen, die ein FTP-Server gleichzeitig unterstützen kann, ist hierdurch eingeschränkt.
Über welche Protokolle wird der E-mail-Dienst realisiert?
SMTP (Simple Mail Tranfsfer Protokol) mittels TCP keine Authentifizierung
POP 3 (Post Office Protocol Version 3)
IMAP (Internet Message Access Protocol)
Welche Vorteile hat das Protokoll IMAP gegenüber dem Protokoll POP3 für das Abholen von E-Mails?
Der Unterschied zwischen POP3 und IMAP liegt in der Speicherung der E-Mails. Bei POP3 werden mithilfe des MUA alle E-Mails vom Mail-Server zum Client-Rechner abgeholt; im Normalfall wird man sie dabei auf dem Server löschen, man kann sie zwar dort auch liegen lassen, aber nicht weiter bearbeiten, z.B. Durch Kennzeichnung als gelesene Mail. Wenn man E-Mails jetzt in verschiedenen Ordnern speichern und verwalten will, dann geschieht dies ausschließlich auf dem Client-Rechner.
Bei IMAP werden die Mails auf dem Server gespeichert und in Ordnern organisiert. Der Mail-Client legt Kopien davon auf dem Client-Rechner ab und synchronisiert den Zustand mit dem Server. Der große Unterschied zu POP3 wird erst dann deutlich, wenn man von mehreren verschiedenen Client-Rechnern auf sein Mail-Konto zugreift: alle E-Mails die von einem Client aus gelesen wurden, sind danach auch von allen anderen Clients aus als gelesen markiert. Die E-Mails, die einmal in bestimmte Ordner verlagert wurden, sind dann auch sofort von den anderen Clients aus dort zu finden.
Was ist MIME (Multipurpose Internet Mail Extensions)
Durch MIME wird sichergestellt, dass zwischen SMTP-Servern nur 7-Bit-Nachrichten ausgetauscht werden, der Benutzer aber in seinem MUA die Nachrichten mit allen verwendeten Schriftzeichen und Anhängen betrachten kann.
Ist SMTP ein Push- oder Pull Protokoll?
SMTP ist ein Push-Protokoll. d.h. Der sendende Mail-Server schiebt die E-Mail unaufgefordert auf den empfangenden Mail-Server.
Was ist API (Application Programming Interface)?
Eine Schnittstelle zur Transportschicht. Diese Schnittstelle bietet als Dienstzugangspunkt zu dem Dienst einen sogenannten Socket. Web-Clients und -Server kommunizieren also, indem sie ihre HTTP-Nachrichten an einen Socket übergeben. Das Socket-Interface in einem Client ist die Tür zur TCP-Verbindung zu einen Server, der ebenfalls über einen Socket eine Tür zu dieser Verbindung hat.
Welche Dienste benötigt eine Anwendung überhaupt von der Transportschicht?
Die Anforderungen lassen sich in drei Gruppen einteilen.
Zuverlässigkeit (Datenverlust)
Bandbreite
Zeit
Wie müssen Netzwerkanwendungen auf der Anwendungsschicht der Transportschicht adressiert werden?
Mit:
- einer ID
- einen Namen oder die Aderesse des Hostrechners
Verwenden Router mnemonische Bezeichnungen für Internet-Hosts wie z.B. Www.fernuni-Hagen.de?
Nein, Router benutzen ausschließlich die IP-Adressen zum Weiterleiten von Nachrichten. DNS (Domain Name System) übernimmt die Aufgabe, die Mnemonisch Hostnamen auf IP-Adressen abzubilden. DNS ist selbst ein Protokoll der Anwendungsschicht.
Wie unterscheidet sich die Arbeitsweise des lokalen Name-Servers und der höheren Stufen der Name-Server?
Der lokale Name-Server arbeitet nach dem Prinzip der rekursiven Namens-Auflösung. Er übernimmt die Anfrage eines Hosts, erledigt alles Notwendige zur Beantwortung und liefert die endgültige Antwort zurück, falls möglich. Die Arbeitsweise der Name-Server auf den höheren Stufen nennen wir dagegen iterative Namens-Auflösung. Sie antworten nur mit dem Verweis auf einen anderen (niedrigeren) Server, der die Frage weiterbearbeitet kann. An diesen ist dann dieselbe Anfrage noch einmal zu richten.
Welches sind die Aufgaben der Transportschicht?
Die Aufgabe der Transportschicht ist die Bereitstellung von Kommunikationsdiensten für die Anwendungsprozesse, die auf den verschiedenen Endgeräten eines Computernetzwerks laufen. Transportprotokolle werden auf den Endgeräten (Hosts) implementiert, nicht in Routern.
Was ist Demultiplexen?
Das Transportprotokoll verteilt den Nachrichtenstorm, den es von der Vermittlungschicht erhält auf verschiedene Empfängerprozesse.
Was ist Multiplexen?
Das sendende Transportprotokoll fügt geeignete Kontrollinformationen zu den Nachrichten, die es vom Anwendungsprozess hinzu, bevor es sie an die Vermittlungsschicht zum Versenden übergibt.
Wodurch Unterscheiden sich das UDP-Protokoll und das TCP-Protokoll?
Die beiden Protokolle unterscheiden sich in Hinsicht der Zuverlässigkeit des Dienstes:
UDP-Protokoll:
Erlaubt das Senden einzelner Nachrichten zwischen den Prozessen. Es macht dabei keine Garantien bzgl. Der Ankunft (Datenverlust) und der Reihenfolge der Nachrichten.
Der Sender baut keine Verbindung zum Empfänger auf, sondern schickt die Nachrichten einfach los. ->verbindungsloser Dienst.
TCP-Protokoll:
Garantier, dass die von einen Sendeprozess zu einem Empfängerprozess übertragenen Nachrichten irgendwann in der richtigen Reihenfolge und vollständig beim Empfängerprozess ankommen. Der Sender baut vor dem Übertragen der Daten eine virtuelle Verbindung zum Empfänger auf. Erst wenn er eine Bestätigung erhält, wird die Nachricht versendet. -> verbindungsorientierten Dienst
- Was ist die maximale Länge eines UDP-Segments?
- Was ist die maximale Länge eines Hostnamens und beantworten sie die Frage, warum eine DNS-Anfrage in ein UDP-Segment passt.
- Die Länge eines UDP-Segments in Byte wird im Header angegeben, sie wird durch höchstens 2 Byte (16 Bit) dargestellt. Die größte Zahl, die mit 16 Bit dargestellt wird, beträgt 2^16-1 die Zahlen fangen aber mit 0 an. Also beträgt die maximale Länge eines UDP-Segments 2^16Byte = 64 KByte.
- Ein Hostnamen darf höchstens 255 Zeichen lang sein Also passt eine DNS-Anfrage bequem in ein UDP-Segment
Bietet UDP-Protokoll eine Fehlererkennung?
Ja, UDP führt eine simple Fehlererkennung ein, da nicht alle Vermittlungsprotokolle eine Fehlererkennung oder -Korrektur aufweisen. Falls UDP einen Fehler erkennt, dann wird das Segment entweder verworfen oder mit einer Warnung an den Anwendungsprozess weitergereicht. Zur Fehlererkennung speichert UDP eine Prüfsumme (2 Byte) im Header des UDP-Segments. Die UDP-Prüfsumme wird berechnet als 1er Komplement der 1er-Komplement-Summe aller 16-Bit-Wörter des Segments. Das UDP-Protokoll auf dem Empfänger-Host wird dann die gleiche Operation auf dem Segment durchführen, aber inklusive der Prüfsumme; hier sollte dann das Resultat 1111111111111111 herauskommen. Ist dagegen mindestens ein Bit gleich 0, dann ist ein Übertragungsfehler aufgetreten.
Berechnen Sie die Prüfsumme der folgenden Wörter. 01110101 11110000 00111111 11111000 11001001
Zum Hintergrund bei der 1er-Komplement-Addition sei noch folgendes gesagt, was zur Lösung der Aufgabe nicht direkt notwendig ist, jedoch erklärt warum die Prüfsumme gerade so berechnet wird. Man kann die Bits eines Wortes als Darstellung einer ganzen Zahl auffassen, wobei das höchste Bit als Vorzeichen interpretiert wird. Wenn das höchste Bit 0 ist, repräsentieren die restlichen Bits eine positive Zahl, z.B. Ist 01110101 die Zahl 117. Wenn das höchste Bit eine Eins ist ist genau die negative Zahl gemeint, deren absoluter Wert das 1-er-Komplement der Zahl ist.
Lösung zur Aufgabe:
Binärzahl Dezimalzahl. Kommentar
01110101 117. 1. Wort
+1110000 -15. 2. Wort
—————————————————-
101100101. Zwischensumme mit Überlauf 1
+ 1. Addition des Überlaufs
_______________________________________
01100110 102. Ergebnis
Addieren wir jetzt noch zuerst die restlichen drei Zahlen 00111111, 11111000 und 11001001 auf die gleiche Weise:
Binärzahl. Dezimalzahl. Kommentar
00111111. 63. 3. Wort
11111000. -7. 4. Wort
+11001001. -54. 5. Wort
_________________________________________
1000000000. Zwischensumme mit Überlauf 10
+. 10. Addition des Überlaufs
00000010 2. Ergebnis
Am Ende summieren wir die beiden Teilsummen 01100110 und 00000010:
Binärzahl. Dezimalzahl. Kommentar 01100110. 102 \+00000010. 2 \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ 01101000. 104. kein Überlauf
Das 1er Komplement von 01101000 ist 10010111, das ist die gesuchte Prüfsumme. Zur Kontrolle kann man alle fünf Zahlen plus Prüfsumme addieren und das Ergebnis ist 1111111 (dessen Zahlenwert ist die besagte negative Null)
Von welchen Schichten werden die Funtkionen rdt_send() und udt_send() zu Verfügung gestellt?
Die Funktion rdt_send() ist ein Dienst, der Von-der-Tann-Straße Schicht „zuverlässiger Übertragungs-Kanal“ der direkten darüberliegenden Schicht zur Verfügung gestellt wird. Dagegen ist udt_send() ein Dienst der Schicht „unzuverlässiger Übertragungskanal“. Die beiden Funktionen stellen genau die Schnittstellen zwischen zwei direkt benachbarten Schichten dar. Die Aufgabe der Schicht „zuverlässiger Übertragungs-Kanal“ ist, mittels des unzuverlässigen Diensts udt_send() den zuverlässigen Dienst rdt_send() zu implementieren.
Mit welchen Problemen muss ein Transportprotokoll generell bei der Übertragung von Daten über einen unzuverlässigen Übertragungskanal umgehen?
- Einzelne Bits in einer Nachricht können fehlerhaft übertragen werden.
- Ganze Nachrichten können verloren gehen.
- Falls die Datenrate, in der ein Empfänger Daten empfangen kann, niedriger sein kann, als die Rate, in der ein Sender Daten senden kann, dann muss zusätzlich das Problem der Überflutung des Empfängers mit Nachrichten gelöst werden
Was ist ein ARQ-Protokoll (Automatic Repeat reQuest)?
Ein zuverlässiges Datenübertragungsprotokoll, das auf Wiederholung basiert.
Folgende Fähigkeiten:
- Fehlererkennung
- Rückmeldung vom Empfänger
- Wiederholung
Was nennt man ein Stop-and-Wait-Protokoll?
Der Sender wartet mit der Übertragung des nächsten Pakets so lange bis eine Bestätigung für das aktuelle Paket eingetroffen ist.
Was ist ein Alternating-Bit-Protokoll?
Ein Alternating-Bit-Protokoll erfüllt alle Anforderungen an ein Protokoll für die zuverlässige Datenübertragung über einen verlustbehafteten Kanal mit Bitfehlern.
Dies wird mit
- Erkennung von Paketverlusten
- Behandlung von Paketverlusten
Relisiert.
Die Sonderseite vom Alternating-Bit-Protokoll unternimmt nichts, falls ein empfangenes Paket fehlerhaft ist oder im Bestätigungsfeld nicht die erwartete Sequenznummer steht. Nur falls zum Ende das Timeouts noch keine korrekte Bestätigung eintraf, wird das Paket erneut gesendet. Wir ändern dieses Protokoll und verlangen nun, dass beim Empfang eines fehlerhaften Pakets oder falschen Bestätigungsfeldes das aktuelle Datenpaket sofort neue übertragen wird. Wird das geänderte Protokoll noch funktionieren? Nehmen Sie an, dass es keine Paketverlusten, aber Verzögerung bei der Paketübermittlung gibt. Was passiert in einem schlimmen Fall?
Wir nehmen an, dass das i-te Paket für i>= 1 insgesamt s(i) mal übertragen wird. Das i+1te Paket wird erst gesendet, wenn der Sender die erste richtige Bestätigung für das i-te Paket erhalten hat. Wenn der Sender das i+1te Paket geschickt hat geht er in den Zustand: Warte auf ACK für das i+1te Paket. Es kommen jetzt aber noch s(i)-1 Bestätigungen für das i-te Paket beim Sender an, bevor er die erste Bestätigung für das i+1te Paket bekommt, da ein Paket nicht die anderen Pakete überholen kann. Diese wiederholten Bestätigungen führen im geänderten Protokoll dazu, dass der Sender mindestens noch s(i) -1 mal das i+1te Paket übertragen muss. Das heisst, das i+1te Paket muss mindestens so oft wie das i-te Paket gesendet werden.
Wir können uns vorstellen, dass bei jedem Paket nur einmal ein wiederholtes Senden benötigt wird. Dann gilt s(i) = i+1 für i>=2. Das bedeutet, dass bis das n-te Paket gesendet werden kann, schon ((n-1)(n+2))/2 Pakete vom Sender zum Empfänger übertragen wurden. Wenn n gross ist, dann wird es sehr lange dauern, bis die Daten vom Sender zum Empfänger fertig übertragen sind, oder die Leitung wird so stark belastet, dass die Übertragung nicht weitergeht. Also kann das geänderte Protokoll nur funktionieren, wenn die Anzahl der Pakete relativ klein ist.
Was legt die Fenstergröße fest?
Die Fenstergröße legt fest, wie viele Pakete gesendet werden dürfen, ohne dass die vorhergehenden Pakete bestätigt werden müssen. Ein sogenanntes Sendefenster enthält zu jedem Zeitpunkt sämtliche Paketnummern, die der Sender aktuell beim Versenden von Paketen benutzen darf.
Wie arbeitet ein Fenster-Protokoll?
In der Praxis werden Protokolle eingesetzt, die mehr als ein Paket senden dürfen, bevor eine Bestätigung des Empfängers eintreffen muss. Hierzu ist es notwendig, Pakete durchzunummerieren. Der Empfänger bestätigt in der Regel nich den Empfang jedes einzelnen Paketes, sondern den Empfang einer korrekt empfangenen Paketfolge (kumulative Bestätigung). Dazu sendet er die Nummer des letzten in der Folge korrekten empfangen Pakets.
Was ist ein Go-back-n oder auch Sliding-Window-Protokoll?
Der Empfänger fordert den Sender auf, das fehlerbehaftete Paket und alle danach bereits gesendeten n-1 Folgepakete erneut zu senden
Was ist selektive-reject/Repeat?
Der Empfänger fordert den Sender auf, nur das fehlerhafte Paket erneut zu senden
Was ist der Drei-Wege-Handschlag (Three-way handshaking)
Wird beim TCP-Protokoll eingesetzt.
Der Client-Host baut eine Verbindung zum TCP auf dem Server-host in drei Schritten auf:
1. Das Client-TCP sendet ein sogenanntes SYN-Segment an das Server TCP. Dieses Segment enthält keine Anwendungsdaten, aber es hat ein spezielles Header-Feld, das SYN-Bit, auf 1 gesetzt. Zusätzlich enthält das Sequenznummer-Feld des SYN-Segments eine initiale Sequenznummer (Client_isn), die das Client-TCP gewählt hat.
2. Sobald das SYN-Segment beim Server-TCP ankommt, erzeugt es eine neue Verbindung und weist ihr entsprechende Puffer und Variablen zu. Dann schickt das Server-TCP ein SYNACK-Segment an das Client-TCP zurück. Dieses Segment enthält noch keine Anwendungsdaten, aber es enthält drei wichtige Informationen im Segment-Header:
Das SYN-Bit ist auf 1 gesetzt, das Acknowledgement-Feld ist um die gerade empfangene Sequenznummer client_isn+1 gesetzt, und das Sequenznummer-Feld ist auf eine initiale Sequenznummer des Servers (server_isn) gesetzt, die das Server-TCP gewählt hat. Dieses SYNACK-Segment bestätigt dem Client-TCP, dass das Server-TCP die Verbindung mit der initialen Sequenznummer client_isn des Client-TCP akzeptiert hat und dass die initiale Sequenznummer des Servers server_isn ist.
3. Sobald das Client-TCP das SYNACK-Segment empfängt, erzeugt es ebenfalls eine entsprechende Verbindung und weist ihr entsprechende Puffer und Variablen zu. Dann schickt das Client-TCP eine Bestätigungsnachricht. In diesem Segment ist das Acknowldgement-Feld auf server_isn+1 und das SYN-Bit auf 0 gesetzt.
Wie geht der client im TCP-Protokoll vor, wenn er die Verbindung schließen möchte?
- Das Client-TCP sendet ein sogenanntes FIN-Segment an das Server-TCP. Dieses Segment enthält keine Anwendungsdaten, aber es hat ein spezielles Header-Feld, das FIN-Bit auf 1 gesetzt
- Wenn das Server-TCP ein FIN-Segment empfängt, dann schickt es eine Bestätigung, ein ACK-Segment, an das Client-TCP.
- Dann Sendet das Server-TCP ein eigenes FIN-Segment mit FIN-Bit auf 1 gesetzt an das Client-TCP.
- Wenn das Client-TCP das FIN-Segment empfängt, dann schickt es eine Bestätigung, ein ACK-Segment an das Server-TCP. Nach einer bestimmten Wartezeit wird die Verbindung gelöscht und die zugewiesenen Resourcen (Variablen, Puffer) freigegeben.
Nachem das Client-TCP das letzte FIN des Server-TCP empfangen und bestätigt hat, wartet es noch eine gewisse Zeit und gibt dann die Verbindungsressourcen frei.
Beim Aufbau einer TCP-Verbindung zwischen einem Client und einem Server wird ein drei-Wege-Handschlag durchgeführt, d.h. Drei Segmente werden ausgetauscht, wobei auch die initialen Sequenznummern festgelegt werden.
- Warum genügt nicht ein Zwei-Wege-Handschlag, d.h. Warum kann der Client nich einfach an den Server ein SYN-Segment schicken, um den Aufbau einer Verbindung anzufordern, und der Server bestätigt mit einem SYNACK-Segment?
- Warum ist die Angabe der Initialen Sequenznummern beim Aufbau der TCP-Verbindung erforderlich?
- Ein zwei-Wege-Handschlag reicht nicht aus um eine korrekte Verbindung aufzubauen. Das Problem liegt bei den verspäteten Kopien (Duplikaten) der Nachrichten im Netz. Wenn ein Client die Aufbau-Nachricht wegen des abgelaufenen Timers mehrmals an den Server schickt, dann existieren im Netz Duplikate der Nachrichten. Nachdem eine Verbindung erfolgreich aufgebaut und danach wieder abgebaut wurde, kann ein verspätetes Duplikat zum Aufbau der Verbindung beim Server landen. Wenn der Server nun eine Bestätigung an den Client senden und ohne weitere Bestätigung eine Verbindung aufbauen würde, könnte im schlimmsten Fall die gleiche Datenübertragung wegen der Duplikate noch einmal durchgeführt werden. Dann wäre es theoretisch möglich, dass eine Banküberweisung mehrmals stattfindet.
- TCP soll garantieren, dass die Segmente in der richtigen Reihenfolge der Anwendung ausgeliefert werden, wie sie gesendet sind. Also braucht man eine Nummerierung von Segmenten, die mit einer Zahl initialisiert wird. Diese initiale Nummer muss beim Aufbau einer TCP-Verbindung vereinbart werden.
Die Sequenznummer eines TCP-Segments ist 32 Bit lang und deshalb durch 2^32 begrenzt. Warum können trotzdem theoretisch beliebig viele Segmente über eine TCP-Verbindung gesendet werden?
Man kann den Bereich Sequenznummern als einen Ring betrachten, der von 0 bis 2^32 - 1 durchnummeriert ist. Immer, wenn die Zahl 2^32 -1 erreicht wird, fängt man wieder bei 0 an, man rechnet also modulo 2^32. Ein kompletter Durchlauf des Rings umfasst 2^32 Byte = 4 GByte und braucht normalerweise genug Zeit, so dass es nicht zu Missverständnissen kommt. So kann man also über eine Verbindung eine beliebige Anzahl von Segmenten übertragen.
Wie ist die Sequenznummer eines Segments definiert?
TCP realisiert einen Datenströmen von Bytes zwischen Sender und Empfänger, jedes Byte in diesem Bytestrom wird nummeriert, diese Nummer nennen wir die Bytestromnummer. Die Sequenznummer eines Segments ist definiert als die Bytestromnummer des ersten Bytes im Segment.
Wie signalisiert TCP welches Byte als nächstes vom Sender erwartet wird?
TCP verwendet die Bestätigungsnummern (Acknowledgemetns) um zu signalisieren, welches Byte als nächstes vom Sender erwartet wird.
Was passiert, wenn im Netzwerk noch verspätete Pakete einer mittlerweile schon abgebauten TCP-Verbindung ankommen? Wann könnte das ein Problem sein?
- Wenn das verspätete Paket keine Anforderung zum Aufbau einer Verbindung ist, sondern irgendein anderes, das während einer Verbindung auftreten kann, dann wird es einfach verworfen, denn es kann keiner existierenden Verbindung zugeordnet werden. Es sei denn, es existiert schon wieder eine neue Verbindung mit denselben IP-Nummern und zufällig denselben Portnummern, und die verwendete Bestätigungsnummer fällt in das aktuelle Fenster, was aber extrem unwahrscheinlich ist.
- Wenn aber eine verspätete Anforderung (Connection request) zum Aufbau einer Verbindung mit einer Initialen Sequenznummer beim Empfänger ankommt, dann bestätigt er zunächst mit derselben initialen Sequenznummer und seiner eingeben initialen Sequenznummer für den Rückweg.
Die scheinbar gewünschte Verbindung wird aber nicht zustande kommen, weil sie normalerweise auf der Absenderseite keinem Verbindungsversuch zuzuordnen ist. Es sei denn, dass es gerade eben einen erneuten Versuch zum Verbindungsaufbau mit denselben IP-Nummern und zufällig denselben Portnummern und zufällig derselben initialen Sequenznummer gegeben hat, für den die Bestätigung noch aussteht, was wiederum extrem unwahrscheinlich ist.
Hieran erkennt man noch einmal den Vorteil von zufällig gewählten initialen Sequenznummern und dem 3-Wege-Handshake beim Verbindungsaufbau.
Wie geht TCP mit der Fehlerkorrektur um?
TCP fügt eine eigene Prüfsumme zu jedem Segment hinzu und überträgt verfälschte Daten erneut. Der Algorithmus für die Bildung der Prüfsumme ist einfach: Sie ist genau das 1er Komplement der 1er-Komplement-Summe aller 16-Bit-Wörter des Segments. Zur Kontrolle addiert der Empfänger alle 16-Bit-Wörter einschließlich des Headers. Wenn Schaben die Binärzahl 111111111111111 bestehend aus 16 gesetzten Bits, ergibt, dann ist wahrscheinlich kein Fehler bei der Übertragung aufgetreten.
Realisiert TCP einen zuverlässigen Datentransfer?
Ja, das heißt Daten werden
- unverändert
- vollständig
- in der Reihenfolge beim Empfängerprozess abgeliefert, in der sie vom Senderprozess versendet wurden.
Im TCP-Senderprogramm wird erst eine schnelle Wiederholung der Übertragung des Segments N (Fast Retransmit) durchgeführt, nachdem die duplizierte ACK empfangen wurden. Warum wird nicht nach dem ersten Empfang des Duplikat-ACKs für ein Segment schon ein Fast-Retransmit ausgeführt?
Wenn der Sender das erste ACK erhält, weiß er, das die Segmente bis N-1 korrekt beim Empfänger angekommen sind und dieser das Segment N erwartet. Wenn der Sender das zweite ACK bekommt, weiß er, dass der Empfänger entweder das Segment N nicht korrekt oder mindestens ein Segment mit der Sequenznummer größer als N empfangen hat. Jetzt wiederholt der Sender das Senden des Segments N noch nicht und versucht noch etwas zu warten. Er hofft, dass der Empfänger nach dem Absenden des zweiten ACKs das verspätete Segment N noch erhält. Wenn der Sender aber das dritte ACK empfangen hat, ist ihm klar, dass das Segment N noch nicht beim Empfänger angekommen ist und der Empfänger mindestens noch ein anderes Segment mit einer Sequenznummer größer als N erhalten haben muss. Nun wiederholt der Sender die Übertragung des Segments N.
Man kann vermuten, dass man mit drei Duplicate ACKs einen Kompromiss zwischen der Ausführung des Fast-Retransmit und dem Warten auf die Ankunft verspäteter Segment schließt. Einerseits will der Sender schnell die fehlenden Segmente wieder senden und andererseits versuchen, die Wiederholung der Übertragung nicht zu oft zu machen, um das Netz nicht unnötig zu belasten
Was ist ein Flusskontrolldienst?
Mit diesem Dienst kann der Empfänger die Senderate des Senders so verringern, dass der Empfangspuffer nicht überläuft.
Dazu hat jeder TCP-Prozess eine Variable, die man Empfangsfenster nennt, dieses Empfangsfenster zeigt an, wie viel freier Puferplatz noch beim Empfänger vorhanden ist. Wann immer der Sender Daten sendet, zieht er den zur Speicherung notwendigen Platz vom Empfangsfenster ab. Falls kein Platz mehr da ist, sendet der Sender keine weiteren Daten. Damit dies funktioniert, teilt der Empfänger dem Sender in jedem Segment, das er an den Sender schickt in ein Window-Feld des TCP-Headers mit, wie viel freien Platz er im Puffer hat. Nun kann der Sender jeweils maximal so viele Daten senden, wie noch Pufferplatz übrig ist. Wenn der Empfängerpuffer voll ist, wartet der Sender, bis er vom Empfänger ein Segment erhält, in dem wieder neuer freier Platz gemeldet wird. Damit dies auch dann funktioniert, wenn der Empfänger gerade keine Anwendungsdaten an den Sender zu schicken hat, muss der Empfänger in diesem Fall ein leeres Segment ohne Dateninhalt an den Sender schicken, in dem er den freien Empfangspufferplatz mitteilt. Sonst wäre der Sender blockiert und könnte trotz freien Empfangspuffers keine Daten mehr senden.
Nenne Vorteile des UDP-Protokolls.
- Es ist ein verbindungsloses Protokoll und kommt daher ohne Verbindungsaufbau und Verbindungsabbau aus
- Es speichert keinen Verbindungszustand und kommt daher mit einer einfacheren Implementierung aus. ->Server kann deutlich mehr Clients bedienen
- Es kommt meist einem Header von nur 8 Byte aus. (TCP 20 Byte)
- Es erlaubt Anwendungen so viele Daten pro Zeiteinheiten Zu versenden, wie sie Daten generieren und über Netzwerkkarte in das Internet einspeisen können
Nenne Nachteile von TCP
Es ist ein verbindungsorientierten Protokoll. Damit einher geht eine initiale Verzögerung bei der Datenübertragung. Dies ist eine der Hauptursachen für Wartezeiten beim WWW, denn bei HTTP Version 1.0 wird für jede Anforderungsnachricht eine neue Verbindung aufgebaut.
- Es speichert den Verbindungszustand in der TCP-Implementierung auf Sender und Empfängerseite. Diese Informationen werden zur Verwaltung der Verbindung und zur Erbringung der Diensteigenschaften benötigt. Daher kann ein Server, der mit TCP arbeitet weniger Clients dienen als gleich ausgestatteter Server der mit UDP arbeitet.
- Der TCP-Header ist 20 Byte lang UDP 8 Byte. -> verbraucht mehr Bandbreite
- TCP bietet eine Flusskontrolle die den Senderprozess am Verschicken zu vieler Nachrichten hindert, dies ist dann ein Nachteil, wenn eine Echtzeitanwendung zwar Paketverlusten tolerieren kann, aber immer eine minimale Senderate haben muss.
Wie kommunizieren zwei Rechner miteinander?
Die Prozesse kommunizieren miteinander durch den Austausch von Nachrichten über ein Computernetzwerk. Ein sendender Prozess erzeugt und sendet Nachrichten über das Netzwerk. Ein empfangender Prozess empfängt diese Nachrichten und antwortet möglicherweise, indem er Nachrichten zurück schickt.
Was kommuniziert miteinander auf der Transportschicht?
Die Transportschicht stellt einen Kommunikationsdienst zwischen zwei Anwendungsprozessen bereit und ermöglicht so eine Endpunkt-zu-Endpunkt-Kommunikation von Quell-Host zu Ziel-Host. Es gibt zwei Übertragungsprotokolle: TCP und UDP
Was kommuniziert miteinander auf der Vermittelungsschicht?
Die Vermittlungsschicht bietet einen Endpunkt-zu-Endpunkt-Kommunikationsdienst. Sie transportiert Datagramme vom Quellhost zum Zielhost.Die Vermittlungsschicht des Internets besteht aus zwei Hauptkomponenten: dem IP und vielen Routing-Protokollen
Was ist ein Dienst?
Ein Dienst wird durch eine Menge von Programmen oder Operationen definiert, die eine Schicht der darüber liegenden Schicht zur Verfügung stellt.
Die Defenition von Dienst sagt nur, was die Schicht leistet, sie sagt aber nicht, wie die direkt darüber liegende Schicht auf den Dienst zugreift und wie die Schicht arbeitet
Was ist der Unterschied zwischen Diensten und Protokollen?
Ein Protokoll ist ein Regelgefüge, daß Format und Bedeutung der innerhalb einer Schicht ausgetauschten Rahmen, Pakete oder Nachrichten festlegt. Mithilfe von Protokollen werden die definierten Dienste ausgeführt. Daraus ergibt sich die Tatsache, daß Protokolle nach Belieben verändert werden können, solange sich die für den Dienstnutzer sichtbaren Dienste nicht ändern.
Ein Protokoll implementiert Dienste.
Ein Dienst ist eine Menge von Operationen, die zur Verfügung gestellt werden.
Welche Beziehungen haben Protokolle und Dienste?
Ein Protokoll einer Schicht implementiert einen Dienst der Schicht.
Was ist ein Dienstzugangspunkt?
Der Dienst der direkt darunter liegenden Schicht wird über einen Dienstzugangspunkt (Schinttstelle, Interface) erreicht
Was ist eine geschichtete Protokollarchitektur?
Bei einer geschichteten Protokollarchitektur gehört jedes Protokoll zu einer bestimmten Schicht. Ein Protokoll der Schicht n definiert also genau die Regeln mit denen zwei Endsysteme Nachrichten auf dieser Schicht austauschen.
Was ist das Schichtenmodell?
Die Schichtenmodell ist ein häufig angewandtes Strukturierungsprinzip für die Architektur von Softwaresystemen. Dabei werden einzelne Aspekte des Softwaresystems konzeptionell einer Schicht zugeordnet.
Welche Vorteile hat ein Schichtenmodell?
Komplexität kann überschaubar gehalten werden
Protokolle einer Schicht können nach Belieben verändert werden, solange sich die für den Dienstnutzer sichtbaren Dienste nicht ändern.
Wie sieht das Internet-Schichtenmodell aus?
Anwendungsschicht: Zuständig für die Unterstützung von Netzwerkanwendungen (HTTP, SMTP, FTP, …)
Transportschicht: Kommunikationsdienst zwischen zwei Anwendungsprozessen (TCP, UDP)
Vermittlungsschicht: Transportiert Datagramme vom Quellhost zum Zielhost (IP)
Sicherungsschicht: Beförderung ganzer Rahmen von einem Konten zu einem benachbarten Knoten (Ethernet)
Bitübertragungsschicht: Überträgt die einzelnen Bits der 1-PDU von einem Router zum nächsten
Internet-Schichtenmodell: Welche Dienste bietet eine Schicht und Welche Protokolle hat jede Schicht?
Anwendungsschicht: HTTP, SMTP, IMAP, FTP
Schnittstelle zur Transportschicht: API (Application Programming Interface)
Transportschicht: TCP, UDP
Schnittstelle zur Vermittlungsschicht: Vermittlungsschicht bietet einen verbindungslosen Datagramm-Dienst
Vermittlungsschicht: IP
Sicherungsschicht: Ethernet, PPP
Bitübertragungsschicht: Protokolle für Twisted-Pair-Kabel
Wie funktioniert das Internet?
Das Internet ist ein Verbund aus privaten und öffentlichen Netzwerken (Netzwerk aus Netzwerken). Jedes an das Internet angeschlossene Netzwerk muss das IP ausführen und bestimmte Namens- und Adresskonventionen einhalten.
Das Internet ist ein paketvermitteltes Netz, dies erlaubt die gleichzeitige Nutzung von Pfaden oder Teilpfaden durch mehrere Endsysteme.
Welche Verzögerungen gibt es in einem Router? Was bedeuten die einzelnen Verzögerungen?
- Verarbeitungsverzögerung: Die Zeit, die ein Router für die Festlegung benötigt, wohin das Paket weiterzuleiten ist, ggfs. auch die Zeit, um Bitfehler zu entdecken, die durch Störungen auf der Leitung bei der Übertragung auftreten können
- Warteschlangenverzögerung: Die Zeit, die das Paket in einer Warteschlange eines Routers verbringt, um auf die Übertragung auf einer ausgehenden Verbindungsleitung zu warten
- Übertragungsverzögerung: Die Zeit, die für die Einstellung aller Paketbits in das Übertragungsmedium erforderlich ist, d.h. Größe des Pakets in Bit geteilt durch die Übertragungsrate der Kommunikationsschnittstelle zu dem physischen Medium in bps
- Ausbreitungsverzögerung: Die Zeit, die ein Bit braucht, um sich von Router A bis zum nächsten Router B auszubreiten, nachdem es auf die Verbindungsleitung beförder wurde. Entfernung zwischen A und B geteilt durch die Ausbreitungsgeschwindigkeit, die vom physischen Medium der Verbindungsleitung abhängt.
Zusammen bilden dies Verzögerungen die Gesamtverzögerung des Routers für die Übertragung eines Pakets zum nächsten Router
Was bedeutet Speichervermittlung (Store-and-Forward-Übertragung)?
Bei Store-and-Forward-Übertragung wird das komplette Datenpaket empfangen, zwischengespeichert und auf Fehler untersucht. Nur fehlerfreie Pakete werden weitergeleitet. Das Store-and-Forward-Verfahren dient damit der Eindämmung von Fehlern im Netzwerk.
Benutzt ein Router die Speichervermittlung-Technik?
Ja
Warum benutzt ein Router im Internet die Store-and-Forward-Technik?
Ein Router kann erst dann mit dem Versenden eines Pakets beginnen, wenn er das ganze Paket empfangen hat
Welche Vorteile hat ein leitungsvermitteltes im Vergleich zu einem paketvermittelten Netzwerk?
Für jede Kommunikationsanforderung wird eine dauerhafte Verbindung aufgebaut und die benötigten Ressourcen (Puffer, Leitungsbandbreite) für die Dauer der Sitzung reserviert.
Was ist der Unterschied zwischen Datagramm-Netzwerk und VC-Netzwerk?
Paketvermittelte Netze werden in zwei Klasen unterteilt:
- Datagramm-Netzwerke: Pakete werden anhand von Hostzieladressen weitergeleitet (IP, Pakete werden anhand von Zieladressen weitergeleitet)
- VC-Netzwerke (Virtual Channels): Pakete werden anhand von virtuellen Kanalnummern weitergeleitet (X.25, Frame-Relay, ATM Asynchronous Transfer Mode)
Welche Unterschiede haben Hosts, Router und Bridges?
Sie unterscheiden sich darin, welche Schichten sie implementieren.
Endsysteme: Implementieren alle Schichten (die Komplexität der Internet-Architektur soll an den Rändern bleiben)
Bridges und Switches: Schichten 1 und 2
Router: Schichten 1 - 3
Was ist ein Client/Server-Modell?
Der Client ist eine Anwendung, die auf einer Anwendungsmaschine läuft, Dienste beim Server anfordert und deren Ergebnisse vom Server zurück erhält.
Wie unterscheidet sich das Client/Server-Modell von der Hardware Server-Rechner und Client-Rechner?
Da der Server fortlaufend Dienste anbietet, gibt es höhere Anforderungen an die Verfügbarkeit der Hardware.
Aber auch der schwächste Rechner kann als Server einen Dienst anbieten und häufig greifen Server als Clients auf die Dienste anderer Server zu.