Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Versjon 2.3 / 28.10.04 Kap 5: Linklaget5-1 Kapittel 5 Link Layer and LANs Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition.

Liknende presentasjoner


Presentasjon om: "Versjon 2.3 / 28.10.04 Kap 5: Linklaget5-1 Kapittel 5 Link Layer and LANs Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition."— Utskrift av presentasjonen:

1 Versjon 2.3 / Kap 5: Linklaget5-1 Kapittel 5 Link Layer and LANs 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.3 / Kap 5: Linklaget5-2 Kapittel 5: Linklaget Våre mål: r forstå prinsippene bak linklagstjenester: m feildeteksjon og feilretting m deling av en kringkastingskanal: multippel aksess m linklagsadressering m pålitelig dataoverføring: gjort! m flytkontroll: gjort! r ulike linklagsteknologier

3 Versjon 2.3 / Kap 5: Linklaget5-3 Kapittel 5 - oversikt r 5.1 Introduction and services r 5.2 Error detection and correction r 5.3Multiple access protocols r 5.4 Link-Layer Addressing r 5.5 Ethernet r 5.6 Hubs and switches r 5.7 PPP r 5.8 Link Virtualization: ATM and MPLS

4 Versjon 2.3 / Kap 5: Linklaget5-4 Linklaget: Introduksjon Litt terminologi: r maskiner, rutere og svitsjer er noder r kommunikasjonskanaler som forbinder nabonoder langs kommunikasjonsveien er linker m trådbundne (kablede) linker m trådløse linker m LAN r En 2-PDU kalles en ramme (frame), innkapsler datagrammer “link” linklaget har ansvar for å overføre datagrammer fra en node til en nabonode over en link

5 Versjon 2.3 / Kap 5: Linklaget5-5 Linklaget: kontekst r Datagram overføres av ulike linkprotokoller over ulike linker: m f eks Ethernet på første link, frame relay på midtre link, på siste link r Hver linklagsprotokoll tilbyr ulike tjenester m f eks: én protokoll kan være pålitelig, en annen upålitelig transportanalogi r tur fra Halden til Trondheim m tog: Halden til Gardermoen m fly: Gardermoen til Værnes m buss: Værnes til Trondheim r reisende = datagram r transportetappe = kommunikasjonslink r transporttype = linklagsprotokoll r reisebyrå = rutingalgoritme

6 Versjon 2.3 / Kap 5: Linklaget5-6 Linklagstjenester r Omramming (framing) og linkaksess: m innkapsling av datagram i rammer, legger til header og trailer m kanaltilgang hvis delt medium (MAC = medium access control) m MAC-adresser benyttes i rammeheader for å identifisere avsender og mottager forskjellig fra IP-adresser! r Pålitelig leveranse mellom nabonoder m vi har alt sett på hvordan dette kan gjøres (kapittel 3)! m lite nødvendig på link med lav bitfeilrate (fiber og noen typer kobberkabel) m trådløse linker: høy bitfeilrate

7 Versjon 2.3 / Kap 5: Linklaget5-7 Linklagstjenester (forts) r Flytkontroll: m sender må ikke sende fortere enn mottager kan ta imot r Feildeteksjon: m feil forårsakes av dempning og elektrisk støy m mottager oppdager bitfeil: gir beskjed til sender om å retransmittere eller den bare kaster rammen r Feilretting: m mottager identifiserer og retter bitfeil uten at sender må retransmittere r Halv-dupleks og full-dupleks m med halv-dupleks kan noder i begge ender av linken sende, men ikke begge samtidig

8 Versjon 2.3 / Kap 5: Linklaget5-8 Nettverkskort kommuniserer r linklaget implementert i nettverkskort (NIC) m Ethernet-kort, kort e.l. r sendeside: m innkapsling av datagram i en ramme m adderer bit for deteksjon av bitfeil, sekvensnummer, flytkontroll etc. r mottagerside m ser etter bitfeil, re- transmisjon, flytkontroll etc. m ekstraherer datagram, leverer dette til mottagernode r nettkort er delvis autonomt r linklag & fysisk lag sender- node ramme mottager- node datagram ramme nettverkskort (adapter) linklagsprotokoll nettverkskort (adapter)

9 Versjon 2.3 / Kap 5: Linklaget5-9 Kapittel 5 – hvor er vi? r 5.1 Introduction and services è 5.2 Error detection and correction r 5.3Multiple access protocols r 5.4 Link-Layer Addressing r 5.5 Ethernet r 5.6 Hubs and switches r 5.7 PPP r 5.8 Link Virtualization: ATM and MPLS

10 Versjon 2.3 / Kap 5: Linklaget5-10 Feildeteksjon EDC = Error Detection and Correction bits (redundante bit) D = Data beskyttet av feilsjekk, kan omfatte header-felter Feildeteksjon ikke 100% pålitelig! protokollen kan overse feil (selv om det er sjelden) flere feildeteksjonsbit gir bedre deteksjon og mulighet for feilretting

11 Versjon 2.3 / Kap 5: Linklaget5-11 Paritetssjekk Ett-bits paritet: Kan oppdage dersom ett bit er feil Todimensjonale paritetsbit: Kan oppdage og rette dersom ett bit er feil 0 0 Like paritet: Det totale antall enere (inkl paritetsbit) skal være et partall Odde paritet: Det totale antall enere (inkl paritetsbit) skal være et oddetall

