3. Siirtoyhteyskerros

Samankaltaiset tiedostot
3. Siirtoyhteyskerros linkkikerros (Data Link Layer)

3. Siirtoyhteyskerros linkkikerros (Data Link Layer) Virheiden hallinta. Vuonvalvonta. Kuittausviive Suunnitteluperiaatteita

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Siltojen haitat. Yleisesti edut selvästi suuremmat kuin haitat 2/19/ Kytkin (switch) Erittäin suorituskykyisiä, moniporttisia siltoja

Monimutkaisempi stop and wait -protokolla

Monimutkaisempi stop and wait -protokolla

Monimutkaisempi stop and wait -protokolla

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5.1. Kaksipisteyhteydet. Kehysten kuljetus. Missä virhe hoidetaan? Virheet.

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

Jos A:lla ei ole tietoa ARP-taulussaan, niin A lähettää ARP-kysely yleislähetyksenä

3. Kuljetuskerros 3.1.

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5.1. Kaksipisteyhteydet. Kehysten kuljetus. Virheet. Missä virhe hoidetaan?

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

itää saada selville P-osoitetta vastaava erkko-osoite. leislähetyksenä ysely: Kenen IPsoite. IP-paketissa on vain vastaanottajan

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5.1. Kaksipisteyhteydet. Kehysten kuljetus. Missä virhe hoidetaan? Virheet.

MAC-protokolla. » 7 tavua tahdistusta varten» kehyksen alku

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Väylää kuunneltava. kehyksen pituus. Ethernetin hyvät puolet. MAC-protokolla

5.5 Ethernet-lähiverkko

3. Kuljetuskerros 3.1. Kuljetuspalvelu

5.5 Ethernet-lähiverkko. Eetteriverkon rakenne. Kaapelit. Törmäyksen jälkeinen uudelleenlähetys. Signaalin koodaus Manchester-koodaus CSMA/CD

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5.1. Kaksipisteyhteydet. Kehysten kuljetus. Missä virhe hoidetaan? Virheet.

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5.1. Kaksipisteyhteydet. Kehysten kuljetus. Virheet. Missä virhe hoidetaan?

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus

Tietoliikenteen perusteet

3. Kuljetuskerros 3.1. Kuljetuspalvelu

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5.1. Kaksipisteyhteydet. Kehysten kuljetus. Virheet. Missä virhe hoidetaan?

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Tehtävä 2: Tietoliikenneprotokolla

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Miksi? Miksi? Kaksisuuntainen liikenne TCP-protokolla. Ikkunankoko. Valikoiva toisto: ikkuna 5, numeroavaruus 8

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat. Protokollien kerrosrakenne. Mitä monimutkaisuutta?

Ikkunankoko. Kun käytetty numeroavaruus on 0, 1,.. n ja eri numeroita siis käytettävissä n+1

Ikkunankoko. Kun käytetty numeroavaruus on 0, 1,.. n ja eri numeroita siis käytettävissä n+1

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) Kehysten kuljetus Kaksipisteyhteydet. Virheet. Missä virhe hoidetaan?

Kuittaukset ACK. NAK-kuittaus. kumulatiivinen ACK. yksittäinen ACK. sanoma virheellinen tai puuttuu. tähän saakka kaikki ok!

Kuittaukset. Miksi? Miksi? Negatiiviset kuittaukset NAK-kuittauksilla voidaan nopeuttaa uudelleenlähettämistä. Ikkunankoko ACK

Kuittaukset. tähän saakka kaikki ok! Go-Back N. sanoma virheellinen tai puuttuu

OSI ja Protokollapino

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Kohina (Noise) Signaalia häiritsee kohina. aina taustalla esiintyvää sähkömagneettista aaltoliikettä terminen kohina. elektronien liikkeestä johtuva,

TCP. TCP-optiot. Erilaisia suorituskykyongelmia. Aikaleima (timestamp) TCP:n peruspiirteiden toiminta tarkemmin. TCP:n uusia piirteitä.

Kohina (Noise) 1.4. Tietoliikenneohjelmistot eli protokollat. Signaalin vahvistaminen

ELEC-C7241 Tietokoneverkot Kuljetuskerros

TCP. TCP:n peruspiirteiden toiminta tarkemmin. TCP:n uusia piirteitä. osin vain harjoitustehtävissä

