1 / 41

Kap 6 The Internet Protocol

Kap 6 The Internet Protocol. 6.1 – 6.5.4 17. og 24.09.07 Christian F Heide. 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

elda
Download Presentation

Kap 6 The Internet Protocol

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 nettlag linklag fysisk nettlag linklag fysisk nettlag linklag fysisk nettlag data link fysisk nettlag linklag physical nettlag linklag fysisk nettlag linklag fysisk nettlag linklag fysisk applikasjon transport nettlag linklag fysisk applikasjon transport nettlag linklag fysisk Nettlaget Nettlaget

  3. Figure 6.1 Internet networking components and protocols Nettlaget

  4. 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 Datagramnett: Internettmodellen 1. Send data 2. Motta data Nettlaget

  5. Figure 6.2 IP adjunct protocols Nettlaget

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

  7. 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 IP fragmentering og sammensetting fragmentering: inn: ett stort datagram ut: 3 mindre datagrammer sammensetting (reassembly) Nettlaget

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

  9. 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.2 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 IP adressering: introduksjon 223.1.1.1 223.1.2.9 223.1.1.4 223.1.1.3 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 Nettlaget

  10. IP-adresser – to deler: 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 Subnett 223.1.1.1 223.1.2.1 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.1.3 223.1.3.27 LAN 223.1.3.2 223.1.3.1 nettverk bestående av 3 IP-nett Nettlaget

  11. 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. 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24 Subnett Subnett-maske: /24 Nettlaget

  12. Hvor mange subnett? Subnett 223.1.1.2 223.1.1.1 223.1.1.4 223.1.1.3 223.1.7.0 223.1.9.2 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

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

  14. maskin- del nettverks- del 11001000 0001011100010000 00000000 200.23.16.0/23 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 Nettlaget

  15. 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

  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 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

  17. 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

  18. 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 Datagram med avsender eller destinasjon i dette nettet har 10.0.0/24 adresser som avsender og destinasjon Alle datagram som forlater lokalt nett har samme avsender IP- adresse: f eks 138.76.29.7, men ulike avsender-portnummer Nettlaget

  19. 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

  20. 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

  21. 2 4 1 3 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 S: 10.0.0.1, 3345 D: 128.119.40.186, 80 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 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 NAT: Network Address Translation NAT translasjonstabell WAN side adr. LAN side adr. 138.76.29.7, 5001 10.0.0.1, 3345 …… …… 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 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

  22. 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

  23. 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 minstekostnaddx(y) Nettlaget

  24. 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 vent på endring i lokal link-kost eller melding fra nabo rekalkuler estimater dersom minstekostvei til noen noder er endret, varsle naboer Distansevektoralgoritme (2) Hver node: Nettlaget

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

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

  27. 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

  28. 5 3 5 2 2 1 3 1 2 1 x z w u y v Bellman-Ford eksempel Her er dv(z) = 5, dx(z) = 3, dw(z) = 3 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

  29. 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 Link-state shortest-path-first Nettlaget

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

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

  32. Figure 6.12 (b) continued Nettlaget

  33. 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 En shortest-path-first rutingalgoritme Nettlaget

  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 Nettlaget

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

  36. Figure 6.13 (b) continued Nettlaget

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

  38. Nettlaget

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

  40. Figure 6.15LS-SPF routing examples: (b) source routing Nettlaget

  41. 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 Klassifisering av rutingalgoritmer Nettlaget

More Related