Kuljetuskerroksen tehtävä. Kuljetuskerros UDP. UDP-kaappaus (DNS) DNS-haku, Ethernet-kehys <#>

Samankaltaiset tiedostot
Kuljetuskerros. Kirja sivut: ,

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

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

ELEC-C7241 Tietokoneverkot Kuljetuskerros

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

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

OSI ja Protokollapino

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

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

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

Miten Internet toimii?

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

S Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Helsinki University of Technology Networking Laboratory

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

Monimutkaisempi stop and wait -protokolla

Monimutkaisempi stop and wait -protokolla

Monimutkaisempi stop and wait -protokolla

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

3. Kuljetuskerros 3.1.

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

11/20/ Siirron optimointi

WWW-sivu. Miten Internet toimii? World Wide Web. HTML-koodi. HTTP-istunto URL <#>

Siirron optimointi. Optimointi on usein tarpeen: Silly window syndrome

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

Miten Internet toimii?

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

Kuljetuskerroksen protokollat

3. Kuljetuskerros 3.1. Kuljetuspalvelu

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

Kuljetuskerroksen protokollat

Internet Protocol version 6. IPv6

Siirron optimointi. Optimointi on usein tarpeen: Silly window syndrome. Esimerkki jatkuu

Esimerkki jatkuu. <seq = 6, data = m6> <ack = 4, buf = 0> <ack = 4, buf = 1> <ack = 4, buf = 2> <ack = 6, buf = 0> <ack = 6, buf = 4> 1/31/

Tietoliikenteen perusteet

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ä

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

kynnysarvo (threshold)

kynnysarvo (threshold)

Tehtävä 2: Tietoliikenneprotokolla

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

Chapter 3 Transport Layer. Kuljetuskerros

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

Esimerkki jatkuu. ajastin laukeaa, uudelleen sanoma 2. <seq = 6, data = m6>

Salausmenetelmät (ei käsitellä tällä kurssilla)

Miten selain muodostaa TCP- tai UDP-yhteyden? TCP-osoite = IP-osoite + porttinumero ( tässä 80) SOCKET BIND (80) LISTEN ACCEPT. Connection Request

Kuljetuskerroksen protokollat

3. Kuljetuskerros 3.1. Kuljetuspalvelu

S Teletekniikan perusteet

Verkkoliikennettä Java[ssa lla] Jouni Smed

Kuljetus- ja verkkokerrokset. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2011

ICMP-sanomia. 3. IP-kerroksen muita protokollia ja mekanismeja ICMP (Internet Control Message Protocol)

Internet ja tietoverkot 2015 Harjoitus 5: (ISO/OSI-malli: Verkkokerros, TCP/IP-malli: internet-kerros)

3. IP-kerroksen muita protokollia ja

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

Miten selain muodostaa TCP- tai UDP-yhteyden? TCP-osoite = IP-osoite + porttinumero ( tässä 80) SOCKET BIND (80) LISTEN ACCEPT. Connection Request

TCP:n vuonohjaus (flow control)

Tietoliikenne II (2 ov)

Luento 5: Kuljetuskerros

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

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

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

peittää verkkokerroksen puutteet

IP asetus -harjoitus Tietojenkäsittelyn koulutusohjelma

Asiakkaan toimenpiteet

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

Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov)

3. Kuljetuskerros 3.1. Kuljetuspalvelu

6. Kuljetuskerros 6.1. Kuljetuspalvelu End- to- end

6. Kuljetuskerros 6.1. Kuljetuspalvelu

Turvallisuus verkkokerroksella

Turvallisuus verkkokerroksella

AH-otsake. Turvallisuus verkkokerroksella. AH-otsake. AH-otsake. ESP-otsake. IP-otsake

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

Tietoliikenne II (2 ov)

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat

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

Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2012

Protokollien yleiset toiminnot

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2013

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

3. Kuljetuskerros 3.1.

Chapter 3 Transport Layer. Kuljetuskerros

Kuljetuskerros. Chapter 3 Transport Layer. Kuljetuskerros. Kuljetuspalvelut ja -protokollat. Kuljetuskerros vs. verkkokerros

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

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

