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

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

Linklaget - direkte forbindelser mellom noder

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

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

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

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

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

Internettets Overlay Arkitektur

Linklaget - avslutning

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.

Detaljerte funksjoner i datanett

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

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.

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

Kapittel 4: Transportlaget

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

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

in270 Datakommunikasjon, vår 03 forelesningsnotater

ITF20205 Datakommunikasjon - høsten 2011

Detaljerte Funksjoner i Datanett

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

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

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

INF1040 Oppgavesett 6: Lagring og overføring av data

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

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

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

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

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

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

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

Sentrale deler av pensum i INF

Litt mer detaljer om: Tids multipleksing

KTN1 - Design av forbindelsesorientert protokoll

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

Flere detaljerte funksjoner i datanett

2EOLJDWRULVNRSSJDYHQU L GDWDNRPPXQLNDVMRQ + VWHQ.,QQOHYHULQJVIULVWRNWREHU *MHQQRPJnVWRUVGDJRNWREHU

Detaljerte Funksjoner i Datanett

Løsningsforslag til EKSAMEN

IT Grunnkurs Nettverk 3 av 4

Løsningsforslag Gruppeoppgaver, januar INF240 Våren 2003

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

Det fysiske laget, del 2

Computer Networks A. Tanenbaum

Hva består Internett av?

Kapittel 6: Lenkelaget og det fysiske laget

Detaljerte funksjoner i datanett

Kapittel 7: Nettverksteknologier

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

Ennå litt mer detaljer: Flere detaljerte funksjoner i datanett

Computer Networks A. Tanenbaum

Obligatorisk oppgave nr 2 i datakommunikasjon. Høsten Innleveringsfrist: 04. november 2002 Gjennomgås: 7. november 2002

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

Tall. Posisjons-tallsystemer. Representasjon av heltall. Tall positive, negative heltall, flytende tall. Tekst ASCII, UNICODE XML, CSS

Kapittel 5 Nettverkslaget

Kapittel 10 Tema for videre studier

INF2270. Input / Output (I/O)

Ennå litt mer detaljer: Flere detaljerte funksjoner i datanett

Teknisk informasjon. CAN-bus. CAN-bus-historien. Hva betyr egentlig CAN: CAN står for Controller Area Network

Modell: en binær symmetrisk kanal. binær: sendes kun 0 eller 1

Tall. Binære regnestykker. Binære tall positive, negative heltall, flytende tall

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008

Det fysiske laget, del 2

Tid og koordinering. Foreleser: Olav Lysne

TJENESTEBESKRIVELSE LEID LINJE /v1.7

Datakommunikasjon bak kulissene

UNIVERSITETET I OSLO

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

Forelesning Lagdeling i Internettarkitekturen

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009

Teori om sikkerhetsteknologier

Løsningsforslag til oppgaver i datakommunikasjons-delen i inf1060, uke 48, 2004.

Hva er en protokoll? INF1060 Introduksjon 2

Nettverkslaget. Fragmentering/framsending Internetworking IP

Bakgrunn. Tid og koordinering. Foreleser: Olav Lysne

6107 Operativsystemer og nettverk

I Kapittel 2 lærte vi om tall i alternative tallsystemer, i hovedsak om binære tall, oktale tall og heksadesimale tall.

Datateknikk TELE1005-A 15H HiST-FT-IEFE

Notater: INF Datakommunikasjon

TJENESTEBESKRIVELSE ETHERNET TRANSPORT SDH /v1.6

Reelle tall på datamaskin

Innhold. Innledning til Input/Output. Ulike typer Input/Output. Input/Output internt i datamaskinen. Input/Output mellom datamaskiner

INF2270. Input / Output (I/O)

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

TMA4100 Matematikk 1, høst 2013

6105 Operativsystem og nettverk

Informasjonsteori Skrevet av Joakim von Brandis,

Computer Networks A. Tanenbaum

Pensumoppgaver Datakommunikasjon (Oppgavene ikke fasit) INF3190 DATAKOMMUNIKASJON OPPSUMMERINGSOPPGAVER Laget av : Khiem-Kim Ho Xuan...

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 h2006

