(5 Punkte) Im folgenden sehen Sie Ausschnitte aus einer
Implementierung des RIP-Protokolls in Pseudocode. Nehmen Sie an, dass
diese Implementierung auf jedem Knoten eines Netzwerks läuft.
Vervollständigen Sie die Funktion "Update_Routing_Tabelle" in
Pseudocode. Diese Funktion soll die Routing-Tabelle des Knotens
aktualisieren und wird aufgerufen, sobald ein Knoten eine
Routing-Tabellen-Update-Nachricht empfängt. Als Parameter wird das
Tabellen-Update selbst sowie die Leitung, auf der das Update empfangen
wurde, übergeben. Die Routing-Tabelle des Knotens ist im Feld r_tab
gespeichert. Zur Vereinfachung können Sie annehmen, dass die
Entfernung zwischen zwei benachbarten Knoten eine Kosteneinheit
beträgt.
// Datenstrukturen für die Einträge der Routing-Tabelle
// und den Routing-Tabellen-Updates
Routing_Tabellen_Eintrag {
Zielknoten z;
Leitung l;
Kosten k;
}
Tabellen_Update_Eintrag {
Zielknoten z;
Kosten k;
}
// Routing Tabelle des Knotens
Feld aus Routing_Tabellen_Eintrag r_tab;
// Funktion: Aktualisiert die Routing Tabelle eines Knotens
Update_Routing_Tabelle(Feld aus Tabellen_Update_Eintrag r_up, Leitung l) {
(8 Punkte) Gegeben sei das folgende Netzwerk mit den zugehörigen Routing-Tabellen. Im
Netzwerk wird das RIP-Routing-Verfahren verwendet. Die Kosten einer Leitung betragen
eine Kosteneinheit.
Knoten A
Ziel
| Leitung
| Kosten
|
A
| lokal
| 0
|
B
| ab
| 1
|
C
| ac
| 1
|
D
| ab
| 2
|
E
| ab
| 2
|
Knoten B
Ziel
| Leitung
| Kosten
|
A
| ab
| 1
|
B
| lokal
| 0
|
C
| ab
| 2
|
D
| bd
| 1
|
E
| be
| 1
|
Knoten C
Ziel
| Leitung
| Kosten
|
A
| ac
| 1
|
B
| ac
| 2
|
C
| lokal
| 0
|
D
| ce
| 2
|
E
| ce
| 1
|
Knoten D
Ziel
| Leitung
| Kosten
|
A
| bd
| 2
|
B
| bd
| 1
|
C
| de
| 2
|
D
| lokal
| 0
|
E
| de
| 1
|
Knoten E
Ziel
| Leitung
| Kosten
|
A
| be
| 2
|
B
| be
| 1
|
C
| ce
| 1
|
D
| de
| 1
|
E
| lokal
| 0
|
Erläutern Sie Schritt für Schritt, wie die Knoten auf den
Ausfall der Verbindung "ab" reagieren. Geben Sie hierzu für jeden
Schritt die Routing-Tabellen-Update-Nachrichten an, die zwischen den
Knoten ausgetauscht werden. Ein Knoten verschickt immer dann eine
Routing-Tabellen-Update-Nachricht, wenn sich Änderungen an seiner
Routing-Tabelle ergeben haben.
Benutzen Sie für Ihre Routing-Tabellen-Update-Nachrichten das folgende Format:
Sender: Ziel1 - Kosten1, Ziel2 - Kosten2, ...
Beispiel: Konten A: A - 0, B - 1, C - 1, D - 2, E - 2