Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Versjon 2.2 / 21.10.04 Nettlaget4-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose,

Liknende presentasjoner


Presentasjon om: "Versjon 2.2 / 21.10.04 Nettlaget4-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose,"— Utskrift av presentasjonen:

1 Versjon 2.2 / Nettlaget4-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July Slides adapted from the slides accompanying the book of Kurose & Ross. © J.F Kurose and K.W. Ross, All Rights Reserved Norsk versjon: © Christian F Heide, 2004.

2 Versjon 2.2 / Nettlaget4-2 Kapittel 4: Nettlaget Kapittelmål: r forstå prinsipper bak nettlagstjenester: m ruting (valg av sti) m skalering m hvordan en ruter virker m IPv6, mobilitet r implementasjoner i Internett

3 Versjon 2.2 / Nettlaget4-3 Kapittel 4 – oversikt è 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

4 Versjon 2.2 / Nettlaget4-4 Nettlaget r transportere pakke fra sendermaskin til mottagermaskin r sender pakker segmenter inn i datagrammer r mottagerside leverer segmenter til transportlaget r nettlagsprotokoller i hver eneste maskin og ruter r ruter ser på header i alle IP-datagrammer som passerer 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

5 Versjon 2.2 / Nettlaget4-5 Viktige nettlagsfunksjoner r videresending (forwarding): flytte pakker fra ruterens inngang til riktig utgang r ruting: bestemme stien som pakker følger fra avsender til mottager m Rutingalgoritmer analogi: r ruting: planleggingen av en reise hjemmefra til målet r videresending: finne fram til riktig tog ved togbytte på en stasjon

6 Versjon 2.2 / Nettlaget verdi i pakke- header rutingalgoritme lokal videresendingstabell header verdi utgang Relasjon mellom ruting og videresending

7 Versjon 2.2 / Nettlaget4-7 Oppsett av forbindelse r dette er en tredje viktig funksjon i noen nettverks-arkitekturer, som m ATM, Frame Relay og X.25 r Før datagrammer kan sendes, etablerer to maskiner og mellomliggende rutere en virtuell forbindelse m Rutere involveres r Nett- og transportlags forbindelses- orienterte tjenester: m Nettlag: mellom to maskiner m Transportlag: mellom to prosesser

8 Versjon 2.2 / Nettlaget4-8 Nettlagets tjenestemodeller Spm: Hvilken tjenestemodell har vi for “kanalen” som overfører pakker fra sender til mottager? Eksempel på tjenester for individuelle datagrammer: r garantert leveranse r garantert leveranse med mindre enn 40 ms forsinkelse Eksempel på tjenester for en datagramstrøm: r levering i riktig rekkefølge r garantert båndbredde for strømmen r begrensninger på fluktuasjoner i avstand mellom datagrammer (jitter)

9 Versjon 2.2 / Nettlaget4-9 Nettlagets tjenestemodeller: Nettlags- arkitektur Internett ATM Tjeneste- modell best effort CBR VBR ABR UBR Båndbr. ingen konstant rate garantert rate garantert minimum ingen Tap nei ja nei Rekkef. no ja Timing nei ja nei Tilbakemeld. om metning nei (sluttes via tap) ingen metning ingen metning ja nei Garantier?

10 Versjon 2.2 / Nettlaget4-10 Kapittel 4 – hvor er vi? r 4. 1 Introduction è 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

11 Versjon 2.2 / Nettlaget4-11 Nettlagets forbindelsesorienterte og forbindelsesløse tjenester r Datagram-nettverk gir forbindelsesløs tjeneste på nettlaget r VC-nettverk gir forbindelsesorientert tjeneste på nettlaget r Analogt med transportlagstjenestene, men: m tjenesten er maskin-til-maskin m intet valg: nettet tilbyr enten det ene eller det andre m implementasjon: i kjernen av nettet

12 Versjon 2.2 / Nettlaget4-12 Virtuelle forbindelser (VC) r forbindelse må settes opp før data kan sendes, og forbindelse må til slutt kobles ned r hver pakke har et VC-nummer (ikke mottageradresse) r hver ruter langs stien har en “tilstand” for hver forbindelse som passerer gjennom m transportlagsforbindelsen involverte kun de to endesystemene r linkkapasitet og ruterressurser kan allokeres til VC for å oppnå linjesvitsjet oppførsel “stien fra sender til mottager oppfører seg omtrent som en telefonforbindelse” m når det gjelder ytelse m når det gjelder nettets håndtering av trafikken langs stien

13 Versjon 2.2 / Nettlaget4-13 VC implementasjon En VC består av: 1. Sti fra avsender til mottager 2. VC-nummer, ett nummer for hver link langs stien 3. Innslag for hver VC i videresendingstabellene i ruterne langs stien r En pakke som tilhører en VC, bærer et VC-nummer r VC-nummeret er nytt på hver link m Det nye VC-nummeret finnes i videresendings- tabellen

