maanantai 12. joulukuuta 2016

Mikä internet on?

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 lii­tä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 kais­tanleveyttä, 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 paket­teihin, 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. Datapa­ketit siirtyvät eteenpäin vaikkapa maapallon toiselle puolelle lukuisten tietokoneiden, johto­jen 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