Kurseinheit 4 Flashcards
Welche Aufgaben hat die Vermittelungsschicht?
Die Vermittlungsschicht hat folgende Aufgaben:
- Transport von Transportschicht-Nachrichten (Segmenten) zwischen sendendem und empfangendem Host
- Durchführung der Pfadermittlung (Routing) für die Weiterleitung von Paketen
- Vermittlungsfunktion für den Pakettransport zwischen verschiedenen Netzwerken
Was bedeutet Routing?
- Routing bezeichnet die Ermittlung des billigsten Pfades zwischen einem Quellknoten und einem Zielknoten.
- Die Kosten eines Pfads sind die Summe der Kosten der einzelnen Verbindungen auf dem Pfad.
- Der billigste Pfad zwischen einem Quellknoten und einem Zielknoten hat die minimalen Kosten über alle möglichen Pfade zwischen der Quelle und dem Ziel.
Was bedeutet Weiterleiten?
- Im Kontext der Vermittlungsschicht bedeutet Weiterleiten, dass ein Knoten ein empfangenes Paket an den nächsten Knoten auf dem Pfad zum Zielknoten weitergibt.
- Dabei kann der Knoten entscheiden, ob er das Paket unverändert weitergibt (Broadcast), verändert weiterleitet oder das Paket vom Netzwerk nimmt.
Was für ein Dienst bietet die Vermittelungsschicht des Internets?
- Die Vermittlungsschicht des Internets bietet den Dienst der Paketvermittlung an, bei dem sie Transportschichtnachrichten (Segmente) von einem sendenden Host zu einem empfangenden Host transportiert. Dies umfasst die Aufgaben der Pfadermittlung (Routing) und der Vermittlung von Paketen.
- Die Aufgabe eines Routing-Algorithmus besteht darin, den besten Weg oder Pfad für die Weiterleitung von Paketen von einem Quellknoten zu einem Zielknoten in einem Computernetzwerk zu ermitteln. Dieser Algorithmus bestimmt, welcher Weg die Pakete nehmen sollen, um das Ziel auf effiziente und zuverlässige Weise zu erreichen.
Welche Dienstmerkmale weisen er auf? ( Kommentare: Die Vermittelungsschicht bietet eigentlich einen unzuverlässigen, verbindungslosen Dienst, d.h. Pakete können verloren gehen, Pakete können in einer anderen Reihenfolge empfangen werden, als sie gesendet wurden. Es wird nicht für jedes Paket eine Verbindung aufgebaut. Also muss die höhere Schicht z.B. Transportschicht so einen unzuverlässigen verbindungslosen Dienst zu einem zuverlässigen bindungsorientierten Dienst machen, wenn sie einen zuverlässigen und verbindungsorientierten Dienst Anwendungen anbietet. )
Die Dienstmerkmale des unzuverlässigen, verbindungslosen Best-Effort-Dienstes der Vermittlungsschicht im Internet sind:
- Paketverlust: Pakete können verloren gehen während der Übertragung zwischen Sender und Empfänger.
- Paketreihenfolge: Pakete können in einer anderen Reihenfolge empfangen werden als sie gesendet wurden.
- Keine garantierte Übertragungsdauer: Es wird keine festgelegte Aussage darüber gemacht, wie lange es dauert, bis ein Paket vom Sender zum Empfänger transportiert wird.
- Keine Bandbreitengarantie: Es werden keine Zusagen über die zur Verfügung stehende Bandbreite zwischen Sender und Empfänger gemacht.
- Keine Überlastungssteuerung: Es werden keine Informationen über Netzwerküberlastung an die Sender- oder Empfängerprozesse weitergegeben.
Diese Dienstmerkmale sind charakteristisch für den unzuverlässigen, verbindungslosen Dienst der Vermittlungsschicht, der darauf ausgelegt ist, eine breite Palette von Anwendungen zu unterstützen, ohne besondere Garantien für Zuverlässigkeit oder Qualität der Übertragung zu bieten.
Was ist die Aufgabe eines Routing-Algorithmus?
Die Aufgabe eines Routing-Algorithmus besteht darin:
- Den billigsten Pfad zwischen einem Quellknoten und einem Zielknoten in einem Netzwerk zu ermitteln.
- Die Kosten eines Pfads zu berechnen, indem die Summe der Kosten der einzelnen Verbindungen auf dem Pfad bestimmt wird.
- Den Pfad mit den geringsten Kosten über alle möglichen Pfade zwischen Quelle und Ziel zu identifizieren.
Was heißt, dass ein Pfad gut ist?
Ein Pfad wird als “gut” betrachtet, wenn er die folgenden Kriterien erfüllt:
- Die Übertragungsqualitätsanforderungen der Anwendung oder des Benutzers werden erfüllt.
- Die geforderte Bandbreite wird erreicht oder annähernd erreicht.
- Die Verzögerung bleibt innerhalb akzeptabler Grenzen.
- Die Verlustrate von Paketen liegt unterhalb des festgelegten Schwellenwerts.
Insgesamt erfüllt ein “guter” Pfad die Anforderungen an die Datenübertragung in Bezug auf Geschwindigkeit, Zuverlässigkeit und Latenz.
Welche Informationen werden benötigt für einen Routing-Algorithmus?
Für einen Routing-Algorithmus werden folgende Informationen benötigt:
- Topologie des Netzwerks: Informationen über die vorhandenen Knoten und Verbindungen im Netzwerk.
- Kosten der Verbindungen: Die Kosten oder Metriken der einzelnen Verbindungen, die angeben, wie teuer oder effizient die Nutzung einer bestimmten Verbindung ist.
- Gewichteter Graph: Die Darstellung des Netzwerks als gewichteter Graph, wobei Knoten die Netzwerkkomponenten repräsentieren und Kanten die Verbindungen zwischen ihnen darstellen.
- Gewichtungen der Kanten: Die Gewichtungen oder Kosten der Kanten im gewichteten Graphen, die die Kosten der Nutzung der entsprechenden Verbindungen widerspiegeln.
Diese Informationen ermöglichen es dem Routing-Algorithmus, den besten Pfad zwischen einem Quellknoten und einem Zielknoten basierend auf den Kosten oder Metriken zu ermitteln.
Was ist der Unterschied zwischen einem globalen und dezentralen Routing-Algorithmus?
Der Unterschied zwischen einem globalen und einem dezentralen Routing-Algorithmus besteht in der Art und dem Umfang der Informationen, die sie für die Berechnung von Pfaden verwenden:
Globaler Routing-Algorithmus:
- Besitzt vollständiges Wissen über das gesamte Netzwerk, einschließlich aller Verbindungen und Kosten.
- Sammelt Informationen über das gesamte Netzwerk, bevor er Pfade berechnet.
- Die Berechnung kann sowohl zentralisiert an einem Ort als auch verteilt an mehreren Stellen erfolgen.
- Solche Algorithmen werden als Link-State-Algorithmen bezeichnet.
Dezentraler Routing-Algorithmus:
- Berechnet Pfade durch ein iteratives, verteiltes Verfahren.
- Jeder Knoten kennt nur die Informationen über seine direkten Nachbarn, nicht jedoch das gesamte Netzwerk.
- Jeder Knoten berechnet Pfade basierend auf den Informationen seiner Nachbarn, ohne das gesamte Netzwerk zu kennen.
- Diese Algorithmen werden als Distanzvektor-Algorithmen bezeichnet.
In Zusammenfassung: Ein globaler Routing-Algorithmus hat vollständiges Wissen über das gesamte Netzwerk, während ein dezentraler Routing-Algorithmus Pfade basierend auf begrenzten Informationen von den Nachbarn eines Knotens berechnet.
Welche Informationen müssen solche Algorithmen haben?
Routing-Algorithmen benötigen folgende Informationen:
- Topologie des Netzwerks: Dies umfasst Informationen über die vorhandenen Knoten (Transitsysteme) im Netzwerk und die Verbindungen zwischen ihnen.
- Kosten der Verbindungen: Die Kosten der einzelnen Verbindungen werden benötigt, um den billigsten Pfad zwischen einem Quellknoten und einem Zielknoten zu ermitteln.
- Gewichteter Graph: Die Informationen werden oft in Form eines gewichteten Graphen dargestellt, bei dem die Knoten die Transitsysteme repräsentieren und die Kanten die Kommunikationsverbindungen zwischen ihnen darstellen.
- Gewichte an den Kanten: Die Gewichte an den Kanten des Graphen geben die Kosten oder Metriken für die Nutzung der Verbindungen an, wie zum Beispiel Wartezeiten oder Entfernungen.
- Zusätzliche Informationen: Je nach Routing-Algorithmus und Netzwerkkontext können auch weitere Informationen benötigt werden, wie beispielsweise Informationen über Netzwerklast, Bandbreite oder Qualitätsmetriken.
Diese Informationen sind notwendig, um den Algorithmus in die Lage zu versetzen, den besten Pfad zwischen Quell- und Zielknoten zu ermitteln und die Routing-Entscheidungen zu treffen.
Welche Vor- und Nachteile haben sie jeweils?
Ein globaler Routing-Algorithmus hat folgende Vor- und Nachteile:
Vorteile:
- Kenntnis über das gesamte Netzwerk: Ein globaler Algorithmus hat vollständiges Wissen über die Netzwerktopologie und kann somit optimale Pfade berechnen.
- Schnelle Reaktion auf Änderungen: Bei Änderungen im Netzwerk kann der Algorithmus schnell neue Pfade berechnen und anwenden.
Nachteile:
- Hoher Ressourcenbedarf: Ein globaler Algorithmus erfordert viel Speicherplatz und Rechenleistung, um die umfassenden Netzwerkinformationen zu verarbeiten.
- Anfälligkeit für Partitionen: Bei Netzwerkpartitionen, also Teilungen des Netzwerks, kann der Algorithmus keine optimalen Pfade mehr berechnen.
Ein dezentraler Routing-Algorithmus hat folgende Vor- und Nachteile:
Vorteile:
- Geringerer Ressourcenbedarf: Dezentrale Algorithmen benötigen weniger Ressourcen, da jeder Knoten nur lokale Informationen über seine Nachbarn kennt.
- Robustheit gegenüber Partitionen: Dezentrale Algorithmen sind robuster gegenüber Netzwerkpartitionen, da sie unabhängig von globalen Netzwerkkontexten operieren.
Nachteile:
- Begrenzte Optimierung: Dezentrale Algorithmen können möglicherweise keine global optimierten Pfade berechnen, da sie nur auf begrenzte lokale Informationen zugreifen können.
- Langsamere Reaktion auf Änderungen: Da dezentrale Algorithmen iterative, verteilte Verfahren verwenden, können sie langsamer auf Änderungen im Netzwerk reagieren.
Die Wahl zwischen einem globalen und einem dezentralen Routing-Algorithmus hängt von den spezifischen Anforderungen und Bedingungen des Netzwerks ab.
Was ist der Unterschied zwischen einem statischen und dynamischen Routing-Algorithmus?
Ein statischer Routing-Algorithmus ändert seine Entscheidungen basierend auf manuellen Eingaben, während ein dynamischer Routing-Algorithmus automatisch auf Veränderungen im Netzwerk reagiert. Hier sind die Unterschiede:
Statischer Routing-Algorithmus:
- Routing-Entscheidungen werden manuell festgelegt.
- Änderungen erfordern manuelle Anpassungen an Routing-Tabellen.
- Reagiert langsam auf Veränderungen im Netzwerk.
- Geeignet für kleine, stabile Netzwerke mit wenigen Veränderungen.
Dynamischer Routing-Algorithmus:
- Aktualisiert Routing-Entscheidungen automatisch auf Basis von Netzwerkinformationen.
- Reagiert schnell auf Veränderungen wie Ausfälle oder neue Verbindungen.
- Nutzt Protokolle zur Kommunikation und Aktualisierung der Routing-Informationen.
- Geeignet für komplexe und sich ändernde Netzwerke.
Welche Vor- und Nachteile haben statischen und dynamischen Routing-Algorithmen jeweils?
Hier sind die Vor- und Nachteile der statischen und dynamischen Routing-Algorithmen:
Statischer Routing-Algorithmus:
Vorteile:
- Einfach zu implementieren und zu verwalten.
- Stabil, da er keine dynamische Anpassung hat und somit weniger anfällig für Routing-Schleifen oder inkorrekte Entscheidungen ist.
Nachteile:
- Kann sich nicht an veränderte Netzwerksituationen anpassen.
- Möglicherweise ineffiziente oder fehlerhafte Routing-Entscheidungen bei Änderungen im Netzwerk.
Dynamischer Routing-Algorithmus:
Vorteile:
- Passt sich automatisch an veränderte Netzwerksituationen an.
- Kann effizientere und zuverlässigere Routing-Entscheidungen treffen.
- Flexibler und anpassungsfähig an neue Netzwerkgeräte oder -topologien.
Nachteile:
- Komplexer in der Implementierung und Verwaltung.
- Erfordert kontinuierliche Netzwerküberwachung.
- Anfälliger für Routing-Schleifen oder Probleme durch die dynamische Anpassung.
Bitte beachte, dass diese Vor- und Nachteile generelle Konzepte sind und je nach spezifischem Szenario variieren können.
Welche Verfahren werden im Internet gebraucht? Warum?
Im Internet werden zwei dynamische Routing-Verfahren verwendet: der globale Link-State-Algorithmus und der dezentrale Distanzvektor-Algorithmus. Diese Verfahren werden aus folgenden Gründen eingesetzt:
Globaler Link-State-Algorithmus:
- Vorteile:
- Kennt das gesamte Netzwerk und kann optimale Pfade berechnen.
- Reagiert schnell auf Netzwerkänderungen.
- Nachteile:
- Benötigt viel Speicherplatz und Rechenleistung für die gesamte Netzwerktopologie.
- Anfällig für Netzwerkpartitionen, da er in geteilten Netzwerkbereichen keine optimale Pfade berechnen kann.
Dezentraler Distanzvektor-Algorithmus:
- Vorteile:
- Benötigt weniger Ressourcen, da jeder Knoten nur Informationen über seine Nachbarn kennt.
- Robust gegenüber Netzwerkpartitionen, da Knoten Pfade berechnen können, auch wenn sie von anderen isoliert sind.
- Nachteile:
- Möglicherweise nicht den optimalen Pfad berechnen können, da jeder Knoten begrenzte Informationen hat.
- Kann langsamer auf Netzwerkänderungen reagieren, da Informationen durch das Netzwerk propagiert werden müssen.
Die Wahl zwischen diesen Verfahren hängt von den Anforderungen, der Netzwerktopologie und den verfügbaren Ressourcen ab.
Welche Informationen braucht der Link-State-Algorithmus?
- Der Link-State-Algorithmus benötigt Informationen über die gesamte Netzwerktopologie.
- Jeder Router muss eine vollständige Karte des Netzwerks besitzen.
- Die Informationen sollten auch die Kosten für jede Verbindung zwischen den Routern enthalten.
Wie sammelt der Link-State-Algorithmus die Informationen?
- Der Link-State-Algorithmus sammelt Informationen durch das Senden von Link-State-Paketen (LSPs) an alle Router im Netzwerk.
- Jeder Router sammelt die empfangenen LSPs und erstellt eine Topologie-Karte des Netzwerks.
Was für ein Ergebnis liefert der Dijkstra-Algorithmus?
- Der Dijkstra-Algorithmus liefert die optimalen Pfade von einer Quelle zu allen anderen Knoten in einem Graphen.
Wie berechnet der Dijkstra-Algorithmus die optimalen Pfade von einer Quelle zu allen anderen Knoten?
- Der Dijkstra-Algorithmus berechnet die optimalen Pfade von einer Quelle zu allen anderen Knoten, indem er eine Prioritätswarteschlange verwendet, um die Knoten mit dem geringsten Abstand zur Quelle zuerst zu besuchen und die Abstände zu anderen Knoten zu aktualisieren, wenn ein kürzerer Pfad gefunden wird.
Warum kann der Dijkstra-Algorithmus die optimalen Pfade von einer Quelle zu allen anderen Knoten berechnen?
- Der Dijkstra-Algorithmus kann die optimalen Pfade von einer Quelle zu allen anderen Knoten berechnen, weil er auf einem kürzesten Pfad-Algorithmus basiert, der den kürzesten Pfad von einem Startknoten zu einem Zielknoten in einem gewichteten Graphen findet. Durch die Anwendung des Algorithmus auf alle Knoten im Graphen kann er die optimalen Pfade von einer Quelle zu allen anderen Knoten berechnen.
Welche Zeitkomplexität hat der Dijkstra-Algorithmus?
- Die Zeitkomplexität des Dijkstra-Algorithmus beträgt O(E + V log V), wobei E die Anzahl der Kanten und V die Anzahl der Knoten im Graphen sind.
Welche Informationen braucht der Distanzvektor-Algorithmus?
- Der Distanzvektor-Algorithmus benötigt Informationen über die Kosten der Verbindungen zu anderen Knoten im Netzwerk, die als Metriken bezeichnet werden. Diese Metriken können die Anzahl der Hops oder die Latenzzeit zwischen den Knoten sein.
Warum ist dieser Algorithmus dezentral, iterativ und asynchron?
- Der Distanzvektor-Algorithmus ist dezentral, iterativ und asynchron, da jeder Knoten nur Informationen über seine direkten Nachbarn kennt und diese Informationen periodisch an seine Nachbarn weitergibt.
- Der Algorithmus iteriert, indem er die Distanzvektoren der Nachbarn aktualisiert und diese Informationen an ihre Nachbarn weitergibt.
- Der Algorithmus ist asynchron, da jeder Knoten seine Informationen unabhängig von den anderen Knoten aktualisiert und weitergibt.
Wie läuft der Distanzvektor-Algorithmus?
- Der Distanzvektor-Algorithmus ist dezentral, iterativ und asynchron, da jeder Knoten nur Informationen über seine direkten Nachbarn kennt und diese Informationen periodisch an seine Nachbarn weitergibt.
- Jeder Knoten berechnet seine Distanzvektoren zu seinen direkten Nachbarn und teilt diese Informationen mit seinen Nachbarn.
- Basierend auf den Informationen seiner Nachbarn aktualisiert jeder Knoten seine eigenen Distanzvektoren und teilt diese Informationen wiederum mit seinen Nachbarn.
- Dieser Prozess wird fortgesetzt, bis alle Knoten im Netzwerk die Distanzvektoren aller anderen Knoten kennen.
Welche Probleme hat der Distanzvektor-Algorithmus?
- Count-to-Infinity-Problem: Dies tritt auf, wenn der Algorithmus eine lange Zeit benötigt, um Informationen über eine nicht mehr erreichbare Route zu verbreiten. Knoten könnten fälschlicherweise glauben, dass die entfernte Route noch verfügbar ist, was zu inkorrektem Routing führt.
- Routing-Schleifen: Diese treten auf, wenn Nachrichten zwischen Knoten in einer Schleife zirkulieren, ohne eine Lösung zu finden. Dies kann zu ineffizientem Routing oder Endlosschleifen führen.
- Langsame Konvergenz: Aufgrund der periodischen Aktualisierungen und Weitergabe von Informationen kann der Algorithmus langsam konvergieren und benötigt Zeit, bis alle Knoten korrekte Routing-Informationen haben. Dies kann zu Verzögerungen im Netzwerk führen.