Tietoliikenne II (2 ov) Tietoliikenne II. Sisällysluettelo jatkuu. Alustava sisällysluettelo. Suoritus. Täydennystä Tietoliikenne I -kurssin asioihin

Chapter 3 Transport Layer. Kuljetuskerros

TCP/IP-protokollapino. Verkkokerros ja Internetprotokolla. Sisältö. Viime luennolla. Matti Siekkinen

SSH Secure Shell & SSH File Transfer

reitittimissä => tehokkaampi 2005 Markku Kojo IPv6

6. Kuljetuskerros 6.1. Kuljetuspalvelu End- to- end. kuljetuspalvelut parantavat verkkopalveluja Kuljetuskerroksen toiminta

Pertti Pennanen OSI 1 (4) EDUPOLI ICTPro

Transkriptio:

Kuljetuskerroksen tehtävä Kuljetuskerros Kirja sivut: 280-301, 326-330 Kuljetuskerros yhdistää sovelluksia Verkkokerros välittää viestejä koneelta toiselle Kuljetuskerros lisää tarkemman osoitteen koneen sisällä Kuljetuskerros tarjoaa sovelluksille palveluita Luotettava/epäluotettava tiedonsiirto Viestinvälitys (datagrammi) tai tavuvirta (virtuaalinen yhteys) Kuljetuskerros toteutetaan eri protokollilla, jotka ovat vaihtoehtoisia TCP tarjoaa luotettavan tavuvirran palveluna sovellukselle UDP tarjoaa epäluotettavan viestinvälityksen palveluna UDP UDP User Datagram Protocol Standardi RFC-768 Paketin syntaksi Source port Length Data Destination port UDP checksum Port on 16-bittinen numero, joka viittaa sovellukseen Tarkistussummaan lasketaan sekä otsake että data Ei ole välttämätön UDP-viesti kapseloidaan IP-viestiin: IP header UDP header UDP data UDP tarjoaa epäluotettavan datagrammiorientoituneen kuljetuskerrosprotokollan Olennainen lisäarvopalvelu n päälle on porttiosoitteet Kevyt, ei tilaa, ei yhteydenmuodostusta, helppo toteuttaa, nopea (ei uudelleenlähetystä) UDP-sovelluksia: DNS, Radius, NTP, SNMP, RTP (VoIP) UDP-kaappaus (DNS) DNS-haku, Ethernet-kehys 23 riku@mole $ dig a tapas.nixu.fi @194.197.118.20 ;; got answer: ;; QUESTIONS: ;; tapas.nixu.fi, type = A, class = IN ;; ANSWERS: tapas.nixu.fi. 3600 A 194.197.118.24 ;; AUTHORITY RECORDS: nixu.fi. 3600 NS ns2.tele.fi. nixu.fi. 3600 NS ns.nixu.fi. nixu.fi. 3600 NS ns.tele.fi. ;; ADDITIONAL RECORDS: ns2.tele.fi. 35619 A 193.210.19.190 ns.nixu.fi. 3600 A 193.209.237.29 ns.tele.fi. 555991 A 193.210.19.19 ns.tele.fi. 555991 A 193.210.18.18 ;; Total query time: 88 msec ;; FROM: mole.nixu.fi to SERVER: 194.197.118.20 ;; MSG SIZE sent: 31 rcvd: 175 24 riku@mole $ ETHER: Packet 1 arrived at 11:19:24.80 ETHER: Packet size = 73 bytes

