UiP paketa

5. Usmjeravanje i prosljeđivanje paketa

5.1. Uvod

Na Internetu korisnici komuniciraju pomoću računala kao krajnjih uređaja u mreži.

Krajnji uređaji mogu biti klijenti ako traže podatke ili poslužitelji ako daju podatke (npr. korisnik pomoću web-preglednika od web-poslužitelja traži da mu pošalje web-stranicu ili pomoću klijentskog programa za elektroničku poštu šalje i prima poruke s poslužitelja elektroničke pošte).

Korisnici “vide” samo taj aplikacijski dio Interneta, a ne vide onaj koji se brine da podaci stignu brzo i sigurno od ishodišta do odredišta. Osnovu tog dijela Interneta čine usmjernici – uređaji koji omogućuju spajanje različitih mreža.

Usmjernici su odgovorni da paketi putujući različitm mrežama stignu do odredišta najboljim mogućim putem. Učinkovitost komunikacije između različitih mreža u velikoj mjeri ovisi o sposobnosti usmjernika da brzo i pouzdano usmjeravaju i prosljeđuju pakete.

Da bi mogli donositi odluke kuda proslijediti paket, usmjernici moraju imati točne informacije o logičkim mrežama. Te informacije drže u usmjerničkim tablicama koje se mogu popunjavati statički ili dinamički. Kada se popunjavaju statički, administrator upisuje informacije o odredišnim mrežama, a dinamički se popunjavaju pomoću usmjerničkih protokola. Zadatak usmjerničkih protokola je ažuriranje usmjerničkih tablica.

5.2. Usmjernička tablica

Kako usmjernik “zna” gdje je odredište, odnosno kako donosi odluku kroz koje sučelje poslati paket da bi stigao do odredišta?

Kao što preklopnici imaju MAC tablice u kojima su povezane MAC adrese odredišta i izlazna sučelja tako i usmjernici imaju tablice u kojima su povezane odredišne mreže i izlazna sučelja. Te se tablice zovu usmjerničke tablice (routing tables). U nastavku je prikazana osnovna struktura usmjerničke tablice.

Network – Hops – Next hop – Exit interface

192.168.1.0/24 – 0 – Dir. connect – Fa 0

192.168.2.0/24 – 0 – Dir. connect – Fa 1

192.168.3.0/24 – 0 – 192.168.2.2 – Fa 1

U tablici se nalaze odredišna mreža i izlazno sučelje kroz koje paket treba izaći da bi stigao do cilja. Usmjernička tablica je jednostavna ali treba znati kako popunjavati tablicu da u njoj budu točne i ažurirane informacije.

Tablicu može popunjavati administrator i tako sam odrediti koji su najbolji putovi do određenih mreža. To je moguće kod manjih mreža s malim brojem usmjernika.

Administratori u mreži ISP-a sa stotinama usmjernika koji su međusobno prespojeni radi redundancije trebali bi svaki puta kada neka veza padne ili se ponovo aktivira morali bi rekonfigurirati mrežu, odnosno ažurirati usmjerničke tablice.

Da bi se usmjernička mreža što brže rekonfigurirala nakon promjene topologije, taj je proces potrebno automatizirati. Usmjernici moraju samoodržavati svoje usmjerničke tablice. Taj posao odrađuju usmjernički protokoli (routing protocols).

Usmjernički protokoli omogućuju razmjenu informacija o dostupnim mrežama između usmjernika i kao rezultat te razmjene ažuriraju usmjerničku tablicu na svakom usmjerniku neovisno.

5.3. Tri osnovna načela usmjeravanja paketa (Zinin principles)

Načelo 1:
Svaki usmjernik donosi odluku o usmjeravanju paketa neovisno na temelju informacija koje ima u svojoj usmjerničkoj tablici. Pri donošenju  odluke o preusmjeravanju paketa usmjernik ne konzultira usmjerničke tablice ostalih usmjernika.

Načelo 2:
Činjenica da jedan usmjernik ima informaciju o nekoj mreži u svojoj tablici ne znači da tu istu informaciju imaju i ostali usmjernici. Usmjernik ne zna koje su putanje u tablicama ostalih usmjernika.

Načelo 3:
Informacija o nekom putu od jedne mreže do druge ne znači da postoji i informacija o obrnutom putu. Većina razmjena podataka između krajnjih uređaja u mreži je dvosmjerna. To znači da paketi putuju u oba smjera, pa nije dovoljno imati putanje od ishodišta do odredišta, već i obrnuto. To treba imati na umu pri konfiguriranju mreže.

5.4. Statičko usmjeravanje

Statičko usmjeravanje je popunjavanje usmjerničkih tablica administratorski, odnosno ručno.  Zapisi se u tablici ne mijenjaju sve dok se ponovno ne editiraju.

Problem je ako se topologija mreže promijeni zbog kvara ili dodavanja novih usmjernika u mrežu, ali statičko ažuriranje u određenim okolnostima ima prednosti. Upotrebljava se u slijedećim slučajevima:

