Module 6: Routing & routing protocols o
Static routing Introductie routing Wanneer routers gebruik maken van dynamic routing, alle informatie wordt geleerd van andere routers. Wanneer static routing wordt gebruikt moet de netwerk administrator alle informatie van de andere routers handmatig in de router instellen. Bij static routing moet elke wijziging in het netwerk manueel worden uitgevoerd. Bij grote netwerken vraagt dit veel tijd.
Static routing operation De administrator moet de statische route configureren op de router met het ip route commando. De administratieve afstand (distance) is optioneel mee te geven, maar geeft de betrouwbaarheid van de route weer. Hoe lager de administratieve afstand, hoe betrouwbaarder. Static routing kan ook gebruikt worden als noodgeval, voor wanneer de dynamic routing mislukt. Om static routing als noodoplossing te gebruiken moet de administratieve afstand groter zijn dan die van dynamic routing. Static routing door de outgoing interface in te stellen:
(eerste commando is naar sterling, tweede naar waycross)
Static routing door next-hop adres in te stellen:
(eerste commando is naar sterling, tweede naar waycross)
Static routing configureren R(config)# ip route dest-network submask next-hop-adres R(config)# ip route dest-network submask out-interface dest-network: het netwerkadres van het doel netwerk. next-hop-adres: het ip-adres van de volgende router (let op juiste poort) out-interface: de poortnaam van de uitgaande verbinding. (meer duidelijkheid op voorbeelden hierboven) Omdat de administratieve afstand niet ingesteld wordt, is deze standaard 1. DUS: Static routing = 1
Default route forwarding configureren Router(config)# ip route 0.0.0.0 0.0.0.0 [next-hop-adres /outgoing-interface] Door dit in te stellen kan je een router duidelijk maken, alle verkeer langs één bepaalde poort te sturen. Voorbeeld: Sterling(config)# ip route 0.0.0.0 0.0.0.0 s0 of Sterling(config)# ip route 0.0.0.0 0.0.0.0 172.16.2.2
Controleren static route configuration Show running-config Show ip route C = directly connected S = static
Troubleshooting static route configuration Show ip route Ping Traceroute
o
Dynamic routing Introductie routing protocols Voorbeelden van routing protocols: RIP: Routing Information Protocol IGRP: Interior Gateway Routing Protocol EIGRP: Enhanced IGRP OSPF: Open Shortest Path First Voorbeelden van routed protocols: IP: Internet Protocol IPX: Internetwork Pakcet Exchange Apple Talk Routing vs routed protocols: Een routing protocol (ook de viswijf techniek) wordt gebruikt om de router
tabellen uit te wisselen en te onderhouden. Een routed protocol wordt gebruikt tussen routers om specifiek gebruikersverkeer tot stand te brengen.
Autonomous systems Een autonomous system (AS) is een verzameling van netwerken die beheert worden door dezelfde administrator en volgens dezelfde routing strategie. Een AS kan bekeken worden als één geheel en krijgt een uniek 16 bit nummer toegewezen.
Doel van een routing protocol en autonomous system Het doel van een routing protocol is om de routing tabel op te bouwen en te onderhouden. Het routing protocol leert alle beschikbare routes,plaats de beste routes in de routing tabel en verwijdert routes die nier betrouwbaar meer zijn. Als alle routers in een internetwerk werken met dezelfde informatie (knowledge), dan is het internetwerk converged. Autonomous systems (AS) verdelen het globale internetwerk in kleinere en beter beheerbare netwerken.
Klassen van routing protocols bepalen Routing algoritmes kunnen opgedeeld worden in 2 categoriën: - distance vector - link-state Distance vector: bepaalt de richting (vector) en de afstand (distance) tot elke link in het internetwerk. Link-state (of shortest path first): hermaakt de exacte topologie van het ganse internetwerk.
Distance vector routing protocol Distance vector geeft periodiek kopies van routing tables door van router tot router. RIP: elke 30 sec IGRP: elke 90 sec Deze uitwisselingen zorgen voor dat elke router de structuur van het netwerk
kent. Hieronder staan de factoren die de route kunnen beïnvloeden:
Link-state routing protocol Een link-state routing (of SPF/Shortest Path First) algoritme onderhoud de volledige kennis van routers. Link-state routing gebruikt: - Link-state advertisements (LSA’s): kleine pakketten met routing informatie wordt verstuurd tussen routers. - Topological database: verzameling van informatie uit LSA’s. - SPF algoritme: een berekening met informatie uit de database (worden in de SPF tree gezet) - Routing tables: een lijst van bekende paths en interfaces. Link-state heeft meer: - processort overhead - memory requirements - bandwith consumption
o
Routing protocols overzicht Path determinations Een router bepaalt het path van een pakket van de ene data link naar een andere door gebruik te maken van 2 basis functies: - path determination function - switching function Path determination komt voor op e netwerk laag. De path determination functie laat een router toe het beste path te berekenen naar een bepaalde destination. De switching functie is een intern proces dat gebruikt wordt om de router een pakket te laten accepteren op een interface en het door te sturen naar een volgende interface op dezelfde router.
Routing configuratie Router(config)# router rip dit commando start een routing proces. Een protocol wordt ingegeven (RIP, IGRP,…). Bij IGRP en EIGRP moet er een Autonomous System (AS) nummer opgegeven worden, Bij OSPF moet er een ID meegegeven worden en bij RIP niets. Router(config)# router protocol [optie] Router(config-router)# version 2 dit commando moet ook ingegeven worden als je RIP versie 2 wil gebruiken. Versie 2 laat toe met subnetten te werken, versie 1 niet. Router(config-router)# network 172.16.0.0 het netwerk adres van elk aangrenzend subnet moet ingegeven Worden met het network commando. (dit commando kan meer keer voor komen)
Routing protocols
RIP: Distance vector IGRP: Cisco’s distance vector OSPF: Link-state EIGRP: Cisco’s advanced distance vector BGP: Distance vector
interior interior interior interior exterior
routing protocol routing protocol routing protocol routing protocol routing protocol
Één Autonomous System (AS) werkt op een interior routing protocol (RIP, IGRP, OSPF, EIGRP). Om twee Autonomous systems (AS) aan elkaar te koppelen gebruiken we een exterior protocol (BGP). Routing Information Protocol (RIP): - distance vector routing protocol - hop count wordt gebruikt om het juiste path te selecteren. - als de hop count groter is dan 15, wordt het pakket vernietigd. - routing updates worden elke 30 seconden gebroadcast. Interior Gateway Routing Protocol (IGRP) is een protocol door Cisco ontworpen: - distance vector routing protocol
-
bandwidth, load, delay en reliability worden gebruikt om een path te selecteren. routing updates worden elke 90 seconden gebroadcast.
Open Shortest Path First (OSPF): - link-state routing protocol - open standard routing protocol - gebruikt SPF om de bestemming te bereiken. - routing updates worden doorgestuurd als de toplogie wijzigd. (event trigger) Enhanced IGRP (EIGRP) is ontwikkeld door cisco: - enhanced distance vector protocol - gebruikt load balancing - gebuikt een combinatie van distance vector en link-state - gebruikt het Diffused Update Algorithm (DUAL) om het shortest path te berekenen. - routing updates worden elke 90 seconden gebroadcast of triggered door een wijziging van de topologie Border Gateway Protocol (BGP) is een exterior routing protocol: - distance vector exterior routing protocol - gebruikt tussen ISP’s of een ISP en clients - gebruikt om internet verkeer te leiden tussen autonomous systems .
Autonomous systems & IGP vs EGP Interior routing protocols zijn ontworpen om beheerd te worden door dezelfde organisatie. Exterior routing protocol is ontworpen om tussen 2 netwerken te gebruiken die worden beheerd door verschillende organisaties. Een autonomous system (AS) is een netwerk dat door één organisatie beheerd wordt. AS’s hebben een identifying number die toegewezen worden door het American Registry of Internet Numbers (ARIN) of een provider. Dit ASnummer is een 16-bit nummer.
Distance vector Distance vector protocols gebruikt minder van het systeem, maar kan traag zijn in er grote netwerken. Distance vector protocols zijn gebaseerd op het vinden van een distance (aantal hops) en vector (richting) tot aan elke link in het internetwerk. Het algoritme bestaat eruit een kopie van de routing tabel door te geven van router naar router op een periodiek basis.
Link-state Update pakketjes worden door het netwerk verspreid in event-triggered updates, dus de samenkomst (convergence) is sneller dan distance vector protocols. Link-state is minder vatbaar voor routing loops en routing errors, maar zij vragen meer van het systeem. Als de staat van een netwerk link wijzigd, een boodschap (link-state advertisement=LSA) wordt door het netwerk gestuurd. Router merken de wijziging op en wijzigen hun routing tabel. Deze methode is betrouwbaarder, gemakkelijker te debuggen en vraagt minder bandwith dan distance vector.
Module 7: Distance vector routing protocols o
Distance vector routing Distance vector routing updates De routing tabellen worden periodiek geupdate of wanneer de topologie van een distance vector netwerk wijzigd. Het distance vector algoritme zend zij hele routing tabel naar elk van zijn aangrenzende buren (routers).
Distance vector routing loop issues
Wanneer netwerk 1 faalt, - Router E zend een update naar router A. - Router A stopt met pakketten te sturen naar netwerk 1, maar routers B, C en D blijven naar netwerk 1 sturen omdat ze nog niet geïnformeerd zijn. - Router A zend zijn updates, router B en D stoppen ook met pakketten sturen naar netwerk 1. Router C ontvangt geen update. - Voor router C is netwerk 1 nog altijd bereikbaar via Router B. - Router C zendt een periodieke update naar router D met de boodschap dat netwerk 1 nog altijd bereikbaar is via router B. - Router D wijzigt zijn routing tabel (dat netwerk 1 bereikbaar is via router B), maar dit is niet correct. Toch zendt router D een periodieke update naar router A. - Router A zend dan weer naar B en E en zo telkens weer voort.
- Elk pakker met als bestemming netwerk 1 zal loopen van router C naar B naar A naar D en terug naar C.
Een maximum count opleggen Counting to infinity: Zonder een stop signaal te geven, zal de distance vector (metric) van het aantal hop counts telkens verhoogd worden bij het passeren van een router. oplossing = een maximum hop counts opleggen
Zoals afgebeeld wordt het pakket met de 16e hop, die het maximum van 15 hops overschrijdt, vernietigd. In alle gevallen wanneer de hop count het maximum overschrijdt, zal netwerk 1 als unreachable beschouwd worden.
Vermijden van routing loops met split horizon Split horizon = Routing updates naar een neighbour (aangrenzende) router mogen geen informatie bevatten die geleerd werd van die neighbour router.
Route poisoning
Een methode om onbetrouwbare updates te vermijden is route poisoning. Als netwerk 5 neer gaat, Router E start route poisoning door de metric (hop count) van netwerk 5 in te stellen op 16 (=onbereikbaar). Hierdoor krijgt router C direct de juiste gegevens over netwerk 5. Wanneer router C een route poisoning ontvangt van router E, stuurt router C een poison reverse terug naar router E. Deze poison reverse houdt in dat iedereen de juiste informatie heeft gehad.
Routing loops vermijden met triggered updates Bij triggered updates, zenden routers berichten vanaf dat zij een wijziging in hun routing table opmerken. (= niet periodiek) Hierna volgt een golf van updates naar alle volgende routers.
Routing loops voorkomen met holddown timers
Een hop count die tot oneindig gaat kan vermeden worden met holddown timers (bevriezing): Wanneer een router een update van een buur ontvangt met het bericht dat een netwerk onbereikbaar is, zal de router die route als onbereikbaar aanduiden en een holddown timer starten. Als de tijd < holddown timer & dezelfde buur (router) zegt dat het netwerk terug bereikbaar is, dan maakt de router die route terug bereikbaar en verwijdert de holddown timer. Als de tijd < holddown timer & een andere buur (router) met een betere metric zegt dat het netwerk bereikbaar is, dan maakt de router die route terug bereikbaar en verwijdert de holddown timer. Als de tijd < holddown timer & een update komt van een andere buur (router) met een slechtere metric, dan wordt de update genegeerd. o
RIP RIP routing proces
1 2 3 4
distance vector routing protocol hop count wordt gebruikt als metric voor path selection hop count > 15 = pakket vernietigd standaard worden routing updates elke 30 seconden gebroadcast
RIP v1 = classful routing protocol RIP v2 = classless routing protocol RIP versie 2 houdt in dat: 5 mogelijkheid om extra informatie te versturen 6 table updates worden beveiligd 7 ondersteunt VLSM (variable length subnet masking) RIP voorkomt routing loops met een limiet in aantal hops in een path van bron tot bestemming. Het maximum hop counts per path is 15.
RIP configureren RIP kan geconfigureerd worden om triggered updates te verzenden als de topologie wijzigt. Router(config-if)#ip rip triggered Andere RIP taken zijn optioneel: - Applying offsets to routing metrics - Adjusting timers - Specifying a RIP version - Enabling RIP authentication - Configuring route summarization on an interface - Verifying IP route summarization - Disabling automatic route summarization - Running IGRP and RIP concurrently - Disabling the validation of source IP addresses - Enabling or disabling split horizon - Connecting RIP to a WAN
Het IP classless commando gebruiken Router(config)# ip classless Soms ontvangt een router pakketten voor een onbekend subnet. Normaal zou dit pakket geblokkeerd worden, maar met dit commando worden deze globale pakketten toch doorgelaten.
Veel voorkomende problemen bij het configureren van RIP Om routing loops tot oneindig te verminderen gebruikt RIP volgende technieken: 8 count-to-infinity (maximum aantal hop counts van 15) 9 split horizon (het is niet bruikbaar om informatie terug te zenden van de richting waar hij van kwam. Split horizon uitschakelen: Router(config-if)# no split horizon) 10 poison reverse 11 holddown timers 12 triggered updates Holddown timers voorkomen dat er tot oneindig geteld wordt, maar ook convergence time increase. Standaard holddown voor RIP = 180 seconden, standaard flush is 240 seconden. In het voorbeeld hiernaast duurt de langste loop 120 seconden, toch wordt de holddown timer ingesteld op een beetje meer dan 120 seconden. Om te holddown timer in te stellen: Router(config-router)# timers basic upate invalid holddown flush [sleeptime] Het update interval beïnvloedt de convergence time en is ook in te stellen. Standaard is dat 30 seconden. (hogere waarde om bandwith te sparen, lagere waarde om minder convergence time te bekomen) Router(config-router)# update-timer seconden Router(config-router)# passive-interface e1 een interface instellen om geen RIP pakketten meer te versturen Router(config-router)# neighbor ip-adres een aangrenzende router definiëren met welke hij routing informatie moet uitwisselen.
RIP configuratie controleren Show ip protocols
Show ip route
Troubleshooting RIP update problemen Router# debug ip rip Informatie verschijnt op het scherm als er updates worden verzonden of ontvangen. Wat kan er vastgesteld worden? Discontigious subnetworks & duplicate networks Andere commando’s om te troubleshooten: - show ip rip database - show ip protocols {summary} - show ip route - debug ip rip {events} - show ip interface brief
Routing updates voorkomen via een interface Met het passive-interface commando kan er voorkomen worden dat er updates door een bepaalde interface gaan. Voor RIP en IGRP houdt dat in dat de router stopt met het zenden van updates, maar routing updates blijft ontvangen. Router(config-router)# passive-interface e1
Load balancing met RIP
RIP heeft de mogelijkheid om aan load balancing te doen over maximum 6 dezelfde belaste paths, met standaard 4 paths. RIP doet dit op de ‘round robin’-manier: pakketten doorsturen over parallelle paths (1-2-3-4 1-2-3-4 …) Omdat de metric voor RIP is hop count is, wordt er niet gekeken naar de snelheid van de links. Dezelfde belaste routes kunnen gevonden worden met show ip route ip-adres Deze routes staan in het description block. Een ip-adres in het description block met een * voor is de actieve route die gebruikt wordt voor nieuw verkeer.
Load balancing door meerdere paths
Wanneer een router meerdere routers naar een specifiek netwerk leert, zal hij de route met de laagste administratieve afstand in zijn routing tabel plaatsen. (bij dezelfde administratieve afstand laagste belasting of metric) Als er toch meerdere paths met dezelfde administratieve afstand en belasting in de routing tabel zit, kan er load-balancing voorkomen. Er kunnen tot standaard tot 6 gelijke belaste routes voorkomen. (bij EIGRP zijn dat er 4, bij RIP, IGRP en static routes: 6 en bij BGP: 1) Die standaard waarde kan gewijzigd worden: Router(config-router)# maximum-paths nummer Op de afbeelding hieronder zijn er 3 wegen om van router E bij netwerk X e komen : 13 E B A: metric van 30 (20+10) 14 E C A: metric van 20 (10+10) 15 E D A: metric van 45 (20+25) route E-C-A zal gekozen worden omdat de metric van 20 kleiner is dan de rest.
Static routing integreren met RIP Static routes zullen worden verspreid via RIP. Als een static route wordt toegewezen tot een interface die niet ingesteld is met RIP, zullen die niet verspreid worden (wel als het redistribute static commando gebruikt wordt) Als dus static routes geïnstalleerd worden naast RIP, zullen de static routes het werkt opvangen als RIP het begeeft. Let wel op, da administratieve afstand van de static route moet groter worden ingesteld dan die van RIP, dus groter dan 120 (230 bijvoorbeeld).
1.Configure both routers and configure the workstations 2.Check the routing tables entries. Results?? (show ip route) 3.Adding static routes (GAD(config)#ip route 192.168.16.0 255.255.255.0 192.168.15.2) (BHM(config)#ip route 192.168.14.0 255.255.255.0 192.168.15.1) 4.Verify the new routes. Results ?? (show ip route) 5.Add Routing Protocol RIP. Check the routing tables. Results ??? 6.Adding static routes
(GAD(config)#ip route 0.0.0.0 0.0.0.0 130) (BHM(config)#ip route 192.168.14.0 255.255.255.0 192.168.15.1 130) 7. Check the routing tables. Results ???
o
IGRP IGRP features IGRP is een distance vector routing protocol ontwikkeld door Cisco. 16 routing updates met een interval van 90 seconden 17 voor autonomous systems 18 kan complexe typologieën aan 19 te gebruiken in erg grote netwerken 20 standaard routing protocol gebruikt bandwith en delay als metric. 21 Als je wenst kan je de metric van IGRP aanpassen en uitbreiden tot bandwith, delay, load & reliability) IGRP metrics Show ip protocols Geeft network informatie zoals de metric weight. Achter metric weight staat K1 tot K5. Waarbij K1 staat voor bandwith en K3 voor delay. Standaard staan de waarde op K1 en K3 op 1 en de waarde van K2, K4 en K5 op 0. De metrics die IGRP gebruikt: 22 bandwith: laagste bandwith waarde in het path 23 delay: cumulatieve inertface delay op het path 24 reliability: de betrouwbaarheid van de route naar de bestemming worden bepaald door het aantal ‘keepalives’ 25 load: de load gebasseerd op bits per seconde 26 MTU: maximum transit unit waarde van het path Show ip route
De igrp metric waarde staat tussen [] in de afbeelding hierboven. Een link met een hogere bandwith zal een lagere metric hebben. Een link met een lagere cumulatieve delay zal een lagere metric hebben.
IGRP routes IGRP kent 3 type routes: - Interior routes: routes tussen subnets die bevestigd zijn aan de router interface. - System routes: routes naar netwerken in een autonomous system. System routes houden geen subnet info bij. - Exterior routes: routes naar een netwerk buiten een autonomous system.
IGRP stabiliteit kenmerken IGRP heeft een aantal kenmerken om de stabiliteit te bevorderen: 27 holddowns 28 split horizon 29 poison reverse De update timer update standaard elke 90 seconden. De invalid timer duidt aan hoe lang een router zou moeten wachten op een routing update, standaard 3 keer de update periode 3x90 = 270 De holddown timer duidt de tijd aan hoelang de updates worden genegeerd van een zwakke route (standaard 3x90 + 10s = 280) De flush timer duidt de tijd aan vanaf wanneer de route uit de routing tabel wordt geschrapt, standaard 7x90 = 630 seconden. IGRP ondersteund geen variable length subnet masks (VLSM) (leerstof CCNA3), daarom heeft Cisco EIGRP ontwikkeld. Gebruikt show ip protocols om deze tijden te bekijken.
IGRP configureren Router(config)# router igrp 101 101 = AS nummer Router(config-router)# network 192.168.1.0 netwerkadres van elke subnet Router(config-router)# network 192.168.2.0 ... Router(config)# no router igrp 101 igrp ongedaan maken
Van RIP naar IGRP migreren Via show ip route en show ip protocols kan je zien dat RIP geïnstalleerd is. Zoals in 7.3.5 igrp configureren.
Rip blijft op die router, maar igrp gaat worden gebruikt omdat de administratieve afstand van IGRP (100) kleiner is dan die van RIP (120). (controleren weer met show ip route en show ip protocols)
IGRP configuratie controleren Show running-config Show ip protocols Show ip route
-
Troubleshooting IGRP show ip protocols show ip route debug ip igrp events debug ip igrp transactions ping traceroute