Kuidas töötab Internet?

Internet on võrkude kogum

Interneti tööpõhimõtte selgitamiseks täpsustan enne, mida selle termini all mõistetakse. Algselt tähistas Internet "võrkude võrku" (network of networks). Internet on moodustis, kus suuremaid ja väiksemaid kohtvõrke moodustavad arvutid omavahel infot vahetavad. Seetõttu pole tehniliselt korrektne väita, et arvuti on ühendatud Internetiga. Arvutid on ühendatud kohtvõrku, millel on juurdepääs Internetti. Vastupidiselt levinud arvamusele ei "tule Internet kaablist", alati on arvuti ja Internetiühenduse vahel veel mõni seade, mis tekkinud arvutivõrgud omavahel kokku seob.

Termin internet tähistab inglise keeles suvalist kahe arvutivõrgu vahel toimivat ühendust. Varem kasutati võrkude sidumiseks näiteks ARPANET, UUCP, Fidonet lahendusi, neid kõiki võis väikese tähega internetiks nimetada. Populaarseks sai aga ARPANET-ist välja kasvanud praegu ülemaailmne Internet – suure tähega, sest tegemist on võrgu nimega, mitte üldmõistega. Internet muutus populaarseks, sest:

Teenused olid just need, mis suurendasid võrgukasutajate arvu ja seega liideti järjest rohkem juba eksisteerivaid väiksemaid kohtvõrke Internetiga. Kõige populaarsemaks võrguteenuseks lisaks e-postile muutus WWW (World Wide Web). 90. aastatel oli veebiteenus muutunud kasutajatele Interneti sünonüümiks. Lause "Ma otsisin Internetist" on pärit just sellest ajast ja tähendab tegelikult veebi otsingumootorite kasutamist. Sisuliselt on tegemist ikkagi WWW-leheküljega, mille kaudu saab märksõnade kaudu otsida viiteid teistele WWW-lehekülgedele.

Tänapäeval on Internetiühendus muutunud nii elementaarseks, et selle rõhutamist ei peeta enam vajalikuks. Varasem tehniline vaatenurk on muutunud äriliseks ning seetõttu mõeldakse sageli nimetuse Internet all hoopis mistahes teenuseid, mida võrgus võimalik kasutada on. Samal põhjusel on senini propageeritud kirjaviis kirjutada Internet suure algustähega asendunud lihtsalt sõnaga internet, mis tähistab (sõltumata kasutatavast tehnoloogiast) üldmõistena suvalisi kokkuühendatud arvutivõrke.

Interneti teenused

Ükski tehniline lahendus pole muutunud populaarseks lahenduse enda pärast. Kasutajad ei otsi mitte tehnilisi realisatsioone vaid ikka teenuseid. Ka Internetis on oluline just mitte kasutatav tehnoloogia, vaid see, mida tehnoloogia abil kasutajatele pakkuda saab. Veebitehnoloogiad HTML, PHP, AJAX, SOAP ja teised on vaid vahendid selleks, et pakkuda nende abil erinevaid kasutajale atraktiivseid lahendusi. Interneti algusaegadel oli väga lihtne eristada seal pakutavaid teenuseid:

Tänapäeval on erinevate teenuste loetlemine palju keerulisem. Mitmed lahendused kasutavad juba olemasolevaid tehnoloogiaid, kuid samas võimaldavad tavapäraseid asju teha palju mugavamalt. Tekkinud on erinevaid teenuseid ja tehnoloogiaid ühendavad nn. veebirakendused. 90. aastate algusega võrreldes on Internet tundmatuseni muutunud. Tolle aja lihtsad ja lakoonilised veebilehed on asendunud erinevat multimeediat kasutavate interaktiivsete kodulehekülgedega ning ilmunud on mitmed teenused, mille kasutamine meenutab tööd varem arvutis olnud programmidega. Näiteks Google’i teenused on kõik veebirakendused (brauseris kuvatavad interaktiivsed veebilehed), kuid nad on muutunud väga kasutajasõbralikuks. Kadunud on varasematele veebiteenustele omased probleemid – lehekülje kuvamise aeglus, iga hiirevajutus tingib terve lehe uuestilaadimise, kasutaja automaatne väljalogimine kui lehte piisavalt kiiresti uuesti ei laadita jne.

Interneti tööpõhimõttest

Kuigi Interneti all mõeldakse nüüdisajal sageli just pakutavaid teenuseid, püüan siiski pigem kirjeldada seda, kuidas arvutitevaheline infovahetus toimub.

Kahe Internetti ühendatud masina vahel toimub infovahetus pakettide kaupa. Arvutid tükeldavad edastatava informatsiooni väiksemateks sõnumiteks, mida siis üle võrgu kohale toimetatakse. Kohaletoimetamisest annab saaja omakorda märku vastava sõnumiga. See tagab, et kõik infopaketid ikkagi sihtkohta jõuavad ning vahepeal teel kaduma ei lähe. Kõige olulisem ongi Internetis just infovahetuse korraldamine:

On selge, et võrgu toimimiseks peab igale arvutile eraldama mingisuguse unikaalse tunnuse, mille abil oleks võimalik see arvuti vajadusel võrgust üles leida. Sarnaselt suurlinnas tänavanimede ja majanumbrite abil paika pandud aadressile on ka arvutil oma nn. võrguaadress, mida nimetatakse IP aadressiks. IP aadress koosneb neljast punktiga eraldatud arvust vahemikus 0-255. Kui igale arvutile määrata kindel võrguaadress, ongi andmevahetuse esimene eeltingimus täidetud: konkreetne sihtkoht on saanud endale unikaalse numbrikombinatsiooni, mida on võimalik andmevahetusel kasutada.

Teise probleemi, teekonna, kindlaks tegemiseks kasutatakse samm-sammulist teekonna läbimist. Internet on üles ehitatud selliselt, et igas sellega ühendatud kohtvõrgus eksisteerib üks seade, kes on suuteline andmepakette edasi toimetama mõnda naabervõrku. Säärast seadet nimetatakse marsruuteriks (route – teekond, marsruut) ning ta on ühendatud kahe või enama kohtvõrguga. Marsruuter omab ülevaadet kõikidest arvutitest, mis on nendesse kohtvõrkudesse ühendatud. Seega on ta võimeline edasi toimetama ühest alamvõrgust teise suunatud infopakette. Eelduseks on, et iga kohtvõrgu arvuti peab teadma tema alamvõrgus asuva marsruuteri aadressi. Kogu info, mis ei ole mõeldud selles võrgus asuvatele arvutitele, saadetakse edasi marsruuterile. Marsruuter otsustab infopaketis oleva sihtaadressi järgi, kuhu andmed edasi saata. Ka marsruuter ei oma ülevaadet kogu võrgust, vaid ainult sellest osast, mille külge ta ühendatud on. Mõnes sellises arvutivõrgus võib olla omakorda veel mõni marsruuter, mis ühendab kohtvõrku mõne järgmise arvutivõrguga. Sellele võrgusõlmele saadabki vaadeldav marsruuter info edasi, kes siis omakorda toimetab selle järgmise marsruuterini jne.

Kui andmepakett jõuab marsruuterini, millega ühendatud kohtvõrgus info saaja asub, saadab marsruuter paketi saajale otse edasi. Vastuse saatmiseks läbitakse kogu protsess vastassuunas.

Marsruuterid teevad oma otsuseid andmepaketis asuva saaja IP aadressi alusel. On mõeldamatu, et igas marsruuteris oleks kirjas kõikvõimalikud IP aadressid, kuhu kohaletoimetamisega
marsruuter hakkama saab. Kohtvõrgus, kus marsruuter asub, võib olla kümneid või sadu arvuteid. Ühekaupa aadresside kontrollimine võtaks meeletult aega. Seetõttu eraldatakse arvutitele IP-aadresse vahemike kaupa. Ühe kohtvõrgu moodustavatel arvutitel on reeglina IP-aadressid alati ühest ja samast vahemikust. Sellisel moel on marsruuteril palju lihtsam otsustada, kas infopakett kuulub temaga otseühenduses olevasse kohtvõrku  ja selle võib otse sihtkohta toimetada või tuleb see edastada mõnele järgmisele marsruuterile.

Internetis olevaid arvuteid, mis peamiselt tegelevad mitmesuguste teenuste osutamisega, nimetatakse võrguserveriteks. Võrguserverites töötavad programmid, mis tegelevad teenuste osutamisega. Näiteks kodulehekülje kuvamiseks töötab serverarvutis vastav programm, mis võrgust tuleva infopäringu (pakettide) peale küsijale vastuseks kodulehekülje saadab. Nagu näha, ei koosta kasutajad ise sääraseid infopäringuid, selleks on arvutites kasutusel klientprogrammid, mis kasutaja valikute alusel ise serveritega andmevahetust teostavad ja tulemust sobival kujul ekraanil näitavad. Eelmises näites kirjeldatud infopäringu valmistab ette brauser (Internet Explorer, Firefox, Opera vms.), kes edastab selle veebiserverile ning näitab oma aknas vastusena saabunud kodulehekülje andmeid.

Kuidas brauser aga teab, millisel IP aadressil server asub? Selle otsustuse teeb tegelikult ära kasutaja, kes trükib brauserisse veebiaadressi. Veebiaadressis on kirjas server, kuhu ühenduda tuleb. Tõsi, see on kirjas tavalise tekstina (www.risk.ee, study.risk.ee vms.), mitte IP-aadressi kujul. Põhjus on lihtsalt selles, et kasutajal on palju kergem meelde jätta serveri nimelist, mitte numbrilist aadressi. Brauser kasutab numbrilise aadressi leidmiseks DNS-võrguteenust, saates kasutaja poolt sisestatud teksti päringu vormis spetsiaalsetele serveritele, kes oskavad nimelisi aadresse numbrilisteks teisendada. Seega on kogu tehniline protsess kasutaja eest brauseri poolt varjatud. Kuna kõik üldkasutatavad teenused on avalikud, on kasutajal alati võimalus ka ise brauserit "mängida", kasutades ühenduse loomiseks mõnda muud tarkvara, kus päring ise koostada ja edastada tuleb.

Lisaküsimusi

Interneti hajususe tõttu on andmevahetus kahe võrguseadme vahel suhteliselt keeruline. Lisaks eelpool kirjeldatule tekivad mitmedki muud probleemid: