Chapter 5 Link Layer and LANs A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, we d like people to use our book!) If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR All material copyright 1996-2004 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004. Siirtoyhteyskerros (2/3) 1 Siirtoyhteyskerros Siirtoyhteyskerroksen palvelut Virheiden havaitseminen ja korjaaminen Monipääsyprotokollat Siirtoyhteyskerroksen osoitteistus Ethernet Keskittimet ja kytkimet PPP Linkin virtualisointi: ATM ja MPLS Langattomat verkot Siirtoyhteyskerros (2/3) 2 1
MAC-osoitteet 32 bitin IP-osoite: verkkokerroksen osoite käytetään datagrammin siirtämiseen kohteen IPaliverkkoon MAC-osoite (LAN-, fyysinen, Ethernetosoite): käytetään datagrammin siirtämiseen kahden fyysisesti yhdistetyn liittymän välillä (samassa verkossa) 48 bitin MAC-osoite (useimmissa LANeissa) on poltettu adapterin ROM-muistiin Siirtoyhteyskerros (2/3) 3 MAC-osoitteet Jokaisella adapterilla on yksikäsitteinen MAC-osoite 1A-2F-BB-76-09-AD Broadcast address = FF-FF-FF-FF-FF-FF 71-65-F7-2B-08-53 LAN (wired or wireless) 58-23-D7-FA-20-B0 = adapter 0C-C4-11-6F-E3-98 Siirtoyhteyskerros (2/3) 4 2
MAC-osoitteet MAC-osoitteiden allokointia hallinnoi IEEE Valmistaja ostaa osan MAC-osoiteavaruudesta (varmistetaan yksikäsitteisyys) Analogia: (a) MAC-osoite: kuin henkilötunnus (b) IP-osoite: kuin postiosoite MAC-osoite ei hierarkkinen siirrettävyys voidaan siirtää LAN-kortteja verkosta toiseen IP-osoite on hierarkkinen ei siirrettävissä riippuu IP-aliverkosta, jossa laite on Siirtoyhteyskerros (2/3) 5 ARP: Address Resolution Protocol Q: Miten määritellään laitteen MAC-osoite, kun tiedetään sen IP-osoite? 237.196.7.23 71-65-F7-2B-08-53 237.196.7.88 LAN 237.196.7.78 1A-2F-BB-76-09-AD 237.196.7.14 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 Jokaisella lähiverkon IP-solmulla (päätelaite, reititin) ARP-taulukko ARP-taulukko: IP/MAC- osoitteiden vastaavuudet osalle lähiverkon solmuista < IP address; MAC address; TTL> TTL (Time To Live): aika, jonka jälkeen vastaavuus poistetaan taulukosta (esim. 20 min) Siirtoyhteyskerros (2/3) 6 3
ARP-protokolla: sama LAN A haluaa lähettää datagrammin B:lle, mutta B:n MAC-osoite ei ole A:n ARP-taulukossa A lähettää yleislähetyksenä (broadcast) ARP-kyselyn, joka sisältää B:n IP-osoitteen: kohde MAC-osoite = FF-FF-FF-FF-FF-FF kaikki laitteet samassa LANissa vastaanottavat ARPkyselyn B vastaanottaa ARP-kyselyn, vastaa A:lle omalla MACosoitteellaan vastaus lähetetään A:n MACosoitteeseen (unicast) A tallentaa IP-MACosoiteparin omaan ARPtaulukkoonsa, kunnes tieto vanhenee (time to live) tieto häviää taulukosta ellei sitä virkistetä ARP on plug-and-play : solmut luovat ARPtaulukkonsa ilman verkon ylläpitäjän toimia Siirtoyhteyskerros (2/3) 7 Reititys toiseen LANiin Lähetetään datagrammi A:lta B:lle reitittimen R kautta Oletetaan, että A tietää B:n IP-osoitteen A R B Reitittimellä R on kaksi ARP-taulukkoa, yksi kummallekin IP-aliverkolle (LANille) Siirtoyhteyskerros (2/3) 8 4
Reititys toiseen LANiin (jatkuu) A luo datagrammin, jossa lähteenä A:n IP-osoite 111.111.111.111 ja kohteena B:n IP-osoite 222.222.222.222 A katsoo reititys(forwardointi)taulukostaan, minne pitäisi lähettää; koska B eri LANissa, lähetys oletusreitittimelle R A käyttää ARPia saadakseen R:n liitynnän MAC-osoitteen IPosoitteessa 111.111.111.110 A saa vastauksena liitynnän MAC-osoitteen E6-E9-00-17-BB-4B A R B Siirtoyhteyskerros (2/3) 9 Reititys toiseen LANiin (jatkuu) A luo siirtoyhteyskerroksen Ethernet-kehyksen, jossa lähteenä A:n MAC-osoite 74-29-9C-E8-FF-55, kohteena R:n MAC-osoite E6-E9-00-17-BB-4B ja hyötykuormana IP-datagrammi A:lta B:lle A:n adapteri lähettää kehyksen; R:n adapteri vastaanottaa sen R poistaa datagrammin Ethernet-kehyksestä; näkee että se on tarkoitettu B:lle LAN2-aliverkossa R katsoo reititys(forwardointi)taulukostaan, minne pitäisi lähettää; lähetys LAN2-liitynnästä A R B Siirtoyhteyskerros (2/3) 10 5
Reititys toiseen LANiin (jatkuu) R käyttää ARPia saadakseen B:n liitynnän MAC-osoitteen IPosoitteessa 222.222.222.222 R saa vastauksena liitynnän MAC-osoitteen 49-BD-D2-C7-56-2A R luo siirtoyhteyskerroksen Ethernet-kehyksen, jossa lähteenä R:n MAC-osoite 1A-23-F9-CD-06-9B, kohteena B:n MAC-osoite 49-BD-D2-C7-56-2A ja hyötykuormana IP-datagrammi A:lta B:lle R:n adapteri lähettää kehyksen; B:n adapteri vastaanottaa sen B poistaa datagrammin Ethernet-kehyksestä; toimittaa sovellukselle A R B Siirtoyhteyskerros (2/3) 11 Siirtoyhteyskerros Siirtoyhteyskerroksen palvelut Virheiden havaitseminen ja korjaaminen Monipääsyprotokollat Siirtoyhteyskerroksen osoitteistus Ethernet Keskittimet ja kytkimet PPP Linkin virtualisointi: ATM ja MPLS Langattomat verkot Siirtoyhteyskerros (2/3) 12 6
Ethernet Hallitseva langallinen lähiverkkoteknologia: Ensimmäinen laajalti käytetty LAN-teknologia Yksinkertaisempi ja halvempi kuin token-lanit tai ATM On pysynyt mukana nopeuskisassa : 10 Mbps 10 Gbps Metcalfe s Ethernet sketch Siirtoyhteyskerros (2/3) 13 Tähtitopologia Väylätopologia oli yleinen 1990-luvun puoliväliin asti Nykyisin käytetään enimmäkseen tähtitopologiaa Kytkentävaihtoehdot: keskitin tai kytkin or switch Siirtoyhteyskerros (2/3) 14 7
Manchester-koodaus Yleinen koodaustapa (mm. Ethernet) Jokainen bitti ilmaistaan signaalin muutoksella Mahdollistaa kellojen synronoinnin ilman keskitettyä, globaalia kelloa Mutta tämä on fyysisen kerroksen asiaa Siirtoyhteyskerros (2/3) 15 Ethernetin kehysrakenne Lähettävä adapteri kapseloi IP-datagrammin (tai muun verkkokerroksen protokollapaketin) Ethernet-kehykseen Preamble: 7 tavua bittikuviolla 10101010, minkä jälkeen yksi tavu bittikuviolla 10101011 käytetään sykronoimaan lähettäjän ja vastaanottajan kellot Kehyksen päättyminen: kehyksen jälkeen on 12 tavua tyhjää Siirtoyhteyskerros (2/3) 16 8
Ethernetin kehysrakenne Osoitteet: 6 tavua Jos adapteri vastaanottaa kehyksen, jossa kohdeosoitteena oma osoite tai yleislähetysosoite (esim. ARP-paketti), se toimittaa datan ylemmän kerroksen protokollalle Muuten adapteri hylkää kehyksen Type: 2 tavua ilmaisee ylemmän kerroksen protokollan (esim. IP tai ARP) (Type on Ethernet II -standardissa; 802.3-standardissa tilalla on Length) CRC: 4 tavua vastaanottaja tarkistaa; jos havaitaan virhe, kehys hylätään Siirtoyhteyskerros (2/3) 17 Yhteydetön, epäluotettava palvelu Yhteydetön: ei kättelyä lähettävän ja vastaanottavan adapterin välillä Epäluotettava: vastaanottava adapteri ei lähetä kuittauksia lähettävälle adapterille verkkokerrokselle välitettävien datagrammien virrassa voi olla aukkoja aukot täytetään, jos sovellus käyttää TCP:tä muuten sovellus näkee aukot Siirtoyhteyskerros (2/3) 18 9
Ethernet käyttää CSMA/CD:tä Ei kanavan ositusta Adapteri ei lähetä, jos se havaitsee jonkun toisen adapterin lähettävän (carrier sense) Lähettävä adapteri keskeyttää lähetyksen, kun se havaitsee toisen samanaikaisen lähetyksen (collision detection) Ennen kuin yritetään uudelleenlähetystä, adapteri odottaa satunnaisen ajan (random access) Siirtoyhteyskerros (2/3) 19 Ethernetin CSMA/CD-algoritmi 1. Adapteri vastaanottaa datagrammin verkkokerrokselta ja luo kehyksen 2. Jos adapteri havaitsee kanavan käyttämättömäksi, se aloittaa kehyksen lähetyksen; jos se havaitsee kanavan varatuksi, se odottaa kunnes kanava on vapaana ja lähettää sitten 3. Jos koko kehys saadaan lähetettyä ilman että havaitaan törmäys, kehyksen lähetys on hoidettu! 4. Jos adapteri havaitsee toisen lähetyksen ennen kuin kehys on kokonaan lähetetty, se keskeyttää ja lähettää häiriösignaalin (jam signal) 5. Keskeytyksen jälkeen adapteri toteuttaa toimenpiteen exponential backoff: m:nnen törmäyksen jälkeen adapteri valitsee arvon K satunnaisesti väliltä {0,1,2,,2 m -1}, odottaa K 512 bitin ajan ja palaa sitten askeleeseen 2 Siirtoyhteyskerros (2/3) 20 10
Ethernetin CSMA/CD-algoritmi Jam signal: varmistetaan, että kaikki lähettäjät huomaavat törmäyksen; 48 bittiä Bitin lähetysaika: 0.1 mikrosekuntia 10 Mbps Ethernetille; jos K=1023, odotus kestää noin 50 ms Exponential backoff: Tavoite: adaptoidaan uudelleenlähetykset arvioituun sen hetkiseen kuormaan paljon kuormaa: odotus on pidempi ensimmäinen törmäys: valitaan K joukosta {0,1} toinen törmäys: valitaan K joukosta {0,1,2,3} kymmenennen törmäyksen jälkeen: valitaan K aina joukosta {0,1,2,3,4,,1023} (16. törmäys: luovutetaan ) Siirtoyhteyskerros (2/3) 21 CSMA/CD: paketin koko Jotta solmu huomaisi törmäyksen, sen täytyy olla lähettämässä Mikä on pienin paketin koko, jotta törmäys voidaan havaita? Oletetaan, että A:n ja B:n välillä on etenemisviive t prop A aloittaa lähetyksen hetkellä t 0 B aloittaa lähetyksen hetkellä t 0 + t prop (vähän ennen kuin huomaa A:n lähetyksen) B huomaa törmäyksen heti ja lopettaa lähetyksen Mutta A huomaa törmäyksen vasta hetkellä t 0 + 2t prop Joten: paketin pienin koko > 2 * max etenemisviive Siirtoyhteyskerros (2/3) 22 11
CSMA/CD: paketin koko Esimerkki: 10 Mbps Ethernet Ethernet-segmentin max pituus 500 m Voidaan yhdistää max viisi segmenttiä toistimilla -> 2500 m Nopeus kaapelissa noin 1.8 * 10 8 m/s Lisätään toistimien, lähetinten ja vastaanotinten viive -> noin 25 mikrosekunnin etenemisviive yhteen suuntaan Bitin lähetysaika 0.1 mikrosekuntia -> paketin minimikoko noin 500 bittiä IEEE määrittelee varmuuden vuoksi 512 bitin minimin 512 bittiä = 64 tavua = 46 tavua hyötykuormaa + 18 tavua otsikoita Siirtoyhteyskerros (2/3) 23 CSMA/CD: tehokkuus t prop = max etenemisaika kahden solmun välillä t trans = suurimman mahdollisen kehyksen lähetysaika 1 efficiency 1 5t / prop t trans Lähestyy 1:stä kun t prop lähestyy nollaa Lähestyy 1:stä kun t trans lähestyy ääretöntä Paljon tehokkaampi kuin ALOHA; silti hajautettu, yksinkertainen ja halpa Siirtoyhteyskerros (2/3) 24 12
10Base-T ja 100Base-T 10/100 Mbps nopeus T tarkoittaa parikaapelia (twisted pair) Jälkimmäistä kutsutaan myös nimellä Fast Ethernet (yleisin käytössä oleva standardi 100Base-TX) Max 100 m etäisyys solmun ja keskittimen välillä twisted pair Siirtoyhteyskerros (2/3) 25 Gigabit Ethernet Käyttää standardia Ethernet-kehysformaattia Mahdollistaa sekä pisteestä-pisteeseen-linkit että jaetut yleislähetyskanavat Jaetussa moodissa käytössä CSMA/CD; vaatii lyhyet etäisyydet solmujen välille, jotta olisi tehokas Full duplex nopeudella 1 Gbps pisteestäpisteeseen-linkeillä Nykyään 10 Gbps ja 100 Gbps standardeja! Siirtoyhteyskerros (2/3) 26 13
Siirtoyhteyskerros Siirtoyhteyskerroksen palvelut Virheiden havaitseminen ja korjaaminen Monipääsyprotokollat Siirtoyhteyskerroksen osoitteistus Ethernet Keskittimet ja kytkimet PPP Linkin virtualisointi: ATM ja MPLS Langattomat verkot Siirtoyhteyskerros (2/3) 27 Keskittimet Keskitin () on oleellisesti fyysisen kerroksen toistin: bitit, jotka tulevat yhdestä linkistä, kopioidaan muihin linkkeihin samalla nopeudella, ilman kehysten puskurointia ei CSMA/CD:tä keskittimillä, vaan törmäykset havaitaan adaptereilla tarjoavat joitain verkonhallinnan toimenpiteitä twisted pair Siirtoyhteyskerros (2/3) 28 14
Verkottuminen keskittimillä Runkoverkon keskitin yhdistää LAN-segmentit Kasvattaa solmujen välistä maksimietäisyyttä Mutta erilliset segmenttien törmäysalueet yhdistyvät yhdeksi suureksi törmäysalueeksi Ei voida yhdistää eri nopeudella toimivia teknologioita (esim. 10Base-T ja 100Base-T) Siirtoyhteyskerros (2/3) 29 Kytkin Siirtoyhteyskerroksen laite Ethernet-kehysten tallennus ja jatkolähetys tutkii kehyksen otsikot ja forwardoi ne valikoiden kohde MAC-osoitteen perusteella kun kehystä forwardoidaan segmenttiin, käytetään CSMA/CD:tä segmentille pääsyyn Läpinäkyvä päätelaitteet eivät tiedä kytkinten olemassaolosta Plug-and-play, itseoppiva kytkimiä ei tarvitse konfiguroida Siirtoyhteyskerros (2/3) 30 15
Forwardointi 1 2 3 switch Miten määritellään, mihin LAN-segmenttiin kehys pitäisi forwardoida? Näyttää reititysongelmalta... Siirtoyhteyskerros (2/3) 31 Itseoppiminen Kytkimellä on kytkintaulukko (switch table) Taulukossa on tiedot: (MAC-osoite, liityntä, aikaleima) vanhat tiedot poistetaan (TTL esimerkiksi 60 min) Kytkin oppii, mitkä päätelaitteet voidaan tavoittaa minkäkin liittymän kautta: kun kehys vastaanotetaan, kytkin oppii lähettäjän sijainnin: sisääntuleva LAN-segmentti tallentaa lähettäjä-sijainti-parin kytkintaulukkoon Siirtoyhteyskerros (2/3) 32 16
Suodatus/jatkolähetys Kun kytkin vastaanottaa kehyksen: Käydään läpi kytkintaulukko etsien kohde MAC-osoitetta if entry found for destination then{ if dest on segment from which frame arrived then drop the frame else forward the frame on interface indicated } else flood forwardoi kaikkiin liittymiin, paitsi siihen, josta kehys vastaanotettiin Siirtoyhteyskerros (2/3) 33 Kytkin: esimerkki Oletetaan, että C lähettää kehyksen D:lle A switch 1 2 3 address I A B E G interface 1 1 2 3 B C D E F G H Kytkin vastaanottaa kehyksen C:ltä C ei ole vielä taulukossa; taulukkoon lisätään, että C on liittymän 1 takana D ei ole taulukossa; forwardoidaan kehys liittymiin 2 ja 3 D vastaanottaa kehyksen Siirtoyhteyskerros (2/3) 34 17
Kytkin: esimerkki (jatkuu) Oletetaan, että D vastaa C:lle A switch 1 2 3 address I A B E G C interface 1 1 2 3 1 B C D E F G H Kytkin vastaanottaa kehyksen D:ltä D ei ole vielä taulukossa; taulukkoon lisätään, että D on liittymän 2 takana C on taulukossa; forwardoidaan kehys vain liittymään 1 C vastaanottaa kehyksen Siirtoyhteyskerros (2/3) 35 Kytkin: liikenteen eristäminen Kytkin jakaa aliverkon LAN-segmentteihin Kytkin suodattaa paketit: segmentin sisäisiä kehyksiä ei yleensä forwardoida muihin segmentteihin segmenteistä tulee erillisiä törmäysalueita switch collision domain collision domain collision domain Siirtoyhteyskerros (2/3) 36 18
Kytkin: dedikoidut liitynnät Kytkin, jossa useita liityntöjä Päätelaitteilla on suora yhteys kytkimeen C A B Ei törmäyksiä; full duplex switch Switching: A->A ja B->B samanaikaisesti, ei törmäyksiä B A C Siirtoyhteyskerros (2/3) 37 Lisää kytkimistä Voidaan käyttää: cut-through switching ei odoteta koko kehyksen vastaanottamista vaan kehys forwardoidaan sisääntulosta ulostuloon heti kun tiedetään, mihin se on menossa vähentää hieman viivettä Voidaan yhdistellä: jaetut/dedikoidut liitynnät 10/100/1000 Mbps liitynnät Siirtoyhteyskerros (2/3) 38 19
Institutionaalinen verkko to external network router mail server web server switch IP subnet Siirtoyhteyskerros (2/3) 39 Kytkimet vs. reitittimet Molemmat tallenna-ja-jatkolähetä-laitteita Reititin: verkkokerroksen laite (tutkii verkkokerroksen otsikoita) ylläpitää reititystaulukkoa käyttää reititysalgoritmeja Kytkin: siirtoyhteyskerroksen laite (tutkii siirtoyhteyskerroksen otsikoita) ylläpitää kytkintaulukkoa käyttää suodatusta ja oppimisalgoritmeja (Bridge Switch) ~ Siirtoyhteyskerros (2/3) 40 20
Vertailua s switches routers traffic isolation no yes yes plug & play yes yes no optimal routing cut through no yes no yes yes no Siirtoyhteyskerros (2/3) 41 21