Linklaget. Internettets Overlay Arkitektur. Olav Lysne. IP-link. (med bidrag fra Stein Gjessing og Frank Eliassen) Linklaget 1. C.b B.a. A.a. c a. A.

Like dokumenter
Linklaget. Feildeteksjon/feilretting - pålitelig overføring. Foreleser: Kjell Åge Bringsrud kjellb 2/9/2005 1

Linklaget. Feildeteksjon/feilretting - pålitelig overføring. Foreleser: Kjell Åge Bringsrud kjellb 2/17/2004 1

Internettets Overlay Arkitektur

Linklaget. Stop-and-Wait. Hvis vi ikke fyller opp røret. Fyll opp røret. Feildeteksjon/feilretting - pålitelig overføring

Oversikt. Linklaget. Olav Lysne. (Koding) (Framing) Feilkontroll/feilretting (bare litt) Flytkontroll Eksempler

Linklaget. Feildeteksjon/feilretting. Feil-deteksjon. Feildeteksjon/feilretting - pålitelig overføring. Oppgaver: 1. Finne feil 2.

Linklaget. Internettets Overlay Arkitektur. Olav Lysne. IP-link. (med bidrag fra Stein Gjessing og Frank Eliassen) Linklaget 1. C.b B.a. A.a. c a. A.

Linklaget - direkte. forbindelser mellom noder. Foreleser: Kjell Åge Bringsrud kjellb 2/8/2005 1

forbindelser mellom noder Kjell Åge Bringsrud kjellb Foreleser: Linklaget - direkte 2/6/2006 1

Linklaget. Olav Lysne. (med bidrag fra Stein Gjessing og Frank Eliassen) Oppsummering 1

Linklaget - direkte forbindelser mellom noder. Tilbakeblikk. Tilbakeblikk. Generelt om Link-laget

Litt mer detaljer om: Detaljerte funksjoner i datanett. Fysisk Lag. Multipleksing

Dypere forståelse av Linklaget Egenskaper ved Ethernet CSMA/CD

Detaljerte funksjoner i datanett

Medium Access Control (MAC) Linklaget avslutning. Kjell Åge Bringsrud kjellb. Foreleser: 14/02/2006 1

Detaljerte Funksjoner i Datanett

in270 Datakommunikasjon, vår 03 forelesningsnotater kap og 7.1/7.2

Kapittel 7: Nettverksteknologier

Linklaget - avslutning

Kapittel 4: Transportlaget

ITF20205 Datakommunikasjon - høsten 2011

Litt mer detaljer om: Detaljerte funksjoner i datanett. Fysisk Lag. Multipleksing

in270 Datakommunikasjon, vår 03 forelesningsnotater, kap. 4

Linklaget - direkte forbindelser mellom noder

Litt mer detaljer om: Detaljerte funksjoner i datanett. Fysisk Lag. Multipleksing

Kapittel 11. Multipleksing og multippel aksess

Litt mer detaljer om: Tids multipleksing

Sentrale deler av pensum i INF

Detaljerte Funksjoner i Datanett

Sentrale deler av pensum i INF240. Hensikt. Pål Spilling og Kjell Åge Bringsrud

Computer Networks A. Tanenbaum

Oppsummering: Linjesvitsjing kapasiteten er reservert, og svitsjing skjer etter et fast mønster. Linjesvitsj

Transport - laget (ende-til-ende protokoller) Internett Best-effort overføring. Best-effort nett kvaliteter

KTN1 - Design av forbindelsesorientert protokoll

IT Grunnkurs Nettverk 3 av 4

TDT4110 IT Grunnkurs: Kommunikasjon og Nettverk. Læringsmål og pensum. Hva er et nettverk? Mål. Pensum

Høgskolen i Molde Institutt for Informatikk Prøveeksamen 1 in270: Datakommunikasjon Våren 2003 Skisse til svar:

INF1040 Oppgavesett 6: Lagring og overføring av data

Computer Networks A. Tanenbaum

Løsningsforslag Gruppeoppgaver, januar INF240 Våren 2003

Høgskolen i Molde Institutt for Informatikk Eksamen in270: Datakommunikasjon Våren 2003 Skisse til svar:

a) Vis hovedelementene i GSM-arkitekturen og beskriv hovedoppgavene til de forskjellige funksjonelle enhetene i arkitekturen

Detaljerte funksjoner i datanett

Kapittel 6: Lenkelaget og det fysiske laget

Gjennomgang av kap Kommunikasjonsformer Typer av nettverk Adressering og routing Ytelse Protokoller

INF Hjemmeeksamen 1 - Vår 2014 Bridging på linklaget

Hva består Internett av?

Løsningsforslag til EKSAMEN

a) Vis hvordan en samtale fra en fasttelefon til en mobiltelefon i GSM settes opp.

Kapittel 10 Tema for videre studier

Høgskolen i Molde Institutt for Informatikk Prøveeksamen 2 in270: Datakommunikasjon Våren 2003 Skisse til svar:

Transport - laget (ende-til-ende protokoller) Glidende vindu protokoll. Flyt kontroll. dataoverføringsfasen. Sender. Mottaker

Lagene spiller sammen

Datakommunikasjon - Oblig 2

Avtale om Bitstrøm: Vedlegg C Bitstrøm NNI Produktblad

Kommunikasjonsnett. Et kommunikasjonsnett er utstyr (maskinvare og programvare) for utveksling av informasjon

Tid og koordinering. Foreleser: Olav Lysne

IT Grunnkurs Nettverk 2 av 4

Hva er en protokoll? INF1060 Introduksjon 2

Bakgrunn. Tid og koordinering. Foreleser: Olav Lysne

Input/Output. når tema pensum. 13/4 busser, sammenkobling av maskiner /4 PIO, DMA, avbrudd/polling

IEEE Trådløs MAN

Nettlaget. Nettlagets oppgaver

EKSAMEN. Emne: Datakommunikasjon

Det fysiske laget, del 2

1 INTRODUKSJON SAMMENKOBLING AV ET INTERNETTVERK... 2

Forelesning Oppsummering

Løsningsforslag. Datakommunikasjon

in270 Datakommunikasjon, vår 03 forelesningsnotater

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer

2EOLJDWRULVNRSSJDYHQU L GDWDNRPPXQLNDVMRQ + VWHQ.,QQOHYHULQJVIULVWRNWREHU *MHQQRPJnVWRUVGDJRNWREHU

Extreme Fabric Connect / Shortest Path Bridging

Løsningsforslag Gruppeoppgaver mars 2003

Bilag 2.4. VULA ODP Produktblad

6105 Operativsystem og nettverk

IEEE Trådløs MAN. Skille mellom: Funksjoner: Fysiske Lag MAC Lag QoS. Foreleser: Kjell Åge Bringsrud Epost:

1990 første prognoser og varsler om at det ikke vil være nok IPv4 adresser til alle som ønsker det 1994 første dokumenter som beskriver NAT en

Flere detaljerte funksjoner i datanett

Forelesning Lagdeling i Internettarkitekturen

EKSAMEN. Emne: Datakommunikasjon

IT1101 Informatikk basisfag Dobbeltime 25/9

Det fysiske laget, del 2

Reelle tall på datamaskin

Grunnleggende om datanett. Av Nils Halse Driftsleder Halsabygda Vassverk AL IT konsulent Halsa kommune

høst en 2002 Forelesning nr 6, m andag 22. sept em ber Chapt er 4, Net w ork Layer and Rout ing Chapt er 5, Link layer and Loc al Area Net w ork s

EKSAMEN. Emne: Datakommunikasjon. Dato: 30. Nov 2016 Eksamenstid: kl. 9:00 til kl. 13:00

