Temaer: ! Nettlagets oppgaver! Rutingprinsipp: veivalg! Hierarkisk ruting! IP! Internettets ruting. protokoller. " intra-domain.

Like dokumenter
Temaer: r Nettlagets oppgaver r Rutingprinsipp: veivalg r Hierarkisk ruting r IP r Internettets ruting protokoller. m intra-domain.

Linklaget. Olav Lysne. (med bidrag fra Stein Gjessing og Frank Eliassen) Oppsummering 1

Kapittel 5 Nettverkslaget

Nettlaget. Nettlagets oppgaver

32 bits. type of service. head. len 16-bit identifier time to live

Nettverkslaget. Fragmentering/framsending Internetworking IP

Litt mer detaljer om: Detaljerte funksjoner i datanett. Fysisk Lag. Multipleksing

Detaljerte funksjoner i datanett

Løsningsforslag Gruppeoppgaver mars 2003

LAN switching / IP Routing

Detaljerte Funksjoner i Datanett

Hva består Internett av?

TOD120 Nettverk og windows og sikkerhet og datamaskiner og servere og sånn. Øving 12. Joachim Tingvold

Gjennomgang av kap Kommunikasjonsformer Typer av nettverk Adressering og routing Ytelse Protokoller

KORTESTE STI. Vektede Grafer. Korteste Sti. Dijkstra s Algoritme. Vektet Urettet Graf

Litt mer detaljer om: Detaljerte funksjoner i datanett. Fysisk Lag. Multipleksing

Lagene spiller sammen

IP Internet. Tjenestemodell. Sammensetning av nettverk. Protokollstack

Kommunikasjonsnett. Et kommunikasjonsnett er utstyr (maskinvare og programvare) for utveksling av informasjon

2EOLJDWRULVNRSSJDYHQU L GDWDNRPPXQLNDVMRQ + VWHQ.,QQOHYHULQJVIULVWRNWREHU *MHQQRPJnVWRUVGDJRNWREHU

1990 første prognoser og varsler om at det ikke vil være nok IPv4 adresser til alle som ønsker det 1994 første dokumenter som beskriver NAT en

TDT4110 IT Grunnkurs: Kommunikasjon og Nettverk. Læringsmål og pensum. Hva er et nettverk? Mål. Pensum

6107 Operativsystemer og nettverk

Kapittel 10 Tema for videre studier

Computer Networks A. Tanenbaum

Løsningsforslag Gruppeoppgaver mars 2003

6105 Windows Server og datanett

Litt mer detaljer om: Detaljerte funksjoner i datanett. Fysisk Lag. Multipleksing

IN Algoritmer og datastrukturer

Tid og koordinering. Foreleser: Olav Lysne

6105 Windows Server og datanett

Øvingsforelesning 7. Dijkstras algoritme. Foiler: Fredrik Ludvigsen Foreleser: Jon Marius Venstad 10/4/09 1

6105 Operativsystem og nettverk

Bakgrunn. Tid og koordinering. Foreleser: Olav Lysne

Løsningsforslag Gruppeoppgaver, januar INF240 Våren 2003

Level Set methods. Sandra Allaart-Bruin. Level Set methods p.1/24

Oppsummering: Linjesvitsjing kapasiteten er reservert, og svitsjing skjer etter et fast mønster. Linjesvitsj

Parallelle og distribuerte algoritmer INF 3130/4130. Parallell matrisemultiplikasjon. Parallell matrisemultiplikasjon . = . =

Litt mer detaljer om: Tids multipleksing

6105 Operativsystem og nettverk

Opprinnelig IP-pakke inneholder 4480 Byte data. Dette er inklusiv IPheader. Max nyttelast på EthernetRammen er 1500 oktetter.

Sentrale deler av pensum i INF240. Hensikt. Pål Spilling og Kjell Åge Bringsrud

Sentrale deler av pensum i INF

TMA4140 Diskret Matematikk Høst 2016

Høgskolen i Molde Institutt for Informatikk Prøveeksamen 2 in115: Nettverksdrift Svarskisse:

Løsningsforslag uke 48

LØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER (IT1105)

IT Grunnkurs Nettverk 2 av 4

KTN1 - Design av forbindelsesorientert protokoll

UNIVERSITETET I OSLO

Extreme Fabric Connect / Shortest Path Bridging

Masterpresentasjon. Wireless Extension to OSPF: Kenneth Holter. Veiledere: Andreas Hafslund, Frank Y. Li og Knut Øvsthus. 14.

Peer-to-Peer systemer

Dijkstras algoritme Spørsmål

EKSAMEN. Emne: Datakommunikasjon

Algdat - Øvingsforelesning. Maks flyt

Slope-Intercept Formula

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon

Computer Networks A. Tanenbaum

Dynamic Programming Longest Common Subsequence. Class 27

Feiltoleranse for campus med Nettsamling 3-4 november 2010 Håvard Eidnes UNINETT

INF Algoritmer og datastrukturer

Forelesning Oppsummering

IN2010: Algoritmer og Datastrukturer Series 2

Det matematisk-naturvitenskapelige fakultet

ITF20205 Datakommunikasjon - høsten 2014

Kap 3: Anvendelser av Internett

Eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl

Avtale om Bitstrøm: Vedlegg C Bitstrøm NNI Produktblad

INF Algoritmer og datastrukturer

6107 Operativsystemer og nettverk

Om Kurset og Analyse av Algoritmer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Emnenavn: Datakommunikasjon. Eksamenstid: Kl: 9:00 til kl: 13:00. Faglærere: Erling Strand

Antall sider:s (inkludert denne) Alle skrevne og trykte hjelpemidler samt kalkulator

INF Algoritmer og datastrukturer

Oppgave 1. Sekvenser (20%)

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

Datakommunikasjon - Oblig 2

Alle enheter som skal sende datapakker fra forskjellige strømmer inn på samme link må forholde seg til hvordan strømmene skal prioriteres.

Linklaget - direkte forbindelser mellom noder

Innhold. BKK Digitek AS Fjøsangerveien 65, Postboks 7050, 5020 Bergen T: E:

Grafalgoritmer: Korteste vei

Detaljerte funksjoner i datanett

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

6105 Windows Server og datanett

INF Algoritmer og datastrukturer

6105 Windows Server og datanett

Tilpasning av Windows 2000 server til Skolelinux tynnklienttjener

UNIVERSITETET I OSLO

GRAFER. Hva er en graf? Det første grafteoretiske problem: Broene i Königsberg. Grafer vi har sett allerede

INF3190 Gruppe Aage Dahl

INF Algoritmer og datastrukturer

Dijkstras algoritme. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert.

Grafteori. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori.

Løsningsforslag for eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl

ITF20205 Datakommunikasjon - høsten 2011

MAT1030 Forelesning 23

Oppsett av brannmur / router 1.0. Innholdsfortegnelse

MAT1030 Diskret Matematikk

Transkript:

Nettlaget Mål:! Forstå prinsippene bak nettlagets oppgaver: " Ruting " Skalerbarhet " Hvordan en ruter virker! Hvordan dette er løst i Internett Temaer:! Nettlagets oppgaver! Rutingprinsipp: veivalg! Hierarkisk ruting! IP! Internettets ruting protokoller " intra-domain " inter-domain Nettlaget - Nettlagets funksjoner! Transportere pakker fra sender til mottaker.! Nettlagsprotokoller i alle endemaskiner og rutere. ppl. Transport Tre viktige funksjoner:! Finne en sti: veien fra kilde til destinasjon! switching: flytte pakker fra input porten til output porten! call setup: noen nettverk krever en initialiseringsfase før data kan sendes. ppl. Transport Nettlaget -

ets tjenestemodell Tjeneste abstraksjoner Hvilken modell skal man velge for den kanalen som transporterer pakker fra sender til mottaker?! Garantert båndbredde?! Ingen variasjon i forsinkelser (jitter)?! Ingen pakketap?! Levering i rekkefølge?! Metningsfeedback til sender? en viktigste bstraksjonen man må forholde seg til:??? virtual circuit eller datagram? Nettlaget -3 Virtual circuits Ligner på en telefonlinje hva gjelder... " ytelse " Hva nettverket må gjøre langs stien fra kilde til destinasjon! Forbindelsen må settes opp før data kan sendes! Hver pakke inneholder I av forbindelsen (ikke av destinasjonen)! Hver ruter må vite om hvilke forbindelser som går igjennom den.! link, ruterressurser (båndbredde, buffere) kan allokeres til en forbindelse " Oppførsel som om det ikke var noen annen trafikk på nettet. Nettlaget -4

