3. Kuljetuskerros 3.1.

Samankaltaiset tiedostot
3. Kuljetuskerros 3.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Monimutkaisempi stop and wait -protokolla

Monimutkaisempi stop and wait -protokolla

Monimutkaisempi stop and wait -protokolla

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

Tietoliikenteen perusteet

3. Kuljetuskerros 3.1.

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

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

3. Kuljetuskerros 3.1. Kuljetuspalvelu

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

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

peittää verkkokerroksen puutteet

3. Kuljetuskerros 3.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1. Kuljetuspalvelu

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

kynnysarvo (threshold)

kynnysarvo (threshold)

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

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

ELEC-C7241 Tietokoneverkot Kuljetuskerros

6. Kuljetuskerros 6.1. Kuljetuspalvelu End- to- end

6. Kuljetuskerros 6.1. Kuljetuspalvelu

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

Tehtävä 2: Tietoliikenneprotokolla

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

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ä

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

3. Siirtoyhteyskerros linkkikerros (Data Link Layer)

3. Siirtoyhteyskerros

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

11/20/ Siirron optimointi

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

OSI ja Protokollapino

Luento 5: Kuljetuskerros

Siirron optimointi. Optimointi on usein tarpeen: Silly window syndrome

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

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/

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat

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

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

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

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

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

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

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

Kuljetuskerroksen protokollat

Kuljetuskerroksen protokollat

Kuljetuskerros. Kirja sivut: ,

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

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

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

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

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

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

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

S Teletekniikan perusteet

Chapter 3 Transport Layer. Kuljetuskerros

Kuljetuskerroksen protokollat

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

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

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Kuljetuspalvelu. Tietoliikenteen perusteet. Sisältöä. Kuljetuskerros. Kuljetuskerros. Kuljetuskerros. Internetin kuljetusprotokollat

Luento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta

Tietoliikenteen perusteet: Kokeeseen tulevista asioista

Luento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta

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

Tietoliikenteen perusteet. Kuljetuskerros

Miten Internet toimii?

Luento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta. Syksy 2014, Tiina Niklander Kurose&Ross: Ch3

Tietoliikenteen perusteet. Kuljetuskerros

Tietoliikenteen perusteet. Kuljetuskerros

Tietoliikenteen perusteet. Kuljetuskerros

Asiakkaan toimenpiteet

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

Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov)

Tietoliikenteen perusteet. Kuljetuskerros

Kuljetuspalvelu. Tietoliikenteen perusteet. Sisältöä. Kuljetuskerros. Kuljetuskerros. Kuljetuskerros. Internetin kuljetusprotokollat

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

Tietoliikenteen perusteet. Kuljetuskerros

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

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

3. IP-kerroksen muita protokollia ja

Tietoliikenteen perusteet

Protokollien yleiset toiminnot

1. Tietokoneverkot ja Internet

Tietoliikenteen perusteet

1. Tietokoneverkot ja Internet Tietokoneesta tietoverkkoon. Keskuskone ja päätteet (=>-80-luvun alku) Keskuskone ja oheislaitteet

Verkkoliikennettä Java[ssa lla] Jouni Smed

Transkriptio:

End- to- end 3. Kuljetuskerros 3.1. Kuljetuspalvelu prosessilta prosessille looginen yhteys portti verkkokerros koneelta koneelle IP-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän hyvä, sitä voidaan parantaa kuljetuskerroksella kuljetuskerros huomaa verkkokerroksen kadottamat paketit ja pyytää niiden uudelleenlähetystä 30.1.2002 1

asiakas-prosesseja (porttinumero) kuljetusyhteys palvelinprosessi HTTP 3256 1024 1068 portteja 80 218.48.15.135 218.52.7.45 verkkoyhteys Kuljetusyhteys on looginen prosessilta prosessille yhteys (end-to-end) 30.1.2002 2

TCP user proc user proc tavuvirta segmentti TCP TCP IP-datasähke IP IP Prosessilta prosessille - tavuvirta 30.1.2002 3

kuljetuspalvelut parantavat verkkopalveluja Sovelluksen näkemä palvelun laatu (Quality of Service, QoS) kuljetuskerroksen palvelut verkkokerkoksen palvelut kuljetuskerroksen palvelut verkkokerroksen palvelut 30.1.2002 4