– mreža se sastoji od nekoliko usmjernika koje je relativno jednostavno održavati
– mreža je spojena na Internet preko ISP-a

U prvom slučaju nema potrebe konfigurirati usmjerničke protokole na usmjernicima jer to zahtjeva dodatnu administraciju za mali broj usmjernika.

Statički zapis se često upotrebljava za definiranje izlaznog sučelja ako u tablici ne postoji odredišna mreža. Kada usmjernik u tablici ne nađe odredišnu mrežu, uništi paket jer ne zna na koje ga izlazno sučelje proslijediti. Da se to ne bi događalo, statički se upiše izlazno sučelje koje prosljeđuje sve pakete za koje ne postoji odredišna mreža u usmjerničkoj tablici (default route).

Tipičan primjer primjene takvog zapisa u tablici je izlaz na Internet. Usmjernik je često granica između lokalne mreže i pristupa ISP-u. Računala u lokalnoj mreži mogu pokušati pristupiti bilo kojoj IP adresi na Internetu. Granični usmjernik ne može imati sve mreže Interneta upisane u svojoj tablici, ali i ne treba jer je njegov posao da pakete jednostavno proslijedi ISP-u koji preuzima brigu o daljnjem prosljeđivanju paketa. Zato je dovoljan statički zapis koji sve pakete koji nemaju odredišnu adresu u tablici prosljeđuje putem standardnog sučelja (default gateway). Dakle, na takvom graničnom usmjerniku u usmjerničkoj tablici dovoljno je imati samo statički zapis koji sve pakete bez obzira na odredište šalje prema ISP-u.

Primjer: Upotreba standardne putanje (default route)

Pojednostavljena usmjernička tablica graničnog usmjernika R1

172.30.1.0 R1-S1
172.30.2.0 R1-R2
0.0.0.0 R1-R2

Pojednostavljena usmjernička tablica ISP usmjernika R2

172.30.1.0 R2-R1
172.30.2.0 R2-R1

Lokalna mreža 172.30.1.0/24  s Internetom je povezana pomoću graničnog usmjernika R1, a on je povezan s ISP-om pomoću usmjernika R2 na strani ISP-a. Logička mreža između R1 i R2 je 172.30.2.0/24.

Ako računalo iz lokalne mreže 172.30.1.0 šalje paket s odredišnom adresom 161.88.9.121/16 koja je u logičkoj mreži 161.88.0.0 i ne nalazi se u lokalnoj mreži. Paket će se preusmjeriti na Ethernet sučelje graničnog usmjernika R1 (default Gateway) i R1 će primiti paket, pročitati odredišnu mrežu i potražiti je u usmjerničkoj tablici.

U usmjerničkoj tablici usmjernika R1 su mreže koje su izravno povezane na sučelja usmjernika. U tablici je i statički zapis koji prosljeđuje sve pakete na WAN sučelje prema ISP-u ako odredišna mreža iz paketa nije u usmjerničkoj tablici. Takav se zapis zove standardna putanja i zapisuje se u usmjerničku tablicu kao odredišna mreža 0.0.0.0.

Usmjernik R1 u usmjerničkoj tablici nema logičku mrežu 161.88.0.0/16 ali ima standardnu putanju koja sve pakete od kojih odredišne mreže nisu u usmjerničkoj tablici preusmjerava na izlazno sučelje usmjernika R1, odnosno prema usmjerniku ISP-a koji pakete prosljeđuje dalje prema odredištu.

U slučaju da u usmjerničkoj tablici usmjernika R1 nije bilo standardne putanje, usmjernik bi uništio paket jer ne bi znao kuda ga mora poslati.

U usmjerničkoj tablici usmjernika R2 nalazi se i statički zapis za mrežu 172.30.1.0 koji sve pakete s Interneta usmjerava prema usmjerniku R1 i toj lokalnoj mreži.

5.5. Sažimanje putanja

Poželjno je da usmjerničke tablice budu što manje (sa manje putanja) jer je tada pretraživanje učinkovitije pa usmjernici rade brže. U nekim situacijama jedna putanja može zamijeniti više drugih i tako smanjiti usmjerničku tablicu te ubrzati pretraživanje. Osim pretraživanja smanjuje se i količina informacija koje se razmjenjuju među usmjernicima jer treba razmijeniti manje putanja. Tehnika optimiziranja broja putanja naziva se sažimanje putanja (summary route).

Primjer: Sažimanje putanja

