Olen jonkin aikaa keskittynyt opintojeni loppuunsaattamiseen, joten en ole kerennyt paljon puuhailla Piin tai tämän blogin parissa. Mutta jeee, sain graduni palautettua ja viimeisetkin opintopisteet kasaan! Kohta olen filosofian maisteri biologian alalta. Pääaineeni on ekologia ja evoluutiobiologia. Viimeisen opintopisteeni sain viime viikolla eräästä tietotekniikan kurssista. Kurssilla opin, mikä internet oikeastaan on. Hoksasin, etten ole aiemmin edes tiennyt sitä! Netin toiminnan ymmärtämisestä ja tietotekniikasta yleisestikin on varmasti hyötyä myös robotiikassa, sen takia kävin mielelläni kyseisen kurssin.
Tietotekniikan kurssit ovat muutenkin todella mielenkiintoisia! Vaikka valmistunkin, aion jatkaa tietotekniikaan tutustumista itseopiskeluna. Olisin ottanut tietotekniikan sivuaineeksi, jos olisin aiemmin hoksannut, miten mielenkiintoista se on. Robotti-innostuksenihan sai lopullisen sysäyksen ensimmäisestä tietotekniikan kurssista, jonka kävin. Hoksasin silloin, ettei tietotekniikka olekaan vaikeaa, minulla oli vain sellainen virheellinen käsitys siitä.
Nykyaikana on onneksi todella helppoa käydä kursseja itseopiskeluna. Tällä hetkellä esimerkiksi olen Helsingin yliopiston ylläpitämän Mooc.fi:n ohjelmointikurssilla, mikä vastaa yliopiston ohjelmointi I - ja ohjelmointi II -kursseja. Kyseinen on siis todella laaja! Nyt minulla on vihdoin aikaa keskittyä siihenkin enemmän. Ohjelmoinnin oppiminen on kivaa! Se tunne, kun vihdoin saa jonkin koodin toimimaan, on loistava! Ohjelmoinnissa tulee myös tunne, että saa ratkoa mysteereitä ja arvoituksia 8D Olen myös tämän hiljaiselon aikana ostanut monia robotiikkaan liittyviä kirjoja, kerron niistä myöhemmin! Pääsen myös vihdoin tutustumaan Raspberry Pi:hin.
Päätin kirjoittaa blogiini yhteenvedon siitä, mikä internet oikeastaan on. Tuntuu oudolta, etten edes aiemmin tiennyt sitä! Ehkä tämä kirjoitus auttaa muitakin hahmottamaan internetin olemusta. Olen yhdistellyt kirjoitukseeni materiaalia eri lähteistä (lähdeluettelo on lopussa), ja käyttänyt myös Jyväskylän yliopiston tietotekniikan kurssilla (ITKP104 - tietoverkot) oppimaani asiaa. Mikäli huomaat tekstissä jotain korjattavaa, kerro ihmeessä!
Internetin fyysinen rakenne
Internet on maailmanlaajuinen tietoverkko, johon liitetyt tietokoneet
viestivät keskenään. Internetin runko muodostuu palvelintietokoneista eli
servereistä. Palvelin (serveri) on teknisesti PC:tä muistuttava tietokone,
jossa on kiintolevy ja käyttömuisti, jonka avulla ohjelmat suoritetaan.
Palvelimet sisältävät internetissä esitetyn tiedon ja kaikki käyttäjille
tarjotut palvelut, joten palvelimen edellytyksenä on paljon suurempi
muistikapasiteetti kuin tavallisella tietokoneella. Palvelinkoneet on kytketty
toisiinsa nopean tietoliikenneyhteyden mahdollistavilla kaapeleilla. Palvelimet
ovat usein osa jotakin lähiverkkoa, joka koostuu esim. oppilaitoksen tai
yrityksen lähiverkoiksi liitetyistä PC-koneista.
Kun internettiin muodostetaan yhteys, se tarkoittaa yhteyden
muodostamista palvelimelle, josta voidaan edelleen muodostaa yhteys toisiin
palvelimiin. Kun käyttäjä siis muodostaa yhteyden internettiin esim.
sähköposti- tai selainohjelman avulla, ottaa ohjelma yhteyden palvelinkoneessa
olevaan palvelinohjelmistoon.
Palvelinohjelmisto lähettää palvelupyynnön, kun internet-sivu haetaan
tai avataan. Palvelinohjelmisto myös vastaanottaa palvelimen palauttaman tiedon
sekä tulostaa sen käyttäjälle, eli näytölle avautuu haettu internet-sivu.
HTML-kielellä tehdyt asiakirjat eli tuntemamme internet-sivut
sijaitsevat palvelimissa. Palvelimet voivat fyysisesti sijaita missä tahansa.
Sivut voivat sisältää linkkejä, jotka ohjaajat käyttäjän toisille sivustoille.
Täten linkkejä seuraamalla voidaan internetissä liikkua palvelimelta toiselle
eli surffata.
WWW (World Wide Web) eli web sekoitetaan hyvin usein
internet-käsitteeseen, vaikka WWW on vain yksi internetin monista palveluista.
WWW on internetin palveluista se, joka mahdollistaa tiedon selaamisen
selainohjelman (browser) avulla. Yleensä WWW:ssä esitetty tieto on tallennettu
selailua varten hypertekstin muotoon. Hypertekstissä tekstiä, kuvaa ym. tietoa yhdistetään
toisiinsa yhtenäiseksi kokonaisuudeksi, jota käyttävä voi selata mm. linkkien
avulla.
Internet toimii asiakas / palvelin -periaattella, eli yhteys asiakkaan
ja palvelimen välille muodostetaan vain tiedonsiirron ajaksi. Tiedonsiirron
loputtua yhteys katkaistaan, eli jatkuvaa yhteyttä ei siis ole. Eräs internetin
tärkeimpiä periaatteita on, että jokainen tietokone liikennöi internetissä
tasavertaisesti.
Palvelinohjelmistojen tehtävänä on tarjota erilaisia palveluja muille
ohjelmille joko tietokoneverkon välityksellä tai paikallisesti samassa
tietokoneessa. Palvelinta käyttävää sovellusta tai tietokonetta nimitetään
asiakkaaksi.
Internetin
rungon muodostavat siis erittäin nopeilla tietoliikenneyhteyksilä toisiinsa
liitetyt palvelimet. Näihin palvelimiin on liitetty lukuisia paikallisverkkoje
eli LAN:eja (Local Area Network), jotka puolestaan tarjoavat käyttäjilleen
mahdollisuuden liittyä verkkoon erilaisten laitteiden (tietokoneet, televisiot)
avulla
Kuva otettu osoitteesta http://www.internetopas.com/yleistietoa/rakenne/internet_toimintaperiaate.jpg |
IP-osoitejärjestelmä
Kun laitteiden välillä siirretään tietoa, lähetettävä tieto jaetaan
paketeiksi, joihin liitetään tieto vastaanottajasta eli tietokoneen IP-osoite.
Tämän tiedon avulla tietopaketit liikkuvat internetissä oikeaan päämääräänsä.
Tiedonvälitys internetissä perustuu siis IP -osoitteisiin
(esim. 193.166.3.1), jotka yksilöivät tiedonsiirtoon osallistuvat laitteet. IP-osoitteilla
luodaan yhteys minkä tahansa tietokoneiden välille internetissä, olivatpa ne
sitten palvelimia tai asiakkaita.
Matkallaan vastaanottajalle datapaketit kulkevat lukuisten liitäntäkohtien ohi, joita ovat verkon keskittimet (eng. hub jo hieman vanhentunutta tekniikkaa), kytkimet sillat ja yhdyskäytävät. Tärkeimpiä yhdyskohtia ovat kuitenkin reitittimet.
Reitittimet ovat internetin tärkeimmät tienviitat. Niitä on internetissä jokaisessa osaverkon yhtymäkohdassa. Reitittimet tarkastavat, minne yksittäiset tietopaketit ovat matkalla ja lähettävät ne optimaalista reittiä pitkin eteenpäin verkossa. Reitittimet kommunikoivat koko ajan toistensa kanssa ja päivittävät toisiaan tiedoilla siitä, missä juuri nyt on eniten vapaata kaistanleveyttä, jotta paketit voitaisiin siirtää mahdollisimman nopeasti.
Kuva otettu osoitteesta http://oppimateriaalit.internetix.fi/fi/avoimet/atk/intranet/kuvat/hubi.gif |
IP-osoitteita on vaikea muistaa ulkoa. Sen vuoksi käytetäänkin
verkkoaluenimeä eli verkkotunnusta (domain), joka koostuu tavallisesta
tekstistä (esim. verkkosivun osoite). Jokainen IP-osoite voidaan yhdistää
yhteen tai useampaan verkkotunnukseen.
Verkkotunnukset ovat helppoja muistaa ja sen vuoksi käytännöllisiä.
Kommunikaatio tapahtuu kuitenkin reitittimien kautta, jotka ymmärtävät
ainoastaan IP-osoitteita. Kaikki verkkotunnukset on sen vuoksi muutettava
IP-osoitteiksi. Verkkotunnus on osa URL-osoitetta, jota käytetään verkossa surffailuun. Jokaisella internetissä olevalla palvelimella, verkkosivulla ja tiedostolla on oma ainutlaatuinen URL-osoite. Käytämme niitä esim. napsautellessamme verkkosivuilla olevia linkkejä.
Verkkotunnukset muutetaan IP-osoitteiksi internetin
nimipalvelujärjestelmän DNS:n (Domain Name System) avulla. DNS on internetin nimipalvelujärjestelmä, joka muuntaa verkkotunnuksia IP-osoitteiksi. Nimipalvelun ansiosta numeeristen osoitteiden sijasta voidaan käyttää helpommin muistettavia nimiä. Nimipalvelun toinen tärkeä tehtävä on sähköpostin reititys. Toimenpiteistä
huolehtivia palvelimia sanotaan nimipalvelimiksi. Internetin osoiteavaruus ei
enää pitkään riitä, sillä nykyisessä IPv4 -järjestelmässä jaossa olevat
osoitteet loppuvat pian kesken. Sen tilalle onkin kehitetty IPv6-järjestelmä,
jossa osoitteiden määrä on suurempi. IPv6-järjestelmään siirtyminen on
kuitenkin ollut hidasta.
Internet-operaattorisi DNS-palvelin huolehtii vuorokauden ympäri
siitä, että lähettämilläsi paketeilla on oikea IP-osoite. Jokaisessa Internetissä lähetettävässä
paketissa on sekä lähettäjän että vastaanottajan IP-osoite, joiden avulla
reitittimet löytävät oikean tien paketin lähettämiseksi eteenpäin. Kun
kirjoitat selaimeesi verkkotunnuksen, DNS-palvelin etsii vastaavan IP-osoitteen
nimiluettelostaan. IP-osoitetta käytetään siis yhteyden muodostamisessa sinun ja
verkkosivun välille.
Internetin protokollat ja niiden kerrosmalli
Jotta palvelinten välillä voi tapahtua tiedonsiirtoa, kaikkien
tiedonsiirtoon osallistuvien tietokoneiden on oltava ns. yhteensopivia eli
käytettävä samaa protokollaa, jotta data voi siirtyä niiden välillä ongelmitta.
Protokolla tarkoittaa tiettyä sääntöä tai toimintatapaa, jonka mukaan
tiedonvälitys tapahtuu.
Internetissä tapahtuvaa tiedonsiirtoa ohjaa TCP / IP -protokolla, joka
puolestaan muodostuu useista eri protokollista, jotka yhdessä mahdollistavat
tiedonsiirron. Pääprotokollat TCP ja IP huolehtivat tietojen siirrosta ja
varmistavat, että tietoja voidaan siirtää hyvinkin erilaisissa verkoissa ja
huolimatta siitä, miten yhteys on laadittu (kaapelien, puhelinjohtojen,
satelliittien ym. avulla). Pääprotokollien lisäksi TCP / IP sisältää koko
joukon alaprotokollia, joista jokaisella on tietty tehtävä.
Protokollien yhdistelmää eli internetin rakennetta voi kuvata
kerrosmallilla. Tiedot siirtyvät pinossa alaspäin sovellustasolta fyysiseen verkkoon
kun ne lähetetään verkkoon. Kun tietoja vastaanotetaan verkosta, ne lähetetään
kerrosmallissa alaspäin. Jokaisella kerroksella on omat protokollat. TCP / IP
-mallissa on neljä tai viisi kerrosta. OSI-malli puolestaan kuvaa
tiedonsiirtoprotokollien yhdistelmän seitsemässä kerroksessa. OSI-viitemalli on
käsitteellisesti ehjä ja ISO:n kansainvälinen standardi. Sen sijaan käytännön
protokollapinoja sen mukaisesti ei juurikaan olla kehitetty. Päinvastainen
tilanne vallitsee TCP/IP-viitemallin suhteen, mallia ei juurikaan käytetä mutta
protokollapinot ovat hyvin aktiivisessa käytössä.
Kuva otettu osoitteesta http://docplayer.fi/docs-images/39/20479720/images/24-0.png. Kurssillamme TCP / IP -mallin kerroksia oli viisi: siirtokerroksen (eli linkkikerroksen) alla oli fyysinen kerros. |
Sovelluskerroksen protokollia
Sovelluskerroksen protokollan
tehtävänä on määritellä säännöt asiakkaan ja palvelimen väliseen
kommunikaatioon.
HTTP (Hyper Text Transfer Protocol)
Sovelluskerroksen protokolla on esimerkiksi HTTP, jota selaimet ja WWW-palvelimet käyttävät tiedonsiirtoon. HTTP-protokollassa tiedosto avataan HTML- eli hypertekstidokumenttina, joka voi sisältää mm. tekstiä, kuvaa, animaatiota tai ääntä. Hypertekstitiedostojen lukemiseen käytetään ohjelmaa, jota nimitetään selaimeksi. WWW:ssa asiakasaohjelma (selain) ja palvelinohjelma keskustelevat keskenään käyttämällä HTTP-protokollaa. HTTP-protokollalla voi esimerkiksi käyttää sähköpostin palveluja.
HTTPS (Hyper Text Transfer Protocol Secure) on yhdistelmä HTTP:n ja TLS:n
protokollista ja se on luotu turvaamaan ja suojaamaan tiedonsiirtoliikennettä
asiakkaan ja palvelimen välillä. HTTPS kommunikaatio noudattaa TLS-protokollan
turvallisuuskäytänteitä, sillä se käyttää
TLS-protokollaa TCP-protokollan päällä. HTTP protokollaa ei siis muuteta
mitenkään, vaan salaus toteutetaan
erikseen TLS tai SSL protokollalla.
FTP (File Transfer Protocol)
Toinen esimerkki sovelluskerroksen protokollista on FTP. Se mahdollistaa tiedostojen siirron kahden koneen välillä käyttöjärjestelmästä riippumatta. FTP-protokolla vaaditaan, jotta tiedostot voivat kulkea tietokoneelta palvelimelle ja päinvastoin.
SMTP
(Simple Mail Transfer Protocol)
SMTP on postiprotokolla sähköpostin välitystä varten. Toiminta
perustuu siihen, että kun asiakas kirjoittaa ja lähettää viestin, SMTP-asiakas ottaa
yhteyden SMTP-palvelimeen TCP:n avulla. Yhteydenoton jälkeen suoritetaan
kättely osapuolien välillä ja vastaanottajan tiedot saadaan. Viesti välitetään
ja siirretään vastaanottajan postilaatikkoon. Nykyaikaiset postipalvelimet
käyttävät alkuperäisen SMTP:n sijasta laajennettua ESMTP-protokollaa
POP3 (Post Office Protocol) ja IMAP (Internet
Message Access Protocol)
Sähköpostipalvelimelta voidaan lukea posteja POP3 tai IMAP protokollilla, tosin yleisin tapa nykyään on
selaimella hakea / hakea käyttäen HTTP protokollaa.
Kuljetuskerroksen protokollia
Kuljetuskerroksen protokollien perustehtävänä on tarjota ylemmille sovelluksille kuljetuspalvelua kahden mahdollisesti eri koneissa tai jopa eri verkoissa olevan prosessin välillä. Kuljetuskerroksen tehtävänä on siis porttinumeron perusteella viedä paketit oikealle sovellukselle vastaanottavassa
laitteessa. Kerroksen kaksi tärkeintä protokollaa ovat TCP (Transmission
Control Protocol) ja UDP (User Datagram Protocol).
TCP (Transmission Control Protocol)
Yleisin internetin tiedonsiirtoprotokolla. Kaikki tiedot siirtyvät internetissä tiedostoina. Kun napsautat verkkosivun selaimen ikkunaa, tietokoneellesi lähetetään palvelimelta sivutiedostosta kopio. Se ei kuitenkaan tule kokonaisena tiedostona, vaan se jaetaan ensin pieniin paketteihin, jotka sitten lähetetään sinulle. Paketit kootaan tietokoneessasi uudestaan tiedostoksi. TCP vastaa näiden tietopakettien lähettämisestä ja vastaanottamisesta. Yksi sen tehtävistä on siis jakaa kaikki lähetettävät tiedot pieniksi tietopaketeiksi.
TCP tarjoaa UDP:n tavoin mekanismin, jolla osoitetaan lopullinen kohde, mutta TCP tarjoaa tämän lisäksi monia lisäominaisuuksia. Keskeisin asia on, että se tarjoaa sovelluksille luotettavaa yhteydellistä kuljetuspalvelua, joka takaa pakettien järjestyksen säilymisen sekä pakettien pääsyn vastaanottajalle. Tämän ansiosta sovellusohjelmoijan ei tarvitse kiinnittää huomiota tiedonsiirrossa esiintyvien ongelmien hoitamiseen vaan TCP hoitaa ne hänen puolestaan.
UDP (User Datagram Protocol)
Internet-maailmassa UDP tarjoaa yksinkertaisen yhteydettömän kuljetuspalvelun varsinaisille sovelluksille. Käytännössä se ei lisää alemman protokollan eli IP:n päälle muuta kuin mekanismin osoittaa lopullinen kohde. UDP ei sisällä pakettien numerointia ja sitä kautta varmuutta pakettien järjestyksen säilymisestä, toisin kuin TCP. Koska lähettäviä paketteja ei numeroida, vastaanottaja ei myöskään voi kuitata niitä vastaanotetuiksi. Tämän seurauksena UDP:tä voidaan pitää epäluotettavana yhteydettömänä kuljetuspalveluna
Internet-kerroksen eli verkkokerroksen protokollia
Verkkokerroksen tehtävänä on
kuljettaa paketti verkon läpi oikealle laitteelle. Verkkokerroksen tarjoama palvelu on todennäköisesti kaikista monimutkaisin ja vaikein toteuttaa, sillä viestin välittäminen hierarkisen verkon yli vaatii reititysalgoriteja ja useita reititysprotokollia.
IP (Internet Protocol)
TCP-protokolla hoitaa tiedon jakamisen paketteihin, ja itse siirrosta vastaa IP-protokolla. IP on internetkerroksen protokolla ja internetin toiminnan ydin, joka yhdistää internettiin liittyneitä laitteita palvelimiin ja sitä kautta mahdollisesti toisiin käyttäjiin. IP-paketissa kuljetettavat protokolla on numeroitu. Protokollan numerosta vastaanottaja tietää, mitä IP-paketin sisällä on. Datapaketit siirtyvät eteenpäin vaikkapa maapallon toiselle puolelle lukuisten tietokoneiden, johtojen ja muiden yhteyksien avulla.
Linkkikerroksen (eli siirtokerroksen) sekä fyysisen kerroksen tehtävät
Linkkikerroksen tehtävänä on
välittää paketti yksittäisen linkin yli.
Fyysisen kerroksen tehtävänä
on määritellä siirtomedian fyysiset ominaisuudet. Tällä kerroksella toimii
varsinainen tekniikka, joka lähettää ja siirtää annettua tietoa väylää pitkin. Se lähettää jännitettä tai valoa tekniikan mukaan.
Internetin hallinta
Internetiä ei hallitse mikään
yksittäinen järjestö, mutta keskeistä osaa sen hallinassa näyttelee tällä
hetkellä yhdysvaltalainen, voittoa tavoittelematon ICANN (Internet Corporation
for Assinged Names and Numbers). ICANN hallinnoi nimiä ja numeroita,
"osoiteavaruutta" -juuripalvelimia, ip-osoitteita ja domain-nimiä.
ICANN ylläpitää verkkotunnuksiin liittyvän
hallinnon lisäksi myös IANA:aa (Internet Assigned Numbers Authority).
IANAn tehtäviin kuuluu hallinnoida esimerkiksi IPv4 ja IPv6-osoitteiden
jakamista globaalilla tasolla. IANA jakaa siis IP osoitelohkoja alueellisille
Internet-rekistereille eli RIR:eille.
Esimerkiksi RIPE NCC (Réseaux IP Europeens Network Coordination Centre) vastaa
Euroopan IP-osoitteiden jakamisesta.
Protokollia
määrittelevät erilaiset standardointielimet, joista tärkeimpiä ovat Internet
Engineering Task Force (IETF), Institute of Electrical and Electronics
Engineers (IEEE), International Standards Organization (ISO) ja International
Telecommunications Union Telecommunication Standardization Sector (ITU-T).
Kuva otettu osoitteesta http://what-when-how.com/wp-content/uploads/2012/03/tmp91_thumb2.jpg |
Lähteet
Jyväskylän yliopiston tietotekniikan kurssi "ITKP104 -
Tietoverkot" ja sen nettimateriaali
http://users.jyu.fi/~arjuvi/opetus/itkp104/2016
http://www.internetopas.com/
http://blogs.helsinki.fi/tvt-ajokortti/1-tietokoneen-kayton-perusteet/
http://www.okol.org/verkkokurssit/datanomi/tietojarjestelmien_kaytto_ja_kehittaminen/lahiverkko_internet/lanjaint/verkkoprotokolla_ja_standardit/proto.htm
http://oppimateriaalit.internetix.fi/fi/avoimet/6tekniikkatalous/verkko/tcp_ja_udp_protokollat
http://oppimateriaalit.internetix.fi/fi/avoimet/atk/intranet/internetin_toiminta
http://www2.amk.fi/digma.fi/www.amk.fi/opintojaksot/041005/1094208209451.html
http://what-when-how.com/tcpip/understanding-tcpip-basics/
https://fi.wikipedia.org
Ei kommentteja:
Lähetä kommentti