nexthoptools

Routing / Routing protocols

Routing protocols

RIP, OSPF, IS-IS og BGP har samme jobb: å fylle routing table med veier til nett routeren ikke er koblet direkte til. Forskjellen er hvordan de finner veiene, og hvor i et enterprise-nettverk de passer.

Hvor brukes hva i et enterprise-nettverk?

En typisk bedrift med hovedkontor (HQ), data center, avdelingskontorer (branches), to ISP-er og sky. Ofte brukes flere protokoller samtidig, hver der den passer best.

Azure / AWS VNet / VPC ExpressRoute / Direct Connect R eBGP mot skyen Internett ISP A ISP B eBGPeBGP E1 E2 iBGP Internet edge: BGP Campus og core: OSPF / IS-IS Core 1 Core 2 0.0.0.0/0 inn i OSPF Bygg A Bygg B area 0 i core, egne areas per bygg Data center: OSPF eller eBGP Spine Spine Leaf Leaf Leaf WAN: OSPF eller BGP Hub B1 B2 B3 tunneler: IPsec / SD-WAN Lite kontor (B3): static 0.0.0.0/0 – trenger ingen protokoll Gammel enhet: RIP redistribueres inn i OSPF ved grensen
Stiplede bokser viser hvor hver protokoll gjør jobben. En IGP (OSPF, IS-IS, RIP) holder orden inne i bedriften. BGP brukes der bedriften møter andre: ISP-er, skyen og ofte SD-WAN. Edge-routerne gir en default route (0.0.0.0/0) videre inn i OSPF, så resten av nettet vet hvor internett er.

Tre måter å tenke på

Den viktigste forskjellen er hvor mye hver router vet om nettet. Forstår du disse tre, forstår du resten.

Distance vector

RIP

R1 R2 R3 10.3.0.0/241 hop 10.3.0.0/242 hops 10.3.0.0/24 via R2, 2 hops R1 ser aldri R3. Den stoler på R2.
Hver router forteller naboene hva den selv har hørt: «routing by rumor». Ingen har oversikt over hele nettet, så feil og loops kan spre seg.

Link-state

OSPF · IS-IS

A B C D LSA LSA Alle har samme kart
Hver router sender en beskrivelse av sine egne linker (LSA i OSPF, LSP i IS-IS) til alle. Alle bygger det samme kartet (LSDB) og regner ut korteste vei selv med SPF (Dijkstra).

Path vector

BGP

AS 64496bedriften AS 64500ISP A AS 64510annen ISP 64496 64500 64496 AS_PATH for 203.0.113.0/24 Eget AS i stien = forkast (stopper loops)
BGP sender med hele stien av AS-er ruten har gått gjennom. Valget gjøres etter regler (policy) du bestemmer, ikke bare etter korteste vei.

Se forskjellen

RIP, OSPF og IS-IS i samme nett med fire routere, og BGP mellom bedriften og to ISP-er. Se hvordan de deler informasjon, og hva som skjer når en link går ned.

RIP – distance vector

R1 R2 R3 R4 10.9.0.0 /24 1 hop 1 hop 2 hops 2 hops 16 hops 2 hops drop venter … R1 → 10.9.0.0/24 via R2 · 2 hops via R3 · 2 hops Hvert 30. sekund sender hver router hele tabellen sin til naboene Linken R2–R4 svikter. R1 vet ingenting og sender fortsatt via R2 R2 venter på at timeren går ut (180 s) før den gir opp ruten R2 sier fra: 16 hops = unreachable. Neste update fra R3 gir ny vei Convergence: fra et halvt minutt til flere minutter

Routing updateTrafikkUnreachable (16 hops)

Hver router forteller bare naboene hva den selv har hørt, og antall hops øker for hvert ledd. Når noe svikter uten at porten går ned, må routerne vente på timere før de tror at ruten er borte. Tiden er komprimert i animasjonen.
Deler
hele routing-tabellen, bare med naboene
Sendes
hvert 30. sekund, også når ingenting er endret
Når en link svikter
naboene venter på timere – fra et halvt minutt til flere minutter
Velger vei etter
færrest hops (maks 15)
Typisk
små nett, lab, gammelt utstyr

Mer om RIP

OSPF – link-state