12 Versjon 2.3 / Kap 5: Linklaget5-12 Internett-sjekksum Sender: r behandler innholdet i segmentene som sekvens av 16-bits tall r sjekksum: addisjon (eners komplement) av innholdet i segmentet r sender legger sjekksum inn i UDP/TCP sjekksum- felt Mottager: r beregner sjekksum av mottatt segment r ser om beregnet sjekksum er korrekt: m NEI  feil oppdaget m JA  ingen feil oppdaget. Men det kan allikevel finnes feil… Mål: oppdage bitfeil i mottatt segment (merk: benyttes kun på transportlaget)

13 Versjon 2.3 / Kap 5: Linklaget5-13 Cyclic redundancy check (CRC) r ser databit, D, som et binært tall r velger et bitmønster, r + 1 bit langt  generator, G r mål: velge r CRC-bit, R, slik at m D&R er delelig med G (modulo 2) (& = konkateneringsoperator) m mottager kjenner G og dividerer D&R med G. Dersom divisjonen gir en rest, er det bitfeil m oppdager alle skurfeil mindre enn r+1 bit r mye benyttet i praksis (ATM, HDCL)

14 Versjon 2.3 / Kap 5: Linklaget5-14 CRC eksempel Ønsker: D. 2 r XOR R = nG ekvivalent: D. 2 r = nG XOR R ekvivalent: hvis vi deler D. 2 r med G er det resten, R, vi søker R = rest[ ] D. 2 r G

15 Versjon 2.3 / Kap 5: Linklaget5-15 Kapittel 5 – hvor er vi? r 5.1 Introduction and services r 5.2 Error detection and correction è 5.3 Multiple access protocols r 5.4 Link-Layer Addressing r 5.5 Ethernet r 5.6 Hubs and switches r 5.7 PPP r 5.8 Link Virtualization: ATM and MPLS

16 Versjon 2.3 / Kap 5: Linklaget5-16 Linker og protokoller for multippel aksess To typer “linker”: r punkt-til-punkt m PPP for oppringt aksess m punkt-til-punkt-link mellom to rutere r kringkasting (delt medium) m tradisjonelt ethernet m trådløst lokalnett

17 Versjon 2.3 / Kap 5: Linklaget5-17 MAC-protokoller r MAC = Medium Access Control  styre hvordan man fordeler tilgangen til et delt medium blandt de som ønsker å bruke det, dvs. hvem skal få sende når r MAC-protokoll = medium aksess protokoll, tilgangsprotokoll

18 Versjon 2.3 / Kap 5: Linklaget5-18 Multippel aksess-protokoller r én delt kanal som alle kan lytte på (kringkasting) r to eller flere samtidige transmisjoner fra noder resulterer i interferens m bare én må sende om gangen multippel-aksessprotokoll r distribuert algoritme som bestemmer hvordan noder deler en kanal, dvs at den bestemmer når en node kan sende r kommunikasjon om kanaldeling må selv bruke kanalen r mulige egenskaper ved multippel-aksessprotokoller:

19 Versjon 2.3 / Kap 5: Linklaget5-19 Ideell multippel-aksessprotokoll Kringkastingskanal med datarate R 1. Når en node ønsker å sende, kan den sende med rate R. 2. Når M noder ønsker å sende, kan hver av dem sende med en gjennomsnittlig rate R/M 3. Helt desentralisert: m ingen spesialnode for å koordinere sendingene m ingen synkronisering av klokker eller tidsluker 4. Enkel

20 Versjon 2.3 / Kap 5: Linklaget5-20 MAC-protokoller: taksonomi Tre klasser: r Kanalpartisjonering m deler kanalen i mindre biter (tidsluker, frekvenser, koder) m tildeler del av kanalen til node som bare den kan benytte r Random access m kanal deles ikke, kollisjoner kan forekomme m har metoder for å håndtere kollisjoner r “Etter tur” m unngår kollisjoner ved at kun en om gangen får sende

21 Versjon 2.3 / Kap 5: Linklaget5-21 Kanalpartisjonerende MAC-protokoller: TDMA TDMA: time division multiple access r tilgang til kanalen går på omgang r hver stasjon får en tidsluke i hver runde r ubrukte tidsluker sendes tomme r eksempel: 6-maskiners lokalnett. 1,3,4 har pakker, tidsluke 2, 5 og 6 er tomme

22 Versjon 2.3 / Kap 5: Linklaget5-22 Kanalpartisjonerende MAC-protkoller: FDMA FDMA: frequency division multiple access r kanalens frekvensområde deles i mindre frekvensbånd r hver stasjon tilordnes et frekvensbånd r ubenyttet kapasitet utnyttes ikke r eksempel: 6-maskiners lokalnett. 1, 3 og 4 har pakker, frekvensbånd 2, 5 og 6 benyttes ikke frekvensbånd tid

