Linklaget - avslutning
Retransm. og kvitterings strategi Kvitteringsstrategi: eksplisitt kvittering for hver mottatte ramme kvitter alle rammer opp til sist mottatte ved timeout Retransmisjonsstrategi: ved timeout, send alle rammer i retransm.køen Go-back-N send bare de mottaker angir den mangler Selective repeat
Glidende vindu og flytkontroll Flytkontroll hindrer en sender i å oversvømme en mottaker med rammer Glidende-vindu-protokoll oppfyller tre formål pålitelig overføring bevarer ordningen av rammene ved overføring (?) mer relevant for høyere lags protokoller en link-protokoller understøtter flytkontroll
Flytkontroll Normalt en feed-back (tilbakemelding) protokoll der mottaker informerer senderen om sin buffer-kapasitet Gjerne realisert som et tillegg til glidende vindu To vanlige tilnærminger: 1. sender stopper når spesiell NAK mottas 2. mottaker informerer senderen om hvor mange pakker/bytes den har plass til, og sender ikke mer data enn oppgitt inntil den får ny beskjed (kredittbasert flytkontroll)
Flytkontroll - NAK Tilnærming 1: Eksplisitt NAK (Not acknowledge) I SCI sender mottaker en ACK eller en NAK for hver eneste pakke NAK: Kan ikke ta imot mer Full inn-buffer
Flytkontroll - Kreditt-basert Tilnærming 2: Kreditter (jeg har til gode hos deg) Hetrogenous InterConnect (HIC) bruker dette Jeg har plass til 4 pakker Sender Mottaker Meldingen om at mottakeren har plass til mer kan sendes som en egen melding eller bakes inn i ( piggybacked på) annen melding i motsatt retning. Mer om flykontroll seinere (ifb. nettverks- og transportprotokoller)
Bit-orienterte rammer (HDLC) flagg flagg 01111110 hode data hale 01111110 adresse kontroll sjekksum Bit stuffing Sender: fem enere etter hverandre, sett inn ekstra 0 Mottaker: fem enere etter hverandre; hvis sjette bit == 0, fjern 0 == 1, slutt på ramme hvis syvende bit == 1, rammefeil, les til flagg
High-Level Data Link Control (2) Kontroll-felt for: (a) En informasjons - ramme. (b) En overvåknings - ramme. (c) En unummerert ramme.
Tilstandsdiagram for mottaker Mindre enn 2 Flagg mellom rammene Flagg Les bit for bit Les Flagg Byte =/= Flagg Flagg Flaggsøk Flaggsynkronisert Rammetilstand Les Byte for byte fjern bit-stuffing Feil rammeavslutning
HDLC rammeformat (1) kontrollfeltet 1 3 1 2 0 Seq P/F Next Data I-rammer: inneholder data 1 1 2 1 2 1 0 Type P/F Next Data S-rammer: flytkontroll Type: RR: receiver ready RNR: receiver not ready REJ: avviser rammen Glidende vindu har også flytkontroll egenskaper
HDLC rammeformat (2) kontrollfeltet 1 1 2 1 2 1 1 Type P/F Type Data I LAPB er det definert 5 unummererte rammetyper: SABM: initialisering av forbindelse UA: kvittering DISC: initiering av nedkopling FRMR: uakseptabel ramme mottatt DM: admin. nedkoplet; resp. på SABM L_CON.req L_DIS.req SABM UA DISC UA
The Data Link Laget i Internet En hjemme-pc som fungerer som en internet vertsmaskin.
PPP Point to Point Protocol Fullt PPP ramme format for unummerert operasjons-modus.
PPP Point to Point Protocol (2) Et forenklet tilstands-diagram for å ta en linje oppogned.
PPP Point to Point Protocol (3) LCP ramme-typer.
Link administrasjon (1) DTE; Adr=11 DCE; Adr=01 Hallo (11) I heard you (11) Hallo (01) I heard you (01) Hallo (11) I heard you (11) Loop modus
Link mngt; sendersiden hallo:=0; lineup:=down linelooped:=normal; event (timeout, send_hallo) switch (event) case send_hallo; send Hallo; sett timeout; case timeout; hallo:=hallo-1; if hallo=0; then lineup:=down; break; (wait for an event)
Link mngt; mottakersiden ramme mottatt if (I_heard_you is a response on my Hallo); Then hallo:=hallo +1; linelooped:=normal; if hallo > 2; then lineup:=up; hallo:=3; else if (my Hallo); then linelooped:=looped; send I_heard_you; else if (my I_heard_you); then hallo:=hallo+1; if hallo>2; then lineup:=up; hallo:=3; fi; fi; fi; fi;
Link administrasjon (2) Link dwn Send R Link adm.dwn Admin oppe nei nei Link oppe Send ramme
Oppsummering 1:tjenestekrav simpleks halv dupleks dupleks gi en mest mulig pålitelig overføring forbindelsesorientert eller forbindelsesfri som et minimum garantere ektheten til overførte data utøve flytkontroll
Oppsummering 2: rammer Adapter Sender Data Klokke Simpleks situasjon Adapter Mottaker Hvorfor samler vi bit i rammer? - for å kunne oppdage feil - for å kunne rette opp feil - utøve flyt kontroll Problem: Hvordan synkroniseres mottakersiden? Når starter en ramme? Når avsluttes en ramme?
Oppsummering 3: funksjoner Innramming av nyttelasten Transport av rammer over mediet Adressering Glidende vindu Feilhåndtering: Feildeteksjon Feilkorreksjon Flytkontroll
Oppsummering 4: feil- og flyt-ktrl. 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) Flykontroll hindrer en sender i å oversvømme en mottaker glidende vindu basert feed-back (NAK) eller kreditt-basert (credit-message)