3. Verkkoarkkitehtuurit


3.2. Datan lähetys, paketit

Äkikseltään saattaisi kuvitella, että data lähetetään verkkoon jatkuvana bittivirtana tietokoneelta toiselle. Todellisuudessa data pilkotaan pienempiin osiin, paketteihin, joihin liitetään mukaan muutakin tietoa, jota tarvitaan, jotta paketit voivat siirtyä lähetettävästi tietokoneesta oikeaan osoitteeseen.

Pakettilähetykset ovat verkon kannalta oiva keksintö. Yleensä tieto sijaitsee melko suurissa tiedostoissa, eikä verkko pystyisi toimimaan, jos sen pitäisi siirtää kerralla suuria tietomääriä. Tässä tapauksessa muiden tietokoneiden olisi odotettava datan siirtymistä ja verkosta tulisi kovin hidas. Tätä ei voisi kutsua verkon jakamiseksi, vaan pikemminkin verkon monopolisoimiseksi. Suuren tietomäärän vieminen verkkoon hidastaa verkkoa kahdesta syystä:

Tällaisia vaikutuksia voidaan vähentää jakamalla suuret tietomäärät pienempiin paketteihin, jolloin lähetysvirheitä voidaan hallita helpommin. Tämä johtuu siitä, että vain pieni osa tietoa on kerrallaan alttiina häiriöille, ja siten vain pieni osa tietoa tarvitsee udelleenlähetyksen, ja virheistä toipuminen nopeutuu.

Pakettien pilkkominen mahdollistaa siis sen, jotta useampi käyttäjä voi siirtää tietoa helposti ja nopeasti. Paloiteltuja tiedon osia kutsutaan paketeiksi tai kehyksiksi. Vaikka näitä termejä käytetään myös toisiaan korvaavina, niiden välillä on pieniä eroja, jotka perustuvat verkon tyyppiin. Yksinkertaisuuden vuoksi voidaan ajatella, että paketti tarkoittaa datayksikköä, joka lähetetään kokonaisena laitteelta toiselle verkon yli.

Voidaan myös ajatella, että paketit ovat verkkokommunikaation perusyksiköitä. Kun data on jaettu paketeiksi, yksittäiset lähetykset nopeutuvat niin, että jokaisella verkon tietokoneella on useampia mahdollisuuksia lähettää ja vastaanottaa dataa. Vastanottavassa (kohde)tietokoneessa paketin kootaan yhteen ja niistä muodostetaan uudelleen alkuperäinen datavirta (vrt. kuva 50.).

Kuva 50. Datan pilkkominen paketeiksi.

Kun verkon käyttöjärjestelmä jakaa datan lähetettävässä koneessa paketeiksi, se lisää erityistä kontrolli-informaatiota jokaiseen kehykseen. Tämä mahdollistaa

Pakettien rakenne

Huom! Katsomme paketteja uudemman kerran tutustuessamme TCP/IP-protokollaan luvussa 6. Protokolla on joukko sääntöjä tai standardeja, jotka on suunniteltu tietokoneiden yhteydenpitoa ja mahdollisimman virheetöntä tiedonvaihtoa varten. TCP/IP-protokolla on Internetin ja nyttemmin myös lähiverkkojen keskeisin protokollaperhe.

Paketit voivat sisältää monentyyppistä tietoa, mukaan luettuna

Kaikki paketit sisältävät eräitä yhteisiä komponentteja, joihin kuuluvat:

Kuvasta 51 näkyy, miten komponentit ryhmitellään kolmeen jaksoon: otsikkoon, dataan ja loppuliitteeseen (tai lopukkeeseen, trailer).

Kuva 51. Paketin komponentit.

Seuraavaksi katsomme komponentteja asteen verran tarkemmin.

Otsikko

Otsikko sisältää

Data

Tämä on varsinainen lähetettävä data ja voi olla kooltaan vaihteleva, verkosta riippuen. Datajakso vaihtelee useimmissa verkoissa 512 tavusta neljään kilotavuun.