14 Versjon 2.2 / Nettlaget4-14 Videresendings- tabell VC-numre interface nummer Innk. interface Innk. VC-nr Utg. interface Utg. VC-nr … … Videresendingstabell i ruteren øverst til venstre: Rutere har tilstandsinformasjon for forbindelsen

15 Versjon 2.2 / Nettlaget4-15 Virtuelle forbindelser: signaleringsprotokoller r benyttes til å sette opp, vedlikeholde og koble ned virtuelle forbindelser r benyttes bl. a. i ATM, frame-relay og X.25 r benyttes ikke i dagens Internett applikasjon transport nettlag linklag fysisk applikasjon transport nettlag linklag fysisk 1. Initiere samtale 2. innkommende samtale 3. Akseptere samtale 4. Forbindelse opprettet 5. Dataoverføring begynner 6. Motta data

16 Versjon 2.2 / Nettlaget4-16 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

17 Versjon 2.2 / Nettlaget4-17 Videresendingstabell: eksempel Adresseområde for mottager Link interface til til til ellers 3 4 mrd mulige adresser

18 Versjon 2.2 / Nettlaget4-18 “Longest prefix matching” Prefix match Link interface ellers 3 Mott.: Eksempler Mott.: Hvilket interface?

19 Versjon 2.2 / Nettlaget4-19 Datagram og VC-nett: bakgrunn Internett r datautveksling mellom maskiner m “elastiske” tjenester, små timingrestriksjoner r “smarte” endesystemer (datamaskiner) m kan tilpasse seg, utføre kontroll og håndtere feil m enkelhet i nettet, kompleksitet i kantene r mange linktyper m ulike karakteristika m uniform tjeneste vanskelig ATM r utviklet fra telefoni r menneskelig samtale: m strenge krav til timing og pålitelighet m behov for garantert tjeneste r “dumme” endesystemer m telefoner m kompleksitet i nettet

20 Versjon 2.2 / Nettlaget4-20 Kapittel 4 – hvor er vi? r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks è 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

21 Versjon 2.2 / Nettlaget4-21 Rutere: Cisco serien

22 Versjon 2.2 / Nettlaget4-22 Ruterarkitektur-oversikt To nøkkelfunksjoner: r kjøre rutingalgoritmer/protokoller (RIP, OSPF, BGP) r svitsjing (videresending) av datagrammer fra innkommende til utgående link

23 Versjon 2.2 / Nettlaget4-23 Inngangsportfunksjoner Desentralisert svitsjing: r gitt datagram dest, slå opp utgangsport i videresendingstabell i inngangsportens hukommelse r mål: fullstendig inngangsport-prosessering på ‘linjehastighet’ r kø: dersom datagrammer ankommer hurtigere enn videresendingsraten inn i svitsjematrisen Fysisk lag: bit-nivå mottak Linklag: f eks Ethernet

24 Versjon 2.2 / Nettlaget4-24 Tre typer svitsjematriser (minne) (krysskobling) (buss)

25 Versjon 2.2 / Nettlaget4-25 Svitsjing via hukommelse Førstegenerasjonsrutere: r pakke kopiert systemminnet av systemets ene CPU r hastighet begrenset av hukommelsen (2 buss- overføringer per datagram) Inngangs- port Utgangs- port Hukommelse Systembuss Moderne rutere: r inngangsprosessor utfører oppslag og kopiering til hukommelse r Cisco Catalyst 8500

26 Versjon 2.2 / Nettlaget4-26 Svitsjing via en buss r datagram fra hukommelse i inngangsport til hukommelse i utgangsport via en delt buss r deling av buss: svitsjehastighet begrenset av bussens båndbredde r 1 Gb/s buss, Cisco 1900: tilstrekkelig hastighet for aksess- og bedriftsrutere (enterprise routers) – ikke for regionale rutere eller kjernerutere (backbone)

27 Versjon 2.2 / Nettlaget4-27 Svitsjing via krysskoblingsnett (“interconnection network”) r overvinne begrensningene fra buss-båndbredden r Banyan nettverk og andre krysskoblingsnett ble initielt utviklet for å knytte sammen flere prosessorer r Avansert design: fragmenterer datagrammer i celler av fast lengde og svitsjer cellene gjennom matrisen r Cisco 12000: svitsjer Gb/s gjennom krysskoblingene

28 Versjon 2.2 / Nettlaget4-28 Utganger r Buffering påkrevet når datagrammer ankommer fra svitjsematrisen hurtigere enn senderaten r Skeduleringsdisiplin velger datagrammer for sending blant de som står i kø

