Zadnjih 30-tak godina svjedočimo stalnom rastu i razvoju Interneta kao i razvoju različitih tehnologija (žičnih i bežičnih) za pristup na Internet. Sve je počelo od umrežavanja sveučilišta i znanstvenih institucija (na CERN-u je 1991. nastao najpoznatiji servis „www“ kojeg mnogi poistovjećuju sa Internetom iako je to samo jedan od servisa na Internetu), preko umrežavanja velikih poslovnih subjekata, državnih institucija, pa u drugoj polovici 90-tih i umrežavanje kućnih računala.
Danas nam je pak nezamislivo biti bez pristupa Internetu, sav poslovni i privatni svijet se umrežio i prebacio na online pritom koristeći brze pristupe mreži (4G, vDSL, optika – nažalost u RH samo najveća urbana područja imaju ovaj pristup, dok veći dio stanovnika se mora zadovoljiti ADSL-om s početka 2000-tih ili 3G mrežom, al to je tema za neki drugi zaseban post).
Razvoj tehnologije je toliko brz da nam vrlo skoro mogućnosti i kapaciteti 4G mreže neće biti dovoljni te se već za 2020. godinu najavljuju prve komercijalne upotrebe Pete generacije (5G) mobilnih mreža (očekuje se da će tada preko 30 milijardi različitih uređaja i senzora biti spojeno na Internet mobilnom mrežom).
HTTP i DNS
Dva ključna protokola za ovakav brzi razvoj Interneta su Hypertext Transmission Protocol i Domain Name System. HTTP omogućuje web pregledniku (Chrome, Mozilla, IE, Opera,..) na našim uređajima komunikaciju sa bilo kojim web serverom u svijetu. DNS s druge strane obavlja jedan jako koristan zadatak koji nama ljudima daje ovu komociju surfanja Internetom, a to je prevođenje url-a kojeg unosimo u web preglednik npr. www.google.hr u IP adresu koju koristi stroj (mrežni uređaj).
HTTP protokol je javno predstavljen 1999. godine od strane IETF-a (Internet Engineering Task Force) iako je njegov eksperimentalni razvoj započeo još 1990. godine u CERN-u i tih je godina krenuo nagli rast broj web stranica.
DNS protokol je stariji protokol od HTTP-a i od strane IETF-a je javno objavljen još 1987. godine, a koristio se prije ere web stranica za prevođenje email adresa u IP adrese (email je također jedan od starijih Internetskih servisa iz 80-tih godina). Naravno, tokom ovih zadnjih 20-30 godina i ovi protokoli su doživjeli izmjene i nadogradnje kako bi odgovarali potrebama današnjeg Interneta .
Budućnost HTTP-a i DNS-a u 5G mreži
Milijarde uređaja i senzora koji su trenutno umreženi (iz godine u godinu ta brojka eksponencijalno raste) zahtijevaju stalan razvoj hardware-a (5G radio interface) i software-a (mrežni protokoli) kako bi odgovorili na sve veće zahtjeve za propusnošću (bandwidth), brzinom (throughput) i smanjenjem kašnjenja IP paketa (latency). IETF i Google razvijaju novi transportni protokol za HTTP koji su nazvali QUIC „Quick UDP Internet Connections“ koji je trenutno u eksperimentalnoj fazi. QUIC bi trebao u 5G mreži u potpunosti zamijeniti dosadašnji transportni proces za HTTP koji je vezan uz TLS i TCP protokole. TCP (Transport Control Protocol) je kompleksan protokol koji se izvršava u kernelu hosta (PC , server, mobitel) i zadužen je za kontrolu toka paketa između dva krajnja sistema (npr. arhitektura server-klijent ili peer-to-peer).
Također TCP je poznat kao spojni protokol koji prvo uspostavlja virtualnu vezu između dva krajnja sistema (tzv. 3-way handshake) i ima složene algoritme za kontrolu zagušenja (windowing) i kontrolu toka. TLS je zadnja verzija protokola koji brine o sigurnosti HTTP prometa na način da radi enkripciju prometa temeljenu na PKI infrastrukturi (to je ono što u web pregledniku vidimo kao https i možemo pogledati validnost certifikata što nam jamči autentičnost i integritet komunikacije sa serverom). Sve ove značajke TCP+TLS s jedne strane donose sigurnost u isporuci paketa i komunikaciji server-klijent ali s druge strane donose i značajnu latenciju odnosno kašnjenje u isporuci IP paketa. TCP je vrlo stari protokol razvijan još u 70-tim godinama 20. st. kada nisu postojale niti naznake za razvoj ovakvog mobilnog pristupa kakvog imamo danas.
Samim time specifikacije TCP protokola su rađene za statičke nodove žičano umrežene. Upravo je ovaj segment latencije ključan za mobilne mreže, s obzirom da su korisnici mobilne mreže uglavnom u pokretnu (bilo da hodate po cesti s mobitelom ili se vozite u automobiliu ili javnom prijevozu). To znači da korisnici mobilne mreže izlaze iz kruga pokrivenosti signalom jedne bazne stanice i ulaze u područje druge bazne stanice. Ti prelasci signala iz jednog područja bazne stanice u područje druge bazne stanice znače da će se korisniku dogoditi i prekid TCP sesije, a uspostava nove može potrajati zbog naprijed opisane složenosti samog protokola i načina na koji radi. Zbog ovih navedenih problema prije razvoja hardware-a za 5G mrežu potrebno je nači nova rješenja koja bi zadržala sigurnost TCP-TLS protokola ali značajno smanjila latenciju i bila prilagođena za nove generacije mobilnih mreža. IETF i Google još od 2012. godine rade na razvoju QUIC-a kako bi zadovoljili ove zahtjeve.
To će postići na dva načina:
1. Quick će biti na aplikativnom sloju OSI modela kao sastavni dio browsera (Chrome i Opera već ga koriste kao eksperiment), brinut će o sigurnosti i enkripciji prometa te kontroli toka, smanjit će RTT na način da će u prvom inicijalnom paketu poslati informacije potrebne za uspostavu sesije.
2. Na transportnom sloju će koristiti UDP (User Datagram Protocol) koji je mnogo jednostavniji od TCP-a, bezspojni protokol koji ne brine o uspostavi sesije niti posjeduje mehanizme za kontrolu toka i zagušenja.
Quic je za sada još uvijek u eksperimentalnoj fazi ali se očekuje da bi tokom 2018. godine mogao biti i službeno predstavljen od strane IETF-a kao RFC.
Kao i HTTP potrebno je unaprijediti i DNS za nove mobilne mreže. Klasični DNS zahtijeva dosta ručnog podešavanja kako na serveru tako i na klijentima te je po svojoj arhitekturi građen hijerarhijski i podržava samo unicast pakete. IETF je 2013. godine objavio novi mehanizam nazvan DNS-SD (Service Discovery) koji proširuje način korištenja DNS-a. Konkretno omogućuje klijentima čiji operativni sustavi podržavaju DNS-SD (Mac, razne distribucije Linuxa i Microsoft tek sa zadnjom verzijom Win10) slanje multicast paketa sa DNS PTR zapisom u kojem šalje upit (query) za servisom. Na taj način uređaji bez potrebne prethodne konfiguracije se mogu međusobno prepoznavati i dijeliti servise po principu peer-to-peer što je iznimno važno za razdoblje IoT.