Distance Vector Routing Protocols

Werbung
CCNA2 – Module 7
Distance Vector Routing Protocols
Ausbreitung von Routing-Table-Updates
bei Distance Vector Routing Protokollen
Werden als Ganzes
zyklisch zwischen
Nachbar-Routern
ausgetauscht.
Default-Werte:
RIP: 30 Sekunden
IGRP:90 Sekunden
Inhalt der Routing-Tabellen:
Gesamt-"Kosten" zu den enthaltenen
Netzwerken und die Adresse des ersten
Routers der zum jeweiligen Netzwerk führt.
Weitere Zeitwerte für Distance Vector
Routing Protokolle RIP und IGRP
Feature RIP
IGRP
Metrik
Hop Count
Updates
30s
Bandbreite,
Delay,
Reliability, Load
(, MTU)
90s
Route
Invalid
180s
270s
Route
Flushed
240s
630s
Für IGRP gibt es außerdem noch einen max. Hop-Count (0-255)
Variante 1 zur
Entstehung einer Routing-Loop (1)
Z2
3.) Update
2.) Update
Z1
Z0
Z3
Z
4. Update
3.) Update
Z2
Z4
1.) Netzwerk Z
fällt aus
Variante 1 zur
Entstehung einer Routing-Loop (2)
Z6
6. Update
7. Update
Z5
Z6
Z7
Z3
4. Update
... und so fort
... bis "infinity"!
Z
5. Update
Z4
Netzwerk Z
ausgefallen
Verhindern von Routing-Loops durch
Definition eines Maximum Counts
Das Updaten der Routing-Tables läuft
"unendlich" lange  "Count to infinity".
Um dies zu verhindern wird je nach RoutingProtokoll die "Inifinity" über einen endlichen
Wert definiert.


RIP: Infinite Metrik  16
IGRP: Infinite Metrik 4.294.967.295
Diese wird z.B. beim maximalen Default-Hop-Count
von 100 erreicht (einstellbar zwischen 0-255).
Damit wird nach Ablauf einer endlichen Zeit
vom Routing-Protokoll eine Routing-Loop
angenommen und unterbrochen.
Verhindern von Routing-Loops durch
Holddown-Timer (1)
Router B erhält von Router A die
Mitteilung, dass Netzwerk Z weg ist.
Die Route wird nun von Router B als
"inaccessible" vermerkt und zusätzlich für
ein Timer gestartet  Holddown-Timer.


RIP: 180s
IGRP: 280s
So lange der "Holddown-Timer" noch
nicht abgelaufen ist, werden Änderungen
zu dieser Route wie folgt behandelt (siehe
nächste Folie):
Verhindern von Routing-Loops durch
Holddown-Timer (2)
Router A (der hatte alles ausgelöst) teilt mit,
dass die Route doch wieder da ist.
 Änderung wird angenommen und
Holddown-Timer entfernt.
Ein "Router J" meldet eine Route zu "Z" die
besser ist als die ursprüngliche Route via
"Router A"
 Änderung wird angenommen und
Holddown-Timer entfernt.
Router "C" meldet eine Route zu "Z" die
schlechter ist als die ursprüngliche Route via
"Router A"
Änderung wird ignoriert so lange der
Holddown-Timer noch aktiv ist.
Weitere Mechanismen zur
Verhinderung von Routing-Loops
Mitursache für das Problem sind die relativ langen
Perioden bis zum nächsten Routing-Table-Update
und der daraus resultierenden Folgen. Dies kann
mit "triggered updates" verbessert werden.


Erkennt ein Router eine Veränderung, so sendet er
sofort ein Update an Nachbarn.
Erhöht die Geschwindigkeit zur Konvergenz.
Nicht mehr erreichbare Netze werden
normalerweise einfach aus einer Route
weggelassen.

