Kap 6 The Internet Protocol

Slides:



Advertisements
Liknende presentasjoner
12.Studienreise nach Finnland,
Advertisements

Barns utvikling av algoritmer. (Fra Marit Johnsen Høines)
Kvinner og politikk Kvinnelig valgmobilisering i Nord-Norge: Glasstak eller etterslep? Marcus Buck.
TCP/IP-modellen.
© 2006 IFS AB. All rights reserved.
Litt mer om PRIMTALL.
Ti måter å ødelegge en CT-undersøkelse av halsen på
Kapittel 10 Tema for videre studier
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.
Regneoppgaver til eksamen
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.
Sentrum og byutvikling: balansens dilemma
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.
Jara NetBusiness Endringer og nyheter
Nettverk Mål for leksjon, Elevene skal:
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.
Komplett avstandstabell. LOG530 Distribusjonsplanlegging 2 2 Noen ganger er det behov for en komplett avstandstabell mellom alle nodene i et nettverk.
Øvingsforelesning 9 Flytnettverk, maksimum flyt og maksimum bipartitt matching Jon Marius Venstad Redigert og forelest av Gleb Sizov.
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
Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004.
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.
Transport fra lager til kunder. LOG530 Distribusjonsplanlegging 2 2 Lager 1 Lager 1 Lager 2 Lager 2 Lager 3 Lager 3 Kunde 1 Kunde 1 Kunde 2 Kunde 2 Kunde.
P-MP 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
Øvingsforelesning 9 - Børge Rødsjø
Kap 10 Graf.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Kommunikasjon og Nettverk
Pakkesvitsjing prinsipp
SINTEF Teknologi og samfunn PUS-prosjektet Jan Alexander Langlo og Linda C. Hald 1 Foreløpig oppsummering – underlag for diskusjon på PUS-forum
INF 295 Forelesning 16 - kap 9 Minimalt spenntre og korteste vei i grafer Hans Fredrik Nordhaug (Ola Bø)
INF 295 Forelesning 17 - kap 9 Korteste vei i grafer Hans Fr. Nordhaug (Ola Bø)
GRØNNALGER BRUNALGER RØDALGER
1 BM-dagen 29.okt BM1 Fysisk miljøplanlegging Studieprogram for Bygg- og miljøteknikk Meny Prosjektoppgaven Arealbruk og befolkning Transport og.
Detaljerte Funksjoner i Datanett
Kapittel 5 Nettverkslaget
Kapittel 4: Transportlaget
Nettverk Mål for leksjon: Kunne bruke og forstå begrepene bit og byte Kjenne til ASCII Kunne bruke og forstå begrepet overføringskapasitet Forstå behovet.
Andre funksjoner. Her kommer en beskrivelse av søkefunksjoner, knapper og annen funksjonalitet. 2.
Status IPv6 IT-leder møte Gunnar Bøe (& Håvard Eidnes)
Sett inn preposisjoner eller adverb som passer
Freenet A Distributed Anonymous Information Storage and Retrieval System.
Designing a DHT for low latency and high through TDT2 – Avanserte distribuerte systemer Øystein Ellingbø.
INF10601 Detaljerte Funksjoner i Datanett Tor Skeie (Foiler fra Kjell Åge Bringsrud)
Befolkning og arbejdsmarked 7. Mikroøkonomi Teori og beskrivelse © Limedesign
Publish-Subscribe Middleware Informasjonsflyt fra en applikasjon til en annen applikasjon som er interessert i å motta informasjonen. Eksempel: Aksjeselskap.
Routing Indices For P2P Systems TDT2 – Avanserte Distribuerte Systemer Lars-Erik Bjørk.
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:

Kap 6 The Internet Protocol 6.1 – 6.5.4 17. og 24.09.07 Christian F Heide

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

Figure 6.1 Internet networking components and protocols 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

Figure 6.2 IP adjunct protocols Nettlaget

IP datagramformat data (variabel lengde, normalt et TCP- ver 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 (32-bits ord) 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 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

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-based 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 “Class-based” 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

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: f eks 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

Distansevektoralgoritme (1) 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 Bellman-Ford 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 (2) 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

Figure 6.11 Distance vector algorithm: (a) internet topology and initial tables Nettlaget

Figure 6.11 Distance vector algorithm: (b) derivation of final routing tables Nettlaget

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

Bellman-Ford eksempel 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

Link-state shortest-path-first Link-state algoritme Hver ruter kringkaster regelmessig en “link-state”-melding Inneholder ruterens identitet og konnektivitets-informasjon til ruterens naboer Hver ruter bygger opp topologi-informasjon Shortest-path-first algoritme: Basert på info om topologi, kjører hver ruter en SPF-algoritme for å finne korteste vei fra seg selv til alle andre rutere i nettet Nettlaget

Figure 6.12 Link state algorithm: (a) initial connectivity/adjacency tables Nettlaget

Figure 6.12 Link state algorithm: (b) derivation of active topology and netid location Nettlaget

Figure 6.12 (b) continued Nettlaget

En shortest-path-first 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 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

Figure 6.13 Dijkstra algorithm: (a) initial topology; (b) derivation of shortest paths from R1 to each other router Nettlaget

Figure 6.13 (b) continued Nettlaget

Figure 6.14 Shortest path derivations: (a) by R2; (b) by R3; (c) by R4 Nettlaget

Nettlaget

Figure 6.15 LS-SPF routing examples: (a) hop-by-hop routing Nettlaget

Figure 6.15 LS-SPF routing examples: (b) source routing 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