23 Versjon 2.3 / Kap 5: Linklaget5-23 Random access protokoller r Når en node har pakker å sende m transmitterer på full kanalrate, R m ingen a priori koordinering mellom nodene r to eller flere sender samtidig  “kollisjon”, r random access MAC protokoll spesifiserer: m hvordan detekteres kollisjoner m hvordan håndtere kollisjoner (f eks ved hjelp av forsinkede retransmisjoner) r Eksempler på random access MAC protokoller: m slotted ALOHA m ALOHA m CSMA, CSMA/CD, CSMA/CA

24 Versjon 2.3 / Kap 5: Linklaget5-24 Slotted ALOHA Antagelser r alle rammer har samme størrelse r tiden deles i like store tidsluker – tiden det tar å sende én ramme r noder starter sending kun på begynnelsen av tidsluker r noder er synkroniserte r hvis rammer kolliderer, overlapper de fullstendig Operasjon r når en node får en ramme den skal sende, sendes den i neste tidsluke r ingen kollisjon: node kan sende ny ramme i neste tidsluke r hvis kollisjon: node retransmitterer ramme i neste tidsluke med sannsynlighet p inntil sendingen er vellykket

25 Versjon 2.3 / Kap 5: Linklaget5-25 Slotted ALOHA Fordeler r ensom aktiv node kan sende kontinuerlig på full rate r desentralisert: kun tidsluker i nodene må være i synk r enkel Ulemper r man har kollisjoner, noe som kaster bort tidsluker r tomme tidsluker r noder kan oppdage kollisjoner på kortere tid enn det tar å sende ut en pakke

26 Versjon 2.3 / Kap 5: Linklaget5-26 Slotted Aloha: effektivitet r Anta N noder med mange rammer å sende, hver sender i en tidsluke med sannsynlighet p r sannsynlighet at første node har suksess i en luke: p(1-p) N-1 r sannsynlighet for at en vilkårlig node har suksess: Np(1-p) N-1 r For maks effektivitet med N noder, finn den p* som maksimerer Np(1-p) N-1 r For mange noder, finn grensen av Np*(1-p*) N- 1 når N går mot uendelig. r Gir: 1/e = 0.37 Effektivitet er andel vellykkede tidsluker når det er mange noder, hver med mange rammer å sende I beste fall: kanalen overfører nyttedata 37% av tiden!

27 Versjon 2.3 / Kap 5: Linklaget5-27 ALOHA r Ren Aloha: enklere, ingen synkronisering r når en framme skal sendes m send umiddelbart r sannsynligheten for kollisjoner øker: m ramme sendt ved t 0 kolliderer med andre rammer sendt i [t 0 - 1,t 0 +1]

28 Versjon 2.3 / Kap 5: Linklaget5-28 Effektivitet for Aloha P(suksess for gitt node) = P(node sender). P(ingen andre noder sender i [t 0 -1,t 0 ]). P(ingen andre noder sender i [t 0,t 0 +1]) = p. (1-p) N-1. (1-p) N-1 = p. (1-p) 2(N-1) … velger optimal p og lar n gå mot uendelig... = 1/(2e) = 0.18, dvs 18% Verre og verre!

29 Versjon 2.3 / Kap 5: Linklaget5-29 CSMA (Carrier Sense Multiple Access) CSMA: lytter før sending: r Hvis kanalen er ledig: send rammen r Hvis kanalen er opptatt: utsett transmisjonen r Menneskelig analogi: før man begynner å snakke, hører man etter om andre snakker – ikke avbryt!

30 Versjon 2.3 / Kap 5: Linklaget5-30 CSMA kollisjoner kollisjoner kan fortsatt forekomme: gangtiden kan gjøre at en node ikke hører at en annen har startet sending kollisjon: hele sendetiden bortkastet romlig fordeling av noder merk: avstander og gangtid har betydning for sannsynligheten for kollisjoner

31 Versjon 2.3 / Kap 5: Linklaget5-31 CSMA/CD (Collision Detection) CSMA/CD: lytter på mediet før sending, venter hvis mediet er opptatt (som i CSMA) m fortsetter å lytte mens man sender: kollisjoner detektert i løpet av kort tid m ved kollisjon avbrytes sendingen umiddelbart  reduserer sløsing med tid r collision detection: m enkelt i kablede lokalnett: måler signalstyrken, sammenligner sendt og mottatt signal m vanskelig i trådløse lokalnett: mottager er av mens man sender r menneskelig analogi: den høflige samtalepartner

32 Versjon 2.3 / Kap 5: Linklaget5-32 CSMA/CD kollisjonsdeteksjon

33 Versjon 2.3 / Kap 5: Linklaget5-33 “Etter tur” MAC-protokoller kanalpartisjonerende MAC protokoller: m deler kanalen effektivt og rettferdig ved stor belastning m lite effektivt ved liten belastning: forsinkelse i kanaltilgang, og man får kun sin lille del av dataraten (1/N) selv om ingen andre er aktive! Random access MAC protokoller m god effektivitet ved liten belastning: én node kan bruke hele dataraten m stor belastning: effektiviteten reduseres pga kollisjoner “Etter tur” protokoller ta det beste fra begge!

34 Versjon 2.3 / Kap 5: Linklaget5-34 “Etter tur” MAC-protokoller Polling: r master-node “inviterer” slavenoder til å sende – en om gangen r ulemper: m overhead pga pollingen m latens (forsinkelse) – må vente på tur m single point of failure (master) Token passing: r en spesiell ramme – token (stafettpinne), sendes fra node til node r token message r ulemper: m token overhead m latens (forsinkelse) m single point of failure (token)