29 Versjon 2.2 / Nettlaget4-29 Utgangskø r buffering når ankomstrate fra svitsj overstiger dataraten til utgangslinja r køforsinkelse og tap pga oversvømmelse av utgangsbuffer

30 Versjon 2.2 / Nettlaget4-30 Inngangskø r Svitsjematrise langsommere enn inngangsportene til sammen  kan få kø på inngangen r Head-of-the-Line (HOL) blokkering: datagram først i køen hindrer andre i køen i å avansere r køforsinkelse og tap pga oversvømmelse i inngangsbufferet

31 Versjon 2.2 / Nettlaget4-31 Kapittel 4 – hvor er vi? r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router è 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

32 Versjon 2.2 / Nettlaget4-32 Internetts nettlag videre- sendings- tabell Maskiner og ruteres nettlagsfunksjoner: Rutingprotokoller veivalg RIP, OSPF, BGP IP protokoll adresseringskonvensjoner datagramformat hvordan pakker skal håndteres ICMP protokoll feilrapportering ruter-”signalering” Transportlag: TCP, UDP Linklag Fysisk lag Nettlag

33 Versjon 2.2 / Nettlaget4-33 Kapittel 4 – hvor er vi? r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol è Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

34 Versjon 2.2 / Nettlaget4-34 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 (byte) 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 hvor mye overhead med TCP? r 20 byte for TCP r 20 byte for IP r = 40 byte + app. lags overhead

35 Versjon 2.2 / Nettlaget4-35 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)

36 Versjon 2.2 / Nettlaget4-36 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

37 Versjon 2.2 / Nettlaget4-37 Kapittel 4 – hvor er vi? r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format è IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

38 Versjon 2.2 / Nettlaget4-38 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 =

39 Versjon 2.2 / Nettlaget4-39 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

40 Versjon 2.2 / Nettlaget4-40 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

41 Versjon 2.2 / Nettlaget4-41 Subnett Hvor mange subnett?

42 Versjon 2.2 / Nettlaget4-42 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-full addressing”):

43 Versjon 2.2 / Nettlaget4-43 IP-adressering: CIDR r “Classful” 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

44 Versjon 2.2 / Nettlaget4-44 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”

45 Versjon 2.2 / Nettlaget4-45 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

46 Versjon 2.2 / Nettlaget4-46 Hierarkisk adressering: rute-aggregering “Send meg alt med adresser som begynner med /20” / / /23 ISP A Organisasjon 0 Organisasjon 7 Internett Organisasjon 1 ISP B “Send meg alt med adresser som begynner med /16” /23 Organisasjon Hierarkisk adressering tillater effektiv annonsering av ruting- informasjon (rute-aggregering):

47 Versjon 2.2 / Nettlaget4-47 Hierarkisk adressering: mer spesifikke ruter ISP B har en mer spesifikk rute til Organisasjon 1 (longest prefix match) “Send meg alt med adresser som begynner med /20” / / /23 ISP A Organisasjon 0 Organisasjon 7 Internett Organisasjon 1 ISP B “Send meg alt med adresser som begynner med /16 eller /23” /23 Organisasjon

48 Versjon 2.2 / Nettlaget4-48 IP datagram: A B E div. felter avs. IP-adr mott. IP-adr data r datagram forblir uforandret mens det vandrer fra avsender til mottager Dest. nett neste ruter ant hopp videresendingstabell i A Overføre et datagram fra avs. til mott.

49 Versjon 2.2 / Nettlaget4-49 Overføre et datagram fra avs. til mott. Starter i A, send IP- datagram adressert til B: r slå opp nettadressen til B i videresendingstabellen r finner at B er på samme nett som A r linklag sender datagram direkte til B i en linklagsramme m B og A er direkte forbundet Dest. nett neste ruter ant hopp div. felter data A B E videresendingstabell i A

50 Versjon 2.2 / Nettlaget4-50 Overføre et datagram fra avs. til mott. Dest. nett neste ruter ant hopp Starter i A, destinasjon E: r slå opp nettadressen til E i videresendingstabellen r E er på annet nett m A og E ikke direkte forbundet r rutingtabell: neste-hopp- ruter til E er r linklag sender datagram til ruter i en linklags- ramme r datagram ankommer r forts… div. felt data A B E videresendingstabell i A

51 Versjon 2.2 / Nettlaget4-51 Overføre et datagram fra avs. til mott. Ankommer , destinasjon r slå opp nettadressen til E i ruterens videresendingstabell r E på samme nett som ruterens interface m ruter og E er direkte forbundet r linklag sender datagram til i en linklagsramme via interface r datagram ankommer (hurra!) div. felt data Dest. nett ruter ant hopp interface A B E videresendingstabell i ruter

52 Versjon 2.2 / Nettlaget4-52 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

