Interneti tööpõhimõte

Allikas: Vikipeedia
Merge-arrow.svg See artikkel on esitatud liitmiseks artikliga Internet. Lisateavet artikli arutelust
Opte projekti tehtud interneti kaart visuaalsel kujul.

Kõige lihtsamalt öeldes on Internet suur hulk omavahel ühendatud arvuteid. Selleks, et arvutid omavahel suhelda saaksid kasutatakse paljusid erinevaid protokolle. Protokoll on sisuliselt lihtsalt üks reegel või reeglite kogum, mis määrab ära kuidas midagi tehakse. Ilma protokollideta ei oleks võimalik omavahel infot vahetada. Tänapäeval arvatakse olevat internetti ühendatud seadmeid 20 miljardi kandis[1].

Tuleks veel eristada interneti ja veebi (ingl World Wide Web). Need on kaks erinevat asja. Internet lubab arvutitel omavahel ühenduda. Tegemist on ülemaailmse süsteemiga. Veeb on lihtsalt üks viisidest kuidas informatsiooni saab üle interneti jagada. Kuna see on kõige levinum viis kuidas me interneti tänapäeval kasutame, siis arvatakse see olevat lihtsalt interneti sünonüümiks. Reaalselt võib internetti kasutada info vahetamiseks ka ilma veebita[2].

On olemas veel selline mõiste nagu nutistu(ingl internet of things). Tegelikult mõeldaksegi selle all interneti, aga selle vahega, et enam ei ühedata omavahel ainult arvuteid või servereid, vaid kõiki esemeid millel on interneti tugi olemas. Näiteks telefonid, tahvelarvutid, külmkapid, televiisorid jne. Absoluutselt kõik millel on internetiga ühenduvus olemas[3].

Ajalugu[muuda | muuda lähteteksti]

Nagu kõik tehnoloogilised saavutused on ka internet loodud algupäraselt sõjaväelistel eesmärkidel. Interneti arendamine hakkas pihta 1960-ndatel USA sõjaväe poolt. Esialgset interneti kutsuti nimega ARPANET. Esimesed prototüübid said valmis 1960-ndate lõpuks. Enne seda olid ka arvutivõrgud täiesti olemas, aga nad kasutasid omavahel ühenduse pidamiseks tsentraalseid keskusi. Ehk selleks, et kaks arvutit saaksid omavahel ühendust pidada peab olemas olema tsentraalne keskus kust kogu info läbi jookseb. See ei olnud iseenesest halb süsteem kuna ta oli üsnagi turvaline ja kui üks arvuti katki läks said oma sessiooni teise arvutiga jätkata. Antud süsteemi suur miinus seisneb selles, et kui tsentraalne keskus peaks kukkuma, siis kukub kogu võrk[4]. Internet loomise mõte seisnes selles, et juhul kui peaks toimuma suur tuumarünnak, siis side erinevate sõjaväe osade vahel ikkagi säiliks. Ehk siis internet loodi tuumasõja kartuse pärast. Loodud süsteem kasutas info edastamiseks andmepakette. Andmepakett on väga väike osa failist. Näiteks üks pilt võib koosneda sadadest tuhandetest andmepakettidest või isegi miljonidest. Kogu asja mõte seisneb selles, et ükskõik mis infot ka ei vahetataks kogu info jagatakse üliväikesteks osakesteks ehk andmepakettideks. Uue süsteemi kogu mõte seisnes marsruutimises ehk paketid valivad ise kõige lühema/kiirema tee sihtpunkti. Sealjuures ei pruugi kõik pandmepaketid liikuda ühte rada pidi, vaid iiga pakett võib ise oma teekonna valida. Siit tulevad ka mängu ruuterid. Liikumine toimubki ruutereid pidi. Kui osa süsteemist kukkus kokku tuumarünnaku järel, siis said ikkagi ühenduse luua mõõda teisi radu(ruutereid). Ehk siis mida rohkem ruutereid on süsteemis seda parem[5][6].

TCP/IP[muuda | muuda lähteteksti]