Praktisk informasjon. Forelesning 1. Forelesningsform. Lærebok. Lærebok forts. Eksamen. Forelesninger. ØvingerØvinger

Løsningsforslag EKSAMEN

MTU i nettverk Ei lita innføring i generelt nettverk. Av Yngve Solås Nesse Bildeseksjonen/MTA/Haukeland universitetssjukehus

Programmering, oppsett og installasjonsløsninger av LIP-8000 serien IP apparater

Løsningsforslag Gruppeoppgaver, 28. april 2. mai. 1. Metningskontroll ( Congestion control ) og ressursallokering.

TwidoSuite kommunikasjon

Medium Access Control (3)

Nettverkslaget. Fragmentering/framsending Internetworking IP

* + & 2 ( 3+ /. + 4 ( ' 5 ' " 5 0 *. :(( 4 4( " 5

Kapittel 5 Nettverkslaget

Forelesning 1. Introduksjon til (eller repetisjon av) TCP/IP Datasikkerhet

6107 Operativsystemer og nettverk

6107 Operativsystemer og nettverk

Introduksjon til nettverksteknologi

Transkript:

Linklaget Olav Lysne (med bidrag fra Stein Gjessing og Frank Eliassen) Linklaget 1 Internettets Overlay Arkitektur IP-link C.b B.a A.a a C b d a b A.c c a B c b A Linklaget 2

Link-typer Tre typer av linker: (a) Punkt-til-punkt (enkel kabel) (b) Broadcast link (delt kabel eller annet medium; f. eks eldre Ethernet og trådløs) (c) Svitsjet (f.eks svitsjet Ethernet og ATM) Linklaget 3 Link Lagets tjenester! Framing og linkaksess: " Pakke data inn i en ramme (frame), og legge til hode og hale. " Implementere kanalaksess dersom det er delt medium. " fysiske adresser blir brukt i rammeheaderene til å identifisere kilde og destinasjon når det er delt medium.! Pålitelig levering: " Sjelden brukt i fiber optikk, co-axial kabel og noen varianter av twisted pair pga. lav feil-rate. " Brukt på trådløslinker hvor målet er å redusere feil, og unngå ende til ende retransmisjoner. Linklaget 4

Linklagets tjenester (mer)! Flytkontroll: " Hastighetsavpassing mellom sender og mottaker.! Feildeteksjon: " Feil kommer av støy og signalreduksjon " Mottaker oppdager feil i mottatt ramme. " Den signalerer for retransmisjon, eller den bare kaster rammen.! Feilkorreksjon: " Mekanisme hvor mottakeren retter feilen uten å be om retransmisjon. Linklaget 5 Feilfinning/feilretting! Oppgaver: " 1. Finne feil " 2. Rette feil To alternativer til å rette feil: A. Ha nok informasjon til å rette opp de mottatte dataene B. Be om at dataene (rammen) blir sendt en gang til (C. Gi blanke, det er ikke så farlig å miste litt data) " Generelt prinsipp i informatikken: Oppdag feilen så fort som mulig etter at den har oppstått! Linklaget 6

Feil-deteksjon! Bit-feil i rammer " behov for mekanismer som oppdager bit-feil! Teknikker som ofte benyttes i datanett " Paritet - to-dimensjonal paritet BISYNC ved ASCII overføring " Sjekksum flere Internett-protokoller " Cyclic Redundency Check (CRC) svært utbredt Linklaget 7 Paritet (tversum) Ett paritetsbit: F.eks. 7 bit data, sendes som 8 bit Like paritet dvs. et like antall enere i resultatet Odde paritet dvs. et odde antall enere i resultatet Like paritet: 0110001 sendes som 01100011 Odde paritet: 0110001 sendes som 01100010 Mulig med flere paritetsbit Generelt: Jo mer data til redundanse, jo flere feil oppdages. Linklaget 8

Internett sjekksum algoritme! Se på en melding som en sekvens av 16- biters heltall " Senderen adderer disse heltallene sammen ved bruk av 16-biters aritmetikk " Dette 16-biters tallet er sjekksummen " Mottaker utfører samme beregning og sammenligner resultatet med den mottatte sjekksum " Får mottaker feil resultat er det bitfeil enten i dataene eller i sjekksummen! Benyttes ende til ende i Internett Linklaget 9 CRC: Cyclic Redundancy Check Generalisering av paritet Punkter i et n-dimensjonalt rom Kodeord Data (med hode) Sjekk/CRC Like paritet: Kodeordet delt på 2 skal ikke gi rest CRC: Kodeordet delt på et tall, G, skal ikke gi rest Dette tallet vi deler på kaller vi Generatorpolynomet Deling foregår med modulo-2 regning, dvs ikke mente eller låning. Linklaget 10

Pålitelig overføring! rammer med feil CRC kastes! Fint om vi kan rette opp feilen! Hvis feilen ikke kan rettes opp, og vi trenger rammen, da må den sendes en gang til!! Også her er det en avveiing: Ende-til ende eller mellom noder? (Problemkomplekset med doblet/triplet (mm.) funksjonalitet) Linklaget 11 Pålitelig overføring! Når omsending av rammer er nødvendig:! To fundamentale mekanismer " kvitteringer (engelsk: acknowledgements, ack) " er (timeouts) vha. vekkeklokke (timer)! Husk at også kvitteringer kan bli borte! Ønsker vi at rammene skal komme frem i riktig rekkefølge? Linklaget 12

Stop-and-Wait (stopp og vent) Sender A 2. ACK Mottaker B 1. ramme Mottaker sender ack tilbake når en ramme er mottatt, og først når sender mottar ack, sendes ny ramme. På denne måten blir ikke mottaker oversvømmet av rammer, og avsender vet at alle rammer er kommet trygt fram. Men hva hvis rammer blir borte? Linklaget 13 Stop-and-Wait (stopp og vent)! Grunnleggende algoritme: " send én ramme og vent på kvittering (ACK ramme) " dersom ACK ikke mottatt innen gitt, send rammen på nytt. ramme ACK ramme ramme ACK Linklaget 14

Stop-and-Wait! Problem 1 med grunnleggende algoritme: " Men kanskje det var ACK som ble borte " Vi må kunne sende den samme rammen på nytt, selv om den allerede er kommet riktig frem ramme ACK ramme ACK Linklaget 15 Stop-and-Wait! Problem 2 med grunnleggende algoritme: " Kanskje vi sendte rammen omigjen for tidlig " Vi må godta at ACK kommer for sent ramme ACK ramme ACK Linklaget 16

Stop-and-Wait!Må sende rammen på nytt og på nytt helt til ACK kommer tilbake ramme ramme ACK ramme ACK ramme ACK Linklaget 17 Løsning: sekvensnummer A ACK (send meg k+1) k+1 k+1 k+1 Mottaker B k+1 k k k k k Ramme nr. k Neste bilde: Det er nok med en en-bit teller (0 og 1) k, k+1 regnes da ut modulo 2. (En buffers Sliding window protokoll) Linklaget 18

Sekvensnummer som 0 og 1! 0 og 1 som sekvensnummere " En bit er nok når vi har én ramme ad gangen ACK 1: Send ramme med odde sekvensnummer ACK 0: Send ramme med like sekvensnummer! Altså:, 1, 2, 3, 4, 5, sendes som, 1, 0, 1, 0, 1, ACK 1 ACK 1 ramme 1 ACK 0 ACK 1 Linklaget 19 0-1 sekvensnummer! Går dette bra?! Ja, fordi: - like ramme (0) sendes ut - ignorerer (gamle) ACK 0 - resender like ramme (0) I det ACK 1 kommer: - odde ramme (1) sendes ut - ignorerer (gamle) ACK 1 - resender odde ramme (1) I det ACK 0 kommer: - like ramme (0) sendes ut - ignorerer (gamle) ACK 0 - resender like ramme (0) I det ACK 1 kommer: osv. ACK 1 ACK 1 ramme 1 ACK 1 ACK 0 Linklaget 20

Tilstandsmaskin for en bit protokoll Ta imot ack 0 Ta imot Start Send Send ack 1 Ta imot ack 0 Ta imot ack 1 Ta imot Ta imot ramme 1 Start Ta imot ack 1 Sender Send ramme 1 Ta imot ramme 1 Mottaker Send ack 0 Linklaget 21 Et bit protokoll A ACK (send meg k+1) 1 1 1 B k k+1 k+2 k+3 k+4 k+5 0 1 0 1 0 1 0 Ramme nr. k 0 0 0 A Sender ACK (send meg k+2) 0 0 0 Mottaker B k+1 1 k+2 0 k+3 1 k+4 0 k+5 1 1 Ramme nr. k + 1 1 1 1 Linklaget 22

Stop-and-Wait! Det gjør ikke noe om mottaker gjentar en ACK, men det er ikke vanlig, dvs. at det er bare vanlig å sende ACK når en ramme ankommer. Ved mye rammetap kan det være gunstig å gjenta ACK selv om det ikke kommer en ny ramme ACK 1 ACK 1 ACK 1 ramme 1 ACK 0 Linklaget 23 Stop-and-Wait! Grunnleggende svakhet: " utnytter linjekapasiteten dårlig senderen kan bare ha én utestående ramme til enhver tid! Eksempel: " 1.5Mbps link x 45ms RTT = 67.5Kb (8KB) dvs. 8KB data kan sendes før første ack kan ventes tilbake " anta rammestørrelse 1KB " stop-and-wait bruker ca. 1/8 av linjekapasiteten (om ingen feil) " Mål: senderen må kunne sende opp til 8 rammer før den må vente på en ACK moralen er: fyll opp røret Avsender Mottaker Linklaget 24

Fyll opp røret Utnytte linjen bedre. Sender flere rammer rett etter hverandre: A rammer B rammer Putte ACK/NAK på ryggen til meldinger som går den andre veien ( piggyback ) Linklaget 25 Glidende vindu! Idé: " Tillat senderen å sende flere rammer før den mottar ACK for derved å holde røret fullt. " Det må være en øvre grense på antall rammer som kan være utestående (som det ikke er mottat ACK for). sender mottaker Eksempel: maks. 5 utestående rammer Linklaget 26

Glidende vindu Flere bufre hos sender og flere bufre hos mottaker, mange rammer med forskjellige nummer og mange ack/nack med forskjellige nummer under veis hele tiden. ACK/NACK rammer Linklaget 27 Glidende vindu Sendt men ikke fått ack, må kanskje sendes på nytt (vil bli resendt om ack aldri mottas) Disse tre er motatt og kvittert (ack sendt) (men kan ikke sendes videre før x motatt) Ikke motatt x rammer ack/nak x Linklaget 28

Glidende vindu: sender! Tilordner sekvensnummer til hver ramme (SeqNum)! Vedlikeholder tre tilstandsvariable " send window size (SWS) " last acknowledgment received (LAR) " last frame sent (LFS)! Vedlikeholder invariant: LFS - LAR! SWS Rammer som er bekreftet Rammer som venter på å bli bekreftet Rammer som ikke er sendt N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10N+11 N+12N+13N+14 SWS=8 LAR! SWS LFS flyt stoppet Når ACK mottas, økes LAR, og derved kan ny ramme sendes slik at LFS økes. Buffer for opptil SWS rammer, dvs SWS rammer i røret samtidig Linklaget 29 Glidende vindu: mottaker! Vedlikeholder tre tilstandsvariable " receive window size (RWS) " largest acceptable frame (LAF) " last frame recived (LFR) (med alle mindre rammer også motatt)! Vedlikeholder invariant: LAF - LFR! RWS Rammer som er mottatt Rammer som kan mottas (muligens ute av rekkefølge) N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10N+11 N+12N+13N+14 LFR! RWS LAF Linklaget 30

Glidende vindu: mottaker! Kumulativ kvittering ( go back n protokoll), dvs. vi ack-er ikke nye rammer hvis det er hull i sekvensen av mottatte rammer " if LFR < MottatRamme.SeqNum < LAF then ta-imot-rammen-og-legg-den-på-plass; beregn-nye-grenser (MottatRamme.SeqNum); else kast rammen; send ACK (LFR + 1) // se neste lysark Rammer som er mottat Rammer som kan mottas (muligens ute av rekkefølge) N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10N+11 N+12N+13N+14 LFR! RWS LAF Linklaget 31 Glidende vindu: mottaker! Invariant: LFR + 1 er første ramme som ikke er mottatt! bergen-nye grenser(seqno) if seqno = LFR + 1 { beregn ny LFR og LAF: for (i= LFR + 1; ramme i er mottatt; i++) { } ; LFR = i-1; LAF = LFR + RWS; } første som ikke er mottatt N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10N+11 N+12N+13N+14 LFR SeqNum LAF Linklaget 32

Glidende vindu: mottaker! Varianter til go back n protokoll " Negativ kvittering (NAK) mottaker sender NAK på rammer som savnes " Selektiv kvittering (SAK) mottaker sender ACK på nøyaktig de rammer som mottas disse behøver da ikke re-sendes " Både SAK og NAK øker kompleksiteten til implementasjonen, men kan potensielt bedre utnyttelsen av linjen Linklaget 33 Glidende vindu: endelige sekvensnummer! I praksis representeres sekvensnummer med et endelig antall biter.! n biters sekvensnummer => intervall sekv. nr. = (0..2 n -1)! I HDLC: n = 3, dvs. sekvensnummerintervall (0..7) " " sekvensnummer må gjenbrukes 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 Problem skille mellom ulike inkarnasjoner av samme numre Minimum krav: sekvensnummerintervallet må være større enn maks. antall utestående rammer Linklaget 34

Glidende vindu: endelige sekvensnummer! SWS! MaxSeqNum+1 er ikke tilstrekkelig " anta 3 biters SeqNum felt (0..7) " SWS=RWS=8 " senderen transmitterer rammene 0..6 " mottas uten feil, men ACK går tapt " senderens utløper, rammene 0..6 sendes på nytt " mottaker forventer 7,0..5, men mottar andre inkarnasjon av 0..5! SWS,RWS! (MaxSeqNum+1)/2 er riktig regel 6 5 7 4 0 3 1 2 Hindrer overlapp mellom nedre kant av sendervinduet og øvre kant av mottakervinduet. Linklaget 35 Glidende vindu: endelige sekvensnummer! Eksempel: SWS, RWS = 4 LAR 7 0 6 1 5 2 4 3 LFS LAR 7 0 6 1 5 2 4 3 LFS send rammer 0..3 ACK 4 send rammer 0..3 LFR 7 0 6 5 1 2 4 3 LAF 7 0 LAF 6 1 5 2 4 3 LFR Hva bør mottaker nå gjøre? Linklaget 36

ETHERNET Linklaget 37 CSMA/CD (Ethernet)! Historie " Utviklet på Xerox PARC (Palo Alto Research Center) ca. 1975 " Standardisert av Xerox, DEC og Intel i 1978 " Videre standardisert av IEEE (802.3) " Utviklet fra Aloha pakke-radio protokoll (Univ. Hawaii) Aloha protokollen sender en pakke (ut i eteren ) og håper at det ikke blir noen kollisjon (delt eter ) Hvis ACK tilbake: OK Ikke ACK tilbake/nak: antagelig kollisjon - send på nytt Ble brukt til å sende data mellom øyene på Hawaii Linklaget 38

CSMA/CD (Ethernet)! CSMA/CD " Carrier Sense (noder kan skille mellom ledig og opptatt linje) " Multiple Access (flere noder aksesserer samme medium) " Collition Detection (en node kan lytte mens den sender) Båndbredde: 10Mbps, 100Mbps, 1Gbps (Virkemåten til 100Mbps og 1Gbps kommer senere) Problem: Distribuert algoritme som gir rettferdig adgang til et felles medium (Ethernet-kabelen) Linklaget 39 CSMA/CD (Ethernet)! Relasjon til OSI modellen Logisk link lag Medium aksess lag Fysisk lag Vi fokuserer på dette sublaget (MAC) Medium aksess betyr: hvordan få tilgang til mediet, dvs. hvordan få lov til å sende Linklaget 40

CSMA/CD (Ethernet)! Virkemåte (oversikt) " Som en bus: bare én node kan sende om gangen " I motsetning til intern databus: I en databus sørger egen logikk for eksklusiv adgang til bussen " Ethernet: ingen kontakt (annen enn Ethernettkabelen selv) mellom senderne 1. Lytt på nettet (kabelen) 2. Hvis ledig: send ut rammen 3. Fortsett å lytte på nettet (mens sendig pågår) Hvis det som høres er det samme som sendes: OK Hvis det som høres ikke er lik det som sendes: Kollisjon (noen andre prøvde å sende rett etter meg) Prøv på nytt senere. Linklaget 41 CSMA/CD (Ethernet)! Klassisk Ethernet " Maksimum 500 meter per segment (50ohm coaxial kabel) " Segmenter kobles sammen med repeatere " Ikke mer enn to repeatere mellom hver node (" max 1500 meter) " Max 1024 noder " Kringkastingsnett ( alle hører alt ) " Kalles også 10Base5 ( tykketer ) hovedsegment repeater " Begrensning på lengde for å være sikker på at sender hører kollisjonen før han er ferdig med å sende (T/R tid) Linklaget 42

CSMA/CD (Ethernet)! Rammeformat " Ethernet 46-1500 byte 64 48 48 16 32 8 Dest Source Post Preamble addr addr Type Body CRC amble IEEE 802.3 64 48 48 16 32 Preamble Dest addr Source addr Length Adresser. Kalles MAC-adresser Entydig 48-biters adresse tilordnes hver adapter ( brent inn I adapteren) Eksempel: 8:0:2b:e4:b1:2 Kringkastingsadresse: ff:ff:ff:ff:ff:ff (kun 1-ere) Multicast: første bit er 1 Body CRC Linklaget 43 CSMA/CD (Ethernet)! Mottaker algoritme " En Ethernet adapter mottar alle rammer og aksepterer: rammer adressert til dens unicast (én til én) adresse rammer adressert til kringkastingsadressen rammer adressert til enhver multicast adresse den er blitt programmert til å akseptere alle rammer når den kjører i åpen ( promiscuous ) modus Linklaget 44

CSMA/CD (Ethernet)! Sender algoritme: " Hvis linjen er ledig send umiddelbart maks meldingsstørrelse (data) er 1500 byte Må vente 51µs mellom etterfølgende rammer gir andre stasjoner en sjanse å sende sine rammer " Hvis linjen er opptatt vent til den blir ledig og send umiddelbart kalles 1-persistent sender med sannsynlighet 1 når linjen er ledig spesialtilfelle av p-persistent (0 < p < 1) Linklaget 45 CSMA/CD (Ethernet)! Sender algoritme (forts.): " Hvis kollisjon oppstår: send ytterlige 512 biter ( jam ), stopp så å sende rammen minimum ramme er 64 byte (header + 46 byte data) Vent en tid og forsøk igjen 1. gang: uniformt fordelt mellom 0 og 51.2µs 2. gang: uniformt fordelt mellom 0 og 102.4µs 3. gang: uniformt fordelt mellom 0 og 204.8µs n-te gang: uniformt fordelt mellom 0 og 2 (n-1) *51.2µs kalles exponential backoff gir opp etter flere forsøk (vanligvis 16) Linklaget 46

CSMA/CD (Ethernet)! Hvorfor minst 64 byte ramme og 51.2 µs? " T/R-tid kan være opptil 51.2 µs " Nok tid til å sende 512 bit over 10Mbps Ethernet " Sikrer at alle adaptere oppdager kollisjonen (inkl. senderen!) " Ventetid mellom etterfølgende rammer fra samme adapter på minimum 51.2 µs (jfr. over) sikrer at kabelen er tom overalt før neste forsøk A rammen starter ved tid 0 B A rammen nesten ved B etter #$% B A B A støy når A ved tid 2# B kollisjon ved tid # men A må fortsatt sende ved tid 2# for å oppdage kollisjonen Linklaget 47 CSMA/CD (Ethernet)! Ethernet i praksis " 10-200 noder (ikke 1024) " Lengden som regel en tiendedel av maks. (RTT (T/R-tid) nærmere 5µ enn 51µ) " Bør ikke ha ha større last enn 30% ellers går for mye tid bort i kollisjoner " Best med store rammer " Stjernenett brukes mer og mer svitsjede Ethernet med en stasjon per segment 100 Mbit og 1Gbit Ethernet Linklaget 48

3.2 Lokalnett-svitsjing! Hvordan forbinde flere Ethernet! Kalles lokalnett-svitsjing (LAN-switching)! En Ethernet svitsj er gjerne en avansert bro Bridge (norsk: Bro) brukes generelt om en enhet som binder sammen to nett, gjerne med forskjellige protokoller. Ethernet Bridge Broen kan ta imot alle rammer og sende dem videre på det andre nettet (promiskuøs modus) Men er dette lurt? Linklaget 49 Lærenemme broer! For alle rammer som kommer inn, noter avsenderadresse, A, og innkommende link, L.! Når en ramme kommer inn på en annen link med mottakeradresse A, send den ut på link L.! Hvis mottakeradressen ikke finnes i tabellen, kringkastes rammen A B C D E 2 1 Ethernet bro med fremsendingstabell Vert A K B H C E Port 1 3 1 2 1 2 3 E E G H I J K L M N Linklaget 50

Løkker i lokalnett Da blir jo rammer videresendt i det uendelige Linklaget 51 En valgt sjef lager et spenntre Hva brukes nå denne til? Sjef/rot Linklaget 52

Ethernet Teknologier: 10Base2! 10==10Mbps; 2==under 200 meter maks kabellengde i et segment.! Bruker tynn koaksialkabel i en bussteknologi.! Repeatere blir brukt til å koble sammen multiple segmenter (opp til 5). Linklaget 53 10BaseT og 100BaseT! 10/100 Mbps rate; sistnevnte kalles fast Ethernet! T står for Twisted Pair! Nodene er koblet til en Hub med twisted pair, altså i stjernetopologi! CSMA/CD implementert i Hub en. Linklaget 54

10BaseT og 100BaseT (mer)! Max distanse fra node til Hub er 100 meter! Hub kan disconnekte en pratmaker adapter ; 10base2 ville slutte å virke dersom ett adapter snakket hele tiden.! Hub kan samle informasjon og statistikk til LAN administratoren. Linklaget 55 Gbit Ethernet! Bruker standard Ethernet rammeformat! Tillater punkt-til-punkt linker og delte broadcast-kanaler.! CSMA/CD brukes i delt modus; kort avstand mellom noder for effektivitet.! Full-Duplex ved 1 Gbps for punkt-til-punkt linker Linklaget 56