Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

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

Liknende presentasjoner


Presentasjon om: "Versjon 1.1 / 24.09.07 Kap 6 The Internet Protocol 6.1 – 6.5.4 17. og 24.09.07 Christian F Heide."— Utskrift av presentasjonen:

1 Versjon 1.1 / Kap 6 The Internet Protocol 6.1 – og Christian F Heide

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

3 Versjon 1.1 / Nettlaget6-3 Figure 6.1 Internet networking components and protocols

4 Versjon 1.1 / Nettlaget6-4 Datagramnett: Internettmodellen r intet oppsett av forbindelser på nettlaget r rutere: har ikke kjennskap til ende-til-ende forbindelser r pakker videresendes basert på destinasjonsadresse m 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

5 Versjon 1.1 / Nettlaget6-5 Figure 6.2 IP adjunct protocols

6 Versjon 1.1 / Nettlaget6-6 IP datagramformat 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

7 Versjon 1.1 / Nettlaget6-7 IP fragmentering og sammensetting r nettverkslinker har MTU (max transmission unit) – største mulige linklagsramme m ulike typer linker har ulike MTU r store IP-datagram deles opp (“fragmenteres”) i nettet m ett datagram blir til flere, mindre datagram m settes sammen igjen (“reassembly”) først i endelig destinasjon m 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)

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

9 Versjon 1.1 / Nettlaget6-9 IP adressering: introduksjon r IP-adresse: 32-bit ID- nummer for maskin, ruter og grensesnitt (interface) r grensesnitt (interface): forbindelse mellom maskin/ruter og fysisk link m rutere har flere grensesnitt m maskiner har normalt kun ett grensesnitt m hvert grensesnitt har en IP-adresse =

10 Versjon 1.1 / Nettlaget6-10 Subnett r IP-adresser – to deler: m subnettdel (mest signifikante bit, bit i venstre ende) m maskindel (minst signifikante bit, bit i høyre ende) r Hva er et subnett? m grensesnitt med lik subnettdel av IP-adressen m kan nå hverandre fysisk uten å gå via ruter nettverk bestående av 3 IP-nett LAN

11 Versjon 1.1 / Nettlaget6-11 Subnett / / /24 Oppskrift r 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

12 Versjon 1.1 / Nettlaget6-12 Subnett Hvor mange subnett?

13 Versjon 1.1 / Nettlaget6-13 IP-adresser 0 nettverk maskin 10 nettverk maskin 110 nettverkmaskin 1110 multicast adresse A B C D klasse til til til til bit Opprinnelig klasseinndeling (“class-based addressing”):

14 Versjon 1.1 / Nettlaget6-14 IP-adressering: CIDR r “Class-based” adressering: m ineffektiv bruk av adresserom, går fort tom for ledige adresser m f. eks: et klasse B nett har nok adresser til maskiner, selv om det kun er f. eks maskiner i nettet r CIDR: Classless InterDomain Routing m nettverksdel av adressen er av vilkårlig lengde m adresseformat: a.b.c.d/x, hvor x er antall bit i nettverks- delen av adressen nettverks- del maskin- del /23

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

16 Versjon 1.1 / Nettlaget6-16 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 /20 Organisasjon /23 Organisasjon /23 Organisasjon /23... ….. …. …. Organisasjon /23

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

18 Versjon 1.1 / Nettlaget6-18 NAT: Network Address Translation lokalt nett (f eks hjemmenett) /24 resten av Internett Datagram med avsender eller destinasjon i dette nettet har /24 adresser som avsender og destinasjon Alle datagram som forlater lokalt nett har samme avsender IP- adresse: f eks , men ulike avsender-portnummer

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

20 Versjon 1.1 / Nettlaget6-20 NAT: Network Address Translation Implementasjon: NAT-ruter må: 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. m huske (i NAT translasjonstabell) hvert (avsender IP- adresse, portnummer) til (NAT IP-adresse, nytt portnummer) translasjonspar m innkommende datagrammer: erstatte NAT IP- adresse og det nye portnummer i destinasjonsfelter med de korresponderende avsender IP-adresse og portnummer lagret i NAT-tabell