DNS-haku, IP-otsake DNS-haku, UDP-otsake Version = 4 Header length = 20 bytes Type of service = 0x00 xxx.... = 0 (precedence)...0... = normal delay... 0... = normal throughput....0.. = normal reliability Total length = 59 bytes Identification = 35734 Fragment offset = 0 bytes Time to live = 255 seconds/hops Protocol = 17 (UDP) Header checksum = 7e65 Source address = 194.197.118.22 Destination address = 194.197.118.20 No options UDP: Source port = 38325 UDP: Destination port = 53 (DNS) UDP: Length = 39 UDP: Checksum = E34A DNS-haku, otsakkeet ja data DNS-vastaus otsakkeet 0: 0800 2074 f12c 0000 3b80 0e93 0800 4500.. t.,..;...e. 16: 003b 8b96 4000 ff11 7e65 c2c5 7616 c2c5.;..@...~e..v... 32: 7614 95b5 0035 0027 e34a 000a 0100 0001 v...5.'.j... 48: 0000 0000 0000 0574 6170 6173 046e 6978...tapas.nix 64: 7502 6669 0000 0100 0100 u.fi... Tästä eteenpäin näytetään otsakkeista vain olennaiset kentät ETHER: Packet size = 217 bytes Total length = 203 bytes Flags = 0x4 (do not fragmnet) Protocol = 17 (UDP) Header checksum = 8ed6 Source address = 194.197.118.20 Destination address = 194.197.118.22 UDP: Source port = 53 UDP: Destination port = 38325 UDP: Length = 183 UDP: Checksum = AD48 DNS-vastaus otsakkeet ja data TCP 0: 0000 3b80 0e93 0800 2074 f12c 0800 4500..;... t.,..e. 16: 00cb 7a95 4000 ff11 8ed6 c2c5 7614 c2c5..z.@...v... 32: 7616 0035 95b5 00b7 ad48 000a 8580 0001 v..5...h... 48: 0001 0003 0004 0574 6170 6173 046e 6978...tapas.nix 64: 7502 6669 0000 0100 01c0 0c00 0100 0100 u.fi... --- some reply data deleted --- 208: 087b db00 04c1 d212 124f.{... Transmission Control Protocol Standardi RFC-793 Tarjoaa palveluna virtuaaliyhteyden, luotettavan tavuvirran Sovelluksen lähettämä tavuvirta jaetaan pienempiin lohkoihin, jotka välitetään IP-viesteinä Ominaisuuksia Tarkistussummat, aikakatkaisu, vuonohjaus ruuhkatilanteissa Datan järjestyksen seuraaminen, duplikaattien hylkääminen TCP on useimpien sovellusten käyttämä: SMTP, HTTP (WWW), NNTP (News),...

TCP-otsake TCP-otsake Hdrlen Source port number Reserv. TCP checksum Sequence number Acknowledgment number Flags Options (if any) Data (if any) Destination port number Window size Urgent pointer Portit edustavat lähettävää ja vastaanottavaa sovellusta Sekvenssinumero on datan (jos on) ensimmäisen tavun numero sekvenssissä Kuittausnumero kertoo seuraavaksi odotettavan tavun numeron Liput (bittejä) URG viestin urgent pointer osoittaa dataan, joka on aiheellista lukea ohi jonossa olevan datan ACK ilmoittaa acknowledgment-numeron edustavan vastaanotetun datan märää PSH kertoo että tämän viestin jälkeen ei ole tulossa välittömästi uutta dataa, vaan datan voi väittää eteenpäin RST resetoi yhteydet SYN merkitsee yhteyden synkronointia avauksen yhteydessä FIN sulkee yhteyden TCP-otsake TCP tietovuo Ikkunan koko kertoo montako tavua vastaanottaja on suostuvainen ottamaan vastaan, eli montako tavua lähettäjä voi lähettää odottamaan kuittausta Tätä käytetään ruuhkanhallintaan Urgent pointer kiireellisen datan viimeiseen tavuun. Tätä käytetään esim. jos käyttäjä näppäilee interruptkomennon kesken telnet-istunnon Optioita käytetään mm. selvittämään suurimman sallitun segmentin koko tai sopimaan lähetysikkunan käyttäytymisestä Vastaanottaja lähettää kuittauspaketteja, joissa kerrotaan mihin tavuun saakka dataa on saatu Paketin kadotessa aikakatkaisu (timeout) saa sen lähtemään uudestaan waiting for ack Client packet gets lost retransmission ACK Server TCP tietovuo TCP-yhteyden avaus Liukuva ikkuna edistää siirtokapasiteetin hyödyntämistä Ikkunan koko riippuu asetuksista, ruuhkan hallinnasta, muistin määrästä jne. Tunnetaan nimellä three-way handshake Client Server waiting for ack Client packet 1 packet 2 packet 3 ACK 1 & 2 ACK 3 Server active open SYN SYN + ACK ACK passive open