Virtual circuits: signaleringsprotokoler! rukes til å sette opp, vedlikeholde og ta ned en V.! enyttes i TM, frame-relay,.! Ikke benyttet i dagens Internett pplikasjon Transport pplikasjon. ataflyt starter 6. Motta data 4. Forbindelsen opprettet 3. ksepter forbindelse Transport. Initier kall. Innkommende forespørsel Nettlaget - atagram nettverk: Internett modellen! Ingen fase for oppretting av forbindelse! rutere: ingen informasjon om ende til endeforbindelse " Ikke noe forbindelsesbegrep på nettverkslaget! Pakker blir videresendt på bakgrunn av destinasjons I. " Pakker mellom samme kilde og destinasjon kan ta forskjellige stier pplikasjon Transport. Send data. motta data pplikasjon Transport Nettlaget -6

atagram OG V nettverk: hvorfor? Internett! Utveksling av data mellom datamaskiner " elastisk tjeneste, ingen strikte timing krav.! smarte endesystemer (datamaskiner) " Kan tilpasse seg, utføre kontroll, feilhåndtering " Enkelt nettverk, kompleksiteten er samlet i endesystemene! Mange basalteknologier " Forskjellige karakteristika " Uniform tjeneste er vanskelig TM! Utviklet fra telefoni! Menneskelig konversasjon: " Strikt timing, pålitelighetskrav " Trenger tjenestegarantier! dumme endesystemer " telefoner " Kompleksiteten i nettverkene Nettlaget -7 Ruting Ruting protokoll Mål: finne en god sti (sekvens av rutere) gjennom nettverket fra kilde til destinasjon Graf-abstraksjon for rutingalgoritmer:! Nodene i grafen er rutere! Kantene er fysiske linker " kostnad: forsinkelse, $ kost, eller metningsnivå! god sti: 3 3 E " Typisk minimum kost (for ett eller annet kost-begrep) F " ndre definisjoner er mulige Nettlaget -8

Klassifikasjon av rutingalgoritmer Global eller desentralisert informasjon? Global:! lle rutere har all informasjon om topologi og link-! link state algoritmer esentralisert:! Ruter kjenner til sine nærmeste naboer, og deres link-kostnad.! Iterativ prosess som utveksler informasjon med naboen! distansevektor algoritmer Statisk eller dynamisk? Statisk:! Stier (ruter) endrer seg langsomt over tid. ynamisk:! Stier endrer seg hurtig " Periodisk oppdatering " Som reaksjon på endring i link-kostnad Nettlaget -9 En -State algoritme ijkstra s algoritme! Topologi og linkkostnader er kjent for alle noder " ette oppnås ved at alle noder gjør en link state broadcast " lle noder har samme informasjon! Hver node regner ut den stien som gir lavest kostnad fra seg selv til hver tenkelig destinasjon: " gir ruting tabell for den noden! iterativ: etter k iterasjoner kjenner noden den billigste veien til k destinasjoner. Notasjon:! c(i,j): link kostnad fra node i til node j. Settes initielt til uendelig dersom i og j ikke er naboer.! (v): nåværende beste kostnad til destinasjon v.! : noden selv! N: settet av noder som vi nå har funnet billigste veien til.! P(v): siste noden før v i den beste stien funnet til nå. Nettlaget -0

ijsktra s lgoritme Initialization: N = {} 3 for all nodes v 4 if v adjacent to then (v) = c(,v) 6 else (v) = infty 7 8 Loop 9 find w not in N such that (w) is a minimum 0 add w to N update (v) for all v adjacent to w and not in N: (v) = min( (v), (w) + c(w,v) ) 3 /* new cost to v is either old cost to v or known 4 shortest path cost to w plus cost from w to v */ until all nodes in N Nettlaget - ijkstra s algoritme: eksempel Step 0 3 4 start N E E E EF (),p(),,, (),p(), 4, 3,E 3,E (),p(), (E),p(E) uendelig, (F),p(F) uendelig uendelig 4,E 4,E 4,E 3 3 E F Nettlaget -

