TKK | Tietoverkkolaboratorio | Opetus

Luento: Tiedonkuljetus


Kalvot 6 kappaletta sivullaan PDF ja PostScript muodoissa.

Tiedon kuljetus

S-38.188 Tietoliikenneverkot

29.10.1997

kuva 1

Luennon aiheet

  • IP-osoitearitmetiikka
  • Päästä-päähän yhteys
  • Internetin kuljetuskerroksen protokollat
    • TCP
    • UDP
  • Internetin sovellusprotokollat
  • Etäsuoritus (RPC)
  • Datan esitysmuodot
    • pakkaus
kuva 2

IP-osoitearitmetiikka

  • Aliverkkopeite kertoo
    • verkko-osan
    • koneosan
  • Ilmaistaan
    • peitteen arvona (255.255.255.192)
    • ykkösbittien määränä (26)
  • Määrittää
    • suoraan kytketyn verkon
      • käytettävä verkkoliitäntä
    • käytettävän reitittimen
      • seuraava reititin
kuva 3

Osoitteistus päätelaitteessa

  • Ongelma: miten ohjata oikealle sovellukselle
  • Tulevan datan perusteella
    • puhelin/modeemi/fax-kytkimet
    • ei läpinäkyvä
  • Aliosoitteen (porttinumero) perusteella
    • kullakin palvelulla oma tunniste: "tunnettu portti"
    • rajallinen määrä vaihtoehtoja => törmäyksiä
  • Tunnisteen perustella
    • suurempi avaruus: tietokanta suoríttaa muunnoksen oikeaan porttinumeroon
    • vaatii ylimääräisen yhteydenoton
kuva 4

User Datagram Protocol (UDP)

  • Tarjoaa yhteydettömän tietosähkeliikenteen
  • Ei juurikaan lisää toiminnallisuutta verrattuna IP:hen
    • paketti osottetaan halutulle ohjelmalle
      • multiplexaus
    • helppo toteuttaa pieniinkin laitteisiin
    • ei vaadi paljoa prosessointia laitteelta
  • tietosähkeitä voi hukkua => varmistus ylemmillä tasoilla (jos tarpeen)
  • ongelmallinen suurissa verkoissa, koska ruuka vaihtelee verkon eri osissa
    • ei vuonohjausta eikä ruuhkanhallintaa
kuva 5

UDP - paketti

  • Tarkistussumma valinnainen (=0)
    • pseudo-otsake ja data tarkistussumman laskennassa
kuva 6

UDP:aa käyttävät protokollat

  • Simple Network Management Protocol
    • verkonhallinta
  • Bootstrap Protocol
    • käynnistyksen yhteydessä kone selvittää tietoja
      • osoite, nimi, verkkomaski, levitysosoite, yhdyskäytävät, kirjottimet, käynnistystiedosto...
    • käytettään yleensä mikroissa ja levyttömissä (työasemat, X-päätteet) koneissa
  • Trivial File Transfer Protocol
    • yksinkertainen tiedostojensiirtoprotokolla
    • ei tarjoa tunnistusta
    • käytetään levyttömien (työasemat, X-päätteet) koneiden käyttöjärjestelmän lataamiseen
kuva 7

UDP:aa käyttävät protokollat...

  • Remote Procedure Call
    • portmapper mahdollistaa porttien tehokkaan käytön
    • voi toimia myös TCP:n päällä
    • mukana Exchange Data Presentative Protocol - esitystapa
    • Network File System
  • Domain Name Server (myös TCP)
    • nimipalvelu
    • hierarkkinen rakenne, tietueilla elinaika
  • Network Time Protocol
    • koneiden pitäminen ajassa
kuva 8

Vuonohjaus ja ruuhkanhallinta

  • Vuonohjaus: ei ylitetä vastaanottajan kapasiteettia
    • tarvitaan jokaisella yhteydellä
  • Ruuhkanhallinta: ei lähetetä verkkoon liikaa dataa
    • tarvitaan aina kun muu kuin p-p-linkki
    • erilainen tilanne verkon eri osissa
    • verkon käytettävissä siirtokapasiteetti voi vaihdella nopeasti
kuva 9

Transmission Control Protocol (TCP)

  • OSI:n siirto- ja yhteysjaksokerroksen tehtävät
  • yhteyspohjainen
    • <lähdeosoite,lähdeportti, kohdeosoite,kohdeportti>
  • tarjoaa luotettavan datavirran päästä päähän
  • erinomainen vuonohjaus ja ruuhkanhallinta
  • => udp: 700 ccl vs tcp: 4500 ccl [tcp_input(): 1000 ccl]
  • suurin osa sovelluksista tcp:n päällä
kuva 10

TCP - segmentti

kuva 11

TCP tilakone

kuva 12

Vuonohjaus

  • Käyttää liukuvan ikkunan algoritmia
    • vastaanottaja ilmoittaa, kuinka paljon se pystyy ottamaan vastaan
    • lähettävä voi lähettää korkeintaan ikkunan koon verran odottamatta kuittausta
kuva 13

Ruuhkanhallinta

  • Kiertoaikaviiveen arviointi
    • arvio liian lyhyt => tarpeettomia uudelleenlähetyksiä
    • arvio liian pitkä => tarpeetonta odotusta
  • Alkuperäinen
    • väärä RTTSample uudellenlähetyksissä
    • ei huomioi varianssia
  • Karn/Partridge
    • RTTEst ei lasketa uudellenlähetyksistä
    • Uudelleenlähetysaika kaksinkertaistuu jokaisella uudelleenlähetyksellä
    • exponentiaalinen peräytyminen