21 Versjon 1.1 / Nettlaget6-21 NAT: Network Address Translation S: , 3345 D: , : maskin sender datagram til , 80 NAT translasjonstabell WAN side adr. LAN side adr , , 3345 …… S: , 80 D: , S: , 5001 D: , : NAT-ruter endrer datagram avsenderadresse fra , 3345 til , 5001, og oppdaterer tabellen S: , 80 D: , : Svar ankommer dest. adresse: , : NAT-ruter endrer datagram destinasjonsadresse fra , 5001 til , 3345

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

23 Versjon 1.1 / Nettlaget6-23 Distansevektoralgoritme (1) Grunnleggende idé: r Hver node sender med jevne mellomrom sine egne distansevektor-estimater til sine naboer r 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: D x (y) ← min v {c(x,v) + D v (y)} for hver node y ∊ N  Under betingelser som normalt er oppfylt, vil estimatet D x (y) konvergere mot den virkelige minstekostnad d x (y)

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

25 Versjon 1.1 / Nettlaget6-25 Figure 6.11 Distance vector algorithm: (a) internet topology and initial tables

26 Versjon 1.1 / Nettlaget6-26 Figure 6.11 Distance vector algorithm: (b) derivation of final routing tables

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

28 Versjon 1.1 / Nettlaget6-28 Bellman-Ford eksempel u y x wv z Her er d v (z) = 5, d x (z) = 3, d w (z) = 3 d u (z) = min { c(u,v) + d v (z), c(u,x) + d x (z), c(u,w) + d w (z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 Noden som oppnår minimum er neste hopp i minstekostvei B-F ligningen sier:

29 Versjon 1.1 / Nettlaget6-29 Link-state shortest-path-first Link-state algoritme r Hver ruter kringkaster regelmessig en “link-state”- melding m Inneholder ruterens identitet og konnektivitets- informasjon til ruterens naboer r Hver ruter bygger opp topologi-informasjon Shortest-path-first algoritme: r 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

30 Versjon 1.1 / Nettlaget6-30 Figure 6.12 Link state algorithm: (a) initial connectivity/adjacency tables

31 Versjon 1.1 / Nettlaget6-31 Figure 6.12 Link state algorithm: (b) derivation of active topology and netid location

32 Versjon 1.1 / Nettlaget6-32 Figure 6.12 (b) continued

33 Versjon 1.1 / Nettlaget6-33 En shortest-path-first rutingalgoritme Dijkstras algoritme r nettopologi, linkkost kjent for alle noder m oppnås ved kringkasting av linktilstanden m alle noder har samme info r beregner minstkostvei fra en node (“source”) til alle andre noder m gir rutingtabell for den noden r 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

34 Versjon 1.1 / Nettlaget6-34 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

35 Versjon 1.1 / Nettlaget6-35 Figure 6.13 Dijkstra algorithm: (a) initial topology; (b) derivation of shortest paths from R1 to each other router

36 Versjon 1.1 / Nettlaget6-36 Figure 6.13 (b) continued

37 Versjon 1.1 / Nettlaget6-37 Figure 6.14 Shortest path derivations: (a) by R2; (b) by R3; (c) by R4

38 Versjon 1.1 / Nettlaget6-38

39 Versjon 1.1 / Nettlaget6-39 Figure 6.15 LS-SPF routing examples: (a) hop-by-hop routing

40 Versjon 1.1 / Nettlaget6-40 Figure 6.15 LS-SPF routing examples: (b) source routing

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


Laste ned ppt "Versjon 1.1 / 24.09.07 Kap 6 The Internet Protocol 6.1 – 6.5.4 17. og 24.09.07 Christian F Heide."

Liknende presentasjoner


Annonser fra Google