53 Versjon 2.2 / Nettlaget4-53 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: , men ulike avsender-portnummer

54 Versjon 2.2 / Nettlaget4-54 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?)

55 Versjon 2.2 / Nettlaget4-55 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

56 Versjon 2.2 / Nettlaget4-56 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

57 Versjon 2.2 / Nettlaget4-57 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

58 Versjon 2.2 / Nettlaget4-58 Kapittel 4 – hvor er vi? r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing è ICMP m IPv6 r 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

59 Versjon 2.2 / Nettlaget4-59 ICMP: Internet Control Message Protocol r benyttet av maskiner, rutere og gatewayer for overføring av info om kommunikasjonen m feilrapportering: noder som ikke kan nås, nett, port, protokoll m echo request/reply (brukt av ping) r et nettlag “over” IP: m ICMP-meldinger fraktes i IP-datagrammer r ICMP melding: type og kode pluss første 8 byte av IP- datagrammet som ble berørt av feilen Type Kode beskrivelse 0 0 echo reply (ping) 3 0 dest network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (metnings- kontroll – ikke i bruk) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header

60 Versjon 2.2 / Nettlaget4-60 Traceroute og ICMP r Avsender sender en serie med UDP-segmenter til mottager m Første har TTL = 1 m Andre har TTL = 2 etc. r Når datagram nr n ankommer ruter nr n : m Ruter kaster datagram m og returnerer en ICMP- melding til avsender (type 11, kode 0) m Meldingen inneholder navnet på ruter og dens IP-adresse r Når ICMP-melding ankommer, vil avsender beregne RTT r Traceroute gjør dette tre ganger Kriterium for å stoppe r UDP-segment ankommer endelig mottager r Mottager returnerer ICMP-meldingen “host unreachable” (type 3, kode 3) r Når avsender får denne meldingen, slutter den

61 Versjon 2.2 / Nettlaget4-61 Kapittel 4 – hvor er vi? r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP è IPv6 r 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

62 Versjon 2.2 / Nettlaget4-62 IPv6 r Opprinnelig motivasjon: 32-bits adresserom er snart oppbrukt r Tilleggsmotivasjon: m header-formatet bidrar til høyere hastighet på prosessering og vidresending m endringer i header for å muliggjøre QoS IPv6 datagramformat: m fast lengde på header: 40 byte m ingen fragmentering tillates

63 Versjon 2.2 / Nettlaget4-63 IPv6 header Priority: identifiserer prioritet mellom datagrammer Flow label: identifiserer datagrammer i samme “flow” (konseptet “flow” er ikke veldefinert) Next header: identifiserer protokollen på laget over som data skal leveres til

64 Versjon 2.2 / Nettlaget4-64 Andre endringer fra IPv4 r Fragmentering: tillates ikke r Sjekksum: fjernet for å redusere prosesseringstid i hver ruter r Opsjoner: tillates men ligger utenfor standard header (angis av “Next Header”- feltet) r ICMPv6: ny versjon av ICMP m flere meldingstyper, f.eks. “Packet Too Big” m funksjoner for å håndtere multicast grupper

65 Versjon 2.2 / Nettlaget4-65 Overgang fra IPv4 til IPv6 r Det er umulig å oppgradere alle maskiner og rutere samtidig m Hvordan vil Internett fungere med rutere av både type IPv4 og type IPv6? r Dual-stack: rutere implementerer både IPv4 og IPv6 r Tunneling: IPv6-datagram fraktet som datapakke i IPv4-datagram mellom IPv4- rutere

66 Versjon 2.2 / Nettlaget4-66 Dual-stack A B E F IPv6 C D IPv4 Flow: X Avs: A Mott: F data Flow: ?? Avs: A Mott: F data Avs:A Mott: F data A-til-B: IPv6 Avs:A Mott: F data B-til-C: IPv4 B-til-C: IPv4 B-til-C: IPv6

67 Versjon 2.2 / Nettlaget4-67 Tunneling A B E F IPv6 tunnel Logisk: Fysisk: A B E F IPv6 C D IPv4 Flow: X Avs: A Mott: F data Flow: X Avs: A Mott: F data Flow: X Avs: A Mott: F data Avs:B Mott: E Flow: X Avs: A Mott: F data Avs:B Mott: E A-til-B: IPv6 E-til-F: IPv6 B-til-C: IPv6 inni IPv4 B-til-C: IPv6 inni IPv4

68 Versjon 2.2 / Nettlaget4-68 Kapittel 4 – hvor er vi? r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 è 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

69 Versjon 2.2 / Nettlaget verdi i pakke- header rutingalgoritme lokal videresendingstabell header verdi utgang Relasjon mellom ruting og videresending