Sovelluksen vaatimuksia kuljetuspalvelulle: Virheetön, luotettava järjestyksen säilyttävä kaksoiskappaleet karsiva mielivaltaisen pitkiä sanomia salliva vuonvalvonnan mahdollistava Verkkokerros kuitenkin voi kadottaa sanomia toimittaa sanomat epäjärjestyksessä viivyttää sanomia satunnaisen pitkän ajan luovuttaa useita kopioita samasta sanomasta rajoittaa sanomien kokoa 30.1.2002 5

Internetin kuljetuskerros UDP (User Datagram Protocol) yhteydetön, epäluotettava palvelu TCP (Transmission Control Protocol) yhteydellinen, luotettava palvelu virhevalvonta havaitsee ja korjaa siirrossa syntyneet virheet virhevalvonta vuonvalvonta ei ylikuormita vastaanottajaa ruuhkanvalvonta huolehtii ettei verkko pääse ruuhkautumaan 30.1.2002 6

Sovelluksien datavirtojen erottaminen IP-osoite osoittaa koneen yksikäsitteisesti Sovellusprosessi tunnistetaan porttinumerosta (16 bittiää =>0-65535) jokaisessa lähetetyssä segmentissä on lähettäjän porttinumero vastaanottajan porttinumero Yleisillä palvelimilla omat varatut porttinumerot (0-1023) SMTP 25, HTTP 80, jne 30.1.2002 7

Asiakkaalle kuljetuskerros usein automaattisesti antaa käyttöön jonkin vapaan porttinumeron yhteyden ajaksi Palvelimilla kiinteät numerot yhteydenottoa varten 4356 6785 2456 80 21 23 Kolme yhteyttä: 4356 <=> 23, 6785 <=> 21, 2456 <=>80 30.1.2002 8

Tarvitaan sekä lähteen että kohteen porttinumerot 4356 6785 2456 80 Kolme yhteyttä: 4356 <=> 80, 6785 <=> 80, 2456 <=>80 30.1.2002 9

Palvelimessa yhteyksille uudet porttinumerot, jotta portti 80 voi ottaa vastaan uusia yhteyspyyntöjä 4356 6785 2456 2067 1994 3256 80 Kolme yhteyttä: 4356 <=> 3256, 6785 <=> 1994, 2456 <=>2067 30.1.2002 10

Eri koneissa voidaan ottaa sama numero! 4356 4356 2456 80 Kolme yhteyttä: 4356 <=> 80, 4356 <=> 80, 2456 <=>80! Kuljetusyhteydellä käytetään apuna myös IP-osoitetta: => koneilla eri IP-osoitteet, joten yhteydet pystytään erottamaan 30.1.2002 11

Pistokerajapinta (Socket interface) Verkkopalvelun ja sitä käyttävän sovelluksen rajapinta yleensä käyttöjärjestelmän tarjoama palvelu pistokerajapinta alunperin Berkeley Unixin mukana, nyt lähes kaikissa käyttöjärjestelmissä miten verkkoprotokollan tarjoamiin palveluihin päästään käsiksi sovelluksesta 30.1.2002 12

prosessi Sovelluksen tekijän alue prosessi pistoke pistoke KJ TCP TCP KJ puskurit Internet puskurit KJ = käyttöjärjestelmä Prosessien kommunikointi TCP-pistokkeita käyttäen 30.1.2002 13

pistoke (socket) TCP-yhteyden päätepiste sovellukselle lähettäjällä ja vastaanottajalla oma pistoke pistokenumero 48 bittiä koneen 32 bitin IP-osoite 16 bitin porttinumero 30.1.2002 14

TCP-yhteys kaksisuuntainen (full-duplex) kaksipisteyhteys tunnistetaan päätepisteinä olevien pistokkeiden tunnuksista (pistoke1, pistoke2) Kone a Kone b 30.1.2002 15

TCP:n pistokeprimitiivit SOCKET luo uusi yhteyden päätepistepistoke BIND LISTEN ACCEPT anna pistokkeelle osoite halukas vastaanottamaan yhteyksiä jää odottamaan yhteysyrityksiä CONNECT yritä muodostaa yhteys SEND lähetä dataa yhteyttä pitkin RECEIVE CLOSE vastaanota dataa yhteydeltä pura yhteys (symmetrinen) 30.1.2002 16

Kuljetusyhteyden muodostus ja käyttö SOCKET BIND LISTEN server Luo pysyvä pistoke Kuljetuspalvelun tuottaja esim. TCP client SOCKET Luo pistoke Jää kuuntele maan ACCEPT RECEIVE conn.req. conn. ack. data CONNECT(SERVER) SEND(DATA) Ota yhteys lähetä SEND(DATA) data disconn.req. RECEIVE CLOSE vastaanota dataa sulje yhteys CLOSE disconn. ack.