Schnellere Konvergenz mit "route poisoning". Die
betreffende Route wird mit einer unendlichen Metrik
gesendet.
Kombination: Triggerd updates + Route poisoning
Variante 2 zur
Entstehung einer Routing-Loop
Netz
Metric
Netz
Metric
A
2
A
1
2.
1.
A3
Netz
A
Metric
2
4
3.
A4
Netzwerk A
Netz
Metric
A
3
3.
A4
Netzwerk A
Lösung zur Variante 2 der
Entstehung einer Routing Loop
Erneut hilft hier der Count-to-Infinity mit
einem endlichen Wert  Dauert z.B. bei IGRP
aber!
Deshalb Mechanismus "Split Horizon"


Routing-Update enthält die "direct connected"Route nicht wenn gerade über dieses Interface das
Update läuft.
Enthält die auf dem Interface X zu sendende Route
als Ziel der Pakete selber das Interface X, so wird
diese Route ebenfalls aus dem Update entfernt!
Split-Horizon mit Poison Reverse: Die zweite
Regel von oben wird ausgelassen. Allerdings
werden diese Routen mit unendlicher Metrik
gesendet.
Konfiguration von RIP
Grundkonfiguration – Start RIP-Prozess:
RT(config)#router rip
RIP-Aktivier. für angeschlossene Netzwerke
RT(config-router)#network 192.168.1.0
RT(config-router)#network 10.10.10.0
Verifikation der RIP-Konfiguration
show running-config
show ip route
(siehe "R"-Routen)
show ip protocols [summary]
show interface [interface]
show ip interface [interface] [brief]
debug ip rip [events]
Von RIP verwendete Mechanismen zur
Verhinderung von Routing-Loops
Count-to-infinity (max. 15 Hops)
Split horizon (gegebenenfalls
deaktivierbar im Interface-Config-Mode
"no ip split-horizon"
Poison reverse
Holddown counters
Triggered updates (Kein Default: Nur auf
seriellen Interfaces möglich; Aktivieren
im jeweiligen Interface-Config-Mode mit
"ip rip triggered")
RIP-Tuning durch andere TimerEinstellungen
Die Werte der Timer können geändert
werden um schnellere Konvergenz zu
erzielen.


Update-Timer schneller (z.B. 30 Sekunden)
Holddown-Timer kürzen
Hier ist beispielsweise
(bei einer RIP-UpdateZeit von 30 Sekunden)
die längste Routing-Loop
120 Sekunden
 Holddown etwas
mehr als 120 Sek.
RIP-Tuning durch andere TimerEinstellungen
Einsehen der eingestellten Werte:
show ip protocols
Einstellung der Timer-Werte über:
Router(config-router)#timers basic
update invalid holddown flush
[sleeptime]
Lt. Curriculum geht für den Update-Timer auch
der Befehl "update-timer". Geht aber bei
unseren Routern/IOS‘es nicht!?!?
Um bei Laborübungen evtl. schneller die
Änderungen zu sehen kann auch an den
invalid- und flush-Timern gedreht werden.
Weitere RIP-Features
Ein Interface soll nur RIP empfangen aber
keine eigenen Routes senden:
GAD(config-router)#passive-interface
Fa0/0
Verbindungen die keine Broadcasts
unterstützen benötigen eine gezielte
Angabe der Nachbarrouter:
GAD(config-router)#neighbour ip
Generelle RIP-Versionskontrolle (V1 od. 2)
und RIP-Version bezogen auf Interface
(senden bzw. empfangen) möglich.
"no ip classless" bei RIP
Router kennt keine Subnetze
sondern nur ganze Class A, B, CNetze. Erkennung selbständig!
Ist ein Subnetz konfiguriert geht er
trotzdem davon aus, dass er alleine für
das ganze Netz (entsprechend „Class“Einteilung) zuständig ist. Die vorhandene
Default-Route wird ignoriert!
Default-Route
Lösung "ip classless" bei RIP
Router kennt nun Subnetting
eines Class-X-Netzes. Pakete
werden nun z.B. via DefaultRoute weitergeleitet.
Seit IOS-Release 11.3 ist "ip classless"
standardmäßig aktiviert.
Deaktivierung im Global-Config-Mode
RT(config)#no ip classless
Default-Route wird verwendet!!!
RIP und IGRP Load-balancing
Bis max. 6 Routen mit gleicher Metrik
(bei IGRP auch verschiedene Metriken)
können nach "round-robin"-Prinzip für
Load-Balancing verwenden  Default
sind 4 Routen.
Einstellung mit: RT(configrouter)#maximum-paths [number]
Ansicht von "equal-cost"-Routen:
show ip route netznummer
Die Route mit "*" ist die Nächste!
„Per-packet“ oder
„Per-destination“ load balancing
Bei „per-packet“ (auch process-switching
genannt) wird jedes Paket nach „round-robin“
über einen der verfügbaren Links übertragen
Bei „per-destination“ (auch fast-swichting
geannt) merkt sich der Router im „route-cache“
welchen physik. Link er für eine Verbindung
verwendet.


Alle Pakete zu dieser Destination gehen dann über
diesen physikalischen Link.
Erst neue Destination nimmt nächsten Round-RobinLoad-Balancing-Link!
Default ist „per-destination“ (fast-switching)
„Per-packet“ oder
„Per-destination“ load balancing
Konfiguration erfolgt im „interface
configuration mode“:


Aktivierung „per-packet“ bzw. „processswitching“ mittels:
no ip route-cache
Aktivierung „per-destination“ bzw. „fastswitching“ mittels:
ip route-cache
Load-balancing und
Administrative Distanz
Bei der Auswahl von Load-balanced-Routen gewinnen
immer die Routen mit geringster administr. Distanz. Nur
diese werden in die Routing-Tabelle aufgenommen und
nur für diese werde "equal-cost"-Pfade verglichen!
Static-Routen und RIP
Um alle zu löschen: no ip route (wenn das
überhaupt geht?)
Default-Route kann via RIP gelernt oder
statisch konfiguriert werden.
Weitere statische Routen können als BackupRouten hinterlegt werden  Administrative
Distanz muss größer als die von RIP sein
(120).
Statische Routen auf einem Interface werden
nur verbreitet wenn das Interface in den RIPProzess integriert ist oder die Verteilung via
"redistribute static" konfiguriert wird.
IGRP
Berechnet eine gewichtete Metrik anhand der
Faktoren K1-K5 (s.u.).
Default: K1=K3=1, K2=K4=K5=0
 Metrik aus Bandwith und Delay.
Beide Werte sind von Hand im Interf.-ConfigMode zu konfigurieren.
Verstellen von K1 bis K5 nur für erfahrene
Profi's.
K 2  Bandwith
K5
Metric  ( K1  Bandwith 
 K 3  Delay ) 
256  Load
reliabalit y  K 4
Anmerkung: Wenn K5 u. K4 identisch 0 sind, wird der zweite
Faktor nicht in die Metrik eingerechnet!
IGRP Load-balancing
Standardmäßig führt IGRP Load
balancing auch nur für „equal-cost“Pfade durch (variance ist per Default 1).
Mit dem variance-Befehl (unter
router igrp …) lässt sich aber ein
Faktor einstellen um wieviel andere
Routen abweichen dürfen damit sie
trotzdem noch ins „Load-balancing“
integriert werden.
IGRP
Verwendet zur Verhinderung von Routing-Loops:



Holddown-Timer
Split horizon
Poison reverse updates
Ist generell "in's Alter gekommen" und wird
durch EIGRP ersetzt (neue IOS-Versionen
können es evtl. nicht mehr).
Aktivierung: router igrp as-nummer
Deaktivierung: no router igrp as-nummer
Netzwerke hinzufügen: network w.x.y.z
Prüfverfaren für IGRP
show interface interface
show running-config
show running-config interface
interface
show running-config | begin
interface interface
show running-config | begin igrp
show ip protocols
show ip route "I" sind IGRP-Routen
debug ip igrp events
debug ip igrp transactions
IGRP – Typen von Routen
Interior Routes: Routen zwischen den
Subnetzen eines Netzwerks innerhalb
eines Routers.
System Routes: Routen die auf Router
innerhalb des eigenen "Autonomous
Systems" verweisen.
Exterior Routes: Routen die aus dem AS
herausführen.
Herunterladen