Eksamen i emne TTM4135 Informasjonssikkerhet Løsningsforslag.

INF3190 Obligatorisk oppgave: Linklagets flytkontroll

TJENESTEBESKRIVELSE ETHERNET TRANSPORT SDH /v1.7

Det matematisk-naturvitenskapelige fakultet

INF Algoritmer og datastrukturer

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

Husk å registrer deg på emnets hjemmeside!

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

UNIVERSITETET I OSLO

INF2810: Funksjonell Programmering. Lokale variabler. Og trær.

Transkript:

Linklaget - direkte forbindelser mellom noder Tilbakeblikk Kursets fokus nett for generell bruk pakkebaserte nett Foreleser: KjellÅge Bringsrud E-mail:kjellb A 1 2 3 4 5 N oder D 6 Link 2/8/2005 1 2/8/2005 2 Tilbakeblikk OSI Referansemodellen: lagdelt / abstraksjonslag et lag bygger på laget under og tilbyr en verdiøket tjeneste A Transport Nett Link Fysisk Ende-til-ende 2 3 5 Kom m unikasjonsm edium 2/8/2005 3 B Transport Nett Link Fysisk Generelt om Link-laget Hensikt? Å forbinde to noderinettet (og ende-maskinenetilførstenode inettet) Simplex, Halfduplex, Fullduplex enten eller begge veier sam tidig Spesialtilfeller: Flerenoderkoblettilsam m eledning (Ethernet) Flerenoderkobletiring (sim plex mellom nodene): (Token ring, FDDI) Disse spesialtilfellene blirbehandletsenere 2/8/2005 4 1

Linklagets abstraksjon Linklaget - utfordringer Nettlag Linklag Fysisk lag abstraksjon Problem er/utfordringer? 2/8/2005 5 Utfordringer Rammeinndeling/innramming Feildeteksjon/feilretting Flytkontroll Spesialtilfelle flere noder deler en link (som i Ethernet) => Behov for adgangskontroll til linken (mediet) 2/8/2005 6 Rammeinndeling Problem :Dele sekvensen avbitopp ir Im plem enterestypisk avnettverksadapter A dapterhenter(legger)rammerfra(i)nodensinternlager bit-overføring ramme-overføring Abstraksjon av linjen:uendelig sekvensav bit. Hvordan bestem m estartog slutttiln? Avsendernode Adapter Mottagernode A dapter 2/8/2005 7 Rammer (engelsk: frames) O verføringsenhetm ellom noder/adaptere En ramme= data (bit)som utgjøren naturlighelhet (variabeltellerfastantallbit/byte) Bitsom skaloverføres(f.eks.pakke): Bitsom skaloverføres,pakkesinn ien : Ekstrabitersettesinn bak og/ellerforan,ognoen gangerinne i dataenesom overføres.hensikt? avgrensen detekterefeil kontrollereflyt 2/8/2005 8 2

Innramming iforhold tilo SI- lagene Byte-orienterte protokoller Tidlig tilnærming til innramming opphav i byte/character orienterte terminaler (byte= oktett) Nettverkslag Linklag Fysisk lag BISYNC (Binary Synchronous Communication) IBM 60-tallet PPP (Point-to-Point Protocol) kommunikasjon over modem, f.eks. mellom hjemme-pc og ISP 2/8/2005 9 2/8/2005 10 Byte-orienterte protokoller Bruk av vokter BISYNC 8 8 8 8 8 16 S S S S E Y Y O Header T Body T CRC N N H X X vokter tegn Problem: Hva skjer når SOH, STX og ETX forekommer i datadelen av rammen? Løsning: Markerer disse med DLE foran (og DLE i data med DLE DLE) Kalles gjerne tegn-støffing (character stuffing) 8 8 8 8 8 16 S Y N S Y N S O H D E L T E X S T X D S L O E H E T X CRC 2/8/2005 11 Byte-orienterte protokoller Bruk av byte-teller (antall) 8 8 8 14 42 16 S S Y N Y N C ount Header Body CRC Class Problem: Hva skjer når Count feltet har bit-feil? Løsning: oppdages når CRC feiler ventetilnestesyn; prøvepånyttderfra rammetap For større sikkerhet (redundans): både End-of-Text og teller 2/8/2005 12 3

