Osa 5

Kaikki yhteen

Kaikki yhteen

Olemme käyneet läpi tietoliikenteen erilaisia osa-alueita, joitakin tarkemmin ja joitakin vain ohimennen.

Kootaan vielä kaikki asiat yhdeksi isommaksi kokonaisuudeksi. Tässä ei siis pitäisi enää tulla varsinaisesti uutta asiaa, vaan katsotaan vaan kurssilla käsiteltyjen asioiden yhteistoimintaa.

Kaavakuva missä viesti kulkee lähettäjältä vastaanottajalle useamman reitittimen kautta

Lähdetään liikkeelle siitä, että käyttäjä kirjoittaa kotonaan www-selaimeen tietyn sivun URL-osoitteen (käytetään erimerkissä osoitetta http://www.helsinki.fi/opiskelijaksi

Kirjaudu sisään vastataksesi tehtävään

Kuten muistamme, niin palvelimen nimi täytyy muuttaa IP-osoitteeksi, jotta pyyntö voidaan laittaa eteenpäin verkossa

Kirjaudu sisään vastataksesi tehtävään

Nyt tiedetään jo palvelimen IP-osoite, joten sovelluskerroksella ei enää tehdä kovin paljoa.

Kirjaudu sisään vastataksesi tehtävään

Kuljetuskerroksen omissa otsaketiedoissa täytyy olla sovelluskerroksen palvelun/prosessin tunniste. Ajatellaan tätä siis kirjekuoreksi, jossa kuljetuskerroksen otsake on kirjekuoren päällä oleva osoite ja sovelluskerroksen viesti on kuoren sisällä oleva materiaali. (Sovelluskerros on jo voinut tehdä omasta viestistään erillisen kuoren ja antanut sen kuljetuskerrokselle. Uudemmissa verkkosovelluksissa tässä HTTP-protokollalta tulleessa viestissä voi olla jo useita sisäkkäisiä kuoria, mutta ne eivät näy kuljetuskerrokselle.)

Kirjaudu sisään vastataksesi tehtävään

Nyt meillä on siis kuljetuskerroksen viestissä kuljetuskerroksen otsake ja sen data, joka sisältää sovelluskerroksen otsakkeen ja datan.

Seuraavaksi kuljetuskerros antaa verkkokerrokselle tämän viestin (kirjekuoren) välitettäväksi eteenpäin. Samalla se kertoo verkkokerrokselle, sen tarvitsemat tiedot vastaanottavasta palvelimesta.

Kirjaudu sisään vastataksesi tehtävään

Nyt puolestaan verkkokerros laittaa kuljetuskerrokselta saamansa viestin omaa kirjekuoreen ja sen päälle tämän verkkokerroksen käyttämän osoitteen ja antaa tämän kuoren edelleen linkkikerrokselle.

Kirjaudu sisään vastataksesi tehtävään

Ja linkkikerros lisää vielä yhden uuden kirjekuoren saamansa verkkokerroksen paketin ympärille. Tähän kuoreen kirjoitetaan päälle linkkikerroksen vastaanottajan osoite.

Todellisuudessa mitään kirjekuoria ei käytetä, vaan jokaisen kerroksen protokollalla on oma määritelty viestin rakenne, jonka alussa ovat kyseisen kerroksen otsaketiedot ja ylemmän kerroksen viesti otsakkeineen on tälle protokollalle vain välitettävää dataa.

Nyt vihdoin tuo välitettävä viesti on valmis poistumaan lähettäjän koneelta. Tämä lähtevä viesti on menossa www-palvelimelle, joka ei ole www-selaimen kanssa samassa aliverkossa. Esimerkiksi käyttäjä on kotona ja haluaa lukea www-sivun. Viesti pitää siis lähettää kotiverkosta ulos, mutta miten?

Tämä tapahtuu reitityksen avulla. Jokainen kone tietää oman oletusyhdyskäytävänsä IP-osoitteen.

Kirjaudu sisään vastataksesi tehtävään

Verkkokerros antaakin todellisuudessa linkkikerrokselle kirjekuoren, jonka päällä on IP-osoite, mutta haluaa, että linkkikerros toimittaa sen ensin ihan eri IP-osoitteella varustetulle reitittimelle. Tätä IP-osoitetta ei kirjoiteta verkkokerroksen kirjekuoren vastaanottajaksi, vaan vastaanottaja on edelleen tuo www-palvelimen IP-osoite. Siksi verkkokerroksen pitää tähän välityspyyntöön liittää nimenomaan yhdyskäytävänä toimivan reitittimen linkkikerroksen MAC-osoite.

Jos viesti olisi ollut menossa saman aliverkon laitteelle, esim. verkkokirjoittimelle, niin silloin linkkikerrokselle olisi annettu kyseisen laitteen MAC-osoite eikä reititystä olisi tarvittu. Tähän erotteluun käytetään aliverkon peitettä (network mask). Peitteen avulla tietokone voi päätellä onko vastaanottaja samassa aliverkossa vai ei.

Kirjaudu sisään vastataksesi tehtävään

Näiden vaiheiden jälkeen viesti on vihdoin saatu siirrettyä yhden linkin verran eteenpäin koht vastaanottajaa. Ensimmäisen linkin jälkeen viesti on siis päätynyt kotiverkon yhdyskäytävänä toimivalle reitittimelle.

Reitittimen linkkikerros poistaa viestistälinkkikerroksen kirjekuoren ja antaa verkkokerroksen kirjekuoren verkkokerrokselle tarkasteltavaksi. Reititin huomaa, että viesti ei ole sille tarkoitettu, joten se selvittää seuraavan vastaanottajan (usein joku toinen reititin) IP-osoitteen ja sen perusteella kyseisen laitteen linkkikerroksen osoitteen ja antaa viestin linkkikerrokselle välitettäväsksi tälle laitteelle.

Näin viesti etenee vähitellen reitittimeltä toiselle, kunnes se saapuu Helsingin ylipiston reitittimelle.

Yliopiston reititin vastaanottaa viestin. Sekin tarkastelee vastaanottajan IP-osoitetta ja aliverkkopeitteen avulla havaitsee sen kuuluvan tiettyyn reitittimeen liitettyyn aliverkkoon, joten se lähettää viestin linkkikerroksen avulla sinne. Enää ei siis lähetetä viestiä jollekin välittävälle laitteelle vaan suoraan palvelimelle.

Näin viesti on monien vaiheiden kautta saapunut vastaanottajalle. Linkkikerros antaa oman kehyksensä datan verkkokerrokselle. Verkkokerros vielä tarkistaa, että viesti on tarkoitettu juuri tälle koneelle ja antaa sitten IP-paketin datan kuljetuskerrokselle. Kuljetuskerros katsoo oman viestinsä otsikoista vastaanottavan prosessin porttinumeron ja laittaa kuljetuskerroksen sanomassa olleen datan sinne. Näin sovelluskerros voi vihdoin saada itselleen lähetetyn sovelluskerroksen viestin ja käsitellä sen.

Koska kyseessä on www-palvelin ja viesti oli tiettyyn sivuun liittynyt GET-pyyntö, palvelin etsii kyseisen sivun ja muodostaa vastausviestin. Vastausviestin vastaanottajana on siis www-selain. Vastausviesti kulkee nyt päinvastaiseen suuntaan, mutta käy läpi samat vaiheet kuin pyyntöviesti. Nyt on tärkeä huomata, että reitti eri reitittimien kautta ei välttämättä ole sama kuin jota pitkin pyyntö tuli. Reitittimet tekevät jokaiselle paketille itsenäisen reitityspäätöksen, joten viestit voivat kulkea eri reittejä.

Palataan vielä lopuksi reitittimien toimintaan tarkemmin. Oheisessa kuvassa Reititin 1 vastaanottaa viestin, jonka alkuperäinen lähettäjä on käyttäjän tietokone ja lopullinen vastaanottaja reitittimen takana oleva palvelin (IP-osoite 111.112.113.56). Reititin 1 lähettää viestin edelleen reitittimelle 2, joka lähettää viestin palvelimelle.

Kaavakuva missä viesti kulkee lähettäjältä (käyttäjän tietokone) vastaanottajalle (www-palveliin) kahden reitittimen kautta. Käyttäjän tietokoneen IP-osoite on 192.168.0.24 ja MAC-osoite A3-24-67-EF-11-A6. Reititin 1 on yhdistetty käyttäjän tietokoneeseen ja sen käyttäjän tietokoneen puoleinen IP-osoite on 192.168.0.3 ja MAC-osoite E6-E9-00-11-22-33. Reititin 1:n toisen puolen on IP-osoite on 242.242.242.42 ja MAC-osoite E6-E9-00-11-22-44. Reititin 1:n tämä puoli on yhdistetty Reititin 2:een. Reititin 2:n Reititin 1:n yhdistetyn puolen IP-osoite on 24.2.242.242.11 ja MAC-osoite C4:11:E3:EE:11:11. Reititin 2:n toisella puolella IP-osoite on 111.112.113.10 ja MAC-osoite C4:11:E3:EE:11:00. Reititin 2 on tältä puolelta yhdistettynä www-palvelimeen, jonka IP on 111.112.113.56 ja MAC AA:E1:86:11:3D:3E

Kirjaudu sisään vastataksesi tehtävään

Yhteenvetona

Tietoliikenteessä on paljon toimijoita, mutta jokainen niistä hoitaa vain oman pienen tehtävänsä. Koko verkko toimii hyvin, kunhan jokainen sen pieni osa toimii hyvin. Verkon palveluja voi käyttää, vaikka ei verkon toimintaa täysin ymmärtäisikään. Oman kotiverkon ylläpito on helpompaa, kun tuntee siihen liittyvät käsitteet. IT-ammattilaisen, joka toteuttaa uusia verkkosovelluksia, on hyvä tuntea tietoliikenteen ja kommunikoinnin periaatteet, jotta oma sovellus toimisi tehokkaasti eikä kuormittaisi verkkoa tarpeettomasti.

Seuraavilla kursseilla tutustutaan tarkemmin eri protokollien toimintaan, niiden viestien rakenteisiin sekä erityisesti verkon kuormitukseen ja luotettavaan toimintaan liittyviin periaatteisiin.

Anna vielä lopuksia palautetta tästä kurssista.

Kirjaudu sisään vastataksesi tehtävään
Pääsit aliluvun loppuun!

Muistathan tarkistaa pistetilanteesi materiaalin oikeassa alareunassa olevasta pallosta! Pistilanne ilmestyy materiaaliin myöhemmin.