Koska useimmat alkupäreiset tiedot ovat pitempiä kuin 4 kt, data on katkaistava riittävän pieniksi paloiksi, jotta se mahtuu paketteihin. Suuren tiedoston lähettämiseksi tarvitaan lukuisia paketteja.

Loppuliite

Loppuliitteen tarkka sisältö vaihtelee kommunikointimetodin tai protokollan mukaan. Tavallisesti se sisältää virheentarkastuskomponentin, jota sanotaan sykliseksi jäännöstarkistukseksi (cyclical redundancy check, CRC). CRC on tarkistusluku, joka tuotetaan pakettiin sen lähteeseen kohdistuvan matemaattisen laskelman perusteella. Kun paketti saapuu määränpäähänsä. laskelma toistetaan. Jos sen tulos ei ole enää sama kuin alkulähteessä, data on muuttunut siirron aikana. Siinä tapauksessa CRC-rutiini lähettää paketin lähettäneelle tietokoneelle signaalin, jossa pyydetään konetta lähettämään data uudelleen.

On muistettava, että eri verkoilla on erilaiset pakettimuotonsa ja ne sallivat erikokoisia paketteja. Pakettien kokorajat määräävät miten monta pakettia verkko-ohjelma luo jostakin suuresta datakokonaisuudesta.

Esimerkki: paketit tulostuksessa

Pakettien liikettä voidaan seurata vaihe vaiheelta. Seuraavassa katsomme, miten paketteja käytetään verkkokommunikoinnissa. Esimerkissä lähetetään suuri tulostyö tulostinpalvelimelle.

Askel 1

Kuvassa 52. näkyvä lähettävä tietokone muodostaa yhteyden tulostuspalvelimeen.

Kuva 52. Yhteyden muodostaminen tulostinpalvelimeen.

Askel 2.

Kuvassa 53. tietokone pilkkoo tulostyön paketiksi. Kukin paketti sisältää määränpäänsä osoitteen, lähteen osoitteen, datan ja kontrolli-informaatiota.

Kuva 53. Pakettien luominen.

Askel 3.

Kuvassa 54. tietokoneiden verkkokortit tutkivat kaikkien niiden segmentin kautta kulkevien pakettien (tai kehysten) vastaanottajan osoitteen. Mutta koska kullakin verkkokortilla on oma ositteensa, kortti ei keskeytä tietokonetta ennen kuin se havaitsee kehyksen, joka on osoitettu juuri sille.

Kuva 54. Vastaanottajan osoitteen tutkiminen.

Askel 4

Kuvassa 55. vastaanottava tietokone on tulostuspalvelin. Paketin siirtyvät kaapelista verkkokorttiin.

Kuva 55. Verkkokortti hyväksyy tulostuspalvelimelle osoitetut paketit.

Askel 5

Verkko-ohjelmisto prosessoi kehykset, jotka on tallennettu verkkokortin vastaanottopuskuriin. Verkkokortissa on tavallisesti riittävästi prosessointitehoa, jotta se voi tutkia jokaisen vastaanotetun kehyksen. Tämä tarkoittaa, että tietokoneen omia resursseja ei tarvita ennen kuin verkkokortti tunnistaa oman osoitteensa.

Askel 6

Kuvassa 56. vastaanottavan tietokoneen verkkokäyttöjärjestelmä kokoaa paketit uudelleen alkuperäiseksi tekstitiedostoksi ja siirtää tiedoston koneen muistiin. Sieltä koottu tekstitiedosto lähetetään tulostimelle.

Kuva 56. Pakettien kasaaminen ja lähettäminen tulostimelle.


Tehtävä 11.

Vastaa seuraaviin kysymyksiin.

1. Kerro periaate, millä tavoin data kulkee kaapelia pitkin lähetettävältä laitteelta kohdelaitteelle. 

2. Mitä hyöty on paketoinnista? 

3. Mitä tapahtuu, jos suuri tiedosto lähetetään verkkokaapeliin ilman paketointia?