Bit-orienterte protokoller Bit-orienterte protokoller Regnes som mer moderne enn byte-orienterte En ramme er en samling bit HDLC (også SDLC): avgrenser rammen med en spesiel bit-sekvens 01111110 16 16 01111110 Header Body CRC flag-byte 01111110 2/8/2005 13 Problem: spesielle bit-sekvens forekommer i datadelen Løsning: bit-støffing sender: hver gang fem 1-ere oppdages, settes en ekstra 0 inn 11111 111110 garanterer at flag-byte ikke kan forekomme i datadelen flag-byte er (selvsagt) ikke gjenstand for bit-stuffing mottaker: hver gang fem 1-ere oppdages dersom neste bit er 0, fjern den og fortsett mottaket dersom neste bit er 1 dersom neste bit deretter er 0 slutt på rammen dersom neste bit deretter er 1 rammefeil; vente på neste flag-byte 2/8/2005 14 Tegn- og bit-støffing Klokke-basert innramming Fast rammestørrelse er umulig Fordi: antall ekstra tegn (DLE) eller bit (0) er avhengig av hva slags data det er i rammen Fast rammestørrelse Klokke-basert er et dårlig navn Prinsipp: mottaker ser etter et bestemt bitmønster som gjentas med fast avstand i bitstrømmen (f.eks. hver 810 byte som i SONET) når det spesielle bit-mønstret dukker opp på rett plass tilstrekkelig antall ganger, konkluderer mottaker at den er synkron med sender og tolker rammen korrekt 2/8/2005 15 2/8/2005 16 4

SONET/SDH SONET (Synchronous Optical Network)(USA) / SDH (Synchronous Digital Hierarchy) (Europa) ITU standard for transmisjon over optiske fiber Fast rammestørrelse, leter etter SYN-SYN (spesielt bitmønster først i hodet) med jevne mellomrom (hver 810. byte) Når dette er OK regner mottaker med at den er synkronisert I tillegg til SYN-SYN i starten inneholder hodet pekere til sub-rammer i data-delen (sub-rammer kan flyte over flere SONET-rammer) STS-1 (51.84 Mbps) laveste hastighet for SONET/SDH-linker 2/8/2005 17 Feildeteksjon/feilretting Oppgaver: 1. Finne feil 2. Rette feil To alternativer til å rette feil: A. Ha nok informasjon til å rette opp feil i 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: Oppdage feilen så fort som mulig etter at den har oppstått! 2/8/2005 18 Feil-deteksjon Bit-feil i rammer behov for mekanismer som oppdager bit-feil Teknikker som ofte benyttes i datanett Cyclic Redundency Check (CRC) svært utbredt Paritet - to-dimensjonal paritet BISYNC ved ASCII overføring Sjekksum flere Internett-protokoller Paritet (tverrsum) Ett paritetsbit: F.eks. 7 bit data, sendes som 8 bit Like paritet dvs. et like antall enere i resultatet 0110001 sendes som 01100011 Odde paritet dvs. et odde antall enere i resultatet Odde paritet: 0110001 sendes som 01100010 Generelt: Jo mer data til redundans, jo flere feil oppdages. 2/8/2005 19 2/8/2005 20 5