3.3 UDP UDP (User Data Protocol) voidaan lähettää sanomia ilman yhteyden muodostusta UDP-otsake <------------------- 32 bittiä -----------------------------> Source port # Destination port # UDP length UDP checksum sovelluksen dataa 30.1.2002 18

UDP-tarkistussumma Virheen havaitsemista varten otsakkeeseen liitetään tarkistussumma kaikki segmentin 16 bitin sanat lasketaan yhteen ja summasta otetaan yhden komplementti = muutetaan ykköset nolliksi ja nollat ykkösiksi vastaanottaja laskee taas kaikkien segmentin sanojen (mukana myös tarkistussumma) summan jos tulokseksi saadaan 16 ykköstä, niin ok! 30.1.2002 19

Esimerkki Lasketaan yhteen kolme 8 bitin mittaista sanaa: Lähettäjä vastaanottaja 1011 0100 1011 0100 0111 0101 1111 0101 1000 1101 1000 1101 ========= 0100 1001 1011 0110 ========= 0111 1111 0100 1001 Yhden komplementti 30.1.2002 20

Miksi tarvitaan tarkistussumma? Kaikki siirtoyhteyskerrokset eivät suorita tarkistuksia UDP-tarkistussumma ei ole kovin tehokas havaitsemaan virheitä! Se ei myöskään yritä toipua virheistä! Jotkut toteutukset voivat tuhota virheellisen segmentin jotkut antavat se sovellukselle varoituksen kera 30.1.2002 21

Yhteydetön UDP:n etuja: aikaa ei kulu yhteyden muodostamiseen ja purkamiseen ei tarvita resursseja yhteyden tilatietojen ylläpitoon Otsake (= 8 tavua) pieni => pieni yleisrasite => lisää tehokkuutta Ruuhkanvalvonta ei säännöstele liikennettä 30.1.2002 22

Tehtäviä: Lähetetään 10 tavun viesti UDP:llä. Miten kauan kestää lähettäminen, jos lähetysnopeus on 56 kbps? 10 tavua + 8 tavua = 18 * 8 b = 144 bittiä 144 b/ 56 000 b/s = 2.57 ms Miten suuri on etenemisviive, jos etäisyys lähettäjältä vastaanottajalle on 1000 km? 1000km/200 000 km/s = 5 ms Miten suuri on UDP-otsakkeen aiheuttama yleisrasite (overhead)? 8/18 = 0.44 eli 44 % 30.1.2002 23

UDP:n käyttö Vaikka UDP on epäluotettava, se sopii monien sovellusten tarpeisiin: Remote file server (NFS) multimedia Internet-puhelin verkon hallinta (SNMP) reititys (RIP) nimipalvelu (DNS) Miksi nämä sovellukset suosivat UDP:tä? 30.1.2002 24

3.4 Luotettava tiedonsiirto Lähettävä prosessi DATA Sovelluskerros Vastaanottava prosessi DATA Luotettava kanava Kuljetuskerros 30.1.2002 25

Sovelluskerros Data Data Luotettava tiedonsiirto protokolla paketti Kuljetuskerros Luotettava tiedonsiirtoprotokolla paketti Epäluotettava kanava Verkkokerros 30.1.2002 26

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ä virheetön siirto => ei huolta virheistä, mutta vuonvalvontaa tarvitaan lähettää sanoman odottaa lupaa lähettää seuraava sanoma vastaanottaja käsittelee sanoman lähettää tiedon (=antaa luvan) lähettäjälle 30.1.2002 29

Entä jos virheitä? Sanomissa virheitä tai sanomat voivat puuttua kokonaan Myös kuittaukset voivat kadota Tarvitaan virheen havaitseminen ja korjaaminen tarkistussumma kuittaus uudelleenlähetys sanomien numerointi uudelleenlähetysajastin 30.1.2002 30

Monimutkaisempi stop and wait - protokolla ajastin lähettäjälle jos kuittausta ei kuulu, sanoma lähetetään automaattisesti uudelleen kuittaus: : ACK = ok, lähetä seuraava uudelleenlähetys synnyttää kaksoiskappaleita! Sanomanumerointi jotta vastaanottaja tunnistaa kaksoiskappaleet Miten paljon numeroita tarvitaan?» Numero vie tilaa sanomassa!

