Bojan Dančuo
Internet u kući
Na Internetu svi računari su istovremeno deo jedne globalne mreže. Da bi uopšte bili u mogućnosti da nađu druge i budu pronađeni, moraju da poseduju jedinstvenu IP (Internet Protocol) adresu. Trenutno aktuelan IP verzije 4 (IPv4) definiše IP adresu sa 32 bit-a i obično se zapisuje u obliku četiri broja od 0 do 255 odvojenih tačkama (npr. 77.105.31.31). Ako ste trenutno povezani na Internet, sigurno posedujete i IP adresu, koju možete veoma lako saznati ako recimo odete na http://www.whatismyip.com/. Ta IP adresa je javna ili spoljna IP adresa vašeg računara i ostali računari na Internetu će moći da vas pronađu preko nje. Pošto smo ustanovili da je IP adresa neophodna za funksionisanje Internet konekcije, razmotrimo sada kako računar tu IP adresu dobija.
Dodeljivanje IP adrese
Kada Internet provajder pribavi blok adresa od nadležne organizacije, on može da dodeli pojedinačne IP adrese korisnicima kojima pruža uslugu provajdinga. Računar može da dobije IP adresu na sledeća dva načina:
Ručno konfigurisanje – Korisnik ručno konfiguriše IP adresu računara. Ovaj način konfigurisanja se nikada ne koristi u kućnoj mreži za računar ili ruter koji je direktno povezan sa Internet provajderom, već samo u slučaju da je deo LAN-a.
Protokol za dinamičko konfigurisanje računara (DHCP, Dynamic Host Configuration Protocol) – DHCP omogućava računaru da dobije automatski IP adresu, kao i da sazna dodatne informacije kao što je adresa njegovog rutera (gateway) i adresa DNS servera.
DHCP je „plug-and-play“ protokol i ima široku primenu u kućnim mrežama, kao i u bežičnim LAN-ovima gde računari često pristupaju mreži i napuštaju je.
Mrežni administrator može da konfiguriše DHCP tako da određeni računar dobije stalnu IP adresu, tj. da mu se svaki put kada pristupi mreži dodeli ista adresa. DHCP se često koristi i u slučaju kada organizacija nema dovoljno IP adresa, pa se onda putem DHCP-a svakom računaru dodeli privremena IP adresa koja se oslobodi kada on više nije na mreži. Drugi značajan razlog za njegovu široku primenu je pojava mobilnog računarstva, gde korisnici sa svojim laptopovima često menjaju lokaciju i pristupaju raznim mrežama gde im je potreban pristup samo dok su fizički tamo prisutni.
Gateway i DNS
Pored IP adrese, neophodni parametri koje računar mora posedovati da bi bio u mogućnosti da pristupi Internetu su adrese gateway i DNS servera.
Gateway je računar ili ruter koji služi kao most ka ostatku Interneta, tj. prosleđuje zahteve od računara kojem je gateway ka sledećem višem čvoru u hijerarhiji, na putanji do ciljnog računara. Bez definisanog gateway-a, računar ne zna kome da prosledi pakete koji su upućeni na adresu van LAN-a.
DNS (Domain Name System) serveri omogućavaju računaru da razreši simbolička imena (www.google.com npr.) i pretvori ih u IP adresu na koju se onda može proslediti zahtev sa korisničkog računara. Pošto IP protokol interno barata samo numeričkim IP adresama, on nikako ne može da zna šta www.google.com znači ako o tome ne upita neki DNS server i dobije od njega „prevod“. U slučaju da računar ima definisan gateway, ali ne i DNS server, njegova mogućnost pristupa sadržaju Interneta je veoma ograničena osim ako vi ne znate na pamet da mu ukucate da se Google nalazi na adresi 216.239.59.147.
Ako vas zanima koja IP adresa stoji iza nekog simboličkog imena, to vrlo lako možete saznati koristeći komandu PING u komandnoj liniji. Ovako recimo izgleda PING Google-a:
Treba napomenuti da Google koristi više servera koji koriste istu simboličku adresu zbog raspodele opterećenja, pa je vrlo moguće da ćete dobiti različite IP adrese kada ponovite PING više puta.
Prevodioci mrežnih adresa (NAT-ovi)
U trenutnom sistemu provajdinga u IPv4 okruženju, onog momenta kada postoji više od jednog računara u kućnoj mreži jedna IP adresa koja je dodeljena korisniku prestaje da bude dovoljna i na scenu stupa tzv. NAT (Network Adress Translation). Pre nego što nastavimo neophodno je da razjasnimo šta tačno NAT predstavlja.
Svaki uređaj sposoban za IP mora da ima IP adresu. S obzirom na sve veći broj takvih uređaja i postojanje ogromnog broja podmreža čak i u kućnim varijantama, vrlo brzo bi došlo do problema sa podelom raspoloživih IP opsega zbog ograničenja broja adresa u IPv4. Tu na scenu stupa NAT. U standardnoj kućnoj mreži samo jedan ruter ili računar koji se ponaša kao ruter ima pravu „Internet“ IP adresu, dok svi ostali računari u LAN-u po pravilu imaju jednu od adresa koje pripadaju adresnom prostoru rezervisanom za privatne mreže.
Privatne mreže
veličina bloka
IP adrese
broj adresa
subnet
24-bitni blok
10.0.0.0 – 10.255.255.255
16.777.216
10.0.0.0/8
20-bitni blok
172.16.0.0 – 172.31.255.255
1.048.576
172.16.0.0/12
16-bitni blok
192.168.0.0 – 192.168.255.255
65.536
192.168.0.0/16
Adrese u okviru lokalne mreže iza NAT-a znače nešto samo drugim računarima u okviru te mreže. Čim se izađe van granica lokalne mreže u globalni Internet, te adrese više ne mogu da se koriste ni kao adresa izvorišta ni kao adresa odredišta pošto ima stotine hiljada mreža koje koriste te blokove adresa. Kako se onda sprovodi adresiranje ako se paketi šalju u globalni Internet ili se primaju sa Interneta gde su adrese obavezno jedinstvene? Odgovor se nalazi u NAT prevođenju.
NAT ruter za spoljni svet ne izgleda kao ruter. Umesto toga, NAT ruter se prema spoljnom svetu ponaša kao jedan uređaj sa jednom IP adresom. U suštini, NAT ruter krije detalje kućne mreže od spoljašnjeg sveta. Računari u kućnoj mreži, a i ruter, u tom slučaju najčešće dobijaju IP adresu putem DHCP-a. Ruter dobija svoju adresu od DHCP servera ISP-a, a ruter se onda ponaša kao DHCP server koji obezbeđuje adrese za računare u adresnom prostoru kućne mreže pod kontrolom NAT DHCP rutera. Kako onda ruter zna kom internom računaru treba da prosledi dobijeni paket ako svi paketi koji do NAT rutera stižu iz regionalne mreže imaju istu IP adresu odredišta (adresu interfejsa NAT rutera prema regionalnoj mreži)? Trik je u korišćenju NAT tabele prevođenja u NAT ruteru i u tome da se u stavke tabele osim IP adresa dodaju i brojevi portova.
Uzmimo za primer da korisnik sedi za računarom 192.168.0.2 u kućnoj mreži i zatraži web stranicu od nekog web servera (port 80) sa IP adresom 128.119.40.186. Računar 192.168.0.2 dodeljuje (proizvoljan) broj izvornog porta 3345 i salje paket u LAN. NAT ruter prima paket, pravi novi broj izvornog porta 5001 za njega, zamenjuje izvornu IP adresu svojom IP adresom za WAN 138.76.29.7 i zamenjuje broj izvornog porta 3345 sa 5001. Kada pravi novi broj izvornog porta NAT ruter može da izabere bilo koji broj izvornog porta koji se trenutno ne nalazi u NAT tabeli prevođenja. (Obratite pažnju na to da pošto polje za broj porta ima 16 bitova, protokol NAT može da podrži preko 60.000 istovremenih konekcija sa jednom WAN IP adresom tog rutera!) NAT u ruteru takođe dodaje stavku u svoju NAT tabelu prevođenja. Web server, u blaženom neznanju da je pristigli paket koji sadrži HTTP zahtev prepravljen u NAT ruteru, odgovara paketom čija je odredišna adresa IP adresa NAT rutera, a odredišni port mu je 5001. Kada taj paket stigne u NAT ruter, ovaj pomoću odredišne IP adrese i broja porta u svojoj NAT tabeli prevođenja pronalazi odgovarajuću IP adresu (192.168.0.2) i odredišni broj porta (3345) za čitač u kućnoj mreži. Ruter tada u paketu prepravlja odredišnu adresu i odredišni broj porta i prosleđuje paket u kućnu mrežu.
NAT ima široku primenu poslednjih godina, mada ima i velikih nedostataka. Za početak, u svojoj osnovnoj zamisli, portovi su namenjeni adresiranju procesa, a ne adresiranju računara. Ovo može dovesti do problema za servere koji se izvršavaju u kućnoj mreži, pošto serverski procesi čekaju dolazne pozive na dobro poznatim brojevima portova. Drugo, računari bi trebalo direktno međusobno da komuniciraju, a ne da usputni čvorovi menjaju IP adrese i brojeve portova. I treće, nedostatak IP adresa bi trebalo rešavati primenom IPv6, a ne krpiti rupe putem štapa i kanapa koje u ovom slučaju predstavlja NAT. Ipak, sviđalo se to nama ili ne, NAT je postao značajna komponenta Interneta.
Još jedan veliki problem sa NAT-om je da on ometa P2P aplikacije, jer u P2P aplikaciji svaki ravnopravni učesnik mora biti u stanju da inicira TCP konekciju sa bilo kojim drugim učesnikom. Suština problema je da učesnik iza NAT-a ne može da preuzme ulogu servera i prihvata TCP konekcije, osim ako je NAT posebno konfigurisan za P2P aplikacije). Ovaj NAT problem se može prevazići ako se koristi treći posrednik u komunikaciji koji nije iza NAT-a za uspostavljanje inicijalne konekcije, ali to je prilično nezgrapno rešenje.
Problem P2P i sličnih aplikacija koje zahtevaju korišćenje određenog porta se u kućnim mrežama obično rešava tako što se fiksira lokalna IP adresa jednog od računara u LAN-u (bilo ručnim definisanjem, bilo rezervacijom na DHCP serveru) koji je predviđen da koristi te usluge, a zatim se na ruteru podesi port forwarding (često se sreće i termin virtual server) koji pakete koji stižu na određeni port spoljne IP adrese prosleđuje direktno do tog računara u LAN-u.
Karakteristične konfiguracije kućnih mreža
Razmotrićemo sada neke od hipotetičkih situacija slične onima sa kojim kućni korisnik može da se sretne ako želi da pristupi Internetu.
Situacija 1 – Najprostiji slučaj. Postoji samo jedan računar koji je direktno povezan sa ADSL ili kablovskim modemom USB ili LAN vezom. U ovom slučaju ne postoji NAT, osim ako ga sam provajder ne primenjuje, računar ima javnu IP adresu (recimo 79.175.65.20 u ovom slučaju) i pod uslovom da ih firewall ne blokira, sve aplikacije će raditi normalno, uključujući i P2P.
Situacija 2 – Ako imate dva računara u kući, a ne želite da ulažete novac u ruter, moguće je iskoristiti opciju koju windows poseduje, a koja se zove Internet Connection Sharing (naravno, može se iskoristiti i neki drugi softver koji radi rutiranje) i koji pretvara PC 1 računar u ruter. Microsoft-ova implementacija ICS-a podrazumeva da PC 1 na neki način ostvaruje vezu sa Internetom, uglavnom modemom preko USB ili LAN porta (ako PC 1 ima dve LAN karte), dok onda LAN adapter PC 1 računara dobija lokalnu adresu 192.168.0.1 i može da služi kao gateway i DNS server ostalim računarima u LAN-u. PC 1 u tom slučaju radi kao NAT ruter, a istovremeno i kao DHCP server.
Na PC 2 računaru nije neophodno vršiti bilo kakva podešavanja i on bi trebalo automatski da dobije IP adresu iz lokalnog opsega, kao i podatke o gateway-u i DNS-u. Ukoliko ipak želite, možete mu dodeliti statičku IP adresu koja bi izgledala slično ovome:
Gateway je 192.168.0.1, što je adresa LAN adaptera PC 1 računara, dok DNS može biti isto IP adresa PC 1 računara, ali i adresa DNS servera provajdera ili nekog od besplatnih javnih DNS servera. Za direktnu vezu između PC 1 i PC 2 računara bez posredstva switch-a potrebno je imati tzv. cross-linked ethernet kabl, mada u slučaju novih gigabitnih mrežnih adaptera to nije neophodno jer oni sami mogu da se prekonfigurišu po potrebi.
PC 2 računar u ovom slučaju neće moći da koristi P2P programe bez restrikcija, a postojaće problemi i u slučaju hostovanja game servera i sličnih aplikacija jer PC 2 nije direktno vidljiv sa Interneta već se sva komunikacija sa spoljnim svetom obavlja preko NAT servera na PC 1 računaru. Takođe, ako se PC 1 iz nekog razloga isključi, PC 2 računar više neće imati pristup Internetu.
Situacija 3 – Ovde imamo četiri računara i između njih ethernet switch koji ih sve povezuje međusobno. Još uvek je moguće koristiti PC 1 kao zamenu za ruter i omogućiti ostalim računarima izlazak na Internet preko njega. PC 2, 3 i 4 računari su dobili adrese iz 192.168.0.xxx opsega koje im je DHCP na PC 1 računaru dodelio, gateway im je 192.168.0.1 tj. lokalna IP adresa PC 1, dok je DNS server kao i u prethodnoj situaciji adresa PC 1 ili adresa DNS servera provajdera ili nekog javnog DNS servera na Internetu.
PC 2, 3 i 4 računari će imati problema sa P2P softverom, kao i u prethodnom slučaju, a čim PC 1 računar nije uključen cela mreža gubi pristup Internetu. Ovakva konfiguracija je više tu kao primer, ali u bilo kojoj realnoj situaciji koja podrazumeva više od 2 računara mnogo je bolje rešenje ubaciti pravi ruter kao samostalni uređaj.
Situacija 4 – Umesto PC 1 računara koji glumi ruter, sada je u pitanju pravi nezavistan mrežni uređaj koji je u isto vreme i switch i čini jezgro mreže od 4 računara. U ovom slučaju ruter dobija spoljnju IP adresu od provajdera, dok PC 1, 2, 3 i 4 računari dobijaju lokalne IP adrese od DHCP servera u ruteru. Moguće je naravno ručno odrediti IP adresu bilo kom od lokalnih računara sve dok ne postoje dva sa istom adresom, što bi dovelo do IP konflikta i onemogućilo oba računara da koriste mrežu dok se konflikt ne razreši.
Gateway PC 1, 2, 3 i 4 računara je LAN adresa rutera (192.168.0.1), dok je DNS server ili ruter ili neki od provajderovih DNS-ova. Pošto više ni jedan računar nema svoju spoljnju IP adresu, da bi se koristili P2P programi bez restrikcija neophodno je propustiti određeni port na ruteru do lokalnog računara (port forwarding). Svaki P2P program ima definisan port na kome radi, koji se često može i menjati, pa je tako čak moguće podesiti različite portove na različitim računarima i tako omogućiti svakom računaru u LAN-u da koristi P2P samo na različitim portovima. U zavisnosti od mogućnosti podešavanja na ruteru, pošto ne neophodno da ruter zna na koju adresu će proslediti neki port, možda će biti neophodno podesiti statičku IP adresu računaru ili je rezervisati u podešavanjima DHCP servera u ruteru.
Situacija 5 – Najpraktičnije i najfleksibilnije rešenje, pogotovo u slučaju da posedujete barem jedan laptop u kući jeste nabavka wireless rutera ili u slučaju našeg primera ADSL wireless rutera koji onda zamenjuje i eksterni modem, tako eliminišući potrebu za bilo kakvim dodatnim uređajima. U primeru sada imamo pored PC 1, 2, 3 i 4 računara i laptop koji komunicira sa ruterom bežičnim putem.
Sva podešavanja su identična kao u prethodnoj situaciji, sa jedinom razlikom koja se ogleda u potrebi kreiranja bežične konekcije na laptopu kada se prvi put prijavi u mrežu. Ako na ruteru nije podešena nikakva enkripcija i ograničenje pristupa, onda se konektovanje svodi na jedan klik, ali to je praksa koju nikako ne preporučujemo. Izuzetno je bitno uključiti WPA enkripciju i podesiti neki malo kompleksniji ključ za zaštitu pristupa, inače ćete vrlo brzo imati nezvane goste u svojoj bežičnoj mreži. Kao i u prethodnom primeru, za nesmetano korišćenje P2P programa, podizanje game servera ili korišćenje neke slične aplikacije ili servisa neophodno je uraditi port forwarding. Sjajna stvar je što se dodavanje još jednog laptopa ili nekog drugog bežičnog uređaja svodi opet samo na kreiranje konekcije bez potrebe za bilo kakvim dodatnim zahvatima na infrastrukturi.
Pogledajmo sada kako izgleda i radi jedan od modernijih wireless rutera trenutno u ponudi…
DLink DIR-855
DLink DIR-855 je wireless ruter najnovije generacije sa očiglednom ciljnom publikom među zahtevnijim kućnim i SOHO korisnicima gde bi bio osnovni gradivni element multimedijalnog centra koji bi spajao sve uređaje u jednu celinu.
Ruter podržava dual-band mod rada gde koristi istovremeno i 2.4 GHz i 5 GHz frekventne opsege, praktično pokrivajući sve postojeće wireless standarde 802.11 b, g i n na 2.4 GHz i 802.11 a i n na 5 GHz. Zbog principa rada 802.11 n i omogućavanja većih brzina poseduje sada već uobičajene tri antene koje su montažne i po potrebi se mogu zameniti većim, dok sa prednje strane ima interesantno rešen LED displej preko koga je uz par kontrolnih tastera moguće doći do velikog broja informacija o trenutnom stanju rutera. Gigabitni WAN i četiri gigabitna LAN porta čine jako dobru bazu za modernu multimedijalnu mrežu. USB port služi za Windows Connect Now tehnologiju koja omogućava da se preko USB memorije prenesu podešavanja sa WCN sposobnog klijenta i automatski podese parametri za rad sa njim. Šteta je što taj isti USB ne može da se koristi za usluge print servera ili mrežnog diska.
Napomena: Naknadno, pošto smo već završili testiranje, saznali smo od firme D-Link da ovaj ruter podržava tzv. Shareport tehnologiju koja omogućava da se na njegov USB port poveže printer ili USB storage uređaj kome je onda moguće pristupiti sa bilo kog računara u mreži, tako da je od opcije koja će verovatno biti retko korišćena i ne preterano korisna, USB port na ovom ruteru dobio sasvim novu vrednost. U uputstvu koje je došlo uz ruter taj vid upotrebe USB porta se ne pominje i očigledno je dodat naknadno u nekoj od revizija firmvera. Nadogradnja firmvera je srećom veoma jednostavna, pa ako dođete u posed rutera sa starijom verzijom nikako nemojte propustiti da je osvežite. Ovime jedina prava kritika ovog rutera više ne stoji i pozdravljamo ažurnost D-Link tima koji je vrlo brzo dodao ovu vrlo korisnu mogućnost.
Podešavanje je moguće vršiti preko softvera koji dolazi na pratećem CD-u ili preko web interfejsa na default 192.168.0.1 IP adresi. Sve moguće kombinacije parametara za kablovske i ADSL konekcije su podržane uz opciju kloniranja MAC adrese računara ako je provajder vezao nalog za nju. Wireless se posebno konfiguriše za 2.4 GHz i 5 GHz gde je moguće fino štelovanje i izbor širine frekventnog opsega koja se koristi, koji će tačno wireless protokoli biti podržani kao i izbor sigurnosnog protokola za enkripciju. Ruter naravno može da se ponaša kao DHCP server i dodeljuje IP adrese iz odabranog opsega LAN i wireless klijentima uz mogućnost rezervacije određenih IP adresa za konkretne klijente.
Firewall je moguće podesiti za port forwarding pojedinačnog ili više portova, a postoji i deo za definisanje pravila vezanih za aplikacije koje pristupaju Internetu preko rutera, kao i QOS (Quality of Service) koji se zove WISH (Wireless Intelligent Stream Handling) u svojoj wireless varijanti i akcentuje video/audio stream-ove. Pristup je moguće definisati zabranama ili dozvolama po MAC adresama klijenata, a malo dublje u meniju nalazi se i filter u kome se može ograničiti pristup izabranim web sajtovima. Firewall poseduje i SPI (Stateful Packet Inspection) koji štiti ruter od napada tako što proverava da li su IP paketi koji stižu do njega validni, zaštitu od spoofing-a i NAT endpoint filtere. Moguće je definisati jedan od računara u LAN-u kao DMZ (demilitarizovanu zonu) i rezervisati tu adresu u DHCP serveru.
Interesantne su opcije vezivanja Firewall pravila za određeno vreme. Tako je moguće napraviti raspored gde Pera ne može da gleda sajtove sa xxx sadržajem, dok recimo Žika može da koristi messenger samo u radno vreme. DIR-855 takođe ima i korisnu opciju koja se zove Guest Zone i omogućava kreiranje dve odvojene wireless mreže (jedan na 2.4GHz, a jedna na 5GHz). Wireless mreži koja je definisana kao Guest zona može da pristupi svako i da ima pristup Internetu, ali ne i vašoj lokalnoj mreži.
DIR-885 podržava i DDNS koji omogućava da se neko zakupljeno domensko ime veže za njega i tako čak i u slučaju da dobijate od provajdera dinamičku IP adresu svako može da vas pronađe preko simboličkog imena na Internetu. Zgodno za podizanje kućnog Web, FTP ili game servera. Ruter poseduje prilično ekstenzivne sisteme za logovanje uz opciono slanje logova na definisanu e-mail adresu što je veoma korisno ako se radi administriranje mreže sa udaljene lokacije. Za enkripciju wireless saobraćaja moguće je koristiti sve aktuelne algoritme uključujući personal i enterprise verzije WPA2.
Tehnički, u pitanju je jako solidno implementiran ruter, koji ni na prvi ni na drugi pogled ne ostavlja korisnika ravnodušnim. U brzinskim testovima je bio ili izjednačen ili bolji od drugih rutera u istoj klasi i pored nešto više cene za kućnog korisnika ne postoji ništa drugo što bi mu objektivno zamerili, osim što bi mogli da kažemo da nam lično malo nedostaju klasične diode koje svetlucaju kada postoji protok podataka. LED displej je estetski zanimljiv dodatak i može da prikaže zaista mnogo korisnih informacija za koje je inače neophodno aktivirati web interfejs, ali nije na prvi pogled očigledno šta se događa u tom trenutku dok mu se ne priđe i ne aktiviraju se odgovarajuće opcije.
Zahvaljujemo se kompaniji DLink na ustupljenim uređajima za potrebe testa.