Kapittel 5 · Nettverkslaget

Nettverkslaget:
Kontrollplanet

I kapittel 4 så vi hvordan en enkelt ruter flytter pakker fra inngang til utgang — dataplanet. Men hvem bestemmer hvilken utgang som er riktig? Det er kontrollplanets jobb: å sørge for at tusenvis av rutere er enige om veien, slik at pakken din faktisk kommer frem.

Helhetsbilde

GPS-en inne i nettverket

Kontrollplanet er den usynlige hjernen som beregner ruten — før dataplanet løfter en eneste pakke.

Tenk på det slik: du sitter i en bil og skal fra Trondheim til Bergen. Dataplanet er selve bilen — rattet, pedalene, motoren som fysisk flytter deg langs veien. Men bilen alene er ubrukelig uten en plan for hvilken vei du skal ta. Kontrollplanet er GPS-en. Den samler inn kart over alle veiene, beregner den beste ruten, og forteller bilen ved hvert kryss: «sving til venstre her». Uten GPS-en ville bilen bare stått på tomgang i hvert eneste kryss, uten å vite hvilken retning den skulle.

I et ekte nettverk er dette enda mer imponerende. Det finnes ikke bare én GPS som sitter på toppen og styrer alt. I det tradisjonelle internett kjører hver eneste ruter sin egen GPS-beregning. De snakker med naboruterne sine, utveksler informasjon om hvilke destinasjoner de kan nå og hva det koster, og gradvis — gjennom rutingalgoritmer — blir alle enige om en konsistent forwarding-tabell. Alternativet er SDN (Software Defined Networking), der én sentral kontroller fungerer som en super-GPS som beregner ruten for alle og dytter tabellene ned til ruterne.

Når du sender en melding på Snapchat, må den gjennom kanskje 15 rutere. Kontrollplanet er det som sørger for at alle disse ruterne er enige om veien — før meldingen i det hele tatt forlater telefonen din. Hvis bare én ruter er uenig, kan pakken havne i en løkke, forsvinne, eller ta en omvei via Tokyo.

Men hva skjer når noe går galt underveis — en ruter krasjer, en lenke faller ut, eller en pakke vandrer i ring? Da trenger nettverket et signalspråk for å si ifra. Det er der ICMP (Internet Control Message Protocol) kommer inn: et lite, beskjedent protokoll som lar rutere og verter rope «feil!» eller «er du der?» til hverandre. Det er også motoren bak verktøy som ping og traceroute — verktøyene du bruker for å feilsøke nettverk i den virkelige verden.

KONTROLLPLAN DATAPLAN Ruting R1 algoritme Ruting R2 algoritme Ruting R3 algoritme Ruting R4 algoritme utveksler rutinginfo fyller forwarding-tabell R1 forwarding R2 forwarding R3 forwarding R4 forwarding pakke pakker flyttes hopp for hopp Kontrollplanet beregner veien — dataplanet kjører den.
Fire rutere koblet sammen. Øverst utveksler kontrollplanet rutinginfo mellom ruterne. Resultatet fylles ned i forwarding-tabellene i dataplanet (nederst), som deretter flytter pakker hopp for hopp fra kilde til mål.

Samspillet mellom de to planene er kjernen i alt vi dekker i dette kapittelet. Kontrollplanet kan organiseres på to måter: per-ruter kontroll, der hver ruter uavhengig kjører sin egen rutingalgoritme (slik internett fungerer i dag), eller sentralisert kontroll (SDN), der én kontroller beregner alt og dytter tabellene ut. I tillegg gir ICMP nettverket et signalspråk for feilmeldinger — og gir oss verktøy som traceroute for å se akkurat hvilken vei pakkene tar.

Flashcards

Rask repetisjon

Åpne spørsmål i tilfeldig rekkefølge. Klikk kortet for å snu — bruk ← / → for å bla, mellomrom for å snu, R for å shuffle.

Spørsmål

 

Klikk eller mellomrom for å vise svar
Svar
 
1 / 1

Test deg selv

Sjekk om du har forstått de viktigste konseptene fra dette kapittelet.