To-dimensjonal paritet Rad paritet Kolonne paritet Oppdager alle 1,2 og 3 bit feil og de fleste 4 bit feil I eksemplet: 14 bit redundant informasjon, og 42 bit melding ramme paritets byte paritets biter 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 2/8/2005 21 Internett sjekksum algoritme Se på en melding som en sekvens av 16-biters heltall Senderen adderer disse heltallene sammen ved bruk av 16-bit aritmetikk Dette 16-bit 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 transportlaget 2/8/2005 22 CRC: Cyclic Redundancy Check Generalisering av paritet: Kodeord Data (med hode) Sjekk/CRC Like paritet:kodeordetdeltpå2 skalikkegirest CRC:Kodeordetdeltpå ettall,g,skalikke girest D ettetalletvidelerpåkallervig eneratorpolynom et Deling foregårm ed m odulo-2 regning,dvsikkem ente ellerlåning. Cyclic Redundency Check Kodeord Data (med hode) Sjekk/CRC m biter rbiter CRC:Kodeordetdeltpå etgeneratortallskalikke girest Hvordan finnervisjekk/crc? Jo,slik: 1.Generatortalletkallervi G. G erpå r+1 biter. 2.Lag etstorttallav D ata med r 0-biterbak Dividerdettestore talletpå G m biter Bruk m odulo-2 regning (XOR,dvs.ikkenoem ente) 3.Resten avdivisjonen eralltid pårellerfærrebiter! Denneresten blirsjekk/crc DavilK odeordetværedeleligpåg (med 0 irest) Data (med hode) 000 00 rbiter 2/8/2005 23 2/8/2005 24 6

Desimal analogi til CRC-utregning Kodeord Data (med hode) 82532109 0000 Sjekk/CRC Anta G er3497 825321090000 :3497 = 236008318 med rest1954 82532109-1954 = 825321088046 82532108 8046 825321088046 :3497 = 236008318 nøyaktig (m enteisubtraksjonen ødleggerdataenevåre) 2/8/2005 25 Virkelig CRC-utregning Kodeord Data (med hode) 01 Sjekk 0000 Anta G er10011 010000 :10011 = 1100001010 med rest 1110 010000-1110 = 011110 01 1110 011110 :10011= 1100001010 nøyaktig (og subtraksjonen ødelaikkedataenevåre) 2/8/2005 26 CRC baserer seg på polynomer Cyclic Redundency Check CRC-algoritm enserpåbinærtallsom polynom er. F.eks. betraktes 1 0 0 1 1 som polynom et x + x + 1= x + x + x = 1* x + 0* x + 0* x + 1* x + 1* x 4 4 1 0 4 3 2 1 0 Og 1 1 0 0 0 1 som polynom et x + x + 1 = x + x + x 5 4 5 4 0 NB:Hvispolynom eterav grad r,harbinærtalletr+1 biter 2/8/2005 27 Regneeksemplet (sender): 1000000 : = 11111001 1001 1000 1011 1100 1000 101 rest 2/8/2005 28 7

Cyclic Redundency Check Vanlige CRC polynom Regneeksemplet (mottaker): 1000101 : = 11111001 1001 1000 1011 1100 000 rest 2/8/2005 29 CRC CRC-8 CRC-10 CRC-12 CRC-16 CRC-CCITT CRC-32 C(x) x 8 +x 2 +x 1 +1 =100000111 x 10 +x 9 +x 5 +x 4 +x 1 +1 x 12 +x 11 +x 3 +x 2 +x 1 +1 = 1100000001111 x 16 +x 15 +x 2 +1 =11000000000000101 x 16 +x 12 +x 5 +1 =10001000000100001 x 32 +x 26 +x 23 +x 22 +x 16 +x 12 +x 11 +x 10 + x 8 +x 7 +x 5 +x 4 +x 2 +x+1 2/8/2005 30 Egenskaper CRC-16 Hva bør beskyttes av CRC? Alleenkleog doblebitfeil Allefeilietodde antallbit Allekaskadefeilav lengdem indreenn 17 99,997 % av alle 17 biters kaskader 99,998 % av alle 18 biters kaskader Hele rammen Hele hodet ikke data Deler av hodet Vikigst: mottakeradresse og pakkelengde Kast en pakke så fort som mulig i det en CRCfeil oppdages! 2/8/2005 31 2/8/2005 32 8