TCP-yhteyden sulkeminen TCP:n puutteet active close Client FIN ACK FIN ACK Server passive close Kumpi tahansa osapuoli voi aloittaa sulkemisen Yleensä sovellustason protokollaistunto suljetaan ensin Huomaa, että TCP-yhteys on itse asiassa kaksi simplex-yhteyttä Lähetysikkunan koko Standardin perusversiossa maksimikoko on 64 kt Max bandwidth = max window size / round trip time Virheiden käsittely TCP olettaa pakettien katoamisen johtuvan ruuhkasta verkossa Internetin oletetaan koostuvan laadukkaista yhteyksistä Ruuhkanhallinta (tarkemmin tietokoneverkot -kurssilla) toteutetaan pienentämällä lähetysikkunaa, joka vähentää liikennettä Nykyään pakettien katoaminen saattaa johtua myös radioliikenteen häiriöistä Jolloin oikea ratkaisu olisi lähettää data uudestaan Kaapattu SMTP-istunto 1. SYN asiakas->palvelin (Ethernet-otsake) 24 riku@mole $ telnet jalopeno 25 Trying 194.197.118.20... Connected to jalopeno. Escape character is '^]'. 220-jalopeno.nixu.fi ESMTP Sendmail 8.6.12/8.6.12 ready at Sat, 5 Oct 1996 11:24:29 +0300 220 ESMTP spoken here QUIT 221 jalopeno.nixu.fi closing connection Connection closed by foreign host. 25 riku@mole $ ETHER: Packet 1 arrived at 10:58:0.62 ETHER: Packet size = 60 bytes 1. SYN asiakas->palvelin (IPotsake) 1. SYN asiakas->palvelin (TCP-otsake) Version = 4 Header length = 20 bytes Type of service = 0x00 xxx.... = 0 (precedence)...0... = normal delay... 0... = normal throughput....0.. = normal reliability Total length = 44 bytes Identification = 63629 Fragment offset = 0 bytes Time to live = 255 seconds/hops Header checksum = 1188 Source address = 194.197.118.22, mole.nixu.fi Destination address = 194.197.118.20, jalopeno.nixu.fi No options TCP: Sequence number = 760886272 TCP: Acknowledgement number = 0 TCP: Data offset = 24 bytes TCP: Flags = 0x02 TCP:..0.... = No urgent pointer TCP:...0... = No acknowledgement TCP:... 0... = No push TCP:....0.. = No reset TCP:.....1. = Syn TCP:......0 = No Fin TCP: Window = 8760 TCP: Checksum = 0x17a1 TCP: Urgent pointer = 0 TCP: Options: (4 bytes) TCP: - Maximum segment size = 1460 bytes

1. SYN asiakas->palvelin (SMTP-ata) 2. SYN+ACK palvelin->asiakas From now on only relevant portions of the headers will be displayed Source address = 194.197.118.20, jalopeno.nixu.fi Destination address = 194.197.118.22, mole.nixu.fi TCP: Sequence number = 2371738143 TCP: Acknowledgement number = 760886273 TCP: Flags = 0x12 (ACK, SYN) TCP: Options: (4 bytes) TCP: - Maximum segment size = 1460 bytes 3. ACK asiakas->palvelin 4. Data palvelin->asiakas Source address = 194.197.118.22, mole.nixu.fi Destination address = 194.197.118.20, jalopeno.nixu.fi TCP: Sequence number = 760886273 TCP: Acknowledgement number = 2371738144 TCP: Flags = 0x10 (ACK) TCP: No options Source address = 194.197.118.20, jalopeno.nixu.fi Destination address = 194.197.118.22, mole.nixu.fi TCP: Sequence number = 2371738144 TCP: Acknowledgement number = 760886273 TCP: Flags = 0x18 (ACK, PSH) SMTP: "220-jalopeno.nixu.fi ESMTP Sendmail 8.6.12/8.6.12 ready" 5. Kuittaus asiakas->palvelin 6. Data asiakas->palvelin Source address = 194.197.118.22, mole.nixu.fi Destination address = 194.197.118.20, jalopeno.nixu.fi No options TCP: Sequence number = 760886273 TCP: Acknowledgement number = 2371738258 TCP: Flags = 0x10 (ACK) Source address = 194.197.118.22, mole.nixu.fi Destination address = 194.197.118.20, jalopeno.nixu.fi TCP: Sequence number = 760886273 TCP: Acknowledgement number = 2371738258 TCP: Flags = 0x18 (ACK, PSH) SMTP: "QUIT\r\n"