TCP/IP on protokollide kogum, mille kaks peamist protokolli on nimest tulenevalt TCP(ingl Transmission Control Protocol) ehk edastusohje protokoll ja IP(ingl Internet Protocol) ehk internetiprotokoll. TCP/IP loodi kohe peale interneti loomist 70-ndatel samuti USA sõjaväe poolt. TCP/IP ongi mõeldud andmevahetuseks loodud interneti süsteemi jaoks. Luues TCP/IP-d taheti, et andmed kindlasti kohale jõuaksid. Juhuks kui toimub massiline tuumarünnak. Selleks loodi TCP/IP protokoll nii, et see kontrolliks ka kas paketid kohale jõuaksid. Interneti protokoll ehk IP ühendab omavahel kaks võrgu otspunkti. Seda tehakse IP aadresside abil ehk siis igal võrgus oleval punktil(ruuteril) peab olema unikaalne IP aadress, et neid saaks eristada. Peale seda kui ühendus on olemas tuleb mängu TCP, mis ütleb ja kontrollib seda kuidas andmeid vahetatakse. TCP saadab andmeid pakettide kaupa ja kontrollib, et andmed kohale jõuaksid. Selleks saadetakse algul väga väikene andmepakett ja kui tuleb signaal, et teine osapool on andmepaketi kätte saanud, siis saadetakse 2 korda suurem pakett. Kui tuleb jälle signaal, et pakett on kätte saadud, siis saadetakse jälle 2 korda suurem pakett. Niimoodi tehakse kuni teatud ülempiirini juhul kui ei esine tõrkeid. Kui tekivad tõrked hakkab kogu protsess jälle otsast pihta. Igal paketil on olemas päis, kus on kirjas vajalik info, et pärast saaks pakettidest terviku kokku panna. Olgu selleks siis pilt või mõni muu fail. Sellisest suhtlusest tulenevalt ei sobi TCP/IP näiteks reaalsete kõnede tegemiseks kuna alguses liigub infot vähem kui vaja ja kui esineb tõrge, siis jällegi ei saa piisavas koguses infot läbi[7][8][9].

On olemas kahte tüüpi IP aadresse. IP versioon 4 ehk IPv4 ja IP versioon 6 ehk IPv6. Antud artiklis kasutan ma ainult IPv4 aadresseid kuna tänapäeval on see jätkuvalt kõige levinum viis. Kuna seadmete hulk, mis tahavad liituda ülemaailmse internetiga aina kasvab, siis ühel päeval saavad IPv4 aadressid otsa ja kasutusele peab võtma IPv6 aadressid.Täpsemalt saab lugeda IPv6 eesti keelsest vikipeediast.

DNS[muuda | muuda lähteteksti]

DNS(ingl Domain Name System) ehk domeeninimede süsteem on süsteem, mis võimaldab internetiaadressite ümbertõlkimist. Kui sisestada veebibrauserisse www.google.com, siis see ei tähenda arvutile midagi. Arvuti hoolib ainult IP aadressidest. Selleks on olemas DNS serverid. DNS server on lihtsalt üks server, kus on pandud IP aadress ja inimesele loetav aadress(näiteks www.google.com) vastavusse. Näiteks 216.58.207.227 = www.google.com(lihtsalt näide). Niimoodi ei pea inimesed mäletama peast kõik IP aadresse, mis oleks üsna jama. IPv4 aadressid pole tegelikult veel nii hullud, aga kui kunagi peaks kogu süsteem ümber minema ipv6 peale, siis oleks olukord ikka päris hull. Siinkohal on ka võimalik turvaauk, kui mõni häkker peaks suutma ära muuta DNS serveri aadressi, siis saab ta väga lihtsalt kontrolli arvuti üle. Üheks väga levinud petuskeemiks on teiste veebilehtede maskeerimine. Näiteks keegi maskeerib panga lehekülje identseks ja suudab DNS serveri ära vahetada enda oma peale, siis võib ta väga lihtsalt võrguliikluse suunata ümber. DNS servereid saab vaadata kas terminali kaudu või näiteks ruuteri seadetest. Internetiteenuse pakkujad on automaatselt ette ära seadistanud primaarse ja sekundaarse DNS serveri, kuid neid on võimalik muuta kui tekib tahtmine. Niiviisi saab ka tööandja kontrollida enda töötajaid kõige lihtsamalt, näiteks pannes www.facebook.com juurde mõni kasutu IP aadress. Niiviisi ei ole töötajal enam ligipääsu leheküljele www.facebook.com. DNS serverite puhul võiks veel ühte asja teada. Iga arvuti on seadistatud automaatselt kõigepealt otsima vastavat IP aadressit /etc/hosts kaustast, windowsi arvutil asub see kaust aadressil C:\Windows\System32\drivers\etc[10]. Kui sinna kausta panna ise mõni IP aadress vastama mõne lehekülje aadressiga, siis arvuti alati avab selle lehekülje vastava IP järgi, mis sinna kausta kirjutati. Ehk alati esmalt otsitakse IP aadressit hosts kaustast. Pärast seda otsitakse vastavale lehekülje aadressile vastet lokaalsest DNS serverist, milleks on väiksemates süsteemides ruuter. Suurtel korporatsioonidel võib selleks olla enda DNS server. Seejärel otsitakse primaarsest DNS serverist. Kui ka sealt ei leita, siis otsitakse vastavat aadressit sekundaarsest DNS serverist[11][12].

