Dok tu malo listam teme, primijetio sam da dosta ljudi nije jesno što router uopće je i čemu služi. Stoga odlučih napisati par tekstova o tome što je router i kako radi. Možda se ovo vremenom razvije u nešto naprednije, općenito oko mrežnih tehnologija i best practices konfiguracija. Za sve one koji će napomenuti da server = poslužitelj ili switch = preklopnik, dabog da vas i lingviste koji izmišljaju sranja pogodio 48 portni PoE preklopnik dok pada s 2. kata. Ako je potrebno neki dio bolje objasniti ili ako sam pak previše zalutao u apstrakciju slobodno to napomenite.
Prvo što bi napomenuo je kad napišem router, mislim na vulgaris t-šrot ZTE i slično.
Dakle prije nego krenemo, osnovni protokol za komuniciranje na internetu je TCP/IP protokol. Trenutna verzija koju koristimo je IPv4, postoji i IPv6, ali pošto to još nije zaživjelo kako je trebalo, fokusirat ćemo se na IPv4. Skraćenica TCP/IP znači Transmission Control Protocol/Internet Protocol. I zapravo definira na koji način se podaci za komunikaciju na internetu pretvaraju u pakete, šalju, primaju, route-aju, adresiraju.
Dvije jako važne adrese su IP adresa i MAC adresa. MAC adresa je fizička adresa, svaki uređaj koji ima mogućnost spajanja na mrežu prilikom proizvodnje dobije unikatnu MAC adresu, adresa se sastoji od šest setova po dva karaktera odvojenih dvotočkom („:“).
Primjer: 00:14:22:9d:68:16
Bitno za zapamtiti je to da je to adresa koja je zapisana u samom hardveru mrežnog sučelja, dakle fizička adresa uređaja (NIC, eng. Network Interface Controller), dok je IP adresa logička adresa.
Sad bi netko postavio pitanje zašto nam treba IP adresa kad su MAC adrese unikatne i svaki uređaj ih ima. Razloga je nekoliko, jedan od najvažnijih je taj što IP adrese drže mrežu organiziranom, ako preseliš računalo u neku drugu državu, cijeli Internet bi trebao saznati da je to računalo sada tamo i kako doći do njega. Preko IP mreže, računalo će dobiti novu IP adresu za koju ostala računala znaju kako doći do nje. Dalje… mobiteli recimo ne koriste MAC adresu za komunikaciju u samoj mobilnoj mreži, ona se bazira IMEI standardu, naravno da će telefon sa WiFi-jem imati MAC adresu, ali za komunikaciju unutar mobilne mreže koristiti će IMEI. Zato IP mreža ne koristi MAC adresu, te IP protokolu nije bitno s koje MAC adrese je poslan paket.
Da ne kompliciramo previše, IP paketi koji putuju internetom imaju upisanu adresu odakle su poslani i adresu kamo trebaju stići, te poruku koju šalju. Same adrese se sastoje od četiri broja odvojenih točkom. Svaki broj može imati vrijednost od 0-255.
IP adrese se dijele na dvije bitne kategorije. Javna i privatna. U samom protokolu je zamišljeno da će postojati privatni range IP adresa. U narodu bolje znane kao 192.168.x.x, postoje tri range-a privatnih IP adresa, a to su :
- 192.168.0.0 - 192.168.255.255
- 172.16.0.0 - 172.31.255.255
- 10.0.0.0 - 10.255.255.255
I napokon dolazimo do routera…. Danas za pristup internetu postoji pojam „router“, to je zapravo jedan uređaj koji radi više stvari odjednom. Za nabrojati sve stvari trebalo bi podosta, ali ajmo uzet najjednostavniji model.
Prvo što je bitno kod routera je to da on ima dvije IP adrese. Jedna je javna, dok je druga privatna. Uz to:
- Router je (obično) i switch
- Radi NAT (Network Address Translation)
- Firewall
- DHCP server
- Obično radi i cache DNS-a
Dovoljno za zapamtiti je da switch radi na način da povezuje dva mrežna uređaja spojena na njega. U detalje ću opisati u drugom postu.
Dakle router kao što smo spomenuli ima dvije adrese, time možemo podijeliti strukturu na WAN i LAN. WAN bi bilo mjesto preko kojeg je povezan na Internet i ima javnu IP adresu. LAN bi bio skup mrežnih sučelja di je dostupna privatna IP adresa.
Funkcija routera koja omogućava tranziciju između javnih i privatnih adresa zove se NAT. Dakle imamo računalo na mreži, na njemu se napiše www.bug.hr u nekom od internet browser-a, to računalo šalje „poruku“ da treba informacije sa servera na kojem se nalaze bugove stranice. Pošto računalo ima privatnu adresu, bugov server ne bi znao di poslati odgovor. Stoga router zamjeni dio IP paketa u kojem piše odakle, s koje adrese je paket poslan i tamo upiše javnu IP adresu routera, bug server dobiva taj paket i vraća odgovor routeru, router sada mora zamijeniti dio IP paketa u kojem piše IP adresa di taj paket mora biti dostavljen, tamo upisuje privatnu adresu računala, te računalo dobiva odgovor od servera.
Ako je ovo teško za shvatiti, možda pomogne ova slikica:
I sad bi netko postavio pitanje, zašto nam treba NAT, zar nije moguće kao kod MAC adresa, da svako računalo ima unikatnu IP adresu, odgovor je zato jer nema dovoljno IP adresa. IPv4 ima oko 3.7 milijardi javnih adresa. To nije niti približno dovoljno za sve uređaje. U svijetu trenutno ima oko 2.5 milijardi smartphone-a. Puno IP adresa otpada na samo infrastrukturu interneta. Razni serveri i slično. Uz to treba napomenuti da ljudi danas koriste barem četiri uređaja koji su spojeni na net. Računalo doma, računalo na poslu, vlastiti i službeni mobitel. U to sve treba ubrojiti SmartTV, konzole, razne druge pizdarije koje se povezuju na Internet. Trenutno imam rezervirano 14 privatnih IP adresa, u stanu di živi dvoje ljudi.
Iako NAT sam po sebi štiti od upada u privatnu mrežu jer propušta samo konekcije iz privatne mreže van, te iz interneta u privatnu mrežu samo već uspostavljene konekcije. Potreban je i firewall.
Funkcija firewall-a je da štiti privatnu mrežu od pokušaja napada koji dolaze izvana.
Sam firewall ću napisati u detalje u nekom od slijedećih postova.
DHCP server dodjeljuje uređajima u privatnoj mreži IP adrese. Osnovne stvari koje je bitno znati je IP pool iz kojeg dodjeljuje adrese, odnosno na nekim routerima DHCP range.
Ako imamo slobodne sve adrese od 192.168.0.2 do 192.168.0.254 (192.168.0.1 je adresa routera), najbolje je DHCP pool staviti da ima 100tinjak adresa na raspolaganju, recimo 192.168.0.100 – 192.168.0.200. Tako da adrese od 2 do 99 ostanu za neke druge potrebe. Tipa postavljanje fiksne IP adrese na računalu zbog port forwardinga.
Osim dodjeljivanja same IP adrese DHCP server daje netmask podatke, poznatije u windowsima kao subnet maska. Daje podatke o DNS serverima i koji je Default Gateway.
Opet… detaljnije objašnjenje o subnet maskama i DHCP serveru i DNS-u u jednom od slijedećih postova.