3. Kuljetuskerros 3.1. Kuljetuspalvelu

Samankaltaiset tiedostot
3. Kuljetuskerros 3.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

3. Kuljetuskerros 3.1.

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

3. Kuljetuskerros 3.1.

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

3. Kuljetuskerros 3.1. Kuljetuspalvelu

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

3. Kuljetuskerros 3.1. Kuljetuspalvelu

peittää verkkokerroksen puutteet

6. Kuljetuskerros 6.1. Kuljetuspalvelu End- to- end

6. Kuljetuskerros 6.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1. Kuljetuspalvelu

OSI ja Protokollapino

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

kynnysarvo (threshold)

kynnysarvo (threshold)

Monimutkaisempi stop and wait -protokolla

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

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

ELEC-C7241 Tietokoneverkot Kuljetuskerros

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

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat

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

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

Tietoliikenteen perusteet

Tehtävä 2: Tietoliikenneprotokolla

Monimutkaisempi stop and wait -protokolla

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

11/20/ Siirron optimointi

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

Monimutkaisempi stop and wait -protokolla

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/

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

Siirron optimointi. Optimointi on usein tarpeen: Silly window syndrome

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

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

Chapter 3 Transport Layer. Kuljetuskerros

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

Kuljetuskerroksen protokollat

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

Miten Internet toimii?

S Teletekniikan perusteet

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

Kuljetuskerroksen protokollat

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

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ä

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

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

Tietoliikenne II (2 ov)

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

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

Asiakkaan toimenpiteet

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

Verkkoliikennettä Java[ssa lla] Jouni Smed

Tietoliikenne II (2 ov)

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)

Kuljetuskerroksen protokollat

Tietoliikenneohjelmointi. v. 0.01

Miten Internet toimii?

Kuljetuskerros. Kirja sivut: ,

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

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

Luento 5: Kuljetuskerros

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

3. IP-kerroksen muita protokollia ja

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

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

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

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

Pertti Pennanen OSI 1 (4) EDUPOLI ICTPro

2. Sovelluksia ja sovellusprotokollia

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

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

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

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

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

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

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia

5. Verkkokerros. Verkkokerroksen palvelut. Tulvitus jokainen saapunut paketti lähetetään kaikille muille ulosmenoille.

T Tietokoneverkot kertaus

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

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

Tietoliikenteen perusteet: Kokeeseen tulevista asioista

Kun n = 32 ei ole tarpeeksi nopea nykyisiin runkoreitittimiin! - content addressable memory (CAM) - välimuistin käyttö

001.. Kun n = 32 ei ole tarpeeksi nopea nykyisiin runkoreitittimiin! - content addressable memory (CAM) - välimuistin käyttö

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

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ä

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

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

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

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

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

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

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

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

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 vuonvalvonta ei ylikuormita vastaanottajaa ruuhkanvalvonta huolehtii ettei verkko pääse ruuhkautumaan

user proc Sovelluskerros tavuvirta user proc Kuljetuskerros TCP segmentti TCP T C P T C P TCP IP-datasähke IP IP T C P IP Verkkokerros TCP: prosessilta prosessille - tavuvirta

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

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

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

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

TCP:n pistokeprimitiivit SOCKET luo uusi yhteydenpää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)

Kuljetusyhteyden muodostus ja käyttö SOCKET BIND server LISTEN 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 data sulje yhteys 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

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!

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

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

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ä

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 %

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

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

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

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

Kohinainen kanava A A ACK/NAK A B sanoma vääristyy => virhetarkistus sanoma katoaa => numerointi, ajastin ja uudelleenlähetys duplikaattien havaitseminen sanoma viivästyy => rajallinen elinaika sanomien järjestys muuttuu => järjestäminen

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

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