10 10 10 20 R1 R2 R3 R4 10.9.0.0 /24 SPF SPF SPF SPF R1 → 10.9.0.0/24 via R2 · cost 20 via R3 · cost 30 Hello hvert 10. sekund holder neighbors i gang Alle har samme kart (LSDB) og regner selv korteste vei Linken R2–R4 går ned. R2 og R4 flooder en ny LSA med en gang Alle kjører SPF på nytt og finner veien via R3 Convergence: sekunder, under ett sekund med BFD

HelloLSA (endring)Trafikk

Routerne sender ikke tabeller, men en beskrivelse av egne linker. Når noe endres, floodes bare endringen, og hver router regner ut ny vei selv. Tallene på linkene er cost: lavest sum vinner.
Deler
egne linker (LSA) med alle i arealet
Sendes
hello hvert 10. sekund; LSA når noe endres
Når en link svikter
ny LSA floodes straks og alle kjører SPF – sekunder
Velger vei etter
lavest total cost
Typisk
campus, core og WAN

Mer om OSPF

IS-IS – link-state med levels

Area 49.0001 Area 49.0002 10 10 10 20 R1 L1 R2 L1/L2 R3 L1/L2 R4 L2 10.9.0.0 /24 R1 → 10.9.0.0/24 default via R2 (ATT) default via R3 (ATT) Hello går rett på layer 2, ikke over IP L1/L2-routerne sier fra til R1: «her er veien ut» (ATT-bit) Linken R2–R4 går ned. Bare level 2 trenger å vite det R2 mister kontakten med level 2 og slutter å sette ATT-bit R1 bytter default route til R3. Den så aldri resten av nettet

HelloLSP (endring)Trafikk

IS-IS er link-state som OSPF, men deler nettet i level 1 (inne i et area) og level 2 (mellom areas). En L1-router ser bare sitt eget area og sender alt annet til nærmeste L1/L2-router, så store deler av nettet merker ikke endringer langt unna.
Deler
LSP-er per level: L1 i arealet, L2 mellom areas
Sendes
hello rett på layer 2; LSP når noe endres
Når en link svikter
bare levelet som berøres får vite det – sekunder
Velger vei etter
lavest total metric
Typisk
store campus, fabric og DC underlay

Mer om IS-IS

BGP – path vector

AS 64496 · bedriften AS 64510 198.51.100.0/24 Edge ISP A ISP B AS 64500 AS 64501 64500 64510 64501 64510 session down withdraw Edge → 198.51.100.0/24 via ISP A · local pref 200 via ISP B · 64501 64510 eBGP-session over TCP 179 til hver ISP. Keepalive holder den oppe Begge ISP-ene sender ruten med AS_PATH (UPDATE) Like lange paths. Policy bestemmer: local preference velger ISP A Linken til ISP A går ned. Sessionen faller etter hold timer eller BFD Rutene fra ISP A trekkes tilbake (withdraw). Edge bruker ISP B

KeepaliveUPDATESession down / withdrawTrafikk

BGP snakker bare med peers du har satt opp selv, og sender med hele stien av AS-er. Valget gjøres etter regler du bestemmer (policy), ikke bare etter korteste vei. BGP vises her mellom AS-er, der den hører hjemme, i stedet for i de fire routerne over.
Deler
prefikser med path attributes (AS_PATH m.fl.) med peers du har satt opp
Sendes
UPDATE når noe endres; keepalive hvert 60. sekund er vanlig
Når en link svikter
sessionen faller etter hold timer (ofte 90 eller 180 s) eller BFD, så withdraw
Velger vei etter
policy (f.eks. local preference), så kortest AS_PATH og flere steg
Typisk
internet edge, sky, SD-WAN og DC

Mer om BGP

Tidene er komprimert i animasjonene. Timere og standardverdier varierer mellom leverandører.

Kort fortalt

Klikk på et navn for å lese mer. Rull sidelengs på mobil.

EgenskapRIPOSPFIS-ISBGP
TypeDistance vectorLink-stateLink-statePath vector
IGP eller EGPIGPIGPIGPEGP, men brukes også internt
MetricHop count (maks 15)Cost, regnet fra bandwidthMetric per link (standard 10)Path attributes og policy
ConvergenceTreg, opptil minutterRask, sekunder (under ett sekund med BFD)RaskTreg med vilje, men stabil
StørrelseSmå nettStore, delt i areasSvært storeHele internett
StandardÅpen (RFC 2453)Åpen (RFC 2328, OSPFv3: RFC 5340)Åpen (ISO 10589, RFC 1195)Åpen (RFC 4271)
Går overUDP 520IP-protokoll 89Rett på layer 2, ikke IPTCP 179
Typisk i enterpriseGammelt utstyr, labCampus, core og WANStore campus, campus-fabric og DCInternet edge, sky, SD-WAN, DC