ijkstra s algoritme, diskusjon Kompleksitet: n noder! Hver iterasjon: må sjekke alle noder w som ikke er i N! n*(n+)/ sammenligninger: O(n**)! Mulig å implementere mer effektivt: O(nlogn) Oscillasjoner er mulige:! e.g., linkkostnad = hvor mye trafikk som går på linken +e 0 0 0 e e Initielt +e 0 0 +e 0 rekalkuler rutingen 0 +e 0 0 +e rekalkuler +e 0 +e 0 e rekalkuler Nettlaget -3 istansevektor algoritmen iterativ:! Fortsetter inntil ingen noder utveksler informasjon.! Selv-terminerende: ingen sentral avgjørelse om at alg. er ferdig asynkron:! Noder trenger ikke utveksle informasjon så lenge intet endrer seg distribuert:! Hver node kommuniserer bare med sine naboer istansetabellen! Hver node har sin egen! En rad for hver mulig destinasjon! En kolonne for hver nabo (mulige utlinker)! eksempel: i node, for dest. Y via nabo Z: (Y,Z) = = distanse fra til Y, via Z som neste hopp Z c(,z) + min { (Y,w)} w Nettlaget -4

istansetabell: eksempel 7 E (,) E (,) E (,) E 8 = c(e,) + min { (,w)} w = + = 4 = c(e,) + min { (,w)} w = +3 = Passerer E to ganger! c(e,) + min { (,w)} w = = 8+6 = 4 destinasjon Kostnad til destinasjon via E () Passerer E to ganger (E----E-)! 7 6 4 4 8 9 4 Nettlaget - istansetabell gir rutingtabell Kostnad til destinasjon via E () Utgående link, kostnad 4, destinasjon 7 6 8 9 4 destinasjon,,4 4, istansetabell Rutingtabell Nettlaget -6

istansevektor ruting: overblikk Iterativ, asynkron: Hver lokale iterasjon trigges av:! endringer i lokal link-kost! melding fra nabo om at dens minste konstands stitabell har endret seg istribuert:! hver node sender oppdateringer til naboen bare når minste kostnads sti til en destinasjon har endret seg. " Naboene sender meldinger til sine naboer igjen dersom det er nødvendig. Hver node: wait for (change in local link cost of msg from neighbor) recompute distance table if least cost path to any dest has changed, notify neighbors Nettlaget -7 istansevektoralgoritmen: I alle noder, : Initialization: for all adjacent nodes v: 3 (*,v) = infty /* the * operator means "for all rows" */ 4 (v,v) = c(,v) for all destinations, y 6 send min (y,w) to each neighbor /* w over all 's neighbors */ w Nettlaget -8

istansevektoralgoritmen forts. 8 loop 9 wait (until I see a link cost change to neighbor V 0 or until I receive update from neighbor V) if (c(,v) changes by d) 3 /* change cost to all dest's via neighbor v by d */ 4 /* note: d could be positive or negative */ for all destinations y: (y,v) = (y,v) + d 6 7 else if (update received from V wrt destination Y) 8 /* shortest path from V to some Y has changed */ 9 /* V has sent a new value for its min w V (Y,w) */ 0 /* call this received new value is "newval" */ for the single destination y: (Y,V) = c(,v) + newval 3 if we have a new min w (Y,w)for any destination Y 4 send new value of min w (Y,w) to all neighbors 6 forever Nettlaget -9 istansevektoralgoritmen: eksempel Y 7 Z Nettlaget -0

istansevektoralgoritmen: eksempel Y 7 Z (Y,Z) Z = c(,z) + min { (Y,w)} w = 7+ = 8 (Z,Y) Y = c(,y) + min { (Z,w)} w = + = 3 Nettlaget - istansevektor: endring i link-kostnad Endring i link-kostnad:! node oppdager endring i kostnad på lokal link.! Oppdaterer distansetabellen (linje )! dersom korteste sti endrer seg, si fra til naboene (lines 3,4) 4 Y 0 Z gode nyheter spres fort lgoritmen terminerer Nettlaget -

istansevektor: endring i link-kostnad Endring i link kostnad:! gode nyheter spres fort! dårlige nyheter spres sakte - telle til uendelig problem! 60 4 Y 0 Z lgoritmen fortsetter! Nettlaget -3 istansevektor: poisoned reverse Om Z ruter gjennom Y for å nå :! Z forteller Y at sin (Z s) distanse til er uendelig (så Y ikke ruter til via Z)! løser dette telle til uendelig problemet? 60 4 Y 0 Z lgoritmen terminerer Nettlaget -4