7. Kuittaus palvelin->asiakas (sisältää dataa) 8. palvelin alkaa sulkea Source address = 194.197.118.20, jalopeno.nixu.fi Destination address = 194.197.118.22, mole.nixu.fi TCP: Sequence number = 2371738258 TCP: Acknowledgement number = 760886279 TCP: Flags = 0x18 (ACK, PSH) SMTP: "221 jalopeno.nixu.fi closing connection\r\n" Source address = 194.197.118.20, jalopeno.nixu.fi Destination address = 194.197.118.22, mole.nixu.fi TCP: Sequence number = 2371738299 TCP: Acknowledgement number = 760886279 TCP: Data offset = 20 bytes TCP: Flags = 0x11 (ACK, FIN) 9. asiakas kuittaa aiemman data ja sulkemisen 10. asiakas alkaa sulkea myös Source address = 194.197.118.22, mole.nixu.fi Destination address = 194.197.118.20, jalopeno.nixu.fi TCP: Sequence number = 760886279 TCP: Acknowledgement number = 2371738300 TCP: Flags = 0x10 (ACK) Source address = 194.197.118.22, mole.nixu.fi Destination address = 194.197.118.20, jalopeno.nixu.fi TCP: Sequence number = 760886279 TCP: Acknowledgement number = 2371738300 TCP: Flags = 0x11 (ACK, FIN) 11.palvelin kuittaa sulkemisen Source address = 194.197.118.20, jalopeno.nixu.fi Destination address = 194.197.118.22, mole.nixu.fi TCP: Sequence number = 2371738300 TCP: Acknowledgement number = 760886280 TCP: Flags = 0x10 (ACK) Automatic Repeat Request

