Kapittel 5 Link Layer and LANs Computer Networking: A Top Down Approach Featuring the Internet, 3rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2005. Slides adapted from the slides accompanying the book of Kurose & Ross. © 1996-2004 J.F Kurose and K.W. Ross, All Rights Reserved Norsk versjon: © Christian F Heide, 2004. Kap 5: Linklaget
Kapittel 5: Linklaget Våre mål: forstå prinsippene bak linklagstjenester: feildeteksjon og feilretting deling av en kringkastingskanal: multippel aksess linklagsadressering pålitelig dataoverføring: gjort! flytkontroll: gjort! ulike linklagsteknologier Kap 5: Linklaget
Kapittel 5 - oversikt 5.1 Introduction and services 5.2 Error detection and correction 5.3Multiple access protocols 5.4 Link-Layer Addressing 5.5 Ethernet 5.6 Hubs and switches 5.7 PPP 5.8 Link Virtualization: ATM and MPLS Kap 5: Linklaget
Linklaget: Introduksjon Litt terminologi: maskiner, rutere og svitsjer er noder kommunikasjonskanaler som forbinder nabonoder langs kommunikasjonsveien er linker trådbundne (kablede) linker trådløse linker LAN En 2-PDU kalles en ramme (frame), innkapsler datagrammer linklaget har ansvar for å overføre datagrammer fra en node til en nabonode over en link Kap 5: Linklaget
Linklaget: kontekst transportanalogi tur fra Halden til Trondheim tog: Halden til Gardermoen fly: Gardermoen til Værnes buss: Værnes til Trondheim reisende = datagram transportetappe = kommunikasjonslink transporttype = linklagsprotokoll reisebyrå = rutingalgoritme Datagram overføres av ulike linkprotokoller over ulike linker: f eks Ethernet på første link, frame relay på midtre link, 802.11 på siste link Hver linklagsprotokoll tilbyr ulike tjenester f eks: én protokoll kan være pålitelig, en annen upålitelig Kap 5: Linklaget
Linklagstjenester Omramming (framing) og linkaksess: innkapsling av datagram i rammer, legger til header og trailer kanaltilgang hvis delt medium (MAC = medium access control) MAC-adresser benyttes i rammeheader for å identifisere avsender og mottager forskjellig fra IP-adresser! Pålitelig leveranse mellom nabonoder vi har alt sett på hvordan dette kan gjøres (kapittel 3)! lite nødvendig på link med lav bitfeilrate (fiber og noen typer kobberkabel) trådløse linker: høy bitfeilrate Kap 5: Linklaget
Linklagstjenester (forts) Flytkontroll: sender må ikke sende fortere enn mottager kan ta imot Feildeteksjon: feil forårsakes av dempning og elektrisk støy mottager oppdager bitfeil: gir beskjed til sender om å retransmittere eller den bare kaster rammen Feilretting: mottager identifiserer og retter bitfeil uten at sender må retransmittere Halv-dupleks og full-dupleks med halv-dupleks kan noder i begge ender av linken sende, men ikke begge samtidig Kap 5: Linklaget
Nettverkskort kommuniserer datagram linklagsprotokoll mottager- node sender- node ramme ramme nettverkskort (adapter) nettverkskort (adapter) linklaget implementert i nettverkskort (NIC) Ethernet-kort, 802.11-kort e.l. sendeside: innkapsling av datagram i en ramme adderer bit for deteksjon av bitfeil, sekvensnummer, flytkontroll etc. mottagerside ser etter bitfeil, re-transmisjon, flytkontroll etc. ekstraherer datagram, leverer dette til mottagernode nettkort er delvis autonomt linklag & fysisk lag Kap 5: Linklaget
Kapittel 5 – hvor er vi? 5.1 Introduction and services 5.2 Error detection and correction 5.3Multiple access protocols 5.4 Link-Layer Addressing 5.5 Ethernet 5.6 Hubs and switches 5.7 PPP 5.8 Link Virtualization: ATM and MPLS Kap 5: Linklaget
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 Kap 5: Linklaget
Paritetssjekk Todimensjonale paritetsbit: Ett-bits paritet: Kan oppdage dersom ett bit er feil Todimensjonale paritetsbit: Kan oppdage og rette dersom ett bit er feil 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 Kap 5: Linklaget
Internett-sjekksum Mål: oppdage bitfeil i mottatt segment (merk: benyttes kun på transportlaget) Sender: behandler innholdet i segmentene som sekvens av 16-bits tall sjekksum: addisjon (eners komplement) av innholdet i segmentet sender legger sjekksum inn i UDP/TCP sjekksum-felt Mottager: beregner sjekksum av mottatt segment ser om beregnet sjekksum er korrekt: NEI feil oppdaget JA ingen feil oppdaget. Men det kan allikevel finnes feil… Kap 5: Linklaget
Cyclic redundancy check (CRC) ser databit, D, som et binært tall velger et bitmønster, r + 1 bit langt generator, G mål: velge r CRC-bit, R, slik at D&R er delelig med G (modulo 2) (& = konkateneringsoperator) mottager kjenner G og dividerer D&R med G. Dersom divisjonen gir en rest, er det bitfeil oppdager alle skurfeil mindre enn r+1 bit mye benyttet i praksis (ATM, HDCL) Kap 5: Linklaget
CRC eksempel Ønsker: D . 2r XOR R = nG ekvivalent: D . 2r = nG XOR R hvis vi deler D . 2r med G er det resten, R, vi søker D . 2r G R = rest[ ] Kap 5: Linklaget
Kapittel 5 – hvor er vi? 5.1 Introduction and services 5.2 Error detection and correction 5.3 Multiple access protocols 5.4 Link-Layer Addressing 5.5 Ethernet 5.6 Hubs and switches 5.7 PPP 5.8 Link Virtualization: ATM and MPLS Kap 5: Linklaget
Linker og protokoller for multippel aksess To typer “linker”: punkt-til-punkt PPP for oppringt aksess punkt-til-punkt-link mellom to rutere kringkasting (delt medium) tradisjonelt ethernet 802.11 trådløst lokalnett Kap 5: Linklaget
MAC-protokoller 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 MAC-protokoll = medium aksess protokoll, tilgangsprotokoll Kap 5: Linklaget
Multippel aksess-protokoller én delt kanal som alle kan lytte på (kringkasting) to eller flere samtidige transmisjoner fra noder resulterer i interferens bare én må sende om gangen multippel-aksessprotokoll distribuert algoritme som bestemmer hvordan noder deler en kanal, dvs at den bestemmer når en node kan sende kommunikasjon om kanaldeling må selv bruke kanalen mulige egenskaper ved multippel-aksessprotokoller: Kap 5: Linklaget
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: ingen spesialnode for å koordinere sendingene ingen synkronisering av klokker eller tidsluker 4. Enkel Kap 5: Linklaget
MAC-protokoller: taksonomi Tre klasser: Kanalpartisjonering deler kanalen i mindre biter (tidsluker, frekvenser, koder) tildeler del av kanalen til node som bare den kan benytte Random access kanal deles ikke, kollisjoner kan forekomme har metoder for å håndtere kollisjoner “Etter tur” unngår kollisjoner ved at kun en om gangen får sende Kap 5: Linklaget
Kanalpartisjonerende MAC-protokoller: TDMA TDMA: time division multiple access tilgang til kanalen går på omgang hver stasjon får en tidsluke i hver runde ubrukte tidsluker sendes tomme eksempel: 6-maskiners lokalnett. 1,3,4 har pakker, tidsluke 2, 5 og 6 er tomme Kap 5: Linklaget
Kanalpartisjonerende MAC-protkoller: FDMA FDMA: frequency division multiple access kanalens frekvensområde deles i mindre frekvensbånd hver stasjon tilordnes et frekvensbånd ubenyttet kapasitet utnyttes ikke eksempel: 6-maskiners lokalnett. 1, 3 og 4 har pakker, frekvensbånd 2, 5 og 6 benyttes ikke tid frekvensbånd Kap 5: Linklaget
Random access protokoller Når en node har pakker å sende transmitterer på full kanalrate, R ingen a priori koordinering mellom nodene to eller flere sender samtidig “kollisjon”, random access MAC protokoll spesifiserer: hvordan detekteres kollisjoner hvordan håndtere kollisjoner (f eks ved hjelp av forsinkede retransmisjoner) Eksempler på random access MAC protokoller: slotted ALOHA ALOHA CSMA, CSMA/CD, CSMA/CA Kap 5: Linklaget
Slotted ALOHA Antagelser alle rammer har samme størrelse tiden deles i like store tidsluker – tiden det tar å sende én ramme noder starter sending kun på begynnelsen av tidsluker noder er synkroniserte hvis rammer kolliderer, overlapper de fullstendig Operasjon når en node får en ramme den skal sende, sendes den i neste tidsluke ingen kollisjon: node kan sende ny ramme i neste tidsluke hvis kollisjon: node retransmitterer ramme i neste tidsluke med sannsynlighet p inntil sendingen er vellykket Kap 5: Linklaget
Slotted ALOHA Fordeler ensom aktiv node kan sende kontinuerlig på full rate desentralisert: kun tidsluker i nodene må være i synk enkel Ulemper man har kollisjoner, noe som kaster bort tidsluker tomme tidsluker noder kan oppdage kollisjoner på kortere tid enn det tar å sende ut en pakke Kap 5: Linklaget
Slotted Aloha: effektivitet Effektivitet er andel vellykkede tidsluker når det er mange noder, hver med mange rammer å sende For maks effektivitet med N noder, finn den p* som maksimerer Np(1-p)N-1 For mange noder, finn grensen av Np*(1-p*)N-1 når N går mot uendelig. Gir: 1/e = 0.37 Anta N noder med mange rammer å sende, hver sender i en tidsluke med sannsynlighet p sannsynlighet at første node har suksess i en luke: p(1-p)N-1 sannsynlighet for at en vilkårlig node har suksess: Np(1-p)N-1 I beste fall: kanalen overfører nyttedata 37% av tiden! Kap 5: Linklaget
ALOHA Ren Aloha: enklere, ingen synkronisering når en framme skal sendes send umiddelbart sannsynligheten for kollisjoner øker: ramme sendt ved t0 kolliderer med andre rammer sendt i [t0- 1,t0+1] Kap 5: Linklaget
Effektivitet for Aloha P(suksess for gitt node) = P(node sender) . P(ingen andre noder sender i [t0-1,t0]) . P(ingen andre noder sender i [t0,t0+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! Kap 5: Linklaget
CSMA (Carrier Sense Multiple Access) CSMA: lytter før sending: Hvis kanalen er ledig: send rammen Hvis kanalen er opptatt: utsett transmisjonen Menneskelig analogi: før man begynner å snakke, hører man etter om andre snakker – ikke avbryt! Kap 5: Linklaget
CSMA kollisjoner kollisjoner kan fortsatt forekomme: kollisjon: merk: romlig fordeling av noder kollisjoner kan fortsatt forekomme: gangtiden kan gjøre at en node ikke hører at en annen har startet sending kollisjon: hele sendetiden bortkastet merk: avstander og gangtid har betydning for sannsynligheten for kollisjoner Kap 5: Linklaget
CSMA/CD (Collision Detection) CSMA/CD: lytter på mediet før sending, venter hvis mediet er opptatt (som i CSMA) fortsetter å lytte mens man sender: kollisjoner detektert i løpet av kort tid ved kollisjon avbrytes sendingen umiddelbart reduserer sløsing med tid collision detection: enkelt i kablede lokalnett: måler signalstyrken, sammenligner sendt og mottatt signal vanskelig i trådløse lokalnett: mottager er av mens man sender menneskelig analogi: den høflige samtalepartner Kap 5: Linklaget
CSMA/CD kollisjonsdeteksjon Kap 5: Linklaget
“Etter tur” MAC-protokoller kanalpartisjonerende MAC protokoller: deler kanalen effektivt og rettferdig ved stor belastning 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 god effektivitet ved liten belastning: én node kan bruke hele dataraten stor belastning: effektiviteten reduseres pga kollisjoner “Etter tur” protokoller ta det beste fra begge! Kap 5: Linklaget
“Etter tur” MAC-protokoller Token passing: en spesiell ramme – token (stafettpinne), sendes fra node til node token message ulemper: token overhead latens (forsinkelse) single point of failure (token) Polling: master-node “inviterer” slavenoder til å sende – en om gangen ulemper: overhead pga pollingen latens (forsinkelse) – må vente på tur single point of failure (master) Kap 5: Linklaget
MAC-protokoller - oppsummering Hvordan kan man dele tilgangen til et medium? Kanalpartisjonering v.hj.a. tid, frekvens eller kode TDMA, FDMA, CDMA 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 “Etter tur” polling fra en sentral node eller token passing Kap 5: Linklaget
LAN-teknologier Linklaget til nå: Neste: LAN-teknologier tjenester, feildeteksjon/-korreksjon, multippel aksess Neste: LAN-teknologier adressering Ethernet hub, svitsj PPP Kap 5: Linklaget
Kapittel 5 – hvor er vi? 5.1 Introduction and services 5.2 Error detection and correction 5.3 Multiple access protocols 5.4 Link-Layer Addressing 5.5 Ethernet 5.6 Hubs and switches 5.7 PPP 5.8 Link Virtualization: ATM and MPLS Kap 5: Linklaget
LAN-adresser (= MAC-adresser) 32-bit IP-adresse: nettlags-adresse benyttes for å få datagrammet fra ditt IP-nett fram til mottagerens IP-nett MAC- (eller “LAN-” eller “fysisk-” eller “ethernet-”) adresse: benyttes for å få levert en ramme fra et interface til et annet interface på samme nettet 48 bit MAC-adresse (for de fleste lokalnett) brent i nettverkskortets ROM Kap 5: Linklaget
MAC-adresser og ARP Hvert nettverkskort har en unik MAC-adresse 1A-2F-BB-76-09-AD 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 71-65-F7-2B-08-53 LAN (kablet el trådløst) Kringkastingsadresse = FF-FF-FF-FF-FF-FF = nettverkskort Kap 5: Linklaget
MAC-adresser Tildeling av MAC-adresser administreres av IEEE produsent kjøper del av MAC-adresserommet Analogi: (a) MAC-adresse: personnummer (b) IP-adresse: postadresse MAC har “flat” adressestruktur portabilitet kan flytte et nettverkskort fra et lokalnett til et annet IP-adresser er hierarkiske og derfor ikke portable deler av IP-adressen angir hvilket nett maskinen henger på Kap 5: Linklaget
Plukker fram igjen tidligere ruting-diskusjon Starter i A, gitt et IP-datagram adressert til B: slår opp nett-adressen til B og finner at B er på samme nett som A linklaget sender datagrammet til B inni en linklagsramme 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.2 223.1.3.1 223.1.3.27 A B E rammens avs. og mott. adresse datagrammets avs. og mott. adresse Bs MAC- adr. As MAC- adr. As IP- adr. Bs IP- adr. IP nyttelast datagram ramme Kap 5: Linklaget
ARP: Address Resolution Protocol Hvordan finne MAC- adressen til en node man kjenner IP-adressen til? Hver IP-node (maskin og ruter) på et LAN har en ARP-tabell ARP-tabell: IP/MAC adressemappinger for noen LAN-noder <IP-adresse; MAC-adresse; TTL> TTL (Time To Live): tiden mappingen skal ligge i ARP-tabellen (typisk 20 min) 237.196.7.78 1A-2F-BB-76-09-AD 237.196.7.23 237.196.7.14 LAN 71-65-F7-2B-08-53 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 237.196.7.88 Kap 5: Linklaget
ARP-protokollen ARP er “plug-and-play”: A ønsker å sende et datagram til B og kjenner Bs IP-adresse Anta at Bs MAC-adresse ikke er i As ARP-tabell A kringkaster en ARP forespørsel som inneholder Bs IP-adresse alle maskiner på LAN mottar ARP-forespørselen B mottar også ARP-pakken og svarer A med sin MAC-adresse ramme sendes direkte til As MAC-adresse A cacher (lagrer) IP-til-MAC adresseparet i sin ARP-tabell inntil informasjonen blir foreldet “soft state”: informasjon som forsvinner dersom den ikke oppfriskes ARP er “plug-and-play”: en node lager sin ARP-tabell uten hjelp fra noen Kap 5: Linklaget
Ruting til et annet LAN Eksempel: send datagram fra A til B via R anta at A kjenner Bs IP-adresse To ARP-tabeller i ruter R: en for hvert IP-nett I rutingtabellen på sender, finner vi ruter 111.111.111.110 A R B Kap 5: Linklaget
A R B A lager et datagram med avsender A og mottager B A bruker ARP for å finne MAC-adressen for 111.111.111.110 (R) A lager linklagsramme med with Rs MAC-adresse som mottager, rammen inneholder datagrammet som skal fra A til B As linklag sender rammen Rs linklag mottar rammen R pakker opp datagrammet fra rammen og ser at det skal til B R benytter ARP for å finne Bs MAC-adresse R lager ramme som inneholder datagrammet som skal fra A til B og sender rammen til B A R B Kap 5: Linklaget
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: maskin kringkaster “DHCP discover” melding DHCP server svarer med “DHCP offer” melding maskin ber om IP-adresse: “DHCP request” melding DHCP server sender adresse: “DHCP ack” melding Kap 5: Linklaget
DHCP klient-server scenario 223.1.2.1 223.1.1.1 server 223.1.1.2 223.1.1.4 223.1.2.9 B 223.1.2.2 en ankommende DHCP klient trenger adresse i dette nettet E 223.1.1.3 223.1.3.27 223.1.3.1 223.1.3.2 Kap 5: Linklaget
DHCP klient-server scenario DHCP server: 223.1.2.5 ankommende klient DHCP discover src : 0.0.0.0, 68 dest.: 255.255.255.255, 67 yiaddr: 0.0.0.0 transaction ID: 654 DHCP offer src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddr: 223.1.2.4 transaction ID: 654 Lifetime: 3600 s DHCP request src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 yiaddr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 s tid DHCP ACK src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 s Kap 5: Linklaget
Kapittel 5 – hvor er vi? 5.1 Introduction and services 5.2 Error detection and correction 5.3 Multiple access protocols 5.4 Link-Layer Addressing 5.5 Ethernet 5.6 Hubs and switches 5.7 PPP 5.8 Link Virtualization: ATM and MPLS Kap 5: Linklaget
Ethernet Dominerende lokalnetteknologi: billig første LAN-teknologi i utstrakt bruk Enklere og billigere enn token passing LAN og ATM Har holdt tritt i hastighetskappløpet: 10, 100, 1000 Mb/s Bob Metcalfes Ethernetskisse Kap 5: Linklaget
Stjernetopologi Busstopologi var populær til midten av 90-tallet Nå er det stjernetopologi som “går og gjelder” Valgmulighet: hub eller svitsj (mer senere) hub el. svitsj Kap 5: Linklaget
Ethernets rammestruktur Nettverkskort (NIC, adapter) legger IP-datagrammet (eller annen nettlags-PDU) i en Ethernetramme Preamble: 7 oktetter (7 byte) med bitmønster 10101010 fulgt av én oktett med bitmønster 10101011 benyttes for å synkronisere mottagers klokke med senderens Kap 5: Linklaget
Ethernets rammestruktur (forts) Adresser: 6 oktetter hvis NIC mottar ramme med egen adresse som destinasjonsadresse eller en kringkastingsramme (f eks ARP-pakke), leverer den data i rammen til nettlags-protokollen ellers kaster den rammen Type: indikerer hvilken nettlagsprotokoll data tilhører (normalt IP, men også andre muligheter, f. eks. Novell IPX eller AppleTalk) CRC: feildeteksjon (cyclic redundancy check) – hvis feil oppdages, kastes rammen Kap 5: Linklaget
Upålitelig, forbindelsesløs tjeneste Forbindelsesløs: Ingen håndhilsing mellom sender og mottager Upålitelig: mottager sender ikke ACK eller NAK tilbake til senderen strømmen av datagrammer som leveres til nettlaget kan ha gap dersom TCP benyttes, sørger denne for å fylle eventuelle gap ellers vil applikasjonen se gapene i datastrømmen Kap 5: Linklaget
Ethernet benytter CSMA/CD Ingen tidsluker nettkort lytter på nettet før den skal sende (carrier sense) sender ikke dersom noen andre allerede sender senderen fortsetter å lytte mens den sender og avbryter sendingen dersom den merker at en annen også sender (collision detection) Før senderen forsøker en retransmisjon, venter den en tilfeldig valgt tid (random access) Kap 5: Linklaget
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,…,2m-1}. Så venter den K · 512 bit-tider og returnerer til trinn 2. Kap 5: Linklaget
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: Mål: tilpasser forsøk på retransmisjon etter estimert last for øyeblikket stor belastning: tilfeldig ventetid ofte lenger første kollisjon: velg K fra {0, 1}; ventetid er K · 512 bit-tider etter andre kollisjon: velg K fra {0,1,2,3} etter ti kollisjoner: velg K fra {0, 1, 2, 3, 4, …, 1023} Sjekk ut Java-applet på bokas hjemmeside! Kap 5: Linklaget
CSMA/CD effektivitet tprop = maks gangtid mellom 2 noder på lokalnettet ttrans = sendetiden – tiden det tar å sende ut en ramme Effektiviteten nærmer seg 1 når tprop nærmer seg 0 Effektiviteten nærmer seg 1 når ttrans går mot uendelig Mye bedre effektivitet enn ALOHA selv om den er desentralisert, enkel og billig Kap 5: Linklaget
Ethernet-teknologier: 10Base2 10: 10 Mb/s; Base: basisbånd; 2: maks 200 meters kabel tynn koaksialkabel i en busstopologi maks 30 noder pr segment repeatere brukes for å knytte sammen flere segmenter repeater gjentar bit den hører på ett interface på sine andre interface: opererer på fysisk lag! Kap 5: Linklaget
10BaseT og 100BaseT 10/100 Mb/s rater; sistnevnte kalles “fast ethernet” T står for “twisted pair” (tvunnet par) Noder forbundet med en “hub”: stjernetopologi; maks avstand fra node til hub er 100 m tvunnet par hub Kap 5: Linklaget
Huber Huber er repeatere (fysisk lag): bit som kommer inn på en link sendes ut på alle andre linker ingen buffring av rammer ingen CSMA/CD på huben: nettkort detekterer eventuelle kollisjoner gir visse network management funksjoner tvunnet par hub Kap 5: Linklaget
Manchester-koding Brukes i 10BaseT og 10Base2 Hvert bit har en transisjon (lav-til-høy el. høy-til-lav) Muliggjør synkronisering av sender og mottaker mottager må vite hvor hvert bit starter ikke behov for sentralisert, global klokke (Dette tilhører fysisk lag – ikke linklaget) Kap 5: Linklaget
Gigabit ethernet benytter standard ethernet rammeformat tillater både punkt-til-punkt linker og delte kringkastingskanaler ved delte kanaler brukes CSMA/CD; må ha korte avstander mellom noder for god effektivitet benytter huber som kalles “Buffered Distributors” Full-dupleks ved 1 Gb/s for punkt-til-punkt linker 10 Gb/s finnes! Kap 5: Linklaget
Kapittel 5 – hvor er vi? 5.1 Introduction and services 5.2 Error detection and correction 5.3 Multiple access protocols 5.4 Link-Layer Addressing 5.5 Ethernet 5.6 Hubs and switches 5.7 PPP 5.8 Link Virtualization: ATM and MPLS Kap 5: Linklaget
Sammenkobling med huber Ryggradshub sammenkobler LAN-segmenter Utvider maks avstand mellom noder Gir ett stort kollisjonsdomene (ulempe) Kan ikke koble sammen 10BaseT og 100BaseT hub hub hub hub Kap 5: Linklaget
Svitsj Linklagsboks mellomlagrer og videresender ethernetrammer sjekker rammeheader og videresender når det er behov for det – basert på mottagers MAC-adresse når rammen skal videresendes på et segment, benyttes CSMA/CD transparent maskiner er uvitende om svitsjens tilstedeværelse plug-and-play, selvlæring svitsjer trenger man ikke å konfigurere Kap 5: Linklaget
Videresending hub svitsj 1 3 2 Hvordan bestemme hvilket LAN-segment rammen skal sendes ut på? Ser ut som et rutingproblem... Kap 5: Linklaget
Selvlæring En svitsj har en svitsjetabell innslag i svitsjetabellen: (MAC-adresse, interface, tidsstempel) foreldede innslag i tabellen slettes (TTL kan være 60 min) svitsjer lærer hvilke maskiner som kan nås på de ulike interface når den mottar en ramme, vil svitsjen huske hvilket segment rammen kom fra kombinert med avsenders MAC-adresse lagrer dette i sin svitsjetabell Kap 5: Linklaget
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å Kap 5: Linklaget
Svitsj: eksempel Anta C sender ramme til D Svitsj mottar ramme fra C adresse interface svitsj 1 A B E G 1 2 3 2 3 hub hub hub A I D F B G C H E Svitsj mottar ramme fra C lagrer i sin svitsjtabell at C er på interface 1 siden D ikke finnes i tabellen, vil svitsjen videresende rammen til både interface 2 og 3 rammen mottas av D Kap 5: Linklaget
Svitsj: eksempel Anta at D svarer med en ramme til C adresse interface svitsj 1 A B E G C 1 2 3 2 3 hub hub hub A I D F B G C H E Svitsj mottar ramme fra D lagrer i sin svitsjetabell at D er på interface 2 siden C finnes i tabellen, vil svitsjen videresende rammen kun til interface 1 rammen mottas av C Kap 5: Linklaget
Svitsj: trafikkisolasjon installering av en svitsj vil dele lokalnettet i segmenter svitsjen filtrerer rammer: rammer som skal til maskin på samme segment vil normalt ikke bli sendt til andre segmenter segmentene blir separate kollisjonsdomener hub svitsj kollisjons- domene kollisjonsdomene kollisjonsdomene Kap 5: Linklaget
Svitsjer: dedikert aksess Svitsj med mange interface Maskiner har direkte forbindelse til svitsjen Ingen kollisjoner, full dupleks Svitsjing: A-til-A’ og B-til-B’ samtidig, ingen kollisjoner A C’ B svitsj C B’ A’ Kap 5: Linklaget
Mer om svitjser cut-through svitsjing: videresending fra inngangsport til utgangsport starter før hele rammen er ankommet inngangen noe redusert forsinkelse kombinasjoner av delte/dedikerte og 10/100/1000 Mb/s interface Kap 5: Linklaget
Nettverk for en institusjon mail server til eksternt nett web server ruter svitsj IP subnett hub hub hub Kap 5: Linklaget
Svitsjer vs. rutere begge er “store-and-forward” enheter rutere: nettlagsenheter (ser på nettlagsheadere) svitsjer er linklagsenheter rutere benytter rutingtabeller og implementerer rutingalgoritmer svitsjer benytter svitsjetabeller, gjør filtrering, selvlæring Maskin Svitsj Ruter Maskin Kap 5: Linklaget
Sammenligning - oppsummering Kap 5: Linklaget
Kapittel 5 – hvor er vi? 5.1 Introduction and services 5.2 Error detection and correction 5.3 Multiple access protocols 5.4 Link-Layer Addressing 5.5 Ethernet 5.6 Hubs and switches 5.7 PPP 5.8 Link Virtualization: ATM and MPLS Kap 5: Linklaget
Punkt til punkt linklag en sender, en mottager, en link: enklere enn kringkastingslink: ingen MAC (Medium Access Control) trenger ingen MAC-adressering eks: oppringt samband, ISDN-linje populære punkt-til-punkt DLC-protokoller (DLC = data link control): PPP (point-to-point protocol) HDLC: High level data link control Kap 5: Linklaget
PPP designkrav [RFC 1557] pakkeinnramming: innkapsling av nettlagsdatagram i linklagsramme skal kunne overføre nettlagsdata fra flere nettlagsprotokoller (ikke bare IP) til samme tid mulighet for demultipleksing oppover bittransparens: må kunne overføre ethvert bitmønster i datafeltet feildeteksjon (men ingen feilretting) forbindelsen oppe: vite om en link er oppe (“i live”); gi beskjed om linkfeil til nettlaget forhandling om nettlagsadresser: endepunkter kan lære eller konfigurere hverandres nettlagsadresser Kap 5: Linklaget
PPP ikke-krav ikke feilretting eller retransmisjon ikke flytkontroll endret rekkefølge på rammene er greit trenger ikke å støtte multipunkt-linker (f eks polling) Feilretting/retransmisjon, flytkontroll og sekvensiering er overlatt til høyere lag Kap 5: Linklaget
PPP dataramme Flagg: angir starten på ramme (delimiter) Adresse: uten betydning (bare én mulig adresse) Kontroll: uten betydning; kan bli brukt i framtiden Protokoll: angir hvilken protokoll som skal ha data som ligger i rammen (f eks, PPP-LCP, IP, IPCP) Kap 5: Linklaget
PPP dataramme info: datafeltet – info som leveres til laget over (f eks et IP-datagram) sjekk: CRC (cyclic redundancy check) for feildeteksjon Kap 5: Linklaget
“Byte stuffing” krav om “bittransparens”: datafeltet må kunne inneholde også bitmønsteret i flagget <01111110> har mottatt <01111110>. Er dette data eller flagg? Sender: adderer (“stuffs”) escape-byte < 01111101> før hver < 01111110> data byte Mottager: to 01111101 byte etterhverandre: kast den ene, fortsett å motta Kap 5: Linklaget
Byte stuffing flaggbyte- mønster i data som skal sendes flaggbytemønster pluss ekstra (“stuffed”) escape-byte i sendte data Kap 5: Linklaget
PPP Link Control Protocol (LCP) Før utveksling av nettlagsdata kan starte, må linklags-nodene: konfigurere PPP-link (maks rammelengde, autentisering) finne/konfigurere nettlags-informasjon for IP: overføre IP Control Protocol (IPCP) mld (protokollfelt: 8021) for å konfigurere/lære IP-adresse Kap 5: Linklaget
Link Layer 5.1 Introduction and services 5.2 Error detection and correction 5.3Multiple access protocols 5.4 Link-Layer Addressing 5.5 Ethernet 5.6 Hubs and switches 5.7 PPP 5.8 Link Virtualization: ATM and MPLS Kap 5: Linklaget
Virtualisering av nettverk Virtualisering av ressurser: en nyttig abstraksjon i “systems engineering”: eksempler: virtuell hukommelse, virtuelle enheter Virtuelle maskiner: f eks Java IBM VM OS fra 1960/70-tallet lagdeling av abstraksjoner: man trenger ikke å bekymre seg for detaljer på lavere lag – håndterer lavere lag abstrakt Kap 5: Linklaget
Internett: virtualisering av nett 1974: multiple, ikke-sammenknyttede nett ARPAnet data-over-kabel nett pakkebasert satellittnett (Aloha) packet radio network (PRN) … som alle skilte seg mhp: adressering pakkeformater feilhåndtering ruting ARPAnet satellittnett "A Protocol for Packet Network Intercommunication", V. Cerf, R. Kahn, IEEE Transactions on Communications, May, 1974, pp. 637-648. Kap 5: Linklaget
Internett: virtualisering av nett Internettlag (IP): adressering: internett opptrer som en enkelt uniform entitet til tross for heterogeniteten i de underliggende nett nettverk av nettverk Gateway: “pakker om pakker til passende format for det andre nettet” ruter til neste gateway (på internett-nivå) gateway ARPAnet satellittnett Kap 5: Linklaget
Cerf & Kahns Internettarkitektur Hva er virtualisert? to adresseringslag: internett og lokalt nett nytt lag (IP) gjør at ting blir homogent på internettlaget underliggende nettverksteknologi kabel satellitt telefonmodem i dag: ATM, MPLS … “usynlig” på internettlaget. Ser ut som en linklagsteknologi for IP! Kap 5: Linklaget
Multiprotocol label switching (MPLS) initielt mål: øke videresendingshastigeheten på IP datagrammer ved å bruke en etikett av fast lengde (istf IP-adresse) låner ideer fra nett som bruker virtuelle forbindelser (VC) men IP-datagrammer beholder sine IP-adresser! PPP el ethernet header MPLS header IP header resten av linklagsrammen label Exp S TTL 20 3 1 5 Kap 5: Linklaget
MPLS kapable rutere det samme som “label-switched” rutere videresender pakker basert kun på label-verdi (ser ikke på IP-adressen) MPLS videresendingstabell skiller seg fra IP videresendingstabell trenger signaleringsprotokoll for å sette opp videresendingen RSVP-TE videresending mulig langs stier som IP alene ikke ville tillate kan bruke MPLS for “traffic engineering” må leve sammen med rutere som kun kan håndtere standard IP Kap 5: Linklaget
MPLS videresendingstabeller in out out label label dest interface 10 A 0 in out out label label dest interface 10 6 A 1 12 9 D 0 12 D 0 8 A 1 R6 D 1 1 R4 R3 R5 A R2 in out out label label dest interface 6 - A 0 R1 in out out label label dest interface 8 6 A 0 Kap 5: Linklaget
Kapittel 5: Oppsummering prinsipper bak linklagstjenester: feildeteksjon, feilretting deling av kringkastingskanal: multippel aksess linklagsadressering, ARP linklagsteknologier: Ethernet svitsjede lokalnett PPP MPLS Kap 5: Linklaget