Putanje se ne sažimaju: Usmjernik R1 oglašava usmjerniku R2 informacije o mrežama koje se nalaze u njegovoj usmjerničkoj tablici (putanje do mreža 172.16.1.0/24, 172.16.2.0/24 i 172.16.3.0/24. Usmjernik R2 stavlja ih u svoju usmjerničku tablicu. To radi korektno.

Ideja je da sve tri putanje svedemo na zajednički broj bitova slijeva nadesno i tako smanjimo broj putanja koje se oglašavaju (i veličinu tablice). Pogledaju se mreže na usmjerniku R1 zapisane binarno, označi se zajedničke bitove i sažme te tri putanje. To se radi u nekoliko koraka.

  1. u binarnom obliku se napišu sve mreže koje želimo sažeti
  2. slijeva nadesno označe se i izbroje svi zajednički bitovi
  3. svi zajednički bitovi se prepišu a od mjesta gdje se bitovi razilaze do kraja adrese upišu se nule.

Mreža koja se dobije je sažeta putanja za te tri mreže (172.16.0.0/22). Prefiks je 22 jer su prva 22 bita zajednička.

Sada usmjernik R1 može oglašavati samo sažetu putanju i broj putanja koje se oglašavaju je smanjen kao i veličina usmjerničke tablice. Sada kada usmjernik R2 dobije paket s odredišnom mrežom koja se poklapa sa 172.16.0.0/22 u usmjerničkoj tablici, poslijedit će paket prema usmjerniku R1. Usmjernik R1 u svojoj tablici ima sve tri putanje i znat će dalje proslijediti paket.

5.6. CIDR (Classless Interdomain Routing)

Sažimanje putanja unutar neke mreže klase A, B ili C smanjilo je usmjerničke tablice i količinu razmjena informacija o mrežama između usmjernika.

Zbog velikog broja mreža i rasta Interneta usmjerničke tablice rastu i pretraživanje tablica i razmjena informacija između usmjernika je sve sporija što utječe na skalabilnost Interneta.

Kako bi se to ublažilo, stvoren je dodatni koncept sažimanja putanja nazvan CIDR.

Osnovna je ideja da se klase kao načelo potpuno izbace. Prvi broj IP adrese po kojem se moglo znati koji je dio adrese mrežni dio više nema nikakvo značenje. Kod kreiranja podmreža uvijek smo ih kreirali posuđujući bitove od host dijela. Nikada se nije zadiralo u bitove osnovne klase. Ako se kreira podmreža u bilo kojoj od klasa A, B ili C, mrežni je dio uvijek veći od mrežnog dijela osnovne klase jer smo mreži pridruživali bitove od host dijela.

Kod CIDR-a više nema osnovnih klasa. Koliko bitova ima mrežni dio govori nam i dalje mrežna maska, odnosno prefiks, a to može biti bilo koji broj bitova.

Sada je moguće napisati mrežu u klasi C 193.120.11.0 s prefiksom 21. Broj bitova za mrežu je manji od 24 unatoč tome što je adresa iz klase C.

Spriječena je eskplozija usmjerničkih tablica i ubrzano pretraživanje smanjujući zahtjeve za resursima usmjernika.

Primjer 3: CIDR tehnika

U fizičkoj mreži upotrebljene su mreže klase C. Prvo se naprave sažete putanje od usmjernika R2 i R3 prema usmjerniku R1.

Nakon prvog kruga sažimanja usmjernici će usmjerniku spojenom na ISP oglašavati samo sažete putanje. Oglašavanje putanja je:

R2: 200.199.48.0/24, 49.0/24, 50.0/24 i 51.0/24 prelazi u 200.199.52.0/22
R3: 200.199.52.0/24, 53.0/24, 54.0/24 i 55.0/24 prelazi u 200.199.48.0/22

Sada usmjernik prema ISP-u pokuša sažeti putanje koje ima u svojoj usmjerničkoj tablici i poslati sažetu supernet putanju (200.199.48.0/21) od usmjernika R1 prema ISP-u. U usmjerničkoj tablici ISP-a bit će smo ta putanja, a sve odredišne IP adrese koje se poklapaju s tim prefiksom bit će proslijeđene u mrežu. Usmjernici R1, R2 i R3 u mreži imaju detaljnije zapise putanja i znat će proslijediti paket do odredišta.

5.7. Filtriranje paketa na usmjerniku (Access Control List)

Temeljni zadatak usmjernika je da na mrežnom sloju usmjerava i prosljeđuje pakete kroz mrežu. S obzirom da se često nalazi na granici između lokalne mreže i Interneta ili da razdvaja lokalne mreže nameće usmjerniku dodatnu ulogu – filtiriranje paketa koji dolaze u mrežu ili odlaze iz nje.

Parametri koji se koriste za dozvolu ili zabranu paketa mogu biti:

  • ishodišna i odredišna IP adresa
  • ishodišni i odredišni priključak (port)
  • protokoli transportnog i mrežnog sloja

Jedan od načina filtriranja paketa je niz naredbi na usmjerniku koje određuju pod kojim će se uvjetima paket propustiti ili zabraniti. Naredbe se izvršavaju redom kako su zapisane. Kada paket ispunjava uvjet koji je zapisan u naredbi preostale se naredbe ne izvršavaju već se paket prosljeđuje ili uništava, ovisno o tome kako je definirano u naredbi koja je ispunila uvjet (primjer dijagrama algoritma za filtriranje paketa na sučelju usmjernika).