35 Versjon 2.3 / Kap 5: Linklaget5-35 MAC-protokoller - oppsummering r Hvordan kan man dele tilgangen til et medium? m Kanalpartisjonering v.hj.a. tid, frekvens eller kode TDMA, FDMA, CDMA m Random partisjonering (dynamisk), ALOHA, S-ALOHA, CSMA, CSMA/CD carrier sense: enkelt for kablede nett, vanskelig for trådløse CSMA/CD benyttes i ethernet m “Etter tur” polling fra en sentral node eller token passing

36 Versjon 2.3 / Kap 5: Linklaget5-36 LAN-teknologier Linklaget til nå: m tjenester, feildeteksjon/-korreksjon, multippel aksess Neste: LAN-teknologier m adressering m Ethernet m hub, svitsj m PPP

37 Versjon 2.3 / Kap 5: Linklaget5-37 Kapittel 5 – hvor er vi? r 5.1 Introduction and services r 5.2 Error detection and correction r 5.3 Multiple access protocols è 5.4 Link-Layer Addressing  5.5 Ethernet r 5.6 Hubs and switches r 5.7 PPP r 5.8 Link Virtualization: ATM and MPLS

38 Versjon 2.3 / Kap 5: Linklaget5-38 LAN-adresser (= MAC-adresser) 32-bit IP-adresse: r nettlags-adresse r benyttes for å få datagrammet fra ditt IP-nett fram til mottagerens IP-nett MAC- (eller “LAN-” eller “fysisk-” eller “ethernet-”) adresse: r benyttes for å få levert en ramme fra et interface til et annet interface på samme nettet r 48 bit MAC-adresse (for de fleste lokalnett) brent i nettverkskortets ROM

39 Versjon 2.3 / Kap 5: Linklaget5-39 MAC-adresser og ARP Hvert nettverkskort har en unik MAC-adresse Kringkastingsadresse = FF-FF-FF-FF-FF-FF = nettverkskort 1A-2F-BB AD D7-FA-20-B0 0C-C4-11-6F-E F7-2B LAN (kablet el trådløst)

40 Versjon 2.3 / Kap 5: Linklaget5-40 MAC-adresser r Tildeling av MAC-adresser administreres av IEEE r produsent kjøper del av MAC-adresserommet r Analogi: (a) MAC-adresse: personnummer (b) IP-adresse: postadresse r MAC har “flat” adressestruktur  portabilitet m kan flytte et nettverkskort fra et lokalnett til et annet r IP-adresser er hierarkiske og derfor ikke portable m deler av IP-adressen angir hvilket nett maskinen henger på

41 Versjon 2.3 / Kap 5: Linklaget5-41 Plukker fram igjen tidligere ruting-diskusjon A B E Starter i A, gitt et IP- datagram adressert til B: r slår opp nett-adressen til B og finner at B er på samme nett som A r linklaget sender datagrammet til B inni en linklagsramme Bs MAC- adr. As MAC- adr. As IP- adr. Bs IP- adr. IP nyttelast datagram ramme rammens avs. og mott. adresse datagrammets avs. og mott. adresse

42 Versjon 2.3 / Kap 5: Linklaget5-42 ARP: Address Resolution Protocol r Hver IP-node (maskin og ruter) på et LAN har en ARP-tabell r ARP-tabell: IP/MAC adressemappinger for noen LAN-noder m TTL (Time To Live): tiden mappingen skal ligge i ARP- tabellen (typisk 20 min) Hvordan finne MAC- adressen til en node man kjenner IP-adressen til? 1A-2F-BB AD D7-FA-20-B0 0C-C4-11-6F-E F7-2B LAN

43 Versjon 2.3 / Kap 5: Linklaget5-43 ARP-protokollen r A ønsker å sende et datagram til B og kjenner Bs IP-adresse r Anta at Bs MAC-adresse ikke er i As ARP-tabell r A kringkaster en ARP forespørsel som inneholder Bs IP-adresse m alle maskiner på LAN mottar ARP- forespørselen r B mottar også ARP-pakken og svarer A med sin MAC- adresse m ramme sendes direkte til As MAC-adresse r A cacher (lagrer) IP-til- MAC adresseparet i sin ARP-tabell inntil informasjonen blir foreldet m “soft state”: informasjon som forsvinner dersom den ikke oppfriskes r ARP er “plug-and-play”: m en node lager sin ARP- tabell uten hjelp fra noen

44 Versjon 2.3 / Kap 5: Linklaget5-44 Ruting til et annet LAN Eksempel: send datagram fra A til B via R anta at A kjenner Bs IP-adresse r To ARP-tabeller i ruter R: en for hvert IP-nett r I rutingtabellen på sender, finner vi ruter A R B

45 Versjon 2.3 / Kap 5: Linklaget5-45 r A lager et datagram med avsender A og mottager B r A bruker ARP for å finne MAC-adressen for (R) r A lager linklagsramme med with Rs MAC-adresse som mottager, rammen inneholder datagrammet som skal fra A til B r As linklag sender rammen r Rs linklag mottar rammen r R pakker opp datagrammet fra rammen og ser at det skal til B r R benytter ARP for å finne Bs MAC-adresse r R lager ramme som inneholder datagrammet som skal fra A til B og sender rammen til B A R B