70 Versjon 2.2 / Nettlaget4-70 u y x wv z Graf: G = (N,E) N = mengde av rutere = { u, v, w, x, y, z } E = mengde av linker = { (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } Graf-abstraksjon Merk: Graf-abstraksjon er nyttig i andre nettverkskontekster Eksempel: P2P, hvor N er mengden av peers og E er mengden av TCP-forbindelser Grafabstraksjon for rutingalgoritmer: r grafnoder er rutere r grafkanter er fysiske linker

71 Versjon 2.2 / Nettlaget4-71 Graf-abstraksjon: kost u y x wv z c(x,x’) = kost for link (x, x’) - f eks c(w,z) = 5 kost kan f eks settes til 1, eller være omvendt proporsjonal med båndbredden eller metningen Kost for stien (x 1, x 2, x 3,…, x p ) = c(x 1,x 2 ) + c(x 2,x 3 ) + … + c(x p-1,x p ) Hvilken sti mellom u og z har den minste kostnaden? Rutingalgoritme: algoritme som finner minstekostnadsvei

72 Versjon 2.2 / Nettlaget4-72 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

73 Versjon 2.2 / Nettlaget4-73 Kapittel 4 – hvor er vi? r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms è Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

74 Versjon 2.2 / Nettlaget4-74 En link-state 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

75 Versjon 2.2 / Nettlaget4-75 Dijkstras algoritme (link state) 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

76 Versjon 2.2 / Nettlaget4-76 Dijkstras algoritme: eksempel Trinn N u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u D(w),p(w) 5,u 4,x 3,y D(x),p(x) 1,u D(y),p(y) ∞ 2,x D(z),p(z) ∞ 4,y u y x wv z

77 Versjon 2.2 / Nettlaget4-77 Dijkstras algoritme – diskusjon Algoritmens kompleksitet: O(n 2 ) Oscillasjoner kan oppstå: r f eks dersom link-kost = mengde overført trafikk A D C B 1 1+e e 0 e A D C B 2+e e 1 A D C B 0 2+e 1+e A D C B 2+e 0 e 0 1+e 1 initielt … beregn påny

78 Versjon 2.2 / Nettlaget4-78

79 Versjon 2.2 / Nettlaget4-79 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Link state è Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

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

81 Versjon 2.2 / Nettlaget4-81 Bellman-Ford eksempel (1) 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:

82 Versjon 2.2 / Nettlaget4-82 Distansevektoralgoritme (2) r D x (y) = estimat for minstekost fra x til y r Distansevektor: D x = [D x (y): y є N ] r Node x kjenner kost til hver nabo v: c(x,v) r Node x holder oppdatert sin egen distansevektor: D x = [D x (y): y є N ] r Node x har kjennskap også til sine naboers distansevektorer m For hver nabo v, vil x kjenne til D v = [D v (y): y є N ]

83 Versjon 2.2 / Nettlaget4-83 Distansevektoralgoritme (3) 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 B-F 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)

84 Versjon 2.2 / Nettlaget4-84 Distansevektoralgoritme (4) 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:

85 Versjon 2.2 / Nettlaget4-85 x y z x y z ∞∞∞ ∞∞∞ fra kost til fra x y z x y z fra kost til x y z x y z fra kost til x y z x y z ∞∞ ∞∞∞ kost til x y z x y z fra kost til x y z x y z fra kost til x y z x y z fra kost til x y z x y z fra kost til x y z x y z ∞∞∞ 710 kost til ∞ ∞ ∞ ∞ tid x z y tabell i node x tabell i node y tabell i node z D x (y) = min{c(x,y) + D y (y), c(x,z) + D z (y)} = min{2+0, 7+1} = 2 D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} = min{2+1, 7+0} = 3

86 Versjon 2.2 / Nettlaget4-86 Distance vector: linkkostendringer Linkkostendringer: r node oppdager lokal linkkost-endring r oppdaterer distansetabell r hvis kostendring er i minstekostvei: varsle naboer X Z Y 1 algoritmen terminerer

87 Versjon 2.2 / Nettlaget4-87 Distance vector: linkkost-endringer Linkkost-endringer: r gode nyheter reiser fort r dårlige nyheter reiser langsomt - “count to infinity” problem! X Z Y 60 algoritmen fortsetter

88 Versjon 2.2 / Nettlaget4-88 Distance vector: “forgiftet revers” Hvis Z ruter via Y for å nå X : r Z sier til Y at dens avstand til X er uendelig (slik at Y ikke skal rute til X via Z) X Z Y 60 algoritmen terminerer