TCP:n peruspiirteiden toiminta tarkemmin. osin vain harjoitustehtävissä. TCP:n uusia piirteitä

Protokollien yleiset toiminnot

kynnysarvo (threshold) varoitusarvo = tästä lähtien syytä varoa ruuhkaa aluksi 64 K RTT

» multiaccess channel» random access channel LAN (Ethernet) langaton. ongelma: käyttövuoron jakelu Yhteiskäyttöisen kanavan käyttö

4. MAC-alikerros. yleislähetys (broadcast) ongelma: käyttövuoron jakelu. » multiaccess channel» random access channel LAN (Ethernet) langaton

S Teletekniikan perusteet

kynnysarvo (threshold)

kynnysarvo (threshold)

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

3. Kuljetuskerros 3.1. Kuljetuspalvelu. Internetin kuljetuskerros. kuljetuspalvelut parantavat verkkopalveluja

Luento 5: Kuljetuskerros

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Tietoliikenne II. Syksy 2005 Markku Kojo. Tietoliikenne II (2 ov,, 4 op) Page1. Markku Kojo Helsingin yliopisto Tietojenkäsittelytieteen laitos

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

Eetteriverkon rakenne

CSMA/CD. Eetteriverkon rakenne. Signaalin koodaus. Törmäyksen jälkeinen uudelleenlähetys. Lyhyet etäisyydet, pieni määrä laitteita. Manchester-koodaus

3. Kuljetuskerros 3.1.

Kuljetuskerroksen protokollat. Luotettava vai epäluotettava? Kuljetuskerroksen tarkoitus. Tietosähkeen kapselointi. Portit ja (de)multipleksaus

ITKP104 Tietoverkot - Teoria 3

Eetteriverkon rakenne

peittää verkkokerroksen puutteet

Luento 5: Kuljetuskerros luotettavan tiedonsiirron periaatteet. Syksy 2014, Tiina Niklander

3. Kuljetuskerros 3.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Chapter 5 Link Layer and LANs

83501 Tietoliikenneprotokollat Luentomoniste osa 1 syksy Jarmo Harju

Kuljetuskerroksen protokollat

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov)

Kuljetuskerroksen protokollat. Kuljetuskerroksen tarkoitus. Luotettava vai epäluotettava?

Kuljetuskerroksen protokollat

1. Johdanto. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

esimerkkejä erilaisista lohkokoodeista

Kuva maailmasta Pakettiverkot (Luento 1)

TCP/IP-protokollapino. Kuljetuskerros. Tämän luennon jälkeen. Sisältö. Matti Siekkinen. Ymmärrätte:

1. FRAME RELAY: RUUHKANHALLINTA

Kuljetuskerros. Matti Siekkinen. T Johdatus tietoliikenteeseen kevät 2011

Kanavan kuuntelu. Yleislähetysprotokollia ALOHA. CSMA (Carrier Sense Multiple Access) Viipaloitu ALOHA. Lähetyskanavan kuuntelu (carrier sense)

Kuljetuskerros. CSE-C2400 Tietokoneverkot (osa 1) (osa 2) Matti Siekkinen. Tietokoneverkot 2014

on yksi keskeisimpiä toimintoja Internetin toiminnan varmistamiseksi Internetin ruuhkanhallinta pitkälti

Tietoliikenteen perusteet: Kokeeseen tulevista asioista

Kuljetuskerros. Matti Siekkinen. T Johdatus tietoliikenteeseen kevät 2013

Transkriptio:

3. Siirtoyhteyskerros yhtenäinen linkki solmusta solmuun linkkikerros (Data Link Layer) bitit sisään => bitit ulos ongelmia: siirtovirheet havaitseminen korjaaminen solmun kapasiteetti vuonvalvonta 01011011 01011011 27.9.2000 1

Virheiden hallinta bittivirta ==> kehyksiä tarkistus korjaus/uudelleenlähetys kuittaus mitä lähetettävä uudelleen kuittausviive odotettava kuittausta 27.9.2000 2

hidastaa lähetystä Kuittausviive odotettava kuittausta ennenkuin voidaan lähettää lisää esim. satelliiteilla viive hyvin pitkä tuhlaa kapasiteettia linja käyttämättömänä odottelun ajan lähetetään ennakkoon kuittaukset ja lähetykset limittyvät korjaava koodi vastaanottaja pystyy korjaamaan 27.9.2000 3

Vuonvalvonta lähetetys ei saa ylittää vastaanottajan käsittelykapasiteettia rajalliset puskurit ylimäärä häviää kapasiteettiraja = ( ennakko)lähetysmäärän rajoitus 27.9.2000 4

3.1. Suunnitteluperiaatteita siirtoyhteyskerros tarjoaa palveluja verkkokerrokselle datan siirto lähdekoneen verkkokerrokselta kohdekoneen verkkokerrokselle kuittaamaton yhteydetön palvelu kuittaava yhteydetön palvelu virheelliset havaitaan ja lähetetään uudestaan kuittaava yhteydellinen palvelu luotettava bittivirta 27.9.2000 5

Verkkokerroksen tarpeet ja perustason laatu => linkkitason tehtävät virheettömyys perustaso luotettava, linkkitaso ei tee mitään perustaso epäluotettava, linkkitaso kuittaava järjestys yhteydetön: järjestys voi muuttua yhteydellinen: järjestys säilyy kaksoiskappaleet kuittaava: voi syntyä yhteydetön: ei havaita/havaitaan yhteydellinen: kaksoiskappaleet tuhotaan 27.9.2000 6

Missä virhe hoidetaan? kuittaava linkkikerros havaitsee virheet ja korjaa ne yhteydetön, kuittaamaton & virhe => kuljetuskerros havaitsee ja korjaa ja jos ei, niin sovelluskerros havaitsee ja korjaa ja jos ei, niin asiakas havaitsee ja korjaa 27.9.2000 7

3.1.2. Kehystys (framing) tavoite bittivirheiden hallinta muuttuu katoaa monistuu bittivirta kehyksinä kehys tarkistettavissa tarkistustietoa 27.9.2000 8

Kehysrakenne bittivirta => kehysrakenne? Miten kehys rajataan? aloitusmerkki DLE STX, lopetusmerkki DLE ETX erillinen lipputavu: 011111110 01111110 01111110...01111110... Entä jos haluaa lähettää kehyksessä datana 01111110 tai DLE-merkin? 27.9.2000 9

01111110... 01111110. 01111110 01111110 01111110 01111110 Ongelma ratkaistaan: Bitin lisääminen (Bit stuffing) lisäämällä lähetysvaiheessa automaattisesti dataan ylimääräinen 0-bitti aina viidennen peräkkäisen 1- bitin perään. 01111110 => lähetetään 011111010 siis ensin linjalle lähetetään lippukuvio ja sitten data, johon on tarvittaessa lisätty ylimääräinen bitti vastaanotossa ylimääräiset 0-bitit poistetaan automaattisesti Samoin lisätään ylimääräinen DLE-merkki jokaisen datassa olevan DLE-merkin jälkeen (character stuffing)

Kehystahdistus = löydetään kehysrajat kehystahdistus onnistuu mielivaltaisen bittivirheen jälkeen bittivirhe rikkoo lippukuvion 01111110 => 01101110 bittivirhe tekee dataan ylimääräisen lippukuvion 01110110 => 01111110 näistä huolimatta parin virheellisen kehyksen jälkeen löydetään oikea kehyksen alku 27.9.2000 11

Kehysten kuljetus tavoite kaikki kehykset kukin kehys virheettömästi lähetysjärjetyksessä vastaanottaja kertoo lähettäjälle ACK: kehys vastaanotettu ok tietty kehys kaikki kehykset tähän asti NAK: kehyksessä vikaa => lähetettävä uudelleen Saako lähettää lisää vai pitääkö keskeyttää vuonvalvonta 27.9.2000 12

Kehysten kuljetus (2) Entä jos kehys katoaa kokonaan? Ei tule mitään kuittausta! Joko sanoma kadonnut tai kuittaus kadonnut lähettäjän ajastin laukeaa, jos kuittausta ei tule tiettynä aikana ajastimen laukeaminen => uudelleenlähetys => vastaanottaja voi saada useita kopioita kyettävä erottamaan duplikaatit => kehysnumero 27.9.2000 13

Vuonvalvonta lähettäjä ei saa lähettää enempää kuin vastaanottaja kykenee käsittelemään puskurit vuotavat yli => dataa katoaa vastaanottaja säätelee lähettämistä lähetyslupa N:lle kehykselle odota sitten uutta lupaa 27.9.2000 14

3.2. Virheiden havaitseminen ja korjaaminen Virheiden takia dataan lisäinformaatiota: virheen korjaus (error-correcting code, forward error control) lisäinformaatiota niin paljon, että vastaanottaja sekä havaitsee että kykenee itse korjaamaan virheen virheen havaitseminen (error-detecting code, feedback/backward error control) lisäinformaatiota, jotta vastaanottaja havaitsee virheen tapahtuneen => korjauksena uudelleenlähetys 27.9.2000 15

Korjaus/havaitseminen virheen korjaava koodaus kallis koko ajan paljon lisäinformaatiota rajoitettu korjauskyky esim. kokonaan kodonnut kehys virheen havaitseva koodaus virheen sattuessa kallis uudelleen lähettäminen maksaa uudelleen lähettäminen on hidasta 27.9.2000 16

Virheet Kahdenlaisia virheitä: yhden bitin virheet usean peräkkäisen bitin vääristyminen (burst error) Virheiden esiintymistiheys BER (bit error rate) mitä suurempi BER, sitä lyhyempiä kehyksiä kannattaa käyttää 27.9.2000 17

Käytetään esim. Esimerkkejä Virheen korjaus CD- ja DVD-levyissä, digitaalitelevisiossa nopeissa modeemeissa, kannettavissa puhelimissa satellittiyhteyksissä, avaruusluotaimissa Hamming-pariteettitarkistus (Tito-kurssilla) pystyy korjaamaan yhden virheellisen bitin virheryöpyn, jos se jaetaan yhden bitin virheiksi Reed-Solomon -koodit lohkokoodeja, jotka pystyvät korjaamaan virheryöppyjä 27.9.2000 18

Yhden bitin virheet korjaava koodi Hamming: minimimäärä tarkistusbittejä, kaikkien yhden bitin virheiden korjaamiseksi 00110010000 bitit 1, 2, 4, 8, 16,.. eli kakkosen potenssit tarkistusbittejä (pariteettibittejä) muut 3,5,6,7,9,10,11, databittejä yhtä databittiä varmistaa usea pariteettibitti esim. paikassa 11 olevaa bittiä tarkistusbitit paikoissa 1+2+8 =11 kun tarkistusbitit paikoissa 1, 2 ja 8 eivät täsmää => bitti paikassa 11 on virheellinen

Virheryöpyn korjaaminen Hamming-koodit korjaavat vain yksittäisiä virheitä virheryöpyn korjaamiseksi järjestetään k peräkkäistä koodisanaa matriisiksi yksisana per rivi lähetetään matriisi sareke kerrallaan ei siis rivi kerrallaan k:n bitin mittainen virheryöppy hajoaa k:ksi yksittäiseksi virheeksi korkeintaan yksi virhe yhdessä koodisanassa jonka Hamming-koodi osaa korjata

Esimerkiksi: 1001000 1110111 1100001 0110111 1101101 0000000 0000000 => 1010110 1101001 0010011 1101110 0000011 1100111 0110101 virheryöppy yksittäisiä virheitä 27.9.2000 21

Virheen havaitseminen Pariteettibitti parillinen pariteetti pariton pariteetti horisontaaliset ja vertikaaliset pariteetit CRC (Cyclic redundancy code (tai check)) yleisimmin käytetty virheen paljastusmenetelmä perustuu polynomien aritmetiikkaan (modulo2- aritmetiikkaan, XOR) useita tarkistusbittejä => havaitaan usean bittivirheen ryöppy 27.9.2000 22

Pariteetti esimerkki yksinkertaisesta virheen havaitsevasta koodista jokaiseen merkkiin lisätään yksi ylimääräinen ns. pariteettibitti lisäyksen jälkeen kaikissa merkeissä on parillinen (tai jos niin sovitaan pariton) määrä ykkösiä paljastaa kaikki yhden bitin virheet kehyksen pituudesta riippumatta ei paljasta kahden bitin virheitä 27.9.2000 23

Pariteettibitin käyttö erityisesti asynkronisessa tiedonsiirrossa merkkejä siirrettäessä käytännössä paljastaa noin puolet virheellisistä bittijonoista esim. modeemeissa syntyy useita virheitä linjahäiriöt aiheuttavat usein pitkiä virheryöppyjä 27.9.2000 24

Horisontaaliset ja vertikaaliset pariteetit järjestetään bittijono kaksiulotteiseen taulukkoon lasketaan pariteetti jokaiselle vaaka- ja pystyriville 1001010 1 0111010 0 1110001 0 horisontaaliset 1000111 0 pariteetit 0011001 1 1011111 0 taulukon pariteetti vertikaaliset pariteetit 27.9.2000 25

Virheiden havaitseminen Ei löydä lyhyitä virheryöppyjä, joissa neljä bittiä vaihtuu sopivasti 1 0 0 1 0 1 0 0 1 1 1 0 1 0 1 1 1 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 27.9.2000 26

CRC:n perusidea tarkistusavain (virittäjä, virittäjäpolynomi) lähettäjä L+1 bittiä vastaanottaja lähettäjä ja vastaanottaja tuntevat laskee lähetettävälle datalle tarkistusbitit ja liittää ne kehykseen tarkistaa, onko koko saapunut kehys (data + tarkistusbitit) pysynyt muuttumattomana data tarkistusbitit 100110110 K bittiä L bittiä 27.9.2000 27

Esimerkki: data = 101110, virittäjä = 1001,( polynomina X**3 +1), tarkistusbittejä 3 Lähetettävä data = 101110??? tarkistusbitit Vastaanottaja:jakaa saamansa kehyksen virittäjällä. Kehys on ok, jos jakojäännös on 0! 101011 1001 101110000 000 1001 1010 1001 1100 1001 1010 1001 0011011 = tarkistusbitit Modulo 2- aritmetiikka: 1+1 = 0 (XOR) Lähetetään: 101110 011

Standardoituja virittäjiäpolynomeja CRC-12 = x**12 + x**11 + x**3 + x**2 + x + 1 CRC-16 = x**16 + x**15 + x**2 +1 CRC-32=x**32+ x**26 + x**23+ + x**4 + x**2 + x+1 CRC: n virheiden havaitsemiskyky kaikki virheröypyt, joiden pituus < tai = virittäjän useimmat virheryöpyt, joiden pituus on suurempi Huom CRC-32: P{ryöppy > 33 havaitaan} = 0.9999999998» Arvioinneissa lähtökohtana ollut täysin satunnainen bittien jakautuminen, mutta todellisuudessa näin ei ole!» Joten havaitsemattomien virheiden määrä on arvioitua suurempi. 27.9.2000 29

3.3. Linkkitason protokollat Peruskäsitteet NL A B NL loppumaton data LL linkkitason protokolla LL PL 011000110001 PL NL: A=> B datavirtaa luotettavasti ja yhteydellisesti LL: siirtää dataa, suorittaa tarkistukset, virheestä toipumiset, huolehtii vuon valvonnasta

Vuon valvonta vuon valvonta? A B!!! datavirta X-ON / X-OFF : GO! STOP!

Kohinainen kanava A A A ACK/ NAK B sanoma vääristyy => virhetarkistus sanoma katoaa => ajastin ja uudelleenlähetys duplikaattien havaitseminen

Yksinkertainen Stop and wait -protokolla Oletus lähettäjä vastaanottaja virheetön siirto => ei huolta virheistä mutta vuonvalvontaa tarvitaan lähettää kehyksen odottaa lupaa lähettää seuraava kehys käsittelee kehyksen lähettää tiedon (=antaa luvan) lähettäjälle 27.9.2000 33

ARQ-protokolla (Automatic Repeat Request) normaali tilanne kohinainen kanava => virheitä sanomat ja kuittaukset voivat kadota ajastin lähettäjälle jos kuittausta ei kuulu, kehys lähetetään automaattisesti uudelleen kuittaus: ACK = ok, lähetä seuraava uudelleenlähetys synnyttää kaksoiskappaleita! kehysnumerointi jotta vastaanottaja tunnistaa kaksoiskappaleet Miten paljon numeroita tarvitaan? Numero vie tilaa kehyksessä!

Stop and wait -protokollan suorituskyky Esim. satelliittiyhteydellä 50 kbps, kiertoviive ~520 ms, kehys 1000 bittiä kanavan käyttöaste < 4% => lähetetään useita kehyksiä ja sitten vasta odotetaan kuittauksia ideaali: lähetykset liukuhihnalla (pipeline) lähetykset ja kuittaukset limittyvät ei mitään odottelua lähetyskanava koko ajan käytössä suorituskyky kasvaa

Liukuvan ikkunan protokolla (Sliding Window) Lähetysikkuna ikkunan koko montako kehystä saa korkeintaan olla kuittaamatta järkevä koko riippuu yhteyden tyypistä ja vastaanottajan kapasiteetista sisältö = mitkä kehykset saa lähettää kehyksellä järjestysnumero rajallinen, N bittiä => 2**N arvoa numerot käytettävä järjestyksessä 27.9.2000 36

Lähettäjä joutuu odottamaan vasta, kun kaikki ikkunan kehykset on lähetetty eli kehysnumerot käytetty Kun kuittaus saapuu => ikkuna liukuu eli seuraavat kehysnumerot tulevat luvallisiksi lähettäjä: tietyllä hetkellä sallittujen numeroiden joukko = lähettäjän ikkuna mitkä kehykset saa lähettää etukäteen odottamatta kuittausta 27.9.2000 37

Vastaanottajan ikkuna kullakin hetkellä sallittujen numeroiden joukko mitä kehyksiä suostuu vastaanottamaan kuittaus muuttaa myös vastaanottajan ikkunan ikkuna pysäyttää kehysten lähetyksen seuraava kehysnumero ei ole lähetysikkunassa ikkuna estää kehyksen vastaanoton saadun kehyksen kehysnumero ei ole vastaanottoikkunassa

Kun ikkunan koko on 1 Aina vain yksi kehys kuittaamattomana => One Bit Sliding Window -protokolla ~ stop and wait -protokolla kehysnumerot 0 ja 1 riittävät ACK-kehyksessä viimeksi vastaanotetun virheettömän kehyksen kehysnumero jotta kuittausduplikaatti ei voi kuitata väärää kehystä samanaikainen aloitus tai liian lyhyt lähettäjän ajastimen aika voi aiheuttaa paljon turhia lähetyksiä 27.9.2000 39

entä kun tapahtuu virhe? kaksi eri tapaa hoitaa toisto virheestä lähtien (go back n) valikoiva toisto (selective repeat) 27.9.2000 40

Paluu n:ään ( Go back n ) virheellisen kehyksen havaittuaan vastaanottaja hylkää kaikkia sen jälkeiset kehykset eikä lähetä niistä kuittauksia kun lähettäjä ei saa kuittauksia, sen lähetysikkuna täyttyy eikä se voi enää lähettää lähettäjän ajastimet laukeavat aikanaan ja virheellinen kehys sekä kaikki sen jälkeen lähetetyt kehykset lähetetään uudelleen tehoton, jos paljon virheitä ja iso ikkuna

Valikoiva toisto vastaanottaja hyväksyy kaikki kelvolliset kehykset se kuittaa kehykset puskuroi ne ja toimittaa eteenpäin oikeassa järjestyksessä tarvitaan puskuritilaa lähettäjä ei saa kuittausta virheellisestä kehyksestä ajastin laukeaa ja kehys lähetetään uudelleen lähettää uudelleen vain virheellisen kehyksen ikkuna liukuu nytkin tasaisesti yksi puuttuva kuittaus voi pysäyttää lähetyksen

Ikkunankoko Kun käytetty numeroavaruus on 0, 1,.. n ja eri numeroita siis käytettävissä n+1 yleensä jokin kakkosen potenssi ikkunan koko go back n :ssä voi olla korkeintaan n ikkunan koko valikoivassa toistossa voi olla korkeintaan (n+1)/2 27.9.2000 43

Kaksisuuntainen liikenne datakehys ja kuittauskehys kehyksessä sekä data että kuittaus piggypacking tehostaa lähetystä ongelma: kauanko kuittaaja odottaa dataa ennen pelkän kuittauksen lähettämistä? 27.9.2000 44

Negatiiviset kuittaukset NAK-kuittauksilla voidaan nopeuttaa uudelleenlähettämistä vastaanottaja ilmoittaa heti virheellisestä tai puuttuvasta kehyksestä ei ole tarpeen odottaa ajastimen laukeamista hyödyllinen, jos kuittausten saapumisaika vaihtelee paljon ajastinta vaikea asettaa oikein 27.9.2000 45

