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

Kap 6 The Internet Protocol

  • Upload
    elda

  • View
    56

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07

Kap 6 The Internet Protocol

6.1 – 6.5.417. og 24.09.07

Christian F Heide

Page 2: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-2

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

nettlag linklagfysisk

nettlag linklagfysisk

nettlag linklagfysisk

nettlag data link

fysisk

nettlag linklag

physical

nettlag linklag fysisk

nettlag linklag fysisk

nettlag linklagfysisk

applikasjon

transportnettlaglinklagfysisk

applikasjon

transportnettlag linklagfysisk

Page 3: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-3

Figure 6.1 Internet networking components and protocols

Page 4: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-4

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

transportnettlaglinklag

fysisk lag

applikasjon

transportnettlaglinklag

fysisk lag

1. Send data 2. Motta data

Page 5: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-5

Figure 6.2 IP adjunct protocols

Page 6: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-6

IP datagramformat

ver lengde

32 bit

data (variabel lengde,normalt et TCP-

eller UDP-segment)

16-bit ID

Internett sjekksum

time tolive

32 bit avsender IP-adresse

IP protokollversjon

header lengde (32-bits ord)

maks antallgjenværende hopp

(dekrementeres ihver ruter)

forfragmentering/sammensetting

total datagram-lengde (byte)

protokollen som skal hanyttelasten (TCP, UDP)

head.len

type ofservice

“type” data flaggfragment

offsetupper layer

32 bit mottager IP-adresse

Opsjoner (om noen) F. eks. tidsstempel,record route,spesifisereliste av rutereman skal innom

Page 7: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-7

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 datagramut: 3 mindre datagrammer

sammensetting(reassembly)

Page 8: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-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 tilflere mindre datagrammer

Eksempel 4000 byte

datagram MTU = 1500 byte

1480 byte i datafeltet

offset =1480/8

Page 9: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-9

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

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

Page 10: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-10

Subnett 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

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

223.1.3.27

nettverk bestående av 3 IP-nett

LAN

Page 11: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-11

Subnett 223.1.1.0/24223.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

Page 12: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-12

SubnettHvor mange subnett? 223.1.1.1

223.1.1.3

223.1.1.4

223.1.2.2223.1.2.1

223.1.2.6

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.2

223.1.7.0

223.1.7.1223.1.8.0223.1.8.1

223.1.9.1

223.1.9.2

Page 13: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-13

IP-adresser

0nettverk maskin

10 nettverk maskin

110 nettverk maskin

1110 multicast adresse

A

B

C

D

klasse1.0.0.0 til127.255.255.255

128.0.0.0 til191.255.255.255

192.0.0.0 til223.255.255.255

224.0.0.0 til239.255.255.255

32 bit

Opprinnelig klasseinndeling (“class-based addressing”):

Page 14: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-14

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

200.23.16.0/23

Page 15: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-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”

Page 16: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-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

Page 17: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-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

Page 18: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-18

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

10.0.0.4

138.76.29.7

lokalt nett(f eks hjemmenett)

10.0.0/24

resten avInternett

Datagram med avsender eller destinasjon i dette nettet

har 10.0.0/24 adresser som avsender og destinasjon

Alle datagram som forlater lokaltnett har samme avsender IP-

adresse: f eks 138.76.29.7, menulike avsender-portnummer

Page 19: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-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?)

Page 20: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-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

Page 21: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-21

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

S: 10.0.0.1, 3345D: 128.119.40.186, 80

1

10.0.0.4

138.76.29.7

1: maskin 10.0.0.1 sender datagram til 128.119.40, 80

NAT translasjonstabellWAN side adr. LAN side adr.

138.76.29.7, 5001 10.0.0.1, 3345…… ……

S: 128.119.40.186, 80 D: 10.0.0.1, 3345

4

S: 138.76.29.7, 5001D: 128.119.40.186, 80

2

2: NAT-ruterendrer datagramavsenderadresse fra10.0.0.1, 3345 til138.76.29.7, 5001,og oppdaterer tabellen

S: 128.119.40.186, 80 D: 138.76.29.7, 5001

3

3: Svar ankommer dest. adresse: 138.76.29.7, 5001

4: NAT-ruterendrer datagramdestinasjonsadresse fra138.76.29.7, 5001 til 10.0.0.1, 3345

Page 22: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-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

Page 23: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-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 minstekostnad dx(y)

Page 24: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-24

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

vent på endring i lokal link-kost eller melding fra nabo

rekalkuler estimater

dersom minstekostvei til noen

noder er endret, varsle naboer

Hver node:

Page 25: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-25

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

Page 26: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-26

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

Page 27: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-27

Distansevektoralgoritme

Bellman-Ford ligning Definerdx(y) := kost for minstekostnadsvei fra x til

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

Page 28: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-28

Bellman-Ford eksempel

u

yx

wv

z2

2

13

1

1

2

53

5 Her erdv(z) = 5, dx(z) = 3, dw(z) = 3

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

B-F ligningen sier:

Page 29: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-29

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

Page 30: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-30

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

Page 31: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-31

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

Page 32: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-32

Figure 6.12 (b) continued

Page 33: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-33

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

Page 34: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-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

Page 35: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-35

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

Page 36: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-36

Figure 6.13 (b) continued

Page 37: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-37

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

Page 38: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-38

Page 39: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-39

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

Page 40: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-40

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

Page 41: Kap 6 The Internet Protocol

Versjon 1.1 / 24.09.07 Nettlaget 6-41

Klassifisering av rutingalgoritmerGlobal eller desentralisert

informasjon?Global: alle rutere har fullstendig

info om topologi og linkkost “link state”-algoritmerDesentralisert: 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/

langsomtDynamisk: ruter endres hurtigere

periodiske oppdateringer

oppdateringer som følge av endringer i linkkost