DHCP[muuda | muuda lähteteksti]

DHCP(ingl Dynamic Host Control Protocol) ehk dünaamiline hostikonfiguratsiooni protokoll on andmevahetuse protokoll, mis võimaldab DHCP serveritel anda välja teatud ajaks dünaamilisi IP aadresse. IP aadresse on kahte sorti, on dünaamilised ja staatilised. Staatilised on need, mis ei muutu kunagi. Dünaamilised muutuvad teatud aja tagant. DHCP on ülimalt kasulik suurte võrkude puhul, aga ka kasulik väiksemate puhul. Näiteks kui sul on kohvikus wifi ja seda kohvikut külastab päevas 1000 inimest, siis ei ole varsti enam ühtki unikaalset IP aadressi järel. Ja siis tekib üks paras segaduse kui mitu arvutit üritavad kasutada sama IP aadressi. Osa pakette läheb ühte arvutisse ja osa teisse ning mitte kumbki ei saa infot kätte. Poolikute pakketidega pole midagi peale hakata kuna ülejäänud informatsioon on puudu. Samas need inimesed vahetuvad pidevalt ja kui oleks võimalus, et kui keegi lahkub ja järgmine tuleb ning tema saaks sama IP aadressi, mis lahkuval inimesel oli, siis ei tekiks probleemi. Ja seda just DHCP võimaldabki. Teiseks ülimalt suureks boonuseks on lihtsus, DHCP teeb elu lihtsamaks. Kui keegi tahaks ükskõik kust internetti pääseda, siis igaüks peaks käsitsi sisestama nii IP aadressi, subnet maski(alamvõrgu aadressi), DNS serverite aadressid ja ka default gateway, et saada internetiga ühendus. Mis need on sinna veel jõuame. DHCP puhul on üks vajalik mõiste nimega lease time, see näitabki kui kaua tohib üks seade hoida kindlat IP aadressi enda käes. Pärast 50% lease time aega küsib arvuti või mis iganes seade DHCP serveri käest kas ta võib seda IP aadressi edasi hoida. Näiteks kui Lease time on 1 päev, siis 12 tunni pärast küsib arvuti kas ta võib IP aadressit alles hoida. Niimoodi arvuti või mis iganes seade annab teada, et ta on veel olemas. Kui ühendust ei toimu, siis server teab, et kui ühendust ei ole olnud, siis pärast lease time lõppu võib IP aadressi vabaks jälle lasta. Samas kui DHCP server ära kaob ehk arvuti ei saa ühendust, siis ta hoiab IP aadressi ja küsib jälle 50% pärast uuesti. Ehk kui lease time oli 1 päev, siis esimest korda küsib 12h pärast ja järgmisel korral 6h pärast jne. Kui lõpuks jõuab niimoodi nulli, siis sõltub juba seadmest kas ta hoiab seda IP aadressit või mitte. Lease time on võimalik määrata igaühel oma ruuteri seadetest. Siinkohal tuleks veel aru saada, et DHCP võib olla täiesti eraldi server suurtes korporatsioonides, lihtsalt ongi eraldi selleks ülesandeks server püsti pandud. Kodus aga mängib DHCP serveri rolli ruuter[12][13][14].