ARQ Automatic repeat request on yleinen nimi joukolle tekniikkoja, joita mm. TCP hyödyntää ARQ-pohjaisia protokollia voidaan hyödyntää eri tasoilla ja niistä voidaan valita tarpeen mukaan sopiva Tämän esityksen tarkoitus on muistuttaa, että TCP:n käyttämä tapa ei ole ainoa vaihtoehto Suunnittelija valitsee ratkaisun tilanteen mukaan Tiedonsiirron luotettavuus uudelleenlähetyksillä Miten toteuttaa luotettava tiedonsiirto epäluotettavan kerroksen ylitse? Päästä päähän Esim. TCP Vaihe vaiheelta Esim. X.25, HDLC Eräs vastaus: ARQ Automatic Repeat Request ARQ on abstrakti konsepti tai periaate, ei protokolla itsessään ARQ-tekniikkaa hyödynnetään useissa protokollissa TCP, HDLC, Kermit, Xmodem... ARQ-tekniikoita on kourallinen Yhteistä on kadonnen datan korvaaminen lähettämällä se uudestaan Basic ARQ ARQ ja sekvenssinumerot Data (SDU) kapseloidaan paketeiksi (PDU), joissa on otsake ja tarkistussumma Kutsutaan myös informaatiokehyksiksi Merkinantoa (signalointi) varten on ohjauskehyksiä (control frame), joissa ei siirretä ylemmän tason informaatiota Lisäksi mekanismi aikakatkaisua (time-out) varten Sender Packets in transit Receiver 1. A packet is sent 3. A packet is re-sent after a timeout 2. A packet is lost 4. A simple acknowledgment is sent Mitä tapahtuu, jos kehys vastaanotetaan ja kuitataan sen jälkeen kun aikakatkaisu on tapahtunut lähettäjän päässä? Lähettäjä ja vastaanottaja menettävät helposti synkronointinsa Ongelma, johon kaikkien protokollien on otettava kantaa Synkronointi voidaan varmistaa lisäämällä kuhunkin kehykseen sekvenssinumero Teoriassa yksi-bittinen sekvenssinumero riittää yksinkertaiselle Stop-and-Wait ARQ:lle Stop-and-Wait tarkoittaa, että vain yksi kehys kerrallaan on matkalla Yksi sekvenssibitti ei riitä, mikäli verkko saattaa kopioida kehyksiä Stop-and-Wait ei ole yleensä kovinkaan tehokasta Suurempi sekvenssinumeroavaruus sallii useiden kehysten olevan matkalla samanaikaisesti ARQ:n ohjauskehykset Nämä kolme perusviestiä mahdollistavat joukon erilaisia ARQ-toteutuksia Kaikki toteutukset eivät käytä kaikkia viestejä Esim. pelkkä ACK riittää TCP:lle ACK, acknowledgment, kuittaus, positiivinen vastaus NAK, negative acknowledgment, negatiivinen vastaus ENQ, enquiry, tiedustelu Miten Stop-and-Wait ARQ käsittelee kadonneet kehykset Vain yksi informaatio-kehys lähetetään kerrallaan Sääntö: vain informaatiokehykset kuitataan, ohjauskehyksiä ei kuitata Kun kehys katoaa, Lähettäjä lähettää uudelleen aikakatkaisun jälkeen (ei ACKviestiä) tai ENQ-viestiin vastataan viimeksi lähetetyllä kehyksellä Lähettäjä ei saa kuittausta ja lähettää ENQ-viestin Vastaanottaja lähettää viimeksi lähettämänsä ACKviestin Nyt lähettäjä on tietoinen vastaanottajan tilasta ja tiedonsiirto on uudelleensynkronoitunut

Go-Back-N ARQ Selective Repeat ARQ Riittävä numeroavaruus sekvenssinumeroille ja liukuva ikkuna Vastaanottaja kuittaa vain oikeassa järjestyksessä saapuvat kehykset Informaatiokehyksen kadotessa se ja kaikki sen jälkeen tulevat kehykset on lähetettävä uudelleen Lähettäjä havaitsee kehyksen katoamisen aikakatkaisulla tai Vastaanottaja lähettää NAK-viestin saadessaan kehyksen, joka ei ole paikallaan sekvenssissä Vastaanottaja tarvitsee yhden kehyksen kokoisen puskurin Lähettäjällä on oltava ikkunan suuruinen puskuri (kaikki lähetetyt kehykset, joista ei ole vielä tullut kuittausta) Jos ACK-ohjauskehys katoaa matkalla, myöhempi ACK riittää korvaamaan sen Go-Back-N ARQ:n toiminta on tehokkaampaa kuin Stop-and-Wait ARQ:n Ikkunointi auttaa pitämään median täynnä dataa Latenssi syö Stop-and-Wait ARQ:n tehoa huomattavasti TCP muistuttaa Go-Back-N ARQ:ta TCP:ssä ei ole NAK-viestiä TCP:n sekvenssinumerot kertovat siirretyistä tavuista, ei kehyksistä Vastaanottaja voi myös tyytyä lähettämään NAKviestin puuttuvista kehyksistä, jolloin vain ne tarvitsee lähettää uudelleen Vastaanottajalla on oltava riittävän suuri puskurimuisti Go-Back-N ARQ:ta tehokkaampi hyvin virheisillä siirtoteillä Yhteenveto Kuljetuskerros tarvitaan yhdistämään sovelluksia Verkkokerros välittää viestejä koneelta koneelle Sovellus per kone ei ole toimiva abstraktio Kokonaisarkkitehtuurin olisi voinut tehdä toisinkin TCP ja IP kuvastavat suunnittelijoiden maailmankuvaa, on tietokoneita ja tietokoneissa sovelluksia Asian pohdinta ei ole tämän kurssin sisältöä, mutta MPLS:n ja Hn tapaiset tekniikat viittaavaat vaihtoehtoisten paradigmojen olemassaoloon