Sammenligning av LS og V algoritmene Meldingskompleksitet! LS: med n noder, E linker, O(nE) msgs sent hver! V: meldingsutveksling bare mellom naboer " konvergenstiden varierer Konvergenshastighet! LS: O(n**) algoritme krever O(nE) meldinger " kan oscillere! V: konvergenstiden varierer " kan gi ruting-løkker " telle til uendelig problem Robusthet: hva skjer dersom en ruter feiler? LS: " node kan melde om feil linkkostnad " hver node regner bare ut sin egen tabell V: " V node kan melde om feil sti-kostnad " hver node sin tabell brukes av andre feil propagerer gjennom nettverket Nettlaget - Hierarkisk ruting Til nå har vi forholdt oss til et idealisert bilde.! lle rutere identiske! flat nettstruktur ikke sant i praksis skala: med 0 millioner destiasjoner:! kan ikke lagre alle destinasjoner i rutingtabeller!! Utveksling av rutingtabeller ville okkupere linkkapasiteten! administrativ autonomi! internet = nettverk av nettverk! hver enkelt netverksadministrator ønsker å kontrollere ruting i sitt eget nettverk. Nettlaget -6

Hierarkisk ruting! Samle rutere i regioner, autonomous systems (S)! rutere i samme S kjører samme rutingprotokoll " inter-s ruting protokoll " rutere i forskjellige S kan kjøre forskjellige intra-s routing protokoller gateway rutere! Spesielle rutere i et S! kjører intra-s ruting protokoll med alle andre rutere i S! også ansvarlig for ruting til destinasjoner utenfor S. " kjører inter-s ruting protokoll med andre gateway rutere Nettlaget -7 Intra-S og Inter-S ruting a.b b d.a a b.c c.a a c Gateways: kjører inter-s ruting seg imellom kjører intra-s b ruting med andre rutere i sitt S inter-s, intra-s ruting i gateway.c nettlaget linklaget lag Nettlaget -8

Intra-S og Inter-S ruting a Host h.b b.a a d b c Intra-S rutig innenfor S Inter-S ruting mellom og.c.a a c b Host h Intra-S ruting innenfor S! Vi skal studere inter-s og intra-s Internett ruting protokoller om et øyeblikk Nettlaget -9 Nettlaget i Internett slagets funksjoner: Transportlag: TP, UP Nettlaget Ruting protokoller stivalg RIP, OSPF, GP ruting tabell IP protokoll adresseringskonvensjoner datagram format pakkehåndteringskonvensjoner IMP protokoll feilrapportering ruter signaleringing lag lag Nettlaget -30

IP dressering! IP adresse: 3-bit identifikator for maskin, ruter interface! interface: koblingen mellom maskin/ruter og fysisk link " en ruter har typisk mange interfaces " en maskin kan ha flere interfacer (men vanligvis bare ett) " IP adresser assosiert med interface, ikke maskin. 3... 3... 3... 3...4 3...9 3...3 3..3. 3..3.7 3... 3..3. 3... = 0 0000000 0000000 0000000 3 Nettlaget -3 IP dressering! IP adresse: " nettverksdelen (høyeste bits) " vertsmaskin delen (laveste bits)! Hva er et nettverk? (fra IP-adresse synspunkt) " interfacer som har felles nettverksdel i adressen " kan nå hverandre fysisk uten å gå gjennom en IP-ruter 3... 3... 3... 3...4 3...9 3...3 3..3. 3..3.7 LN 3... 3..3. som består av 3 IP nettverk (for IP adresser som starter med 3, er de første 4 bits nettverksadresse) Nettlaget -3

IP dressering Hvordan finne nettverket?! Frikoble interface begrepet fra ruterbegrepet! skape øyer av isolerte nettverk 3... 3... 3...4 3...3 3..9. 3..7.0 3..9. 3..7. 3..8. 3..8.0 3...6 3..3.7 Sammenkoblet system bestående av seks nettverk 3... 3... 3..3. 3..3. Nettlaget -33 IP dresser class 0nettverk vertsmaskin.0.0.0 til 7... 0 nettverk vertsmaskin 0 nettverk vertsmaskin 0 multicast adresse 3 bits 8.0.0.0 til 9... 9.0.0.0 til 39... 40.0.0.0 til 47... Nettlaget -34