89 Versjon 2.2 / Nettlaget4-89 Sammenligning av LS og DV algoritmene Meldingskompleksitet r LS: med n noder og E linker, O(nE) meldinger sent r DV: meldinger kun mellom naboer Konvergens r LS: O(n 2 ) algoritme krever O(nE) meldinger m may have oscillations r DV: konvergenstid varierer m kan få løkker m “count-to-infinity” problem Robusthet: hva skjer når en ruter går ned? LS: m node kan annonsere feil linkkost m hver node beregner kun sin egen tabell DV: m DV node kan annonsere feil veikost m hver nodes tabell brukes av andre feil vandrer gjennom nettet

90 Versjon 2.2 / Nettlaget4-90 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Link state m Distance Vector è Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

91 Versjon 2.2 / Nettlaget4-91 Hierarkisk ruting skalering: det finnes 200 millioner noder: r kan ikke lagre alle destinasjoner i en rutingtabell! r utveksling av rutingtabeller ville overbelastet de fleste linker! administrativ autonomi r internett = nettverk av nettverk r hver nettverksadmin kan styre rutingen som han vil internt i sitt nettverk Hittil har rutingen vært idealisert: r alle ruter identiske r “flatt” nettverk … ikke slik i praksis

92 Versjon 2.2 / Nettlaget4-92 Hierarkisk ruting r rutere grupperes i “autonome systemer” (AS) r rutere innen samme AS kjører samme rutingprotokoll m “intra-AS” ruting- protokoll m rutere i ulike AS kan kjøre hver sine intra- AS rutingprotokoller Gateway-ruter r Ruter som har direkte link til ruter i annet AS

93 Versjon 2.2 / Nettlaget4-93 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b Intra-AS ruting- algoritme Inter-AS ruting- algoritme Videresendings tabell 3c Sammeknyttede AS r Videresendingstabell er konfigurert både av intra- og inter-AS rutingalgoritmer m Intra-AS vedlikeholder elementer for interne destinasjoner m Inter-AS & Intra-AS vedlikeholder entries for eksterne destinasjoner

94 Versjon 2.2 / Nettlaget4-94 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c Inter-AS oppgaver r Anta ruter i AS1 mottar datagram som skal til en node som ikke er i AS1 m Ruter bør videresende pakken til en av gateway-ruterne, men til hvilken av dem? AS1 trenger: 1. å finne ut hvilke destinasjoner som kan nås gjennom AS2 og hvilke som kan nås gjennom AS3 2. å formidle denne kunnskap til alle rutere i AS1  jobben til inter-AS ruting!

95 Versjon 2.2 / Nettlaget4-95 Eksempel: Videresendingstabell i ruter 1d r Anta at AS1 får vite av inter-AS- protokollen at subnet x kan nås via AS3 (dvs via gateway 1c) men ikke via AS2. r Inter-AS protokollen formidler nåbarhets- info til alle interne rutere i AS1 r Ruter 1d finner vhja sin intra-AS ruting- protokoll at dens interface I er på minstekostveien til 1c r Legger inn følgende innslag i videre- sendingstabellen: (x,I)

96 Versjon 2.2 / Nettlaget4-96 Får vite fra inter-AS protokoll at subnet x kan nås via flere gatewayer Benytt ruting info fra intra-AS protokoll til å bestemme kost for minstekostveier til hver av gatewayene Hot potato routing: Velg gatewayen som har laveste minstekostvei Finn av videre- sendingstabellen hvilket interface I som fører til denne gateway. Legg inn (x,I) i videre- sendingstabellen Eksempel: Å velge blant flere AS r Anta at AS1 får info fra inter-AS protokollen at subnet x kan nås via AS3 og via AS2 r Ruter 1d må bestemme seg for hvilken gateway han skal bruke i sin videresendingstabell for destinasjon x r Dette er også en jobb for inter-AS rutingprotokollen r Hot-potato routing: send pakken mot den gateway- ruteren som er nærmest av de to

97 Versjon 2.2 / Nettlaget4-97 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing è 4.6 Routing in the Internet m RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

98 Versjon 2.2 / Nettlaget4-98 Intra-AS ruting r Betegnes også Interior Gateway Protocols (IGP) r De vanligste intra-AS ruting protokollene: m RIP: Routing Information Protocol m OSPF: Open Shortest Path First m IGRP: Interior Gateway Routing Protocol (Cisco proprietær)

99 Versjon 2.2 / Nettlaget4-99 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet è RIP m OSPF m BGP r 4.7 Broadcast and multicast routing

100 Versjon 2.2 / Nettlaget4-100 RIP ( Routing Information Protocol) r Distansevektoralgoritme (Bellman-Ford) r Inkludert i BSD-UNIX i 1982 r Distansemål (“metrikk”): antall hopp (maks = 15 hopp) D C BA u v w x y z destinasjon hopp u 1 v 2 w 2 x 3 y 3 z 2

101 Versjon 2.2 / Nettlaget4-101 RIP annonsering r Distansevektorer: utveksles mellom naboer hvert 30. sekund via RIP responsmeldinger (ofte kalt annonsering eller advertisement) r Hver annonsering: liste med opp til 25 destinasjonsnett innen ASet