46 Versjon 2.3 / Kap 5: Linklaget5-46 DHCP: Dynamic Host Configuration Protocol Mål: tillate at maskiner tildeles IP-adresser dynamisk fra en nettverksserver når maskinen startes Kan fornye “utlånet” av adressen som er i bruk Tillater gjenbruk av adresser (en maskin har bare en adresse så lenge den er på nettet Støtte for mobile brukere som ønsker å knytte seg til nettet DHCP oversikt: m maskin kringkaster “DHCP discover” melding m DHCP server svarer med “DHCP offer” melding m maskin ber om IP-adresse: “DHCP request” melding m DHCP server sender adresse: “DHCP ack” melding

47 Versjon 2.3 / Kap 5: Linklaget5-47 DHCP klient-server scenario A B E DHCP server en ankommende DHCP klient trenger adresse i dette nettet

48 Versjon 2.3 / Kap 5: Linklaget5-48 DHCP klient-server scenario DHCP server: ankommende klient tid DHCP discover src : , 68 dest.: , 67 yiaddr: transaction ID: 654 DHCP offer src: , 67 dest: , 68 yiaddr: transaction ID: 654 Lifetime: 3600 s DHCP request src: , 68 dest:: , 67 yiaddr: transaction ID: 655 Lifetime: 3600 s DHCP ACK src: , 67 dest: , 68 yiaddr: transaction ID: 655 Lifetime: 3600 s

49 Versjon 2.3 / Kap 5: Linklaget5-49 Kapittel 5 – hvor er vi? r 5.1 Introduction and services r 5.2 Error detection and correction r 5.3 Multiple access protocols r 5.4 Link-Layer Addressing è 5.5 Ethernet r 5.6 Hubs and switches r 5.7 PPP r 5.8 Link Virtualization: ATM and MPLS

50 Versjon 2.3 / Kap 5: Linklaget5-50 Ethernet Dominerende lokalnetteknologi: r billig r første LAN-teknologi i utstrakt bruk r Enklere og billigere enn token passing LAN og ATM r Har holdt tritt i hastighetskappløpet: 10, 100, 1000 Mb/s Bob Metcalfes Ethernetskisse

51 Versjon 2.3 / Kap 5: Linklaget5-51 Stjernetopologi r Busstopologi var populær til midten av 90-tallet r Nå er det stjernetopologi som “går og gjelder” r Valgmulighet: hub eller svitsj (mer senere) hub el. svitsj

52 Versjon 2.3 / Kap 5: Linklaget5-52 Ethernets rammestruktur Nettverkskort (NIC, adapter) legger IP-datagrammet (eller annen nettlags-PDU) i en Ethernetramme Preamble: r 7 oktetter (7 byte) med bitmønster fulgt av én oktett med bitmønster r benyttes for å synkronisere mottagers klokke med senderens

53 Versjon 2.3 / Kap 5: Linklaget5-53 Ethernets rammestruktur (forts) r Adresser: 6 oktetter m hvis NIC mottar ramme med egen adresse som destinasjonsadresse eller en kringkastingsramme (f eks ARP- pakke), leverer den data i rammen til nettlags-protokollen m ellers kaster den rammen r Type: indikerer hvilken nettlagsprotokoll data tilhører (normalt IP, men også andre muligheter, f. eks. Novell IPX eller AppleTalk) r CRC: feildeteksjon (cyclic redundancy check) – hvis feil oppdages, kastes rammen

54 Versjon 2.3 / Kap 5: Linklaget5-54 Upålitelig, forbindelsesløs tjeneste r Forbindelsesløs: Ingen håndhilsing mellom sender og mottager r Upålitelig: mottager sender ikke ACK eller NAK tilbake til senderen m strømmen av datagrammer som leveres til nettlaget kan ha gap m dersom TCP benyttes, sørger denne for å fylle eventuelle gap m ellers vil applikasjonen se gapene i datastrømmen

55 Versjon 2.3 / Kap 5: Linklaget5-55 Ethernet benytter CSMA/CD r Ingen tidsluker r nettkort lytter på nettet før den skal sende (carrier sense) m sender ikke dersom noen andre allerede sender r senderen fortsetter å lytte mens den sender og avbryter sendingen dersom den merker at en annen også sender (collision detection) r Før senderen forsøker en retransmisjon, venter den en tilfeldig valgt tid (random access)

56 Versjon 2.3 / Kap 5: Linklaget5-56 Ethernet CSMA/CD algoritmen 1. Nettkort får datagram fra nettlag og lager en ramme 2. Sender lytter på mediet for å se om det er ledig. Hvis ingen andre er å høre, vil nettkortet starte sendingen. Hvis mediet er opptatt, venter den til det blir ledig og sender deretter 3. Hvis hele rammen er sendt uten kollisjon, er nettkortet ferdig med rammen 4. Hvis senderen oppdager at en annen sender samtidig med den selv, avbryter den sendingen og sender i stedet et jamme-signal 5. Etter avbruddet vil senderen foreta en “exponential backoff”: etter kollisjon nr m, velger senderen tilfeldig en K fra mengden {0,1,2,…,2 m -1}. Så venter den K · 512 bit- tider og returnerer til trinn 2.

57 Versjon 2.3 / Kap 5: Linklaget5-57 Ethernets CSMA/CD (forts) Jammesignal: for å forsikre seg om at alle er oppmerksom på kollisjonen; 48 bit Bit-tid: 10 ns for 100 Mb/s Ethernet; for K = 1023 vil følgelig ventetiden være omkring 5 ms Eksponential Backoff: r Mål: tilpasser forsøk på retransmisjon etter estimert last for øyeblikket m stor belastning: tilfeldig ventetid ofte lenger r første kollisjon: velg K fra {0, 1}; ventetid er K · 512 bit-tider r etter andre kollisjon: velg K fra {0,1,2,3} r etter ti kollisjoner: velg K fra {0, 1, 2, 3, 4, …, 1023} Sjekk ut Java-applet på bokas hjemmeside!

58 Versjon 2.3 / Kap 5: Linklaget5-58 CSMA/CD effektivitet r t prop = maks gangtid mellom 2 noder på lokalnettet r t trans = sendetiden – tiden det tar å sende ut en ramme r Effektiviteten nærmer seg 1 når t prop nærmer seg 0 r Effektiviteten nærmer seg 1 når t trans går mot uendelig r Mye bedre effektivitet enn ALOHA selv om den er desentralisert, enkel og billig

59 Versjon 2.3 / Kap 5: Linklaget5-59 Ethernet-teknologier: 10Base2 r 10: 10 Mb/s; Base: basisbånd; 2: maks 200 meters kabel r tynn koaksialkabel i en busstopologi r maks 30 noder pr segment r repeatere brukes for å knytte sammen flere segmenter r repeater gjentar bit den hører på ett interface på sine andre interface: opererer på fysisk lag!

60 Versjon 2.3 / Kap 5: Linklaget BaseT og 100BaseT r 10/100 Mb/s rater; sistnevnte kalles “fast ethernet” r T står for “twisted pair” (tvunnet par) r Noder forbundet med en “hub”: stjernetopologi; maks avstand fra node til hub er 100 m tvunnet par hub

61 Versjon 2.3 / Kap 5: Linklaget5-61 Huber Huber er repeatere (fysisk lag): m bit som kommer inn på en link sendes ut på alle andre linker m ingen buffring av rammer m ingen CSMA/CD på huben: nettkort detekterer eventuelle kollisjoner m gir visse network management funksjoner tvunnet par hub

62 Versjon 2.3 / Kap 5: Linklaget5-62 Manchester-koding r Brukes i 10BaseT og 10Base2 r Hvert bit har en transisjon (lav-til-høy el. høy-til-lav) r Muliggjør synkronisering av sender og mottaker m mottager må vite hvor hvert bit starter m ikke behov for sentralisert, global klokke r (Dette tilhører fysisk lag – ikke linklaget)

63 Versjon 2.3 / Kap 5: Linklaget5-63 Gigabit ethernet r benytter standard ethernet rammeformat r tillater både punkt-til-punkt linker og delte kringkastingskanaler r ved delte kanaler brukes CSMA/CD; må ha korte avstander mellom noder for god effektivitet r benytter huber som kalles “Buffered Distributors” r Full-dupleks ved 1 Gb/s for punkt-til-punkt linker r 10 Gb/s finnes!

64 Versjon 2.3 / Kap 5: Linklaget5-64 Kapittel 5 – hvor er vi? r 5.1 Introduction and services r 5.2 Error detection and correction r 5.3 Multiple access protocols r 5.4 Link-Layer Addressing r 5.5 Ethernet è 5.6 Hubs and switches r 5.7 PPP r 5.8 Link Virtualization: ATM and MPLS

65 Versjon 2.3 / Kap 5: Linklaget5-65 Sammenkobling med huber r Ryggradshub sammenkobler LAN-segmenter r Utvider maks avstand mellom noder r Gir ett stort kollisjonsdomene (ulempe) r Kan ikke koble sammen 10BaseT og 100BaseT hub

66 Versjon 2.3 / Kap 5: Linklaget5-66 Svitsj r Linklagsboks m mellomlagrer og videresender ethernetrammer m sjekker rammeheader og videresender når det er behov for det – basert på mottagers MAC- adresse m når rammen skal videresendes på et segment, benyttes CSMA/CD r transparent m maskiner er uvitende om svitsjens tilstedeværelse r plug-and-play, selvlæring m svitsjer trenger man ikke å konfigurere

67 Versjon 2.3 / Kap 5: Linklaget5-67 Videresending Hvordan bestemme hvilket LAN-segment rammen skal sendes ut på? Ser ut som et rutingproblem... hub svitsj 1 2 3

68 Versjon 2.3 / Kap 5: Linklaget5-68 Selvlæring r En svitsj har en svitsjetabell r innslag i svitsjetabellen: m (MAC-adresse, interface, tidsstempel) m foreldede innslag i tabellen slettes (TTL kan være 60 min) r svitsjer lærer hvilke maskiner som kan nås på de ulike interface m når den mottar en ramme, vil svitsjen huske hvilket segment rammen kom fra kombinert med avsenders MAC-adresse m lagrer dette i sin svitsjetabell

69 Versjon 2.3 / Kap 5: Linklaget5-69 Filtrering/videresending Når svitsjen mottar en ramme: slå opp i svitsjetabellen ved mottagers MAC-adresse if innslag funnet for mottager then{ if mottager på samme segment som rammen kom fra then kast rammen else videresend rammen til angitt interface } else flood videresend på alle interface unntatt det interface som rammen kom på

70 Versjon 2.3 / Kap 5: Linklaget5-70 Svitsj: eksempel Anta C sender ramme til D r Svitsj mottar ramme fra C m lagrer i sin svitsjtabell at C er på interface 1 m siden D ikke finnes i tabellen, vil svitsjen videresende rammen til både interface 2 og 3 r rammen mottas av D hub svitsj A B C D E F G H I adresse interface ABEGABEG

71 Versjon 2.3 / Kap 5: Linklaget5-71 Svitsj: eksempel Anta at D svarer med en ramme til C r Svitsj mottar ramme fra D m lagrer i sin svitsjetabell at D er på interface 2 m siden C finnes i tabellen, vil svitsjen videresende rammen kun til interface 1 r rammen mottas av C hub svitsj A B C D E F G H I adresse interface ABEGCABEGC

72 Versjon 2.3 / Kap 5: Linklaget5-72 Svitsj: trafikkisolasjon r installering av en svitsj vil dele lokalnettet i segmenter r svitsjen filtrerer rammer: m rammer som skal til maskin på samme segment vil normalt ikke bli sendt til andre segmenter m segmentene blir separate kollisjonsdomener hub svitsj kollisjonsdomene kollisjons- domene

73 Versjon 2.3 / Kap 5: Linklaget5-73 Svitsjer: dedikert aksess r Svitsj med mange interface r Maskiner har direkte forbindelse til svitsjen r Ingen kollisjoner, full dupleks Svitsjing: A-til-A’ og B-til-B’ samtidig, ingen kollisjoner svitsj A A’ B B’ C C’

74 Versjon 2.3 / Kap 5: Linklaget5-74 Mer om svitjser r cut-through svitsjing: videresending fra inngangsport til utgangsport starter før hele rammen er ankommet inngangen m noe redusert forsinkelse r kombinasjoner av delte/dedikerte og 10/100/1000 Mb/s interface

75 Versjon 2.3 / Kap 5: Linklaget5-75 Nettverk for en institusjon hub svitsj til eksternt nett ruter IP subnett mail server web server

76 Versjon 2.3 / Kap 5: Linklaget5-76 Svitsjer vs. rutere r begge er “store-and-forward” enheter m rutere: nettlagsenheter (ser på nettlagsheadere) m svitsjer er linklagsenheter r rutere benytter rutingtabeller og implementerer rutingalgoritmer r svitsjer benytter svitsjetabeller, gjør filtrering, selvlæring Maskin Svitsj Ruter

77 Versjon 2.3 / Kap 5: Linklaget5-77 Sammenligning - oppsummering

78 Versjon 2.3 / Kap 5: Linklaget5-78 Kapittel 5 – hvor er vi? r 5.1 Introduction and services r 5.2 Error detection and correction r 5.3 Multiple access protocols r 5.4 Link-Layer Addressing r 5.5 Ethernet r 5.6 Hubs and switches è 5.7 PPP r 5.8 Link Virtualization: ATM and MPLS

79 Versjon 2.3 / Kap 5: Linklaget5-79 Punkt til punkt linklag r en sender, en mottager, en link: enklere enn kringkastingslink: m ingen MAC (Medium Access Control) m trenger ingen MAC-adressering m eks: oppringt samband, ISDN-linje r populære punkt-til-punkt DLC-protokoller (DLC = data link control): m PPP (point-to-point protocol) m HDLC: High level data link control

80 Versjon 2.3 / Kap 5: Linklaget5-80 PPP designkrav [RFC 1557] r pakkeinnramming: innkapsling av nettlagsdatagram i linklagsramme m skal kunne overføre nettlagsdata fra flere nettlagsprotokoller (ikke bare IP) til samme tid m mulighet for demultipleksing oppover r bittransparens: må kunne overføre ethvert bitmønster i datafeltet r feildeteksjon (men ingen feilretting) r forbindelsen oppe: vite om en link er oppe (“i live”); gi beskjed om linkfeil til nettlaget r forhandling om nettlagsadresser: endepunkter kan lære eller konfigurere hverandres nettlagsadresser

81 Versjon 2.3 / Kap 5: Linklaget5-81 PPP ikke-krav r ikke feilretting eller retransmisjon r ikke flytkontroll r endret rekkefølge på rammene er greit r trenger ikke å støtte multipunkt-linker (f eks polling) Feilretting/retransmisjon, flytkontroll og sekvensiering er overlatt til høyere lag

82 Versjon 2.3 / Kap 5: Linklaget5-82 PPP dataramme r Flagg: angir starten på ramme (delimiter) r Adresse: uten betydning (bare én mulig adresse) r Kontroll: uten betydning; kan bli brukt i framtiden r Protokoll: angir hvilken protokoll som skal ha data som ligger i rammen (f eks, PPP-LCP, IP, IPCP)

83 Versjon 2.3 / Kap 5: Linklaget5-83 PPP dataramme r info: datafeltet – info som leveres til laget over (f eks et IP-datagram) r sjekk: CRC (cyclic redundancy check) for feildeteksjon

84 Versjon 2.3 / Kap 5: Linklaget5-84 “Byte stuffing” r krav om “bittransparens”: datafeltet må kunne inneholde også bitmønsteret i flagget m har mottatt. Er dette data eller flagg? r Sender: adderer (“stuffs”) escape-byte før hver data byte r Mottager: m to byte etterhverandre: kast den ene, fortsett å motta

85 Versjon 2.3 / Kap 5: Linklaget5-85 Byte stuffing flaggbyte- mønster i data som skal sendes flaggbytemønster pluss ekstra (“stuffed”) escape- byte i sendte data

86 Versjon 2.3 / Kap 5: Linklaget5-86 PPP Link Control Protocol (LCP) Før utveksling av nettlagsdata kan starte, må linklags- nodene: r konfigurere PPP-link (maks rammelengde, autentisering) r finne/konfigurere nettlags- informasjon m for IP: overføre IP Control Protocol (IPCP) mld (protokollfelt: 8021) for å konfigurere/lære IP-adresse

87 Versjon 2.3 / Kap 5: Linklaget5-87 Link Layer r 5.1 Introduction and services r 5.2 Error detection and correction r 5.3Multiple access protocols r 5.4 Link-Layer Addressing r 5.5 Ethernet r 5.6 Hubs and switches r 5.7 PPP è 5.8 Link Virtualization: ATM and MPLS

88 Versjon 2.3 / Kap 5: Linklaget5-88 Virtualisering av nettverk Virtualisering av ressurser: en nyttig abstraksjon i “systems engineering”: r eksempler: virtuell hukommelse, virtuelle enheter m Virtuelle maskiner: f eks Java m IBM VM OS fra 1960/70-tallet r lagdeling av abstraksjoner: man trenger ikke å bekymre seg for detaljer på lavere lag – håndterer lavere lag abstrakt

89 Versjon 2.3 / Kap 5: Linklaget5-89 Internett: virtualisering av nett 1974: multiple, ikke- sammenknyttede nett m ARPAnet m data-over-kabel nett m pakkebasert satellittnett (Aloha) m packet radio network (PRN) … som alle skilte seg mhp: m adressering m pakkeformater m feilhåndtering m ruting ARPAnet satellittnett "A Protocol for Packet Network Intercommunication", V. Cerf, R. Kahn, IEEE Transactions on Communications, May, 1974, pp

90 Versjon 2.3 / Kap 5: Linklaget5-90 Internett: virtualisering av nett ARPAnet satellittnett gateway Internettlag (IP): r adressering: internett opptrer som en enkelt uniform entitet til tross for heterogeniteten i de underliggende nett r nettverk av nettverk Gateway: r “pakker om pakker til passende format for det andre nettet” r ruter til neste gateway (på internett-nivå)

91 Versjon 2.3 / Kap 5: Linklaget5-91 Cerf & Kahns Internettarkitektur Hva er virtualisert? r to adresseringslag: internett og lokalt nett r nytt lag (IP) gjør at ting blir homogent på internettlaget r underliggende nettverksteknologi m kabel m satellitt m telefonmodem m i dag: ATM, MPLS … “usynlig” på internettlaget. Ser ut som en linklagsteknologi for IP!

92 Versjon 2.3 / Kap 5: Linklaget5-92 Multiprotocol label switching (MPLS) r initielt mål: øke videresendingshastigeheten på IP datagrammer ved å bruke en etikett av fast lengde (istf IP-adresse) m låner ideer fra nett som bruker virtuelle forbindelser (VC) m men IP-datagrammer beholder sine IP-adresser! PPP el ethernet header IP header resten av linklagsrammen MPLS header label Exp S TTL

93 Versjon 2.3 / Kap 5: Linklaget5-93 MPLS kapable rutere r det samme som “label-switched” rutere r videresender pakker basert kun på label-verdi (ser ikke på IP-adressen) m MPLS videresendingstabell skiller seg fra IP videresendingstabell r trenger signaleringsprotokoll for å sette opp videresendingen m RSVP-TE m videresending mulig langs stier som IP alene ikke ville tillate m kan bruke MPLS for “traffic engineering” r må leve sammen med rutere som kun kan håndtere standard IP

94 Versjon 2.3 / Kap 5: Linklaget5-94 R1 R2 D R3 R4 R A R6 in out out label label dest interface 6 - A 0 in out out label label dest interface 10 6 A D 0 in out out label label dest interface 10 A 0 12 D 0 1 in out out label label dest interface 8 6 A A 1 MPLS videresendingstabeller

95 Versjon 2.3 / Kap 5: Linklaget5-95 Kapittel 5: Oppsummering r prinsipper bak linklagstjenester: m feildeteksjon, feilretting m deling av kringkastingskanal: multippel aksess m linklagsadressering, ARP r linklagsteknologier: m Ethernet m svitsjede lokalnett m PPP m MPLS


Laste ned ppt "Versjon 2.3 / 28.10.04 Kap 5: Linklaget5-1 Kapittel 5 Link Layer and LANs Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition."

Liknende presentasjoner


Annonser fra Google