Ruuteril on olemas tegelikult kaks IP aadressi. On olemas väline ja sisemine. Sisemine on tavaliselt aadressiga 192.168.1.1. Ruuteri sisemist IP aadressi kutsutakse default gateway. See on staatiline IP ehk see ei muutu. Ruuteril on ilmselgelt on olemas ka väline IP aadress, mis on pääsuks internetti ja see peab ka unikaalne olema[15]. Kuid väline IP ei pruugi olla staatiline, vaid on enamasti koduvõrkudes dünaamiline. Siin tuleb juba mängu ISP(ingl Internet service provider) ehk internetiteenuste pakkuja, eestis võib selleks olla näiteks telia. Staatilised IP aadressid hoitakse äridele, kes ilmselgelt maksavad ka selle eest. Neile on väga oluline, et nende veebileht või mis iganes teenus internetis asuks samal aadressil. Dünaamilisi on vaja selleks, et maailmas on miljardeid arvuteid ja igaühele ei jätkuks staatilisi IP aadresse. Lisaks paljud ei kasuta internetti 24/7 ja seega IP aadress võib muutuda. Selleks, et staatilist IP aadressi saada tuleb kontakteeruda oma ISP-ga. Tavaliselt dünaamilised IP-aadressid ei muutu tihti, võivad kesta kuid ja isegi aastaid. Kui teed ruuterile restardi üle pika aja siis saad tõenäoliselt uue IP aadressi. Kohalikus koduvõrgus võid aga oma arvutile või mis iganes seadmele ise määrata staatilise IP aadressi kui on soovi. Silmas tuleks pidada, et see oleks väljaspool ruuteri pakutavaid IP aadresseid. Muidu võib kaks seadet lihtsalt juhuslikult sama IP aadressi saada. Staatiline IP on kasulik näiteks kui tahad omale koduvõrku serverit panna. Aga see vajalik ka siis kui tahad üleinternetilist serverit püsti, mis on muidugi juba keerulisem teema.

NAT[muuda | muuda lähteteksti]

NAT(ingl Network address translation) ehk võrguaadresside tõlkimine on viis kuidas muuta ruuteri taga olevad ühendused tulevat ruuterist endast. Sisuliselt NAT muudab ära andmepakkide päised. Kui varem tulid andmepaketid arvuti IP aadressilt, siis ruuter asendab andmepakketide päistes oleva arvuti IP aadressi enda IP aadressiga. Nii paistab välisele võrgule, et andmepaketid tulevad ruuterist kuigi tegelikult tulevad need ruuteri taga olevast arvutist(võib olla mis iganes seade, arvuti on lihtsalt kõige levinum näide). NAT on igale ruuterile sisse ehitatud ja toimib automaatselt. Siit tulenevalt ei ole vaja igale võrgus olevale seadmele unikaalset IP aadressi terves maailmas. Niiviisi saaksid kohe IP aadressid otsa. Tänu NAT-ile võivad ruuteri taga olevad seadmed kasutada uuesti neid IP aadresse, mis juba on välises võrgus ära kasutatud[16][17].

Pordid[muuda | muuda lähteteksti]

Port on suhtlemise lõpp-punkt operatsioonisüsteemis. Igal protokollil on oma vaikimisi port. Iga programm kasutab mõnda porti, selle kaudu saab ühenduse internetiga. IP aadressiga koos teab ISP, kes mida teeb. NAT töötab ka portide põhimõttel. Üks port saab teenindada korraga ühte tegevust(protokolli), aga üks programm võib kasutada mitut porti. Portide numbrid on vahemikus 0 - 65535. Esimesed 1024 porti ehk pordid numbritega 0 kuni 1023 kutsutakse üldtuntud portideks. Näiteks FTP(protokoll, mille abil saab faile üles laadida ja alla laadida) kasutab porti 21, SSH(protokoll, mille abil saab serverile ligipääsu üle interneti) kasutab porti 22, HTTP(protokoll, millega saab näha interneti lehekülgi) kasutab porti 80 ning HTTPS(sama, mis HTTP aga krüpteeritud) kasutab porti 443. Erinevate portidega saab tutuvuda inglise keelses vikis[18][19].

Kõik on ilmselt kuulnud tulemüürist. Tegelikult kõik, mida tulemüür teeb on portide blokeerimine.

Lihtne näide[muuda | muuda lähteteksti]

Oletame, et tahame panna täiesti uut koduvõrku püsti. Antud juhul siis DHCP ja DNS serveriks on meie ruuter. Oletame, et oleme ruuteri ära ühendanud ja saanud interneti ühenduse. Kõigepealt ISP annab ruuterile välise IP aadressi. Oletame, et selleks on 66.55.44.33. Ruuteri sisemine IP aadress on 192.168.1.1(enamasti nii see ka on), Niipea kui saame arvutiga interneti ühenduse annab DHCP server(antud juhul ruuter) meie arvutile IP aadressi. Oletame, et selleks on näiteks 192.168.1.101(DHCP server annab välja tegelikult lisaks IP aadressile ka muud vajalikku infot nagu näiteks subnet mask, aga lihtsuse mõttes jätame selle praegu välja). Võime muidugi ka ise seadistada staatilise IP aadressi arvutile ja DHCP serverit üldse mitte kasutada, aga kasutame antud näites siis DHCP serverit. Nüüd kui meil on ühendus olemas ja seega kõik vajalikud IP aadressid olemas tahame minna leheküljele www.google.ee. Selleks, et arvuti sellest midagi aru saaks peab kõigepealt antud aadressi teisendama ümber IP aadressi kujule(muidugi võib ka otse IP aadressi sisestada). Selleks vaatab arvuti kõigepealt enda hosts kausta kas seal on antud lehekülg kirjas. Kui on siis kasutab vastavat IP aadressit ja edasi ei otsi. Enamasti on see kaust muidugi tühi kui keegi just ei ole ise käsitsi lisanud midagi sinna. Järgmisena läheb arvuti kohaliku DNS serveri käest aadressi küsima. Antud juhul on meil siis selleks ruuter. Kui ta sealt ka ei leia vajalikku infot ei leia, siis ta läheb primaarsesse DNS serverisse, mille on ISP(näiteks Telia) kindlaks määranud(muidugi saab ise neid ka muuta, võib kasutada OpenDNS ja igast muid variante).Kui sealt ka ei leia, siis läheb edasi sekundaarsesse DNS serverisse. Oletame, et antud juhul leiab arvuti vastuse sealt. DNS server ütleb arvutile, et www.google.ee = 216.58.207.227. Nüüd otsib arvuti antud aadressit kõigepealt LAN võrgust. Siit ta seda ei leia. Seejärel palub arvuti default gateway(ruuteri) käest otsida tal seda aadressit võrgust. Tuletan meelde, et default gateway on aadress, mis on pääsuks internetti. Interneti ehk teisel pool ruuterit olevat võrku nimetatakse ka WAN-iks. Niisiis läheb ruuter WAN-ist aadressit otsima. Oletame, et ta leiab selle sealt. Kuna me kasutasime veebibrauserit ja tahtsime minna www.google.ee leheküljele, siis selle sisu kuvamiseks kasutatakse HTTPS protokolli ehk porti number 443. Ruuter jättis meelde, et arvuti(192.168.1.101) kasutas porti number 443. Kui ruuter otsis WAN-ist aadressit 216.58.207.227, siis sellele serverile paistis justkui, et liiklus tuleb aadressilt 66.55.44.33 kuigi tegelikult küsis seda arvuti. Selleks ongi NAT. NAT, mis on ruuteri sisse ehitatud jättis meelde, et pordilt 443 tulev ühendus tuleb ümber suunata arvutile. Arvutis kasutasime me veebibrauserit ja HTTPS protokoll näitab meile lõpuks selle lehekülje sisu.

OSI mudel[muuda | muuda lähteteksti]

OSI mudel.

OSI(ingl Open Systems Interconnection) mudel on loogiline mudel, mis näitab kuidas peaks interneti süsteem toimima. Selleks jagatakse erinevad komponendid erinevatesse kihtidesse. OSI mudel koosneb seitmest kihist.

7. Rakenduskiht(ingl Application layer) - siin kihis tegeletakse rakendustega ehk see mida kasutaja näeb. Siia kihti kuuluvad mozilla firefox, google chrome, safari, aga ka HTTPS, FTP ja SNMP protokollid.

