Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004.

Slides:



Advertisements
Liknende presentasjoner
12.Studienreise nach Finnland,
Advertisements

TCP/IP-modellen.
Ta med Jordball Isopormåne Liten jordball Solomkrets Solsystemskalafil.
Litt mer om PRIMTALL.
Nye internettsider for Høgskolen i Østfold Resultat fra brukerundersøkelse.
Ti måter å ødelegge en CT-undersøkelse av halsen på
Hjemmeoppgave 1: Å høre etter NAVN: ……………………………….. DATO: ……………………….
Bygningsdelstabellen
Kapittel 10 Tema for videre studier
Teknologi for et bedre samfunn 1 Asbjørn Følstad, SINTEF Det Digitale Trøndelag (DDT) Brukervennlig digitalisering av offentlig sektor.

Kapittel 8: Nettverk i praksis

Kontrollstrukturer (Kapittel 3)
The Travelling Salesperson. LOG530 Distribusjonsplanlegging 2 2 Et forsyningsskip skal starte fra VestBase for å betjene 10 forskjellig installasjoner.
7. Fysisk arbeidsmiljø Jeg er fornøyd med den ergonomiske utformingen av arbeidsplassen min Jeg er fornøyd med inneklimaet på arbeidsplassen.
1 Arbeidssted, bruk av fasiliteter og - mengde 5.
Møre og Romsdal. 2 Ligger det et bedehus eller et kristelig forsamlingshus (ikke kirke) i nærheten av der du bor? (n=502) i prosent.
Managerial Decision Modeling Cliff Ragsdale 6. edition Rasmus RasmussenBØK350 OPERASJONSANALYSE1 Chapter 5 Network Modeling.
Datakom. Gruppeundervisning 21. november. Prøveeksamen •Gjennomgang onsdag 27. november.
NRKs Profilundersøkelse NRK Analyse. Om undersøkelsen • NRK Analyse har siden 1995 gjennomført en undersøkelse av profilen eller omdømmet til NRK.
Øvingsforelesning 9 Flytnettverk, maksimum flyt og maksimum bipartitt matching Jon Marius Venstad Redigert og forelest av Gleb Sizov.
Fôr til oppdrettstorsk – bruk av vegetabilsk feitt Odd Leknes Forskningsdagene 2007 Alta.
Fra forelesningene om involveringspedagogikk Et utviklingsarbeid Philip Dammen Manuset er under arbeid.
Forelesning nr.2 INF 1411 Elektroniske systemer
Kapittel 14 Simulering.
Forside Korteste sti BFS Modifikasjon Dijkstra Eksempel Korrekthet Analyse Øving Spørsmål Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no.
1 Byzantine angrep på trådløse ad hoc nettverk Tord Ingolf Reistad Stipendiat på Telematikk, NTNU Norsk kryptoseminar 2004 NTNU.
Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no
Øvingsforelesning 9 Flytnettverk, maksimum flyt og
Foreløpige tall pr Randi Sæther
Kap 6 The Internet Protocol
Klient - server nettverk Et nettverk består (ofte) av en (eller flere) server(e), og mange klienter. Klientene bruker tjenester levert av servere(ne).
Datakommunikasjon Fagnr.: ITF20205
Klient - server nettverk Et nettverk består (ofte) av en (eller flere) server(e), og mange klienter. Klientene bruker tjenester levert av servere(ne).
Om Øvelse 7 Stoff relatert til øvelse 7 Generering av tilfeldige tall Bruk ting vi har lært før.
Omlasting og direkteleveranser. LOG530 Distribusjonsplanlegging 2 2 Vi har nå utvidet nettverket med direkteleveranser. Distribusjonen går enten via lagrene.
P-MP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
UFLP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
The Postmans Problem. LOG530 Distribusjonsplanlegging 2 2 Mista har fått i oppdrag å vedlikeholde veiene i landsdelen. Dette er et eksempel på den klassiske.
P-CP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
IPSec og VPN.
Kap 06 Diskrete stokastiske variable
Sikkerhetssystemer UIO-cert
© Synovate Gjennomført av Synovate 21.august 2008 Catibus uke 33 Norsk Fysioterapeutforbund.
Innherred samkommune 1 Årsrapport og Regnskap 2007 Samkommunestyret 10. april 2008 Administrasjonssjef Ola Stene.
3.14 X AXIS 6.65 BASE MARGIN 5.95 TOP MARGIN 4.52 CHART TOP LEFT MARGIN RIGHT MARGIN Legevakt Legevakt Innbyggerundersøkelsen 2013 Brukerdel.
3.14 X AXIS 6.65 BASE MARGIN 5.95 TOP MARGIN 4.52 CHART TOP LEFT MARGIN RIGHT MARGIN Lånekassen Lånekassen Innbyggerundersøkelsen 2013 Brukerdel.
Kommunikasjon og Nettverk
Pakkesvitsjing prinsipp
1 BM-dagen 29.okt BM1 Fysisk miljøplanlegging Studieprogram for Bygg- og miljøteknikk Meny Prosjektoppgaven Arealbruk og befolkning Transport og.
Timesammedag ved Risvollan legesenter(RLS) Evaluering etter 3 år. Stud.med Olav Aune Thomassen og Aage Bjertnæs Spesialist i allmennmedisin.
Eiendomsmeglerbransjens boligprisstatistikk Februar 2011 Norges Eiendomsmeglerforbund og Eiendomsmeglerforetakenes Forening ECON Poyry og FINN.
Kapittel 5 Nettverkslaget
Kapittel 4: Transportlaget
Fra forelesningene om involveringspedagogikk Et utviklingsarbeid Philip Dammen Manuset er under arbeid.
NM i prototyping - Yggdrasil 2014
Bankenes sikringsfond Revisjonskontoret
Virksomhetsrapport Oktober Innhold 1. Oppsummering 2. Hovedmål 3. Pasient 5. Aktivitet 4. Bemanning 6. Økonomi 7. Klinikker 2.
Status IPv6 IT-leder møte Gunnar Bøe (& Håvard Eidnes)
The Peer-to-Peer Architecture Av Ingunn Lund og Anja Lønningen.
To accompany Quantitative Analysis for Management, 8e by Render/Stair/Hanna 15-1 © 2003 by Prentice Hall, Inc. Upper Saddle River, NJ Kapittel 15.
Elevundersøkelsen ( ) UtvalgGjennomføringInviterteBesvarteSvarprosentPrikketData oppdatert 7. trinnVår , Symbolet (-) betyr.
Freenet A Distributed Anonymous Information Storage and Retrieval System.
Gnutella TDT2 Avanserte distribuerte systemer Odin Standal.
Datakommunikasjon Fagnr.: ITF20205 Fagsider:
Protokoller Pensum: Olsen, kap. 5 og 6. Kommunikasjonsprotokoll Rutiner for å administrere og kontrollere oversending av data Telefonsamtale (”Hallo”,
Application-Layer Multicast  Unicast: En maskin sender meldinger adressert til kun en annen maskin  Multicast: En maskin sender meldinger adressert til.
Detaljerte funksjoner i datanett
Internett som elektronisk kommunikasjonsmiddel
Utskrift av presentasjonen:

Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004. Slides adapted from the slides accompanying the book of Kurose & Ross. © 1996-2004 J.F Kurose and K.W. Ross, All Rights Reserved Norsk versjon: © Christian F Heide, 2004. Nettlaget

Kapittel 4: Nettlaget Kapittelmål: forstå prinsipper bak nettlagstjenester: ruting (valg av sti) skalering hvordan en ruter virker IPv6, mobilitet implementasjoner i Internett Nettlaget

Kapittel 4 – oversikt 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

nettlag linklag fysisk Nettlaget transportere pakke fra sendermaskin til mottagermaskin sender pakker segmenter inn i datagrammer mottagerside leverer segmenter til transportlaget nettlagsprotokoller i hver eneste maskin og ruter ruter ser på header i alle IP-datagrammer som passerer applikasjon transport nettlag linklag fysisk nettlag linklag fysisk nettlag data link physical nettlag linklag fysisk applikasjon transport nettlag linklag fysisk Nettlaget

Viktige nettlagsfunksjoner videresending (forwarding): flytte pakker fra ruterens inngang til riktig utgang ruting: bestemme stien som pakker følger fra avsender til mottager Rutingalgoritmer analogi: ruting: planleggingen av en reise hjemmefra til målet videresending: finne fram til riktig tog ved togbytte på en stasjon Nettlaget

Relasjon mellom ruting og videresending rutingalgoritme lokal videresendingstabell header verdi utgang 0100 0101 0111 1001 3 2 1 verdi i pakke- header 1 0111 2 3 Nettlaget

Oppsett av forbindelse dette er en tredje viktig funksjon i noen nettverks-arkitekturer, som ATM, Frame Relay og X.25 Før datagrammer kan sendes, etablerer to maskiner og mellomliggende rutere en virtuell forbindelse Rutere involveres Nett- og transportlags forbindelses-orienterte tjenester: Nettlag: mellom to maskiner Transportlag: mellom to prosesser Nettlaget

Nettlagets tjenestemodeller Spm: Hvilken tjenestemodell har vi for “kanalen” som overfører pakker fra sender til mottager? Eksempel på tjenester for individuelle datagrammer: garantert leveranse garantert leveranse med mindre enn 40 ms forsinkelse Eksempel på tjenester for en datagramstrøm: levering i riktig rekkefølge garantert båndbredde for strømmen begrensninger på fluktuasjoner i avstand mellom datagrammer (jitter) Nettlaget

Nettlagets tjenestemodeller: Garantier? Nettlags- arkitektur Internett ATM Tjeneste- modell best effort CBR VBR ABR UBR Tilbakemeld. om metning nei (sluttes via tap) ingen metning ja nei Båndbr. ingen konstant rate garantert minimum Tap nei ja Rekkef. no ja Timing nei ja Nettlaget

Kapittel 4 – hvor er vi? 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

Nettlagets forbindelsesorienterte og forbindelsesløse tjenester Datagram-nettverk gir forbindelsesløs tjeneste på nettlaget VC-nettverk gir forbindelsesorientert tjeneste på nettlaget Analogt med transportlagstjenestene, men: tjenesten er maskin-til-maskin intet valg: nettet tilbyr enten det ene eller det andre implementasjon: i kjernen av nettet Nettlaget

Virtuelle forbindelser (VC) “stien fra sender til mottager oppfører seg omtrent som en telefonforbindelse” når det gjelder ytelse når det gjelder nettets håndtering av trafikken langs stien forbindelse må settes opp før data kan sendes, og forbindelse må til slutt kobles ned hver pakke har et VC-nummer (ikke mottageradresse) hver ruter langs stien har en “tilstand” for hver forbindelse som passerer gjennom transportlagsforbindelsen involverte kun de to endesystemene linkkapasitet og ruterressurser kan allokeres til VC for å oppnå linjesvitsjet oppførsel Nettlaget

VC implementasjon En VC består av: Sti fra avsender til mottager VC-nummer, ett nummer for hver link langs stien Innslag for hver VC i videresendingstabellene i ruterne langs stien En pakke som tilhører en VC, bærer et VC-nummer VC-nummeret er nytt på hver link Det nye VC-nummeret finnes i videresendings-tabellen Nettlaget

Videresendings- tabell VC-numre 22 12 32 1 2 3 Videresendingstabell i ruteren øverst til venstre: interface nummer Innk. interface Innk. VC-nr Utg. interface Utg. VC-nr 1 12 2 22 2 63 1 18 3 7 2 17 1 97 3 87 … … … … Rutere har tilstandsinformasjon for forbindelsen Nettlaget

Virtuelle forbindelser: signaleringsprotokoller benyttes til å sette opp, vedlikeholde og koble ned virtuelle forbindelser benyttes bl. a. i ATM, frame-relay og X.25 benyttes ikke i dagens Internett applikasjon transport nettlag linklag fysisk applikasjon transport nettlag linklag fysisk 5. Dataoverføring begynner 6. Motta data 4. Forbindelse opprettet 3. Akseptere samtale 1. Initiere samtale 2. innkommende samtale Nettlaget

Datagramnett: Internettmodellen intet oppsett av forbindelser på nettlaget rutere: har ikke kjennskap til ende-til-ende forbindelser pakker videresendes basert på destinasjonsadresse pakker mellom samme sender og mottager kan ta ulike veier gjennom nettet applikasjon transport nettlag linklag fysisk lag applikasjon transport nettlag linklag fysisk lag 1. Send data 2. Motta data Nettlaget

Videresendingstabell: eksempel 4 mrd mulige adresser Adresseområde for mottager Link interface 11001000 00010111 00010000 00000000 til 0 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 til 1 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 til 2 11001000 00010111 00011111 11111111 ellers 3 Nettlaget

“Longest prefix matching” Prefix match Link interface 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 ellers 3 Eksempler Mott.: 11001000 00010111 00010110 10100001 Hvilket interface? Mott.: 11001000 00010111 00011000 10101010 Hvilket interface? Nettlaget

Datagram og VC-nett: bakgrunn Internett datautveksling mellom maskiner “elastiske” tjenester, små timingrestriksjoner “smarte” endesystemer (datamaskiner) kan tilpasse seg, utføre kontroll og håndtere feil enkelhet i nettet, kompleksitet i kantene mange linktyper ulike karakteristika uniform tjeneste vanskelig ATM utviklet fra telefoni menneskelig samtale: strenge krav til timing og pålitelighet behov for garantert tjeneste “dumme” endesystemer telefoner kompleksitet i nettet Nettlaget

Kapittel 4 – hvor er vi? 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

Rutere: Cisco 12000-serien Nettlaget

Ruterarkitektur-oversikt To nøkkelfunksjoner: kjøre rutingalgoritmer/protokoller (RIP, OSPF, BGP) svitsjing (videresending) av datagrammer fra innkommende til utgående link Nettlaget

Inngangsportfunksjoner Fysisk lag: bit-nivå mottak Desentralisert svitsjing: gitt datagram dest, slå opp utgangsport i videresendingstabell i inngangsportens hukommelse mål: fullstendig inngangsport-prosessering på ‘linjehastighet’ kø: dersom datagrammer ankommer hurtigere enn videresendingsraten inn i svitsjematrisen Linklag: f eks Ethernet Nettlaget

Tre typer svitsjematriser (minne) (buss) (krysskobling) Nettlaget

Svitsjing via hukommelse Førstegenerasjonsrutere: pakke kopiert systemminnet av systemets ene CPU hastighet begrenset av hukommelsen (2 buss-overføringer per datagram) Inngangs- port Utgangs- Hukommelse Systembuss Moderne rutere: inngangsprosessor utfører oppslag og kopiering til hukommelse Cisco Catalyst 8500 Nettlaget

Svitsjing via en buss datagram fra hukommelse i inngangsport til hukommelse i utgangsport via en delt buss deling av buss: svitsjehastighet begrenset av bussens båndbredde 1 Gb/s buss, Cisco 1900: tilstrekkelig hastighet for aksess- og bedriftsrutere (enterprise routers) – ikke for regionale rutere eller kjernerutere (backbone) Nettlaget

Svitsjing via krysskoblingsnett (“interconnection network”) overvinne begrensningene fra buss-båndbredden Banyan nettverk og andre krysskoblingsnett ble initielt utviklet for å knytte sammen flere prosessorer Avansert design: fragmenterer datagrammer i celler av fast lengde og svitsjer cellene gjennom matrisen Cisco 12000: svitsjer Gb/s gjennom krysskoblingene Nettlaget

Utganger Buffering påkrevet når datagrammer ankommer fra svitjsematrisen hurtigere enn senderaten Skeduleringsdisiplin velger datagrammer for sending blant de som står i kø Nettlaget

Utgangskø buffering når ankomstrate fra svitsj overstiger dataraten til utgangslinja køforsinkelse og tap pga oversvømmelse av utgangsbuffer Nettlaget

Inngangskø Svitsjematrise langsommere enn inngangsportene til sammen  kan få kø på inngangen Head-of-the-Line (HOL) blokkering: datagram først i køen hindrer andre i køen i å avansere køforsinkelse og tap pga oversvømmelse i inngangsbufferet Nettlaget

Kapittel 4 – hvor er vi? 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

Internetts nettlag Maskiner og ruteres nettlagsfunksjoner: Nettlag Transportlag: TCP, UDP Rutingprotokoller veivalg RIP, OSPF, BGP IP protokoll adresseringskonvensjoner datagramformat hvordan pakker skal håndteres videre- sendings- tabell Nettlag ICMP protokoll feilrapportering ruter-”signalering” Linklag Fysisk lag Nettlaget

Kapittel 4 – hvor er vi? 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

IP datagramformat hvor mye overhead med TCP? data (variabel lengde, 32 bit data (variabel lengde, normalt et TCP- eller UDP-segment) 16-bit ID Internett sjekksum time to live 32 bit avsender IP-adresse IP protokollversjon header lengde (byte) maks antall gjenværende hopp (dekrementeres i hver ruter) for fragmentering/ sammensetting total datagram- lengde (byte) protokollen som skal ha nyttelasten (TCP, UDP) head. len type of service “type” data flagg fragment offset upper layer 32 bit mottager IP-adresse Opsjoner (om noen) F. eks. tidsstempel, record route, spesifisere liste av rutere man skal innom hvor mye overhead med TCP? 20 byte for TCP 20 byte for IP = 40 byte + app. lags overhead Nettlaget

IP fragmentering og sammensetting nettverkslinker har MTU (max transmission unit) – største mulige linklagsramme ulike typer linker har ulike MTU store IP-datagram deles opp (“fragmenteres”) i nettet ett datagram blir til flere, mindre datagram settes sammen igjen (“reassembly”) først i endelig destinasjon Felter i IP-header benyttes til å identifisere sammenhørende fragementer og sette dem sammen i riktig rekkefølge fragmentering: inn: ett stort datagram ut: 3 mindre datagrammer sammensetting (reassembly) Nettlaget

IP fragmentering og sammensetting ID =x offset =0 fragflag lengde =4000 =1 =1500 =185 =370 =1040 Ett stort datagram blir til flere mindre datagrammer Eksempel 4000 byte datagram MTU = 1500 byte 1480 byte i datafeltet offset = 1480/8 Nettlaget

Kapittel 4 – hvor er vi? 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

IP adressering: introduksjon IP-adresse: 32-bit ID-nummer for maskin, ruter og grensesnitt (interface) grensesnitt (interface): forbindelse mellom maskin/ruter og fysisk link rutere har flere grensesnitt maskiner har normalt kun ett grensesnitt hvert grensesnitt har en IP-adresse 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 223.1.3.1 223.1.3.2 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 Nettlaget

Subnett IP-adresser – to deler: Hva er et subnett? subnettdel (mest signifikante bit, bit i venstre ende) maskindel (minst signifikante bit, bit i høyre ende) Hva er et subnett? grensesnitt med lik subnettdel av IP-adressen kan nå hverandre fysisk uten å gå via ruter 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 LAN 223.1.3.1 223.1.3.2 nettverk bestående av 3 IP-nett Nettlaget

Subnett 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24 Oppskrift For å finne subnettene, koble hvert interface fra sin maskin eller ruter slik at vi får øyer av isolerte nett. Hvert isolerte nett kalles da et subnett. Subnett-maske: /24 Nettlaget

Subnett Hvor mange subnett? 223.1.1.2 223.1.1.1 223.1.1.4 223.1.1.3 223.1.9.2 223.1.7.0 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.2.6 223.1.3.27 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2 Nettlaget

IP-adresser Opprinnelig klasseinndeling (“class-full addressing”): 1.0.0.0 til 127.255.255.255 nettverk maskin B 128.0.0.0 til 191.255.255.255 10 nettverk maskin 192.0.0.0 til 223.255.255.255 C 110 nettverk maskin 224.0.0.0 til 239.255.255.255 D 1110 multicast adresse 32 bit Nettlaget

IP-adressering: CIDR “Classful” adressering: ineffektiv bruk av adresserom, går fort tom for ledige adresser f. eks: et klasse B nett har nok adresser til 65 000 maskiner, selv om det kun er f. eks. 2000 maskiner i nettet CIDR: Classless InterDomain Routing nettverksdel av adressen er av vilkårlig lengde adresseformat: a.b.c.d/x, hvor x er antall bit i nettverks-delen av adressen 11001000 00010111 00010000 00000000 nettverks- del maskin- 200.23.16.0/23 Nettlaget

IP-adresser: hvordan få tak i en? Hvordan får en maskin sin IP-adresse? lagt inn i en fil av sys admin Windows: control-panel Linux/UNIX: /etc/rc.config DHCP: Dynamic Host Configuration Protocol: maskin tildeles en adresse ved oppstart av en DHCP-server “plug-and-play” Nettlaget

IP-adresser: hvordan få tak i en? Hvordan får et nettverk sin IP-adresse?  får en del av sin ISPs tildelte adresserom ISPs blokk 11001000 00010111 00010000 00000000 200.23.16.0/20 Organisasjon 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organisasjon 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organisasjon 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. …. Organisasjon 7 11001000 00010111 00011110 00000000 200.23.30.0/23 Nettlaget

Hierarkisk adressering: rute-aggregering Hierarkisk adressering tillater effektiv annonsering av ruting- informasjon (rute-aggregering): Organisasjon 0 200.23.16.0/23 Organisasjon 1 200.23.18.0/23 “Send meg alt med adresser som begynner med 200.23.16.0/20” Organisasjon 2 200.23.20.0/23 . ISP A . Internett Organisasjon 7 200.23.30.0/23 “Send meg alt med adresser som begynner med 199.31.0.0/16” ISP B Nettlaget

Hierarkisk adressering: mer spesifikke ruter ISP B har en mer spesifikk rute til Organisasjon 1 (longest prefix match) Organisasjon 0 200.23.16.0/23 “Send meg alt med adresser som begynner med 200.23.16.0/20” Organisasjon 2 200.23.20.0/23 . ISP A . Internett Organisasjon 7 200.23.30.0/23 “Send meg alt med adresser som begynner med 199.31.0.0/16 eller 200.23.18.0/23” ISP B Organisasjon 1 200.23.18.0/23 Nettlaget

Overføre et datagram fra avs. til mott. videresendingstabell i A Dest. nett neste ruter ant hopp 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 IP datagram: div. felter avs. IP-adr mott. data 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E datagram forblir uforandret mens det vandrer fra avsender til mottager Nettlaget

Overføre et datagram fra avs. til mott. videresendingstabell i A div. felter Dest. nett neste ruter ant hopp 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.1.3 data Starter i A, send IP-datagram adressert til B: slå opp nettadressen til B i videresendingstabellen finner at B er på samme nett som A linklag sender datagram direkte til B i en linklagsramme B og A er direkte forbundet 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E Nettlaget

Overføre et datagram fra avs. til mott. videresendingstabell i A div. felt Dest. nett neste ruter ant hopp 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.2.2 data Starter i A, destinasjon E: slå opp nettadressen til E i videresendingstabellen E er på annet nett A og E ikke direkte forbundet rutingtabell: neste-hopp-ruter til E er 223.1.1.4 linklag sender datagram til ruter 223.1.1.4 i en linklags-ramme datagram ankommer 223.1.1.4 forts… 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E Nettlaget

Overføre et datagram fra avs. til mott. videresendingstabell i ruter div. felt Dest. nett ruter ant hopp interface 223.1.1.1 223.1.2.2 data 223.1.1 - 1 223.1.1.4 Ankommer 223.1.4, destinasjon 223.1.2.2 slå opp nettadressen til E i ruterens videresendingstabell E på samme nett som ruterens interface 223.1.2.9 ruter og E er direkte forbundet linklag sender datagram til 223.1.2.2 i en linklagsramme via interface 223.1.2.9 datagram ankommer 223.1.2.2 (hurra!) 223.1.2 - 1 223.1.2.9 223.1.3 - 1 223.1.3.27 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E Nettlaget

IP-adressering: hvordan få kloa i… Hvordan kan en ISP få en blokk av adresser?  ICANN: Internet Corporation for Assigned Names and Numbers tildeler adresser sjef for DNS rot-tjenere tildeler domenenavn, løser navnekonflikter I Norge: Norid Nettlaget

NAT: Network Address Translation resten av Internett lokalt nett (f eks hjemmenett) 10.0.0/24 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 Alle datagram som forlater lokalt nett har samme avsender IP- adresse: 138.76.29.7, men ulike avsender-portnummer Datagram med avsender eller destinasjon i dette nettet har 10.0.0/24 adresser som avsender og destinasjon Nettlaget

NAT: Network Address Translation Begrunnelse: lokalt nett benytter bare en IP-adresse sett fra utsiden: trenger ikke å få tildelt mange adresser fra ISP; kun én adresse som brukes for alle noder kan endre adresser til noder i lokalt nett uten å måtte informere omverdenen kan bytte ISP uten å endre adresser på noder i det lokale nettet noder i det lokale nettet kan ikke adresseres direkte og er ikke synlige for omverdenen (positivt sikkerhetsmessig?) Nettlaget

NAT: Network Address Translation Implementasjon: NAT-ruter må: utgående datagrammer: erstatte avsender IP-adresse og portnummer med NAT IP-adresse og nytt portnummer . . . maskiner som svarer vil da bruke NAT IP-adresse og det nye portnummer som destinasjons-adresse. huske (i NAT translasjonstabell) hvert (avsender IP-adresse, portnummer) til (NAT IP-adresse, nytt portnummer) translasjonspar innkommende datagrammer: erstatte NAT IP-adresse og det nye portnummer i destinasjonsfelter med de korresponderende avsender IP-adresse og portnummer lagret i NAT-tabell Nettlaget

NAT: Network Address Translation NAT translasjonstabell WAN side adr. LAN side adr. 1: maskin 10.0.0.1 sender datagram til 128.119.40, 80 2: NAT-ruter endrer datagram avsenderadresse fra 10.0.0.1, 3345 til 138.76.29.7, 5001, og oppdaterer tabellen 138.76.29.7, 5001 10.0.0.1, 3345 …… …… S: 10.0.0.1, 3345 D: 128.119.40.186, 80 1 10.0.0.1 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 2 10.0.0.4 10.0.0.2 138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 10.0.0.3 4: NAT-ruter endrer datagram destinasjonsadresse fra 138.76.29.7, 5001 til 10.0.0.1, 3345 3: Svar ankommer dest. adresse: 138.76.29.7, 5001 Nettlaget

NAT: Network Address Translation 16-bit portnummerfelt: 60,000 samtidige forbindelser med én enkelt IP-adresse! NAT er kontroversiell: rutere skal kun prosessere t.o.m. lag 3 (nettlaget) bryter med ende-til-ende argument mulighet for NATing må tas hensyn til av applikasjonsdesignere mangel på adresser kan isteden løses ved overgang til IPv6 Nettlaget

Kapittel 4 – hvor er vi? 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

ICMP: Internet Control Message Protocol benyttet av maskiner, rutere og gatewayer for overføring av info om kommunikasjonen feilrapportering: noder som ikke kan nås, nett, port, protokoll echo request/reply (brukt av ping) et nettlag “over” IP: ICMP-meldinger fraktes i IP-datagrammer ICMP melding: type og kode pluss første 8 byte av IP-datagrammet som ble berørt av feilen Type Kode beskrivelse 0 0 echo reply (ping) 3 0 dest network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (metnings- kontroll – ikke i bruk) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header Nettlaget

Traceroute og ICMP Avsender sender en serie med UDP-segmenter til mottager Første har TTL = 1 Andre har TTL = 2 etc. Når datagram nr n ankommer ruter nr n : Ruter kaster datagram og returnerer en ICMP-melding til avsender (type 11, kode 0) Meldingen inneholder navnet på ruter og dens IP-adresse Når ICMP-melding ankommer, vil avsender beregne RTT Traceroute gjør dette tre ganger Kriterium for å stoppe UDP-segment ankommer endelig mottager Mottager returnerer ICMP-meldingen “host unreachable” (type 3, kode 3) Når avsender får denne meldingen, slutter den Nettlaget

Kapittel 4 – hvor er vi? 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

IPv6 Opprinnelig motivasjon: 32-bits adresserom er snart oppbrukt Tilleggsmotivasjon: header-formatet bidrar til høyere hastighet på prosessering og vidresending endringer i header for å muliggjøre QoS IPv6 datagramformat: fast lengde på header: 40 byte ingen fragmentering tillates Nettlaget

IPv6 header Priority: identifiserer prioritet mellom datagrammer Flow label: identifiserer datagrammer i samme “flow” (konseptet “flow” er ikke veldefinert) Next header: identifiserer protokollen på laget over som data skal leveres til Nettlaget

Andre endringer fra IPv4 Fragmentering: tillates ikke Sjekksum: fjernet for å redusere prosesseringstid i hver ruter Opsjoner: tillates men ligger utenfor standard header (angis av “Next Header”-feltet) ICMPv6: ny versjon av ICMP flere meldingstyper, f.eks. “Packet Too Big” funksjoner for å håndtere multicast grupper Nettlaget

Overgang fra IPv4 til IPv6 Det er umulig å oppgradere alle maskiner og rutere samtidig Hvordan vil Internett fungere med rutere av både type IPv4 og type IPv6? Dual-stack: rutere implementerer både IPv4 og IPv6 Tunneling: IPv6-datagram fraktet som datapakke i IPv4-datagram mellom IPv4-rutere Nettlaget

Dual-stack A B C D E F IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 A-til-B: IPv6 Flow: X Avs: A Mott: F data Avs:A Mott: F data Avs:A Mott: F data Flow: ?? Avs: A Mott: F data A-til-B: IPv6 B-til-C: IPv4 B-til-C: IPv4 B-til-C: IPv6 Nettlaget

Tunneling A B E F Logisk: A B C D E F Fysisk: Avs:B Mott: E Avs:B IPv6 IPv6 IPv6 IPv6 A B C D E F Fysisk: IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 Flow: X Avs: A Mott: F data Flow: X Avs: A Mott: F data Avs:B Mott: E Flow: X Avs: A Mott: F data Avs:B Mott: E Flow: X Avs: A Mott: F data A-til-B: IPv6 E-til-F: IPv6 B-til-C: IPv6 inni IPv4 B-til-C: IPv6 inni IPv4 Nettlaget

Kapittel 4 – hvor er vi? 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

Relasjon mellom ruting og videresending rutingalgoritme lokal videresendingstabell header verdi utgang 0100 0101 0111 1001 3 2 1 verdi i pakke- header 1 0111 2 3 Nettlaget

Graf-abstraksjon z x u y w v Grafabstraksjon for rutingalgoritmer: 2 1 3 5 Grafabstraksjon for rutingalgoritmer: grafnoder er rutere grafkanter er fysiske linker Graf: G = (N,E) N = mengde av rutere = { u, v, w, x, y, z } E = mengde av linker = { (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } Merk: Graf-abstraksjon er nyttig i andre nettverkskontekster Eksempel: P2P, hvor N er mengden av peers og E er mengden av TCP-forbindelser Nettlaget

Graf-abstraksjon: kost u y x w v z 2 1 3 5 c(x,x’) = kost for link (x, x’) - f eks c(w,z) = 5 kost kan f eks settes til 1, eller være omvendt proporsjonal med båndbredden eller metningen Kost for stien (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp) Hvilken sti mellom u og z har den minste kostnaden? Rutingalgoritme: algoritme som finner minstekostnadsvei Nettlaget

Klassifisering av rutingalgoritmer Global eller desentralisert informasjon? Global: alle rutere har fullstendig info om topologi og linkkost “link state”-algoritmer Desentralisert: ruter kjenner har bare info om direkte tilknyttede linker og noder iterativ beregningsprosess, utveksling av info med naboer “distance vector”-algoritmer Statisk eller dynamisk? Statisk: ruter endres sjelden/ langsomt Dynamisk: ruter endres hurtigere periodiske oppdateringer oppdateringer som følge av endringer i linkkost Nettlaget

Kapittel 4 – hvor er vi? 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

En link-state rutingalgoritme Dijkstras algoritme nettopologi, linkkost kjent for alle noder oppnås ved kringkasting av linktilstanden alle noder har samme info beregner minstkostvei fra en node (“source”) til alle andre noder gir rutingtabell for den noden iterativ: etter k iterasjoner kjenner man minstekostvei til k dest Notasjon: c(i,j): linkkost fra node i til j. Kost uendelig hvis ikke de er naboer D(v): gjeldende verdi for kost av vei fra kilde til destinasjon v. p(v): forgjengernode (predecessor) langs vei fra kilde til v, dvs neste v N: mengden av noder som har kjent minstekostvei Nettlaget

Dijkstras algoritme (link state) 1 Initialisering: 2 N = {u} 3 for alle noder v 4 if v er nabo til u 5 then D(v) = c(u,v) 6 else D(v) = uendelig 7 8 Løkke 9 finn en w som ikke er i N, slik at D(w) er et minimum 10 innlem w i N 11 oppdater D(v) for alle noder v som er nabo til w og ikke i N: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* ny kost til v er enten gammel kost til v eller minste kjente 14 kost til w pluss kost fra w til v */ 15 inntil alle noder er i N Nettlaget

Dijkstras algoritme: eksempel Trinn 1 2 3 4 5 N u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u D(w),p(w) 5,u 4,x 3,y D(x),p(x) 1,u D(y),p(y) ∞ 2,x D(z),p(z) ∞ 4,y u y x w v z 2 1 3 5 Nettlaget

Dijkstras algoritme – diskusjon Algoritmens kompleksitet: O(n2) Oscillasjoner kan oppstå: f eks dersom link-kost = mengde overført trafikk A A A 1 A 1+e 2+e 2+e 2+e D B D B D B D B 1+e 1 1+e 1 e 1 C 1+e e C C C 1 1 e … beregn påny … beregn påny … beregn påny initielt Nettlaget

Nettlaget

Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

Distansevektoralgoritme Bellman-Ford ligning Definer dx(y) := kost for minstekostnadsvei fra x til y Da har vi dx(y) = min {c(x,v) + dv(y) } hvor minimum tas over alle naboer til x Nettlaget

Bellman-Ford eksempel (1) Her er dv(z) = 5, dx(z) = 3, dw(z) = 3 u y x w v z 2 1 3 5 B-F ligningen sier: du(z) = min { c(u,v) + dv(z), c(u,x) + dx(z), c(u,w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 Noden som oppnår minimum er neste hopp i minstekostvei Nettlaget

Distansevektoralgoritme (2) Dx(y) = estimat for minstekost fra x til y Distansevektor: Dx = [Dx(y): y є N ] Node x kjenner kost til hver nabo v: c(x,v) Node x holder oppdatert sin egen distansevektor: Dx = [Dx(y): y є N ] Node x har kjennskap også til sine naboers distansevektorer For hver nabo v, vil x kjenne til Dv = [Dv(y): y є N ] Nettlaget

Distansevektoralgoritme (3) Grunnleggende idé: Hver node sender med jevne mellomrom sine egne distansevektor-estimater til sine naboer Når en node x mottar et nytt distansevektor-estimat fra en nabo, vil den oppdatere sin egen distansevektor ved bruk av B-F ligningen: Dx(y) ← minv{c(x,v) + Dv(y)} for hver node y ∊ N Under betingelser som normalt er oppfylt, vil estimatet Dx(y) konvergere mot den virkelige minstekostnad dx(y) Nettlaget

Distansevektoralgoritme (4) Iterativ, asynkron: hver lokal iterasjon er forårsaket av: endring i lokal linkkost melding fra nabo om endret minstekostvei (DV) Distribuert: en node gir endrings-melding til sine naboer bare dersom dens minste-kostvei (DV) til en av nodene endres naboene vil i sin tur varsle sine naboer om nødvendig Hver node: vent på endring i lokal link-kost eller melding fra nabo rekalkuler estimater dersom minstekostvei til noen noder er endret, varsle naboer Nettlaget

z y x Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3 Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 tabell i node x x y z x y z 0 2 7 ∞ fra kost til kost til kost til x y z x y z x 0 2 3 x 0 2 3 y 2 0 1 fra y fra 2 0 1 z 7 1 0 z 3 1 0 tabell i node y kost til kost til kost til x z 1 2 7 y x y z x y z x y z x ∞ 2 0 1 ∞ ∞ x 0 2 7 x 0 2 3 y y fra 2 0 1 y fra fra 2 0 1 z z ∞ ∞ ∞ 7 1 0 z 3 1 0 tabell i node z kost til kost til kost til x y z x y z x y z x 0 2 7 x 0 2 3 x ∞ ∞ ∞ y y 2 0 1 y ∞ ∞ ∞ fra 2 0 1 fra fra z z z 3 1 0 3 1 0 7 1 tid Nettlaget

Distance vector: linkkostendringer node oppdager lokal linkkost-endring oppdaterer distansetabell hvis kostendring er i minstekostvei: varsle naboer 1 Y 4 1 X Z 50 algoritmen terminerer Nettlaget

Distance vector: linkkost-endringer gode nyheter reiser fort dårlige nyheter reiser langsomt - “count to infinity” problem! 60 Y 4 1 X Z 50 algoritmen fortsetter Nettlaget

Distance vector: “forgiftet revers” Hvis Z ruter via Y for å nå X : Z sier til Y at dens avstand til X er uendelig (slik at Y ikke skal rute til X via Z) 60 Y 4 1 X Z 50 algoritmen terminerer Nettlaget

Sammenligning av LS og DV algoritmene Meldingskompleksitet LS: med n noder og E linker, O(nE) meldinger sent DV: meldinger kun mellom naboer Konvergens LS: O(n2) algoritme krever O(nE) meldinger may have oscillations DV: konvergenstid varierer kan få løkker “count-to-infinity” problem Robusthet: hva skjer når en ruter går ned? LS: node kan annonsere feil linkkost hver node beregner kun sin egen tabell DV: DV node kan annonsere feil veikost hver nodes tabell brukes av andre feil vandrer gjennom nettet Nettlaget

Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

Hierarkisk ruting Hittil har rutingen vært idealisert: alle ruter identiske “flatt” nettverk … ikke slik i praksis skalering: det finnes 200 millioner noder: kan ikke lagre alle destinasjoner i en rutingtabell! utveksling av rutingtabeller ville overbelastet de fleste linker! administrativ autonomi internett = nettverk av nettverk hver nettverksadmin kan styre rutingen som han vil internt i sitt nettverk Nettlaget

Hierarkisk ruting rutere grupperes i “autonome systemer” (AS) rutere innen samme AS kjører samme rutingprotokoll “intra-AS” ruting-protokoll rutere i ulike AS kan kjøre hver sine intra-AS rutingprotokoller Gateway-ruter Ruter som har direkte link til ruter i annet AS Nettlaget

Sammeknyttede AS 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b Intra-AS ruting- algoritme Inter-AS Videresendings tabell 3c Videresendingstabell er konfigurert både av intra- og inter-AS rutingalgoritmer Intra-AS vedlikeholder elementer for interne destinasjoner Inter-AS & Intra-AS vedlikeholder entries for eksterne destinasjoner Nettlaget

Inter-AS oppgaver AS1 trenger: å finne ut hvilke destinasjoner som kan nås gjennom AS2 og hvilke som kan nås gjennom AS3 å formidle denne kunnskap til alle rutere i AS1  jobben til inter-AS ruting! Anta ruter i AS1 mottar datagram som skal til en node som ikke er i AS1 Ruter bør videresende pakken til en av gateway-ruterne, men til hvilken av dem? 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c Nettlaget

Eksempel: Videresendingstabell i ruter 1d Anta at AS1 får vite av inter-AS-protokollen at subnet x kan nås via AS3 (dvs via gateway 1c) men ikke via AS2. Inter-AS protokollen formidler nåbarhets-info til alle interne rutere i AS1 Ruter 1d finner vhja sin intra-AS ruting-protokoll at dens interface I er på minstekostveien til 1c Legger inn følgende innslag i videre-sendingstabellen: (x,I) Nettlaget

Eksempel: Å velge blant flere AS Anta at AS1 får info fra inter-AS protokollen at subnet x kan nås via AS3 og via AS2 Ruter 1d må bestemme seg for hvilken gateway han skal bruke i sin videresendingstabell for destinasjon x Dette er også en jobb for inter-AS rutingprotokollen Hot-potato routing: send pakken mot den gateway-ruteren som er nærmest av de to Får vite fra inter-AS protokoll at subnet x kan nås via flere gatewayer Benytt ruting info fra intra-AS protokoll til å bestemme kost for minstekostveier til hver av gatewayene Hot potato routing: Velg gatewayen som har laveste minstekostvei Finn av videre- sendingstabellen hvilket interface I som fører til denne gateway. Legg inn (x,I) i videre- Nettlaget

Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

Intra-AS ruting Betegnes også Interior Gateway Protocols (IGP) De vanligste intra-AS ruting protokollene: RIP: Routing Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (Cisco proprietær) Nettlaget

Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

RIP ( Routing Information Protocol) Distansevektoralgoritme (Bellman-Ford) Inkludert i BSD-UNIX i 1982 Distansemål (“metrikk”): antall hopp (maks = 15 hopp) D C B A u v w x y z destinasjon hopp u 1 v 2 w 2 x 3 y 3 z 2 Nettlaget

RIP annonsering Distansevektorer: utveksles mellom naboer hvert 30. sekund via RIP responsmeldinger (ofte kalt annonsering eller advertisement) Hver annonsering: liste med opp til 25 destinasjonsnett innen ASet Nettlaget

RIP: eksempel z w x y A D B C y B 2 z B 7 x -- 1 Destinasjonsnett Neste ruter Antall hopp til dest. w A 2 y B 2 z B 7 x -- 1 …. …. .... Rutingtabell i D Nettlaget

RIP: eksempel w x y z A C D B y B 2 z B A 7 5 x -- 1 Annonsering Dest Neste hopp w - - x - - z C 4 …. … ... Annonsering fra A til D w x y z A C D B Destinasjonsnett Neste ruter Antall hopp til dest. w A 2 y B 2 z B A 7 5 x -- 1 …. …. .... Rutingtabell i D Nettlaget

RIP: Linkfeil og recovery Hvis det ikke høres noen annonsering på 3 minutter  nabo/link erklæres død ruter som går via nabo fjernes nye annonseringer sendes til naboer naboer sender i sin tur ut nye annonseringer til sine naboer (hvis rutingtabellen har endret seg) info om linkfeil sprer seg hurtig til alle rutere forgiftet revers benyttes for å hindre ping-pong løkker (uendelig avstand = 16 hopp) Nettlaget

RIP tabellprosessering RIP rutingtabeller håndteres av en applikasjons-prosess som heter routed (daemon) annonseringer sendes i UDP segmenter, gjentas periodisk routed routed Transprt (UDP) Transprt (UDP) nettlag videre- (IP) sendingstab nettlag (IP) videre- sendingstab link link fysisk fysisk Nettlaget

Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

OSPF (Open Shortest Path First) “open”: åpen (dvs. offentlig) spesifikasjon benytter en “link state”-algoritme (Dijkstra) LS packet dissemination topologikart i hver ruter benytter Dijkstras algoritme for ruteberegning OSPF-annonseringer har ett element pr naboruter annonseringer sprer seg til hele AS v hj a flooding fraktes i OSPF-meldinger direkte over IP (benytter ikke TCP eller UDP) Nettlaget

OSPF avanserte mekanismer (ikke i RIP) Sikkerhet: alle OSPF-meldinger autentiseres (for å forhindre fiendtlig inntrengning) Multipath: tillater flere stier med samme kost (kun én sti i RIP) For hver link kan vi ha ulike kostmetrikker for ulike tjenestetyper – TOS (f.eks. kost for satellittlink settes lav for “best effort” men høy for sanntidstjenester) Integrert uni- og multicast støtte: Multicast OSPF (MOSPF) benytter samme topologidatabase som OSPF Hierarkisk OSPF i store domener Nettlaget

Hierarkisk OSPF Nettlaget

Hierarkisk OSPF To-nivå hierarki: lokalt område og stamnett Link-state annonseringer kun lokalt område hver node har detaljert kunnskap om topologien i eget område, men kjenner kun retningen (korteste vei) til noder i andre områder Area border routers: rutere på grensen mellom et område og “backbone”-området, annonserer intern kost til andre Area Border routers Backbone routers: kjører OSPF ruting begrenset til stamnett Boundary routers: knytter forbindelse til andre autonome systemer Nettlaget

Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

Internett inter-AS ruting: BGP BGP (Border Gateway Protocol): de facto standard BGP gir hvert AS en måte å: få tak i informasjon fra AS-naboer om hvilke subnett som kan nås hvor spre informasjon om dette til alle rutere internt i det autonome systemet finne gode ruter til subnett basert på denne nåbarhetsinformasjonen og definert policy Tillater et subnett å annonsere sin eksistens til resten av Internett: “Her er jeg!” Nettlaget

Internetts inter-AS ruting: BGP BGP4: RFC 1771 Path Vector protokoll: ligner på distance vector protokoller hver Border Gateway kringkaster til sine naboer (peers) hele stien (dvs. sekvensen av ASer) til destinasjonen BGP ruter til nettverk (AS), ikke til individuelle maskiner, identifisert ved sitt ASN F.eks: gateway X kan sende sin vei til dest. Z: Path (X, Z) = X, Y1, Y2, Y3, …, Z Nettlaget

BGP – grunnleggende par av rutere (“BGP peers”) utveksler rutinginfo over semi-permanente TCP-forbindelser: BGP-sesjoner Merk at BGP-sesjoner ikke korresponderer med fysiske linker Når AS2 annonserer en prefiks til AS1, lover AS2 at den vil videresende datagrammer som ankommer som skal mot denne prefiks AS2 kan aggregere prefikser i sin annonse 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c eBGP sesjon iBGP sesjon Nettlaget

Distribusjon av “nåbarhetsinfo” Med en eBGP-sesjon mellom 3a og 1c, vil AS3 sende info om prefiks-nåbarhet til AS1 1c kan så benytte iBGP for å distribuere denne nye prefiks-info til alle rutere i AS1 1b kan så re-annonsere den nye nåbarehetsinfo til AS2 over 1b-til-2a eBGP-sesjonen Når ruter får kjennskap til en ny prefiks, vil den lage et innslag for prefikset i sin videresendingstabell 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c eBGP sesjon iBGP sesjon Nettlaget

Stiattributter & BGP-ruter Når det annonseres et prefiks, inkluderes det BGP-attributter prefiks + attributter = “rute” To viktige attributter: AS-PATH: inneholder ASene som annonsen for prefikset har passert: AS 67 AS 17 NEXT-HOP: Indikerer den spesifikke interne AS-ruter til neste-hopp AS (det kan være flere linker fra et AS til neste-hopp AS Når gateway-ruter mottar annonse for en rute, benytter den en import policy for å akseptere/avvise den annonserte ruten Nettlaget

BGP rutevalg Ruter kan få kjennskap ti mer enn en rute til et prefiks. Ruter må da velge rute. Eliminasjonsregler: Lokal preferanseverdiattributt: valg basert på policy Korteste AS-PATH Nærmeste NEXT-HOP ruter: “hot potato”-ruting Andre kriterier Nettlaget

BGP-meldinger BGP-meldinger utveksles ved hjelp av TCP BGP-meldinger: OPEN: åpner en TCP-forbindelse til peer og autentiserer sender UPDATE: annonserer ny vei (eller trekker tilbake en tidligere annonsert vei) KEEPALIVE holder forbindelsen i live under fravær av oppdateringer; brukes også som ACK på OPEN-melding NOTIFICATION: rapporterer feil i foregående melding; brukes også for å lukke forbindelsen Nettlaget

BGP rutingpolicy A,B,C er tilbydernett (ISP-nett) X,W,Y er kunder (av ISPene) X er dual-homed: knyttet til to nett X ønsker ikke å frakte trafikk som kommer fra B og skal til C X unngår dette ved ikke å annonsere overfor B at den har en rute til C Nettlaget

BGP rutingpolicy (2) A annonserer stien AW overfor B B annonserer stien BAW overfor X Bør B annonsere stien BAW overfor C? Nei! B tjener ingenting på å rute CBAW siden hverken W eller C er Bs kunder B ønsker å tvinge C til å rute til W via A B vil kun rute trafikk til og fra sine egne kunder! Nettlaget

Hvorfor ulik intra- og inter-AS ruting? Policy: Inter-AS: admin ønsker kontroll over hvordan dens trafikk rutes, og hvem som ruter gjennom dens nett Intra-AS: enhetlig admin – ingen policy-beslutninger nødvendig Skalering: hierarkisk ruting sparer tabellstørrelse og reduserer oppdateringstrafikken (skalering er mindre viktig internt i AS) Ytelse: Intra-AS: kan fokusere på ytelse Inter-AS: policy kan være viktigere enn ytelse Nettlaget

Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Nettlaget

Nettlag: oppsummering Hva vi har vært innom: nettlagstjenester rutingprinsipper: “link state” og “distance vector” hierarkisk ruting IP Internetts rutingprotokoller: RIP, OSPF, BGP hva finnes inne i en ruter? IPv6 Neste stopp: linklaget Nettlaget