NAK-kuittaukset voivat aiheuttaa turhia uudelleenlähetyksiä lähetys ja kuittaus menevät ristiin NAK-kuittauksen katoaminen ei haittaa implisiittinen uudelleenlähetys ei NAK-kuittauksia explisiittinen uudelleenlähetys käytetään NAK-kuittauksia 27.9.2000 46

3.6. Linkkitason protokollia Linkkitason protokollia on useita HDLC (High-level Data Link Control) useita, enemmän tai vähemmän toisistaan poikkeavia yhteensopimattomia versioita käsitellään jonkin verran harjoituksissa PPP (Point-to-Point Protocol) soittoyhteys modeemin tai ISDN:n kautta tietokoneeseen yleisimmin käytettyjä linkkiprotokollia 27.9.2000 47

PPP (Point-to-Point Protocol) IETF:n vaatimuksia hyvin toimiva kehystys kehysten virhetarkistus (virheellinen kehys tuhotaan!) havaitsee, jos yhteys ei toimi ja ilmoittaa tästä verkkokerrokselle useat verkkokerroksen protokollat voivat käyttää verkko-osoitteista sopiminen: mm. IP-osoitteet neuvoteltavissa yhteyden muodostuksen aikana autentisointi mahdollista ei vuonvalvontaa 27.9.2000 48

PPP-kehys Tavuja 1 1 1 1-2 vaihtelee 2-4 1 01111110 osoite kontrolli protokolla data CRC 01111110 lipputavu 01111110, character stuffing, DLE = 01111101 osoitekenttä aina 11111111 (=yleislähetys) kontrollikenttä aina 00000011 osoite- ja kontrollikenttä voidaan jättää kokonaan pois protokolla: mille protokollalle data on tarkoitettu esim. IP, IP:n Control Protocol, PPP:n Link Control Protocol data: sisältää ylemmälle protokollalle tarkoitettua dataa maksimi sovitaan, oletusmaksimi 1500 tavua CRC: tarkistusbitit;

LCP (Link Control Protocol)» muodostaa ja testaa linjayhteyksiä» neuvottelee yhdeyden ominaisuuksista» purkaa yhteyden, kun sitä ei enää tarvita NCP (Network Control Protocol)» neuvottelee verkkokerroksen optioista» oma NCP kullekin verkkoprotokollalle» TCP/IP: tärkein tehtävä IP-osoitteen antaminen päätteelle dynaamisesti 27.9.2000 50

Yhteydenotto PPP:llä soitto modeemilla reitittimeen» fyysinen yhteys PPP-parametrien valinta» LCP-paketteja vaihtamalla verkkokerroksen konfigurointi» TCP/IP: IP-osoitteen antaminen PC:lle» PC => tilapäinen Internet isäntäkone PC voi lähettää ja vastaanottaa tavallisen isäntäkoneen tapaan 27.9.2000 51

Yhteyden purku NCP purkaa verkkoyhteyden ja vapauttaa IP-osoitteen LCP purkaa siirtoyhteyskerroksen 27.9.2000 52

Linjayhteyden muodostus Dead» ei kantoaaltoa, ei peruskerroksen yhteyttä Established» peruskerroksen yhteys muodostettu» sovitaan LPC-optioista Authenticate Network» osapuolet varmistuvat toistensa identiteetistä» NCP konfiguroi verkkokerroksen 27.9.2000 53

Open» tiedonsiirto voi alkaa Terminate» kun tiedonsiirto suoritettu => lopetustilaan» tästä palataan alkutilaan lopettamalla kantoaalto 27.9.2000 54

LPC-pakettityypit optioista ja niiden arvoista sopiminen Configure-» request ehdotettuja optioita ja arvoja» ack kaikki hyväksytään» nak optioita, joita ei voida hyväksyä» reject optioita, joista ei voida neuvotella linjan sulkeminen Terminate-» request linjan sulkemispyyntö» ack OK, linja suljetaan 27.9.2000 55

tuntemattomat sanomat Code-reject tuntematon pyyntö Protocol-reject tuntematon protokolla linjan testaus Echo-request palauta tämä kehys Echo-reply tässä kehys takaisin Discard-request hylkää tämä testisanoma 27.9.2000 56

tehtävät kehystys Yhteenveto virhetarkistukset havaitseva /korjaava pariteetti, Hamming, CRC linkkitason protokollien peruskäsitteitä stop and wait liukuva ikkuna go-back n valikoiva toisto esimerkki: PPP 27.9.2000 57