ITKP104 Tietoverkot
Ari Viinikainen
Kuljetuskerros
Kuljetuskerros
Tarjoaa kuljetuspalvelun sovelluskerrokselle käyttäen verkkokerroksen palveluita apunaan
- Minkälainen on verkkokerros Internetissä?
- Pakettikytkentäinen
- Kun verkko ruuhkautuu, paketteja saattaa hävitä
- IP protokolla ei tarkista onko sen kuljettamassa datassa virheitä
- Verkkokerroksen palvelu Kuljetuskerrokselle?
- Vie datan virheettömästi oikeaan osoitteeseen, jos vain pystyy!
- Best Effort -palvelu
- IP protokollaa ei kiinnosta
- jos reitittimet hukkaa paketteja
- jos fyysisellä tai linkkikerroksella tulee virheitä
Sovelluskerros haluaa kuljetuspalvelulta...
- Data perille (saa tulla virheitä)
- Verkkokerros: Ok, verkkokerros vie oikealle laitteelle
- Kuljetuskerrokselle jää: Data oikealle sovellukselle/prosessille
- Toteutus: määritellään vastaanottajan kuljetuskerroksen osoite
- Mahdollisuus käyttää useita verkkosovelluksia samaan aikaan
- Verkkokerros: sama se mitä dataa paketissa on, paketit jonoon vaan ja laitetaan ne verkkoon
- Kuljetuskerros:
- Lähetys: erotellaan lähtevät paketit lähettäjän ja/tai vastaanottajan (kuljetuskerroksen) osoitteen perusteella
- Vastaanotto: kun verkkokerrokselta saadaan paketteja, niin (kuljetuskerroksen) osoitteen perusteella ohjataan ne oikealle sovellukselle/prosessille
- TCP: myös verkkokerroksen osoitteita käytetään lähettäjä/vastaanottajaprosessin määrittämiseen
- Kurose-Ross 3. luku, Transport layer, kalvot 8-14
Esimerkki kuljetuspalvelun toiminnasta
Kuljetuskerroksen palvelut sovelluskerrokselle
- Datan eheys (virheettömyys)?
- Verkkokerros: ei kiinnosta
- Kuljetuskerros:
- UDP: tarkastetaan otsikkokenttien sekä datan mahdolliset virheet (IPv4:n kanssa ei pakollinen), hylätään virheelliset paketit
- TCP: tarkastetaan otsikkokenttien sekä datan mahdolliset virheet, hylätään virheelliset paketit
- TCP: lisäksi uudelleenlähetetään paketit jotka eivät tule perille
- Sovelluskerros (verkko-ohjelman tekijä) voi valita käyttääkö TCP vai UDP palvelua
- UDP ja TCP protokollien yhteiset palvelut sovelluskerrokselle
- Data perille oikealle sovellukselle/prosessille
- Palvellaan samanaikaisesti useita prosesseja samalla palvelulla
- Tarkastetaan otsikkokenttien sekä datan virheettömyys
Sovelluskerros haluaa kuljetuspalvelulta...
- Ajoitus?
- Verkkokerros - I am doing my best, but all those other users...
- pakettikytkentäinen, viive voi vaihdella paljon riippuen muun liikenteen määrästä
- Kuljetuskerros
- UDP: Lähetetään niin nopeasti kuin sovellus/käyttöjärjestelmä/tietokone/tiedonsiirtolinkki
kykenee ja toivotaan että viive (ja varsinkin sen vaihtelu) pysyy aisoissa
- TCP: Luotettavuus pääasia, uudelleenlähetykset aiheuttavat viivettä
- TCP: On muuten myös Vuonvalvonta ja Ruuhkanhallinta palvelut! Mutta lisäävät viivettä...
- Sovelluskerros - ei saa tätä palvelua kuljetuskerrokselta, täytyy itse keksiä jotain
- Videostreamit:
- valitaan yleensä TCP, lähetetään datapaketteja niin nopeasti kuin TCP kykenee (pitää odottaa kuittauksia, yms.)
- puskuroidaan saapuvaa dataa, toivotaan että puskurissa oleva data riittää viiveen noustessa
- jos ei riitä niin käyttäjä joutuu odottamaan
- Reaaliaikainen video/puhe:
- valitaan yleensä UDP, lähetetään datapaketteja niin nopeasti kuin UDP kykenee (tai sovelluksen tarve)
- mahdollisesti korjataan virheitä vastaanottajalla, mutta ei uudelleenlähetyksiä
- mahdollisesti puskuroidaan paketteja, jotta selvitään pienistä viiveen vaihteluista
- myöhästyneet paketit käytännössä sama kuin kadonnut paketti, kuvan/puheen laatu kärsii
Sovelluskerros haluaa kuljetuspalvelulta...
- Kaistanleveys?
- Kuljetuskerros: Lähetän niin nopeasti (bittiä sekunnissa) kuin verkkokerros kykenee palvelemaan
- Verkkokerros: Lähetän niin nopeasti (bittiä sekunnissa) kuin linkkikerros kykenee palvelemaan
- Linkkikerros: Lähetän niin nopeasti (bittiä sekunnissa) kuin fyysinen siirtotie vain kykenee lähettämään linkille
- Linkkikerros: linkeillä voi olla eri tekniikka käytösssä
- Best Effort - ja riippuu fyysisestä sekä linkkikerroksesta
- Sovelluskerros: alemmat kerrokset eivät voi taata tiedonsiirtonopeutta, täytyy itse keksiä jotain
- Sovelluskerros: Videostream, puskuroidaan dataa ennenkuin käyttäjä painaa 'play'
- Sovelluskerros: Reaaliaikainen video/puhe, vaihdetaan/valitaan heikompi laatuinen kuvan/äänen laatu
Sovelluskerros haluaa kuljetuspalvelulta...
- Tietoturva?
- Kuljetuskerros: Ei tunnistautumista tai salausta
- Verkkokerros: IPsec (Internet Protocol Security), tunnistautuminen ja koko verkko liikenteen salaus kahden laitteen välillä
- Verkkokerros: IPsec on yksi vaihtoehto VPN (Virtual Private Network) toteutukseksi
- Linkkikerros: Riippuu linkistä, esim.
- Ethernet: Ei tunnistautumista tai salausta
- WLAN: Ei tunnistautumista, salaus optiona
- 2G/3G/4G: tunnistautuminen ja salaus aina
- Sovelluskerros: alempien kerrosten ei tarvitse taata tietoturvaa, täytyy itse keksiä jotain
- Sovelluskerros: Transport Layer Security (TLS) tai Secure Sockets Layer (SSL) tai vastaava sovelluskerroksen ja kuljetuskerroksen väliin
- Sovelluskerros: Jokin muu salaus- ja/tai tunnistautumismenetelmä liitettynä sovelluskerroksen protokollaan