Tiedon kuljetus
S-38.188 Tietoliikenneverkot
29.10.1997
|
 |
Luennon aiheet
- IP-osoitearitmetiikka
- Päästä-päähän
yhteys
- Internetin kuljetuskerroksen protokollat
- Internetin sovellusprotokollat
- Etäsuoritus (RPC)
- Datan esitysmuodot
|
 |
IP-osoitearitmetiikka
- Aliverkkopeite kertoo
- 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
|
 |
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
|
 |
User Datagram Protocol (UDP)
- Tarjoaa yhteydettömän
tietosähkeliikenteen
- Ei juurikaan lisää toiminnallisuutta
verrattuna IP:hen
- paketti osottetaan halutulle ohjelmalle
- 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
|
 |
UDP - paketti
- Tarkistussumma valinnainen (=0)
- pseudo-otsake ja data tarkistussumman
laskennassa
|
 |
UDP:aa käyttävät protokollat
- Simple
Network Management Protocol
- 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
|
 |
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
|
 |
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
|
 |
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ä
|
 |
TCP - segmentti
|
 |
TCP tilakone
|
 |
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
|
 |
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
|
 |
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
|
 |
TCP LFP-verkoissa
- Suorituskyky
- ikkunankoko 64kB liian pieni suuri
viive*kaistanleveys -verkoissa
- skaalausoptio (<= 14 bittiä)
- yksittäisiä segmenttejä
katoaa
- kiertoviiveen arviointi tärkeää
- aikaleimaoptiot (1ms
1s tarkkuus)
- Luotettavuus
- sarjanumeron pyörähdys
- vanhat yhteydet
|
 |
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)
|
 |
HTTP
|
 |
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
|
 |
SunRPC / ONC RPC
- Kukin ohjelma eri (UDP) portissa
- 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)
|
 |
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
|
 |
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,
)
|
 |
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
|
 |
Yhteenveto
- Eri tarkoituksiin eri kuljetusprotokollat
- TCP
- luotettava, virheenkorjaava
- UDP
- Etäsuoritus (RPC)
- Datan esitysmuodot
- yhtenäinen esitystapa
- vastaanottaja konvertoi
- pakkaus on eräs esitystapa
|