25-11-05 12:12
Privatni IP adresni prostor
piše VEDRAN TURKALJ
Sve većim korištenjem TCP/IP tehnologije širom svijeta, uključujući i Internet, povećao se i broj nespojenih tvrtki koje koriste privatne adrese isključivo za komunikaciju unutar tvrtke, bez namjere da se spoje na Internet. Internet je prerastao svačija očekivanja, a njegov trajni eksponencijalni rast uvodi i nove izazove. Jedan od njih je iscrpljenje globalnog adresnog prostora. Drugi je izazov porast veličina routing tablica iznad mogućnosti davatelja usluga Internet pristupa. Da bi spriječili daljnji rast routing tablica davatelji usluga dobivaju blokove adresnog prostora koje dalje raspoređuju na način da se rute prema mnogim korisnicima mogu združiti (agregirati) zajedno, tako da drugi davatelji vide samo jednu rutu (RFC 1518 i 1519).
Trajno rješenje ovih problema daje tek nova verzija IP protokola - verzija 6, dok su privremena rješenja CIDR (Classless Inter-Domain Routing) s agregacijom ruta i supernetiranjem, te privatno IP adresiranje sa ili bez NAT-a (network address translation). Dodjelom privatnih adresa omogućavamo potpunu mrežnu povezanost između svih računala u nekoj tvrtki. Trošak korištenja privatnog adresnog prostora se svodi na potencijalni trošak preadresiranja računala i mreža na javne adrese.
IETF je odlučio da unaprijeđeni IPv4 mora izdržati dovoljno dugo da inženjerima ostane dovoljno vremena za kvalitetan dizajn i implementaciju potpuno novog Internet Protokola. Taj novi protokol, IPv6, rješava adresnu krizu korištenjem 128-bitnog adresnog prostora (što je otprilike 3.4 × 1038 adresa).
Nakon mnogo godina planiranja i pažljivog razvoja IPv6 je danas zreo za sveobuhvatnu implementaciju; međutim šire korištenje IPv6 morat će još malo pričekati iz nekoliko razloga. Jedan od njih je da su vatrogasne mjere za spas verzije 4 IP protokola bilo iznimno učinkovite i uspješne. Uklanjanjem pravila klasa IPv4-u je udahnut novi život.
Novi život IPv4 protokola Postoji više načina za sprečavanje gubljenja dragocjenih javnih adresa. U posljednjih 20 godina mrežni su inženjeri razvili nekoliko važnih strategija za efikasnije adresiranje među kojima su najvažniji VLSM, CIDR i privatno adresiranje.
VLSM (Variable-Length Subnet Mask) dozvoljava organizaciji korištenje više od jedne subnet maske unutar istog adresnog prostora. Implementacija se često naziva i subnetiranje subneta (podmreže) i koristi se za maksimalno iskorištenje svih adresa.
Korištenje CIDR-a i VLSM-a osim štednje adresnog prostora promovira i agregiranje odnosno sumarizaciju ruta. Bez sumarizacije (agregacije) ruta bi usmjeravanje na okosnici Interneta kolabiralo još negdje prije 1997. Supernetiranje je praksa korištenja bit maske za grupiranje više čitavih klasa kao jedne mrežne adrese. Supernetiranje i agregacija ruta su dva imena za isti proces; međutim supernetiranje se često odnosi na slučaj kada su agregirane mreže pod zajedničkom administrativnom kontrolom. Supernetiranje i agregacija ruta su u svojoj biti inverzija subnetiranja. Razlika je u tome što supernetiranje uzima bitove iz mrežnog dijela mrežne maske, dok subnetiranje uzima bitove iz host dijela subnet maske.
Podjela računala obzirom na adresne potrebe
Moguće je uvesti osnovnu podjelu hostova (računala spojenih na TCP/IP mrežu) na 3 kategorije:
1. računala koja nemaju potrebu ili pravo pristupa izvan tvrtke – njima dodjeljujemo privatne IP adrese,
2. računala koja imaju ograničenu potrebu vanjskog pristupa (npr. mail, ftp, news) u kojem slučaju se koristi pristupnik (čvor mreže koji služi za pristup nekoj drugoj mreži, gateway) – njima također dodjeljujemo privatne IP adrese,
3. računala koja imaju potrebu vanjskog pristupa – njima je potrebno dodijeliti javne IP adrese.
Mnoge aplikacije zahtijevaju povezanost isključivo unutar jedne tvrtke i ne trebaju izvanjsku povezanost za veliku većinu računala. U većim je tvrtkama često lakše identificirati značajan broj računala koja koriste TCP/IP, a kojima ne treba povezanost na mrežnom sloju izvan matične tvrtke.
Primjeri kada nije potrebno koristiti javne adrese su sučelja usmjerivača u internoj mreži, zasloni na kolodvorima koji prikazuju dolaske i odlaske vlakova ili autobusa i interna komunikacija velikih organizacija (npr. bankomati, kase i slično). Također iz sigurnosnih razloga mnoge tvrtke koriste gatewaye na aplikacijskom sloju za spajanje svoje interne mreže na Internet, tako da je sa Interneta vidljivo samo nekoliko gatewaya. U takvoj situaciji interna mreža može koristiti nejedinstvene IP adrese.
IANA je rezervirala 3 bloka IP adresnog prostora za privatne mreže, svima dobro poznatog i definiranog RFC-om 1918:
10.0.0.0 - 10.255.255.255 (10/8 prefiks)
172.16.0.0 - 172.31.255.255 (172.16/12 prefiks)
192.168.0.0 - 192.168.255.255 (192.168/16 prefiks)
Prvi blok zovemo i 24-bitni blok, drugi blok zovemo 20-bitni blok, a treći blok zovemo 16-bitni blok adresa. Gledano kao klase prije pojave CIDR-a (Classless Inter-Domain Routing), prvi blok je jedna čitava A klasa, drugi blok je skupina od 16 uzastopnih B klasa, a treći blok je skupina od 256 uzastopnih C klasa.
Korištenje privatnog adresiranja
Budući da je IP dominantni usmjeravani protokol u svijetu, većina mrežnih aplikacija i operativnih sustava pruža podršku za nj. Zato su mnogi dizajneri izgradili mreže oko TCP/IP-a čak i kada im nije potrebno spajanje na Internet. Računala na Internetu zahtijevaju globalno jedinstvene IP adrese, dok privatna računala odvojena od Interneta mogu koristiti bilo koju adresu, dok god je jedinstvena unutar vlastite mreže.
Budući da mnoge privatne mreže postoje usporedo s javnim adresama, jednostavno uzimanje adresa po vlastitom izboru je izrazito destimulirano. Zato RFC 1918 ostavlja na izbor 3 bloka IP adresa. Adrese u tom rasponu neće biti usmjeravane na okosnici Interneta jer će usmjerivači na okosnici Interneta odmah odbaciti takve pakete (tako barem zahtijeva dobra praksa i tako bi trebali biti konfigurirani).
Korištenje privatnih adresa na WAN point-to-point linkovima uključuje jedan prešutni kompromis. Naime serijska sučelja usmjerivača ne mogu biti originalni izvor ili krajnje odredište prometa. U praksi se ovaj problem svodi na probleme kod traženja greški putem ICMP-a (Internet Control Message Protocol), kod korištenja SNMP-a (Simple Network Management Protocol), te kod udaljenog pristupa telnetom preko Interneta. U ovim slučajevima se usmjerivač može adresirati jedino preko globalno jedinstvenog LAN sučelja ili definiranog logičkog (Loopback) sučelja.
Miješanje privatnih i globalno jedinstvenih adresa može stvoriti diskontinuirane podmreže. To su podmreže iz iste glavne mreže razdvojene drugom glavnom mrežom ili podmrežom.
NAT (definiran u RFC 1631) je proces zamjene jedne adrese drugom u zaglavlju IP paketa. U praksi se NAT koristi da bi računala s privatnim adresama mogla pristupiti Internetu. Najmoćnija značajka NAT-a je korištenje translacije portova – PAT (port address translation), koji omogućava korištenje jedne globalne adrese za mnogo unutarnjih adresa. Ovo se ponekad zove i many-to-one NAT. Adresno preterećivanje (PAT) omogućava stotinama privatno adresiranih računala pristup Internetu korištenjem jedne jedine javne adrese. NAT usmjerivač prati različite konverzacije mapiranjem TCP i UDP brojeva portova. PAT može puno učiniti za smanjenje utroška adresa, ali su mu mogućnosti ograničene. Teoretski maksimum je preko 65000 unutarnjih adresa na jednu vanjsku, međutim stvarni broj translacija je puno manji i na Cisco usmjerivačima se u praksi kreće do 4000 privatnih na jednu javnu adresu.
Postupanje, prednosti i nedostaci privatnog adresiranja
Privatni adresni prostor može se koristiti po volji i bez konzultacija s IANA-om, što znači da će mnoge nepovezane tvrtke koristiti isti adresni prostor. Privatne IP adrese su jedinstvene samo unutar tvrtke ili grupe tvrtki koje imaju zajedničku privatnu mrežu. Tvrtke kojima je na zahtjev dodijeljen adresni prostor nikada neće biti dodijeljen raspon adresa iz rezerviranog privatnog raspona.
Potrebno je razabrati računala koja ne trebaju konekcije prema van u bližoj budućnosti i dodijeliti im privatne adrese. Oni mogu komunicirati sa svim unutarnjim računalima bilo da ovi imaju privatne ili javne adrese, a prema van eventualno preko pristupnika. Sva ostala računala su računala s javnim adresama. Javna računala se ne mogu spajati na privatna računala drugih tvrtki. Promjenom statusa računala (javno/privatno) potrebno je mijenjati i DNS zapise. Usmjerivačke informacije za privatne adrese ne smiju se prosljeđivati na vanjske linkove. Internet davatelji usluga trebali bi voditi brigu da spriječe takvo curenje. Ako usmjerivač i primi takvu informaciju, odbacivanje ne bi trebalo tretirati kao grešku usmjerivačkog protokola.
Prednosti korištenja privatnih adresa su prvenstveno štednja javnih adresa, fleksibilni mrežni dizajn i skalabilnost. Tvrtke također imaju dobrobiti korištenjem privatnih adresa, posebno u mogućnosti fleksibilnog mrežnog dizajna jer im na raspolaganju stoji mnogo više adresa nego što mogu dobiti iz globalnog prostora. Time je osigurano administrativno i operativno bolja adresna shema i bolja skalabilnost za lakši rast.
Nikako nije preporučljivo za privatne mreže, nespojene na Internet, koristiti javne adrese koje im nisu službeno dodijeljene umjesto privatnih koje su rezervirane za tu upotrebu, jer ih vjerojatno netko već koristi, a u slučaju naknadnog spajanja na Internet potencijalni problemi su vrlo veliki (greške u usmjeravanju). Davatelji usluga bi trebali imati prevenciju protiv ovakvih situacija u obliku filtriranja ruta, ali to nije uvijek slučaj. Zato kao siguran izbor uvijek treba koristiti rezervirani privatni IP adresni prostor.
Nedostaci korištenja privatnih adresa su ponajprije manja fleksibilnost kod spajanja na Internet, odnosno potreba preadresiranja svih (ili dijela) računala kod naknadnog spajanja. Tu je zatim potreba preadresiranja kod spajanja tvrtki s istim privatnim adresnim prostorom (iako se to može riješiti kombinacijom NAT-a i DNS-a, uz zadržavanje preklapajućih IP adresa). Trošak preadresiranja je puno manji ako se koristi centralizirana dodjela adresa DHCP-om.
Dizajniranje privatne i privatno-javne računalne mreže
Jedna od mogućih strategija je prvo dizajnirati privatni dio mreže i koristiti privatni adresni prostor za sve interne linkove. Tada treba planirati ostale javne podmreže na lokacijama gdje treba i dizajnirati vanjsku povezanost mreže.
Ovaj dizajn ne prejudicira nepromjenjivost. Ako grupa hostova treba promjenu statusa (iz privatnih u javne i obrnuto), kasnije se samo prenumeriraju ti hostovi i, ako treba, promijeni fizička konekcija. Ako se ovakve promjene mogu predvidjeti (npr. računalna hala), najbolje je unaprijed konfigurirati odvojene fizičke medije za privatne i javne podmreže. Da bi izbjegli velike mrežne prekide najbolje je grupirati hostove sa sličnim potrebama za povezanost u vlastite podmreže.
Ako je moguće, preporučuje se korištenje 24-bitnog bloka (A klasa) privatnih adresa i izrada dobrog plana rasta. Ako je subnetiranje problem može se koristiti 16-bitni blok (C klasa) ili 20-bitni blok (B klasa) privatnih adresa.
Nikako se ne preporuča miješanje javnih i privatnih adresa na istom fizičkom mediju (iako moguće), ne zbog privatnih adresa, nego zbog prisutnosti višestrukih subneta na zajedničkoj Data Link podmreži (to ne preporuča niti Cisco Systems, Inc.).
Strogo se preporuča da usmjerivači koji spajaju tvrtku na vanjske mreže imaju odgovarajuće paketne i routing filtere na obje strane linka da bi se spriječilo curenje paketa i usmjerivačkih informacija. Također bi trebalo filtrirati sve privatne mreže iz dolaznih vanjskih usmjerivačkih informacija da bi se zaštitila vlastita mreža od situacija u kojima rute prema privatnim mrežama pokazuju prema mrežama izvan tvrtke.
Moguće je da dvije privatne lokacije međusobno komuniciraju preko javne mreže korištenjem neke vrste enkapsulacije.
Da bi se izbjegao rizik nejedinstvenosti adresa kod spajanja dva privatna adresna prostora preporučuje se izabrati raspon adresa slučajnim izborom iz rezerviranog adresnog prostora (ne krenuti od početka bloka).
Ako tvrtka koristi privatne adrese ili mješavinu javnih i privatnih adresa, DNS klijenti izvan tvrtke ne smiju vidjeti te privatne adrese. Zato je potrebno imati dva servera za svaku DNS zonu koja ima javne i privatne adrese. Jedan server će biti vidljiv samo iz javnog adresnog prostora i sadržavat će samo dio adresa koje se mogu dohvatiti korištenjem javnih adresa. Drugi server će biti vidljiv samo iz privatnog adresnog prostora, a sadržavat će potpune podatke, uključujući privatne adrese i sve javne adrese koje se mogu dohvatiti sa privatne mreže. Da bi se osigurala konzistencija, oba servera bi trebala biti konfigurirana istim podacima, od čega javna zona ima samo filtriranu verziju. Naravno, ovo zahtijeva dodatnu kompleksnost kod konfiguriranja.
Korištenjem privatnih IP adresa velikim tvrtkama trebaju relativno mali blokovi javnih adresa čime se produžuje trajanje preostalih javnih IPv4 adresa. Tvrtke time dobivaju povećanu fleksibilnost adresiranja zbog velikog privatnog adresnog prostora, iako je ta fleksibilnost umanjena u slučaju preadresiranja dijela ili čitave mreže zbog potrebe za vanjskom povezanošći.
Osvrt na budućnost i IPv6 adres
Kada bi čitavu planetu Zemlju pokrili IPv6 adresama, na svaki kvadratni milimetar površine planete Zemlje bi došlo 6.7 × 1017 adresa (670 kvadrilijuna adresa/mm²), tako da je razumno pretpostaviti da u dogledno vrijeme neće doći do iscrpljenja istih (iako se tako mislilo i za IPv4 adrese). Ipak, osim što nudi globalni unicast adresni prostor, RFC 1884 predviđa korištenje dijela adresa na sličan način kakav danas poznajemo kao privatne adrese kod IP verzije 4.
IPv6 nudi interne mrežne brojeve ili adrese za korištenje na lokalnoj osnovi. Oni su analogni RFC 1918 privatnim adresama u IPv4. Ako čvor nije normalno adresiran globalnom unicast adresom ili internom Site-Local adresom, može se adresirati korištenjem Link-Local use adresa, specifičnim za mrežni segment.
Alocirano
|
Binarni prefix
|
Dio adresnog prostora
|
Link Locak adrese
|
1111 1110 10
|
1/1024
|
Site Local adrese
|
1111 1110 11
|
1/1024
|
Local-use IPv6 unicast adrese - postoje definirane dvije vrste unicast adresa za lokalnu upotrebu: Link-Local i Site-Local. Link-Local je za pojedinačne linkove, a Site-Local je za pojedinačnu lokaciju.
Link-Local adrese su dizajnirane za adresiranje na pojedinačnim linkovima u svrhe kao što su auto-adresna konfiguracija, otkrivanje susjednih uređaja ili kada nisu prisutni usmjerivači. Usmjerivači ne smiju prosljeđivati nikakve pakete s Link-Local izvorišnim adresama.
Site-Local adrese se mogu koristiti za lokacije ili organizacije koje (još) nisu spojene na globalni Internet. One ne trebaju nikakav zahtjev ili “posudbu” iz globalnog adresnog prostora, nego se umjesto toga mogu koristiti IPv6 Site-Local adrese. Kada se jednom organizacija priključi na Internet, tada formira globalne adrese zamjenom Site-Local prefiksa dodijeljenim globalnim prefiksom. Usmjerivači također ne smiju prosljeđivati nikakve pakete sa Site-Local izvorišnim adresama izvan lokacije.
Linkovi
http://www.cse.ohio-state.edu/cgi-bin/rfc/rfc1918.html
http://www.cse.ohio-state.edu/cgi-bin/rfc/rfc1884.html
http://www.cse.ohio-state.edu/cgi-bin/rfc/rfc1518.html
http://www.cse.ohio-state.edu/cgi-bin/rfc/rfc1519.html
http://www.cse.ohio-state.edu/cgi-bin/rfc/rfc1631.html
|