102 Versjon 2.2 / Nettlaget4-102 RIP: eksempel Destinasjonsnett Neste ruter Antall hopp til dest. wA2 yB2 zB7 x--1 ….…..... w xy z A C D B Rutingtabell i D

103 Versjon 2.2 / Nettlaget4-103 RIP: eksempel Destinasjonsnett Neste ruter Antall hopp til dest. wA2 yB2 zB A7 5 x--1 ….…..... Rutingtabell i D w xy z A C D B Dest Neste hopp w - - x - - z C 4 …. …... Annonsering fra A til D

104 Versjon 2.2 / Nettlaget4-104 RIP: Linkfeil og recovery Hvis det ikke høres noen annonsering på 3 minutter  nabo/link erklæres død m ruter som går via nabo fjernes m nye annonseringer sendes til naboer m naboer sender i sin tur ut nye annonseringer til sine naboer (hvis rutingtabellen har endret seg) m info om linkfeil sprer seg hurtig til alle rutere m forgiftet revers benyttes for å hindre ping-pong løkker (uendelig avstand = 16 hopp)

105 Versjon 2.2 / Nettlaget4-105 RIP tabellprosessering  RIP rutingtabeller håndteres av en applikasjons- prosess som heter routed (daemon) r annonseringer sendes i UDP segmenter, gjentas periodisk fysisk link nettlag videre- (IP) sendingstab Transprt (UDP) routed fysisk link nettlag (IP) Transprt (UDP) routed videre- sendingstab

106 Versjon 2.2 / Nettlaget4-106 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP è OSPF m BGP r 4.7 Broadcast and multicast routing

107 Versjon 2.2 / Nettlaget4-107 OSPF (Open Shortest Path First) r “open”: åpen (dvs. offentlig) spesifikasjon r benytter en “link state”-algoritme (Dijkstra) m LS packet dissemination m topologikart i hver ruter m benytter Dijkstras algoritme for ruteberegning r OSPF-annonseringer har ett element pr naboruter r annonseringer sprer seg til hele AS v hj a flooding m fraktes i OSPF-meldinger direkte over IP (benytter ikke TCP eller UDP)

108 Versjon 2.2 / Nettlaget4-108 OSPF avanserte mekanismer (ikke i RIP) r Sikkerhet: alle OSPF-meldinger autentiseres (for å forhindre fiendtlig inntrengning) r Multipath: tillater flere stier med samme kost (kun én sti i RIP) r For hver link kan vi ha ulike kostmetrikker for ulike tjenestetyper – TOS (f.eks. kost for satellittlink settes lav for “best effort” men høy for sanntidstjenester) r Integrert uni- og multicast støtte: m Multicast OSPF (MOSPF) benytter samme topologidatabase som OSPF r Hierarkisk OSPF i store domener

109 Versjon 2.2 / Nettlaget4-109 Hierarkisk OSPF

110 Versjon 2.2 / Nettlaget4-110 Hierarkisk OSPF r To-nivå hierarki: lokalt område og stamnett m Link-state annonseringer kun lokalt område m hver node har detaljert kunnskap om topologien i eget område, men kjenner kun retningen (korteste vei) til noder i andre områder r Area border routers: rutere på grensen mellom et område og “backbone”-området, annonserer intern kost til andre Area Border routers r Backbone routers: kjører OSPF ruting begrenset til stamnett r Boundary routers: knytter forbindelse til andre autonome systemer

111 Versjon 2.2 / Nettlaget4-111 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF è BGP r 4.7 Broadcast and multicast routing

112 Versjon 2.2 / Nettlaget4-112 Internett inter-AS ruting: BGP r BGP (Border Gateway Protocol): de facto standard r BGP gir hvert AS en måte å: 1. få tak i informasjon fra AS-naboer om hvilke subnett som kan nås hvor 2. spre informasjon om dette til alle rutere internt i det autonome systemet 3. finne gode ruter til subnett basert på denne nåbarhetsinformasjonen og definert policy r Tillater et subnett å annonsere sin eksistens til resten av Internett: “Her er jeg!”

113 Versjon 2.2 / Nettlaget4-113 Internetts inter-AS ruting: BGP r BGP4: RFC 1771 r Path Vector protokoll: m ligner på distance vector protokoller m hver Border Gateway kringkaster til sine naboer (peers) hele stien (dvs. sekvensen av ASer) til destinasjonen m BGP ruter til nettverk (AS), ikke til individuelle maskiner, identifisert ved sitt ASN m F.eks: gateway X kan sende sin vei til dest. Z: Path (X, Z) = X, Y1, Y2, Y3, …, Z