Stop and wait -protokollan suorituskyky Esim. satelliittiyhteydellä => 50 kbps, kiertoviive ~520 ms, sanoma 1000 bittiä kanavan käyttöaste < 4% => lähetetään useita sanomia 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 sanomaa saa korkeintaan olla kuittaamatta järkevä koko riippuu yhteyden tyypistä ja vastaanottajan kapasiteetista sisältö = mitkä sanomat saa lähettää sanomalla järjestysnumero rajallinen,, N bittiä => 2**N arvoa numerot käytettävä järjestyksessä 30.1.2002 33

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

Vastaanottajan ikkuna kullakin hetkellä sallittujen numeroiden joukko mitä sanomia suostuu vastaanottamaan kuittaus muuttaa myös vastaanottajan ikkunan ikkuna pysäyttää sanomien lähetyksen seuraava sanomanumero ei ole lähetysikkunassa ikkuna estää sanoman vastaanoton saadun sanoman numero ei ole vastaanottoikkunassa

Kun ikkunan koko on 1 Aina vain yksi sanoma kuittaamattomana => One Bit Sliding Window -protokolla- ~ stop and wait -protokolla- sanomanumerot 0 ja 1 riittävät ACK-sanoma identifioi viimeksi vastaanotetun virheettömän sanoman jotta kuittausduplikaatti ei voi kuitata väärää sanomaa ACK ilmoittaa joko» seuraavaksi odotetun sanoman numeron» viimeksi vastaanotetun sanoman numeron 30.1.2002 36

Entä kun tapahtuu virhe? kaksi eri tapaa hoitaa toisto virheestä lähtien (go back n) n (tai paluu n:ään) valikoiva toisto (selective repeat) 30.1.2002 37

Toisto virheestä eli Paluu n:ään ( Go back n ) virheellisen sanoman havaittuaan vastaanottaja hylkää kaikkia sen jälkeiset sanomat eikä lähetä niistä kuittauksia => sanomat hyväksytään vain oikeassa järjestyksessä 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 sanoma sekä kaikki sen jälkeen lähetetyt sanomat lähetetään uudelleen tehoton, jos paljon virheitä ja iso ikkuna

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

ACK Kuittaukset kumulatiivinen ACK tähän saakka kaikki ok! Go-Back N yksittäinen ACK vain tämä ok! Valikoiva toisto NAK-kuittaus sanoma virheellinen tai puuttuu 30.1.2002 40

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 30.1.2002 41

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 30.1.2002 42

Ikkunankoko Kun käytetty numeroavaruus on 0, 1,.. n ja eri numeroita siis käytettävissä n+1 yleensä jokin kakkosen potenssi» koska numerokentän koko k bittiä => käytössä 2**k numeroa ikkunan koko go back n :ssä voi olla korkeintaan n eli ainakin yhtä pienempi kuin numeroavaruus ikkunan koko valikoivassa toistossa voi olla korkeintaan (n+1)/2 korkeintaan puolet numeroavaruudesta 30.1.2002 43

Miksi? Valikoiva toisto: ikkuna 5, numeroavaruus 8 0-4 Kuittauksia voi kadota! ACK 0-4 5-7, 0,1 0 ja 1 uutta vai uudelleenlähetystä? 30.1.2002 44

Miksi? Valikoiva toisto: ikkuna 4, numeroavaruus 8 0-3 Kuittauksia voi kadota! ACK 0-3 4, 5, 1, 2 4, 5, 6 ja 7: täytyy olla uusi 0, 1, 2, 3: täytyy olla uudelleenlähetys 30.1.2002 45

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ä? 30.1.2002 46

3.5. TCP-protokolla yhteyden muodostus ja purku luotettavan tavuvirran toteuttaminen vuonvalvonta siirron optimointi TCP-segmentti ruuhkan valvonta TCP-palvelun käyttö 30.1.2002 47

6.2.2. Yhteyden muodostus ja purku TCP:ssä TCP käyttää yhteyden muodostamiseen ja purkuun ns. kolminkertaista kättelyä (three-way handshake) välissä oleva verkko tekee yhteyden muodostamisen ja purun hankalaksi viivästyneet sanomat => sanomille elinaika sanomien numeroinnista sopiminen Bysanttilainen ongelma (two-army problem) hyökkään, jos olen varma, että sinäkin hyökkäät symmetrinen yhteyden purku = molemmat osapuolet tietävät, että toinenkin on varmasti purkanut yhteyden 30.1.2002 48