Spørsmål 1 · Lett
Hva gjør kontrollplanet?
Kontrollplanet beregner ruter og fyller forwarding-tabeller som dataplanet bruker.
Spørsmål 2 · Lett
Hva er forskjellen mellom forwarding og routing?
Forwarding er den lokale dataplan-handlingen — å flytte én pakke fra inngangsport til riktig utgangsport via et tabelloppslag. Routing er kontrollplan-jobben med å beregne hele veien fra kilde til destinasjon gjennom flere rutere.
Spørsmål 3 · Lett
Hva er forskjellen mellom dataplanet og kontrollplanet?
Dataplanet videresender pakker basert på en ferdig forwarding-tabell — det skjer i nanosekunder. Kontrollplanet bygger den tabellen ved at rutere snakker sammen og blir enige om gode ruter — det skjer på sekund- til minutt-skala.
Spørsmål 4 · Middels
Hva er forskjellen mellom per-ruter kontroll og logisk sentralisert kontroll (SDN)?
I per-ruter kontroll kjører hver ruter sin egen rutingalgoritme og bygger sin egen forwarding-tabell ved å snakke med naboene. I logisk sentralisert kontroll (SDN) beregner én sentral kontroller alle forwarding-tabellene og dytter dem ut til ruterne.
Spørsmål 5 · Middels
Hva betyr "en god rute"? Nevn minst tre kriterier.
Det avhenger av hva man optimerer for. Vanlige kriterier er (1) lavest kostnad (antall hopp, båndbredde, eller leieavtaler), (2) raskest (lavest forsinkelse), og (3) minst overbelastet (unngå lenker med kø).
Spørsmål 6 · Middels
Hvilke to akser brukes for å klassifisere rutingalgoritmer?
(1) Global vs. desentralisert — har hver ruter hele topologien eller bare nabolags-info? (2) Statisk vs. dynamisk — endres rutene sjelden (manuelt) eller fortløpende som respons på endringer i nettverket?
Spørsmål 7 · Middels
Hva er hovedmålet til en rutingprotokoll?
Å bestemme gode ruter (paths) fra sendende verter til mottakende verter gjennom nettverket av rutere.
Spørsmål 8 · Vanskelig
Hva er konvergens i rutingprotokoller, og hvorfor er det viktig?
Konvergens er prosessen der alle rutere får konsistente forwarding-tabeller etter en endring. Underveis kan tabellene være midlertidig ulike; rask og stabil konvergens reduserer risiko for løkker og tap.
Spørsmål 9 · Lett
Hva er ICMP, og på hvilket lag opererer det?
ICMP (Internet Control Message Protocol) er nettverkets signalspråk for feilrapportering og echo. Det regnes som del av nettverkslaget, men ICMP-meldinger transporteres inni IP-datagram — så det ligger strengt tatt "oppå" IP, men hører fortsatt til nettverkslaget.
Spørsmål 10 · Middels
Hvilke felter inneholder en ICMP-melding?
Type, code, og header pluss de første 8 bytene av det opprinnelige IP-datagrammet som forårsaket feilen — slik at avsenderen kan identifisere hvilken pakke meldingen gjelder.
Spørsmål 11 · Lett
Hvilke ICMP type/code-verdier brukes av ping?
Echo request er type 8, code 0. Echo reply er type 0, code 0.
Spørsmål 12 · Middels
Hvilken ICMP-type bruker traceroute for å avsløre hver ruter underveis?
Type 11 (TTL expired). Når en ruter dekrementerer TTL til 0, kaster den pakken og sender en ICMP type 11 tilbake med sin egen IP — det er det signalet traceroute samler opp for hvert hopp.
Spørsmål 13 · Vanskelig
Hvilken ICMP type/code betyr "destination port unreachable"?
Type 3, code 3. Det er denne meldingen traceroute bruker som "fremme"-signal — destinasjonen svarer slik fordi traceroute sender til en usannsynlig høy port der ingen tjeneste lytter.
Spørsmål 14 · Middels
Hva er ICMP source quench (type 4), og hvorfor er den i praksis avlegs?
Source quench var ment som signal fra en overbelastet ruter for å be avsenderen redusere sendetempoet. Det ble aldri godt nok støttet, og moderne overbelastnings-håndtering gjøres i transportlaget (TCP). Source quench regnes som deprekert.
Spørsmål 15 · Middels
Er ICMP del av kontrollplanet eller dataplanet?
ICMP regnes som del av kontrollplanet — det er signalspråket nettverket bruker for å rapportere feil og utveksle nettverks-nivå-informasjon, ikke for å videresende vanlige nyttedata.
Spørsmål 16 · Vanskelig
Hva er forskjellen mellom ICMP og IP når det gjelder pålitelighet?
Begge er upålitelige (best-effort). En ICMP-melding kan tapes på samme måte som en hvilken som helst annen IP-pakke. Det er derfor traceroute må sende flere pakker per TTL og bruke timeouts.
Spørsmål 17 · Lett
Hva er forskjellen mellom dataplan og kontrollplan?
Dataplanet videresender pakker, mens kontrollplanet beregner reglene dataplanet følger.
Spørsmål 18 · Vanskelig
Hva er ICMP, og hva brukes ping til?
Ping tester nåbarhet ved å sende ICMP echo request og måle tiden til echo reply.
Spørsmål 19 · Middels
Hvordan bruker traceroute TTL for å kartlegge ruten?
Traceroute bruker stigende TTL for å få svar fra hver ruter langs veien.
Spørsmål 20 · Middels
Hva er en "rute" eller "path" konkret i nettverkssammenheng?
Sekvensen av rutere en pakke passerer gjennom fra startverten til destinasjonen — f.eks. R1 → R4 → R7 → R9.
Spørsmål 21 · Middels
Hva betyr en "ICMP destination unreachable"-melding for avsenderen?
Den forteller at pakken ikke kunne leveres, og code-feltet sier hvorfor — code 0 = nett utilgjengelig, code 1 = host utilgjengelig, code 2 = protokoll utilgjengelig, code 3 = port utilgjengelig. Avsenderen slipper dermed å vente blindt på et svar som aldri kommer.
Spørsmål 22 · Vanskelig
Hvorfor er det viktig at rutingalgoritmer reagerer dynamisk på endringer i nettverket?
Lenker går ned, kommer opp igjen, blir overbelastet eller får ny kapasitet. Dynamisk respons gjør at rutere automatisk finner alternative veier når noe svikter — uten menneskelig inngripen og uten varig pakketap.
Spørsmål 23 · Middels
Hvorfor må IP ha et TTL-felt?
For å hindre at pakker som havner i en rutingløkke lever evig og spiser båndbredde. TTL dekrementeres med 1 ved hvert hopp, og pakken kastes ved 0 — det er også denne mekanismen traceroute utnytter (ICMP type 11).
Spørsmål 24 · Lett
Hva skiller ping og traceroute som diagnostiske verktøy?
Ping måler om en host er nåbar og total RTT (echo type 0/8). Traceroute kartlegger hele stien og RTT til hvert hopp ved å kombinere TTL-expired (type 11) og port-unreachable (type 3 code 3).
Spørsmål 25 · Vanskelig
Hvorfor er rask feilrespons viktig i kontrollplanet?
Hurtig deteksjon og rekonvergens etter feil reduserer nedetid og pakketap.