kuva 14

Ruuhkanhallinta

  • Jacobson/Karels
    • verkoissa ei bittivirheitä => kadonnut paketti osoitus ruuhkasta
    • liian tiheät uudelleenlähetykset pahentavat ruuhkaa
    • varianssi määrä kuinka tarkasti uudellenlähetysaika voidaan määrittää arvioidusta ajasta
kuva 15

TCP LFP-verkoissa

  • Suorituskyky
    • ikkunankoko 64kB liian pieni suuri viive*kaistanleveys -verkoissa
      • skaalausoptio (<= 14 bittiä)
    • yksittäisiä segmenttejä katoaa
      • osittainen kuittausoptio
    • kiertoviiveen arviointi tärkeää
      • aikaleimaoptiot (1ms … 1s tarkkuus)
  • Luotettavuus
    • sarjanumeron pyörähdys
      • aikaleiman hyödyntäminen
    • vanhat yhteydet
kuva 16

TCP:aa käyttävät protokollat

  • useat "selväkielisiä"
  • File Transfer Protocol
  • Virtual Terminal (Telnet)
  • Simple Mail Transfer Protocol
  • X Window System (X11R6)
  • RUNIX
    • lpr - kirjoittinprotokolla

rcp - remote copy: tiedostojen kopiointi, rlogin - remote login: etäkäyttö, rsh - remote shell: etäkomento, rexec - remote execution: etäsuoritus

  • Hypertext Transfer Protocol (World Wide Web)
kuva 17

HTTP

kuva 18

Etäsuoritus

  • Useat sovellukset kysely/vastaus-kommunikointiin perustuvia
  • Oikean toiminnan varmistaminen
    • media ja laitteet epäluotettavia: katoaako
      • pyyntö matkalla palvelimelle
      • pyyntö sen ollessa suorituksessa
        • suoritus voi kestää määräämättömän ajan
      • vastaus matkalla asiakkaalle
    • "zero-or-more times" vs. "at-most-once"
    • toteutetaan tunnisteilla
kuva 19

SunRPC / ONC RPC

  • Kukin ohjelma eri (UDP) portissa
    • Port Mapper (111) tietää
  • Osoitetaan tetyn ohjelman tiettyä aliohjelmaa
  • Ei takaa at-most-one-toimintaa
    • käytännössä kuitenkin riittävästi
      • uusintapyyntö ja vastaus verkossa samaan aikaan (suunniteltu LAN-käyttöön)
kuva 20

Esitystapa

  • Datan erilainen esitystapa erilainen eri laitteissa
    • kokonaisluvut (big/little-endian, VAX)
    • liukuluvut (ieee754, laitekohtainen)
    • merkistöt (ASCII, EBDIC, ISO8859-X, Unicode)
  • Koodatava joko:
    • yhteisesti sovittuun muotoon
      • mahdollinen tehohukka
      • verkkoprotokollissa ainoa mahdollinen (IP,…)
    • vastaanottaja dekoodaa
      • vastaanottajan tunnettava kaikki mahdolliset muodot
kuva 21

Esitystavat

  • External Data Representation (ONC RPC)
    • big-endian (32-bit kokonaisluvut)
    • <pituus (4 tavun moninkertoina) - arvo>
  • Abstract Syntax Notation.1
    • <tyyppi - pituus - arvo>
    • ei välttämättä tasatavuissa (sanoissa)
  • Network Data Representation (DCE / OSF)
    • vastaanottaja muuttaa (mikäli tarvetta)
    • arkkitehtuuritunniste (kokonaisluku, merkistö, liukuluku,…)
kuva 22

Tiedon pakkaus

  • Häviötön
    • perustuu toistojen koodaamiseen (Run Length Encoding)
    • erotuksen koodaukseen (Differential Pulse Code Modulat.)
    • toistuvien merkkijonojen tunnistaminen (Lempel-Ziv)
    • ei aiheuta virhettä
    • 1:1-4:1
  • Häviöllinen
    • "merkityksetön" ja toistuva tieto poistetaan
      • loppu häviöttömällä koodauksella
    • sovelutuu (valo)kuvalle (JPEG), videolle (MPEG) ja äänelle
    • still-kuvat: 30:1, video 50-100:1, ääni 10-20:1
kuva 23

Yhteenveto

  • Eri tarkoituksiin eri kuljetusprotokollat
    • TCP
      • luotettava, virheenkorjaava
    • UDP
      • sähkepalvelu
  • Etäsuoritus (RPC)
    • kysely-vastaus
  • Datan esitysmuodot
    • yhtenäinen esitystapa
    • vastaanottaja konvertoi
    • pakkaus on eräs esitystapa
kuva 24


Tietoverkkolaboratorio on nyt osa Tietoliikenne- ja tietoverkkotekniikan laitosta. Tällä sivulla oleva tieto voi olla vanhentunutta.

Kurssien ajantasainen tieto on MyCourses-palvelussa.

Tämän sivun sisällöstä vastaavat ja Webmaster.
Sivua on viimeksi päivitetty 08.01.1998 14:57.
URI: http://www.netlab.tkk.fi/opetus/s38188/1997/luento07/index.shtml
[ TKK > Sähkö- ja tietoliikennetekniikan osasto > Tietoverkkolaboratorio > Opetus ]
?Kysy =>Anna palautetta!