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

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

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.

Internettets Overlay Arkitektur

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.

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

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.

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

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

Linklaget - avslutning

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

Linklaget - direkte forbindelser mellom noder

Kapittel 4: Transportlaget

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

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

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

Detaljerte funksjoner i datanett

ITF20205 Datakommunikasjon - høsten 2011

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

Detaljerte Funksjoner i Datanett

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

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

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

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

INF1040 Oppgavesett 6: Lagring og overføring av data

Litt mer detaljer om: Tids multipleksing

Sentrale deler av pensum i INF

Computer Networks A. Tanenbaum

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

KTN1 - Design av forbindelsesorientert protokoll

IT Grunnkurs Nettverk 3 av 4

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

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

Computer Networks A. Tanenbaum

6107 Operativsystemer og nettverk

6107 Operativsystemer og nettverk

Detaljerte Funksjoner i Datanett

Detaljerte funksjoner i datanett

in270 Datakommunikasjon, vår 03 forelesningsnotater

Kapittel 11. Multipleksing og multippel aksess

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

Tid og koordinering. Foreleser: Olav Lysne

Bakgrunn. Tid og koordinering. Foreleser: Olav Lysne

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

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

Medium Access Control (3)

~ Gruppe(r): 2EA$ 2EC rdato:24.02.æ

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

Kapittel 7: Nettverksteknologier

Hva består Internett av?

Adresse. Flight nr. IP-nr Care-of-nr

Det fysiske laget, del 2

Løsningsforslag Gruppeoppgaver, januar INF240 Våren 2003

EKSAMEN. Emne: Datakommunikasjon

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

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

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

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

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

Algoritmer og datastrukturer A.1 BitInputStream

EKSAMEN. Emne: Datakommunikasjon

Angrep. Sniffing ( eavesdropping )

Gjennomgang reeksport av IFC fra Revit og ArchiCAD.

LØSNINGSFORSLAG; INF-240 Våren 2002

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

TCP: Overblikk RFCs: 793, 1122, 1323, 2018,

Løsningsforslag til EKSAMEN

Forelesning Oppsummering

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

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF Hjemmeeksamen 2

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

IT Grunnkurs Nettverk

Gruppe KTN2 innlevering. Endringer gjort siden KTN1:

6107 Operativsystemer og nettverk

C:\My Documents\Fagprove\Flashlite V25+\LED_Link.pas Printed at 16:06 on 17 Feb 2000 Page 1 of 6

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

BRUK AV LINJESVITSJ. Arne Langmo. Linjesvitsj Lokalnett Innlogging Oppringt tilkopling INNHOLD. S. 1 S. 2 s. 3. S. 3 s. 4 S OPPRINGT TILKOPLING

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

Flere detaljerte funksjoner i datanett

Alle enheter som skal sende datapakker fra forskjellige strømmer inn på samme link må forholde seg til hvordan strømmene skal prioriteres.

Computer Networks A. Tanenbaum

Matchinger i ikke-bipartite grafer

INF3190 Obligatorisk oppgave: Linklagets flytkontroll

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

Det fysiske laget, del 2

Tjenester i skyen. 19. desember

MAT1030 Diskret matematikk

Hva er en protokoll? INF1060 Introduksjon 2

MAT1030 Diskret matematikk

Tor-Eirik Bakke Lunde

TTM4175 Hva er kommunikasjonsteknologi?

Fysisk Lag. Overføringskapasitet. Olav Lysne med bidrag fra Kjell Åge Bringsrud, Pål Spilling og Carsten Griwodz

Løsningsforslag. Datakommunikasjon

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel )

1. Faktorer som påvirker talekvaliteten

TTM4175 Hva er kommunikasjonsteknologi?

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

Transkript:

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

Stop-and-Wait Grunnleggende svakhet: utnytter linjekapasiteten dårlig Eksempel: Avsender senderen kan bare ha én utestående ramme til enhver tid 1.5Mbps link x 45ms RTT = 67.5Kb (8KB) dvs. 8KB data kan være underveis på linjen 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 Mottaker 2/9/2005 2

Fyll opp røret Utnytte linjen bedre. Sender flere pakker rett etter hverandre: A Pakker B Pakker Putte ACK/NAK på ryggen til meldinger som går den andre veien ( piggyback ) 2/9/2005 3