114 Versjon 2.2 / Nettlaget4-114 BGP – grunnleggende r par av rutere (“BGP peers”) utveksler rutinginfo over semi- permanente TCP-forbindelser: BGP-sesjoner r Merk at BGP-sesjoner ikke korresponderer med fysiske linker r Når AS2 annonserer en prefiks til AS1, lover AS2 at den vil videresende datagrammer som ankommer som skal mot denne prefiks m AS2 kan aggregere prefikser i sin annonse 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c eBGP sesjon iBGP sesjon

115 Versjon 2.2 / Nettlaget4-115 Distribusjon av “nåbarhetsinfo” r Med en eBGP-sesjon mellom 3a og 1c, vil AS3 sende info om prefiks-nåbarhet til AS1 r 1c kan så benytte iBGP for å distribuere denne nye prefiks- info til alle rutere i AS1 r 1b kan så re-annonsere den nye nåbarehetsinfo til AS2 over 1b-til-2a eBGP-sesjonen r Når ruter får kjennskap til en ny prefiks, vil den lage et innslag for prefikset i sin videresendingstabell 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c eBGP sesjon iBGP sesjon

116 Versjon 2.2 / Nettlaget4-116 Stiattributter & BGP-ruter r Når det annonseres et prefiks, inkluderes det BGP-attributter m prefiks + attributter = “rute” r To viktige attributter: m AS-PATH: inneholder ASene som annonsen for prefikset har passert: AS 67 AS 17 m NEXT-HOP: Indikerer den spesifikke interne AS-ruter til neste-hopp AS (det kan være flere linker fra et AS til neste-hopp AS r Når gateway-ruter mottar annonse for en rute, benytter den en import policy for å akseptere/avvise den annonserte ruten

117 Versjon 2.2 / Nettlaget4-117 BGP rutevalg r Ruter kan få kjennskap ti mer enn en rute til et prefiks. Ruter må da velge rute. r Eliminasjonsregler: 1. Lokal preferanseverdiattributt: valg basert på policy 2. Korteste AS-PATH 3. Nærmeste NEXT-HOP ruter: “hot potato”- ruting 4. Andre kriterier

118 Versjon 2.2 / Nettlaget4-118 BGP-meldinger r BGP-meldinger utveksles ved hjelp av TCP r BGP-meldinger: m OPEN: åpner en TCP-forbindelse til peer og autentiserer sender m UPDATE: annonserer ny vei (eller trekker tilbake en tidligere annonsert vei) m KEEPALIVE holder forbindelsen i live under fravær av oppdateringer; brukes også som ACK på OPEN-melding m NOTIFICATION: rapporterer feil i foregående melding; brukes også for å lukke forbindelsen

119 Versjon 2.2 / Nettlaget4-119 BGP rutingpolicy r A,B,C er tilbydernett (ISP-nett) r X,W,Y er kunder (av ISPene) r X er dual-homed: knyttet til to nett m X ønsker ikke å frakte trafikk som kommer fra B og skal til C m X unngår dette ved ikke å annonsere overfor B at den har en rute til C

120 Versjon 2.2 / Nettlaget4-120 BGP rutingpolicy (2) r A annonserer stien AW overfor B r B annonserer stien BAW overfor X r Bør B annonsere stien BAW overfor C? m Nei! B tjener ingenting på å rute CBAW siden hverken W eller C er Bs kunder m B ønsker å tvinge C til å rute til W via A m B vil kun rute trafikk til og fra sine egne kunder!

121 Versjon 2.2 / Nettlaget4-121 Hvorfor ulik intra- og inter-AS ruting? Policy: r Inter-AS: admin ønsker kontroll over hvordan dens trafikk rutes, og hvem som ruter gjennom dens nett r Intra-AS: enhetlig admin – ingen policy-beslutninger nødvendig Skalering: r hierarkisk ruting sparer tabellstørrelse og reduserer oppdateringstrafikken (skalering er mindre viktig internt i AS) Ytelse: r Intra-AS: kan fokusere på ytelse r Inter-AS: policy kan være viktigere enn ytelse

122 Versjon 2.2 / Nettlaget4-122 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Link state m Distance Vector m Hierarchical routing r 4.6 Routing in the Internet m RIP m OSPF m BGP è 4.7 Broadcast and multicast routing

123 Versjon 2.2 / Nettlaget4-123 Nettlag: oppsummering Neste stopp: linklaget Hva vi har vært innom: r nettlagstjenester r rutingprinsipper: “link state” og “distance vector” r hierarkisk ruting r IP r Internetts rutingprotokoller: RIP, OSPF, BGP r hva finnes inne i en ruter? r IPv6


Laste ned ppt "Versjon 2.2 / 21.10.04 Nettlaget4-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose,"

Liknende presentasjoner


Annonser fra Google