Hvordan routeren velger route

Kjører du flere protokoller, kan routeren lære samme nett flere steder fra. Da avgjøres det i tre steg, alltid i denne rekkefølgen.

Pakke til 10.20.5.9 – routeren har fire kandidater: Kandidat 1 Longest prefix 2 Administrative distance 3 Metric 10.20.0.0/16 – static (AD 1) /16 –– 10.20.5.0/24 – RIP, 3 hops /24 AD 120 – 10.20.5.0/24 – OSPF, cost 30 /24 AD 110 cost 30 10.20.5.0/24 – OSPF, cost 20 /24 AD 110 cost 20 Valgt: 10.20.5.0/24 via OSPF med cost 20. Static-ruten har lavest administrative distance, men taper likevel: longest prefix sjekkes alltid først.
  1. Longest prefix match: den mest spesifikke ruten vinner alltid. En /24 slår en /16, uansett protokoll.
  2. Administrative distance: lærer routeren samme prefix fra flere protokoller, vinner den med lavest tall. Den sier hvor mye routeren stoler på kilden.
  3. Metric: har samme protokoll flere veier til samme prefix, vinner lavest metric. Er de like, kan trafikken deles mellom dem (ECMP).

Typiske standardverdier

KildeADMerk
Connected0Nett på routerens egne interfaces
Static1Kan settes høyere for en reserve-route (floating static)
eBGP20Ruter fra et annet AS
OSPF110
IS-IS115
RIP120
iBGP200Ruter fra eget AS via BGP

Tallene er de vanligste, men ikke en standard. Navnet varierer (administrative distance, distance, preference eller route priority), og noen bruker helt andre tall eller en annen rekkefølge, for eksempel OSPF foran BGP eller en annen verdi for static. Lavest vinner hos alle. Sjekk verdiene på utstyret ditt når du blander leverandører.

Les om hver protokoll

OSPF

link-state · IGP

Standardvalget i enterprise. Areas, neighbors, DR/BDR og cost forklart.

Les om OSPF →

BGP

path vector · EGP

Internet edge med to ISP-er, skyen, eBGP og iBGP, og hvordan BGP velger vei.

Les om BGP →

IS-IS

link-state · IGP

OSPF sin fetter fra operatørverdenen, nå i campus-fabric og data center.

Les om IS-IS →

RIP

distance vector · gammel

Den enkleste, og et godt eksempel på hvorfor de andre finnes.

Les om RIP →

Hvordan velge?

Ord du møter

Route
En vei til et nett: «10.20.5.0/24 nås via 10.0.0.2».
Routing table
Lista over alle routes routeren bruker.
Next hop
Neste router pakken skal sendes til på veien mot målet.
Prefix
Et nett med lengde, for eksempel 10.20.5.0/24.
Metric
Hvor «dyr» en vei er innenfor én protokoll. Lavest vinner.
Administrative distance
Hvor mye routeren stoler på en kilde når to protokoller kjenner samme prefix.
Convergence
Tiden det tar fra noe endres til alle routere er enige om de nye veiene.
Neighbor / adjacency
To routere som har funnet hverandre og utveksler routes.
IGP / EGP
Interior Gateway Protocol brukes inne i ett nett. Exterior Gateway Protocol (BGP) brukes mellom nett.
AS
Autonomous System: et nett med én felles routing-policy og et eget nummer (ASN).
Summarization
Å slå mange små nett sammen til ett større i annonseringen, for eksempel fire /24 til én /22.
Redistribution
Å flytte routes fra én protokoll (eller static) inn i en annen.
Default route
0.0.0.0/0: «alt jeg ikke vet om, send hit». Brukes mot internett.
ECMP
Equal-Cost Multi-Path: flere like gode veier som deler på trafikken.
BFD
Bidirectional Forwarding Detection: oppdager at en link er død på millisekunder, så protokollen kan reagere raskt.
Router ID
Et unikt navn på routeren i protokollen, skrevet som en IPv4-adresse. Bruk gjerne loopback-adressen.