Hvis vi ikke fyller opp røret Lange ledninger. Det tar tid før pakken kommer frem og ACK kommer tilbake. Utnyttelsen av linken kan regnes ut: Bruk av ledningen (pakkebruk): pakkelengde * sendehastighet Forsinkelse tur/retur (RTT): (avstand / utbredelseshastighet) * 2 + pakkebruk + ACKpakkebruk ++ Eksempel: 1500m fiber, 1/2 * 3*10 8 m/s gir 10000 ns hver vei 53 byte pakke, 1G bit/sec, 424 bit gir 424 ns. (samme i ACK) Bruksdel= pakkebruk/rtt = 424/(10000*2 +424+424++) 2% A Sender Pakke 2/9/2005 4 B Mottaker

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 mottatt ACK for). sender mottaker Eksempel: maks. 5 utestående rammer 2/9/2005 5

Glidende vindu Flere bufre hos sender og flere bufre hos mottaker, mange pakker med forskjellige nummer og mange ack/nack med forskjellige nummer under veis hele tiden. ACK/NACK Pakker 2/9/2005 6

Glidende vindu Sendt men ikke fått ack, må kanskje sendes på nytt (vil bli resendt om ack aldri mottas) x Disse tre er motatt og kvittert (ack sendt) (men kan ikke sendes videre før x motatt) Pakker ack/nack x Ikke motatt 2/9/2005 7

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 LAR SWS 2/9/2005 8 LFS Når ACK mottas, økes LAR, og derved kan ny ramme sendes slik at LFS økes. SWS=8 flyt stoppet Buffer for opptil SWS rammer, dvs SWS rammer i røret samtidig

Glidende vindu: mottaker Vedlikeholder tre tilstandsvariable receive window size (RWS) largest acceptable frame (LAF) last frame received (LFR) (with all smaller frames also received) Vedlikeholder invariant: LAF - LFR RWS Rammer som er mottat Rammer som kan mottas (muligens ute av orden) N +2 N+3 N+4 N+1 N N+5 N+6 N+7 N+8 N+9 N+10N+11 N+12N+13N+14 LFR RWS LAF 2/9/2005 9

Glidende vindu: mottaker Kumulativ kvittering ( go back n protokoll), dvs. vi ack-er ikke nye pakker hvis det er hull i sekvensen av mottatte pakker if LFR < MottatRamme.SeqNum < LAF then ta-imot-pakken-og-legg-den-på-plass; beregn-nye-grenser (MottattRamme.SeqNum); // se neste lysark else kast pakken; send ACK (LFR + 1) Rammer som er mottatt Rammer som kan mottas (muligens ute av orden) N +2 N+3 N+4 N+1 N N+5 N+6 N+7 N+8 N+9 N+10N+11 N+12N+13N+14 LFR RWS LAF 2/9/2005 10

Glidende vindu: mottaker Invariant: LFR + 1 er første pakke som ikke er mottatt beregn-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 +2 N+3 N+4 N+1 N N+5 N+6 N+7 N+8 N+9 N+10N+11 N+12N+13N+14 LFR SeqNum LAF 2/9/2005 11

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 2/9/2005 12

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 nummere Minimum krav: sekvensnummerintervallet må være større enn maks. antall utestående rammer 2/9/2005 13

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 tidsfrist 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. 2/9/2005 14

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 NFE 7 0 6 5 1 2 4 3 LFA 7 0 LFA 6 1 5 2 4 3 NFE Hva bør mottaker nå gjøre? 2/9/2005 15

Oppsummering 1 Linklaget abstraherer fysisk lag fra en uendelig sekvens av bit til en sekvens av pakker (rammer) Oppdager og korrigerer feil Tre metoder for innramming Tegn-baserte protokoller med tegn-støffing Bit-baserte protokoller med bit-støffing Klokkebasert protokoller med fast rammestørrelse 2/9/2005 16

Oppsummering 2 Pålitelig overføring av rammer krever metoder for 1. Feildeteksjon 2. Feilkorrigering Metoder for feil-deteksjon Cyclic Redundency Check (CRC) Paritet - to-dimensjonal paritet Sjekksum Metoder for feilkorrigering Forward-error-correction (benyttes relativt lite i datanett) Retransmisjon (stop-and-wait, glidende vindu) 2/9/2005 17