Danes odpremo prenosnik, kliknemo brskalnik in pričakujemo, da bo vse delovalo takoj. HTTPS, cloud, aplikacije, videoklici, streaming, VPN-i in milijon servisov v ozadju. Vse skupaj je tako samoumevno, da večina ljudi sploh ne pomisli, kaj se dogaja pod pokrovom.
Ampak internet ni bil vedno tak.
Bil je čas, ko se je modem oglasil z zvoki, kot da kliče nezemljane. Ko si za dostop do drugega računalnika uporabil Telnet. Ko je FTP pomenil resen prenos datotek. Ko je bila spletna stran luksuz, Gopher pa povsem normalna stvar. In ko je velik del interneta poganjala tehnologija, ki je nastala v času, ko marsikdo doma še ni imel niti barvnega televizorja.
Veliko teh starih protokolov je danes pozabljenih. Še bolj zanimivo pa je, da nekateri še vedno delujejo in držijo internet skupaj.
NCP – internet pred internetom
Pred TCP/IP je bil na ARPANET-u glavni protokol NCP – Network Control Protocol.
ARPANET je bil predhodnik interneta in je povezoval raziskovalne ustanove, univerze ter vojaške sisteme. NCP je omogočal komunikacijo med računalniki, vendar ni bil zasnovan za ogromno globalno omrežje.
Leta 1983 se je zgodila ena najpomembnejših prelomnic v zgodovini računalništva: ARPANET je prešel na TCP/IP.
In tu se začne internet, kot ga poznamo danes.
TCP/IP – dedek, ki še vedno vodi družino
TCP/IP je danes tako normalen, da ga skoraj ne opazimo več.
IP določa, kam naj paket potuje. TCP pa skrbi, da podatki pridejo v pravilnem vrstnem redu in brez izgube.
Zelo poenostavljeno:
IP: »Pošlji to tja.«
TCP: »In preveri, da je vse prišlo celo.«
IPv4 je bil standardiziran v začetku osemdesetih in je še vedno močno prisoten. To pomeni, da ogromno sodobnega interneta temelji na približno 45 let starih idejah.
Kar je precej neverjetno.
ICMP – ping, ki ga vsi poznamo
Če si kdaj v terminal napisal:
ping 8.8.8.8
si uporabljal ICMP.
ICMP je namenjen diagnostiki in sporočanju napak. Ko preverjaš, ali je strežnik dosegljiv, ali iščeš težave v mreži, je ICMP pogosto prvi korak.
Sysadmin brez pinga je približno tako kot mehanik brez ključa 13.
ARP – kdo ima ta IP?
V lokalnem omrežju računalnik potrebuje tudi MAC naslov naprave.
Tu pride na vrsto ARP.
»Kdo ima IP 192.168.1.10?«
Naprava odgovori:
»Jaz. Moj MAC je ta in ta.«
Preprosto, učinkovito in še danes povsem aktualno.
Njegov sorodnik RARP je bil namenjen obratnemu postopku, vendar so ga kasneje zamenjali BOOTP in nato DHCP.
Telnet – ko so gesla potovala po omrežju gola
Telnet je bil nekoč glavno orodje za oddaljen dostop do sistemov.
Povezal si se na strežnik, dobil terminal in delal.
Problem?
- uporabniško ime je bilo vidno,
- geslo je bilo vidno,
- ukazi so bili vidni,
- praktično vse je potovalo nešifrirano.
Danes bi varnostnik ob javno izpostavljenem Telnetu verjetno dobil trzanje očesa.
Kljub temu je Telnet pomemben del zgodovine in se še danes uporablja za preprosto testiranje TCP povezav.
rlogin, rsh in rexec – UNIX brez varnostne paranoje
Stari UNIX sistemi so imeli še svojo družino orodij:
- rlogin,
- rsh,
- rexec.
Ideja je bila podobna kot pri Telnetu: oddaljeno delo in izvajanje ukazov.
Varnost pa je bila za današnje standarde precej optimistična.
Kasneje je prišel SSH in praktično vse skupaj poslal v pokoj.
SSH – odrešitev administratorjev
SSH se je pojavil sredi devetdesetih in je hitro postal standard.
- šifrirana povezava,
- varna avtentikacija,
- tuneli,
- kopiranje datotek,
- oddaljena administracija.
Če danes administriraš Linux strežnike, je SSH skoraj zagotovo eno glavnih orodij.
In pravzaprav je precej lep primer, kako je internet počasi zamenjal filozofijo »zaupaj omrežju« z »raje šifriraj vse«.
FTP – kralj prenosa datotek
FTP je eden najstarejših internetnih protokolov.
Njegovi začetki segajo v zgodnja sedemdeseta leta.
Dolga desetletja je bil standard za prenos datotek med sistemi. Administratorji so ga uporabljali za:
- spletne strani,
- programsko opremo,
- arhive,
- backup datoteke,
- izmenjavo podatkov.
Danes je klasični FTP zaradi nešifrirane komunikacije manj zaželen, vendar koncept živi naprej v FTPS, SFTP in drugih sistemih.
TFTP – majhen, preprost in presenetljivo živ
TFTP je zelo poenostavljena različica prenosa datotek.
Nima prijave. Nima kompleksnosti. Nima skoraj ničesar.
In ravno zato še vedno živi.
Še danes ga srečamo pri:
- PXE bootu,
- switchih,
- routerjih,
- firmware nadgradnjah,
- mrežni opremi.
V svetu kompleksnih rešitev je včasih najbolj uporabna stvar tista, ki dela samo eno stvar.
SMTP – e-pošta iz osemdesetih, ki še vedno nosi svet
SMTP je bil standardiziran leta 1982.
In še vedno ga uporabljamo.
Vsak dan.
Povsod.
Seveda so skozi leta prišli:
- TLS,
- SPF,
- DKIM,
- DMARC,
- antispam sistemi,
- reputacijski sistemi.
Ampak jedro je še vedno SMTP.
Internetna pošta je kot star tovornjak, ki so mu skozi desetletja zamenjali motor, zavore, luči in navigacijo – šasija pa je še vedno ista.
POP3 in IMAP – dva različna pogleda na e-pošto
POP3 je bil narejen za čas, ko si pošto prenesel na računalnik in jo tam bral.
IMAP je prinesel drugačen pristop: pošta ostane na strežniku in se sinhronizira.
Danes je IMAP precej bolj naraven, ker imamo telefon, računalnik, tablico in spletni odjemalec.
POP3 pa je še vedno živ, predvsem v starejših sistemih in preprostih konfiguracijah.
HOSTS.TXT – ko je bil internet še dovolj majhen za eno datoteko
Pred DNS je obstajala datoteka HOSTS.TXT.
V njej so bili zapisani računalniki in njihovi naslovi.
Da, praktično kot današnji:
/etc/hosts
le da za celotno omrežje.
Ko je internet rasel, je postalo jasno, da to ne bo šlo.
Predstavljaj si današnji internet in eno centralno hosts datoteko.
Precej hitro bi postal zanimiv projekt.
DNS – telefonski imenik interneta
DNS je eden ključnih temeljev interneta.
Ko napišeš:
example.com
DNS poišče IP naslov.
Brez DNS-a bi si morali ljudje zapomniti IP naslove vseh strani.
Kar bi precej zmanjšalo priljubljenost interneta.
Gopher – splet, preden je splet postal splet
Pred eksplozijo WWW je bil zelo popularen Gopher.
Namesto grafičnih strani si imel hierarhične menije.
Izbral si možnost. Odprl dokument. Šel naprej.
Minimalistično, hitro in presenetljivo učinkovito.
Danes izgleda skoraj kot terminalska različica interneta.
Archie, Veronica in Jughead – iskalniki pred Googlom
Pred Googlom, Yahoojem in Altavisto so obstajali zelo simpatično poimenovani sistemi:
- Archie je iskal FTP arhive,
- Veronica je iskala po Gopherju,
- Jughead je bil še en Gopher iskalnik.
Internet je imel že zelo zgodaj isti problem kot danes: informacij je bilo preveč in nekdo jih je moral organizirati.
NNTP – ko so forumi živeli na Usenetu
Usenet je bil ena največjih skupnosti zgodnjega interneta.
Razprave so potekale v skupinah. Programerji, znanstveniki, hekerji, administratorji, študenti in hobisti so debatirali o vsem mogočem.
NNTP je bil protokol, ki je omogočal prenos teh novic.
V nekem smislu je bil Usenet predhodnik forumov, Reddita in velikih spletnih skupnosti.
Samo brez algoritma, ki ti servira mačke ob dveh zjutraj.
IRC – chat, ki noče umreti
IRC je nastal leta 1988.
In še vedno obstaja.
- kanali,
- nicki,
- operatorji,
- boti,
- ban liste.
Če si bil na internetu v devetdesetih ali zgodnjih 2000-ih, obstaja velika možnost, da si poznal IRC.
Deloval je hitro, preprosto in brez nepotrebnih animacij.
Finger – kdo je prijavljen?
Finger je omogočal vpogled v podatke o uporabnikih oddaljenega sistema.
Danes se to sliši kot nočna mora za zasebnost.
Takrat pa je bil internet manjši, bolj akademski in precej bolj zaupljiv.
Veliko prvotnih internetnih protokolov je nastalo v okolju, kjer uporabniki niso bili obravnavani kot potencialni napadalci.
To se je kasneje precej spremenilo.
NTP – ura, ki mora biti pravilna
NTP sinhronizira čas.
Morda se sliši banalno, ampak napačen čas na sistemu lahko povzroči:
- težave s certifikati,
- težave z logi,
- težave s Kerberosom,
- težave z avtentikacijo,
- težave pri replikaciji.
Včasih cel sistem razpada zato, ker je ura za pet minut mimo.
Klasika.
SNMP – monitoring, še preden je bil monitoring moderen
SNMP se uporablja za nadzor omrežnih naprav.
Routerji. Switchi. UPS-i. Strežniki. Printerji. Vse mogoče.
SNMPv1 je danes varnostno precej žalosten, SNMPv3 pa je bolj primeren za moderno okolje.
Zanimivo je, koliko današnjih modernih dashboardov še vedno v ozadju črpa podatke iz protokola iz osemdesetih.
RIP, OSPF in BGP – kako paketi najdejo pot
RIP je eden starejših routing protokolov.
Preprost. Skoraj naiven.
Kasneje so prišli bolj napredni sistemi, kot je OSPF.
Za internet pa je ključni BGP.
BGP danes povezuje ogromna omrežja med seboj in praktično odloča, po kateri poti bo promet potoval med operaterji.
Če BGP kihne, lahko polovica interneta dobi prehlad.
In ni tako daleč od resnice.
IPX/SPX, AppleTalk, NetBEUI in DECnet
TCP/IP nekoč ni bil edini kralj.
- Novell NetWare je uporabljal IPX/SPX,
- Apple je imel AppleTalk,
- Microsoft in IBM sta uporabljala NetBIOS in NetBEUI,
- DEC je imel DECnet.
Vsak proizvajalec je imel svoj ekosistem.
Danes se zdi samoumevno, da skoraj vse govori IP.
Nekoč pa si moral znati precej več različnih omrežnih jezikov.
SMB in NetBIOS – Windows nostalgija
Če si administriral stare Windows mreže, poznaš:
- NetBIOS,
- WINS,
- SMB,
- CIFS,
- LMHOSTS.
SMBv1 je danes varnostni problem in ga praviloma ne želiš nikjer več.
V devetdesetih pa je bil osnova za deljenje map, printerjev in vsega drugega.
SLIP in PPP – internet skozi telefonsko linijo
Pred broadband povezavami smo imeli dial-up.
Modem je poklical ISP. Potem se je povezava vzpostavila. In takrat si lahko dobil internet.
SLIP je bil starejši in preprost. PPP je bil naprednejši in je postal standard.
Za mlajše generacije je težko razložiti, da si nekoč moral čakati, da modem »pokliče internet«.
In da je bila linija zasedena, če je nekdo telefoniral.
XMODEM, YMODEM, ZMODEM in Kermit
Preden je bil internet povsod, so ljudje datoteke pošiljali tudi prek modemskih povezav in BBS sistemov.
Tu so bili popularni:
- XMODEM,
- YMODEM,
- ZMODEM,
- Kermit.
ZMODEM je bil posebej priljubljen, ker je bil relativno hiter in zanesljiv.
Danes 100 MB prenesemo v nekaj sekundah.
Takrat si pri večji datoteki lahko mirno šel po kavo.
Ali na kosilo.
Ali oboje.
Zakaj so ti stari protokoli še danes zanimivi?
Ker pokažejo, da internet ni nastal čez noč.
Gradil se je plast za plastjo.
Nekateri protokoli so propadli. Nekateri so bili zamenjani. Nekateri pa so tako dobro zasnovani, da jih uporabljamo še danes.
- TCP,
- UDP,
- IP,
- DNS,
- SMTP,
- NTP,
- BGP.
Vsi imajo korenine desetletja nazaj.
Sodobni internet je zelo moderen na površini, pod njim pa je ogromno zelo stare tehnologije.
In to ni nujno slabo.
Če nekaj deluje štirideset let, je verjetno nekaj narejeno prav.
Internet je bil nekoč bolj preprost – in bolj nevaren
Stari internet je imel poseben čar.
- manj grafike,
- manj sledilcev,
- manj aplikacij,
- več terminalov,
- več eksperimentiranja,
- in precej manj varnosti.
Takrat si moral poznati ukaze, razumeti protokole in velikokrat dejansko vedeti, kaj se dogaja v ozadju.
Danes je internet prijaznejši do uporabnika.
Stari internet pa je bil prijaznejši do radovednežev.
In prav zato je še vedno tako zanimiv.
Kratka časovnica internetnih protokolov
- 1969 – ARPANET
- 1971 – FTP
- 1970. leta – NCP, Telnet, UUCP
- 1980 – UDP
- 1981 – IPv4 in ICMP
- 1982 – SMTP
- 1983 – prehod ARPANET-a na TCP/IP in razvoj DNS
- 1984 – DNS se začne širše uporabljati
- 1985 – NTP
- 1986 – IMAP
- 1988 – IRC in SNMP
- 1989 – BGP
- 1991 – Gopher in začetek WWW
- 1993–1995 – eksplozija spleta
- 1995 – SSH
- 1996 – HTTP/1.0
- 1997 – HTTP/1.1
- kasneje – IPv6, TLS, HTTP/2, QUIC in HTTP/3
In danes?
Še vedno pingamo.
Še vedno resolvamo DNS.
Še vedno pošiljamo SMTP.
Še vedno routamo z BGP.
In še vedno se kdaj zgodi, da stvar ne dela, dokler nekdo ne reče:
»Si probal restartat mrežo?«
Nekatere stvari se res ne spremenijo.