6. Esitluskiht(ingl Presentation layer) - antud kihis toimub kõik, mis toimub rakenduskihi taga. Tegeleb andmete krüpteerimise ja dekrüpteerimisega. Viib andmed sellisele kujule, mida rakenduskiht aksepteerib. Siin kihis asuvad näiteks ASCII, JPEG, GIF.

5. Seansikiht(ingl Session layer) - siin kihis luuakse sessioon kahe seadme vahel.

4. Transpordikiht(ingl Transport layer) - siin toimub andmete edastamine. Kui palju andmeid edastatakse ja kuidas, seda reguleeritakse siin. TCP ja UDP protokollid asuvad siin kihis.

3. võrgukiht(ingl Network layer) - tegeleb marsruutimisega. siia kihti kuuluvad kõik ruuterid ja IP aadressid.

2. Kanalikiht(ingl Data Link layer) - tegeleb füüsilise adresseerimisega. Muudab bitid kaadriteks ja vastupidi. Ühesõnaga tegutseb võrgukihi ja füüsilise kihi vahendajana. Tegeleb ka errorite tuvastamisega, aga ka andmete edastamise kiirusega. Siin kihis asuvad MAC aadressid ja kommutaatorid(ingl switches).

1 . Füüsiline kiht(ingl Physical Layer) - siin kihis asuvad füüsilised esemed. Näiteks kõik internetikaablid asuvad siin[20][21].

Viited[muuda | muuda lähteteksti]

  1. Statista. "Internet of Things (IoT) connected devices installed base worldwide from 2015 to 2025 (in billions)". Statista. Kasutatud 01.05.2018.
  2. "Difference between the Internet and the web". Difference Between. Kasutatud 08.05.2018.
  3. "Internet of things". Wikipedia. Kasutatud 08.05.2018.
  4. "Centralized computing". Wikipedia. Kasutatud 08.05.2018.
  5. Evan Andrews. "Who invented the internet?". History, 18.12.2013. Kasutatud 08.05.2018.
  6. "History of the internet". Wikipedia. Kasutatud 08.05.2018.
  7. Margaret Rouse. "TCP/IP (Transmission Control Protocol/Internet Protocol)". TechTarget, 12.08.2017. Kasutatud 14.05.2018.
  8. Bradley Mitchell. "Understanding Transmission Control Protocol/Internet Protocol (TCP/IP)". Lifewire, 05.01.2018. Kasutatud 14.05.2018.
  9. "Internet protocol suite". Wikipedia. Kasutatud 14.05.2018.
  10. Christopher Welker. "How to Edit Your Hosts File on Windows, Mac, or Linux". How-To Geek, 17.04.2017. Kasutatud 14.05.2018.
  11. Marshall Brain, Stephanie Crawford. "How Domain Name Servers Work". HowStuffWorks. Kasutatud 14.05.2018.
  12. 12,0 12,1 KIRILL SHIRINKIN. "How networks work: what is a switch, router, DNS, DHCP, NAT, VPN and a dozen of other useful things". mkdev. Kasutatud 14.05.2018.
  13. Tim Fisher. [What Is DHCP? (Dynamic Host Configuration Protocol)"What Is DHCP? (Dynamic Host Configuration Protocol)"]. Lifewire, 08.03.2018. Kasutatud 14.05.2018.
  14. Margaret Rouse. "DHCP (Dynamic Host Configuration Protocol)". TechTarget, 01.07.2017. Kasutatud 14.05.2018.
  15. Steve. "Internal and External IP Addresses Explained". 21.12.2017. Kasutatud 14.05.2018.
  16. "NAT". Kasutatud 14.05.2018.
  17. Jeff Tyson. "How Network Address Translation Works". HowStuffWorks. Kasutatud 14.05.2018.
  18. "What is a Port?". WhatIsMyIPAddress. Kasutatud 14.05.2018.
  19. "Port(computer networking)". Wikipedia. Kasutatud 14.05.2018.
  20. Bradley Mitchell. "The Layers of the OSI Model Illustrated". Lifewire, 09.04.2018. Kasutatud 14.05.2018.
  21. "The 7 Layers of the OSI Model". webobedia, 03.04.2018. Kasutatud 14.05.218.