Feilretting Feilretting uten retransmisjon Når skal vi rette feil? Mottakeradresse, pakkelengde mm. i hodet må eventuelt rettes med en gang. Data kan rettes med en gang eller vente Avveiing: Rette med en gang: Tar tid, ønsker vi at alle noder i nettet skal bruke tid på dette? Vente: Da kan det hende at feilen blir verre slik at det ikke er mulig å rette den lenger. Kalles Forward Error Correction To-dimensjonal paritet og Hammingkoder kan benyttes Kan også sende alle pakker to ganger og sammenlikne 2/8/2005 33 2/8/2005 34 Feil-korrigerende koder Pålitelig overføring BrukavHamming-kodeforåkorrigere burst feil. 2/8/2005 35 Pakker med feil CRC kastes Fint om vi kan rette opp feilen Hvis feilen ikke kan rettes opp, og vi trenger pakken, 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) 2/8/2005 36 9

Pålitelig overføring Stop-and-Wait (stopp og vent) Når omsending av pakker er nødvendig: To fundamentale mekanismer kvitteringer (engelsk: acknowledgements, ack) er (timeouts) vha. vekkeklokke (timer) Sender A 1.Pakke 2. Mottaker B Husk at også kvitteringer kan bli borte Ønsker vi at pakkene skal komme frem i riktig rekkefølge? M ottakersenderack tilbakenåren erm ottatt, og førstnårsenderm ottarack,sendesny. Pådennem åten blirikkem ottakeroversvøm m etavpakker, og avsendervetatallepakkererkom m ettrygtfram. Men hva hvispakkerblirborte? 2/8/2005 37 2/8/2005 38 Stop-and-Wait (stopp og vent) Stop-and-Wait Grunnleggende algoritme: send én ramme og vent på kvittering ( ramme) dersom ikke mottatt innen gitt, send rammen på nytt. Problem 1 med grunnleggende algoritme: Men kanskje det var som ble borte Vi må kunne sende den samme rammen på nytt, selv om den allerede er kommet riktig frem 2/8/2005 39 2/8/2005 40 10

Stop-and-Wait Stop-and-Wait Problem 2 med grunnleggende algoritme: Kanskje vi sendte rammen om igjen for tidlig Vi må godta at kommer for sent Må sende rammen på nytt og på nytt helt til kommer tilbake Hvordan vet mottaker at det er den samme rammen som sendes på nytt? 2/8/2005 41 2/8/2005 42 Løsning: sekvensnummer Sekvensnummer som 0 og 1 A (send meg k+1) k+1 k+1 k+1 Mottaker B 0 og 1 som sekvensnummere En bit er nok når vi sender én ramme av gangen og venter på kvittering k+1 k k k k k Rammenr.k Deternok m ed en en-bitteller(0 og1) k,k+1 regnesdautm odulo 2. (En buffers Sliding window protokoll) 1: Send ramme med odde sekvensnummer 0: Send ramme med like sekvensnummer Altså: ramme 0, 1, 2, 3, 4, 5, sendes som ramme 0, 1, 0, 1, 0, 1, Går dette bra? Hva betyr det at det går bra? 2/8/2005 43 2/8/2005 44 11

0-1 sekvensnummer 0-1 sekvensnummer Egenskaper til korrekt løsning? Mottaker leverer aldri samme ramme to eller flere ganger til laget over (nettlaget) Ingen rammer går tapt (forutsatt at alle meldinger før eller siden kommer frem når de resendes tilstrekkelig antall ganger) Rammene leveres i samme rekkefølge hos mottager som de sendes i av senderen (forutsatt at en ramme leveres straks den er korrekt mottat og ikke mottatt før) Analyse av sender - like ramme (0) sendes ut - ignorerer (gamle) 0 - resender like ramme (0) I det 1 kommer: - odde ramme (1) sendes ut - ignorerer (gamle) 1 - resender odde ramme (1) I det 0 kommer: - like ramme (0) sendes ut - ignorerer (gamle) 0 - resender like ramme (0) I det 1 kommer: osv. Vanskelig? 0 0 AC K 1 0 AC K 1 0 1 1 0 0 levér 0 ignorér 0 ignorér 0 levér 1 2/8/2005 45 2/8/2005 46 12