Galvenie protokoli Lai saglabātu iespēju brīvi sazināties savā starpā, visi hosti internetā lieto kopīgu protokolu – IP. Tas nodrošina sekojošas funkcijas: globālu adresācijas sistēmu (IP adreses), kas ļauj jebkuram hostam sazināties ar jebkuru citu publiski pieejamu hostu; īpašu datu struktūru – IP paketi, kurā ievieto starp programmām pārsūtāmos datus un protokoliem specifisku papildus informāciju, piemēram, sūtītāja un saņēmēja IP adreses.
IP adrese ir strukturēta – tajā ir iekodēta gan tīkla adrese (IP tīkla prefikss), gan konkrētā hosta numurs tajā tīklā.
IPv4 (Internet Protocol version 4) ir Interneta protokola 4. versija. IPv4 adresei ir atvēlēti 32 informācijas biti, kas nodrošina adrešu lauku ar 232 (ap 4,3 miljardi) unikālām adresēm. Jau 20. gs. 90. gados bija diskusijas par to, kā nākotnē risināt unikālo adrešu trūkumu. Divi piedāvāti risinājumi ir NAT/PAT tehnoloģijas (skatīt zemāk) un pāreja uz IPv6 (Internet Protocol version 6) protokola versiju, kurai ir krietni plašāks adrešu lauks.
Tīkla adrešu translēšanas (Network Address Translation, NAT) un Portu adrešu translēšanas (Port Address Translation, PAT) metodes (RFC 2663) lieto maršrutētājos tie interneta lietotāji, kuriem internetam pieslēdzamo hostu skaits savā tīklā pārsniedz IPS piešķirto publisko IP adrešu skaitu. Tādos gadījumos iekšējā tīklā izvēlas kādu no rezervētajiem IPv4 adrešu apgabaliem (RFC 1918), to pieslēdz maršrutētāja iekšējam portam vai bezvadu tīklam, bet maršrutētāju tālāk pieslēdz IPS piedāvātajam kanālam ar tajā piešķirto IPv4 adresi. Tad maršrutētājs visos lietotāju pieprasījumos uz interneta pakalpojumiem sūtītāja IPv4 adresi aizvieto ar savējo un atbildes piegādā atpakaļ vaicājošajiem datoriem. Tādējādi vairāki datori var lietot interneta pakalpojumus caur NAT/PAT maršrutētājiem arī tad, ja IPS tiem ir piešķīris tikai vienu IPv4 adresi. Šī iespēja parasti jau ir aktivizēta privātai un maza biroja lietošanai domātajos vadu un bezvadu maršrutētājos.
Interneta hosti var sūtīt informāciju citiem trīs dažādos veidos:
- uniraidē (unicast) – adresējot tieši vienam konkrētam hostam;
- apraidē (broadcast) – adresējot visiem hostiem tajā pašā tīklā;
- multiraidē (multicast) – adresējot noteiktai hostu grupai.
IPv4 protokolā uniraides adreses ir apgabalā 0.0.0.0-223.255.255.255, apraides adrese ir 255.255.255.255, multiraides adreses ir 224.0.0.0-239.255.255.255 apgabalā. Hosti var adresēt arī paši sev – uz lokālā hosta adresi 127.0.0.1.
BGP protokols pieļauj IPv4 kādraides (anycast) adresāciju, kas ļauj vairākiem hostiem dažādos tīklos lietot vienādas uniraides adreses, BGP maršrutētāji izvēlas pārsūtīt paketes virzienā uz tuvāko no hostiem, turklāt lietotāja hostam nav būtiski, kurš tieši no hostiem ar tādu adresi atbild. Kādraide ir viens no veidiem, kā vienu pakalpojumu izvietot vairākos ģeogrāfiskos reģionos ar vienu un to pašu adresi un paļauties, ka maršrutētāji lietotāju pieprasījumus vienmēr virzīs uz tajā reģionā izvietoto hostu. Tādējādi panāk mazākas pakalpojuma aizkaves.
IPv6 ir Interneta Protokola 6. versija. Tā risina unikālo adrešu trūkumu, palielinot adreses bitus līdz 128 un tādējādi iegūstot 2128 (340 unideciljoni) unikālas IP adreses. Tik liels adrešu daudzums ļauj standartizēt adrešu lauku lielumus: lokālajiem tīkliem – 64 bitu tīkli, organizācijām – 48 vai 56 bitu, IPS – 32 bitu. Tāda vispārīga shēma ļauj vienkāršot virzienu tabulas maršrutētājos. Un lielais piešķirto adrešu daudzums ļauj atteikties no NAT lietošanas.
IPv6 adrese pieraksta heksadecimālā notācijā, sadalot adresi astoņos 16 bitu blokos un atdalot tos ar kolu. Secīgus nuļļu blokus var izlaist, to vietā ieliekot divus kolus, piemēram, 2001:DB8:1:1::1.
IPv6 protokols manto no IPv4 protokola uniraides un multiraides adresācijas veidus, apraides vietā tiek lietota multiraide uz noteiktām grupu adresēm (piemēram, paketes uz ff02::1 adresi pienāk visos hostos lokālajā tīklā), un kādraide ir jau viens no IPv6 standartā definētajiem adresācijas veidiem (RFC 4291), turklāt vienādas IPv6 adreses drīkst būt arī hostiem vienā tīklā.
IPv6 adreses iedalītas piecās kategorijās:
- globālās uniraides (global unicast) IP adreses ir publiski lietojamas apgabalā 2000::/16 līdz 3FFF::/16;
- lokālā kanāla uniraides (link-local unicast) adreses ir lokālas nozīmes adreses katram datu kanālam, to apgabals ir FE80::/16 līdz FEBF::/16, un hosti tās izvēlas paši bez tīkla iekārtu palīdzības;
- lokālā hosta (localhost) adrese ir viena – ::1/128;
- unikāli lokālās (unique local) adreses ir līdzvērtīgas IPv4 rezervētajiem apgabaliem, to apgabals ir FC00::/16 līdz FDFF::/16;
- multiraides adreses – grupu adresēšanai ir apgabalā FF00::/16 līdz FFFF::/16.
Pāreja no IPv4 uz IPv6 notiek lēnām vairāku iemeslu pēc, t. sk.: daudzi populāri pakalpojumi joprojām ir publicēti tikai ar IPv4 adresēm; ir IPS, kam pietiek ar esošajām IPv4 adresēm un nav motivācijas ieviest IPv6.
Pāreju palīdz realizēt triju veidu pieejas: duālais steks, tunelēšana, translēšana.
Duālā steka pieejā hostos līdzās pastāv gan IPv4, gan IPv6 adreses, un hosti izvēlas, kuru no tām lietot atkarībā no tā, vai saziņas otrs hosts arī atbalsta IPv6 (primārais variants) vai tikai IPv4 (rezerves variants). Augot IPv6 adrešu lietojumam pasaulē, arvien biežāk hosti varēs sazināties ar šo protokola versiju, tādējādi pāreja notiks dabīgi, nezaudējot piekļuvi ierastajiem pakalpojumiem.
Tunelēšana ļauj iekšējā tīklā lietot IPv6 protokolu un ar citiem IPv6 hostiem internetā sazināties, vārtejā IPv6 paketes ievietojot IPv4 paketēs, lai tādējādi šķērsotu to interneta daļu, kas atbalsta tikai IPv4 protokolu.
Translēšana ļauj IPv4 hostiem sazināties ar IPv6 hostiem, vārtejā aizvietojot vienas versijas adreses ar otras versijas adresēm, līdzīgi kā IPv4 NAT tehnoloģija aizvieto vienu IPv4 adresi ar citu.
IP ir bezsavienojuma protokols, t. i., paketes tiek sūtītas neatkarīgi, bez jebkādas iepriekšējas savienojuma izveides. Turklāt IP protokols negarantē paketes piegādi. Tādēļ eksistē arī savienojuma orientēts papildinošs protokols TCP (Transmission Control Protocol), kam ir īpašas procedūras savienojuma izveidei un aizvešanai starp diviem hostiem, tas īpaši numurē katru paketi un seko līdzi, lai saņēmējs apstiprina to saņemšanu. Ja kādu paketi neapstiprina, TCP protokols atsāk sūtīt pakešu virkni no trūkstošās vietas. TCP savienojums tiek aizvērts tikai, ja ir saņemtas visas sūtītās paketes. TCP lieto sūtīšanas logu (window size), kas norāda, cik liela informācija drīkst būt neapstiprināta ceļā uz galamērķi. To regulē saņēmējs atbilstoši lietotā tīkla noslogojumam un kvalitātei, un tas ir veids, kā regulē plūsmas intensitāti, lai tā iespējami labi lieto brīvo tīkla kapacitāti un tai pat laikā netraucē citām plūsmām tīklā.
Domēnu nosaukumu sistēma (Domain Name System, DNS) ļauj cilvēkiem lietot vārdiskas hostu adreses. Tā ir sadalīta, globāla vārdu datubāze, kurā ierakstus sauc par domēnu vārdiem, un katram tādam var piešķirt gan IPv4, gan IPv6 adreses, gan arī papildus informāciju, piemēram, kurš serveris ir atbildīgs par to domēna vārdu. Kad lietotājs vēlas pārlūkot kādu tīmekļa vietni, viens no pirmajiem soļiem datoram ir noskaidrot tās vietnes servera IP adresi, lai varētu veidot savienojumu ar to. Noskaidrošana notiek, sūtot vaicājumu datora pieliktajam DNS serverim (to nodrošina IPS), kas savukārt atrod internetā par domēnu atbildīgo serveri, vaicā tam un atgriež atbildi lietotājam. DNS sistēma ir kritiska interneta sastāvdaļa, tajā ir noteikta hierarhija, atbildības sadalījums un īpašs DNS protokols.