3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end



Samankaltaiset tiedostot
3. Kuljetuskerros 3.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

3. Kuljetuskerros 3.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1.

Monimutkaisempi stop and wait -protokolla

Monimutkaisempi stop and wait -protokolla

Monimutkaisempi stop and wait -protokolla

Tietoliikenteen perusteet

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

3. Kuljetuskerros 3.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1.

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

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

peittää verkkokerroksen puutteet

kynnysarvo (threshold)

kynnysarvo (threshold)

3. Kuljetuskerros 3.1. Kuljetuspalvelu

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

3. Kuljetuskerros 3.1. Kuljetuspalvelu

ELEC-C7241 Tietokoneverkot Kuljetuskerros

OSI ja Protokollapino

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

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

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

6. Kuljetuskerros 6.1. Kuljetuspalvelu End- to- end

6. Kuljetuskerros 6.1. Kuljetuspalvelu

Tehtävä 2: Tietoliikenneprotokolla

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat

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

Siirron optimointi. Optimointi on usein tarpeen: Silly window syndrome

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

Luento 5: Kuljetuskerros

11/20/ Siirron optimointi

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

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

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

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

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

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ä

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/

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

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,

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

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

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

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

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

3. Siirtoyhteyskerros linkkikerros (Data Link Layer)

3. Siirtoyhteyskerros

Chapter 3 Transport Layer. Kuljetuskerros

T Tietokoneverkot kertaus

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

Kuljetuskerros. Kirja sivut: ,

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

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

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

S Teletekniikan perusteet

Miten Internet toimii?

Verkkokerroksen palvelut. 4. Verkkokerros. Virtuaalipiiri (virtual circuit) connection-oriented ~ connectionless. tavoitteet.

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

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

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

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

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

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

Kuljetuskerroksen protokollat

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

Miten Internet toimii. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2013

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

Tietoliikenteen perusteet. Kuljetuskerros

Asiakkaan toimenpiteet

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

Pertti Pennanen OSI 1 (4) EDUPOLI ICTPro

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Tietoliikenteen perusteet. Kuljetuskerros

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

Tietoliikenteen perusteet. Kuljetuskerros

Kertaus. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2013

- Valitaan kohta Asetukset / NAT / Ohjelmallinen palvelin - Seuraavassa esimerkki asetuksista: valitaan käytössä oleva ohjelmistorajapinta

Kuljetuskerroksen protokollat

S Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Tietoliikenne- ja tietoverkkontekniikan laitos

Tietoliikenteen perusteet. Kuljetuskerros

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

2. Sovelluksia ja sovellusprotokollia

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

3. IP-kerroksen muita protokollia ja

1. Tietokoneverkot ja Internet

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

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

Tietoliikenteen perusteet. Kuljetuskerros

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

Miten Internet toimii?

Transkriptio:

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end 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ä 5.10.2001 1 asiakas-prosesseja 3256 1024 1068 (porttinumero) kuljetusyhteys portteja palvelinprosessi HTTP 218.48.15.135 218.52.7.45 verkkoyhteys Kuljetusyhteys on looginen prosessilta prosessille yhteys (end-to-end) 5.10.2001 2 user proc tavuvirta segmentti IP IP-datasähke IP user proc kuljetus parantavat verkkopalveluja Sovelluksen näkemä palvelun laatu (Quality of Service, QoS) kuljetuskerroksen verkkokerkoksen kuljetuskerroksen verkkokerroksen Prosessilta prosessille - tavuvirta 5.10.2001 3 5.10.2001 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 Internetin kuljetuskerros UDP (User Datagram Protocol) yhteydetön, epäluotettava palvelu (Transmission Control Protocol) yhteydellinen, luotettava palvelu virhevalvonta havaitsee ja korjaa siirrossa syntyneet virheet vuonvalvonta ei ylikuormita vastaanottajaa ruuhkanvalvonta huolehtii ettei verkko pääse ruuhkautumaan 5.10.2001 5 5.10.2001 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, jne 5.10.2001 7 Asiakkaalle kuljetuskerros usein automaattisesti antaa käyttöön jonkin vapaan porttinumeron yhteyden ajaksi 6785 Palvelimilla kiinteät numerot Kolme yhteyttä: <=> 23, 6785 <=> 21, <=> 5.10.2001 8 21 23 Tarvitaan sekä lähteen että kohteen porttinumerot Palvelimessa yhteyksille uudet porttinumerot, jotta portti voi ottaa vastaan uusia yhteyspyyntöjä 6785 6785 2067 1994 3256 Kolme yhteyttä: <=>, 6785 <=>, <=> Kolme yhteyttä: <=>, 6785 <=>, <=> 5.10.2001 9 5.10.2001 10 Eri koneissa voidaan ottaa sama numero! Pistokerajapinta (Socket interface) Kolme yhteyttä: <=>, <=>, <=>! Kuljetusyhteydellä käytetään apuna myös IP-osoitetta: => koneilla eri IP-osoitteet, joten yhteydet pystytään erottamaan 5.10.2001 11 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 5.10.2001 12

prosessi Sovelluksen tekijän alue prosessi pistoke (socket) -yhteyden päätepiste sovellukselle lähettäjällä ja vastaanottajalla oma pistoke pistoke pistoke pistokenumero 48 bittiä KJ puskurit Internet puskurit KJ koneen 32 bitin IP-osoite 16 bitin porttinumero KJ = käyttöjärjestelmä Prosessien kommunikointi -pistokkeita käyttäen 5.10.2001 13 5.10.2001 14 -yhteys kaksisuuntainen (full-duplex) kaksipisteyhteys tunnistetaan päätepisteinä olevien pistokkeiden tunnuksista (pistoke1, pistoke2) Kone a Kone b :n pistokeprimitiivit SOCKET luo uusi yhteyden päätepistepistoke BIND anna pistokkeelle osoite LISTEN halukas vastaanottamaan yhteyksiä ACCEPT jää odottamaan yhteysyrityksiä CONNECT yritä muodostaa yhteys SEND lähetä dataa yhteyttä pitkin RECEIVE vastaanota dataa yhteydeltä CLOSE pura yhteys (symmetrinen) 5.10.2001 15 5.10.2001 16 Kuljetusyhteyden muodostus ja käyttö SOCKET BIND LISTEN server ACCEPT Kuljetuspalvelun tuottaja esim. conn.req. conn. ack. client CONNECT(SERVER) 3.3 UDP UDP (User Data Protocol) voidaan lähettää sanomia ilman yhteyden muodostusta UDP-otsake <------------------- 32 bittiä -----------------------------> Source port # Destination port # RECEIVE data SEND(DATA) UDP length UDP checksum SEND(DATA) data RECEIVE sovelluksen dataa 5.10.2001 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! 5.10.2001 19 Esimerkki Lasketaan yhteen kolme 8 bitin mittaista sanaa: Lähettäjä 1011 0100 1011 0100 vastaanottaja 0111 0101 1111 0101 1000 1101 1000 1101 ========= 0100 1001 1011 0110 ========= 0100 1001 Yhden komplementti 0111 1111 5.10.2001 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 UDP:n etuja: Yhteydetön aikaa ei kulu yhteyden muodostamiseen ja purkamiseen ei tarvita resursseja yhteyden tilatietojen ylläpitoon Otsake pienempi => pienempi yleisrasite => tehokkaampi Ruuhkanvalvonta ei säännöstele liikennettä 5.10.2001 21 5.10.2001 22 Tehtäviä: Lähetetään 10 tavun viesti UDP:llä. Miten kauan kestää lähettäminen, jos lähetysnopeus on 56 kbps? Miten suuri on etenemisviive, jos etäisyys lähettäjältä vastaanottajalle on 1000 km? Miten suuri on UDP-otsakkeen aiheuttama yleisrasite (overhead)? 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ä? 5.10.2001 23 5.10.2001 24

3.4 Luotettava tiedonsiirto Data Sovelluskerros Data Lähettävä prosessi Sovelluskerros Vastaanottava prosessi Luotettava tiedonsiirto protokolla Kuljetuskerros Luotettava tiedonsiirtoprotokolla DATA DATA paketti paketti Luotettava kanava Epäluotettava kanava Kuljetuskerros Verkkokerros 5.10.2001 25 5.10.2001 26 Vuon valvonta Kohinainen kanava vuon valvonta? A B!!! A A ACK/ NAK B datavirta X-ON / X-OFF : GO! STOP! sanoma vääristyy => virhetarkistus sanoma katoaa => ajastin ja uudelleenlähetys duplikaattien havaitseminen Yksinkertainen Stop and wait -protokolla Oletus virheetön siirto => ei huolta virheistä, mutta vuonvalvontaa tarvitaan lähettäjä lähettää sanoman odottaa lupaa lähettää seuraava sanoma vastaanottaja käsittelee sanoman lähettää tiedon (=antaa luvan) lähettäjälle 5.10.2001 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 5.10.2001 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ä 5.10.2001 33 Lähettäjä joutuu odottamaan vasta, kun kaikki ikkunan sanomat on lähetetty eli numerot käytetty Kun kuittaus saapuu => ikkuna liukuu seuraavat numerot tulevat luvallisiksi eli lähettäjä: tietyllä hetkellä sallittujen numeroiden joukko = lähettäjän ikkuna mitkä sanomat saa lähettää etukäteen odottamatta kuittausta 5.10.2001 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 5.10.2001 36

Toisto virheestä eli Paluu n:ään ( Go back n ) entä kun tapahtuu virhe? kaksi eri tapaa hoitaa toisto virheestä lähtien (go back n) (tai paluu n:ään) valikoiva toisto (selective repeat) 5.10.2001 37 virheellisen sanoman havaittuaan vastaanottaja hylkää kaikkia sen jälkeiset sanomat 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 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