Download as pdf or txt
Download as pdf or txt
You are on page 1of 161

172

POGLAVUE 4 . MRENI SLOJ

4.3 TA IMA U RUTERU?

321

je prikazano na slici 4.8. Paket koji stigne na ulazni port putuje po horizontalnoj magistrali vezanoj za ulazni port, dok se ne ukrsti sa vertikalnom magistralom koja ide do eljenog izlaznog porta. Ako je vertikalna magistrala koja ide ka izlaznom portu slobodna, paket se prenosi u izlazni port. Ako je vertikalna magistrata zauzeta transferom paketa iz nekog drugog ulaznog porta u ovaj isti izlazni port, pristigli paket se blokira i mora da ostane u redu ekanja ulaznog porta. Delta i Omega komutatorske mree takoe se predlau kao viestruko povezane mree izmeu ulaznih i izlaznih portova. U knjizi [Tobagi 1990] nai ete pregled komutatorskih arhitektura. Komutatori familije Cisco 12000 [Cisco 12000 1998] koriste viestruko povezanu mreu koja omoguava ak 60 Gb/s kroz komutatorsku mreu. Trenutni trend u dizajnu viestruko povezanih mrea [Keshav 1998] je da se IP datagram promenljive duine fragmentira u elije fiksne duine, pa se te elije fiksne duine oznae i komutiraju kroz viestruko povezanu mreu. Od tih elija se zatim u izlaznom portu ponovo sklapa prvobitni datagram. Fiksna duina elije i oznaavanje znaajno pojednostavljuju i ubrzavaju komutiranje paketa kroz viestruko povezanu mreu.

4.3.3

Izlazni portovi

Obrada u izlaznom portu, prikazana na slici 4.9, uzima pakete koji su se uvali u memoriji izlaznog porta i prenosi ih preko izlaznog linka. Obrada protokolom veze podataka i zavretak linije su funkcije sloja veze i fizikog sloja koje sarauju sa ulaznim portom na drugom kraju izlaznog linka kao to je opisano u odeljku 4.3.1. Redovi ekanja i upravljanje privremenom memorijom potrebni su kada komutatorska mrea predaje pakete izlaznom portu brzinom veom od brzine izlaznog linka. Sada emo obraditi ekanje u redu na izlaznom portu.

4.3.4

Gde dolazi do ekanja u redu?

Ako pogledamo funkcije ulaznih i izlaznih portova i konfiguraciju prikazanu na slici 4.8, oigledno je da se redovi paketa mogu stvoriti i na ulaznim i na izlaznim porto-vima. Vano je malo detaljnije razmotriti ove redove ekanja jer kako ti redovi rastu

privremena memorija rutera e se na kraju potroiti i doi e do gubitka paketa. Moda se seate da smo u prethodnim opisima rekli da se paketi gube u mrei ili isputaju na ruteru. Upravo ovde u tim ruterovim redovima ekanja se takvi paketi isputaju i gube. Tano mesto gde se paket gubi (u redu ekanja ulaznog porta ili u redu ekanja izlaznog porta) zavisie od optereenja saobraajem, relativne brzine komutatorske mree i brzine linija, to emo detaljno opisati. Uzmimo da su brzine ulazne i izlazne linije identine i da postoji n ulaznih i n izlaznih portova. Brzinu komutatora definiemo kao brzinu kojom komutatorska mrea moe da prenese pakete od ulaznih do izlaznih portova. Ako je brzina komutatora bar n puta vea od brzine ulazne linije, u ulaznom portu nee doi do ekanja u redu. To je zato to ak i u najgorem sluaju da svih n ulaznih linija prima pakete komutator e moi da prenese svih n paketa iz ulaznog porta u izlazni port u vremenu potrebnom da svaki od n ulaznih portova (istovremeno) primi pojedinani paket. Ali, ta se moe dogoditi na izlaznim portovima? Pretpostavimo opet daje komutatorska mrea bar n puta bra od linija. U najgorem sluaju, paketi koji su stigli na svaki od n ulaznih portova bie namenjeni u isti izlazni port. U tom sluaju, u vremenu potrebnom da se primi (ili poalje) samo jedan paket, na izlazni port e stii n paketa. Poto izlazni port moe u tom vremenu da poalje samo jedan paket (vreme prenosa paketa), n pristiglih paketa morae da eka u redu za prenos preko izlaznog linka. Tada, tokom vremena potrebnog da se prenese samo jedan od n paketa koji su ve bili u redu za ekanje, moe da stigne jo n paketa. I tako dalje. U jednom trenutku, broj paketa u redu za ekanje moe da postane tako veliki da se utroi sav memorijski prostor izlaznog porta i tada se paketi isputaju. ekanje u redu izlaznog porta prikazano je na slici 4.10. U trenutku / na svaki od ulaznih portova stigao je po jedan paket i svi su namenjeni za gornji izlazni port. Ako pretpostavimo da su brzine linija identine, a da komutator radi tri puta veom brzinom od linija, nakon jedne jedinice vremena (tj. u vremenu potrebnom da se primi ili poalje jedan paket) sva tri prvobitna paketa su preneta na izlazni port i ekaju u redu da se prenesu. U sledeoj jedinici vremena jedan od ta tri paketa bie prenet preko izlaznog linka. U naem primeru, na ulaznu stranu komutatora stiu dva nova paketa; jedan od njih namenjen je za gornji izlazni port. Jedna posledica ekanja u redu u izlaznom portu je da rasporeiva paketa u izlaznom portu mora da izabere jedan od paketa koji ekaju u redu za prenos. Taj izbor moe biti sasvim jednostavan, kao stoje redosled pristizanja (first-come-Jirst-served, FCFS) ili sloenije rasporeivanje, kao stoje ponderisano fer ekanje (weig-htedfair queuing, WFQ) u kojem se izlazni link deli na fer nain izmeu razliitih konekcija sa kraja na kraj iji paketi ekaju na prenos. Rasporeivanje paketa igra kljunu ulogu u obezbeivanju garancija kvaliteta usluge. Ova tema bie opirno obraena u poglavlju 7. Opis disciplina u rasporeivanju paketa na izlaznom portu moete nai u [Cisco Queue 1995]. Slino tome, ako nema dovoljno memorije da se ulazni paket smesti u privremenu memoriju potrebno je doneti odluku da li da se ispusti paket koji stie (politika poznata pod imenom ispustiti poslednji) ili da se ukloni jedan ili vie paketa

J322

POGLAVLJE 4 MRENI SLOJ

4.4

INTERNET PROTOKOL (IP)

173

iz reda ekanja i napravi mesto za paket koji upravo stie. U nekim sluajevima korisnije je da se ispusti paket (ili stavi oznaka u zaglavlje) pre nego to se privremena memorija napuni da bi se poiljaocu dao signal da postoji zaguenje. U dokumentima [Labrador 1999, HolJot 2002] predloen je i analiziran niz politika za isputanje i oznaavanje paketa (koje imaju zajedniki naziv algoritma za aktivno upravljanje redovima ekanja (active queue management, AQM). Jedan od AQM algoritama koji je najee prouavan i implemetiran je algoritam RED (Random Early Detection). Ako se koristi RED, izraunava se ponderisani proek duine izlaznog reda ekanja. Ako je u trenutku kada paket stie prosena duina reda za ekanje manja od praga za minimum minlh, on se prima u red za ekanje. Obrnuto, ako je u trenutku kada paket stigne red za ekanje pun ili je prosena duina reda vea od praga za maksimum maxlh, on se oznaava ili isputa. Na kraju, ako paket stigne i zatekne prosenu duinu reda u intervalu [minlh, maxlh], on se oznaava ili isputa po verovatnoi koja obino zavisi od prosene duine reda, od minlh i od maxlh. Do sada je predloen niz funkcija za izraunavanje verovatnoe oznaavanja i isputanja, a razliite verzije algoritma RED su analitiki modelirane, simulirane i

implementirane. U [Christiansen 2001] i [Floyd 2002] dati su pregledi i predloi za dodatno itanje. Ako komutator nije dovoljno brz (u odnosu na brzinu ulazne linije) da bi se svi pristigli paketi preneli bez zastoja kroz komutator, doi e do redova ekanja i u ulaznim portovima gde e paketi ekati da budu preneti kroz komutator u izlazni port. Kao ilustraciju jedne vane posledice ovog ekanja u redu razmotrite komutator sa unakrsnim linijama i pretpostavite (1) da su brzine svih linkova identine, (2) da se jedan paket moe preneti iz bilo kog ulaznog porta do datog izlaznog porta u vremenskom intervalu potrebnom da se jedan paket primi na ulaznom linku i (3) da se paketi prenose iz datog ulaznog reda ekanja u eljeni izlazni red ekanja po principu FCFS. Istovremeno prenoenje vie paketa mogue je samo ako su im razliiti izlazni portovi. Meutim; ako su na poetku dva ulazna reda dva paketa namenjena za isti izlazni red ekanja, jedan od njih e se blokirati i morae da eka u ulaznom redu - komutator moe u isto vreme da prenosi samo jedan paket u dati izlazni port. Na slici 4.11 dat je primer u kojem su dva paketa (tamnozelena) na poetku svojih ulaznih redova ekanja namenjena za isti gornji desni izlazni port. Pretpostavimo da komutator odlui da prenese paket sa poetka gornjeg levog reda ekanja. U tom sluaju tamnozeleni paket u donjem levom redu mora da eka. Ali, ne samo to ovaj tamnozeleni paket mora da eka, ve mora da eka i svetlozeleni paket koji se u donjem levom redu nalazi iza njega, iako nema nikakvog nadmetanja za srednji desni izlazni port (odredite svetlozelenog paketa). Ovaj fenomen poznat jc kao HOL (head-of-the-line) blokiranje u komutatoru sa ulaznim redom ekanja - paket u ulaznom redu mora da eka na prenos kroz komutator (ak i kada je njegov izlazni port slobodan) jer ga blokira drugi paket u redu ispred njega. Karol u knjizi [Karol 1987] objanjava da zbog HOL blokiranja ulazni red ekanja dostie neogranienu duinu (to znai da e doi do znaajnog gubitka paketa) pod odreenim pretpostavkama im brzina pristizanja paketa na ulazne linkove dostigne samo 58 procenata njihovog kapaciteta. U knjizi [McKeov/n 1997b] opisan je niz reenja za HOL blokiranje.

4 .4 Internet protokol (IP): Prosleivanje i


adresiranje na Internetu
Do sada smo u ovom poglavlju opisivali prosleivanje i adresiranje mrenog sloja ne pominjui nijednu konkretnu raunarsku mreu. U ovom odeljku obratiemo panju na to kako se prosleivanje i adresiranje vre na Internetu. Videemo da su prosleivanje i adresiranje znaajne komponente Internet Protocola (IP). Danas su u upotrebi dve verzije protokola IP. Prvo emo ispitati opteprihvaeni Internet protokol verzije 4, poznat kao IPv4 [RFC 791]. Na kraju odeljka ispitaemo IP verziju 6 [RFC 2373; RFC 2460] za koji se predlae da tokom narednih godina zameni IPv4.

174

POGLAVLJE 4

MRENI SLOJ

4.4 . INTERNET PROTOKOL (IP)

325

4 .4 .1 Format datagrama
Sigurno se seate da se paket mrenog sloja naziva datagramom. Prouavanje IP-a poinjemo pregledom sintakse i semantike datagrama IPv4. Moda mislite da nema nieg suvoparnijeg od sintakse i semantike bitova nekog paketa. I pored toga, datagram igra centralnu ulogu na Internetu svaki student i profesionalac u umreavanju mora da ga vidi, sagleda i savlada. Format datagrama IPv4 prikazanje na slici 4.13. Kljuna polja 1PV4 datagrama su sledea: Ali pre nego to krenemo u pohod na IP, vratimo se za jedan korak i razmotrimo komponente od kojih se sastoji mreni sloj Interneta. Kao to je prikazano na slici 4.13, mreni sloj Interneta ima tri glavne komponente. Prva komponenta je protokol IP, tema ovog odeljka. Druga vana komponenta mrenog sloja je komponenta za rutiranje koja utvruje putanju kojom e datagram ii od izvora do odredita. Videli smo ranije da protokoli rutiranja izraunavaju tabele prosledivanja koje se koriste za prosledivanje paketa kroz mreu. U odeljku 4.6 prouiemoTnternetove protokole rutiranja. Poslednja komponenta mrenog sloja je sredstvo za prijavljivanje greaka u datagramima i reagovanje na zahteve za odreenim informacijama u mrenom sloju. U odeljku 4.4.3 obradiemo ICMP (Internet

Broj verzije. Ova etiri bita navode verziju protokola IP za taj datagram. Prema broju verzije
ruter moe da odredi kako treba protumaiti ostatak IP datagrama. Razliite verzije protokola IP koriste razliite formate datagrama. Format datagrama za trenutnu verziju IP-a, IPv4, prikazanje na slici 4.13. Format datagrama za novu verziju IP-a (IPv6) opisan je pri kraju ovog odeljka.

Duina zaglavlja. Poto datagram IPv4 moe da sadri promenljivi broj opcija (koje su
ukljuene u zaglavlje datagrama IPv4) ova etiri bita su potrebna da bi se odredilo mesto u IP datagramu gde poinju sami podaci. Veina IP datagrama ne sadri opcije, pa tipini IP datagram ima zaglavlje od 20 bajtova.

Control Message Protocol), Internetov protokol mrenog sloja za izvetavanje o grekama i davanje
informacija.

Vrsta usluge. Bitovi za vrstu usluge (type of service, TOS) ukljueni su u IPv4 zaglavlje da bi
se omoguilo prepoznavanje razliitih tipova" IP datagrama (na primer, datagrami koji zahtevaju to manje kanjenje, veliki propusni opseg ili pouzdanost). Na primer, moglo bi da bude korisno razlikovati datagrame u real-

175

POGLAVLJE A MRENI SLOJ

4.4 INTERNET PROTOKOL (IP)

175

Protokol. Ovo polje se koristi samo kada IP datagram stigne do konanog odredita. Vrednost u ovom polju ukazuje na konkretan protokol transportnog sloja kojem bi trebalo predati podatke iz IP datagrama, Na primer, vrednost 6 znai da podatke treba predati protokolu TCP, dok vrednost ] 7 znai da podatke treba predati protokolu UDP. Spisak svih moguih brojeva moete nai u knjigama [RFC 1700; RFC 3232]. Obratite panju na to da broj protokola u IP datagramu ima ulogu potpuno analognu broju porta u segmentu transportnog sloja. Broj protokola je Iepak koji vezuje mreni i transportni sloj, dok je broj porta lepak koji vezuje transportni i aplikacijski sloj. U poglavlju 5 emo videti da okvir sloja veze takoe sadri posebno polje koje povezuje sloj veze sa mrenim slojem. Kontrolni zbir zaglavlja. Kontrolni zbir zaglavlja pomae ruteru u otkrivanju bil-skih greaka u primljenom IP datagramu. Kontrolni zbir zaglavlja izraunava se tako to se svaka dva bajta u zaglavlju uzmu kao broj, pa se ti brojevi saberu aritmetikom komplementajedinice. Kao stoje opisano u odeljku 3.3, komplement jedinice za ovaj zbir, poznat kao Internetski kontrolni zbir, uva se u polju kontrolnog zbira. Ruter izraunava kontrolni zbir zaglavlja za svaki primljeni IP datagram i otkriva greku ako kontrolni zbir u zaglavlju datagrama nije jednak izraunatom kontrolnom zbiru. Ruteri obino odbacuju datagrame u kojima otkriju greku. Obratite panju na to da kontrolni zbir mora da se ponovo izrauna i sauva u svakom ruteru zato to se polje TTL i eventualna polja opcija mogu promeniti. Zanimljiv opis brzih algoritama za izraunavanje Internetskog kontrolnog zbira nalazi se u knjizi [RFC 1071]. Ovde se esto postavlja pitanje zbog ega TCP/IP vri proveravanje greaka i u transportnom i u mrenom sloju? Ima mnogo razloga za to dupliranje. Prvo, primetiete da se u IP sloju kontrolni zbir pravi samo za zaglavlje, dok se kontrolni zbir TCP/UDP izraunava nad celim TCP ili UDP segmentom. Drugo, TCP/UDP i IP ne moraju biti iz iste familije protokola. TCP moe u principu da se izvrava i preko drugih protokola (na primer, ATM-a), a IP moe da prenosi podatke koji nee biti predati u TCP/UDP. IP adrese izvora i odredita. Kada izvor napravi datagram, stavlja svoju IP adresu u polje IP adrese izvora a adresu krajnjeg odredita u polje IP adrese odredita. esto izvomi raunar utvruje adresu odredita pomou DNS pretraivanja kao to je opisano u poglavlju 2. IP adresiranje detaljno obraujemo u odeljku 4.4.2. Opcije. Polje opcija omoguava proirivanje IP zaglavlja. Namera je bila da se opcije zaglavlja koriste retko - otud i odluka da se smanji optereenje tako to se informacije u poljima opcija ne ukljuuju u svako zaglavlje datagrama. Meutim, ve samo postojanje opcija komplikuje stvari - poto zaglavlja datagrama mogu da budu promenljive duine, ne moe se a priori utvrditi gde poinje polje podataka. Osim toga, poto neki datagrami zahtevaju obradu opcija a drugi ne, vreme potrebno za obradu IP datagrama u ruteru moe biti veoma razliito. Ova razmatranja postaju posebno znaajna za IP obradu u ruterima i raunarima visokih performansi. Zbog tih i jo nekih razloga, IP opcije su izbaene iz IPv6 zaglavlja, kao to se opisuje u odeljku 4.4.4.

nom vremenu (na primer, iz neke aplikacije za IP telefoniju) od saobraaja koji nije u realnom vremenu (na primer, FTP). Nedavno je jedan od glavnih proizvoaa opreme za rutiranje (Cisco) uveo pravilo da prva tri bita u vrsti usluge definiu nivo usluga koje ruter moe da obezbedi. Konkretan nivo usluge koja se prua je pitanje politike koju utvruje administrator rutera. Pitanje diferenciranih usluga detaljno emo obraditi u poglavlju 7. Duina datagrama. Ovo je ukupna duina IP datagrama (zaglavlje plus podaci), merena u bajtovima. Poto je ovo polje duine 16 bitova, teoretski maksimalna veliina IP datagrama je 65.535 bajtova. Meutim, retko se deava da su data-grami vei od 1.500 bajtova. Sdeniifikator, oznake i ofset fragmentacije. Ova tri polja vezana su za takozvanu IP fragmentaciju, temu koju emo uskoro detaljno obraditi. Zanimljivo je da nova verzije IP-a, IPv6, ne dozvoljava da se fragmentiranje vri u ruterima. Vreme vaenja. Vreme vaenja {time-to-iive, TTL) je polje koje slui da bi se spreilo veno kruenje datagrama u mrei (na primer, zbog dugotrajne petlje rutiranja). Ovo polje se smanjuje za 1 u svakom ruteru gde se datagram obrauje. Ako polje TTL dostigne vrednost 0, datagram mora da se odbaci.

-i

176

POGLAVLJE 4 - MRENI SLOJ

4.4 . INTERNET PROTOKOL (IP)

329!

Podaci (korisni podaci). Na kraju, dolazimo do poslednjeg i najvanijeg polja - razloga to datagram uopte postoji! U veini sluajeva, polje podataka u IP datagramu sadri segment transportnog sloja (TCP ili UDP) koji treba isporuiti na odredite. Meutim, polje podataka moe da sadri i druge vrste podataka, kao to su ICMP poruke (koje opisujemo u odeljku 4.4.3). Obratite panju na to da IP datagram sadri ukupno 20 bajtova zaglavlja (pod pretpostavkom da nema opcija). Ako datagram prenosi TCP segment, tada svaki (nefragmentirani) datagram pored poruke iz aplikacijskog sloja prenosi ukupno 40 bajtova zaglavlja (20 bajtova IP zaglavlja i 20 bajtova TCP zaglavlja).

Fragmentacija IP datagrama U poglavlju 5 emo videti da ne mogu svi protokoli sloja veze da prenose pakete iste veliine. Neki protokoli mogu da nose velike" pakete, dok drugi protokoli mogu da nose samo male". Na primer, Ethernet paketi ne mogu da prenesu vie od 1.500 bajtova podataka, dok paketi mnogih regionalnih linkova ne mogu da prenose vie od 576 bajtova. Maksimalna koliina podataka koju moe da prenosi paket sloja veze naziva se maksimalna jedinica za transfer (maximum transfer unit,. MTU), Poto se svaki IP datagram radi prenosa od jednog rutera do sledeeg enkapsulira u paket sloja veze, MTU protokola u sloju veze postavlja strogo ogranienje na duinu IP datagrama. Stroga granica za veliinu IP datagrama nije veliki problem. Problem je to linkovi na ruti izmeu poiljaoca i odredita moda koriste razliite protokole sloja veze i svaki od tih protokola moe da ima drugaiji MTU. Da biste bolje razumeli ovaj problem, zamislite da ste vi jedan ruter koji povezuje nekoliko linkova od kojih svaki izvrava drugaiji protokol sloja veze sa razliitim MTU-ovima. Pretpostavimo da ste primili IP datagram od jednog linka, proverili u svojoj tabeli prosleivanja koji je izlazni link i utvrdili da taj izlazni link ima MTU manji od duine primljenog IP datagrama. Nastupa panika - kako da stisnete veliki IP paket u polje korisnih podataka paketa sloja veze? Reenje ovog problema je da se podaci iz IP datagrama fragmentiraju" na dva ili vie manjih IP datagrama, a zatim se ti manji datagrami poalju preko izlaznog linka. Svaki od ovih manjih datagrama naziva se fragment. Fragmenti moraju ponovo da se sastave pre nego to se predaju transportnom sloju na odreditu. Zaista, i TCP i UDP oekuju da od mrenog sloja prime kompletne nefragmentirane segmente. Projektanti protokola IPv4 smatrali su da bi ponovno sastavljanje (i eventualno ponovno fragmentiranje) datagrama u ruterima uvelo znaajnu komplikaciju u protokol i umanjilo performanse rutera. (Da ste vi'ruter, da li biste pored svog ostalog posla koji imate voleli jo i da sastavljate fragmente?) Drei se principa da mreni sloj treba da ostane jednostavan, projektanti IPv4 odluili su da zadatak ponovnog sastavljanja datagrama prepuste krajnjim sistemima, a ne mrenim ruterima.

Kada odredini raunar primi niz datagrama sa istog izvora, on mora da utvrdi da li su neki od tih datagrama fragmenti nekog prvobitno veeg datagrama. Ako utvrdi da su neki datagrami u stvari fragmenti, on mora da utvrdi kada je primio poslednji fragment i kako bi primljene fragmente trebalo ponovo sastaviti da bi se dobio prvobitni datagram. Da bi odredini raunar mogao da obavi te zadatke ponovnog sastavljanja, projektanti IP-a (verzija 4) stavili su u IP datagram polja identifikacija, oznake i ofseta fragmentacije. Kada se datagram pravi, otpremni raunar mu osim izvorne i odredine adrese dodeljuje i identifikacioni broj. Otpremni raunar poveava identifikacioni broj za svaki poslati datagram. Kada ruter mora da fragmentira datagram, svaki novi datagram (tj. fragment) oznaava se izvornom adresom, odredinom adresom i identifikacionim brojem prvobitnog datagrama. Kada odredite primi niz datagrama od istog otpremnog raunara, on moe da ispita identifikacione brojeve datagrama i utvrdi koji su datagrami u stvari fragmenti jednog istog veeg datagrama. Postoje IP nepouzdana usluga, jedan ili vie fragmenata moda nee ni stii na odredite. Zbog toga, da bi odredini raunar bio potpuno siguran daje primio poslednji fragment prvobitnog datagrama, poslednji fragment ima u bitu oznake vrednost 0, dok svi ostali fragmenti imaju vrednost 1. Osim toga, da bi odredini raunar mogao da utvrdi da li neki fragment nedostaje (i takoe da bi bio u stanju da ponovo sastavi fragmente u pravilnom redosledu), on koristi polje ofseta da odredi lokaciju fragmenta u prvobitnom IP datagramu. Na slici 4.14 dat je jedan primer. Datagram od 4.000 bajtova (20 bajtova IP zaglavlja plus 3.980 bajtova IP korisnih podataka) stie na ruter i mora da se prosledi na link iji MTU iznosi 1.500 bajtova. To znai da 3.980 bajtova podataka iz prvobitnog datagrama treba podeliti u tri fragmenta (od kojih je svaki takoe IP datagram), Pretpostavite da prvobitni datagram ima identifikacioni broj 777. Karakteristike tri dobi-jena fragmenta prikazane su u tabeli 4,2. Vrednosti u tabeli 4.2 odraavaju zahtev da broj bajtova prvobitnih korisnih podataka u svim fragmentima osim poslednjeg mora biti deljiv sa 8 i da se vrednost ofseta navodi u jedinicama od po 8 bajtova. Korisni podaci iz datagrama predaju se transportnom sloju na odreditu tek poto IP sloj potpuno rekonstruie prvobitni IP datagram. Ako jedan ili vie fragmenata ne stigne do odredita, datagram se odbacuje i ne predaje se transportnom sloju. Ali, kao to smo nauili u prethodnom poglavlju, ako se u transportnom sloju koristi TCP, tada e TCP obaviti oporavak od ovog gubitka tako to e zahtevati da izvor ponovo poalje podatke iz prvobitnog datagrama. Na veb lokaciji ove knjige pripremili smo Java aplet koji pravi fragmente. Vi zadate veliinu pristiglog datagrama, MTU i identifikaciju pristiglog datagrama. Aplet vam automatski generie fragmente. Potraite adresu http://wvAV.awl.com/kurose-ross.

I 177

POGLAVLJE 4

MRENI SLOJ

4.4

INTERNET PROTOKOL (IP)

331

4,4.2 IPv4 adresiranje


Sada skreemo panju na adresiranje protokola IPv4. Mada adresiranje moe da izgleda kao jednostavna i moda dosadna tema, nadamo sc da ete do kraja ovog poglavlja uvideti da adresiranje na Internetu nije samo sona, suptilna i zanimljiva tema ve i daje sutinski vano za Internet. IPv4 adresiranje odlino je obraeno u [Semeria 1996] i prvom poglavlju knjige [Stewart 1999]. Meutim, pre nego to preemo na IP adresiranje, moramo neto rei o nainu na koji su raunari i ruteri povezani u mreu. Raunar obino ima samo jedan link prema mrei. Kada IP u tom raunaru hoe da poalje datagram, on e to uraditi preko ovog linka. Granica izmeu raunara i fizikog linka naziva se interfejs. Razmotrite sada ruter i njegove interfejse. Postoje ruterov zadatak da prima datagrame u jednom linku i prosledi ga na neki drugi link, ruter obavezno mora biti povezan sa dva ili vie linkova. Granica izmeu rutera i bilo kojeg od njegovih linkova takode se naziva interfejs. Ruter znai ima vie interfejsa, po jedan za svaki link, Poto svaki raunar i ruter moe da alje i prima IP datagrame, IP zahteva da svaki interfejs raunara i rutera ima vlastitu IP adresu. Prema tome, IP adresa je tehniki pridruena interfejsu, a ne raunaru ili ruteru koji sadri taj interfejs. Svaka IP adresa dugaka je 32 bita (etiri bajta), pa tako postoji ukupno 2 moguih IP adresa.
n

Kako je 231 priblino 4,3 * IO3, evidentno je da postoji oko 4 milijarde moguih IP adresa. Te adrese se obino piu u takozvanoj decimalnoj notaciji sa ta-kama, u kojoj se svaki bajt adrese zapisuje u decimalnom obliku a od ostalih bajtova n adresi se razdvaja takama. Uzmite kao primer IP adresu 193.32.216.9. Broj 193 je decimalna vrednost prvih osam bitova u adresi; broj 32 je decimalna vrednost drugih osam bitova u adresi itd. Prema tome, adresa 193.32.216.9 vi binarnom obliku bi bila 11000001 00100000 11011000 00001001 Svaki interfejs u svakom raunaru i ruteru u globalnom Internetu mora da ima IP adresu koja je globalno jedinstvena (osim interfejsa iza NAT-ova koje opisujemo na kraju ovog odeljka). Ove adrese, meutim, ne mogu da se biraju na proizvoljan nain. Jedan deo IP adrese interfejsa odreuje podmrea na koju je povezan. Na slici 4.15 5 imamo jedan primer IP adresiranja i interfejsa. Na ovoj slici, jedan ruter (sa tri interfejsa) povezuje sedam raunara. Pogledajte bolje IP adrese dodeljene interfejsima raunara i rutera; treba obratiti panju na nekoliko stvari. Tri raunara u gornjem levorn delu slike 4.15 i interfejs rutera sa kojim su povezani imaju IP adrese u obliku 223.1.1.xxx. To jest, svi imaju ista 24 bita IP adrese. Oni su takoe meusobno povezani jednim jedinim fizikim linkom bez ikakvih

posrednih rutera. (Ta mrea bi mogla da bude, na primer, Ethernet LAN pa bi u tom sluaju
inter-fejsi bili povezani Ethernet habom ili Ethernet komutatoroin; videti poglavlje 5.) U IP argonu, interfejsi \i ta tri raunara i gornji levi interfejs u mieru ine jednu podmreu [RFC 950]. (Podmrea se u internetskoj literaturi naziva i I P mreom ili prosto mreom.) IP adresiranje dodeljuje adresu ovoj podmrei: 223.1.1,0/24, gde

-1

178

POGLAVLJE 4

MRENI SLOJ

4.4 - INTERNET PROTOKOL (IP)

333

oznaka /24", koja se ponekad naziva maska podmree, znai da levih 24 bita 32 bitne veliine predstavljaju adresu podmree. Podmrea 223.1.1.0/24 se znai sastoji od tri interfejsa raunara (223.1.1.1, 223.1.1.2 i 223.1.1.3) i jednog interfejsa rutera (223.1.1.4). Svaki novi raunar koji se povee na podmreu 223.1.1.0/24 morao bi da ima adresu u obliku 223.1.1.xxx. Na slici 4.15 prikazane su jo dve podmree: podmrea 223.1.2.0/24 i podmrea 223.1.3.0/24. Na slici 4.16 prikazane su tri IP podmree sa slike 4.15. IP definicija podmree nije ograniena na Ethernet segmente koji povezuju vie raunara sa jednim interfejsom na ruteru. Da biste to bolje shvatili, razmotrite sliku 4.17 na kojoj su prikazana tri rutera meusobno povezana linkovima od vora do vora. Svaki ruter ima tri interfejsa, po jedan za svaki link od vora do vora i jedan za link za difuzno emitovanje koji direktno povezuje ruter sa parom raunara. Koje IP podmree imamo ovde? Tri podmree, 223.1.1.0/24, 223.1.2.0/24 i 223.1.3.0/24 sline su podmreama koje smo videli na slici 4.15. Ali, obratite panju na to da u ovom primeru postoje jo tri podmree: jedna podmrea 223.1.9.0/24 za interfejse koji povezuju rutere Rl i R2; jo jedna podmrea 223.1.8.0/24 za interfejse koji povezuju rutere R2 i R3; i trea podmrea 223.1.7.0/24 za interfejse koji povezuju rutere R3 i Ri, Za opti meusobno povezani sistem rutera i raunara moemo upo-trebiti sledee pravilo za definisanje podmrea u sistemu.

Da bi se odredile podmree, prvo razdvajamo svaki interfejs od svog raunara ili rutera i lako dobijamo ostrva izolovanih mrea na kom se interfejsi nalaze na krajevima izolovanih mrea. Svaku takvu izolovanu mreu tada nazivamo podmreom. Ako primenimo ovaj postupak na meusobno povezani sistem sa slike 4.17, dobiemo est ostrva ili podmrea. Iz gornjeg opisa je jasno da e organizacija (kompanija ili akademska ustanova) sa vie Ethernet segmenata i linkova od vora do vdra imati vie podmrea, tako da e svi ureaji u datoj podmrei imati istu adresu podmree. U principu, razliite podmree mogu da imaju sasvim razliite adrese podmree. U praksi, meutim, njihove adrese podmrea imaju dosta zajednikog. Da biste shvatili zato, recimo neto o adresiranju na globalnom Internetu. Strategija dodeljivanja adresa na Internetu poznata je kao besklasno meudo-mensko rutiranje CIDR (Classless Interdomain Routing - akronim se izgovara ,,sai-der") [RFC 1519]. CIDR uoptava pojam adresiranja podmree. Kao kod adresiranja podmree, 32-bitna IP adresa se deli na dva dela opet u decimalnom obliku sa takama a.b.c.d/x, gde x oznaava broj bitova u prvom delu adrese. Najznaajnijih x bitova u adresi oblika a.b.c.d/x, ini mreni deo IP adrese i esto se naziva prefiksom (ili mrenim prefiksom) adrese. Organizaciji se obino dodeljuje blok susednih adresa, tj. raspon adresa sa zajednikim prefiksom (proitajte opis: Principi u praksi). U ovom sluaju, IP adrese ureaja u organizaciji imae

179

POGLAVLJE 4

MRENI SLOJ

4.4 . INTERNET PROTOKOL (IP)

335

podmree unutar organizacije, kao to je gore opisano. Na primer, prefiks a.b.c.d/24 bi mogao da se odnosi na konkretnu podmreu unutar organizacije. Dok nije prihvaen CIDR, mreni deo IP adrese je morao da bude dugaak 8, 16 ili 24 bitova, po adresnoj emi poznatoj kao adresiranje zasnovano na klasama, jer su se podmree ije su adrese imale 8, 16 ili 24 bitova bile poznate kao mree klase A, B; odnosno C. Zahtev da deo IP adrese koji se odnosi na mreu bude tano jedan, dva ili tri bajta pokazao se problematinim za podrku sve veeg broja organizacija sa malim i srednjim podmreama. Podmrea klase C (/24) mogla bi da sadri samo 2E - 2 = 254 raunara (dve od 2a = 256 adresa rezerviu se za posebnu upotrebu) - to nije dovoljno za mnoge organizacije. Meutim, podmrea klase B (/16), koja moe da podri do 65.634 raunara je prevelika. U adresiranju zasnovanom na klasama organizacija koja je imala 2.000 raunara obino je dobijala adresu podmree klase B (/16). To je dovelo do naglog troenja adresnog prostora klase B i loe iskorie-nosti dodeljenog adresnog prostora. Na primer, organizaciji koja bi za svojih 2.000 raunara koristila adresu klase B bio je dodeljen adresni prostor za 65.534 interfejsa - pa je ostajalo neiskorieno 63,000 adresa koje su se mogle dodeliti drugim organizacijama. Ali, ne bi bilo u redu da ne pomenemo jednu drugu vrstu IP adrese, naime, IP adresu za difuzno emitovanje 255.255.255.255. Kada raunar emituje datagram sa adresom odredita 255.255.255.255, poruka se isporuuje svim raunarima u istoj podmrei. Ruteri opciono prosleduju tu poruku i susednim [p podmreama (mada to obino ne rade). U poglavlju 5 emo videti primer kako se koristi difuzno emitovani IP paket kada budemo opisivali protokol DHCP. Poto smo detaljno prouili IP adresiranje, moramo da saznamo kako raunar ili podmrea uopte dobija IP adresu (ili adrese). Prvo emo pogledati kako organizacija dobija blok adresa za svoje ureaje, a zatim emo videti kako ureaj (na primer raunar) dobija jednu od adresa iz bloka adresa koje su dobijene za organizaciju.

zajedniki prefiks. Kada u odeljku 4.6 budemo obraivali Internetov protokol mtira-nja BGP, videemo da ruteri izvan mree ove organizacije uzimaju u obzir samo tih vodeih x bitova prefiksa. To jest, kada ruter van organizacije prosleuje datagram ija je odredina adresa u organizaciji, dovoljno je da uzme u obzir samo vodeih x bitova adrese. To znaajno smanjuje veliinu tabela prosledivanja u ruterima, poto e satno jedna stavka u obliku a.b.c.d/x biti dovoljna za prosledivanje paketa u svako odredite unutar organizacije. Preostalih 32 - x bitova adrese moe se posmatrati kao razlikovanje ureaja unutar organizacije, koji svi imaju isti mreni prefiks. Ti e bitovi biti u igri kada se paketi prosleduju u ruterima unutar organizacije. Ove bitove nieg reda organizacija bi mogla (ali ne mora) dalje da deli postupkom poznatim kao podmree. Na primer, pretpostavite da prvih 21 bitova CIDR adrese

Dobijanje bloka mrenih adresa


Da bi dobio blok IP adresa koje e se koristiti u podmrei organizacije, administrator mree moe prvo da pozove svog posrednika Internet usluga koji e mu obezbe-diti adrese iz jednog veeg bloka adresa koje su ranije dodeljene posredniku Internet usluga. Na primer, posredniku Internet usluga mogao je biti dodeljen blok adresa 200.23.16.0/20. Zatim bi on mogao da podeli svoj blok adresa na osam manjih blokova adresa jednake veliine i preda po jedan od tih blokova svakoj od najvie osam organizacija koje on podrava kao to je prikazano dole u tekstu. (Podvukli smo mreni deo ovih adresa.)

a.b.c.dlll prvih 21 bitova znae mreni prefiks organizacije i zajedniki su za IP adrese svih raunara
te organizacije. Preostalih 11 bitova zatim odreuju konkretne raunare u organizaciji. Unutranja struktura organizacije bi mogla da bude takva da se tih 11 desnih bitova upotrebi za

336

POGLAVLJE 4 - MRENI SLOJ

4.4 . INTERNET PROTOKOL [IP]

180

Posrednikovblok200.23.16,0/20 Organizacija 0 Organizacija 1 Organizacija 2 200.23.16.0/23 200.23.18.0/23 200.23.20.0/23

11001000 00010111 00010000 00000000 11001000 00010111 00010000 00000000 11001000 00010111 00010010 00000000 11001000 00010111 00010100 00000000

Agregacija adresa izuzetno dobro funkcionie kada se blokovi adresa dodeljuju posrednicima za Internet usluge, a zatim od posrednika klijentskim organizacijama. Ali, ta se dogaa kada se adrese ne dodeljuju na takav hijerarhijski nain? ta e se, na primer, dogoditi ako Organizacija 1 poslane nezadovoljna loim uslugama posrednika FBN i odlui da se prebaci kod drugog posrednika, na primer R-U? Kako je prikazano na slici 4.18, posrednik R-U je vlasnik bloka adresa 199.31.0.0/16, ali IP adrese Organizacije l su naalost izvan tog bloka adresa. ta bi sada trebalo uraditi? Naravno, Organizacija 1 bi mogla da prenumerie sve svoje rutere i raunare na adrese unutar bloka adresa posrednika R-U, Ali, to je skupo reenje, i Organizacija 1 bi ve zbog toga ubudue mogla da pree od posrednika R-U kod nekog drugog. Obino se prihvata reenje da Organizacija 1 zadri svoje IP adrese u domenu 200.23.18.0/23. U tom sluaju, kao to je prikazano na slici 4.19, posrednik FBN i dalje objavljuje blok adresa 200.23.16.0/20, a posrednik

Organizacija 7

200.23.30.0/23

11001000 00010111 00011110 00000000

PRINCIPI U PRAKSI
Ovaj primer posrednika za Internet usluge koji povezuje osam organizacija sa Internetom lepo ilustruje kako paljivo dodeljene CIDR adrese olakavaju rutiranje. Pretpostavimo, kao to je prikazano na slici 4.1 8, da posrednik (koga emo nazvati FBN) objavljuje spoljnom svetu da mu treba poslati sve datagrame ijih prvih 20 adresnih bitova glasi 200.23.16.0/20. Ostatak sveta ne mora da zna da se unutar bloka adresa 200.23.16.0/20 nalazi osam drugih organizacija od kojih svaka ima vlastitu podmreu. Ova mogunost da se koristi jedan mreni prefiks za oglaavanje vie mrea esto se naziva agregacija adresa (a takode i agregacija ruta ili sumiranje ruta].

R-U blok 199.31.0.0/16. Meutim, posrednik R-U sada objavljuje jo i blok adresa za Organizaciju 1, 200.23.1 8.0/23. Koda ostali ruteri u veem Internetu naiu na blokove adresa 200.23.16.0/20 (posrednika FBN) i 200.23.1 8.0/23 [posrednika, R-U), a ele da rufiraju prema nekoj adresi u bloku 200.23.1 8.0/23 oni e upolrebiri pravilo najdueg prefiksa [videti odeljak 4.2.2) i ruti-rati prema posredniku R-U poto on objavljuje dui (precizniji) adresni prefiks za traenu adresu odredita.

181

POGLAVLJE 4

MRENI SLOJ

4.4 . INTERNET PROTOKOL (IP)

339

Dobijanje skupa adresa od posrednika internet usluga je jedan nain da se dobije blok adresa, aii to nije jedini nain. Jasno je, mora da postoji neki nain na koji sam posrednik Internet usluga dobija blok adresa. Da li postoji globalno ovlaeno telo sa najviom odgovornou za upravljanje prostorom IP adresa i dodeljivanje blokova adresa posrednicima Internet usluga i ostalim organizacijama? Zaista postoji! IP adresama upravlja Internet korporacija za dodeljena imena i brojeve (Interne! Corporation for AssignedNames and Numbers, ICANN) [ICANN 2004] na osnovu smemica postavljenih u RFC 2050. Uloga neprofitne organizacije ICANN [NTIA 1998] nije samo dodeljivanje IP adresa, ve takode i upravljanje osnovnim DNS serverima. Ona takoe dodeljuje imena domena i razreava sporove o imenima domena. ICANN dodeljuje adrese regionalnim Internet registrima (na primer, ARIN, RIPE, APNIC i LACNIC koji zajedno ine organizaciju za podrku adresa ICANN ASO-ICANN 2004]) koji zatim dodeljuju adrese i upravljaju svaki u svom regionu. Pribavljanje adrese raunara Kada organizacija pribavi blok adresa od svog posrednika Internet usluga, ona moe da dodeli pojedinane IP adrese raunarskim i ruterskim interfejsima u svojoj organizaciji. Za ruterske adrese interfejsa, sistemski administrator runo konfigurie IP adrese u ruter (esto to obavlja daljinski pomou alatki za upravljanje mreom). Raunar moe da dobije IP adresu na jedan od sledea dva naina: Runo konfigurisanje. Sistemski administrator runo konfigurie IP adresu u raunar (obino u datoteku). Protokol za dinamiko konfigurisanje raunara (DHCP, Dynamic Host Configu-ration Protokol) [RFC 2131 j. DHCP omoguava raunaru da pribavi (automatski dodeljenu) IP adresu, kao i da sazna dodatne informacije kao Stoje adresa njegovog rutera za prvi skok i adresa njegovog DNS servera. DHCP je u stanju da automatizuje mrene aspekte povezivanja raunara i on se esto naziva plug-and-play protokolom. Zbog tog svojstva on je veoma privlaan mrenim administratorima koji bi inae morali te zadatke da obave runo! DHCP takoe ima iroku primenu u kunim mreama za pristup Internetu i u beinim LAN-ovima u kojima raunari esto pristupaju mrei i naputaju je. Mreni administrator moe da konfigurie DHCP tako da dati raunar dobije postojanu IP adresu tj. da mu se svaki put kada pristupi mrei uvek dodeli ta ista IP adresa. Ali, mnoge organizacije i kuni posrednici Internet usluga nemaju dovoljno IP adresa za sve svoje raunare. U takvom sluaju, DHCP se esto koristi da bi se svakom raunaru koji se povezuje dodelila privremena IP adresa. Na primer, razmotrite kunog posrednika Internet usluga koji ima 2.000 korisnika, ali ih nikad nije istovremeno prikljueno vie od 400. Da bi zadovoljio svojih 2.000 korisnika, posredniku Internet usluga nije potreban blok od 2.000 adresa. Ako umesto toga,

upotrebi DHCP server za dinamiko dodeljivanje adresa, bie mu dovoljan blok od 512 adresa (na primer, blok u obliku 200.23.30.0/23). Kako raunari dolaze i odlaze, DHCP server mora da aurira svoju listu dostupnih IP adresa. Kad god se raunar prikljui, DHCP server mu dodeljuje proizvoljnu adresu iz svog raspoloivog skupa (iz tzv. pula) dostupnih adresa; kada se raunar iskljui, adresa se vraa u pul. Drugi znaajan razlog to DHCP ima tako iroku primenu je pojava mobilnog raunarstva. Uzmite, na primer, studenta koji nosi laptop iz spavaonice u biblioteku pa u uionicu. Vrlo je verovatno da e na svakom mestu student da se prikljui na drugu mreu pa e mu na svakom cd tih mesta biti potrebna nova IP adresa. DHCP je idealan za takvu situaciju, poto mnogi korisnici dolaze i odlaze, a adrese su potrebne samo za ogranieno vreme. Protokol DHCP ustvari premouje granicu izmeu mrenog sloja i sloja veze u Internetovoj familiji protokola sa pet slojeva. Zato emo detaljan opis implementacije usluge DHCP odloiti do poglavlja 5 u kojem se obrauje sloj veze. Prevodioci mrenih adresa (NAT-ovi) S obzirom na ono to smo gore rekli, sada smo svesni da svaki ureaj sposoban za IP mora da ima IP adresu. Sa naglim irenjem takozvanih SOHO (srna!! ofjice, home office) mrea, to bi naizgled znailo da bi kad god neki SOHO hoe da instalira LAN i meusobno povee vie maina, posrednik za Internet usluge morao da mu dodeli raspon adresa za sve te maine. Ako bi mrea kasnije porasla (na primer, kada deca kod kue ne bi imala samo vlastite raunare, ve i PDA raunare, telefone osposobljene za IP i umreene Gamebov konzole) morao bi im se dodeliti vei broj adresa. A ta ako je posrednik u meuvremenu ve drugima dodelio neprekidne delove trenutnog adresnog prostora SOHO mree? I ta uopte prosean kuni korisnik hoe (ili treba) da zna o upravljanju IP adresama? Sreom, postoji jednostavniji nain za dodeljivanje adresa, prevoenje mrenih adresa (Network Addrcss Translation, NAT) i on se u takvim situacijama sve vie koristi [RFC 2663; RFC 3022], Na slici 4.20 prikazanje NAT ruter. Kuni NAT ruter ima interfejs koji spada u kunu mreu na desnoj strani slike 4.20. Adresiranje unutar kune mree isto je kao to smo videli ranije - sva etiri interfejsa kune mree imaju istu mrenu adresu, 10.0.0/24. Adresni prostor 10.0.0/8 je jedan od tri dela prostora IP adresa rezervi-sanih u [RFC 1918] za privatnu mreu ili carstvo sa privatnim adresama kao to je kuna mrea sa slike 4.20. Carstvo sa privatnim adresama j e mrea ije adrese neto znae samo ureajima unutar te mree. Da biste videli zastoje to vano, razmotrite injenicu da postoji na stotine hiljada kunih mrea od kojih mnoge koriste isti adresni prostor, 10.0.0/24. Ureaji unutar date kune mree mogu jedan drugome da alju pakete koristei adresiranje 10.0.0/24. Meutim, jasno je da paketi koji se alju preko granice kune mree u vei globalni Internet ne mogu da koriste te adrese (bilo kao adresu izvora ili kao adresu odredita) poto ima na stotine hiljada mrea koje koriste taj blok adresa. To znaci da adrese 10.0.0/24 jedino u datoj kunoj mrei neto znae.

182

POGLAVLJE 4 . MRENI SLOJ

4.4 . INTERNET PROTOKOL (IP)

34ij

Ali ako privatne adrese imaju znaenje samo unutar date mree, kako se sprovodi adresiranje ako se paketi alju u globalni Internet ili se primaju iz Interneta gde su adrese obavezno jedinstvene? Odgovor se nalazi u NAT prevoenju, NAT ruter za spoljni svet ne izgleda kao ruter. Umesto toga, NAT ruter se prema spoljnom svetu ponaa kao jedan ureaj sa jednom IP adresom. Na slici 4.20 sav saobraaj koji polazi od kunog rutera prema veem Internetu ima izvornu IP adresu 138.76.29.7 i sav saobraaj koji dolazi do kue mora imati adresu odredita 138.76.29-7. U sutini, NAT ruter krije detalje kune mree od spoljnog sveta. (Moda se pitate odakle raunari u kunoj mrei dobijaju adrese i odakle ruter dobija tu jednu IP adresu. esto je odgovor isti - od DHCP-a! Ruter dobija svoju adresu od DHCP servera kod posrednika Internet usluga, a isti kuni ruter izvrava DHCP server koji obezbeduje adrese za raunare u adresnom prostoru kune mree pod kontrolom NAT DHCP rutera.) Sada se moda pitate kako taj ruter zna kojem internom raunaru treba da prosledi dobijeni datagram ako svi datagrami koji do NAT rutera stiu iz regionalne mree imaju istu IP adresu odredita (konkretno, adresu interfejsa NAT rutera prema regionalnoj mrei)? Trik je u korienju NAT tabele prevoenja u NAT ruteru i u tome da Se u stavke tabele osim IP adresa dodaju i brojevi portova.

Razmotrite primer prikazan na slici 4.20. Uzmite da korisnik sedi za raunarom 10.0.0.1 u kunoj mrei i zatrai veb stranicu od nekog veb servera (port 80) sa IP adresom 128.119.40.186. Raunar 10.0.0.1 dodeljuje (proizvoljan) broj izvornog porta 3345 i alje datagram u LAN. NAT ruter prima datagram, pravi novi broj izvornog porta 5001 za taj datagram, zamenjuje izvornu IP adresu svojom IP adresom za WAN 138.76.29.7 i zamenjuje prvobitni broj izvornog porta 3345 sa 5001. Kada pravi novi broj izvornog porta NAT ruter moe da izabere bilo koji broj izvornog porta koji se trenutno ne nalazi u NAT tabeli prevoenja. (Obratite panju na to da poto polje za broj porta ima 16 bitova, protokol NAT moe da podri preko 60.000 istovremenih konekcija sa jednom samom IP adresom tog rutera za WAN!) NAT u ruteru takoe dodaje stavku u svoju NAT tabelu prevoenja. Veb server, u blaenom neznanju daje pristigli datagram koji sadri HTTP zahtev prepravljen u NAT ruteru, odgovara datagramom ija je odredina adresa IP adresa NAT rutera, a odredini port mu je 5001. Kada taj datagram stigne u NAT ruter, ovaj pomou odredine IP adrese i broja porta u svojoj NAT tabeli prevoenja pronalazi odgovarajuu IP adresu (10.0.0.1) i odredini broj porta (3345) za ita u kunoj mrei. Ruter tada u datagramu prepravlja odredinu adresu i odredini broj porta i prosleduje datagram u kunu mreu. NAT uiva iroku primenu poslednjih godina, ali trebalo bi pomenuti da mu se mnogi istunci u IETF zajednici uno protive. Prvo, oni prigovaraju da su brojevi portova namenjeni adresiranju procesa, a ne adresiranju raunara. (Ovo krenje zaista moe dovesti do problema za servere koji se izvravaju u kunoj mrei poto, kako smo videli u poglavlju 2, serverski procesi ekaju dolazne pozive na dobro poznatim brojevima portova.) Drugo, oni prigovaraju da ruteri treba da obrauju pakete samo do sloja 3. Tree, oni prigovaraju da protokol NAT kri takozvani argument od kraja do kraja; tj. da bi raunari trebalo direktno da komuniciraju, a ne da usputni vorovi menjaju IP adrese i brojeve portova. I etvrto, oni prigovaraju da bi za reenje nedostatka IP adresa trebalo upotrebiti IPv6 (videti odeljak 4.4.4), a ne lakomisleno krpiti problem pomou tapa i kanapa kao to je NAT. Ali, sviao vam se ili ne, NAT je postao znaajna komponenta Interneta. Jo jedan veliki problem sa NAT-om je da on ometa P2P aplikacije, ukljuujui P2P aplikacije za deljenje datoteka i P2P aplikacije za govor preko IP-a. Verovatno se seate iz poglavlja 2 da u P2P aplikaciji svaki ravnopravni uesnik A mora biti u stanju da inicira TCP konekciju sa bilo kojim drugim ravnopravnim uesnikom B. Sutina problema je u tome da kad je uesnik B iza NAT-a on ne moe da preuzme ulogu servera i prihvata TCP konekcije (osim ako je NAT posebno konfigurisan za P2P aplikacije). Kao to emo videti u domaim zadacima, ovaj NAT problem moe se izbei ako uesnik A prvo kontaktira sa uesnikom B preko posrednog uesnika C koji nije iza NAT-a i sa kojim je B uspostavio aktivnu TCP konekciju. Uesnik A moe tada da zatrai da B preko uesnika C inicira TCP konekciju direktno sa uesnikom A. im se uspostavi direktna P2P TCP konekcija izmeu uesnika A i B, oni mogu da razmenjuju poruke ili datoteke. Ovaj trik, koji se naziva preokret konekcije zaista se koristi u mnogim P2P aplikacijama. Ali ako su i A i B svako iza

183

POGLAVLJE 4 . MRENI SLOJ

4.4 . INTERNET PROTOKOL (IP)

343

svog NAT-a, tada je nemogue uspostaviti TCP konekciju izmeu ta dva uesnika, osim ako se NAT posebno ne konfigurie za konkretnu aplikaciju. Na opis NAT-a je ovde morao da bude kratak. NAT ima mnoge druge znaajne aspekte kao to su statiki i dinamiki NAT i uticaj NAT-a na protokole viih slojeva i na bezbednost. Vie detalja kao i argumente za NAT i protiv njega nai ete u knjigama [Cisco NAT 2004; Pliifer 2000].

Jo jedna zanimljiva ICMP poruka je poruka za suzbijanje izvora. Ta poruka se retko koristi u praksi. Prvobitna zamisao je bila da se tako kontrolie zaguenje - da zagueni ruter poalje nekom raunaru ICMP poruku za suzbijanje izvora i primora taj raunar da smanji brzinu slanja. Videli smo u poglavlju 3 da TCP ima vlastiti mehanizam za kontrolu zaguenja koji funkcionie u transportnom sloju bez kori-enja povratnih informacija mrenog sloja kakva bi bila ICMP poruka za suzbijanje izvora. U poglavlju 1 predstavili smo program Traceroute koji omoguava trasiranje rute od jednog raunara do bilo kog raunara na svetu. Zanimljivo je daje Traceroute implementiran pomou ICMP poruka. Da bi se utvrdila imena i adrese rutera izmeu izvora i odredita, Traceroute u izvoru alje na odredite niz obinih IP datagrama. Svaki od ovih datagrama nosi jedan UDP segment sa malo verovatnim brojem UDP porta. Prvi od ovih datagrama ima TTL = 1, drugi 2, trei 3 itd. Izvor takoe pokree tajmere za svaki datagram. Kada -ti datagram stigne do n-tog rutera, n-ti ruter primeuje daje TTL u datagramu upravo istekao. Prema pravilima protokola IP, ruter odbacuje datagram i alje izvoru ICMP poruku upozorenja (tip 11 ifra 0). Ta poruka upozorenja sadri ime rutera i njegovu IP adresu. Kada se ta ICMP poruka vrati do izvora, izvor uzima vreme povratnog puta iz tajmera, a ime i IP adresu n-tog rutera iz ICMP poruke.

4.4.3 ICMP: Internet Control Message Protocol


Sigurno se seate da mreni sloj Interneta ima tri glavne komponente: IP protokol o kojem smo govorili u prethodnom odeljku; internetski protokoli rutiranja (ukljuujui RIP, OSPF i BGP) o kojima se govori u odeljku 4.6 i ICMP, to je tema ovog odeljka. ICMP, definisan u RFC-u 792, koriste raunari i ruteri za meusobno prenoenje informacija o mrenom sloju. Najtipinija upotreba ICMP-a je izvetavanje o grekama. Na primer, kada se izvrava Telnet, FTP ili HTTP sesija, moda ste naili na poruku o greci kao to je Destination network unreachable" (odredina mrea nedostupna). Ta poruka je potekla iz ICMP-a. U nekom trenutku, neki IP ruter nije mogao da pronae putanju prema raunaru navedenom u vaoj Telnet, FTP ili HTTP aplikaciji. Taj ruter je napravio i poslao vaem raunaru ICMP poruku tipa 3 sa oba-vetenjem o greci. ICMP se esto smatra delom IP-a, alt u arhitekturi se nalazi neposredno iznad IP-a poto se ICMP poruke prenose unutar IP paketa. To jest, ICMP poruke se prenose kao korisni podaci IP-a, isto onako kao to se prenose TCP ili UDP segmenti. Slino tome, kada raunar primi IP paket u kome se kao protokol gornjeg sloja navodi ICMP, on demultipleksira paket ICMP-u, isto kao to bi ga demultipleksirao TCP-u ili UDP-u. ICMP poruke imaju polje tipa i polje ifre a sadre takoe zaglavlje i prvih osam bajtova IP datagrama koji je doveo do nastanka ICMP poruke (tako poiljalac moe da utvrdi koji je paket doveo do greke). Nekoliko ICMP poruka dato je na slici 4.21. Obratite panju na to da se ICMP poruke ne koriste samo za signalisanje greaka. Veoma poznati program ping alje navedenom raunaru ICMP poruku tipa 8 sa ifrom 0. Kada odredini raunar vidi zahtev za ehom, on vraa ICMP eho odgovor tipa 0 sa ifrom 0. Veina implementacija TCP/IP-a podrava ping server direktno u operativnom sistemu; tj. ovaj server nije proces. Izvomi oblik klijentskog programa ping moete nai u jedanaestom poglavlju knjige [Stevens 1990]. Obratite panju na to da klijentski program mora biti u stanju da naredi operativnom sistemu da napravi ICMP poruku tipa 8 sa ifrom 0.

184

POGLAVLJE 4

MRENI SLOJ

4.4 INTERNET PROTOKOL (IP)

345

Kako Traceroute na izvoru zna kada da prestane sa slanjem UDP segmenata? Sigurno se seate da za svaki poslati datagram izvor poveava polje TTL. Jedan od datagrama e kad tad stii do odredinog raunara. Poto datagram sadri UDP segment sa malo verovatnim brojem porta, odredini raunar e vratiti ICMP poruku da je odredini port nedostupan (tip 3 ifra 3). Kada izvorni raunar primi tu konkretnu poruku, on zna da ne treba vie da alje istraivake pakete. (Standardni program Traceroute u stvari alje grupe od po tri paketa sa istim TTL-om; njegov izvetaj tako sadri po tri rezultata za svaki TTL.) Na ovaj nain, izvorni raunar saznaje broj i identitet rutera koji se nalaze izmeu njega i odredinog raunara kao i trajanje povratnog puta meu njima. Obratite panju na to da klijentski program mora biti u stanju da naredi operativnom sistemu da napravi UDP datagrame sa odreenim vrednostima TTL, a takoe da bude u stanju da primi obavetenje operativnog sistema o prispeu ICMP poruka. Poto sada znate kako Traceroute funkcionie, moda ete poeleti da se jo malo igrate sa njim.

Format datagrama IPv6 Format datagrama IPv6 prikazanje na slici 4.22. Najvanije promene koje donosi IPv6 oigledne su iz formata datagrama: Proirene mogunosti adresiranja. IPv6 produava IP adresu sa 32 bita na 128 bitova. Tako je obezbeeno da se nikada ne potroe sve IP adrese. Sada svako zrno peska na svetu moe da dobije svoju IP-adresu. Osim jednoznanih i vie-znanih IP adresa, IPv6 je uveo i novu vrstu adresa, adrese za jednostruko upuivanje (anvcast), koje omoguavaju da se datagram koji se poalje na takvu adresu isporui samo jednom ali bilo kojem raunaru iz neke grupe. (To svojstvo moe, na primer, da se upotrebi da bi se poslao HTTP GET najblioj od niza preslikanih lokacija koje sadre dati dokument.) Kompaktnije 40-bajtno zaglavlje. Kao to emo kasnije opisati, niz polja iz protokola IPv4 je izbaeno ili je postalo opciono. Tako je dobijeno 40-bajtno zaglavlje fiksne duine koje omoguava bru obradu IP datagrama. Novo kodiranje opcija obezbeduje njihovu fleksibilniju obradu. Oznaavanje i prioriteti toka. IPv6 sadri lukavu definiciju toka. RFC 1752 i RFC 2460 tvrde da to omoguava oznaavanje paketa koji pripadaju konkretnom toku za koji poiljalac zahteva posebno rukovanje kao to su usluge u realnom vremenu ili kvalitet usluge vii od podrazumevanog". Na primer, audio i video prenosi mogli bi se tretirati kao tok. S druge strane, tradicionalnije aplikacije kao to su prenos datoteka i e-pota moda se nee tretirati kao tokovi. Saobraaj koji prenosi korisnik sa visokim prioritetom (na primer, neko ko plaa da za svoj saobraaj dobije bolju uslugu) takoe je mogue tretirati kao tok, Jasno

4.4.4 !Pv6 Poetkom 1990-ih godina, IETF (Internet Engineering Task Force) je pokrenuo razvijanje naslednika za protokol IPv4. Osnovnu motivaciju predstavljalo je to to se uvidelo da 32-bitni adresni prostor IP-a poinje da se troi, a da e zapanjujuom brzinom poveava broj novih podmrea i IP vorova koji se povezuju sa Internetom (i dobijaju jedinstvene IP adrese). Da bi se zadovoljila ova potreba za velikim adresnim prostorom, razvijen je novi IP protokol, IPv6. Projektanti protokola IPv6 iskoristili su tu priliku da ubace i poveaju i druge elemente na osnovu prikupljenog operativnog iskustva sa protokolom IPv4. Dugo se raspravljalo o trenutku kada e sve IPv4 adrese da se potroe (i kada nijedna nova podmrea nee moi da se povee sa Internetom). Na osnovu tadanjih trendova u dodeljivanju adresa, procena dvojice voa radne grupe IETF Address Lifetime Expectations bila je da e se adrese istroiti 2008 odnosno.2018 [Solenskv 1996]. APJN (American Registrv for Internet Numbers) je 1996. godine izvestio da su ve dodeljene sve IPv4 adrese klase A, 62 procenta adresa klase B i 37 procenata adresa klase C [ARIN 1996]. Mada su ove procene i izvetaji ukazivali na to da se ceo adresni prostor IPv4 nee tako brzo potroiti, bilo je jasno da e biti potrebno dosta vremena da se nova tehnologija uvede na tako iroko podruje, pa je pokrenut projekat ,,Next Generation IP" (IPng) [Bradner 1996; RFC 1752]. Rezultat tog projekta bila je specifikacija za IP verziju 6 (IPv6) [RFC 2460]. (esto se postavlja pitanje gde je nestao IPv5. Prvo se planiralo dae protokol ST-2 postati IPv5, ali se od ST-2 kasnije odustalo i umesto njega je prihvaen protokol RSVP koji opisujemo u poglavlju 7.) Odlini izvori informacija o protokolu IPv6 su matina stranica The IP Next Generation [Hinden 2002] i knjiga na tu temu Huitema [Huitema 1998].

185

POGLAVLJE 4

MRENI SLOJ

4.4 - INTERNET PROTOKOL (IP)

347

je meutim da projektanti protokola IPv6 predviaju eventualnu potrebu da se pravi razlika meu razliitim tokovima ak iako jo nije utvreno precizno znaenje toka. Zaglavlje IPv6 takoe sadri 8-bitno polje za klasu saobraaja, To polje, kao i polje TOS u protokolu IPv4, moe se upotrebiti za davanje prednosti odreenim paketima unutar toka ili za davanje prednosti datagramima iz odreenih aplikacija (na primer, ICMP paketima) nad datagramima iz drugih aplikacija (na primer, novosti). Kako smo ve napomenuli, poreenjem slike 4.22 sa slikom 4.13 otkriva se daje struktura datagrama IPv6 jednostavnija i kompaktnija. U protokolu IPv6 definisana su sledea polja: Verzija. Ovo polje od etiri bita sadri broj IP verzije. Jasno je da IPv6 u ovom polju sadri vrednost 6. Obratite panju na to da ako u ovo polje stavite vrednost 4, neete dobiti pravilan IPv4 datagram. (Kada bi to bilo tako, ivot bi bio mnogo jednostavniji - proitajte u nastavku opis prelaska sa protokola IPv4 na IPv6.) Klasa saobraaja. Svrha ovog 8-bitnog polja slina je polju TOS koje smo videli u protokolu !Pv4. Oznaka toka. Kao to smo ve opisali, ovo 20-bitno polje se koristi kao identifikacija toka datagrama. Duina korisnih podataka. Ova 16-bitna vrednost koristi se kao ceo broj bez predznaka kojim se odreuje broj bajtova u IPv6 datagramu iza 40-bajtnog zaglavlja fiksne duine. Sledee zaglavlje. Ovo polje ukazuje na protokol (na primer, TCP ili UDP) kome e se isporuiti sadraj (polje podataka) ovog datagrama. U ovom polju koriste se iste vrednosti koje se koriste u polju protokola u zaglavlju IPv4. Granica za broj skokova. Sadraj ovog polja umanjuje se za jedan u svakom ruteru koji prosledi datagram. Ako granica za broj skokova postane jednaka nuli, datagram se odbacuje. Adrese izvora i odredita. Razliiti formati 128-bitne adrese protokola IPv6 opisani su u RFC 2373. Podaci. Ovo je deo sa korisnim podacima u IPv6 datagramu. Kada datagram stigne na svoje odredite, korisni podaci e se izdvojiti iz IP datagrama i predati protokolu navedenom u polju za sledee zaglavlje. U prethodnom opisu navedene su svrhe polja iz datagrama IPv6. Ako uporedimo format datagrama IPv6 na slici 4.22 sa fonnatom datagrama IPv4 koji smo videli ranije na slici 4.13, primetiemo da nekoliko polja koja su postojala u datagramu IPv4 vie ne postoje u datagramu IPv6:

Fragmentacija/Ponovno sastavljanje. IPv6 ne dozvoljava fragmentiranje i ponovno sastavljanje u usputnim ruterima; te operacije mogu se vriti samo na izvoru i na odreditu. Ruter koji primi IPv6 datagram koji je previe velik da bi ga izlazni link prosledio, jednostavno e odbaciti datagram i vratiti poiljaocu ICMP poruku Packet Too Big" (videti kasnije). Poiljalac tada moe ponovo da poalje podatke u manjem IP datagramu. Fragmentiranje i ponovno sastavljanje troe mnogo vremena; oduzimanje tih funkcija od rutera i njihovo strogo zadravanje u krajnjim sistemima znatno ubrzava IP prosledivanje unutar mree. Kontrolni zbir zaglavlja. Poto kontrolne zbirove prave i kontroliu protokoli transportnog sloja (na primer, TCP i UDP) i sloja veze podataka (na primer, Ethernet), projektanti protokola IP verovatno su smatrali daje ta funkcija ve dovoljno redundantna u mrenom sloju i da se moe ukloniti. I ovde je brza obradaTP paketa bila glavna briga. Moda se seate iz opisa protokola IPv4 u odeljku 4.4.1 da kontrolni zbir zaglavlja IPv4 mora ponovo da se izraunava na svakom ruteru zato to IPv4 zaglavlje sadri polje TTL (slino polju za granicu broja skokova u protokolu IPv6). I ta operacija je previe optereivala IPv4, isto kao fragmentacija i ponovno sastavljanje. Opcije. Polje opcija vie ne postoji u standardnom IP zaglavlju. Meutim, opcije nisu uklonjene. Umesto toga, polje opcija postalo je jedno od moguih sledeih zaglavlja na koje se pokazuje iz IPv6 zaglavlja. To jest, kao to zaglavlja protokola TCP ili UDP mogu da budu sledea zaglavlja IP paketa to moe da bude i polje opcija. Uklanjanjem polja opcija iz zaglavlja, dobilo se 40-bajtno IP zaglavlje fiksne duine. Moda se seate iz naeg opisa u odeljku 4.4.3 da se protokol ICMP koristi meu IP vorovima za izvetavanje o grekama i za slanje ogranienih informacija (na primer, za eho odgovor na poruku ping) nekom krajnjem sistemu. Za IPv6 je u RFC 2463 definisana nova verzija ICMP-a. Osim to su postojee definicije ICMP vrsta i ifara preureene, ICMPv6 ima i nove vrste i ifre potrebne za nove funkcije protokola IPv6. Tu spada i nova vrsta Packet Too Big" i nova ifra greke unrecognized IPv6 options" (nepoznate IPv6 opcije). Osim toga, ICMPv6 obuhvata i funkcije protokola IGMP (Internet Group Management Protocol) koji emo prouiti u odeljku 4.7. IGMP, koji se koristi kada raunar pristupa takozvanim grupama za vieznano emitovanje i naputa ih. Prethodno je u protokolu IPv4, IGMP bio protokol odvojen od ICMP-a.

Prelazak sa protokola IPv4 na IPv6 Sada poto smo videli tehnike detalje protokola IPv6, razmotrimo jedno veoma praktino pitanje: kako e javni Internet koji je zasnovan na protokolu ]Pv4 prei na IPv6? Problem je u tome to novi sistemi osposobljeni za upotrebu protokola IPv6 moga da budu kompatibilni unazad tj. mogu da alju, rutiraju i primaju IPv4 data-

186

POGLAVLJE 4

MRENI SLOJ

4.4 . INTERNET PROTOKOL (IP)

349

grame, ali ve uvedeni sistemi osposobljeni za upotrebu protokola IPv4 ne mogu da rukuju datagramima IPv6. Postoji nekoliko reenja. Jedno reenje bi bilo da se proglasi jedan granini dan - datum i vreme kada bi se sve maine na Internetu iskljuile i nadogradile sa protokola IPv4 na IPv6. Poslednja velika promena tehnologije (kada se za uslugu pouzdanog transporta prelo sa NCP na TCP) dogodila se pre skoro 20 godina. ak i tada [RFC 801] kadaje Internet bio mali i kadaje njime upravljao mali broj genijalaca", znalo se da takav granini dan nije mogu. Granini dan koji bi ukljuio na stotine miliona maina i milione mrenih administratora i korisnika danas je jo tee izvodljiv. RFC 2893 opisuje dva pristupa (koji mogu da se koriste odvojeno ili u kombinaciji) za postepeno uvoenje IPv6 raunara i rutera u svet kojim vlada IPv4 (naravno, sa dugoronim ciljem da svi IPv4 vorovi jednog dana preu na IPv6). Verovatno najprostiji nain da se uvedu vorovi sposobni za IPv6 jeste pristup sa dvostrukim stekom, u kojem IPv6 vorovi imaju takoe i kompletnu implementaciju protokola IPv4. Takav vor, koji se u RFC 2893 naziva IPv6/IPv4 osposobljen je za slanje i primanje obe vrste datagrama. Kada sarauje sa IPv4 vorom, vor IPv6/IPv4 moe da koristi IPv4 datagrame; kada sarauje sa IPv6 vorom, on moe da koristi jezik IPv6. IPv6/IPv4 vorovi moraju da imaju obe vrste adresa. Oni moraju ak da budu u stanju da odrede da li je drugi vor osposobljen za IPv6 ili samo za IPv4. Taj problem se moe resiti pomou DNS-a (proitati poglavlje 2) koji moe da vrati IPv6 adresu ako je traeni vor osposobljen za IPv6, a inae vraa IPv4 adresu. Naravno, ako je.vor koji je izdao DNS zahtev sposoban samo za IPv4, DNS e vratiti samo IPv4 adresu. U pristupu sa dvostrukim stekom, ako je bilo poiljalac bilo primalac osposobljen samo za IPv4, mora se koristiti IPv4 datagram. Zbog toga je mogue da dva vora osposobljena za IPv6 na kraju u sutini jedan drugome alju IPv4 datagrame. Ovo je prikazano na slici 4.23. Uzmimo da je vor A osposobljen za IPv6 i eli da poalje IP datagram voru Fkoji je takode osposobljen za IPv6. vorovi A i B mogu da razmenjuju IPv6 datagrame. Meutim, vor B mora da napravi IPv4 datagram da bi mogao da ga poalje voru C. Naravno, polje podataka iz IPv6 datagrama moe da se prekopira u polje podataka IPv4 datagrama i adrese mogu da se preslikaju na odgovarajui nain. Meutim, prilikom konverzije iz protokola IPv6 u IPv4 posto-jae polja specifina za IPv6 (na primer, identifikator toka) za koja nema odgovarajuih polja u protokolu IPv4. Informacije iz tih polja bie izgubljene. Na taj nain, i pored toga to E i F mogu da razmenjuju IPv6 datagrame, IPv4 datagrami koji u vor E stignu iz vora D ne sadre sva polja koja su postojala u prvobitnom IPv6 datagramu koji je poslat iz A. Jedna alternativa reenju sa dvostrukim stekom koja je takoe opisana u RFC-u 2893, poznata je kao tunelovanje. Tunelovanje moe da resi gore navedeni problem, jer omoguava, na primer, da E primi IPv6 datagram koji je nastao u voru A. Osnovna ideja tunelovanja je sledea. Uzmimo da dva IPv6 vora (na primer, B i E sa slike 4.23) ele da sarauju i koriste IPv6 datagrame ali su meusobno povezani preko usputnih IPv4 rutera. Usputne IPv4 rutere izmeu dva IPv6 rutera nazivamo

tunelom, kao stoje prikazano na slici 4.24. Kada se koristi tunelovanje, IPv6 vor na otpremnoj strani tunela (na primer, B) uzima ceo IPv6 datagram i stavlja ga u polje podataka (korisnih podataka) IPv4 datagrama. Taj IPv4 datagram se zatim adresira IPv6 voru na prijemnoj strani tunela (na primer, voru E) i alje prvom voru u tunelu (na primer, voru C). Usputni IPv4 ruteri u tunelu rutiraju ovaj IPv4 datagram medu sobom, kao to bi radili sa bilo kojim datagramom, u blaenom neznanju da taj IPv4 datagram sadri ceo IPv6 datagram. IPv6 vor na prijemnoj strani tunela konano prima IPv4 datagram (to i jeste odredite IPv4 datagrama!), utvruje da IPv4 datagram sadri IPv6 datagram, izdvaja IPv6 datagram i zatim ga rutira isto kao da gaje primio od direktno povezanog IPv6 suseda. Ovaj odeljak zakljuujemo napomenom daje prihvatanje protokola IPv6 sporo poelo [Lawton 2001]. Sigurno seseate da je jedan od glavnih razloga za uvoenje protokola IPv6 bilo to to su se dostupne IPv4 adrese potroile. U odeljku 4.4.2 smo videli da su unapreenja kao to su CIDR adrese za IPv4, DHCP i NAT doprinela reavanju ovog problema barem kratkorono. Mogue je, meutim, da sve ira upotreba ureaja kao to su telefoni osposobljeni za IP i drugi prenosivi ureaji obezbede potreban pritisak za bre uvoenje verzije IPv6. Evropski program partnerstva tree generacije (Europe 's Third Generation Partnership Program) [3GPP 2004] kao standardnu emu adresiranja za mobilne multimedije navodi IPv6. ak i ako IPv6 nije opteprihvaen tokom prvih 9 godina njegovog ivota, potrebno je posmatrati stvari dugorono. I za prihvatanje dananjeg sistema telefonskih brojeva bilo je potrebno vie desetina godina ali je on sada u funkciji ve skoro pola veka i nema nagovetaja da e se ukinuti. Slino tome, bie potrebno vreme da se prihvati IPv6, ali i on e nakon toga dugo biti na snazi. Brajan Karpenter, bivi predsedavajui lAB-a (Internet Architecture Board) [IAB 2004] i autor vie RFC-a koji se odnose na IPv6 kae uvek sam to smatrao procesom od 15 godina koji poinje 1995" [Lawton 2001], Prema Karpenterovim datumima, pribliavamo se taki na dve treine puta!

350

POGLAVLJE 4 MRENI SLOJ

4.5 ALGORITMI RUTIRANJA

351

4.5 Algoritmi rutiranja


Do sada smo u ovom poglavlju uglavnom istraivali funkciju prosledivanja u mrenom sloju. Nauili smo da kada paket stigne u ruter, ruter indeksira tabelu prosledivanja i utvruje na koji interfejs linka treba usmeriti paket. Takoe smo nauili da algoritmi rutiranja koji se izvravaju u mrenim ruterima razmenjuju i izraunavaju informacije potrebne za konfigurisanje tih tabela prosledivanja. Odnos izmeu algoritma rutiranja i tabele prosledivanja prikazanje na slici 4.2, Poto smo donekle istraili prosledivanje, sada posveujemo panju drugoj vanoj temi ovog poglavlja, kritinoj funkciji mrenog sloja - rutiranju. Bez obzira na to da li mreni sloj prua uslugu datagrama (kada izmeu datog para izvora i odredita razliiti paketi mogu da idu razliitim rutama) ili uslugu virtuelnog kola (kada svi paketi izmeu datog izvora i odredita idu uvek istom putanjom) mreni sloj ipak mora da utvrdi putanju za svaki paket. Videemo daje posao rutiranja da se utvrde dobre putanje (tj. rute) od poiljalaca do primalaca kroz mreu rutera. Obino se raunar vezuje direktno na jedan ruter, takozvani podrazumevani ruter za taj raunar (takoe se naziva i ruter prvog skoka za taj raunar), Kad god raunar emiruje paket, on se prenosi na njegov podrazumevani ruter. Podrazumevani ruter izvornog raunara nazivamo izvornim ruterom, a podrazumevani ruter odredinog raunara odredinim ruterom. Problem rutiranja paketa od izvornog do odredinog raunara jasno se svodi na problem mtiranja paketa od izvornog do odredinog rutera, a to je tema ovog odeljka. Svrha algoritma rutiranja je jednostavna: ako je dat skup rutera sa linkovima koji ih povezuju, algoritam rutiranja pronalazi dobni" putanju od izvornog do odredinog rutera. Obino je dobra putanja ona koja ima najmanju cenu. Videemo, meutim, da po koncepciji jednostavne i elegantne algoritme na kojima se zasniva rutiranje u dananjim mreama, u praksi komplikuju realni problemi kao io su pitanja politike (na primer, pravilo kao stoje ruter* koji pripada organizaciji 7 ne bi trebalo da prosleuje pakete koji potiu iz mree u vlasnitvu organizacije Z"). Za formulisanje algoritama rutiranja koristi se graf. Verovatno se seate da je graf G = (N, )$kup od N vorova i kolekcija ivica, gde je svaka ivica par vorova iz skupa JV. U kontekstu rutiranja u mrenom sloju, vorovi u grafu predstavljaju rutere - take na kojima se donose odluke o prosledivanju paketa - a ivice (u terminologiji teorije grafova -periferije") koje povezuju te vorove predstavljaju fizike linkove izmeu rutera. Takva grafika apstrakcija raunarske mree prikazana je na slici 4.25. Grafove koji predstavljaju mape stvarnih mrea moete nai u knjigama [Dodge 1999, Cheswick 2000]; opis kvaliteta modeliranja razliitih grafikih modela Interneta nai ete u knjigama [Zegura 1997, Faloutsos 1999].

Jedna vana lekcija koju moemo nauiti iz iskustva sa protokolom IPv6 jeste da je uasno teko menjati protokole mrenog sloja. Ve od poetka 90-tih godina niz novih protokola za mreni sloj reklamirano je kao sledea velika revolucija na Internetu, ali je veina njih do danas imala ogranien domet. Tu spadaju IPv6, protokoli za vieznano upuivanje (odeljak 4.7) i protokoli za rezervisanje resursa (poglavlje 7). Zaista, uvoenje novih protokola u mreni sloj slino je situaciji u kojoj bismo se nali kada bismo zamenjivali temelje kue - to se teko postie bez ruenja cele graevine ili bar privremenog raseljavanja njenih stanovnika. S druge strane, Internet je doiveo naglo uvoenje vie novih protokola u aplikacijskom sloju. Klasini prime-ri, naravno, jesu Web, trenutno slanje poruka i deljenje datoteka meu ravnopravnim raunarima. Jo neki primeri su protok audio i video signala u realnom vremenu i distribuirane igre, Uvoenje novih'protokola aplikacisjkog sloja je kao kreenje kue - relativno se lako izvodi i ako ste izabrali privlanu boju, imitirae vas i neki susedi. Da rezimiramo, u budunosti se mogu oekivati promene u mrenom sloju Interneta, ali e te promene verovatno biti mnogo sporije od promena u aplikacijskom sloju.

352

POGLAVLJE 4 - MRENI SLOJ

4.5 ALGORITMI RUTIRANJA

353

Kao to se vidi na slici 4.25, ivica takoe ima vrednost koja predstavlja njenu cenu. Cena moe da zavisi od fizike udaljenosti kojom se prostire taj link (na primer, prekookeanski link moe da ima veu cenu od kratkog zemaljskog linka), od brzine linka ili od novanog iznosa cene pridruene tom linku. Za nae trenutne potrebe uzeemo cenu linka kao datu i neemo brinuti o tome kako se ona utvruje. Za svaku ivicu (x,y) u E cenu ivice izmeu vorova x i y oznaiemo sa c(x,y). Ako par (x,y) ne pripada E staviemo daje c(x,y)~ . Takoe, sve vreme emo razmatrati neusmerene grafove (tj. grafove ije ivice nemaju smer), tako daje ivica (x,y) jednaka ivici (y,x) i daje c(x,y) = c(y,x). Osim toga, za vor y kaemo daje susedan voru x ako (x,y) pripada kolekciji E. Ako uzmemo da su ivicama ove grafike apstrakcije dodeljene cene, prirodan cilj algoritma rutiranja je da se pronau putanje sa najmanjom cenom od izvora do odredita. Da bismo problem postavili preciznije, prisetite se daje putanja u grafu G = (N, E) niz vorova (*,, x 2 .......... x p ) takvih daje svaki od parova (x 1 ,x 1 ), x3), (x,, x ) ivica izE. Cena putanje (x,, x 2 , >.. t x p )je prosto zbir cena svih ivica na putanji, tj. C(JC,, x 2 ) + c(x 2 , JC3) + ... + C(JC x p ). Za svaki par vorova x i y obino postoji vie putanja koje ih spajaju, a svaka od njih ima svoju cenu. Jedna ili vie od ovih putanja su putanje sa najmanjom cenom. Problem najmanje cene je, dakle, jasan: pronai putanju izmeu izvora i odredita koja ima najmanju cenu. Na primer, na slici 4.25 putanja sa najmanjom cenom od izvornog vora u do odredinog vora w je (u, x, y, w) sa cenom putanje jednakom 3. Obratite panju na to da ako su cene svih linkova jednake, putanja sa najniom cenom je takoe i najkraa putanja (tj. putanja koja od izvora do odredita prelazi najmanji broj linkova).

Ponite od jednostavne vebe da pronaete putanju sa najmanjom cenom od vora u do vora z na slici 4.25 i razmislite malo o nainu na koji ste izraunali tu putanju. Ako razmiljate slino veini ljudi, utvrdili ste putanju od vora u do vora z tako to ste posmatrali sliku 4.25, isprobali nekoliko putanja od u do z i na neki nain doli do zakljuka daje putanja koju ste izabrali najjeftinija od svih moguih putanja. (Da li ste proverili svih 17 moguih putanja izmeu u i z? Verovatno niste!) Takvo izraunavanje je primer centralizovanog algoritma rutiranja - algoritam rutiranja je izvren najednom mestu, u vaoj glavi, sa kompletnim informacijama o celoj mrei. Jedan od naina na koji se algoritmi rutiranja klasifikuju je po tome da li su globalni ili decentralizovani. Globalni algoritam'rutiranja izraunava putanju sa najmanjom cenom od izvora do odredita pomou kompletnog.globalnog znanja o celoj mrei. On upotrebljava podatke o povezanosti svih vorova i cene svih linkova. Znai, algoritam mora nekako da pribavi te informacije pre samog izraunavanja. Samo izraunavanje moe da se izvrava na jednoj lokaciji (centralizovani globalni algoritam rutiranja) ili da bude replicirano na vie lokacija. Kljuna karakteristika je, meutim, to da globalni algoritam ima kompletne informacije o povezanosti i o cenama linkova. U praksi, algoritmi sa globalnim informacijama o stanju esto se nazivaju algoritmima prema stanju linkova (link state, LS), poto algoritam mora biti upuen u cenu svakog linka u mrei. Algoritam globalnog stanja linkova prouiemo u odeljku 4.5.1. U decentralizovanom algoritmu rutiranja, izraunavanje putanje sa najmanjom cenom izvrava se na iterativni distribuirani nain. Nijedan vor nema kompletne informacije o cenama svih mrenih linkova. Umesto toga, svaki vor poinje samo od saznanja o cenama vlastitih direktno povezanih linkova. Zatim pomou iterativnog procesa izraunavanja i razmene informacija sa susednim vorovima (tj. vorovima koji se nalaze na suprotnoj strani linkova sa kojima je vor neposredno povezan) vor postepeno izraunava putanju sa najniom cenom do jednog odredita ili skupa odredita. Decentralizovani algoritam rutiranja koji emo prouiti u odeljku 4.5.2. poznat je kao algoritam sa vektorom rastojanja (distance vector, DV) zato to svaki vor odrava vektor procenjenih cena (rastojanja) do svih ostalih vorova u mrei. Jo jedan nain za grubu klasifikaciju algoritama rutiranja je prema tome da li su statiki ili dinamiki. Kod statikih algoritama rutiranja rute se menjaju veoma t retko, esto ljudskom intervencijom (na primer, ovek runo ureuje tabelu prosleivanja u ruteru). U dinamikim algoritmima rutiranja putanje rutiranja se menjaju kako se menja optereenje mree saobraajem ili njena topologija. Dinamiki algoritam moe se izvravati povremeno ili kao direktan odgovor na promene topologije ili cene linkova. Dok dinamiki algoritmi bolje reaguju na promene u mrei, oni su takode i osetljiviji na probleme kao to su petlje rutiranja i oscilacije na rutama.

J354 '

POGLAVLJE 4 - MRENI SLOJ

4.5 - ALGORITMI RUTIRANJA

355

Trei nain da se klasifikuju algoritmi rutiranja je prema tome da li su osetljivi na optereenje. Kod algoritma osetljivog na optereenje, cene linkova se menjaju dinamiki zavisno od trenutnog nivoa zaguenja odreenog linka. Ako se linku koji je trenutno zaguen pridrui visoka cena, algoritam rutiranja e teiti da bira rute koje izbegavaju taj zagueni link. Na poetku su algoritmi rutiranja ARPAneta bili osetljivi na optereenje [McQuillan 1980] ali se pojavio niz potekoa [Huitema 1998]. Algoritmi rutiranja dananjeg Interneta (kao to su PJP, OSPF i BGP) nisu osetljivi na optereenje poto cena linka ne reflektuje eksplicitno trenutni (ili nedavni) stepen zaguenja.

Algoritam stanja linkova (Link State, LS) za izvorni vor u: 1


2

4.5.1 Algoritam rutiranja prema stanju linkova


Imajte na umu da su u algoritmu prema stanju linkova topologija mree i cene svih linkova poznate, tj. dostupne kao podaci za algoritam stanja linkova. U praksi ovo se postie tako to svaki vor difuzno emituje identitet i cenu svojih povezanih linkova svim ostalim ruterima u mrei. U praksi (na primer pomou Internetovog protokola rutiranja OSPF koji obraoujemo u odeljku 4.6.1) ovo se esto postie algoritmom za difuzno emitovanje stanja linkova [Perlman 1999]. Algoritme za difuzno emi-tovanje obradiemo u odeljku 4.7. Na kraju svih difuzno emitovanih stanja linkova svi e vorovi imati identian i kompletan pregled mree. Tada svaki vor moe da izvrava algoritam prema stanju linkova i da izrauna isti skup putanja sa najniom cenom kao i svaki drugi vor. Algoritam prema stanju linkova koji emo sada predstaviti poznat je kao Dijkstrin. algoritam, prema svom pronalazau. Primov algoritam je veoma slian; u [Cormen 2001] nai ete opti opis grafovskih algoritama. Dijkstrin algoritam izraunava putanju sa najniom cenom od jednog vora (izvora, koji emo nazvati u) do svih ostalih vorova u mrei. Dijkstrin algoritam je iterativan i ima svojstvo da su nakon jfe-te iteracije algoritma poznate putanje sa najniom cenom do k odredinih vorova, a meu putanjama sa najniom cenom do svih odredinih vorova; ili, ovih k putanja imaju k najniih cena. Defmisaemo sledee oznaavanje: D(y): cena putanje od izvornog vora do odredita v koja trenutno (prema trenutnoj iteraciji algoritma) ima najmanju cenu. p(y): prethodni vor (sused vora v) na putanji sa trenutno najmanjom cenom od izvora do v. N': skup vorova sa konano utvrenom najjeftinijom putanjom od izvora. Globalni algoritam rutiranja sastoji se od jednog poetnog koraka nakon kojeg sledi petlja. Broj ponavljanja petlje jednak je broju vorova u mrei. Na kraju, algoritam e imati izraunate najkrae putanje od izvornog vora u do. svakog drugog vora u mrei.

3 4 5 6 8 9 10 11 12 13 14 15

Inicijalizacija: N' = {u} za sve vorove v ako je v sused u then D(v) = c(u,v) else D(v) = 7 Loop petlja w nije u N' tako da je D<w) minimum koji w dodaje u N' aurira D(v) za sve v susedne w koji nisu N': D(v) = min(D(v), D(w) + c(w,v) ) /* nova cena do v je stara cena do v ili cena poznate najkrae putanje do w plus cena od w do v */ until N' = N

Kao primer, razmotrimo mreu na slici 4.25 i izraunajmo putanje sa najniim cenama od u do svih moguih odredita. Tabelarni pregled izraunavanja po ovom algoritmu prikazanje u tabeli 4,3, gde svaki red tabele daje vrednosti promenljivih iz algoritma na kraju jedne iteracije. Razmotrimo detaljno prvih nekoliko koraka. U koraku inicijalizacije trenutno poznatim putanjama sa najmanjim cenama od u do njegovih direktno povezanih suseda, v, x i w daju se poetne vrednosti 2, 1 odnosno 5. Obratite posebno panju na to da cena do w dobija vrednost 5 (mada emo uskoro videti da postoji putanja sa manjom cenom) postoje to cena direktnog linka Gadnog skoka) od u do w. Cenama doyiz daje se vrednost beskonano zato to oni nisu direktno povezani sa u. U prvoj iteraciji pregledamo vorove koje jo nismo dodali skupu N' i pronalazimo vor sa najmanjom cenom na kraju prethodne iteracije. Taj vor je x sa cenom I i tako se x dodaje skupu N'. Tada se izvrava red 12 algoritma LS da bi se auriralo D(v) za sve vorove v, ime se dobijaju rezultati prikazani u drugom redu (korak 1) tabele 4.3. Cena putanje do v nije se promenila, Cena putanje do w (koja je na kraju inicijalizacije iznosila 5) ako se ide preko JC ima cenu 4. Zato se bira ova putanja sa niom cenom, a prethodni vor vora w na najkraem putu od u postaje x. Slino tome, cena do vora y (preko x) iznosi 2, a tabela se aurira u skladu sa tim.

190

POGLAVLJE 4 . MRENI SLOJ

4.5 . ALGORITMI RUTIRANJA

35*

U drugoj iteraciji vorovi v i y se pokazuju kao najjeftiniji (2), pa proizvoljno reavamo nereeni rezultat i u skup//' dodajemo y tako da A'"' sada sadri u , x \ y . Cena do preostalih vorova jo se ne nalazi u N \ tj. vorovi v , w i z auriraju se u 12. redu algoritma LS gde se dobijaju rezultati prikazani u treem redu tabele 4.3.

kode kree jedinica saobraaja sa odreditem w, a vor.y ubacuje koliinu saobraaja jednaku e, takoe prema odreditu w. Poetno rutiranje prikazano je na slici 4.26(a) gde cene linkova odgovaraju koliini prenetog saobraaja. Kod sledeeg izvravanja algoritma LS, vor^ utvruje (na osnovu cena linkova prikazanih na slici 4.26(a)) daje putanja do w u smeru kazaljke na satu ima cenu 1, dok putanja do istog odredita u smeru suprotnom od kazaljke na satu koja se dotle koristila) ima cenu 1 + e. Zbog toga je putanja do w sa najniom cenom sada u smeru kazaljke na satu. Slino tome, x utvruje da je njegova putanja sa najniom cenom do w takoe u smeru kazaljke na satu, pa dobijamo cene kao na slici 4.26(b). Pri sledeem izvravanju algoritma LS, vorovi x, y, i z svi primeuju putanju sa cenom 0 prema w u smeru suprotnom od kazaljke na satu i svi rutiraju svoj saobraaj rutama suprotnim od kazaljke na satu. Kod sledeeg izvravanja algoritma LS, x , y , i z svi rutiraju svoj saobraaj u smeru kazaljke na satu.

I tako dalje...
Kada se algoritam LS zavri, za svaki vor se zna prethodnik na putanji sa najniom cenom od izvornog vora. Za svakog prethodnika takode je poznat njegov prethodnik, pa na taj nain moemo da napravimo celu putanju od izvora do svih odredita. Tabela prosleivanja u svakom voru, na primer u voru u , zatim moe da se napravi od ovih informacija tako to se za svako odredite uva vor za sledei skok po putanji sa najniom cenom od u do tog odredita. U emu je raunska sloenost ovog algoritma? To jest, ako je dato n vorova (ne raunajui izvor), koliko izraunavanja treba izvriti u najgorem sluaju da bi se pronale najjeftinije putanje od izvora do svih odredita? U prvoj iteraciji moramo da pretraimo svih n vorova da bismo odredili vor w koji ima najmanju cenu a nije u skupu A7'. U drugoj iteraciji moramo da proverimo n - 1 vorova da bismo utvrdili najmanju cenu; u treoj iteraciji proveravamo n - 2 vorova itd. Sveukupno, ukupan broj vorova koje moramo da ispitamo u svim iteracijama je n(n + I)/2, pa tako kaemo da prethodna implementacija algoritma prema stanju linkova ima sloenost najgoreg sluaja reda n na kvadrat: 0(n2). (Pomou jedne sloenije implementacije ovog algoritma, u,kojoj se koristi struktura podataka poznata kao hip, mogue je pronai minimum ve u devetom redu u logaritamskom umesto linearnom vremenu, ime se sloenost smanjuje.) Pre nego to zakljuimo opis algoritma LS, razmotriemo nepoeljan sluaj do kojeg moe doi. Na slici 4.26 prikazana je topologija jednostavne mree gde su cene linkova jednake optereenju koje se tim linkom prenosi, na primer, da reflektuju kanjenje koje bi se pojavljivalo. U ovom primeru, cene linkova nisu simetrine; tj. c(u,v) jednako je c(yyu) samo ako su na linku ( u , v ) optereenja u oba' smera jednaka. U ovom primeru, iz vora z polazi jedinica saobraaja sa odreditem w, sa vora x ta-

k s8

POGLAVLJE 4

MRENI SLOJ

4.5 . ALGORITMI RUTIRANJA

359

ta da se uradi da bi se spreile takve oscilacije (do kojih moe doi ne samo u algoritmu LS ve u svakom algoritmu koji koristi merenja zaguenja ili kanjenja na linkovima)? Jedno reenje bilo bi da se propie da cene linkova ne smeju zavisiti od koliine prenetog saobraaja - to reenje nije prihvatljivo poto je jedan od ciljeva rutiranja upravo izbegavanje veoma zaguenih linkova (na primer, onih sa velikim kanjenjem). Drugo reenje je da se sprei istovremeno izvravanje algoritma LS u svim ruterima. Ovo izgleda prihvatljivije, poto bismo se nadali da ak i kada ruteri izvravaju algoritam LS u istim vremenskim intervalima instanca algoritma ne bi bila ista u svim vorovima. Zanimljivo je da su istraivai nedavno utvrdili da ruteri na Internetu mogu sami da se meusobno sinhronizuju [Floyd Svnchronization 1994], To jest, ak i kada na poetku izvravaju algoritam u istim vremenskim intervalima ali u razliito vreme, primerak instanca u ruterima vremenom postaje i ostaje sin-hronizovana. Jedan od naina da se izbegne takva samosinhronizacija jeste da svaki ruter sluajno bira vreme kada e da poalje objavu linka. Poto smo prouili algoritam prema stanju linkova, sada emo prouiti drugi znaajan algoritam rutiranja koji se koristi u dananjoj praksi - algoritam rutiranja sa vektorom rastojanja.

4 . 5 . 2 Algoritam rutiranja sa vektorom rastojanja


Dok algoritam LS koristi globalne informacije, algoritam sa vektorom rastojanja {distance vector, DV) je iterativan, asinhron i distribuiran. On je distribuiran po tome to svaki vor prima odreene informacije od jednog svog direktno povezanog suseda ili od vie njih, izraunava, a zatim distribuira rezultate svog izraunavanja tim istim susedima. On je iterativan po tome to se ovaj postupak ponavlja sve dok ima informacija za razmenu meu susedima. (Zanimljivo je, videemo da se ovaj algoritam sam zaustavlja - ne postoji signal da izraunavanje treba prekinuti; ono se prosto zavri.) Algoritam je asinhron po tome to nije neophodno da svi vorovi rade usaglaeno. Videemo daje asinhroni, iterativni, distribuirani algoritam koji se sam prekida daleko zanimljiviji i zabavniji od centralizovanog algoritma! Pre nego to predstavimo algoritam DV, bie korisno da opiemo jedan vaan odnos koji postoji izmeu cena i-putanja sa najniom cenom. Neka djy) bude cena najjeftinije putanje od vora x do voray. Najnie cene vezane su slavnom Belman-Fordovom jednainom: dx(y) = minw{ c(x,v) + dv(y)}, (4.1)

putovanje moramo da ponemo prelaskom do nekog suseda v, najmanja cena od x do y, izraunavae se kao zbir minimuma cena putanja c(x,v) + dv(y) za svakog suseda v. Ali zbog onih koji moda sumnjaju u validnost ove jednaine, proverimo je za izvorni vor u i odredini vor z sa slike 4.25. Izvorni vor u ima tri suseda: v, x i w. Ispitivanjem razliitih putanja grafa, Iako je videti daje d ( z ) = 5, d ( z ) = 3 i d ( z ) = 3. Ako ove vrednosti ubacimo u jednainu 4.1, uz cene c(u,v) = 2, c(u,x) ~ 1 i c(u,w) = 5 dobij amo du(z) = min{2 + 5, 5 + 3, 1 + 3 } = 4, to je oigledno tano, a to je upravo rezultat koji za ovu mreu daje i Dijkstrin algoritam. Ova brza provera trebalo bi da ukloni sve eventualne sumnje. Belman-Fordova jednaina nije samo intelektualni kuriozitet, Ona zaista ima znaajnu praktinu vrednost. Konkretno, reenje Belman-Fordove jednaine obezbeduje stavke za tabelu prosledivanja vora x. Da bismo to videli, neka v* bude susedni vor za koji je postignut minimum u jednaini 4.1. Zatim, ako vor x eli da poalje paket voru y po najjeftinijoj putanji, trebalo bi prvo da prosledi paket do vora v*. Prema tome, u tabeli prosledivanja vora x kao ruter prvog skoka za krajnje odredite y bio bi naveden vor v*. Jo jedan znaajan praktian doprinos Belman-Fordove jednaine jeste to to ona nagovetava oblik komunikacije meu susedima do koje e doi u algoritmu DV. Osnovna zamisao je sledea. Svaki vor poinje od Dx(y), procenjene cene najjeftinije putanje od njega do voray, za sve vorove iz N. Neka Dx = [ D^ (y): y u N] bude vektor rastojanja vora x, a to je vektor procenjenih trokova od x do svih ostalih vorova, y, iz N. U algoritmu DV, svaki vor x odrava sledee podatke rutiranja: Za svakog suseda v, cenu c (x,v) od .v do direktno povezanog suseda v. Vektor rastojanja vorax, tj. D x = [ Dx (y):y u N], koji sadri procenjene trokove do svih odredita y, iz N. Vektore rastojanja svih suseda, tj. = [ Dv (y): y u N] svih suseda v vora .v.

U distribuiranom asinhronom algoritmu, s vremena na vreme svaki vor alje svoj aurirani vektor rastojanja svim svojim susedima. Kada vor* primi novi vektor rastojanja od nekog svog suseda v, on memorie taj vektor rastojanja i zatim pomou Belman-Fordove jednaine aurira vlastiti vektor rastojanja na sledei nain: Dx (y) = minv{ c(x,v) + Dv(y)} za svaki vor y u N Ako se vektor rastojanja vora x prilikom ovog auriranja promeni, vor x e zatim poslati primerak svog vektora rastojanja svim svojim susedima koji zatim mogu da auriraju vlastite vektore rastojanja. udesno je to da, ako svi vorovi stalno razmenjuju'svoje vektore rastojanja na asinhroni nain, svi procenjeni trokovi Dx (y) tee iznosu dx (y), stvarnoj ceni najjeftinije putanje od vora JC do vora ;>[Bersekas 1992]!

Izraz minv u jednaini predstavlja minimum svih direktno povezanih suseda vora x. Belman-F^ordova jednaina je intuitivno jasna. Zaista, ako nakon puta od x do v krenemo putanjom sa najniom cenom od v do;', cena putanje bie c(x,v) + dv(y). Poto

360

POGLAVLJE 4 . MRENI SLOJ

4.5 . ALGORITMI RUTIRANJA

361 t

Algoritam sa vektorom rastojanja Na svakom voru, x: 1 Initialization: for ali destinations y in N: 3 Dx(y) = c (x,y) /* ako y nije sused, tada je c 4 (x,y) = - */ 5 for each neighbor w 6 Dx (y) = for ali destinacions y in N 7 for each neighbor w 8 send distance vector Dx = [ Dx (y) : y in N] to w 9 loop 10 wait (until I see a link cost change to neighbor w 11 or until I receive a distance vector from neighbor w) 12 13 14 16 17 19 for each y in N: Dx (y) - minv{ c(x,v) + Dv(y)} 15 if Dx (y) changed for any destination y send'distance vector Dx = [ Dx (y) : y i n N] to ali neighbors 18 forever

Na slici 4.27 prikazanje rad algoritma DV za jednostavnu mreu od tri vora prikazanu na vrhu slike. Rad algoritma prikazan je na sinhroni nain gde svi vorovi istovremeno dobiju vektore rastojanja od svojih suseda, izraunavaju svoje nove vektore rastojanja i obavetavaju svoje susede ako je dolo do promene vektora rastojanja. Poto prouite ovaj primer, trebalo bi da uvidite da algoritam pravilno fun-kcionie i na asinhroni nain, gde se izraunavanja u vorovima kao i pravljenje i primanje aurnih informacija dogaa u bilo kom trenutku. U sasvim levoj koloni prikazane su tri poetne tabele rutiranja sva tri vora. Na primer, tabela u gornjem levom uglu je poetna tabela rutiranja vora .t. Unutar odreene tabele rutiranja, svaki red je jedan vektor rastojanja - konkretno, tabela rutiranja svakog vora sadri njegov vlastiti vektor rastojanja i vektore rastojanja njegovih neposrednih suseda. Prema tome, prvi red poetne tabele rutiranja vora x je Dx = [ Dx (x), Dx (y), Dx (z)J = [0, 2, 7]. Drugi i trei red ove tabele su poslednji primljeni vektori rastojanja od vorova y odnosno z. Poto u trenutku inicijalizacije vor x nije jo nita primio od vorova y i z, stavke u drugom i treem redu imaju poetnu vrednost beskonano. Nakon inicijalizacije, svaki vor alje svoj vektor rastojanja svakom od svoja dva suseda. Ovo je na slici 4.27 prikazano strelicama koje polaze iz prve kolone tabela prema drugoj koloni tabela. Na primer, vor x alje svoj vektor rastojanja Dx = [0,2, 7] u oba vora y i z. Poto primi auriranja, svaki vor ponovo izraunava vlastiti vektor rastojanja. Na primer, vor.v izraunava: Dr(x) = 0

Dx (y) = min{ c(x,y) + Dy(y), c(x,z) + Dp)}= min {2+0, 7+1} = 2 D( (z) =
min{ cfo;) + Dy(z), c(x,z) + D/z)}= min {2+1, 7+0} = 3

U algoritmu DV (distance vector) vidimo da vor x aurira svoj vektor sa proce-nama rastojanja kada primeti pramenu cene na nekom od svojih direktno povezanih linkova ili kada od nekog suseda primi aurirani vektor rastojanja. Ali da bi vlastitu tabelu prosleivanja aurirao za dato odredite y, voru x nije potrebno najkrae ra-stojanje do y ve susedni vor v* (y) tj. ruter prvog skoka na najkraoj putanji do y. Kao to biste i oekivali, ruter prvog skoka v*(y) je sused v koji ostvaruje minimum u 14. redu algoritma DV. (Ako vie suseda v ostvaruje isti minimum, tada v* (y) moe da bude bilo koji od njih.) Prema tome, u redovima 13-14 za svako odredite^, vor.t takode utvruje v* (y) i aurira svoju tabelu prosleivanja za odredite y. Imajte na umu da je algoritam LS globalan u smislu da svaki vor mora prvo da pribavi kompletnu mapu mree pre nego to primeni Dijkstrin algoritam. Algoritam DV je decentralizovan i ne koristi takve globalne informacije. Zaista, jedine informacije u svakom voru su cene linkova prema direktno povezanim susedima i informacije koje prima od tih suseda. Svaki vor eka na auriranje od bilo kog suseda (redovi 16-17), izraunava nov vektor rastojanja kada primi auriranje (red 14) i distribuira susedima svoj novi vektor rastojanja (redovi 16-17). Algoritam DV se u praksi koristi u mnogim protokolima rutiranja ukljuujui Internetove protokole RIP, i BGP, ISO IDRP, Novelov IPX i prvobitni ARPAnet.

U drugoj koloni su, dakle, za svaki vor prikazani njegov vlastiti vektor rastojanja i vektori rastojanja koji su upravo primljeni od suseda. Obratite, na primer, panju na to da vor x procenjuje da se najjeftinija putanja do vora z, Dx (z), promenila od 7 na 3. Takoe obratite panju na to da za vorove y i z minimum predstavlja vor y. Prema tome, u ovoj fazi algoritma ruteri prvog skoka su v*(y) =y i takoev*(z)=y. Poto vorovi ponovo izraunaju vlastite vektore rastojanja, oni ponovo alju svoje aurirane vektore rastojanja susedima (ukoliko je dolo do promene). Ovo je na slici 4.27 prikazano strelicama iz druge kolone tabela u treu. Primetiete da samo vorovi x i z alju auriranja: vektor rastojanja vora y nije se promenio i zato on ne alje nita. Poto prime auriranja, vorovi ponovo izraunavaju svoje vektore rastojanja i auriraju svoje tabele rutiranja koje su prikazane u treoj koloni. Postupak primanja novih cena od suseda, ponovnog izraunavanja stavki u tabeli rastojanja i obavetavanja suseda o promenjenim cenama najjeftinije putanje do nekog odredita nastavlja se sve dok ima poruka. U tom trenutku, poto se ne alju nikakve poruke sa novim vrednostima, tabele rastojanja se vise nee preraunavati

362

POGLAVUE 4 - MRENI SLOJ

4.5 . ALGORITMI RUTIRANJA

363

i algoritam ulazi u stanje mirovanja; tj. svi vorovi izvravaju ekanje u redovima 10-11 algoritma DV. Algoritam ostaje u stanju mirovanja dok ne doe do promene cene nekog linka, to emo sada opisati. Algoritam vektora rastojanja: promene cena linkova i otkazivanje linkova Kada vor koji izvrava algoritam DV otkrije promenu u ceni linka izmeu sebe i suseda (redovi 10-11), on aurira svoju tabelu rastojanja (redovi 13-14) i ako je dolo do promene cene najjeftinije putanje, obavetava svoje susede (redovi 16-17). Na slici 4.28(a) prikazano je ovo ponaanje u situaciji kada se cena linka od y prema x promenila od 4 na I. Ovde emo se usredsrediti samo na stavke u tabelama rastojanja vorova y i z do odredita (reda) x. Algoritam DV dovodi do sledeeg niza dogaaja: U trenutku r0, y otkriva promenu u ceni linka (cena se promenila od 4 na 1), aurira svoj vektor rastojanja i obavetava svoje susede o toj promeni poto se promenio vektor rastojanja. U trenutku z prima obavetenje od y i zatim aurira svoju tabelu. Poto izrauna novu najniu cenu do x (smanjila se od 5 na 2), on alje svojim susedima novi vektor rastojanja. TJ trenutku i2, y prima obavetenje od vora z i aurira svoju tabelu rastojanja. U voru y se nisu promenlle najnie cene, pa zato y ne alje nikakvu poruku voru z. Algoritam dolazi u stanje mirovanja. Potrebne su, znai, samo dve iteracije algoritma DV da bi se dostiglo stanje mirovanja. Radosne vesti o smanjenoj ceni izmeu x i y brzo su se propagirale kroz mreu. Razmotrimo sada do ega moe doi ako cena linka porasle. Uzmimo da cena linka izmeu x i y poraste od 4 na 60 kao to je prikazano na slici 4.28(b). 1. Pre promene cene linka imamo Dy(x) = 4, Dy(z) = 1, Dz(y) = 1 i Dy(x) = 5. U trenutku tQiy otkriva promenu u ceni linka (cena se promenila od 4 na 60). Cvorjv izraunava da nova najjeftinija putanja do JC iznosi Dy (x) = min{ c(yj) + Dx(x), c(y,z) + D2(x)}= min {60+0, 1+5} = 6 Naravno, sa naim globalnim znanjem o mrei mi vidimo da ta nova cena prekoz nije tana. Ali, vory jedino ima informaciju da direktna cena do* iznosi 60, a daje zadnje obavetenje koje je y dobio od vora z glasilo da se do * moe stii za 5. Zato, da bi stigao do x, y bi sada iao preko z smatrajui da se od z do * moe stii za 5. U trenutku /[ imamo petlju rutiranja: da bi se stiglo do x, y rutira preko , a z rutira preko y. Petlja rutiranja je kao crna rupa - paket sa odreditem JC koji u trenutku r, stigne do y ili z etae izmeu ta dva vora zauvek (ili dok se njihove tabele prosledivanja ne promene).

364

POGLAVLJE 4 MRENI SLOJ

4.5 . ALGORITMI RUTIRANJA

365

2. Kako je vor y izraunao novu minimalnu cenu prema x, on o tome obavetava z u trenutku 3. Nakon trenutka t{, z prima novi vektor rastojanja \zy sa novom najmanjom cenom iz vora y do x, koja sada iznosi 6. z zna da moe stii u vory po ceni 1, pa tako izraunava da nova najnia cena do x iznosi Dz (x) = min {50+0, 1+6} = 7. Kako se u voru z najnia cena do x poveala, on o tome obavetava y u trenutku tv 4. Na slian nain, poto primi novi vektor rastojanja iz z, y tada utvruje da je Dy(x) = %, pa alje svoj vektor rastojanja voru z. z zatim utvruje daje Dz (x) = 9 i alje svoj vektor rastojanja voru.v itd. Dokle e taj proces da traje? Trebalo bi da uvidite da e petlja imati 44 iteracije (razmena poruka izmeu y i z) - sve dok z u jednom trenutku ne izrauna da je cena njegove putanje preko y vea od 50. U tom trenutku, z e (konano!) utvrditi da njegova najjeftinija putanja do x ide preko njegove direktne veze sa x. y e od tada putanje koje idu prema voru x rutirati preko vora z. Videli smo da su loe vesti o poveanju cene linka zaista sporo putovale! ta bi se dogodilo da se cena linka c(yj) promenila od 4 na 10.000, a daje cena c{zj) bila 9.999? Zbog takvih situacija se problem koji smo sada videli ponekad naziva problemom brojanja do beskonanosti.

Da pogledamo sada kako lano rastojanje reava konkretan problem petlje koji smo imali na slici 4.28(b). Zahvaljujui lanom rastojanju, tabela rastojanja u voru y ukazuje daje D: (x) = >. Kada se cena linka (x,y) promeni od 4 na 60 u trenutku t0, y aurira svoju tabelu i nastavlja da rutira direktno prema x, iako je cena 60 vea, a obavetava z o toj novoj ceni prema x tj. Dy {x) = 60. Poto primi to obavetenje u trenutku z odmah prebacuje rutu prema x direktno preko linka (z,x) po ceni 50, Poto je ovo nova putanja sa najniom cenom prema x i poto putanja vie ne prolazi preko y, z sada obavetava,y dajeDz(x) = 50 u trenutku t2. Poto primi obavetenje od z, y aurira svoju tabelu rastojanja sa D(x) =51. Isto tako, poto se z sada nalazi na putanji najnie cene od_y prema x,y blokira suprotnu putanju od z prema x tako to obavetava z u trenutku t3d&}eDy(x) = oo (iako y zna daje u stvari D (x) = 51). Da li lano rastojanje-reava problem brojanja do beskonanosti u optem sluaju? Ne. Trebalo bi analizom da se uverite da petlje u kojima uestvuje tri ili vie vorova (a ne samo dva neposredno susedna vora) ne mogu da se otkriju tehnikom lanog rastojanja.

Poreenje algoritama rutiranja sa stanjem linkova i sa vektorom rastojanja Algoritmi DV i LS imaju komplementarne pristupe izraunavanju rutiranja. U algoritmu DV (sa vektorom rastojanja) svaki vor razgovara jedino sa svojim direktno povezanim susedima, ali ih snabdeva procenjenim najjeftinijim putanjama od njega do svih ostalih vorova u mrei (za koje zna). U algoritmu LS (sa stanjem linkova), svaki vor razgovara sa svim ostalim vorovima (putem difuznog emitovanja) ali im saoptava jedino cene do svojih direktno povezanih suseda. Prouavanje algoritama sa stanjem linkova i sa vektorima rastojanja zakljuiemo jednim brzim poreenjem nekih njihovih atributa. Sloenost poruka. Videli smo daje za LS potrebno da svaki vor zna cenu svih linkova u mrei. Da bi se to postiglo, potrebno je da se poalje 0(|N| jE|) poruka. Isto tako, kad god se promeni cena nekog linka, nova cena mora da se poalje svim vorovima. Algoritam DV pri svakoj iteraciji zahteva razmenu poruka meu direktno povezanim susedima. Videli smo da vreme potrebno da se algoritam iscrpi zavisi od mnogo inilaca. Kada se promeni cena linka, algoritam DV propagira rezultate te promene samo ako nova cena linka menja najniu cenu putanje prema nekom od vorova vezanih za taj link. Brzina izraunavanja. Videli smo da naa implementacija algoritma LS raste sa kvadratom broja vorova i da je potrebno 0(|Nj |E|) poruka. Algoritam DV moe da se izraunava sporo i moe da ima petlje rutiranja dok se algoritam ne zavri. U algoritmu DV takoe moe doi do problema brojanja do beskonanosti. Robusinost. Sta moe da se dogodi ako ruter otkae, pogreno se ponaa ili je napadnut? Ako se koristi LS, ruter moe da emituje neispravnu cenu nekog od svojih povezanih linkova (ali ne i drugih linkova). vor takode moe da oteti

Algoritam sa vektorom rastojanja: dodavanje lanog rastojanja Specifina situacija sa petljom koju smo upravo opisali moe da se izbegne pri-menom jedne tehnike poznate kao lano rastojanje. Zamisao je jednostavna - ako z rutira preko y da bi se stiglo do odredita x, tada e z obavestiti y da je njegovo rastojanje do x beskonano, tj. z e obavestiti y da je Dt (x) = oo (iako z zna daje u stvari Dz (x) = 5). z e ostati pri toj maloj lai sve dok rutira putanje prema odreditu x preko y. Kako y veruje da od z nema putanje prema x, y nee nikad pokuati da rutira putanje ije je odredite x preko z, sve dok z nastavlja da rutira putanje prema x preko y (i pretvara se da to ne radi).

366

POGLAVUE 4 MRENI SLOJ

4.5 ALGORITMI RUTIRANJA

367

ili ispusti neke LS pakete o stanju linkova koje je primio. Ali, LS vor izraunava samo vlastite tabele prosledivanja; ostali vorovi vre slina izraunavanja sami za sebe. To znai da su u sistemu LS izraunavanja ruta donekle razdvojena to im daje odreeni stepen robustnosti. U sistemu DV, vor moe da objavi neispravne najjeftinije putanje do bilo kojeg ili do svih odredita. (Zaista, 1997. godine pokvareni ruter u malom posredniku za Internet usluge predao je ruterima dravne okosnice pogrene informacije o rutiranju. Zbog toga su drugi ruteri preplavili neispravni ruter saobraajem i doveli do toga da veliki delovi Interneta ak nekoliko sati ostanu nepovezani [Neumann 1997].) Uopteno govorei, pri-meujemo da se u sistemu DV pri svakoj iteraciji izraunavanja koja je izvrio jedan vor predaju njegovom susedu, a zatim u sledeoj iteraciji indirektno i susedu njegovog suseda. Na taj nain, neispravan rezultat iz jednog vora moe u sistemu DV da se proiri kroz celu mreu. Na kraju, nijedan od ovih algoritama nije bolji od drugog; zaista, u Internetu se koriste oba. Ostali algoritmi rutiranja Algoritmi LS i DV koje smo upravo obradili nisu samo u irokoj upotrebi, ve su n sutini jedini algoritmi rutiranja koji se danas u praksi koriste. Ipak, tokom poslednjih 30 godina istraivai su predlagali mnoge algoritme rutiranja, od krajnje jednostavnih do veoma sloenih i kompl i kovanih. Jedna velika klasa algoritama rutiranja posmatra saobraaj paketa kao tokove izmeu izvora i odredita u mrei. U takvom pristupu, problem rutiranja moe matematiki da se formulie kao problem ograniene optimizacije poznat kao problem mrenog toka [Bertsekas 1991 ]. Pome-nuemo ovde jo jedan skup algoritama rutiranja koji potie iz sveta telefonije. Ovi algoritmi rutiranja sa komutiranjem vodova vani su za umreavanje sa komutiranjem paketa u sluajevima kada za svaku konekciju koja se rutira preko nekog linka treba rezervisati resurse na tom linku (na primer, pomone memorije ili deo propusnog opsega linka). Dok formulacija problema rutiranja moda izgleda sasvim razliita od formulacije rutiranja prema najnioj ceni koju smo videli u ovom poglavlju, postoji niz slinosti bar u pogledu algoritma za pronalaenje putanje (algoritma rutiranja). italac moe nai detaljan prikaz ovog podruja istraivanja u [Ash 1998; Ross 1995; Girard 1990]. 4.5.3 Hijerarhijsko rutiranje U prouavanju algoritama LS i DV posmatrali smo mreu jednostavno kao kolekciju meusobno povezanih rutera. Ruteri se nisu meusobno razlikovali jer su svi izvravali isti algoritam rutiranja za izraunavanje putanja rutiranja kroz celu mreu. U praksi je ovaj model i njegov pojam homogenog skupa rutera koji svi izvravaju isti algoritam rutiranja previe uproen bar iz dva znaajna razloga:

Skaliranje. Kako broj rutera raste, preoptereenje koje potie od izraunavanja, uvanja i saoptavanja informacija o rutiranju (na primer, aurnog stanja linkova ili promena najniih cena putanja) postaje preterano. Dananji javni Internet se sastoji od stotina miliona raunara. Jasno je da bi za uvanje informacija o rutiranju prema svakom od njih bile potrebne ogromne koliine memorije. Emitovanje aurnog stanja linkova svim ruterima u javnom Internetu utroilo bi sav propusni opseg, pa nita ne bi ostalo za slanje paketa podataka! Algoritam sa vektorom rastojanja koji bi iterirao preko tako velikog broja rutera sigurno se nikada ne bi zavrio! Jasno je da treba neto uraditi da bi se smanjila sloenost izraunavanja ruta u tako velikim mreama kakav je javni Internet. Administrativna autonomija. Mada inenjeri esto zanemaruju elje kompanija da koriste rutere po vlastitoj elji (na primer, da same biraju algoritme rutiranja), ili da kriju 'neke aspekte interne organizacije svoje mree od spoljnog sveta, ovo su znaajna pitanja. Idealno bi bilo da organizacija koristi i administrira svoju mreu kako sama hoe, a da ipak moe da je povezuje sa ostalim spoljanjim mreama. Oba ova problema mogu da se rese tako to se ruteri organizuju u autonomne sisteme (AS) i to tako to je svaki autonomni sistem koji se sastoji od grupe rutera obino pod zajednikom administrativnom kontrolom (npr. imaju istog posrednika za Internet usluge ili pripadaju istoj organizaciji). Svi ruteri u jednom AS-u izvravaju isti algoritam rutiranja (na primer, algoritam LS ili DV) i imaju informacije jedni o drugima - tano kao u naem idealizovanom modelu iz prethodnog odeljka. Algoritam rutiranja koji se izvrava unutar autonomnog sistema nazivamo unutranji protokol rutiranja autonomnog sistema. Bie naravno potrebno povezati AS-ove meusobno, pa e jedan ili vie rutera u AS-u imati dodatni zadatak da prosleuje pakete na odredita van AS-a; ti ruteri se nazivaju ruterima mrenog prolaza. Na slici 4,29 prikazan je jednostavan primer sa tri autonomna sistema - AS1, AS2 i AS3. Na ovoj slici, deblje linije predstavljaju direktne linkove izmeu parova rutera. Tanje linije koje se sputaju od rutera predstavljaju podmree direktno povezane sa ruterima. AS1 ima etiri rutera - la, lb, Ic i Id - koji izvravaju unutranji protokol rutiranja autonomnog sistema AS1. Prema tome, svaki od ova etiri rutera zna kako da rutira pakete po optimalnoj putanji do svakog odredita u autonomnom sistemu AS1. Slino tome, autonomni sistemi AS2 i AS3 imaju svaki po tri rutera. Obratite panju na to da protokoli rutiranja unutar AS-ova koji se izvravaju u sistemima AS1, AS2 i AS3 ne moraju biti isti. Obratite takoe panju na to da su ruteri lb, lc, 2a i 3a ruteri mrenog prolaza, Sada bi trebalo da je jasno kako ruteri u AS-ovima utvruju putanje rutiranja za parove izvor-odredite unutar aulonomnog sistema. Ali jo uvek nedostaje jedan veliki deo misterije rutiranja sa kraja na kraj. Kako e ruter unutar jednog AS-a znati kako da rutira paket na odredite izvan tog AS-a? Problem nije teak ako AS ima samo jedan mreni prolaz koji se povezuje sa samo jednim drugim AS-om. U tom sluaju, postoje unutranji algoritam rutiranja utvrdio najjeftiniju putanju od svakog

368

POGLAVLJE 4

MRENI SLOJ

4.5 . ALGORITMI RUTIRANJA

369

unutranjeg rutera do mrenog prolaza, svaki unutranji ruter zna kako da prosledi paket. Kada primi paket, ruter mrenog prolaza prosleduje paket na onaj link koji vodi iz autonomnog sistema. Autonomni sistem na suprotnoj strani tog linka zatim preuzima odgovornost za rutiranje paketa prema njegovom konanom odreditu, Kao primer, pretpostavite da ruter 2b sa slike 4.29 primi paket ije se odredite nalazi izvan sistema AS2, Ruter 2b e tada proslediti paket bilo ruteru 2a ili ruteru 2c, to zavisi od tabele prosleivanja u ruteru 2b koja je konfigurisana unutranjim protokolom rutiranja autonomnog sistema AS2. Paket e na kraju stii do rutera mrenog prolaza 2a, koji e proslediti paket ruteru lb. Poto paket napusti ruter 2a, autonomni sistem AS2 vie nema nita sa ovim paketom. Znai pitanje nije teko ako izvorni AS ima samo jedan link koji vodi van AS-a. Ali ta ako izvorni AS ima dva ili vie linkova (kroz jedan ili vie mrenih prolaza) koji vode van AS-a? Tada je mnogo tee utvrditi gde treba da se prosledi paket. Na primer, razmotrite ruter iz sistema AS 1 i pretpostavite da on primi paket ije se odredite nalazi izvan AS-a. Jasno je da ruter treba da prosledi paket nekom od dva mrena prolaza, lb ili lc, ali kojem? Da bi se resio ovaj problem, AS 1 mora da (1) sazna koja su odredita dostupna putem autonomnog sistema AS2 a koja putem sistema AS3 t (2) da propagira te informacije o dostupnosti svim ruterima u AS1 da bi svaki ruter konfigurisao svoju tabelu prosleivanja i pravilno tretirao odredita van AS-a. Ova dva zadatka pribavljanje informacija o dostupnosti od susednih AS-ova i propagiranje informacija o dostupnosti svim ruterima unutar AS-a - obavlja protokol ruti-

ranja meu autonomnim sistemima. Poto protokol rutiranja meu autonomnim sistemima
ukljuuje komunikaciju izmeu dva autonomna sistema, ta dva autonomna sistema moraju da izvravaju isti protokol rutiranja meu autonomnim sistemima. U stvari, na Internetu svi AS-ovi izvravaju isti protokol rutiranja medu autonomnim sistemima, po imenu BGP4, koji opisujemo u sledeem odeljku. Kao to se vidi na slici 4.29, svaki ruter prima informacije od jednog unutranjeg protokola rutiranja autonomnog sistema i jednog protokola rutiranja meu autonomnim sistemima i konfigurie svoju tabelu prosleivanja pomou informacija iz oba ta protokola. Uzmimo kao primer jednu podmreu x (sa odreenom CIDR adresom) i uzmimo da AS1 sazna od protokola rutiranja meu autonomnim sistemima daje podmreax dostupna iz sistema AS3 ali da

nije dostupna iz sistema AS2. AS1 zatim propagira ovu informaciju svim svojim ruterima. Kada ruter ld sazna daje mreax dostupna iz sistema AS3, pa prema tome preko mrenog prolaza Ic, on tada iz
informacija do-bijenih od unutranjeg protokola rutiranja odreuje ruterski interfejs na najjeftinijoj putanji iz rutera ld do rutera mrenog prolaza lc. Recimo da je. to interfejs I. Ruter ld moe u svoju tabelu prosleivanja da doda stavku (x, I). (Ovaj primer, kao i ostali iz ovog Odeljka, imaju za cilj da objasne glavne principe ali uproeno prikazuju ono to se zaista dogaa na Internetu. U sledeem odeljku daemo detaljniji, mada sloeniji, opis protokola BGP.) Naovezujui se na prethodni primer, pretpostavimo sada daseAS2 iAS3 povezuju sa drugim AS-ovima koji nisu prikazani na slici. Pretpostavimo takode da AS I sazna od protokola rutiranja meu autonomnim sistemima da je podmrea x dostupna i iz sistema AS2 preko mrenog prolaza 1 b i iz sistema AS3 preko mrenog prolaza lc. ASI bi zatim propagirao ovu informaciju svim svojim ruterima ukljuujui i ld. Da bi konfigurisao svoju tabelu prosleivanja, ruter ld bi trebalo da odredi u koji ruter mrenog prolaza (lb ili lc) treba da usmeri pakete sa odreditem u x. Jedan pristup, koji se esto koristi u praksi, je da se primeni rutiranje vrueg krompira. U rutiranju vrueg krompira ruter pokuava da se oslobodi paketa (vrueg krompira) to pre moe (tanije, to jeftinije). To se postie slanjem paketa onom ruteru mrenog prolaza koji od svih mrenih prolaza koji imaju putanju prema odreditu imaju najniu cenu od rutera do mrenog prolaza. U kontekstu trenutnog primera, rutiranje vrueg krompira koje bi se izvravalo u prolazu ld bi na osnovu informacija dobije-nih od unutranjeg protokola rutiranja utvrdio cene putanja do lb i lc i zatim izabrao jeftiniju od te dve putanje. Poto se izabere putanja, ruter ld dodaje stavku za podmreu x u tabelu prosleivanja. Na slici 4.30 prikazana je rekapitulacija aktivnosti u ruteru ld potrebnih za dodavanje nove stavke za x u tabelu prosleivanja. Kada AS sazna od susednog AS-a za neko odredite, on moe da oglasi tu informaciju za rutiranje nekim od svojih ostalih susednih AS-ova. Na primer, pretpostavimo da AS 1 sazna od sistema AS2 da je podmrea x dostupna preko sistema AS2. AS 1 bi mogao da obavesti AS3 da je

x dostupna preko sistema AS I. Na ovaj nain, ako AS3 treba da rutira paket sa odreditem u x, AS3
bi prosledio paket u ASI, koji bi zatim prosledio paket u AS2. Kao to emo videti u opisu BGP-a, AS prilino fle-

370

POGLAVLJE 4

MRENI SLOJ

4.6

RUTIRANJE NA INTERNETU

197

Verovatno se seate iz odeljka 4.5.3 da se kolekcija rutera pod istom administrativnom i tehnikom kontrolom i koja koristi isti zajedniki protokol rutiranja naziva autonomnim sistemom (AS). Svaki AS, zatim, obino sadri vie podmrea (ovde koristimo izraz podmrea u preciznom adresnom smislu iz odeljka 4.4.2).

4.6.1 Unutranji protokoli rutiranja autonomnih sistema na Internetu: RIP


Unutranji protokol rutiranja AS-a slui da bi se odredilo kako se vri rutiranje unutar tog autonomnog sistema. Unutranji protokoli rutiranja AS-a poznati su i kao unutranji protokoli mrenih ksibilno odluuje o tome da li da obavesti susedne AS-ove o nekom odreditu. To su odluke politike, koje zavise vie od ekonomskih nego od tehnikih argumenata. Iz odeljka 1.5 se moda seate da se Internet sastoji od hijerarhije meusobno povezanih posrednika za Internet usluge. Kakav je dakle odnos posrednika i AS-a? Mogli biste pomisliti da ruteri jednog posrednika i linkovi koji ih povezuju ine jedan AS. Mada je esto tako, mnogi posrednici dele svoju mreu na vie AS-ova. Na primer, neki posrednici prvog reda koriste jedan AS za celu svoju mreu dok je drugi dele desetine meusobno povezanih AS-ova. Sve u svemu, problemi skaliranja i administrativne kontrole reavaju se definisa-njem autonomnih sistema. Unutar autonomnog sistema svi ruteri izvravaju isti unutranji protokol rutiranja. Autonomni sistemi meu sobom izvravaju isti protokol rutiranja meu autonomnim sistemima. Problem skaliranja je reen poto unutranji protokol rutiranja treba da zna samo za rutere u svom autonomnom sistemu. Problem administrativne kontrole je reen poto svaka organizacija moe da izvrava unutranji protokol koji god hoe; meutim, svaki par povezanih AS-ova mora da izvrava isti protokol rutiranja meu autonomnim sistemima kako bi mogli da razmenjuju informacije o dostupnosti. U sledeem odeljku ispitaemo dva unutranja protokola rutiranja (RIP i OSPF) ijedan protokol rutiranja meu autonomnim sistemima (BGP) koji se koriste u dananjem Internetu. Ovi primeri e lepo. upotpuniti naa razmatranje hijerarhijskog rutiranja. prolaza. Na Internetu su za rutiranje unutar autonomnih sistema bila u irokoj upotrebi dva protokola rutiranja: najpre RIP (Routing Information Protokol) i zatim OSPF (Open Shortest Path

First). Protokol rutiranja blisko povezan sa OSPF-om je protokol IS-IS [RFC 1142, Periman 1999].
Prvo opisujemo RIP a zatim OSPF. RIP je bio jedan od prvih unutranjih protokola rutiranja AS-a na Internetu i danas je jo uvek u irokoj upotrebi. Njegovi koreni i ime potiu iz arhitekture XNS (Xerox Nenvork Svstems). RIP je toliko rasprostranjen pre svega zato stoje bio ukljuen u verziju UNIX-a koji je podravao TCP/IP i koji je distribuiran u paketu BSD (Berkeley Sopvare Distribution) 1982. godine. Prva verzija RlP-a definisana je u dokumentu RFC 1058, a druga verzija, kompatibilna unazad, definisana je u dokumentu RFC 2453. RIP je protokol vektora rastojanja koji funkcionie veoma slino idealizovanom protokolu koji smo opisali u odeljku 4.5.2. Verzija RlP-a opisana u dokumentu RFC 1058 odreuje cene prema broju skokova; tj. svaki link ima cenu 1. U algoritmu DV u odeljku 4.5.2 smo zbog jednostavnosti navodili cene izmeu parova rutera. U RIP-u (a takoe i u OSPF-u) cene se navode od izvornog rutera do neke odredine podmree. RIP koristi izraz skok to je u stvari broj podmrea kroz koje se prolazi du najkrae putanje od izvornog rutera do odredine podmree, ukljuujui odredinu podmreu. Na slici 4.31 prikazan je AS sa est podmrea grana. Tabela na stici prikazuje broj skokova od izvora A do svih podmrea grana. Maksimalna cena putanje ograniena je na 15, pa se zato RIP ograniava na autonomne sisteme sa manje od 15 skokova u preniku. Verovatno se seate da kod protokola vektora rastojanja, susedni ruteri meusobno razmenjuju informacije o rutiranju. Vektor rastojanja u svakom ruteru sadri trenutno procenjena najmanja rastojanja od tog rutera do podmrea u AS-u. U RIP-u, aurne podatke o rutiranju susedi razmenjuju priblino svakih 30 sekundi u takozvanim porukama RIP odgovora. Poruka odgovora koju alje ruter ili raunar sadri spisak od najvie 25 odredinih podmrea unutar AS-a kao i udaljenost poiljaoca do svake od tih podmrea. Poruke odgovora nazivaju se takoe i RIP objave. Pogledajmo jedan jednostavan primer gde emo videti kako funkcioniu RIP objave. Razmotrite deo AS-a prikazan na slici 4.32. Na ovoj slici linije koje povezuju rutere predstavljaju podmree. Radi bolje preglednosti oznaeni su samo izabrani

4.6 Rutiranj e na Internetu


Poto smo prouili internetsko adresiranje i protokol IP, sada emo se posvetiti Internetovim protokolima rutiranja; njihov zadatak je da utvrde putanju kojom e datagram stii od izvora do odredita. Videemo da Internetovi protokoli rutiranja primenjuju mnoge principe koje smo prouili ranije u ovom poglavlju. Za nain rutiranja na dananjem Internetu kljuni su algoritmi stanja linkova i vektora rastojanja koje smo prouili u odeljcima 4.5.1 i 4.5.2 i pojam autonomnih sistema (AS) koji smo razmatrali u odeljku 4.5.3.

198

POGLAVLJE 4 . MRENI SLOJ

4.6

RUTIRANJE NA INTERNETU

198

ruteri (A, B, C i D) i podmree (w, x, y i

z).Isprekidane linije ukazuju na to da se AS produava

Pretpostavimo sada da nakon 30 sekundi ruter

primi od rutera

objavu prikazanu na slici

i da u njemu ima mnogo vie rutera i linkova nego stoje prikazano, Svaki ruter odrava RIP tabelu koja se naziva tabela rutiranja. Tabela rutiranja jednog rutera sadri njegov vektor rastojanja i njegovu tabelu prosleivanja. Na slici 4.33 prikazana je tabela rutiranja u ruteru

4.34. Obratite panju na to da ova objava sadri samo informacije iz tabele rutiranja rutera ,4! Ova informacija kazuje, konkretno, daje podmrea z udaljena samo 4 skoka od rutera

A.

Kada ruter

primi ovu objavu, on kombi-nuje objavu (slika 4.34) sa starom tabelom rutiranja (slika 4.33). Konkretno, ruter D saznaje da do podmree z sada postoji putanja preko rutera A kraa od putanje preko rutera B.Prema tome, ruter Daurira svoju tabelu rutiranja i ukljuuje krau najkrau putanju, kao to je prikazano na slici 4.35. Moda se pitate kako to daje najkraa putanja do podmree.z postala kraa? Moda se decentralizovani algoritam vektora rastojanja tek izraunavao (videti odeljak 4.5.2) ili su moda u AS dodati novi linkovi i/ili ruteri pa su se tako promenile najkrae putanje u AS-u. Pogledajmo zatim nekoliko aspekata u implementaciji RlP-a. Sigurno se seate da RIP ruteri razmenjuju objave priblino svakih 30 sekundi. Ako ruter nema vesti od svog suseda bar svakih 180 sekundi, smatrae da taj sused vie nije dostupan; ili je sused otkazao ili se prekinuo link koji ih povezuje. U tom sluaju, RJP menja lokalnu tabelu rutiranja i zatim propagira tu informaciju tako to alje objave svojim suse-dnim ruterima (onima koji su jo uvek dostupni). Ruter moe takoe od svog suseda

D.

Obratite panju na to da tabela rutiranja ima tri kolone. Prva kolona je za

odredinu podmreu, druga kolona sadri sfedei ruter na najkraoj putanji prema odredinoj mrei, a u treoj se nalazi broj skokova (tj. broj podmrea koje treba prei, ukljuujui odredinu podmreu) da bi se najkraim putem stiglo u odredinu podmreu. U ovom primeru tabela pokazuje da za slanje datagrama iz rutera

u odredinu podmreu w, datagram treba prvo proslediti

susednom ruteru A; tabela takoe pokazuje da do odredine podmree w po najkraoj putanji treba dva skoka. Slino tome, tabela pokazuje daje podmrea z udaljena sedam skokova i to preko rutera

B. U principu, tabela rutiranja ima po jedan red za svaku podmreu unutar AS-a, mada RIP verzije 2
dozvoljava agregaciju ruta prema podmreama pomou tehnika agregacije kakve smo ispitali u odeljku 4.4. Tabela na slici 4.33 i sledee tabele su zbog toga samo delimino popunjene.

199

POGLAVLJE 4

MRENI SLOJ

4.6

RUTIRANJE NA INTERNETU

375

da zahteva informaciju o ceni do datog odredita pomou poruke RIP zahteva. Ruteri alju jedni drugima poruke RIP zahteva i RIP odgovora preko UDP-a i pri tom koriste broj porta 520. UDP paket se izmeu rutera prenosi u standardnom IP datagramu. injenica da RIP koristi protokol transportnog sloja (UDP) preko protokola mrenog sloja (IP) da bi implementirao funkciju mrenog sloja (algoritam rutiranja) moe da izgleda prilino uvrnuto (i jeste!), Kada malo detaljnije razmotrimo nain na koji se RIP implementira bie i ovo jasnije. Na slici 4.36 data je skica uobiajenog implementiranja RlP-a u UNIX sistemu, na primer, u UNIX radnoj stanici koja slui kao ruter. Proces po imenu routed (koji se izgovara ,,rut di") izvrava protokol RIP, tj. odrava informacije o rutiranju i razme-njuje poruke sa routed procesima koji se izvravaju u susednim ruterima. Poto je RIP implementiran kao proces aplikacijskog sloja (iako veoma poseban proces koji moe da manipulie tabelama rutiranja u UNIX-ovom kemelu), on moe da alje i prima poruke preko standardnog soketa i koristi standardni transportni protokol. Prema tome, RIP je implementiran kao protokol aplikacijskog sloja (proitati poglavlje 2) koji se izvrava preko UDP-a. formacija o stanju linkova i jedan Dijkstrin algoritam za najjeftiniju putanju. Kada se koristi OSPF, ruter izgrauje kompletnu topoloku mapu (tj. orijentisani graf) celog autonomnog sistema. Ruter zatim lokalno izvrava Dijkstrin algoritam za najkrau putanju kako bi utvrdio stablo najkraih putanja prema svim podmreama i pri tom sebe postavlja za osnovni vor. Mreni administrator konfigurie cene pojedinanih linkova (proitajte Principe u praksi: Podeavanje pondera OSPF linkova). Administrator moe svim linkovima da stavi cenu 1, ime postie rutiranje prema minimalnom broju skokova a moe i da ponderie linkove tako da im cene budu obrnuto srazmeme kapacitetu da bi podstakao saobraaj na linkovima sa veim propusnim opsegom. OSPF ne propisuje politiku za ponderisanje linkova (to je zadatak mrenog administratora), ve umesto toga obezbeduje mehanizme (protokol) kojim se utvruje rutiranje najjeftinijih putanja na osnovu datih pondera za linkove. Kada se koristi OSPF, ruter difuzno emituje informacije o rutiranju svim ostalim ruterima u autonomnom sistemu, a ne samo svojim susednim ruterima. Ruter difuzno emituje informacije o stanju linkova kad god doe do promene stanja nekog linka (na primer, do promene cene ili promene statusa ukljuenja/iskljuenja). On takode povremeno difuzno emituje stanje linkova (najmanje svakih 30 minuta), ak i kad nema promena u stanju linkova. RFC 2328 napominje da povremeno auriranje objava stanja linkova poveava robustnost ovog algoritma". OSPF objave stavljaju se u OSPF poruke koje direktno prenosi IP sa protokolom gornjeg sloja 89, za OSPF. Prema tome, protokol OSPF mora sam da implementira funkcije kao to su pouzdani transfer poruka i difuzno emitovanje stanja linkova. Protokol OSPF takoe provera-va da li linkovi funkcioniu (pomou poruke HELLO koja se alje povezanom suse-du) i omoguava OSPF ruteru da preko svog susednog rutera pribavi bazu podataka o stanju linkova u celoj mrei.

4.6.2 Unutranji protokoli rutiranja autonomnih sistema na Internetu: OSPF


Kao i RIP, OSPF (otvorena prvo najkraa putanja) rutiranje se koristi unutar AS-ova. OSPF i njegov blizak srodnik IS-IS obino se uvodi kod posrednika Internet usluga vieg reda dok se RIP uvodi kod posrednika nieg reda i u mreama preduzea, Otvorena" u skraenici OSPF znai da je specifikacija protokola rutiranja javno dostupna (za razliku, na primer, od Ciscovog protokola EIGRP). Najnovija verzija OSPF-a, verzija 2 definisana je u javnom dokumentu RFC 2328. OSPF je zamiljen kao naslednik RlP-a, pa kao takav ima niz naprednih svojstava. U sutini, meutim, OSPF je protokol sa stanjem linkova koji koristi priliv in-

-?-

200

POGLAVLJE 4 . MRENI SLOJ

4.6 RUTIRANJE NA INTERNETU

377

Evo nekoliko unapreenja koje donosi OSPF: Bezbednost. Proverava se autentinost kompletne razmene izmeu OSPF rutera (na primer, auriranje stanja linkova). To znai da u OSPF protokolu unutar domena mogu da uestvuju samo ruteri od poverenja, ime se spreava da zlo-namemi uljezi (ili studenti umreavanja koji svoje novosteeno znanje koriste za ale) ubace netane informacije u ruterske tabele. OSPF paketi meu ruterima se podrazumevano ne proveravaju pa bi moglo doi do falsifikovanja. Mogue je konfigurisati dve vrste bezbednosti - jednostavnu ili MD5 (u poglavlju 8 moete nai opti opis provere autentinosti i posebno MD5). Ako se koristi jednostavna provera autentinosti u sve rutere se konfigurie ista lozinka. Kada ruter poalje OSPF paket, on ukljuuje lozinku kao isti tekst. Jasno je da jednostavna provera autentinosti nije bezbedna. Provera autentinosti MD5 zasniva se na zajednikim tajnim kljuevima koji se konfiguriu u sve rutere. Svaki ruter izraunava MD5 he za svaki OSPF paket na osnovu sadraja paketa i konfigurisanog tajnog kljua. Dobijenu vrednost hea ukljuuje u OSPF paket. Prijemni ruter e pomou unapred konfigurisanog kljua izraunati MD5 he primljenog paketa i uporediti dobijeni rezultat sa he vrednou iz paketa, ime proverava autentinost paketa. Kao zatita od napada ponavljanjem koriste se i redni brojevi u MD5 proveri autentinosti. Vie putanja sa istom cenom. Kada do jednog odredita vie putanja ima istu cenu, OSPF dozvoljava da se i koristi vie putanja (tj. ako postoji vie putanja sa istom cenom, ne mora se za sav saobraaj birati ista putanja). Integrisana podrka za jednoznano i vieznano rutiranje. Vieznani OSPF [RFC 1584] sadri jednostavna proirenja za OSPF koja omoguavaju vieznano rutiranje (ova tema je detaljnije obraena u odeljku 4.7.2). Vieznani OSPF (Multicast OSPF, MOSPF) koristi postojeu OSPF bazu podataka o linkovima i dodaje jednu novu vrstu objave stanja linkova u postojei mehanizam za difuzno emitovanje stanja linkova. Podrka za hijerarhiju unutar istog domena rutiranja. Moda je najznaajniji napredak u OSPF-u mogunost da se autonomni sistem strukturie hijerarhijski. U odeljku 4.5.3 ve smo uvideli mnoge prednosti hijerarhijskih struktura za rutiranje. U ostatku ovog odeljka obradiemo implementaciju OSPF hijerarhijskog rutiranja. OSPF autonomni sistem moe se konfigurisati u podruja. Svako podruje izvrava vlastiti OSPF algoritam rutiranja prema stanju linkova, tako to svaki ruter u podruju difuzno emituje svoje stanje linkova svim ostalim ruterima u tom podruju. Unutranji detalji podruja tako ostaju nevidljivi za sve rutere izvan podruja. Rutiranje unutar podruja ukljuuje samo rutere iz istog podruja. U svakom podruju je jedan rubni ruter podruja ili vie njih zadueno za rutiranje paketa van podruja. Tano jedno OSPF podruje u autonomnom sistemu konfigurie se kao podruje okosnice. Prvenstvena uloga podruja okosnice je da rutira saobraaj izmeu ostalih podruja u autonomnom sistemu. Okosnica uvek sadri

sve rubne rutere podruja u autonomnom sistemu, a moe da sadri i rutere koii nisu rubni. Rutiranje meu podrujima unutar autonomnog sistema zahteva da se paket prvo rutira rubnom ruteru podruja (rutiranje unutar podruja), zatim kroz okosnicu do rubnog rutera podruja koji se nalazi u odredinom podruju, a tek nakon toga do konanog odredita. Na slici 4.35 dat je dijagram hijerarhijski strukturisane OSPF mree. Na ovoj slici vidimo etiri vrste OSPF rutera. Unutranji ruteri. Ovi ruteri su u podrujima koja ne spadaju u okosnicu i izvravaju samo rutiranje unutar autonomnog sistema. Rubni ruteri podruja. Ovi ruteri pripadaju i podruju i okosnici. Ruteri okosnice {ruteri koji nisu }-ubni). Ovi ruteri vre rutiranje unutar okosnice, ali sami'nisu rubni ruteri podruja. Unutranji ruteri saznaju da postoje rute prema drugim podrujima van okosnice na osnovu informacija (u sutini objave o stanju linka koja, meutim, objavljuje cenu rute prema drugom podruju, a ne cenu linka) difuzno emitovanih unutar podruja iz njegovih rutera okosnice. Granini ruteri. Granini ruter razmenjuje informacije o rutiranju sa ruterima koji pripadaju drugim autonomnim sistemima. Taj ruter moe, na primer, da koristi BGP za rutiranje medu AS-ovima. Kroz takav granini ruter ostali ruteri saznaju za putanje prema spoljnim mreama. OSPF je relativno sloen protokol i na je opis morao da bude skraen; dodatne detalje moete nai u knjigama [Huitema 1998; Moy 1998; RFC 2328].

201

POGLAVLJE 4 - MRENI SLOJ

4.6 . RUTIRANJE NA INTERNETU

379

PRINCIPI U PRAKSI
PODEAVANJE PONDERA OSPF LINKOVA Nos opis rulironjo prema slanju linkova polazio je od pretpostavke do su ponderi linkova odreeni, da se izvrava algorilam ruliranja kao to je OSPF i da saobraaj tee u skladu sa tabelama rutiranja koje je izraunao algoritam LS. U smislu uzroka i posledice, ponderi linkova su doti (tj. oni su prvi), a iz njih proizlaze (pomou Dijkstrinog algoritmo) putanje rutiranja premo najniim cenama. Iz te perspektive, ponder linka reflektuje cenu koju treba platiti za korienje linka {npr. ako su ponderi linkova obratno proporcionalni kapacitetu, tado bi korienje linkova sa velikim kapacitetom imalo nii ponder pa bi bilo privlani je to se tie rutiranja) a Dijkstrin algoritam slui za pronalaenje to nie ukupne cene. U praksi su uzrono posledini odnosi izmeu pondera linkova i putanja rutiranja ponekad obrnuti, jer mreni operateri konfigurisu pondere linkova da bi se dobile putanje rutiranjo koje e ostvariti odreene ciljeve saobraajnih inenjera [Forlz 2000, Fortz 2002], Na primer, pretpostavite da mreni operater procenu toka saobraaja koji ulazi u mreu na svakoj ulaznoj toki sa odreditem na drugoj izlaznoj taki. Operater bi mogao da uredi specifino rutiranje tokova od ulaza ka izlazu lako da maksimalno optereenje svih iinkovo u mrei bude to manje. Ali sa algoritmom rutiranja kakav je OSPF, ponderi linkova predstavljaju glavne operaterove ruice" za usmeravanje tokova kroz mreu. Prema tome, da bi postigao svoj cilj da maksimalno optereenje svih linkova u mrei bude to manje, opeialer mora do pronae skup pondera zo linkove koji e laj cilj i ostvariti. Ovo je suprotan uzrono posledini odnos - poznalo je eljeno rutiranje tokova a treba pronai takve pondere OSPF linkova do OSPF algoritam rutiranja proizvede eljeno rutiranje tokova.

Pogotovo, BGP omoguava svakoj podmrei da oglasi svoje postojania svima na Internetu. Podmrea vie Ja postojim, ja sam ovde", a BGP e se pobrinuti da svaki AS na Internetu sazna za tu podmreu i kako se do nje stie. Da nema BGP-a, svaka podmrea bi ostala izolovana - sama i nepoznata ostalima na Internetu. Osnove BGP-a BGP je izuzetno sloen; cele knjige su posveene toj temi. tavie, ak poto se proitaju te knjige i RFC-iji teko je potpuno ovladati BGP-om pre nego to se mese-cima (ako ne godinama) praktino koristi BGP u ulozi projektanta ili administratora kod posrednika Internet usluga vieg reda. I pored toga, poto je BGP apsolutno sutinski protokol na Internetu - to je upravo protokol koji dri celu stvar na okupu - moramo da nauimo bar osnove njegovog funkcionisanja. Na poetku opisujemo kako bi BGP mogao da radi u kontekstu primera jednostavne mree sa slike 4.29. Ovim opisom nadovezujemo se na obradu hijerarhijskog rutiranja iz odeljka 4.5.3; bilo bi dobro da ga ponovo proitate. Kada se koristi BGP, parovi rutera razmenjuju informacije o rutiranju putem polutrajnih TCP konekcija na portu 179. Polutrajne TCP konekcije za mreu sa slike 4.29 prikazane su na slici 4.38. Obino postoji po jedna takva BGP TCP konekcija za svaki link koji direktno povezuje dva rutera iz razliitih AS-ova; prema tome, na slicj 4.38 imamo jednu TCP konekciju izmeu nitera mrenih prolaza 3a i lc i drugu TCP konekciju izmeu rutera mrenih prolaza lb i 2a. Postoje takoe polutrajne BGP TCP konekcije izmeu rutera unutar administrativnog sistema. Konkretno, na slici 4.38 prikazana je uobiajena konfiguracija jedne TCP konekcije za svaki par rutera unutar AS-a tako da imamo preplet TCP konekcija u svakom AS-u. Za svaku TCP konekciju dva rutera na krajevima konekcije nazivamo BGP ravnopravnim uesnikom, a TCP konekcija sa svim BGP porukama koje se alju po njoj je BGP sesija. Osim toga, BGP sesija koja povezuje dva AS-a naziva se eksternom BGP (e-BGP) sesijom, a BGP sesija izmeu rutera iz istog AS-a naziva se internom BGP (iBGP) sesijom. Na slici 4.38 eBGPsesije su prikazane duim crticama; iBGP sesije su prikazane kraim crticama. Obratite panju na to da linije BGP sesija na slici 4.38 ne odgovaraju uvek fizikim linkovima na slici 4.29. BGP dozvoljava da svaki AS sazna koja su odredita dostupna preko njegovih susednih AS-ova. Kada se koristi BGP, odredita nisu raunari ve CIDR prefiksi, gde svaki prefiks predstavlja podmreu ili kolekciju podmrea. Tako, na primer, pretpostavimo da su za AS2 vezane etiri podmree: 138.16.64/24, 138,16.65/24, 138.16.66/24 i 138.16.67/24. AS2 bi tada mogao da sakupi prefikse te etiri podmree i upotrebi BGP za objavu jedinstvenog prefiksa 138.16.64/22 autonomnom sistemu AS 1. Uzmimo kao drugi primer pretpostavku da se samo prve tri podmree nalaze u AS-u2 a daje etvrta, 138.16.67/24, u AS-u3. Tada, kao stoje objanjeno u tekstu pod naslovom Principi u praksi, odeljka 4.4.2, poto ruteri za prosledivanje datagrama koriste pravilo najdueg prefiksa, AS3 bi mogao da dojavi AS-ul konkre-tniji prefiks 138.16.67/24, a AS2 bi ipak objavio zbirni prefiks 138.16.64/22. Svaku

4.6.3 Rutiranje meu autonomnim sistemima: BGP


Upravo smo nauili kako posrednici za Internet usluge koriste RIP i OSPF za utvrivanje optimalnih putanja za parove izvor - odredite unutar istog AS-a. Razmotrimo sada kako se utvruju optimalne putanje za parove izvor - odredite iz razliitih AS-ova. Protokol BGP (Border Gateway Protocol) verzija 4, definisan u RFC-u 1771 (videli takoe [RFC 1772; RFC 1773]), je u dananjem Internetu defacto standardni protokol za rutiranje medu domenima, odnosno meu autonomnim sistemima. Obino se pominje kao BGP4 ili jednostavno kao BGP. Kao protokol rutiranja meu autonomnim sistemima (videti odeljak 4.5.3), BGP svakom AS-u omoguava da: 1. pribavi od susednih AS-ova informacije o dostupnosti podmrea; 2. propagira informacije o dostupnosti svim ruterima unutar AS-a; 3. odredi dobre" rute do podmrea na osnovu informacija o dostupnosti i politike AS-a.

202

POGLAVLJE 4 MRENI SLOJ

4.6 . RUTIRANJE NA INTERNETU

381

daljem opisu da nam drvo ne bi zaklonilo umu.) AS brojevi, kao i IP adrese, dodeljuju se u regionalnim registrima ICANN [ICANN 2002]. Kada ruter kroz BGP sesiju objavljuje neki prefiks, on uz prefiks stavlja i odreen broj BGP atributa. U BGP argonu, prefiks zajedno sa svojim atributima naziva se rutom. Prema tome, ravnopravni BGP uesnici objavljuju jedni drugima rute. Dva najvanija atributa su AS-PATH i NEXT-HOP: AS-PATH. Ovaj atribut sadri eksplicitan spisak svih AS-ova kroz koje je prola objava za prefiks o kojem je re. Kada se prefiks preda u AS, taj AS dodaje svoj ASN u atribut AS-PATH. Na primer, razmotrite sliku 4.38 i pretpostavite daje prefiks 138.16.64/24 prvo objavljen iz AS-a2 u ASI; ako ASI zatim objavi taj prefiks u AS3, atribut AS-PATH bi bio AS2 ASI. Ruteri koriste atribut AS-PATH za otkrivanje i spreavanje petlji oglaavanja; konkretno, ako ruter vidi da se njegov AS ve nalazi na spisku, on e odbaciti objavu. Kao to emo uskoro objasniti, ruteri koriste atribut AS-PATH i prilikom biranja jedne od vie putanja za isti prefiks. objavu prefiksa moemo da posmatramo kao obeanje. Kada jedan AS objavi neki prefiks drugom AS-u, on mu obeava da e proslediti datagram sa odreditem u tom prefiksu po putanji prema tom prefiksu. Ispitajmo sada kako bi BGP distribuirao informacije o dostupnosti prefiksa preko BGP sesija prikazanih na slici 4.38. Kao to bi se oekivalo, pomou eBGP sesije izmeu mrenih prolaza 3a i Ic AS3 alje u AS 1 listu prefiksa dostupnih iz AS-a3; a AS1 aljeuAS3 listu prefiksa dostupnih iz AS-al. Slino tome,ASl i AS2 razme-njuju informacije o dostupnosti prefiksa preko svojih rutera mrenog prolaza lb i 2a. Takoe prema oekivanju, kada ruter mrenog prolaza (u bilo kom AS-u) primi prefikse koji stignu preko eBGP-a, on pomou svoje iBGP sesije distribuira prefikse ostalim ruterima u AS-u. Na taj nain, ne samo da e ruteri iz AS-al van eBGP sesije saznati za prefikse iz AS-a3, ve e za njih saznati i ruter mrenog prolaza lb. Ruter mrenog prolaza lb (iz AS-al) moe zatim da objavi autonomnom sistemu AS2 prefikse iz AS-a3. Kada ruter (bez obzira na to da li je ruter mrenog prolaza ili nije) sazna za neki novi prefiks, on u svojoj tabeli prosleivanja napravi stavku za taj prefiks kao to je opisano u odeljku 4.5.3. NEXT-HOP. Par AS-ova, na primer AS A i AS B, moe da ima vie fizikih linkova koji ih direktno povezuju. Zato, kada se prosleduje paket iz AS-a A u AS B, on bi mogao da se poalje bilo kojim od ovih linkova koji direktno povezuju AS-ove. Kada ruter mrenog prolaza iza AS-a B alje objavu rutera mrenom prolazu u AS-u A, on u objavu ukljuuje svoju IP adresu (konkretni)e, IP adresu interfejsa koji ide do rutera mrenog interfejsa u AS-u A). Ruter u AS-u A moe putem eBGP-a i iBGP-a da primi vie ruta za isti prefiks, a da svaka prolazi kroz drugi ruter prvog skoka. Kada konfigurie svoju tabelu prosleivanja, ovaj ruter bi morao da izabere jednu od tih putanja. BGP takode ukljuuje atribute koji omoguavaju ruterima da rutama odrede ponder u izabranim mernim jedinicama ijedan atribut koji oznaava na koji nainje prefiks stigao BGP u poetnom AS-u. Potpuni opis atributa ruta moete nai u [Griffm 2002; Stewart 1999; Halabi 2000; Feamster 2004]. Kada ruter mrenog prolaza dobije objavu rutera, on koristi svoju politiku uvoza pri odluivanju da li da filtrira ili prihvati rutu i da li da podesi odreene atribute kao to su izabrane meme jedinice rutera. Politika uvoza moe da filtrira rutu zato to AS ne eli da alje saobraaj preko nekog od AS-ova iz spiska AS-PATH. Ruter mrenog prolaza moe takoe da filtrira rutu zato to ve zna za bolju rutu prema istom prefiksu. Izbor BGP ruta Kao stoje u ovom odeljku ve reeno, BGP koristi eBGP i iBGP za distribuciju ruta svim ruterima unutar AS-a. Iz distribuiranih informacija ruter moe da sazna za vie ruta prema istom prefiksu pa u tom sluaju mora da se odlui za jednu od moguih ruta. U ovom postupku selekcije ruter polazi od svih ruta za koje je saznao i koje je

Atributi putanja i BGP Poto sada imamo uvodna saznanja o BGP-u, krenimo malo dublje (ipak emo i dalje gurati pod tepih neke manje vane detalje!). Kada se koristi BGP, autonomni sistem se prepoznaje po svom globalno jedinstvenom broju autonomnog sistema {autonomous system number, ASN) [RFC 1930]. (Nije sasvim tano da svaki AS ima svoj ASN. Konkretno, takozvani zavrni AS koji prenosi iskljuivo saobraaj iji je on ili izvor ili odredite, obino nema ASN; ovaj detalj emo'zanemariti u

I 382

POGLAVLJE 4

MRENI SLOJ

4.7 . RUTIRANJE NA INTERNETU

203

prihvatio. Ako postoje dve ili vie ruta do istog prefiksa, BGP redom poziva sledea pravila eliminacije dok ne ostane samo jedna ruta za dati prefiks, Jedan od atributa svake rute je vrednost lokalnog prioriteta. Lokalni prioritet rute mogao je da odredi ruter ili je mogao da ga sazna od drugog rutera u istom AS-u. Ovo je odluka politike i preputa se mrenom administratoru AS-a. (Uskoro emo detaljnije opisati pitanja BGP politika.) Biraju se rute sa najviim vredno-stima lokalnog prioriteta. Od preostalih ruta (svih sa jednakom vrednou lokalnog prioriteta) bira se ruta sa najkraim atributom AS-PATH. Daje ovo jedino pravilo za biranje ruta, BGP bi za odreivanje putanja koristio algoritam DV, gde je jedinica mere za razdaljinu broj AS skokova a ne broj skokova rutera. Od preostalih ruta (svih sa jednakom vrednou lokalnog prioriteta i jednakim duinama atributa AS-PATH) bira se ruta sa najbliim NEXT-HOP ruterom. Ovde se najbliim smatra ruter za koga je utvrena najmanja cena po najjeftinijoj putanji, Ovaj postupak se esto naziva rutiranjem vrueg krompira. Ako jo uvek ostaje vie ruta, za izbor se koriste BGP identifikatori [Stewart 1999]. Pravila eliminacije su sloenija nego Stoje to gore opisano. Da bi se izbegle none more o BGP-u, bolje gaje uiti u manjim dozama! ilustruje kako se za tmplementiranje odnosa izmeu korisnika i posrednika moe upotrebiti selektivno objavljivanje ruta. Preimo sada na mreu posrednika, na primer, AS B. Uzmimo da je B saznao (od A) da A ima putanju AW prema W. B znai moe da instalira rum BAVV u svoju bazu informacija za rutiranje. Jasno je, B takoe hoe da objavi putanju BAW svom korisniku X da bi X znao da se prema W moe nitirati preko B. Meutim, da li bi B trebalo da oglasi putanju BAVV i drugom korisniku C? Ako to uradi, tada bi C mogao da rutira saobraaj prema W preko CBAW. Ako su A, B i C posrednici okosnice, tada bi B opravdano mogao da smatra da on ne treba da deli teret (i trokove!) prenoenja tranzitnog saobraaja izmeu posrednika A i C. B moe opravdano da smatra da je obaveza posrednika A i C da pri rutiranju koriste svoju direktnu vezu (i troak!) izmeu A i C. Trenutno meu posrednicima za Internet usluge iz okosnice ne postoje zvanini standardi za meusobno rutiranje. Meutim, grubo pravilo kojeg se dre komercijalni posrednici zai Internet usluge jeste da saobraaj koji tee njihovom okosnicom mora imati izvor ili odredite (ili oboje) u mrei nekog njihovog korisnika; inae taj saobraaj koristi besplatnu vonju u mrei tog posrednika. Pojedinani partnerski ugovori (iz gore pomenute oblasti) obino su predmet pregovaranja samih posrednika i smatraju se njihovom tajnom; u [Huston 1999a] nalazi se zanimljiv opis partnerskih ugovora. Detaljniji opis naina na koji politike rutiranja odraavaju komercijalne odnose meu posrednicima nai ete u [Gao 2001]. Kao to smo napomenuli, BGP je de facto standard za rutiranje meu AS-ovima u javnom Internetu. Ako vas zanima sadraj razliitih BGP tabela rutiranja (velike su!) iz mtera posrednika prvog reda, pogledajte http://www.routeviews.org. BGP tabele rutiranja esto sadre na desetine hiljada prefiksa i odgovarajuih atributa. Statistike o veliini i karakteristikama BGP tabela rutiranja predstavljene su u [Huston 2001]. Ovim zakljuujemo kratak uvod u BGP. Vano je razumeti BGP jer on igra centralnu ulogu u Internetu. Savetujemo itaocima da pregledaju reference u [Griffin 2002; Stewart 1999; Labovitz 1997; Halabi 2000; Huitema 1998; Gao 2001; Feam-ster 2004] i naue vie o BGP-u.

Politika rutiranja
Neke od osnovnih koncepata BGP rutiranja ilustrovaemo jednim jednostavnim pri-merom. Na slici 4.39 prikazano je est meusobno povezanih autonomnih sistema: A, B, C, W, X i Y. Obratite panju na to da su A, B, C, W, X i Y AS-ovi, a ne ruteri. Pretpostavimo da su autonomni sistemi W, X i Y zavrne mree, a da su A, B i C mree posrednika za uslugu okosnice. Sav saobraaj koji ulazi u zavrnu mreu mora imati odredite u toj mrei i sav saobraaj koji naputa tu mreu mora da potie iz nje. Jasno je da su W i Y takve mree. X je takozvana viedomna zavrna mrea, postoje povezana sa ostatkom mree preko dva razliita posrednika (situacija koja je u praksi sve ea). Meutim, kao i W i Y, i sam X mora da bude odredite, odnosno izvor svog saobraaja koji stie u X ili ga naputa. Ali, kako se implementira i namee takvo ponaanje zavrne mree? Kako spreiti X da prosleuje saobraaj izmeu B i C? To se moe Iako postii kontrolisanjem naina na koji se objavljuju BGP rute. Konkretno, X e funkcionisati kao zavrna mrea ako (svojim susedima B i C) objavi da ne poseduje putanje hi za jedno odredite osim njega samog. To jest, iako X zna za putanju, na primer XCY, kojom se stie do mree Y, on nee objaviti tu putanju svom susedu B. .Poto B ne zna da X ima putanju prema Y, B nee nikad proslediti saobraaj ije je odredite Y (ili C) preko X. Ovaj jednostavan primer

204

POGLAVLJE 4

MRENI SLOJ

4.7 . DIFUZNO I VIEZNANO RUTIRANJE

385!

PRINCIPI U PRAKSI
ZATO SE UNUTAR 1 IZMEU ASAS-OVA KORISTE RAZLIITI PROTOKOLI RUTIRANJA? Poto smo prouili detalje konkretnih protokola rutiranja koji se na dananjem Internetu koriste unutar i izmeu AS-ova, moemo zakljuiti razmatranje ovim moda najfundamen-lalnijim pitanjem koje se uopte moe postaviti o lim protokolima (nadam se da ste se sve vreme to pitali i da nisle zbog drveta izgubili iz vida umu!): Zato se koriste razliiti protokoli rutiranja unutar i izmeu AS-ova? Odgovor na ovo pitanje ukazuje na osnovnu razliku meu ciljevima rutiranja unutar i izmeu AS-ova:

uslugu isporuke paketa koji se iz jednog izvornog vora alje svim ostalim vorovima u mrei; vieznano rutiranje omoguava da jedan izvorni vor poalje po primerak paketa nekom podskupu ostalih vorova u mrei. U odeljku 4.7.1 razmo-triemo algoritme difuznog rutiranja i njihovo otelotvprenje u protokolima rutiranja. Vieznano rutiranje istraiemo u odeljku 4.7.2.

4.7.1 Algoritmi difuznog rutiranja


Moda je najprostiji nain da se postignu komunikacije sa difuznim emitovanjem da otpremni vor poalje zaseban primerak paketa na svako odredite, kao to je prikazano na slici 4.40(a). Ako je dato N odredinih vorova, izvorni vor jednostavno napravi N kopija paketa, adresira svaki primerak na drugo odredite a zatim poalje N primeraka na odredita pomou jednoznanog rutiranja. Ovaj pristup sa iV-tostrukim jednoznanim difuznim emitovanjem je jednostavan - nije potreban nikakav nov protokol rutiranja mrenog sloja, dupliranje paketa, niti prosleivanje paketa. Taj pristup, meutim, ima nekoliko nedostataka. Prvi nedostatak je njegova neefikasnost. Ako je izvomi vor vezan za ostatak mree samo jednim linkom, kroz taj link e proi primeraka (istog) paketa. Jasno je da bi bilo efikasnije da se preko prvog skoka poalje samo jedan primerak a da zatim vor na drugoj strani prvog skoka napravi i prosledi potreban broj dodatnih kopija. To jest, bilo bi efikasnije kada bi sami mreni vorovi (a ne samo izvorni vor) pravili duplikate paketa. Na primer, na slici 4.40(b) link R1-R2 prelazi samo jedan primerak paketa. Taj paket se zatim duplira u R2 pa se linkovima R2-R3 i R2-R4 alje po jedan primerak. Jo jedan nedostatak pristupa sa AMostrukim jednoznanim emitovanjem je moda suptilniji ali nije manje znaajan. Implicitna pretpostavka AMostrukog jednoznanog emitovanja je da poiljalac zna sve primaoce i njihove adrese. Ali kako da se pribave te informacije? Najverovatnije bi bili potrebni dodatni mehanizmi protokola (npr. protokol za difuzno emitovani poziv na ulanjenje ili registrovanje odredita).

Politika. Izmeu AS-ova preovladuju pitanja politike. Ponekad je vano da se saobraaju koji

potie iz datog AS-a nikako ne dozvoli prolaz kroz drugi konkretan AS. Slino tome, neki AS moda eli da kontrolise vrstu tranzitnog saobraaja koji prenosi izmeu drugih ASova. Videli smo da BGP prenosi atribute putanje i omoguava kontro-lisanu distribuciju informacija a rutiranju, pa se mogu donositi takve odluke zasnovane na politici. Unutar AS-a se sve formalno nalazi pod istom administrativnom kontrolom, pa pitanja politike imaju daleko manji znaaj kada sa biraju tule unutar AS-a.

Skaliranje. Za rutiranje meu AS-ovima kritina je sposobnost algoritma'rutiranja i njegovih

struktura podataka da se skaliraju kako bi se omoguilo rutiranje prema velikom broju mrea i izmeu njih. Unutar AS-a skaliranje nije toliko kritino. Meu ostalim, ako administrativni domen previe poraste uvek ga je mogue podeliti na dva AS-a, pa izmeu njih koristiti rutiranje meu AS-ovima. [Verovatno se seate da OSPF dozvoljava da se podelom AS-a u podruja" izgrade takve hijerarhije.)

Performanse. Poto politika toliko utie na rutiranje meu AS-ovima, kvalitet (na primer,

performanse} upotrebljenih ruta cesto nije toliko znaajan (tj. ponekad e se izabrati dua' i skuplja ruta koja zadovoljava odreene kriterijume politike umesto krae rute koja te kriterijume ne zadovoljava). Zaista, videli smo da se rutama meu AS-ovima ne pridruuje ak ni pojam cene (osim broja AS skokova). Unutar AS-a, meutim, pitanja politike nisu tako znaajna, pa se rutiranje vie bavi performansama koje se mogu postii na ruti.

Pravljenje/prenoenje duplikata

4 .7

Difuzno i vieznano rutiranje

U ovom poglavlju smo se do sada bavili protokolima rutiranja koji podravaju jednoznanu komunikaciju (tj. od take do take) u kojoj jedan izvorni vor alje paket samo jednom odredinom vora. U ovom odeljku obraamo panju na protokole za difuzno i vieznano rutiranje. U difuznom rutiranju mreni sloj prua

386

POGLAVLJE 4

MRENI SLOJ

4.7

DIFUZNO I VIEZNANO RUTIRANJE

205

To bi dovelo do dodatnog preoptereenja, a to je jo vanije, dodatnog uslonjava-nja protokola koji je na poetku izgledao sasvim jednostavan. Konani nedostatak pristupa sa A^-tostrukim jednoznanim emitovanjem odnosi se na svrhu kojoj difuzno emitovanje treba da slui. U odeljku 4.5 saznali smo da protokoli rutiranja prema stanju linkova koriste difuzno emitovanje za obznanjivanje informacija o stanju linkova koje se koriste za izraunavanje jednoznanih ruta. Jasno je da ne bi bilo mudro (u najmanju ruku!) koristiti infrastrukturu za jednoznano rutiranje u situaciji u kojoj se difuzno emituju informacije za pravljenje i auriranje jednoznanih ruta. S obzirom na nekoliko nedostataka pristupa sa N-tostrukim jednoznanim emitovanjem, znaajni su pristupi u kojima sami mreni vorovi igraju aktivnu ulogu u dupliranju paketa, prosledivanju paketa i izraunavanju difuznih ruta. Ispitaemo nekoliko takvih pristupa i pri tom koristiti notaciju grafova koju smo uveli u odeljku 4.5. Ponovo modeliramo mreu kao graf, G =

Kontrolisano plavljenje Klju za izbegavanje oluje difuznog emitovanja sastoji se u tome da vor mudro proceni kada da plavi a kada ne (npr. ako je ve primio i prosledio raniji primerak istog paketa). U praksi se to postie na jedan od nekoliko naina. U plavljenju pod kontrolom rednih brojeva izvorni vor stavlja u paket za difuzno emitovanje svoju adresu (ili neki drugi jedinstveni identifikator) kao i redni, broj difuznog emitovanja i zatim alje paket svojim susedima. Svaki vor odrava listu izvornih adresa i rednih brojeva za sve difuzno emitovane pakete koje je ve primio, duplirao i prosledio. Kada primi difuzno emitovani paket, vor prvo pro-verava da li se paket ve nalazi na listi. Ako se nalazi na listi, paket se odbacuje; ako ga nema, paket se duplira i prosleuje svim susedima (osim suseda od kojeg je paket primljen). U protokolu Gnutella, opisanom u poglavlju 2, koristi se plavljenje pod kontrolom rednih brojeva za difuzno emitovanje poruka u preklopljenoj mrei. (Kada se koristi protokol Gnutella, dupliranje i prosledivanje poruka vri se u aplikacijskom a ne u mrenom sloju.) Drugi pristup reavanju problema kontrolisanog plavljenja je algoritam za prosledivanje inverznom putanjom {reverse path fonvardirtg, RPF). [Dalal 1978] koji se ponekad naziva i difuzno emitovanje inverznom putanjom (reversepath bro-adcasting, RPB). Zamisao na kojoj se zasniva prosledivanje inverznom putanjom je jednostavna, ali ipak elegantna. Kada ruter primi difuzno upueni paket sa datom adresom izvora, on predaje paket na sve svoje izlazne linkove (osim onog na kojem je paket primljen) samo ako je paket stigao linkom koji se nalazi na njegovoj vlastitoj najkraoj jednoznanoj putanji prema poiljaocu. Inae, ruter jednostavno odbacuje pristigli paket i ne prosleuje ga ni na jedan od svojih izlaznih linkova. Takav paket moe da se ispusti poto ruter zna daje na linku koji se nalazi na njegovoj najkraoj putanji prema poiljaocu ve primio ili e primiti primerak istog paketa. (Mogli biste proveriti da li e se to zaista i dogoditi i da nee doi do kruenja niti do oluje.) Obratite panju na to da prosledivanje inverznom putanjom ne koristi jednoznano rutiranje za isporuku paketa na odredite niti zahteva da ruter zna celu najkrau putanju izmeu njega i izvora. Dovoljno je da zna za sledei skok na njegovoj najkraoj jednoznanoj putanji prema poiljaocu jer koristi identitet tog suseda samo za odluivanje da li da prosledi primljeni difuzno upueni paket. Na slici 4.4] prikazanje RPF. Pretpostavite da linkovi prikazani debelim zelenim linijama predstavljaju najjeftinije putanje od primalaca do izvora ( A ) . vor A na poetku difuzno upuuje paket iz izvora A vorovima C i B . vor B e paket iz izvora A koji je primio od A (poto se A nalazi na njegovoj najjeftinijoj putanji prema A ) proslediti i u C i u D . B e zanemariti (ispustiti bez prosledivanja) pakete iz izvora A koje primi iz svih ostalih rutera (na primer, od rutera C ili D ) . Razmotrimo sada vor C koji e primiti paket iz izvora A direktno od A , ali i od B . Poto se B ne nalazi na najkraoj putanji od C do A , C e zanemariti (ispustiti) sve pakete iz izvora A koje primi od B . Sa druge strane, kada C primi paket iz izvora A direktno od A , on e ga proslediti ruterima

{ N , E ) , gde je H skup vorova i kolekcija E ivica gde je svaka ivica par vorova iz skupa N . Kada to ne bude dovodilo do zabune biemo malo nedosledni sa notacijom pa emo koristiti N da bismo oznaili i skup vorova kao i njegovu kardinalnost ( \ N \ ) odnosno veliinu.
Nekontrolisano plavljenje Najoiglednija tehnika da se ostvari difuzno emitovanje je plavljenje u kojem izvorni vor alje primerak paketa svim svojim susedima. Kada vor primi difuzno emitovani paket, on ga duplira i prosleuje svim svojim susedima (osim suseda od kojeg je primio paket). Jasno je da e, ako je graf povezan, ovom emom kad tad svaki vor u grafu primiti primerak paketa. Mada je ova ema jednostavna i elegantna, ona ima jednu fatalnu greku (pre nego to nastavite sa itanjem, pokuajte da otkrijete tu fatalnu greku): ako graf sadri cikluse, jedan ili vie primeraka svakog difuzno emitovanog paketa e kruiti beskonano, Na primer, na slici 4.40 e R2 plaviti prema R3, R3 e plaviti prema R4, R4 e plaviti prema R2, a R2 e plaviti (ponovo!) prema R3 i tako dalje. Ovaj jednostavan scenario dovodi do beskonanog kruenja dva difuzno emitovana paketa, jednog u smeru kretanja kazaljke na satu a drugog u smeru koji je suprotan smeru kretanja kazaljke na satu. Meutim, moe se javiti jedna jo razomija fatalna greka: kada je vor povezan sa vie od dva druga vora, on e napraviti i proslediti vie primeraka difuzno emitovanog paketa od kojih e svaki napraviti vie primeraka (u drugim vorovima sa vie od dva suseda) i tako dalje. Takva oluja difuznog

emitovanja koja potie od beskonanog umnoavanja difuzno emitovanih paketa na kraju bi


proizvela toliko difuzno emitovanih paketa da bi mrea postala neupotrebljiva. (Meu domaim zadacima na kraju ovog poglavlja nalazi se problem u kojem se analizira brzina kojom takva oluja difuznog emitovanja raste.)

B,E\F,

206

POGLAVLJE 4 . MRENI SLOJ

4.7 . DIFUZNO I VIEZNANO RUTIRANJE

389!

Ako ispitate stablo koje se sastoji od vorova povezanih debljim linijama na slici 4.42(a) vidite da kada bi se difuzno emitovani paketi prosleivali samo du linkova ovog stabla, svaki vor u mrei bi primio tano jedan primerak difuzno emitovanog paketa - upravo reenje kakvo traimo! Ovo stablo je primer sveobuhvatnog stabla - stabla koje sadri sve vorove u grafu. Formalnije reeno, sveobuhvatno stablo grafa G = (N,E)\q g i a f G '=(N,Er) takav da je E' podskup od, G'je povezan, G ' ne sadri cikluse i G' sadri sve prvobitne vorove iz G. Ako svaki link ima pridruenu cenu a cena stabla je suma cena linkova, tada se'sveobuhvatno stablo ija je cena najmanja od svih sveobuhvatnih stabala tog grafa naziva minimalno sveobuhvatno stablo. Prema tome, jo jedan pristup obezbeivanju difuznog emitovanja jeste da se prvo napravi sveobuhvatno stablo. Kada izvorni vor hoe difuzno da emituje paket, on ga alje na sve primerke linkova koji pripadaju sveobuhvatnom stablu. vor koji primi difuzno emitovani paket zatim prosleduje paket svim svojim susedima u sveobuhvatnom stablu (osim suseda od kojeg je primio paket). Ne samo to sveobuhvatno stablo eliminie redundantne difuzno emitovane pakete, ve kad se jednom uspostavi to stablo moe koristi svaki vor koji poinje difuzno emitovanje kao to je prikazano na slikama 4.41(a) i 4.42(b). Obratite panju na to da vor ne mora biti svestan celog stabla; on jednostavno treba da zna koji od njegovih suseda iz G jesu susedi u sveobuhvatnom stablu. Glavna sloenost vezana za pristup sa sveobuhvatnim stablom jeste izgradnja i odravanje sveobuhvatnog stabla. Razvijeno je vie distribuiranih algoritama sa sveobuhvatnim stablom [Gallager 1983, Gartner 2003]. Ovde emo razmotriti samo jedan jednostavan algoritam. U pristupu sa centrom za izgradnju sveobuhvatnog stabla definie se centralni vor (ponekad se naziva takom sastanka ili centrom).'

Difuzno emitovanje sveobuhvatnim stablom Mada plavljenje pod kontrolom rednih brojeva i RPF izbegavaju oluje difuznog emitovanja, oni ne izbegavaju u potpunosti prenoenje redundantnih difuzno emi-tovanih paketa. Na primer, na slici 4.42 vorovi B, C, D i E primie jedan ili dva redundantna paketa. Idealno bi bilo da svaki vor primi samo jedan primerak difuzno emitovanog paketa.

207

POGLAVLJE 4

- MRENI SLOJ

4.7 DIFUZNO I VIEZNANO RUTIRANJE

391

vorovi zatim tom centralnom voru upuuju jednoznano adresirane poruke o pristupanju stablu. Poruka o pristupanju stablu se prosleduje jednoznanim iritiranjem prema centru dok ne stigne do vora koji ve pripada sveobuhvatnom stablu ili do centra. U svakom sluaju, putanja kojom je ila poruka o pristupanju definie granu u stablu izmeu centra i rubnog vora koji je pokrenuo poruku o pristupanju. Moe se smatrati da je ta nova putanja prikljuena postojeem stablu. Na slici 4.43 prikazana je izgradnja sveobuhvatnog stabla. Pretpostavite da se vor E izabere za centar stabla. Stablu prvo pristupa vor F koji poruku o pristupanju prosleduje voru E. Link EF postaje poetno stablo. Zatim stablu pristupa vor B tako to svoju poruku o pristupanju alje voru E. Pretpostavimo da putanja jednoznanog upuivanja iz B u E ide preko D. U tom sluaju, poruka pristupanja dodaje na stablo putanju BDE. vor A pristupa grupi prosleivanjem svoje poruke o pristupanju prema E. Ako je putanja za jednoznano upuivanje iz A prema E bila preko B, tada poto je B ve pristupio stablu, dolazak poruke o pristupanju iz A u B dovee do trenutnog prikljuivanja linka AB na stablo. Sledei vor koji pristupa je C prosleivanjem svoje poruke o pristupanju direktno u E, Na kraju, poto jednoznano rutiranje iz G u E mora biti preko D, kada G poalje svoju poruku o pristupanju u E, link GD se prikljuuje stablu u voru D. Algoritmi za difuzno upuivanje u praksi Protokoli za difuzno upuivanje se u praksi koriste i u aplikacijskom i u mrenom sloju. Kao stoje reeno u odeljku 2.6, Gnutella [Gnutella 2004] koristi difuzno upuivanje u aplikacijskom sloju za difuzno upuivanje upita o sadraju meu Gnutella uesnicima. Ovde je link izmeu dva ravnopravna procesa distribuirane obrade u aplikacijskom sloju u stvari jedna TCP konekcija. Gnutella koristi jedan vid pla-vljenja pod kontrolom rednih brojeva u kojem se jedan 16-bitni identifikator i jedan 16-bitni opisiva korisnih podataka (koji definiu tip Gnutella poruke) koriste za otkrivanje da li je primljena difuzno upuena ponika ve primljena, duplirana i pro-sleena. Kao stoje ve reeno u odeljku 2.6, Gnutella takoe koristi polje TTL (rok trajanja) da bi se ograniio broj skokova prilikom plavljenja. Kada proces Gnutella primi i duplira poruku, os smanjuje polje TTL pre nego to prosledi upit. Na taj nain, prosleena Gnutella poruka e stii samo do onih ravnopravnih uesnika koji su od pokretaa upita udaljeni manje od datog broja (poetne vrednosti TTL) skokova aplikacijskog sloja. Gnutellin mehanizam plavljenja se zato ponekad naziva plavljen}e sa ogranienim dometom. Jo jedan vid plavljenja pod kontrolom rednih brojeva imamo i kod difuznog emitovanja objava o stanju linkova (Link State Advertisment, LSA) u algoritmu rutiranja OSPF [RFC 2328, Perlman 1999] i u algoritmu rutiranja JS-IS [RFC 1142, Perlman 3999]. Za identifikaciju objava o stanju linkova OSPF koristi 32-bitni redni broj kao i 16-bitno polje starosti. Verovatno se seate da OSPF vor povremeno difuzno emituje LSA-ove za povezane linkove kada se promeni cena linka ili kada se link ukljui/iskljui. Redni brojevi LSA-ova koriste se za otkrivanje duplikata ali za jo

jednu vanu funkciju u OSPF-u. S obzirom na plavljenje, mogue je da LSA koji je napravljen na izvoru u trenutku / stigne nakon novijeg LSA-a koji je na istom izvoru napravljen u trenutku / + S. Redni brojevi koje pravi izvorni vor omoguavaju da se stariji LSA razlikuje od novijeg. Polje starosti ima funkciju slinu polju TTL. Poetna vrednost polja starosti je nula a poveava se pri svakom skoku plavljenja, ali se poveava i dok u memoriji rutera eka da bude prosleden. Mada smo samo ukratko opisali LSA algoritam plavljenja, primeujemo da projektovanje LSA protokola za difuzno emitovanje moe zaista da bude veoma sloeno, U [RFC 789; Perlman 1999, odeljak 12.2.3.3] opisan je incident kada je neispravno prenet LSA iz dva rutera u kvaru doveo do toga da jedna od poetnih verzija algoritma LSA plavljenja skoro zaustavi ceo ARPAnet.

4 . 7 . 2 Vieznano upuivanje
U prethodnom odeljku smo videli da se sa uslugama difuznog emitovanja, paketi isporuuju svakom voru u mrei. U ovom odeljku obratiemo panju na uslugu vieznanog upuivanja u kojoj se vieznano upueni paket isporuuje samo podskupu mrenih vorova. Niz novih mrenih aplikacija zahteva isporuku paketa od jednog ili vie poiljalaca jednoj grupi primalaca. Te aplikacije slue za paketsko slanje podataka (na primer, transfer softverske nadogradnje od programera ka korisnicima kojima je potrebna nadogradnja), striming kontinualnih medija (na primer, transfer audia, videa i teksta ivog predavanja za skup distribuiranih uesnika u predavanju), aplikacije sa deljenim podacima (na primer, elektronska tabla za tele-konferencije koja je zajednika za vie distribuiranih uesnika), dodatni podaci (na primer, stanje berze), auriranje veb kesa i interaktivne igre (na primer, distribuirana interaktivna virtuelna okruenja ili igre sa vie igraa kao to je Quake). Kada se koristi vieznana komunikacija, odmah nailazimo na dva problema - kako prepoznati primaoce vieznano upuenog datagrama i kako adresiran' datagram koji se alje tim primaocima. U sluaju jednoznane komunikacije, IP adresa primaoca (odredita) nalazi se u svakom jednoznano upuenom IP datagramu i identifikuje jedinog primaoca; u sluaju difuznog upuivanja, svi vorovi treba da prime difuzno emitovani paket pa nisu potrebne nikakve adrese odredita. Ali, u sluaju vieznanog upuivanja sada imamo vie primalaca. Ima li smisla da svaki viestruko upueni datagram sadri IP adrese svih tih primalaca? Mada bi za mali broj primalaca to reenje bilo izvodljivo, ne bi bilo dobro za sluaj stotina ili hiljada primalaca; koliina adresnih informacija u datagramu bila bi vea od podataka koji se prenose u polju korisnih podataka. Da bi poiljalac mogao eksplicitno da navede sve primaoce, on bi morao da zna identitete i adrese svih primalaca. Ubrzo emo videti da postoje sluajevi kada bi takav zahtev bio nepoeljan. Iz tih razloga, u arhitekturi Interneta (a takode i u arhitekturi ATM [Black 1995]), vieznano upueni datagram adresira se pomou indirektnih adresa. To jest, za grupu primalaca se koristi jedan identifikator, a primerak datagrama koji je adresiran na grupu pomou tog identifikatora isporuuje se svim primaocima koji su pridrueni

392

POGLAVLJE 4 - MRENI SLOJ

4.7

DIFUZNO I VIEZNANO RUTIRANJE

393j

128.59.16.20

isporuivanju vieznano upuenog datagrama svim lanovima grupe? Za Internet, odgovori na sva ova pitanja ukljuuju protokol za upravljanje grupama na Internetu (Internet Group Management Protocol, IGMP) [RFC 3376]. Zato emo sada razmotriti IGMP, pa emo se nakon toga vratiti na ova ira pitanja.

IGMP Protokol za upravljanje grupama na Internetu (Internet Group Management Protocol, IGMP) verzija 3 [RFC 3376], izvrava se izmeu raunara i njegovog direktno povezanog rutera (nezvanino, direktno povezani ruter moete zamisliti kao ruter prvog skoka koji raunar vidi na putanji prema bilo kojem drugom raunaru van vlastite lokalne mree ili kao ruter poslednjeg skoka svake putanje prema ovom raunani), kao Stoje prikazano na slici 4.45. Na. slici 4.45 prikazana su tri rutera prvog skoka za vieznano upuivanje od kojih je svaki povezan sa svojim raunarima preko jednog izlaznog lokalnog interfejsa. Taj lokalni interfejs je u ovom primeru povezan sa LAN-om i mada svaki LAN ima vie povezanih raunara, oni obino ne uestvuju svi u isto vreme u istoj grupi za vieznano upuivanje. IGMP obezbeduje nain na koji raunar obavetava svoj povezani ruter da aplikacija koja se izvrava na raunaru eli da pristupi odreenoj grupi za vieznano upuivanje. Kako je IGMP ogranien na raunar i njegov direktno povezani ruter, jasno je da je potreban drugi protokol koji e sluiti za koordinaciju vieznanih

toj grupi. Jedan identifikatorkoji u Internetu predstavlja grupu primalaca je adresa za vieznano upuivanje klase D. Grupa primalaca vezana za adresu klase D naziva se grupa za vieznano upuivanje. Pojam grupe za vieznano upuivanje prikazan je na slici 4.44. Ovde su etiri raunara (osenena zeleno) pridruena adresi grupe za vieznano upuivanje 226.17.30.197 i primie sve datagrame adresirane na tu adresu 2a vieznano upuivanje. Problem koji ostaje da se resi je injenica da svaki raunar ima jedinstvenu IP adresu za jednoznano upuivanje koja je potpuno nezavisna od adrese grupe za vieznano upuivanje u kojoj uestvuje. Mada je pojam grupe za vieznano upuivanje jednostavan, on otvara niz novih pitanja. Kako se grupa osniva i kako prestaje da postoji? Kako se bira adresa grupe? Kako se u grupu dodaju novi raunari (bilo kao poiljaoci ili kao primaoci)? Moe li svako da se prikljui grupi (i zatim alje ili prima datagrame tz grupe) ili se lanstvo u grupi ograniava, i ako je tako ko ga kontrolie? Da Ji u okviru protokola mrenog sloja lanovi grupe znaju identitet ostalih lanova? Kako mreni ruteri sarauju u

394

POGLAVLJE 4

MRENI SLOJ

4.7 . DIFUZNO I VIEZNANO RUTIRANJE

209

rutera (ukljuujui i povezane rutere) u elom Internetu da bi se vieznano upueni datagrami rutirali do konanog odredita. Ova poslednja funkcija postie se pomou algoritama za vieznano rutiranje u mrenom sloju kao to su PIM, DVMRP i MOSPF. Vieznano upuivanje u mrenom sloju Interneta sastoji se od dve komplementarne komponente: IGMP-a i protokola za vieznano rutiranje. Iako se IGMP naziva protokolom lanstva u grupama" taj naziv nije sasvim taan poto se IGMP izvrava lokalno, izmeu raunara i jednog povezanog rutera. Bez obzira na taj naziv, IGMP

nije protokol koji se izvrava meu svim raunarima koji su pristupili jednoj grupi za vieznano
upuivanje. Zaista, u mrenom sloju ne postoji nijedan protokol lanstva u grupi za vieznano upuivanje koji se izvrava na svim Internet raunarima jedne grupe. Ne postoji, na primer, nijedan protokol mrenog sloja koji bi omoguio raunaru da utvrdi identitet svili ostalih raunara u celoj mrei koji su pristupili nekoj grupi za vieznano upuivanje. (Proitajte probleme za domai zadatak gde e se dodatno istraivati posledice. ove projektantske odluke.) IGMP ima samo tri vrste ponika. Fonnat IGMP poruke prikazanje na slici 4.46. Kao i za ICMP, IGMP poruke se prenose (enkapsulirane) unutar IP datagrama sa brojem IP protokola 2. Ruter alje poruku opti upit o lanstvu (engl. member-ship_query message) svim raunarima na prikljuenom interfejsu (na primer, svim raunarima lokalne mree) da bi utvrdio skup svih grupa za vieznano upuivanje kojima su pristupili raunari sa tog interfejsa. Ruter moe takoe da utvrdi da li je bilo koji raunar sa prikljuenog interfejsa pristupio nekoj konkretnoj grupi za vieznano upuivanje ako uputi konkretan upit o lanstvu. Kao stoje prikazano na slici 4.47, konkretan IGMP upit o lanstvu e u polju za adresu grupe imati adresu za vieznano upuivanje traene grupe. Na poruku za upit o lanstvu raunari odgovaraju IGMP porukom izvetaja o lanstvu (engl. membership_report message) kao stoje prikazano na slici 4.47. Poruka sa izvetajem o lanstvu takoe se pravi u raunaru kada aplikacija prvi put pristupa grupi za vieznano upuivanje, pa ne eka od rutera poruku sa upitom o lanstvu. Poslednja vrsta IGMP poruke je poruka o naputanju grupe (engl. leave_gro-up message). Zanimljivo je daje ova poruka opciona! Ako je ona opciona, kako e ruter otkriti da na prikljuenom interfejsu vie nema raunara koji pripadaju odreenoj grupi za vieznano upuivanje? Odgovor na ovo pitanje lei u nainu na koji se koristi IGMP poruka za upit o lanstvu. Kada na poruku sa upitom o lanstvu za odreenu adresu grupe za vieznano upuivanje ne odgovori nijedan raunar, ruter zakljuuje da nema raunara u datoj grupi. Ovo je primer onog to se ponekad naziva meko stanje internetskog protokola. U protokolu sa mekim stanjem, stanje (u sluaju IGMP-a to je injenica da postoje raunari koji pripadaju datoj grupi za vieznano upuivanje) se prekida putem tajm-auta (u ovom sluaju, pomou povremene poruke sa upitom o lanstvu iz rutera) ako se eksplicitno ne obnovi (u ovom sluaju porukom sa izvetajem o lanstvu iz prikljuenog raunara). Postoji miljenje daje protokole sa mekim stanjem jednostavnije kontrolisati od protokola sa vrstim stanjima koja moraju eksplicitno da se uspostavljaju i uklanjaju, a moraju jo da imaju i mehanizme za oporavak od situacije kada otkae ili se pre vremena prekine entitet zaduen za uklanjanje stanja [Sharma 1997]. Izvrstan opis mekog stanja moe se nai ii knjigama [Raman 1999; Ji 2003] proitajte i dodatak Principi u praksi u odeljku 7.9. Poto smo prouili protokol za pristupanje grupi za vieznano upuivanje i za njeno naputanje, sada emo lake razumeti vaei model internetske usluge vieznanog upuivanja koja se zasniva na radu tiva Diringa [RFC 1132, Deering 1990]. U tom modelu usluge, svaki raunar moe da pristupi grupi za vieznano upuivanje u mrenom sloju. Raunar jednostavno izda svom prikljuenom ruteru IGMP poruku sa izvetajem o lanstvu. Taj ruter e, u saradnji sa drugim ruterima na Internetu, uskoro poeti tom raunaru da isporuuje vieznano upuene datagrame. Prema tome, pristupanje grupi za vieznano upuivanje inicira primalac. Poiljalac ne mora da brine o eksplicimom dodavanju primalaca u grupu za vieznano upuivanje, ali ne moe ni da kontrolie ko pristupa grupi, pa prema tome ni ko prima datagrame koji se grupi alju. Slino tome, u poetnim verzijama IGMP-a primalac nije mogao da odredi skup izvora iz kojih eli (ili ne eli) da prima vieznano upuene pakete; IGMPv3 omoguava da se to odredi. Postojei model usluge vieznanog upuivanja na Internetu zasniva se po mnogo emu na istoj filozofiji kao i model usluge za jednoznano upuivanje - krajnje jednostavan mreni sloj, a dodatne funkcije (kao stoje lanstvo u grupama) obezbeuju se u protokolima viih slojeva u raunarima na periferiji mree. Ova filozofija je neosporno uspena u sluaju jednoznanog upuivanja. Da li e minimalistiki

210

POGLAVLJE 4 MRENI SLOJ

4.7 . DIFUZNO I VIEZNANO RUTIRANJE

397

mreni sloj biti isto tako uspean za model usluge vieznanog upuivanja, ostaje jo uvek otvoreno pitanje. Jedan alternativni model predstavljen je u [Holbrook 1999, RFC 3569]. Zanimljiv opis vaeeg modela usluge vieznanog upuivanja na Internetu i pitanja vezanih za njegovu realizaciju nai ete u [Diot 2000]. Algoritmi za vieznano rutiranje Na slici 4.48 prikazana je instalacija za problem vieznanog rutiranja. Razmotrimo jednu grupu za vieznano upuivanje i pretpostavimo da svaki ruter kome je prikljuen raunar koji je pristupio toj grupi moe da alje ili da prima saobraaj adresiran na tu grupu. Na slici 4.48 su raunari koji su pristupili grupi za vieznano upuivanje oseneni u boji, a takode i njihov direktno povezani ruter. Kao to se vidi na slici 4.48, vieznano upueni saobraaj potreban je samo jednom podskupu u populaciji rutera za vieznano upuivanje (onima iji su prikljueni raunari pristupili toj grupi za vieznano upuivanje). Na slici 4.48 to su ruteri A , B , E \ F. Poto nijedan od raunara prikljuenih na ruter D nije pristupio grupi za vieznano upuivanje, a ruteru C nije prikljuen nijedan raunar, ni C ni D nemaju potrebu da im se alje saobraaj grupe za vieznano upuivanje.

Cilj vieznanog rutiranja je da se pronae stablo linkova koje povezuje sve rutere koji imaju prikljuene raunare pripadnike grupe za vieznano upuivanje. Vieznano upueni paketi e se zatim rutirati po tom stablu od poiljaoca do svih raunara koji pripadaju stablu za vieznano upuivanje. Naravno, u stablu se mogu nai i ruteri bez prikljuenih raunara koji pripadaju grupi za vieznano upuivanje (na primer, na slici 4.48 ne mogu se povezati ruteri A , B , E \ F \ x stablo, a da se ne ukljui ruter C ili ruter D ili oba). U praksi se za utvrivanje stabla vieznanog rutiranja koriste dva pristupa. Ti pristupi se razlikuju po tome da li se koristi jedno stablo zajedniko za grupu za distribuciju saobraaja od svih poiljalaca u grupi ili se za svakog pojedinanog poiljaoca pravi zasebno stablo rutiranja. Vieznano rutiranje pomou stabla zajednikog za grupu. Kao u sluaju difuznog emitovanja sveobuhvatnim stablom, vieznano rutiranje pomou stabla zajednikog za grupu zasniva se na izgradnji stabla koje obuhvata sve rubne rutere tako to prikljueni raunari koji pripadaju grupi alju (jednoznane) poruke pristupanja adresirane na centralni vor. Kao i kod difuznog emitovanja poruka o pristupanju se pomou jednoznanog rutiranja prosleduje prema centru dok ne stigne u sam centar ili do rutera koji ve pripada stablu za vieznano upuivanje. Svi ruteri sa putanje kojom je ila poruka o pristupanju e zatim pro-sleivati primljene vieznano upuene pakete prema rubnom ruteru koji je inicirao pristupanje. Osnovno pitanje kod stabla za vieznano rutiranje sa centrom je postupak kojim se bira centar. Algoritmi za biranje centra opisuju se u [Wall 1980; Thaler 1997;Estrin 1997]. Vieznano rutiranje pomou stabla od izvora. Dok je algoritam vieznanog rutiranja sa stablom grupe sluio za izradu jednog zajednikog stabla rutiranja koje se koristi za rutiranje paketa od svih poiljalaca, u drugoj velikoj klasi algoritama za vieznano rutiranje se za svaki izvor u grupi za vieznano upuivanje pravi zasebno stablo. U praksi se RPF algoritam (sa izvornim vorom x ) koristi za izgradnju stabla za vieznano upuivanje datagrama koji polaze od izvora*. Algoritam RPF koji smo prouili treba malo prilagoditi da bi se koristio za vieznano upuivanje. Da biste shvatili zato, razmotrite ta se dogaa u ruteru D na slici 4.49. Ako se koristi RPF za difuzno emitovanje, on e proslediti pakete ruteru G iako ruter G nema nijedan povezani raunar koji je pristupio grupi za vieznano upuivanje. Mada to nije tako strano u sluaju kada D ima samo jedan nizvodni ruter, G, zamislite ta bi se dogodilo kada biste nizvodno od D imali na hiljade rutera! Svaki od tih rutera primio bi neeljene vieznano upuene pakete. (Taj scenario nije sasvim nemogu. Prvobitni MBone [Casner 1992; Macedonia 1994], prva globalna mrea za vieznano upuivanje imala je na poetku upravo taj problem.) Reenje problema sa primanjem neeljenih vieznano upuenih paketa pod RPF-om naziva se orezivanje. Vieznani ruter koji primi vieznano upuene pakete i nema prikljuene raunare koji su pristupili

211

POGLAVLJE 4

MRENI SLOJ

4.8 . DIFUZNO I VIEZNANO RUTIRANJE

211

toj grupi poslae uzvodnom rutcru poruku orezivanja. Ako ruter primi poruke . orezivanja od svih svojih nizvodnih rutera on moe da prosledi poruku orezivanja uzvodno. Vieznano rutiranje na Internetu Prvi protokol za vieznano rutiranje koji se koristio na Internetu i algoritam za vieznano rutiranje sa najirom podrkom je protokol za vieznano usmeravanje sa vektorom rastojanja (Distance Vector Multkast Routing Protokol, DVMRP) [RFC 1075]. DVMRP implementira stabla od izvora, prosleivanje inverznom putanjom i orezivanje. DVMRP koristi algoritam vektora rastojanja koji omoguava da svaki ruter izrauna izlazni link (sledei skok) na svojoj najkraoj putanji prema svakom moguem izvoru. Ta informacija se zatim koristi u algoritmu RPF koji smo malo pre opisali. Javno dostupan primerak DVMRP softvera moe se dobiti u [mrouted 1996]. Pored izraunavanja informacija za sledei skok, DVMRP takoe izraunava spisak zavisnih nizvodnih rutera koji je potreban za orezivanje. Kada ruter primi poruke orezivanja za datu grupu od svih svojih zavisnih nizvodnih rutera, on e pro-

pagirati poniku orezivanja uzvodno prema ruteru od koga prima vieznano upueni saobraaj za tu grupu. DVMRP poruka orezivanja sadri ivotni vek orezivanja (ija je podrazumevana vrednost 2 sata) koji oznaava koliko e orezana grana ostati iskljuena do ponovnog automatskog ukljuenja. Ruter alje DVMRP poniku prikljuenja svom uzvodnom susedu da bi prethodno odseenu granu ponovo dodao na stablo vieznanog upuivanja. Drugi protokol za vieznano upuivanje u irokoj upotrebi na Internetu je protokol rutiranja za vieznano upuivanje nezavisno od protokola (Protocol Inde-pendent Multicast, PIM) [Deering 1996; RFC 2362; Estrin 1998b] koji eksplicitno predvia dva razliita scenarija vieznane distribucije. U takozvanom gustom reimu, lanovi grupe za vieznano upuivanje su gusto locirani; tj. mnoge rutere ili veinu rutera u podruju treba ukljuiti u rutiranje vieznano upuenih datagrama. U retkom reimu broj rutera sa prikljuenim lanovima grupe je mali u odnosu na ukupan broj rutera; lanovi grupe su iroko rasejani. PIM se prilagoava dihotomiji retko-gusto tako to nudi dva eksplicitna reima rada: gusti i retki reim. PIM Dense Mode je tehnika prosleivanja inverznom putanjom sa slanjem i orezivanjem slina po koncepciji sa protokolom DVMRP. PIM Sparse Mode je pristup na osnovu centra slian starijem protokolu za vieznano rutiranje CBT (core-based tree) [RFC 2201; RFC 2189]. Jedno novije svojstvo PIM-a je sposobnost da se nakon pristupanja zajednikoj taki prebaci sa zajednikog stabla grupe na stablo sa odreenim izvorom. Stablo konkretnog izvora ponekad bolje odgovara jer se smanjuje koncentracija saobraaja kada se koristi vie stabala sa konkretnim izvorima (prouite probleme za domai zadatak). Ako se koristi PIM Sparse Mode, ruter koji od jednog svog prikljuenog raunara primi datagram za slanje jednoznano e uputiti datagram zajednikoj taki sastanka. Zajednika taka (rendezvous point, RP) zatim vieznano upuuje datagram preko zajednikog stabla grupe. RP obavetava poiljaoca da prekine slanje ako nema rutera prikljuenih na stablo (tj. kada niko ne slua!). U gornjem opisu implicitno smo pretpostavili da svi ruteri izvravaju isti protokol za vieznano rutiranje. Kao to smo videli i kod jednoznanog rutiranja to se obino dogaa unutar jednog autonomnog sistema (AS). Meutim, razliiti AS-ovi mogu da izvravaju razliite protokole za vieznano rutiranje. Za glavne Internet-ske protokole za vieznano rutiranje definisana su pravila interoperabilnosti [RFC 2715]. (Pravila su posebno zamrena zbog veoma razliitih pristupa vieznanom rutiranju u protokolima za retki i gusti reim.) Jo uvek, meutim, nedostaje protokol za vieznano rutiranje meu AS-ovima da bi se rutirali vieznano upueni datagrami izmeu razliitih AS-ova. Do sada je DVMRP sluio kao de facto protokol za vieznano rutiranje meu AS-ovima. Na kraju, pomenuemo da vieznano upuivanje nije na Internetu uzelo mnogo maha. Mnoge kompanije za prenos (striming) video tokova i kompanije za distribuciju sadraja umesto vieznanog upuivanja koriste preklapanje i prave mree za vieznanu distribuciju u aplikacijskom sloju. Kao i IPv6, vieznani IP se borio - i jo uvek se bori - za znaajniji prodor na Internet.

400

POGLAVLJE 4 MRENI SLOJ

DOMAI ZADATAK: DOMAI ZADATAK: PROBLEMI I PITANJA

40l!

4 .8 Rezime
U ovom poglavlju krenuli smo u istraivanje jezgra mree. Nauili smo da mreni sloj obuhvata sve raunare i rutere u mrei. Zbog toga su protokoli mrenog sloja najsloeniji u familiji protokola. Saznali smo da ruter moda mora istovremeno da obradi na milione tokova paketa izmeu razliitih parova izvora i odredita. Da"bi ruter mogao da obradi tako veliki broj tokova, projektanti su tokom godina zakljuili da bi zadaci rutera trebalo da ostanu to jednostavniji. Da bi se pojednostavio posao rutera, mogue je pre-duzeti razliite mere ukljuujui korienje mrenog sloja sa datagramima umesto mrenog sloja sa virtuelnim kolima, upotrebu ujednaenog zaglavlja fiksne duine (kao za IPv6), eliminisanje fragmentacije (isto kao IPv6) kao i pruanje samo usluge najboljeg pokuaja. Ovde je moda najvaniji trik u tome da se ne vodi rauna o pojedinanim tokovima, ve da se odluke o rutiranju zasnivaju samo na hijerarhijski strukturisanim odredinim adresama u paketima. Zanimljivo je primetiti da potanska sluba godinama koristi upravo taj trik. U ovom poglavlju, razmotrili smo takoe osnovne principe algoritama rutiranja. Saznali smo da projektanti algoritama rutiranja apstrahuju mreu raunara kao graf sa vorovima i granama. Polazei od takve apstrakcije mogue je iskoristiti bogatu teoriju pronalaenja najkraih putanja u grafovima koja se u zajednici operacionih istraivanja i algoritama razvija ve 40 godina. Videli smo da postoje dva ira pristupa, jedan centralizovani (globalni) pristup u kojem svaki vor dobija kompletnu mapu mree i nezavisno primenjuje algoritam za rutiranje najkrae putanje; i jedan decentralizovani pristup u kojem pojedinani vorovi imaju samo parcijalnu sliku cele mree, a vorovi zajedniki rade na tome da se paketi isporue po najkraim rutama.Videli smo kako se hijerarhija koristi u reavanju problema skaliranja tako to se velike mree dele u nezavisne administrativne domene po imenu autonomni sistemi (AS-ovi). Svaki AS nezavisno rutira svoje datagrame kroz AS, kao to svaka zemlja nezavisno rutira svoju potu po dravi. Saznali smo kako se centralizovani, decentralizovani i hijerarhijski pristup primenjuju u glavnim protokolima rutiranja na Internetu: RIP, OSPF i BGP. Prouavanje algoritama rutiranja zakljuili smo razmatranjem difuznog i vieznanog rutiranja. Zakljuujemo prouavanje mrenog sloja i prelazimo korak dalje niz familiju protokola, u sloj veze, Isto kao i mreni sloj, sloj veze takoe spada u jezgro mree. Ali, u sledeem poglavlju videemo da sloj veze ima znatnije lokalizovan zadatak prenoenja paketa meu vorovima na istom linku ili LAN-u, Mada ovaj zadatak moe naizgled da se ini trivijalnim u poreenju sa zadacima mrenog sloja, videemo da sloj veze postavlja pred nas niz znaajnih i fascinantnih pitanja, koja e nas dugo zaokupljati.

| Domai zadatak: problemi i pitanja


Poglavlje 4 Kontrolna pitanja
ODEUCU.l-4.2 1. Obnovimo terminologiju koja se koristi u ovoj knjizi. Verovatno se seate da se paket transportnog sloja naziva segment a daje paket sloja veze okvir. Kako se naziva paket mrenog sloja? Sigurno se seate da se i ruteri i komutatori sloja veze nazivaju komutatorima paketa. Koja je osnovna razlika izmeu rutera i komutatora sloja veze? Imajte na umu da izraz ruteri koristimo i u mreama sa datagramima i u mreama sa virtuelnim kolima. Koje su dve glavne funkcije mrenog sloja u mreama sa datagramima? Koje dodatne funkcije ima mreni sloj u mreama sa virtuelnim kolima? .Da li ruteri koriste tabele prosledivanja i u mreama sa datagramima i u mreama sa virtuelnim kolima? Ako je tako, opiite tabele prosledivanja za obe klase mrea. Opiite neku zamiljenu uslugu koju bi mreni sloj mogao da prua pojedinanom paketu. Uradite to isto za tok paketa. Da li neke od vaih zamiljenih usluga postoje u mrenom sloju Interneta? Da li postoje u ATM-ovom modelu usluge CBR? Da li postoje u ATM-ovom modelu usluge ABR? Navedite neke aplikacije koje bi imale koristi od ATM-ovog modela usluge CBR.

2.

3. Kakva je razlika izmeu rutiranja i prosledivanja? 4. 5.

6.

ODELJAK 4.3

7. 8. 9.

Objasnite zato svaki ulazni port u ruteru velike brzine uva kopiju tabele prosledivanja? U odeljku 4.3 opisuju se tri vrste komutatorske mree. Navedite koje su i ukratko ih opiite. Opiite na koji nain se gubitak paketa moe dogoditi u ulaznom portu. Opiite kako se moe eliminisati gubitak paketa u ulaznom portu (ako se ne koriste beskonane pomone memorije).

10. Opiite na koji nain se gubitak paketa moe dogoditi u izlaznim portovima, 11. Sta je to HOL blokiranje? Da li se ono deava u ulaznim ili u izlaznim portovima?
ODEUAK 4.4

12. Da li ruteri imaju IP adrese? Ako imaju, koliko ih imaju? 13. Koji je 32-bitni binarni ekvivalent IP adrese 223.1.3.27?

402

POGLAVLJE 4

MRENI SLOJ

DOMAI ZADATAK: DOMAI ZADATAK: PROBLEMI I PITANJA

403

14. Posetite raunar koji koristi DHCP za dobijanje IP adrese, mrene maske, podrazumevani niter i IP adrese lokalnog DNS servera. Navedite te vrednosti.
i 1

15. Pretpostavite da izmeu izvornog i odredinog raunara postoje tri rutera. AJco zanemarimo fragmentaciju, preko koliko interfejsa e prei IP segment koji se poalje od izvornog do odredinog raunara? Koliko tabela pretraivanja e se indeksirati da bi se datagram preneo od izvora do odredita? 16. Pretpostavimo da aplikacija svakih 20 ms proizvodi komade od po 40 bajtova podataka i da se svaki takav komad enkapsulira u TCP segment, a zatim u IP datagram. Koji procenat takvog datagrama pripada dodatnom optereenju, a koji aplikacijskim podacima? 17. Pretpostavite da raunar A alje raunaru B jedan TCP segment enkapsuliran u 25. 26. Da li e se tabela u D promeniti? Ako hoe, kako? Opiite razliku meu objavama protokola RIP i protokola OSPF. Popunite praznu liniju: RIP objave obino objavljuju broj skokova do razliitih odredita. Sa druge strane, BGP auriranja objavljuju ____________________ do razliitih odredita. 27. Zato se na Internetu unutar i izmeu AS-ova koriste razliiti protokoli?

i
| \ \

IP datagram. Kada raunar B primi datagram, kako mreni sloj raunara B zna da treba taj segment (tj. korisne podatke datagrama) da preda TCP-u a ne UDPu ili nekom drugom? 18. Pretpostavite da ste kupili beini ruter i povezali ga sa kablovskim modemom. Pretpostavite takoe da va posrednik Internet usluga dinamiki dodeli vaem povezanom ureaju (tj. beinom ruteru) jednu IP adresu, Takoe pretpostavite da u kui imate pet PC-ja koji koriste 802.11 za beino povezivanje sa bei-

28.Zalo su pitanja politike isto toliko znaajna u unutranjim protokolima AS-ova (kao to su OSPF i RIP) koliko i u protokolima izmeu AS-ova (kakav je BGP)? 29. Definiite sledee pojmove i opiite razlike izmeu njili: podmrea, prefiks i

nim ruterom. Kako se IP adrese dodeljuju PC-jima? Da li beini ruter koristi NAT? Zato? 1 9. Opiite razliku izmeu polja zaglavlja kod protokola IPv4 i IPv6. Da U postoje neka zajednika polja? 20. Kae se da kada se IPv6 tuneluje kroz IPv4 rutere, IPv6 posmatra IPv4 tunele kao protokole sloja veze. Da li se slaete sa tim tvrenjem? Zato? ODELJAK 4.5 21. Navedite razlike algoritama rutiranja prema stanju linkova i prema vektorima rastojanja. 22. Objasnite kako je hijerarhijsko organizovanje Interneta pomoglo pri skaliranju na milione korisnika. 23. Da lije neophodno da svi autonomni sistemi koriste isti algoritam rutiranja unutar AS-a? Zato? ODEUAK 4.6 24. Razmotrite sliku 4.31. Uzmite prvobitnu tabelu u D i pretpostavite da D primi od .4 sledeu objavu:

BGP ruta.
30. Na koji nain BGP koristi atribut NEXT-HOP? Kako koristi atribut AS-PATH? 31. Opiite na koji nain mreni administrator kod posrednika vieg reda implementira politike kada konfigurie BGP. ODELJAK 4.7 32. Koja je znaajna razlika izmeu implementiranja difuznog upuivanja pomou vie jednoznanih upuivanja i jednogjedinog difuznog upuivanja koje podrava mreni ruter? 33. Da li su sledee izjave tane ili netane za sve tri vrste implementiranja difuznog upuivanja (nekontrolisano plavljenje, kontrolisano plavljenje i difuzno emitovanje po sveobuhvatnom stablu)? Moete poi od pretpostavke da se paketi ne gube zbog prekoraenja privremenih memorija i da se svi paketi isporuuju na Sinku onim redosledom kojim su poslati. a. vor e primiti vie kopija istog paketa. b. vor moe da prosledi vie kopija jednog paketa preko istog izlaznog linka. 34. Kada raunar pristupi grupi za vieznano upuivanje da li mora da promeni svoju IP adresu u adresu grupe za vieznano upuivanje kojoj pristupa? 35. Koje uloge, igraju protokol IGMP i protokol za vieznano rutiranje u regionalnoj mrei? 36. Koja je razlika izmeu zajednikog stabla grupe i stabla od izvora u kontekstu vieznanog rutiranja?

j
\

j I
j j
i I

) \ |

I
j

"i

404

POGLAVLJE 4 - MRENI SLOJ

PROBLEMI

405

Problemi
1. Razmotrimo razloge za mree sa datagramima i sa virtuelnim kolima i razloge protiv njih. a. Pretpostavimo da se u mrenom sloju ruteri nalaze u stresnim uslovima zbog kojih ee mogu da otkazu. Koje aklivnosti bi trebalo izvriti na viem nivou u sluaju otkazivanja rutera? Da li je za taj sluaj bolje okruenje sa datagramima i sa virtuelnim kolima? b. Pretpostavimo da bi u svrhu garantovanja nivoa performansi (na primer, kanjenja) za celu putanju od izvora do odredita mrea zahtevala da poiljalac objavi svoju maksimalnu brzinu saobraaja. Ako su prijavljena maksimalna brzina saobraaja i postojea objavljena brzina saobraaja takve da nije mogue preneti saobraaj od izvora do odredita u zahtevanim granicama kanjenja izvoru se ne dozvoljava da pristupi mrei. Da li bi se takva politika lake postigla u okruenju sa datagramima ili sa virtuelnim kolima? 2. Razmotrite mreu sa virtuelnim kolima. Pretpostavite daje VC broj 16-bitno polje. a. Koji je maksimalan broj virtuelnih kola koja mogu da se prenesu preko linka? b. Pretpostavite da centralni vor odreuje putanje i VC brojeve prilikom uspostavljanja konekcije. Pretpostavite da se na svakom linku du VC putanje koristi isti VC broj. Opiite kako bi centralni vor utvrivao VC broj prilikom uspostavljanja konekcije. Da lije mogue da bude manje aktivnih virtuelnih kola od maksimuma defmisanog pod (a) a da ipak nema slobodnih VC brojeva? c. Pretpostavite da se dozvole razliiti VC brojevi na svakom linku du VC putanje. Prilikom uspostavljanja konekcije, poto se utvrdi putanja sa kraja na kraj, opiite kako linkovi mogu decentralizovano da biraju VC brojeve i konfiguriu svoje tabele prosledivanja bez oslanjanja na centralni vor. 3. Osnovna tabela prosledivanja u mrei sa virtuelnim kolima ima etiri kolone. ta znae vrednosti u tim kolonama? Osnovna tabela prosledivanja u mreu sa datagramima ima dve kolone. ta znae vrednosti u tim kolonama? 4. Razmotrite mreu sa virtuelnim kolima sa 2-bitnim poljem za VC broj. Pretpostavite da mrea hoe da uspostavi virtuelno kolo preko etiri linka: A, B, C i D. Pretpostavite da svaki od ovih linkova trenutno ve odrava po dva virtu-elna kola sa sledeim VC brojevima:

a. Ako svako virtuelno kolo treba da koristi isti VC broj na svim linkovima du putanje, koji VC broj bi mogao da se dodeli novom kolu? b. Ako svako virtuelno kolo moe da ima razliite VC brojeve na raznim linkovima du putanje (pa tabela prosledivanja mora da obavlja prevoenje VC brojeva), koliko razliitih kombinacija etiri VC broja (po jedan za svaki od etiri linka) bi se moglo upotrebiti? 5. U tekstu smo koristili izraz usluga sa konekcijom za opise u transportnom sloju a usluga konekcije za mreni sloj. Zbog ega postoji ta suptilna razlika u terminologiji? 6. U odeljku 4.3 smo napomenuli da ne moe biti ekanja u redu na ulazu ako je komutatorska mrea n puta bra od ulazne linije, pod pretpostavkom da n ulaznih linija ima identine brzine. Objasnite (recima) zastoje tako? 7. Zamislite mreu sa datagramima u kojoj se koristi 32-bitno adresiranje. Pretpostavite da ruter ima etiri linka, numerisana od 0 do 3, a da pakete treba proslediti interfejsima linkova na sledei nain: Raspon odredinih adresa n inoooo 00000000 00000000 00000000 do 11100000 l i i u i n m i l i l i m i l i l i 11100001 00000000 00000000 oooooooo do 11 101001 00000000 I1I1I111 1 1 1 1 1 1 1 1 11101001 00000001 00000000 00000000 do 1110100L tlllUU UllIlU muni Inae . 2 1 Interfejs linka 0

a. Napravite tabelu prosledivanja sa etiri stavke koja e koristiti pravilo najdueg prefiksa i prosleivati pakete na pravilne interfejse linkova. b. Opiite na koji nain vaa tabela odreuje odgovarajui interfejs linka za datagrame sa sledeim odredinim adresama:

11001000 10010001 01010001 01010101 11100001 00000000 11000011 00 U1100 11100001 10000000 00010001 0U10111
8. Zamislite mreu sa datagramima u kojoj se koristi 8-bitno adresiranje. Pretpostavite da ruter koristi pravilo najdueg prefiksa i sledeu tabelu prosledivanja:

U odgovorima na sledea pitanja imajte na umu da svako od postojeih virtuel-nih,kola prolazi


samo kroz po jedan od navedenih linkova.

406

POGLAVLJE 4

MRENI SLOJ

PROBLEMI

407

dovoljno adresa da podri 250 interfejsa; Podmrea B treba da ima dovoljno adresa da podri 120 interfejsa; Podmrea C treba da ima dovoljno adresa da podri 120 interfejsa. Naravno, podmree D, E i F moraju biti u stanju da podre po dva interfejsa. Za svaku mreu dodeljivanje treba dati u obliku a.b.c.d/x ili a.b.c.d/x - e.f.g.h/v. b. Na osnovu odgovora pod (a), napravite tabele prosleivanja (uz pravilo najdueg prefiksa) za svaki od tri rutera. 15. Razmotrite slanje datagrama od 3000 bajtova u link iji je MTU jednak 500 bajtova. Navedite raspon odredinih adresa raunara i broj adresa u rasponu za svaki od navedenih interfejsa. 9. Zamislite mreu sa datagramima u kojoj se koristi 8-bitno adresiranje. Pretpostavite da ruter koristi pravilo najdueg prefiksa i sledeu tabelu prosleivanja: Pretpostavite da originalni datagram ima identifikaciju 422. Koliko fragmenata treba napraviti? Kakve su im karakteristike? 16. Pretpostavite da su izmeu izvornog raunara A i odredinog raunara B datagrami ogranieni na 1500 bajtova (ukljuujui zaglavlje). Ako pretpostavimo daje zaglavlje 20 bajtova, koliko bi datagrama bilo potrebno da se poalje jedan MP3 od 4 miliona bajtova? 17. Razmotrite raspored mree sa slike 4.20. Pretpostavite daje posrednik dodelio ruteru adresu 126.13.89.67, a daje mrena adresa matine mree 192.168/16. a. Dodelite adrese svim interfejsima u matinoj mrei. b. Pretpostavite da svaki raunar ima TCP konekcije u toku, sve sa portom 80 raunara 128.13 9.40.86. Pripremite est odgovarajuih stavki za NAT tabelu prevoenja, Navedite raspon odredinih adresa raunara i broj adresa u rasponu za svaki od navedenih, interfejsa. 10. Zamislite ruter koji povezuje tri podmree: Podmreu 1, Podmreu 2 i Podmreu 3. Pretpostavite da svi interfejsi u tim podmreama moraju da imaju prefiks 223.1.17/24. Takoe pretpostavite da Podmrea 1 mora da podri najvie 125 interfejsa a Podmree 2 i 3 treba da podre najvie po 60 interfejsa. Odredite tri mrene adrese (oblika a.b.c/x) koje e zadovoljiti postavljene zahteve. 11. 11 odeljku 4.2.2 dat je primer tabele prosleivanja (sa korienjem pravila najdueg prefiksa). Prepiite tu tabelu ali u obliku a.b.c/x umesto u binarnom obliku. 12. U problemu 7 se zahtevalo da napravite tabelu prosleivanja (sa upotrebom pravila najdueg prefiksa). Prepiite tu tabelu ali u obliku a.b.c/x umesto u binarnom obliku. 13. Zamislite podmreu sa prefiksom 101.101.101.64/26. Navedite primer adrese (oblika xxx.xxx.xxx.xxx) koja se moe dodeliti u ovoj mrei. Pretpostavite da jedan posrednik za Internet usluge poseduje blok adresa oblika 101.101.12S/17. Pretpostavite da on hoe od tog-bloka da napravi etiri podmree sa podjednakim brojem IP adresa. Koji e biti prefiksi (oblika a.b.c.d/x) te etiri podmree. 14. Razmotrite topologiju sa slike 4.17. Oznaite tri podmree sa raunarima (ponite u smeru kazaljke na satu od 12:00) kao Mree A, B i C. Oznaite podmree bez raunara kao Mree D, E i F. a. Dodelite mrene adrese svakoj od ovih podmrea uz sledea ogranienja: Sve adrese treba dodeliti iz 214.97.254/23; Podmrea A treba da ima 18. U ovom problemu treba da analiziramo uticaj NAT-a na P2P aplikacije. Pretpostavite da ravnopravni uesnik Amold upitom otkrije da uesnik po imenu Bernard ima datoteku koju eli da preuzme. Pretpostavite takoe da se-Bernard nalazi iza NAT-a a Arnold ne. Neka adresa NAT-a prema WAN-u bude 138.76,29.7 a interna IP adresa za Bernarda 10.0.0.1. Pretpostaviemo da NAT nije posebno konfigurisan za tu P2P aplikaciju. a. Objasnite zato uesnik Arnold ne moe da pokrene TCP konekciju sa Bernardom iako zna daje WAN adresa NAT-a 138.76.29.7. b. Pretpostavite sada daje Bernard uspostavio TCP konekciju sa drugim uesnikom, Sindi, koja nije iza NAT-a, Pretpostavite takoe daje Arnold saznao od Sindi da Bernard ima eljenu datoteku i da Arnold moe da uspostavi (ili je ve uspostavio) TCP konekciju sa Sindi. Opiite na koji nain Amold moe da upotrebi dve TCP konekcije (jednu od Bernarda do Sindi i drugu od Amolda do Sindi) i obavesti Bernarda da pokrene direktnu TCP konekciju (tj. mimo Sindi) sa Arnoldom. Ta se tehnika ponekad naziva okretanje konekcije. Obratite panju na to da i pored toga Stoje Bernard iza NAT-a, Arnold moe da upotrebi ovu direktnu TCP konekciju da zatrai datoteku a Bernard moe tom konekcijom da isporuu datoteku. 19. Nadoveimo se na prethodni problem i pretpostavimo da su i Arnold i Bernard iza NAT-ova. Pokuajte da osmislite tehniku kojom bi Arnold uspostavio TCP konekciju sa Bernardom bez posebnog kon figuri sanja NAT-a za odreenu aplikaciju. Ako imate tekoe sa defmisanjem takve tehnike, objasnite zato.

408

POGLAVLJE 4 . MRENI SLOJ

PROBLEMI

409

20. Na slici 4.25 navedite putanje od u do z koje ne sadre petlje. 21. Razmotrite sledeu mreu. Sa navedenim cenama linkova primenite Dijkstrin algoritam najkrae putanje i izraunajte najkrau putanju od x do svih ostalih mrenih vorova. Prikaite rad algoritma pomou tabele sline tabeli 4.3.

da pri svakoj iteraciji vor razmenjuje svoje vektore rastojanja sa susedima i prihvata njihove vektore rastojanja. Ako pretpostavimo da algoritam u svakom voru poinje od saznanja jedino o cenama do svojih neposrednih suseda, koji je maksimalan broj iteracija potreban da se distribuirani algoritam zavri? Dokaite svoj odgovor. 25. Razmotrite dole prikazani fragment mree. x ima samo dva prikljuena suseda, w\y.w ima najjeftiniju putanju do odredita u (nije na slici) koja iznosi 5, a y ima najjeftiniju putanju do u koja iznosi 6. Nismo prikazali kompletne putanje iz w i y do u (i izmeu w i y). Sve cene linkova u mrei imaju iskljuivo celo-brojne pozitivne vrednosti.

a. Navedite stavke vektora rastojanja od x do odredita w, y i u. 22. Razmotrite mreu prikazanu u problemu 21. Pomou Dijkstrinog algoritma u obliku slinom tabeli 4.3, a. b. c. d. e. f. g. izraunajte najkrau putanju od s do svih ostalih mrenih vorova. izraunajte najkrau putanju od i do svih ostalih mrenih vorova. izraunajte najkrau putanju od u do svih ostalih mrenih vorova. izraunajte najkrau putanju od v do svih ostalih mrenih vorova. izraunajte najkrau putanju od w do svih ostalih mrenih vorova. izraunajte najkrau putanju o&y do svih ostalih mrenih vorova. izraunajte najkrau putanju od z do svih ostalih mrenih vorova. b. Navedite promenu cene linka za c(x, xv) ili c{x, y) takvu da x obavesti svoje susede o postojanju nove najjeftinije putanje prema u do koje je dolo nakon izvravanja algoritma vektora rastojanja. c. Navedite promenu cene linka za c(x, w) ili c(x,y) takvu da x ne e obavestiti svoje susede o postojanju nove najjeftinije putanje prema u nakon izvravanja algoritma vektora rastojanja. 26. Razmotrite topologiju sa tri vora prikazanu na slici 4.27. Umesto cena linkova prikazanih na slici 4.27, cene linkova su c(x,y) = 5, c(y, z) = 6, c(z, x) = 2. Izraunajte tabele-rastojanja nakon koraka inicijalizacije i nakon svake iteracije jedne sinkrone verzije algoritma vektora rastojanja (kao to smo ranije uradili prilikom opisa slike 4.27). 27. Opiite kako se u BGP-u mogu otkriti petlje u putanjama. 28. Razmotrite mreu koja je prikazana na poetku sledee strane. Posrednik B prua usluge dravne okosnice regionalnom posredniku A. Posrednik C prua usluge dravne okosnice regionalnom posredniku D. B i C su meusobno ravnopravno povezani na dva mesta i koriste BGP. Razmotrite saobraaj koji se kree od A do D. B e radije predati saobraaj posredniku C na Zapadnoj obali (pa e C morati da snosi trokove prenoenja saobraaja kroz celu zemlju), dok bi C radije preneo saobraaj preko ravnopravne take na Istonoj obali (tako da bi B snosio trokove saobraaja kroz celu zemlju). Koji bi BGP mehanizam mogao da upotrebi C da bi predao saobraaj iz A za D u zajednikoj taki sa B na Istonoj obali? Da biste odgovorili na ovo pitanje, inoraete dobro da prouite specifikaciju BGP.

23. Razmotrite sledeu mreu i pretpostavite da svaki vor na poetku zna za cenu do svakog od svojih suseda. Uzmite algoritam vektora rastojanja i prikaite stavke za tabelu rastojanja u voru z.

24. Razmotrite jednu optu topologiju (tj. nemojte uzeti konkretnu gore prikazanu mreu) ijednu sinhronu verziju algoritma vektora rastojanja. Pretpostavite

410

POGLAVLJE 4

MRENI SLOJ

PROBLEMI

411

primalaca i rutera dovodi do najvee razlike izmeu ove dve cene? Moete uzeti koliko god hoete rutera. 32. Razmotrimo funkcionisanje algoritma inverznog prosleivanja (RPF) sa slike 4.41. Pomou iste topologije pronaite skup putanja od svih vorova do izvornog vora A (i oznaite te putanje na grafu deblje osenenim linijama kao na slici 4.41) tako da ako bi te putanje bile najjeftinije putanje, tada bi pod RPF-om vor B primio od A, od C i od D po jedan primerak difuzno emitovane poruke iz A. 33. Razmotrite topologiju prikazanu na slici 4.41, gde svi linkovi imaju jedinine cene i pretpostavite daje vor E izvor difuznog upuivanja. Pomou strelica kakve su prikazane na slici 4.41, ukaite na linkove preko kojih e se paketi prosleivati pomou RPF-a i linkove preko kojih se paketi nee prosleivati ako se uzme da vor E predstavlja izvor. 34. Razmotrite topologiju prikazanu na slici 4.43. i pretpostavite da svi linkovi imaju jedinine cene. Pretpostavite daje vor C izabran za centar u algoritmu za vieznano rutiranje prema centru. Pod pretpostavkom da kada alje poruku pristupanja u C svaki prikljueni ruter koristi svoju najjeftiniju putanju do vora C, nacrtajte dobijeno stablo za vieznano rutiranje prema centru. Da li je dobijeno stablo jedno stablo minimalnih cena? Objasnite svoj odgovor. 29 Na slici 4 39 razmotrite informacije o putanjama koje stiu u zavrne mree W, X i Y. Na osnovu informacija dostupnih u W i X, kakav je pogled na topolo-giju mree iz svakog od njih? Objasnite svoj odgovor. Pogled na topologiju iz mree Y je sledei. 35. U odeljku 4.5.1 smo prouili Dijkstrin algoritam rutiranja prema stanju linkova koji izraunava jednoznane putanje koje su pojedinano najjeftinije od izvora do svih odredita. Unija tili putanja mogla bi se posmatrati kao stablo najjeftinijih jednoznanih putanja (ili stablo najkraih jednoznanih putanja, ako su cene svih linkova identine). Izgradnjom suprotnog primera dokaite da stablo najjeftinijih putanja nije uvek isto to i stablo sa minimalnim sveukupnim cenama. 36. Zamislite mreu u kojoj su svi vorovi povezani sa tri druga vora. U jednom vremenskom koraku vor moe da primi difuzno emitovane pakete od svojih suseda, duplira pakete i poalje ih svim svojim susedima (osim vora od kojeg je primio konkretan paket). U sledeem koraku, susedni vorovi mogu da ih prime, dupliraju, proslede itd. Pretpostavite da se u takvoj mrei za difuzno emitovanje koristi nekontrolisano plavljenje. Koliko e primeraka difuzno emitovanog paketa biti preneto u koraku t , pod pretpostavkom da je u koraku I prenet samo jedan difuzno 30. Razmotrite mreu sa osam vorova (gde su vorovi oznaeni slovima od s do

2) iz problema

emitovani paket iz izvornog vora do njegova tri suseda. 37. Videli smo u odeljku 4.7 da ne postoji protokol mrenog sloja koji bi se mogao upotrebiti za prepoznavanje raunara koji uestvuju u grupi za vieznano upuivanje. Polazei od toga, kako mogu aplikacije za vieznano upuivanje da saznaju identitet raunara koji uestvuju u grupi za vieznano upuivanje? 38. Projektujte protokol (napravite opis u obliku pseudo koda) na aplikacijskom nivou koji evidentira adrese raunara za sve raunare koji uestvuju u jednoj grupi za vieznano upuivanje. Konkretno navedite mrenu uslugu (jednoznanu ili vieznanu) koju va protokol koristi i navedite da li va protokol alje poruke unutar ili van normalnog toka (u odnosu na tok aplikacijskih podataka medu uesnicima u grupi za vieznano upuivanje), i zato to ini.

21. Prikaite stablo minimalnih cena koje poinje od s, a ukljuuje (kao zavrne raunare) vorove u, v, w i y. Svojim recima objasnite zato vae stablo jeste stablo minimalnih cena. 31. Razmotrite dva u osnovi razliita naina za ostvarivanje difuznog upuivanja: emulacija pomou jednoznanog upuivanja i difuznog upuivanje pomou mrenog sloja (tj. pomou rutera) pod pretpostavkom da se za difuzno upuivanje pomou mrenog sloja koristi difuzno emitovanje po sveobuhvatnom stablu. Uzmimo sluaj sa jednim poiljaocem i 32 primaoca. Pretpostavite da je poiljalac povezan sa primaocima jednim binarnim stablom rutera. Kakva je za ovu topologiju cena slanja difuzno upuenog paketa u sluaju emulacije pomou jednoznanog upuivanja i u sluaju difuznog upuivanja pomou mrenog sloja? Ovde, kad god se paket (ili kopija paketa) alje preko jednog linka nastupa troak". Kakva topologija meusobnog povezivanja poiljaoca,

412

POGLAVLJE 4 . MRENI SLOJ

LABORATORIJA ETHEREAL

413

39. Koja je veliina adresnog prostora za vieznano upuivanje? Pretpostavite sada da dve razliite grupe za vieznano upuivanje biraju adresu na sluajan nain. Kolika je verovatnoa da e izabrati istu adresu? Pretpostavite sada da 1000 grupa za vieznano upuivanje istovremeno bira adresu grupe na sluajan nain. Kolika je verovatnoa da doe do preklapanja?

Treba da napiete sledee rutine koje e se izvravati" asinhrono u pripremljenom okruenju za ovaj zadatak. Za vor 0 treba da napiete rutine: rtinit0{). Ova rutina e se pozvati jednom na poetku emulacije. Rutina rtinitO nema argumenata. Ona treba da inicializuje vau tabelu rastojanja u voru 0 direktnim cenama 1, 3 i 7 do vorova I, 2 odnosno 3. Na gornjoj slici su svi linkovi dvosmerni, a cene u oba smera identine. Nakon inicijaliziranja tabele rastojanja i ostalih struktura podataka potrebnih za rutine vaeg vora 0, trebalo bi direktno povezanim susedima (u ovom sluaju, 1, 2 i 3) poslati cene najjeftinijih putanja do svih ostalih vorova u mrei. Ove informacije o minimalnim cenama alju se susednim vorovima u paketu za auriranje rutiranja tako to se pozove rutina tolayer2Q kao stoje opisano u potpunom opisu zadatka. Format paketa za auriranje rutiranja takoe se nalazi u potpunom opisu zadatka. rtupdate0(struct rtpkt *rcvdpkr). Ova rutina e se pozivati kada vor 0 primi paket rutiranja od nekog direktno povezanog suseda. Parametar *rcvdpkt je pokaziva na primljeni paket. Rutina rtupdateOO predstavlja sr" algoritma vektora rastojanja. Vrednosti u paketu za auriranje mtiranja dobijenom iz nekog drugog vora / predstavljaju cene trenutno najjeftinijih putanja od vora / do svih ostalih vorova u mrei. Rutina rtupdate0Q koristi primljene vrednosti za auriranje vlastite tabele rastojanja (kao stoje navedeno u algoritmu vektora rastojanja). Ako se zbog ovog auriranja promeni njegova minimalna cena do nekog drugog vora, vor 0 o toj promeni minimalne cene obavetava svoje direktno povezane susede tako to im alje paket rutiranja. Sigurno se seate da u algoritmu vektora rastojanja samo direktno povezani vorovi razmenjuju pakete rutiranja. Prema tome, vorovi 1 i 2 e meusobno komunicirati, a vorovi 1 i 3 nee. Sline rutine definisane su za vorove 1, 2 i 3. Prema tome, ukupno ete napisati osam procedura: rtinitQ{), rtinitl{), rtinit2(), rtinit3(), rtupdateO(), rtupdateli), rtupda(e2() i rtupdate3{). Te rutine e sve zajedno da implementiraju distribuirano, asinhrono izraunavanje tabela rastojanja za topologiju i cene prikazane na slici sa prethodne strane. Potpuni opis programskog zadatka, kao i kod u jeziku C koji e vam biti potreban za pravljenje simuliranog hardversko/softverskog okruenja moete nai na adresi http://www.awI.com/kurose-ross. Dostupna je takoe verzija ovog zadatka u jeziku Java.

Teze za diskusiju
1. Pronaite tri kompanije koje trenutno prodaju ruterske proizvode velike brzine. Uporedite proizvode. 2. Upotrebite uslugu whois u amerikom registru za Internet brojeve (http:// www.arin.net/whois) i utvrdite blokove IP adresa za tri univerziteta. Moe li se usluga whois iskoristiti za pouzdano utvrivanje lokacije konkretne IP adrese? 3. Da lije mogue napisati klijentski program ping (sa IMCP porukama) u Javi? Zato? 4. U odeljku 4.7 napomenuli smo da uvoenje protokola IPv6 za sada ide sporo. Zato ide sporo? ta bi bilo potrebno da se to uvoenje ubrza? 5. Opiite neke probleme koje NAT-ovi postavljaju pred IPsec bezbednost (videti [Phifer 2000]). 6. Pretpostavite da AS-ovi X i Z nisu direktno povezani, ve da su povezani preko AS-a Y. Nakon toga pretpostavite da X ima ugovor o ravnopravnosti sa Y, a da Y ima isti takav ugovor sa Z. Na kraju, pretpostavite da Z prihvata tranzit svakog saobraaja iz Y, ali ne prihvata tranzit saobraaja iz X. Da li BGP omoguava da Z implementira takvu politiku? 7. U odeljku 4.7 prikazali smo niz aplikacija vieznanih upuivanja. Koja od tih aplikacija je primerena za minimalistiki Internetov model usluge vieznanog upuivanja? Zato? Koje aplikacije nisu posebno primerene za ovaj model usluge?

Programerski zadatak
U ovom programerskom zadatku pisaete distribuirani" skup procedura koje implementiraju distribuirano asinhrono rutiranje pomou vektora rastojanja za sledeu mreu.

Laboratorija Ethereal
Na veb lokaciji koja pripada ovom udbeniku: http;//www.awl.com/kurose-ross nai ete dve Ethereal vebe za ovo poglavlje. U prvoj vebi ispituje se rad protokola IP, a posebno format IP datagrama. U drugoj vebi istrauje se protokol ICMP u komandama- ping i traceroute.

INTERVJU

Vinton G. Serf
Vihton G. Serf je vii potpredsednik odeljenja za arhifekluru i tehnologiju u VVorldCom. Poznal je kao jedan od projektanata protokola TCP/IP i arhitekture Interneta. Kao potpredsednik u MCI Digital Information Services od 1982. do 1986. godine, on je predvodio uspostavljanje sistema MCI Mail, prve komercijalne usluge za e-potu ________________ povezane sa Internetom. Dok je od 1976. do 1982. godine bio u agenciji za napredne istraivake projekte ministarstva odbrane SAD [Defense Advanced Research Projeds

Kakvo je vae miljenje o budunosti umreavanja i Interneta? Po vaem miljenju, koji su glavni izazovi i prepreke u njihovom daljem razvoju?

Ja verujem da e sam Internet, i mree uopste, i dalje da se ire. Ve postoje ubedljivi dokazi da c na Internetu postojati milijarde ureaja osposobljenih za Internet, ukljuujui sprave kao to su mobilni telefoni, friideri, PDA-ovj, kuni serveri, televizori, kao i uobiajeni laptopovi, serveri itd. Velike izazove predstavljaju podrka za mobilnost, trajanje baterija, kapacitet linkova za pristup mrei i mogunost proirenja optikog umreavanja bez ogranienja. Odreivanje meuplanetarnog proirenja Interneta je projekat na kojem sam intenzivno angaovan u laboratoriji Jet Propulsion. Moraemo da preemo sa IPv4 (32-bk-nog adresiranja) na 3Pv (128 bitova). Spisak je dugaak!
Ko vas je profesionalno inspirisao?

Ageocy, DARPA), njegova uloga je bila do vodi razvoj Interneta i tehnologija


bezbednosti i paketa podataka vezanih za Internet. Vinton je magistrirao matematiku na univerzitetu Stanford, a doktorirao raunarske nauke na univerzitetu UCLA.

Moj kolega Bob Kan, moj mentor Derald Estrin, moj najbolji prijatelj Stiv Kroker (sreli smo se u gimnaziji i on mi je prvi pokazao raunare 1960!); i hiljade inenjera koji danas nastavljaju da razvijaju Internet.
Da li imate neki savet za studente koji danas ulaze u domen umreavanja i Interneta?

fa vas je navelo na specijalizaciju h oblasti umre avan\a?

Krajem '60-tih godina radio sam kao programer na univerzitetu UCLA. Moje postavljenje podravala je Agencija za napredne istraivake projekte ministarstva odbrane SAD (koja se tada nazivala ARPA, a sada DARPA). Radio sam u laboratoriji profesora Leonarda Klajnroka u Centru za mrena merenja novostvorenog ARPANET-a. Prvi vor mree ARPANET instaliranje na univerzitetu UCLA septembra 1969. godine. Ja sam bio zaduen za programiranje jednog raunara koji se koristio za evidentiranje informacija o performansama ARPANET-a i za izvetavanje o tim informacijama radi poredenja sa matematikim modelima i predvienim performansama mree. Nekoliko drugih apsolvenata i ja bili smo zadueni za rad na takozvanim protokolima za nivo raunara" ARPANET-a - na procedurama i formatima koji bi omoguili saradnju razliitih vrsta raunara u mrei. To je bilo oaravajue istraivanje (za mene) novog sveta distribuiranog raunarstva i komunikacije.
Kada ste projeklovali protokol IP, da li ste zamiljali da e jednog dana biti toliko sveprisutan?

Razmiljajte izvan ogranienja postojeih sistema - zamislite ta bi moglo da se ostvari; a zatim obavite teak posao smiljanja kako da se to dostigne polazei od trenutnog stanja stvari. Usuujte se da sanjate: nekoliko kolega i ja u laboratoriji Jet Propulsion radimo na projektu meuplanetarnog proirenja zemaljskog Interneta. Ta implementacija moe da potraje na desetine godina, ali da parafraziram: ovek treba da stremi dalje od onog sto dosee, jet emu inae slue nebesa?"

Kada smo Bob Kan i ja poeli na tome da radimo 1973. godine, mislim da smo uglavnom razmiljali o glavnom pitanju: kako da obezbedimo saradnju razliitih paketskih mrea pod pretpostavkom da ne moemo da menjamo same mree. Nadali smo se da emo pronai nain koji e omoguiti proizvoljnom skupu paketskih mrea da saraduju na transparentan nain tako da e raunari moi da komuniciraju sa kraja na kraj bez potrebe da uestvuju u bilo kakvim prevoenjima, Mislim da smo znali da je re o monoj tehnologiji koja e moi da se iri, ali sumnjam da smo imali predstavu kakav e biti svet sa milionima raunara povezanih u Internet.

219

415

Sloj veze podataka i lokalne mree raunara


U prethodnom poglavlju saznali ste da sloj mree obezbeduje komunikacionu uslugu' izmeu dva matina raunara. Kao to je prikazano na slici 5.1, ova komunikaciona putanja sastoji se od niza komunikacionih linija koji poinje od izvornog raunara, prolazi kroz niz rutera i zavrava se na odredinom raunaru. Kako nastavljamo da prolazimo kroz familiju protokola, od sloja mree do sloja veze podataka,:prirodno je da se zapitamo kako se paketi alju preko pojedinanih linija, unutar komunikacione putanje od take do take. Kako se datagrami mrenog sloja enkapsu.liraju u okvire sloja veze podataka za prenos preko jedne linije? Da li protokoli sloja veze podataka obezbeuju pouzdan prenos podataka o jednog do drugog rutera? Mogu H razliiti protokoli sloja veze podataka da se upotrebe'u razliitim linijama du komunikacione putanje? Na ova, kao i na druga vana pitanja, odgovoriemo u ovom poglavlju. Objanjavajui sloj veze, otkriemo da postoje dve fundamentalno razliite vrste kanala. Prva vrsta sastoji se od difuznih kanala, koji su uobiajeni u lokalnim raunarskim mreama (LAN), beinim LAN-ovimo, satelitskim mreama i mreama sa pristupom preko hibridnih optikih kablova (HFC). Kod difuznog-kanala,.Vei broj raunara povezan je na istu komunikacionu liniju i potreban je tzv. protokol za

220

418

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5 .1

SLOJ VEZE PODATAKA: UVOD I USLUGE

221

U ovom poglavlju emo istraiti vie znaajnih tehnologija sloja veze podataka. Detaljnije emo razmotriti Ethernet, daleko najrasprostranjeniju tehnologiju lokalnih raunarskih mrea. Pogledaemo takoe PPP, protokol pogodan za kune raunare. Iako Wi-Fi, i uopte beini LAN-ovi, svakako spadaju u tematiku u vezi sa slojem veze podataka, njih ne objanjavamo u ovom poglavlju. Razlog lei u tome to je Wi-Fi znaajna tema - VVi-Fi revolucija dramatino menja nain kako ljudi pristupaju i koriste Ethernet. Zato je Wi-Fi detaljno objanjen u poglavlju 6, koje je posveeno beinim raunarskim mreama i mobilnosti.

5.1 Sloj veze podataka: uvod i usluge


Hajde da ponemo sa nekom korisnom terminologijom. U ovom poglavlju emo raunare i rutere jednostavno zvati vorovi (nodes), i zato nam, kao to emo uskoro videti, nee biti posebno znaajno da lije vor ruter ili raunar. Takoe, komunikacione kanale koji povezuju susedne vorove du komunikacione putanje, zvaemo linkovi. Dakle, da bi se datagram preneo od izvornog do odredinog raunara, on mora da pree preko svakog pojedinanog linka u putanji od take do take. Na datom linku, predajni vor enkapsulira datagram u okvir i prenosi okvir u link; prijemni vor prima okvir i iz njega izvlai datagram.

5.1.1 Usluge koje obezbeduje sloj veze


Protokol sloja veze podataka koristi se za prenos datagrama du pojedinanog linka. Protokol sloja veze definie format paketa koji se razmenjuju izmeu vorova na krajevima linka, kao i aktivnosti koje ti vorovi preduzimaju prilikom predaje i prijema tih paketa. Setite se iz poglavlja 1 da se jedinice podataka koje se razmenjuju pomou protokola sloja veze podataka zovu okviri i daje uobiajeno da svaki okvir ovog sloja enkapsulira jedan datagram mrenog sloja. Kao to emo uskoro videti, aktivnosti koje preduzima protokol sloja veze podataka prilikom slanja i prijema okvira obuhvataju otkrivanje greke, ponovni prenos, kontrolu toka i sluajan pristup. Primere protokola sloja veze podataka moete nai u mreama kao to su Ethernet, beine lokalne raunarske mree 802.11 (poznate kao i Wi-Fi), Token Ring i PPP; u mnogim situacijama i ATM moe da se posmatra kao protokol sloja veze podataka. Navedene protokole emo detaljnije objasniti u drugoj polovini ovog poglavlja. Dok mreni sloj treba da prenosi segmente transportnog sloja od take do take, od izvornog do odredinog raunara. protokol sloja veze podataka treba da prenosi datagrame mrenog sloja od vora do vora, preko jednog linka u putanji. Znaajna karakteristika sloja veze podataka jc da datagram moe da se prenosi razliitim protokolima veze podataka na razliitim linkovima du putanje. Na primer, datagram moe da se prenosi pomou Etherneta na prvom linku, pomou PPP-a na posle-dnjem linku i pomou WAN protokola sloja veze na svim linkovima izmeu njih. pristup medijumu da bi se uskladili prenosi i izbegle kolizije. Druga vrsta kanala je komunikaciona linija od take do take, kao na primer izmeu dva rutera Ui zmedu modema u stanu i rutera posrednika za Internet usluge (ISP). Usklaivanje pristupa u liniji od take do take je jednostavno, ali ipak postoje mnoga pitanja, koja obu-hvataju okvire, pouzdan prenos podataka, otkrivanje greaka i kontrolu toka.

222

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.1

SLOJ VEZE PODATAKA: UVOD I USLUGE

421
1

Vano je zapaziti da usluge koje pruaju razliiti protokoli veze podataka i same mogu da budu razliite. Na primer, protokol sloja veze moe ili ne moe da obe-zbedi pouzdanu isporuku. Prema tome, mreni sloj mora da bude sposoban da izvri svoj zadatak od take do take, u prisustvu heterogenog skupa pojedinanih usluga sloja veze. Da bismo stekli uvid u sloj veze i u to kakav je njegov odnos prema mrenom sloju, hajde da razmotrimo analogiju sa prevozom. Zamislite putniku agenciju koja planira turistiko putovanje od Prinstona, u Nju Derziju, do Lozane u vajcarskoj. Pretpostavite da agencija odlui daje za turistu najpogodnije da ide limuzinom od Prinstona do aerodroma JFK, zatim avionom od aerodroma JFK do aerodroma u enevi i najzad vozom od aerodroma u enevi do eleznike stanice u Lozani. Kada je putnika agencija napravila te tri rezervacije, odgovornost kompanije za iznajmljivanje limuzina u Prinstonu je da preveze turistu od Prinstona do aerodroma JFK; na vazduhoplovnoj kompaniji je da ga preveze turistu od JFK-a do eneve; a odgovornost vajcarske eleznice je da on stigne od eneve do Lozane. Svaki od tri segmenta putovanja je direktan" izmeu dve susedne" lokacije. Zapazite da svakim od tri segmenta putovanja upravlja razliita kompanija i da koristi sasvim razliit nain prevoza (limuzina, avion i voz). Mada su naini prevoza razliiti, svaki od njih prua osnovnu uslugu prenosa putnika od jedne do druge susedne lokacije. U ovoj analogiji sa prevozom, turista je analogan sa datagramom, svaki segment prevoza je analogan sa komunikacionim linkom, nain prevoza je analogan sa protokolom sloja veze podataka, a putnika agencija koja planira putovanje je analogna sa protokolom rutiranja. Iako je osnovna funkcija usluge svakog sloja veze podataka da prenosi" datagram od jednog do drugog susednog vora preko jednog komunikacionog linka, detalji usluge zavisie od specifinog protokola koji se koristi. Protokol sloja veze podataka moe da prui sledee usluge: Pravljenje okvira. Gotovo svi protokoli sloja veze podataka enkapsuliraju svaki datagram mrenog sloja u okvir pre njegovog slanja na link. Okvir se sastoji od polja za podatke, u koje se stavlja datagram mrenog sloja i izvesnog broja polja zaglavlja. (Okvir moe takoe da ukljui zavrna polja; meutim, mi emo i polja zaglavlja i zavrna polja zvati poljima zaglavlja.) Strukturu okvira odreuje protokol veze podataka. Kada u drugoj polovini ovog poglavlja budemo ispitivali odreene protokole sloja veze podataka, videemo vie razliitih formata okvira. Pristup linku (LinkAccess). Protokol Media Access Control (MAC) definie pravila po kojima se okvir prenosi na link. Za linkove od take do take, koji imaju jednog poiljaoca najednom kraju i jednog primaoca na drugom kraju, protokol MAC je jednostavan (ili ak ine postoji) - poiljalac moe da alje okvir kad god je link slobodan. Zanimljiviji sluaj nastaje kada vie vorova deli jedan difuzni link - to je tzv. problem viestrukog pristupa. Ovde MAC slui da koordinira prenose okvira iz vie vorova; protokole viestrukog pristupa detaljno emo objasniti u odeljku 5.3.

Pouzdana isporuka. Kada protokol sloja veze podataka obezbeduje pouzdanu uslugu isporuke, on garantuje da e preneti svaki datagram mrenog sloja preko linka bez greke. Setite se da izvesni protokoli transportnog sloja (kao stoje TCP) takoe obezbeuju pouzdanu uslugu isporuke. Slino usluzi pouzdane isporuke transportnog sloja, usluga pouzdane isporuke sloja veze podataka postie se pomou potvrda i ponovnih prenosa (proitajte odeljak 3.4). Usluga pouzdane isporuke obino se koristi za linkove koji su skloni velikoj uestanosti greaka, kao to su beini linkovi, u cilju lokalnog ispravljanja greaka - na linku gde se greka pojavljuje - radije nego da se prisilno ponavlja prenos od take do take pomou protokola transportnog ili aplikacijskog sloja. Meutim, usluga pouzdane isporuke moe da se posmatra kao nepotrebno dodatno optereenje za linkove sa malim grekama, kao to su optiki, koaksijalni i mnogi linkovi sa upredenim paricama bakarnih provodnika. Iz tog razloga, na mnogim oienim linkovima nije obezbeena usluga pouzdane isporuke. Kontrola toka (flow control). vorovi na svakom kraju linka imaju ogranien kapacitet privremenog smetanja okvira. To je potencijalni problem, zato to pri. jemni vor moe da prima okvire brzinom veom od one kojom je u stanju da ih obrauje. Bez kontrole toka, privremena memorija prijemnika mogla bi da se prepuni, a okviri koji zatim dolaze da se izgube. Slino transportnom sloju, protokol sloja veze podataka obezbeduje kontrolu toka kako bi spreio predajni vor najednom kraju linka da prepuni prijemni vor na drugom kraju linka. Otkrivanje greke. Prijemnik vora moe pogreno da odlui da je bit u nekom okviru nula kada je poslat kao jedinica i obratno. Do takvih greaka dolazi usled slabljenja signala i elektromagnetskih smetnji. S obzirom na to da nije potrebno da se prosleduje datagram sa grekom, mnogi protokoli sloja veze podataka imaju mehanizam za otkrivanje prisustva jedne greke ili vie greaka. To se radi tako to predajni vor postavlja u okvir i bitove za otkrivanje greke, a prijemni vor proverava te bitove, tj. da traga za grekama. Otkrivanje greke je uobiajena usluga meu protokolima sloja veze podataka. Setite se iz poglavlja 3 i 4, da transportni i mreni slojevi Interneta takoe obezbeuju ogranien oblik otkrivanja greke. Otkrivanje greke u sloju veze podataka obino je sloenije i implementirano je u hardveru. Ispravljanje greke. Ispravljanje greke slino je njenom otkrivanju, izuzev to prijemnik moe ne samo da otkrije da lije dolo do greke u okviru, nego takoe i da tano odredi gde se u okviru ona pojavila (pa samim tim i da ima mogunost da je ispravi). Neki protokoli (kao to je ATM) obezbeuju ispravljanje greaka samo u zaglavlju paketa, a ne za ceo paket. Otkrivanje i ispravljanje greaka objasniemo u odeljku 5.2. Poludupleks i puni dupleks. Kod punog dupleksnog prenosa, svaki vor, na bilo kom kraju linka, moe da predaje i prima pakete isto vreme. Kod poluduplek-snog prenosa, vor ne moe da predaje i prima u isto vreme.

422

POGLAVLJE 5

SLOJ VEZE PODATAKA 1 LOKALNE MREE RAUNARA

5.2

TEHNIKE ZA OTKRIVANJE I ISPRAVLJANJE GREAKA

223

Kao Stoje ranije reeno, mnoge usluge koje obezbeuje sloj veze podataka paralelne su sa uslugama koje obezbeuje transportni sloj. Na primer, i sloj veze podataka i transportni sloj mogu da obezbede pouzdanu isporuku. Iako su mehanizmi koji se koriste za obezbeivanje pouzdane isporuke u ta dva sloja slini (proitajte odeljak 3.4), usluge pouzdane isporuke ipak nisu iste. Transportni protokol obezbeuje pouzdanu isporuku izmeu dva procesa od take do take; pouzdani protokol sloja veze podataka obezbeuje uslugu pouzdane isporuke izmeu dva vora povezana jednim linkom. Slino tome, protokoli i sloja veze podataka i transportnog sloja, mogu da obezbede kontrolu toka i otkrivanje greaka; opet, kontrola toka u protokolu transportnog sloja obezbeuje se od take do take, dok se u protokolu sloja veze podataka ona obezbeuje od vora do susednog vora.

5.1.2 Komuniciranje adaptera


Za dati komunikacioni link, protokol sloja veze podataka je u veini sluajeva implementiran u adapteru. Adapter je ploa (ili PCMCIA kartica) koja obino sadri RAM, DSP ipove, interfejs magistrale raunara i interfejs linka. Uobiajeno je da se adapteri zovu mrene interfejsne kartice ili NIC. Kao stoje prikazano 'na slici 5.2, mreni sloj u predajnom voru (odnosno raunaru ili ruteru) prosle-uje datagram adapteru, koji upravlja predajnom stranom komunikacionog linka. Adapter enkapsulira datagram u okvir i zatim predaje okvir na komunikacioni link. Na drugoj strani, prijemni adapter prima ceo okvir, izvlai datagram i prosleuje ga mrenom sloju. Ako protokol sloja veze podataka obezbeuje otkrivanje greke, predajni adapter postavlja bitove za otkrivanje greke, a prijemni adapter proverava da li ima greaka. Ako protokol sloja veze podataka obezbeuje pouzdanu isporuku, tada su mehanizmi za pouzdanu isporuku (na primer, sekvenca brojeva, tajmer i potvrde) potpuno implementirani u adapterima. Ako protokol sloja veze podataka obezbeuje sluajan pristup (proitajte odeljak 5.3), tada je i protokol sluajnog pristupa potpuno implementiran u adapterima.

Adap-ter je poluautonomna jedinica. Na primer, adapter moe da primi okvir, odredi da li je on pogrean i odbaci ga, a da o tome ne obavesti vor koji ga je poslao. Kada primi okvir, adapter e poslati signal prekida svom raunani samo ako eli da prosledi datagram mrenom sloju. Slino tome, kada vor prosleuje datagram adapteru nanie, on mu poverava sav posao oko prenosa datagrama preko tog linka. Iako je adapter poluautonoman, on nije potpuno autonomna jedinica. Mada smo na slici 5.3 prikazali adapter kao posebnu kutiju", on je obino smeten u istom fizikom kuitu sa ostalim komponentama vora, deli sa njim napajanje i magistrale i, na kraju, nalazi se pod kontrolom vora. Kao stoje prikazano na slici 5.3, glavni sastavni delovi adaptera su interfejs magistrale i interfejs linka. Interfejs magistrale odgovoran je za komunikaciju sa vorom u kome se adapter nalazi, prenosei podatke i upravljake informacije. Interfejs linka odgovoran je za implementiranje protokola sloja veze podataka. Pored stavljanja datagrama u okvir i njiiiovog izdvajanja iz okvira, on moe da obezbedi otkrivanje greke, da implementira protokol sluajnog pristupa, kao i da obezbedi i druge potrebne funkcije. On takoe obuhvata i elektronska kola za predaju i prijem elektrinih signala sa linka. Kod popularnih tehnologija, kao stoje Ethernet, interfejs linka implementiran je pomou skupa ipova koji se mogu kupiti na tritu iroke potronje. Iz tog razloga, adapteri za Ethernet i \VI-Fi su neverovatno jeftini -esto kotaju manje od 20 US$. Ako posetite veb stranicu za adaptere firme 3COM, moete saznati vie o arhitekturi adaptera za Ethernet od 10, 100 i 1000 Mb/s i za ATM od 155 Mb/s [3Com 2004].

5.2 Tehnike za otkrivanje i ispravljanje greaka


U prethodnom odeljku napisali smo da su otkrivanje i ispravljanje greaka na nivou bita - otkrivanje i ispravljanje oteenja bitova unutar okvira sloja linka poslatog iz jednog vora u drugi sa njim fiziki povezani vor - dve usluge koje esto obezbeduje sloj veze podataka. U poglavlju 3, videli smo da se usluge otkriva-

224

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.2

TEHNIKE ZA OTKRIVANJE I ISPRAVLJANJE GREAKA

425:

nja i ispravljanja greaka esto nude i u transportnom sloju. U ovom odeljku, ispita-emo nekoliko najjednostavnijih tehnika koje mogu da se upotrebe za otkrivanje i, u nekim sluajevima, ispravljanje greaka. Potpuna teretska obrada i implementacija ove tehnike je sama po sebi predmet mnogih radova (na primer, [Schv/artz 1980] ili [Bertsekas 1991]), pa emo sa na njoj ovde samo kratko zadrati. Na cilj je da razvijemo intuitivan oseaj za mogunosti koje imaju tehnike za otkrivanje i ispravljanje greaka i da vidimo kako rade jednostavne tehnike i kako se one koriste u praksi. Na slici 5.4 ilustrovana je postavka koju emo koristiti u naem prouavanju. Na strani predajnog vora, podatak D koji treba da se zatiti od greaka bitova, proiren je je bitovima za otkrivanje i ispravljanje greaka (EDQ. Podatak koji treba da se zatiti po pravilu ne ukljuuje samo datagram koji je prosleden nanie iz mrenog sloja, nego i informaciju adresiranja na nivou linka, brojeve sekvence i druga polja u zaglavlju okvira veze podataka. 1 D i EDC alju se ka prijemnom voru unutar okvira linka. Kod prijemnog vora primaju se sekvence bitova D' i EDC. Zapazite da D' i EDC mogu da se razlikuju od originalnih D i EDC, kao rezultat promene bitova u prenosu. Izazov za prijemnik je da otkrije da li je D' isti kao originalni D ili nije, imajui u vidu da je primio samo D' i EDC. Precizno izraavanje po pitanju prijemnikove odluke na slici 5.4 je znaajno (Mi pitamo da lije otkrivena greka, a ne da li se greka dogodila!). Tehnike za otkrivanje i ispravljanje greaka dozvoljavaju prije-

mniku da ponekad, ali ne uvek, otkrije da su se pojavile greke bitova. To znai da, ak i uz upotrebu bitova za otkrivanje greaka, postojae i dalje mogunost da se pojave neotkrivene greke bitova, odnosno da prijemnik nije u stanju da otkrije da sadraj primljene informacije ima pogrene bitove. Posledica toga je da prijemnik isporuuje neispravan datagram mrenom sloju, ili da zakljuuje daje sadraj nekog drugog polja u zaglavlju okvira oteen. Mi zato elimo da odaberemo emu otkrivanja greaka, tako daje verovatnoa ovakvih dogaaja mala. Uopteno govorei, sloenije tehnike za otkrivanje i ispravljanje greaka (odnosno one koje rade uz manju verovatnou pojave neotkrivenih greaka bitova) zahtevaju da se obavi vie izraunavanja i prenese vei broj bitova u komunikaciji. Hajde da sada ispitamo tri tehnike za otkrivanje greaka u podacima - ispitivanja pamosti (da bismo ilustrovali osnovne ideje o otkrivanju i ispravljanje greaka), metode kontrolnog zbira (koje se ee primenjuju u transportnom sloju) i cikline provere redundantnosti (za koje je uobiajeno da se primenjuju u sloju veze podataka u adapterima).

5.2.1 Provere parnosti


Upotreba jednog bita parnosti je moda najjednostavniji oblik otkrivanja greke. Pretpostavite da informacija koja treba da se poalje, D na slici 5.4, ima d bitova. U parnoj emi parnosti, poiljalac jednostavno ukljuuje jedan dodatni bit i bira njegovu vrednost tako da ukupan broj ,jedinica" urf+1 bitu (originalna informacija plus bit parnosti) bude paran. Kod neparnih ema parnosti, vrednost bita parnosti bira se tako da bude neparan broj Jedinica". Na slici 5.5 ilustrovana je parna ema parnosti, sa jednim bitom pamosti smetenim u posebnom polju. Operacija prijemnika sa jednim bitom pamosti je takode jednostavna. Prijemnik treba samo da prebroji koliko ima .jedinica" u primljenih d + 1 bitova. Ako se u parnoj emi pamosti pronae neparan broj bitova koji imaju vrednost I, prijemnik zna da se dogodila najmanje jedna greka na bitu. Tanije, on zna da se dogodio neki neparan broj greaka na bitovima. Ali, ta se deava ako se dogodio paran broj greaka na bitovima? Rezultat bi bio neotkrivena greka. Ako je verovatnoa greaka na bitovima mala fako se za greke moe pretpostaviti da se dogaaju nezavisno od jednog bita do sledeeg, vero-

225

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.2

TEHNIKE ZA OTKRIVANJE I ISPRAVLJANJE GREAKA

427

vatnoa viestrukih greaka u paketu bila bi ekstremno mala. U tom sluaju, jedan bit pamosti bi zadovoljavao, Meutim, merenja su pokazala da se greke javljaju zajedno, u grupama", pre nego da se dogaaju nezavisno. U uslovima grupnih greaka, verovatnoa neotkrivenih greaka unutar okvira zatienog pomou pamosti sa jednim bitom moe da se priblii vrednosti od 50 procenata [Spragins 1991}. Jasno je daje potrebna robustnija ema za otkrivanje greaka (i ona se, na sreu, koristi u praksi). Ali, pre ispitivanja ema za otkrivanje greaka koje se koriste u praksi, hajde da razmotrimo jednostavnu generalizaciju jednobitne pamosti koja e nam obezbe-diti uvid u tehnike ispravljanja greaka. Na slici 5.6 prikazana je dvodimenzionama generalizacija jednobitne eme. par-nosti. U ovom sluaju, d bitova u D podeljeni su u / vrsta i j kolona. Vrednost par-nosti se rauna za svaku vrstu i svaku kolonu. Rezultujuih ('+_/+ I bitova pamosti obuhvataju bitove za otkrivanje greke unutar okvira veze podataka. Sada pretpostavite da se u originalnih c/bitova informacije pojavila greka jednog bita. Kod ove dvodimenzionalne eme parnosti, pamost i kolone i vrste koje sadre pogrean bit bie pogrene. Prijemnik zato moe ne samo da otkrije injenicu da se

dogodila jedna greka, nego i da upotrebi indekse vrste i kolone sa grekama pamosti da bi stvarno identifikovao oteeni bit i ispravio tu greku! Na slici 5.6 prikazan je primer u kome je bit sa vrednou 1 na poziciji (2,2) oteen i obrnut na 0 - stoje greka koju prijemnik moe da otkrije i ispravi. Mada je naa rasprava usredsredena na originalnih d bitova informacije, jedna greka u samim bitovima pamosti takoe se moe otkriti i ispraviti. Dvodimenzionalna pamost takoe moe da otkrije (ali ne i da ispravi!) bilo kakvu kombinaciju dve greke u paketu. Ostale osobine dvodimenzionalne eme pamosti ispitane su u problemima na kraju poglavlju. Sposobnost prijemnika da otkrije i da ispravi greke poznata je kao ispravljanje greaka unapred (forward error correction, FEC). Ove tehnike se obino koriste za skladitenje zvuka i reprodukciju sa ureaja kao to su audio CD-ovi. U formiranju mrea, tehnike FEC mogu da se upotrebe same po sebi, ili zajedno sa tehnikama ARQ koje smo izloili u poglavlju 3. Vrednost tehnika FEC je to one mogu da smanje broj ponovnih prenosa od strane poiljaoca. Stoje moda jo vanije, one dozvoljavaju trenutno ispravljanje greaka u prijemniku. Time se izbegava ekanje u toku vremena povratnog puta, koje je prijemniku potrebno da bi primio NAK paket i da bi paket koji je ponovo poslat stigao do prijemnika - to moe da bude znaajna prednost za aplikacije mrea u realnom vremenu [Rubenstcin 1998], Noviji radovi koji ispituju upotrebu tehnike FEC u protokolima sa kontrolom greke obuhvataju [Miersack 1992; Nonnenmacher 1998; Byers 1998; Shacham 1990],

5.2.2 Metode kontrolnog zbira


U tehnikama kontrolnog zbira, sa dbitova sa slike 5.4 postupa se kao sa sekvencom ^-bitnih celih brojeva. Jednostavna metoda kontrolnog zbira je da se prosto saberu ti /r-bitni celi brojevi i bitovi rezultata upotrebe za otkrivanje greke. Takozvani Internet kontrolni zbir zasniva se na ovom pristupu - sa bajtovima podataka postupa se kao sa 16-bitnim celim brojevima i oni se sabiraju. Jedinini komplement ovog zbira formira Internet kontrolni zbir koji se prenosi u zaglavlju segmenta. Kao Stoje objanjezno u odeljku 3.3, prijemnik proverava kontrolni zbir tako to uzima jedinini komplement zbira primljenih podataka (ukljuujui tu i sam kontrolni zbir) i ispituje da li su svi bitovi rezultata 1. Ako bilo koji bit ima vrednost 0, to ukazuje na greku. RFC 1071 detaljno objanjava Internet algoritam kontrolnog zbira i njegovu implementaciju. U protokolima TCP i UDP, Internet kontrolni zbir se proraunava preko svih polja (ukljuujui zaglavlja i polja sa podacima). U drugim protokolima, na primer XTP [Strayer 1992], jedan kontrolni zbir se rauna za zaglavlje, a drugi za ceo paket. Metode kontrolnog zbira zahtevaju relativno malo proirivanje paketa u vidu dodavanja novih bitova. Na primer, kontrolni zbirovi za TCP i UDP koriste samo 16 bitova. Meutim, oni obezbeuju relativno slabu zatitu od greaka u poreenju sa ciklinim prbverama redundantnosti (CRC), koje se objanjavaju dalje u tekstu i koje se esto koriste u sloju veze podataka. Ovde se prirodno postavlja pitanje: zalo se kontrolni zbir koristi u transportnom sloju, a CRC u sloju veze podataka? Setite

428

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.2

TEHNIKE ZA OTKRIVANJE I ISPRAVLJANJE GREAKA

429
i

se da se transportni sloj obino implementira u softveru raunara, kao deo njegovog operativnog sistema. S obzirom na to daje otkrivanje greaka transportnog sloja implementirano u softveru, vano je da ema za otkrivanje greaka bude jednostavna i brza, ba kao stoje to metoda kontrolnog zbira. S druge strane, otkrivanje greaka u sloju veze podataka implementirano je u hardveru adaptera, koji brzo moe da izvri i sloenije CRC operacije. Osnovni razlog zbog kojeg se kontrolni zbir koristi u transportnom sloju, a jae metode CRC u sloju linka je to se kontrolno sabiranje lako implementira u softveru. McAulev [McAulev 1994] opisuje poboljane kodove teinskog kontrolnog zbira koji su pogodni za softverske implementacije velike brzine, a Feldheimer [Feldheimer 1995] prikazuje tehnike brzih softverskih implementacija, ne samo za kodove teinskog kontrolnog zbira, nego i za CRC (proitajte dalje u tekstu), kao i za druge kodove.

1011 XOR 0101 = 1110 1001 XOR 1101 = 0100 Takoe, slino tome 1011 - 0101 = 1110 1001 - 1101 = 0100 Mnoenje i deljenje su isti kao u aritmetici sa osnovom 2, izuzev to se sva zahtevana sabiranja ili oduzimanja vre bez prenosa i pozajmljivanja. Kao u obinoj binarnoj aritmetici, mnoenje sa 2k pomera bitove u levo za k mesta. Dakle, uz date D i R, izraz D 2rXOR R daje bitove d + r prikazane na slici 5.7. U naoj daljoj diskusiji, koristiemo ovu algebarsku karakterizaciju bitova d + r. Okrenimo se sada odluujuem pitanju, kako poiljalac proraunava R. Setite se da elimo da pronaemo R , tako da postoji takvo n da je D -2rXOR R = nG To znai, elimo da odaberemo R koje G deli sa> 2rXORtf bez ostatka. Ako izvrimo iskljuivo-ILI (odnosno, saberemo po modulu 2 bez prenosa) R sa obe strane gornje jednaine, dobijamo D-2'=nGXORR Ova jednaina nam govori da ako podelimo D 2rsa G, vrednost ostatka je tano R. Drugim recima, moemo da izraunamo R na sledei nain D-2r R = ostatak od

5.2.3 Ciklina provera redundantnosti (CRC)


Tehnika koja se danas iroko koristi u raunarskim mreama zasnovana je na kodovima sa ciklinom proverom redundantnosti (CRC). CRC kodovi su takode poznati kao polinomski kodovi, zato to se na niz bitova koji treba da se poalju moe gledati kao na polinom iji koeficijenti imaju vrednosti 0 i 1 u tom nizu, sa operacijama koje se interpretiraju kao polinomska aritmetika nad nizom bitova. CRC kodovi rade na sledei nain. Zamislite o'-bitni podatak, D , koji predajni vor eli da poalje prijemnom voru. Poiljalac i primalac moraju prvo da se spo-razumeju o uzorku od r + 1 bita, poznatom kao generator, koji emo oznaiti sa G. Zah'tevaemo da bit najvee teine (krajnji levi) u G bude 1. Kljuna ideja na kojoj se zasniva CRC prikazana je na slici 5.7. Za dati podatak, D , poiljalac e odabrati r dodatnih bitova, R , i prikljuiti ih na kraj niza D tako da rezultujui uzorak d + r (interpretiran kao binarni broj) bude tano deljiv sa G koristei aritmetiku modulo 2. Na ovaj nain, proces proveravanja greaka je jednostavan: primalac deli primljeni d + r sa G. Ako ostatak nije nula, primalac zna da se dogodila greka; u suprotnom, podatak se prihvata kao ispravan. Sva CRC izraunavanja vre se u aritmetici modulo 2, bez prenosa u sabiranju ili pozajmljivanja u oduzimanju. To znai da su sabiranje i oduzimanje identini i da su oba ekvivalentni bitskom operandu iskljuivom ILI (XOR). Na primer,

Na slici 5.8 prikazanje ovaj proraun za sluaj D = 101110, d = 6 , G = 1001 i r= 3. Devet bitova koji se prenose u ovom sluaju su 101110011. Moete daprove-rite ovaj proraun, a takoe da se uverite da je D 2r = 101011 G XOR R. Definisani su meunarodni standardi za 8-, 12-, 16- i 32-bitne generatore, G. S-bitni CRC se koristi da zatiti 5-bajtno zaglavlje u ATM elijama. 32-bitni standard CRC-32, koji je usvojen u brojnim IEEE protokolima sloja linka, koristi generator
G

CRC-32

100000100110000010001110110110111

227

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.3

PROTOKOLI VIESTRUKOG PRISTUPA

431

- takozvani problem viestrukog pristupa. Difuzni kanali se esto koriste u lokalnim raunarskim mreama (LAN-ovima), mreama koje su geografski koncen-trisane u jednoj zgradi (ili korporaciji ili univerzitetskom naselju). Zato emo na kraju ovog poglavlja takoe videti kako se kanali sa viestrukim pristupom koriste u LAN-ovima. Nama je svima poznato znaenje difuznog prenosa, zato to ga televizija koristi od kada je pronaena. Ali, tradicionalna televizija je jednosmemi difuzni prenos (odnosno, jedan fiksni vor prenosi mnogim prijemnim vorovima), dok vorovi na difuznom kanalu raunarske mree mogu i da predaju i da primaju. Pogodnija analogija difuznog kanala je koktel prijem, gde se mnogo ljudi skuplja u velikoj prostoriji (vazduh je difuzni medijum), da bi priali i sluali. Druga dobra analogija je neto sa ime bi mnogi itaoci trebalo da budu upoznati - uionica gde nastavnik (nastavnici) i student (studenti) takoe dele jedan difuzni medijum. Centralni problem u oba scenarija je da se odredi ko i kada pria (odnosno predaje na kanal). Kao ljudi, mi smo razradili skup protokola za deljenje difuznog kanala: Dajte svakom priliku da govori." Ne priajte kada vam se obraaju." Ne monopoliite razgovor." Podignite ruku kada imate pitanje." Ne prekidajte nekoga kada govori." Nemojte Svaki od CRC standarda moe da otkrije grupu greaka koja se javlja na manje od r + 1 bitova. (To znai da sve uzastopne greke bitova na rastojanju / ili manje bitova mogu da se otkriju.) Pored toga, pod odgovarajuim pretpostavkama, grupna greka vea od r + 1 bitova moe da se otkrije sa verovatnoom od 1 - 0,5r. Takoe, svaki od CRC standarda moe da otkrije svaki neparan broj greaka bitova. U tekstu [Schv/artz 1908], dat je odlian uvod u ovu temu. zaspati kada neko govori." Raunarske mree imaju sline protokole - to su takozvani protokoli viestrukog pristupa pomou kojih vorovi reguliu svoj prenos na deljenom difuznom kanalu. Kao stoje prikazano na slici 5.9, protokoli sa viestrukim pristupom su potrebni u irokom skupu postavki mrea, ukljuujui tu oiene i beine lokalne mree raunara, kao i satelitske mree. Mada, tehniki posmatrano, svaki vor pristupa difuznom kanalu preko svog adaptera, u ovom odeljku mi emo se pozivati na vor kao na predajni i prijemni ureaj. U praksi, stotine ili ak hiljade vorova mogu direktno da komuniciraju preko difuznog kanala. S obzirom na to da su svi vorovi u stanju da alju okvire, to vie od dva vora mogu da rade istovremeno. Kada se to dogodi, svi vorovi primaju vie okvira u isto vreme; znai da dolazi do kolizije okvira u prenosu, na svim primaocima. Obino se deava da, kada postoji kolizija, nijedan od prijemnih vorova ne moe da uradi sa poslatim okvirima nita to bi imalo smisla; signali okvira u koliziji postaju meusobno nerazumljivo zamreni. Zato su svi okviri u koliziji izgubljeni, a difuzni kanal neupotrebljiv u vremenskom intervalu kolizija. Jasno je da, ako mnogo vorova eli esto da predaje okvire, mnogi prenosi e za rezultat imati kolizije i veliki deo propusnog opsega difuznog kanala e biti neiskorien.

5 .3 Protokoli viestrukog pristupa


U uvodu ovog poglavlja, napisali smo da postoje dve vrste mrenih linkova: linkovi od take do take i difuzni linkovi. Link od take do take sastoji se od jednog poiljaoca najednom kraju linka, i jednog primaoca na drugom kraju linka. Mnogi protokoli sloja linka projektovani su kao linkoviod take do take; PPP {point-to-po-int protocol) i HDLC su dva takva protokola, koja emo objasniti kasnije u ovom poglavlju. Druga vrsta linka, difuzni link, moe da ima vie predajnih i vie prijemnih vorova koji svi dele jedan, isti difuzni kanal. Termin difuzni" ovde se koristi zato to, kada bilo koji vor alje okvir, kanal difuzno prenosi okvir i svaki vor prima kopiju. Primeri za tehnologije difuznog sloja linka su Ethernet i beini LAN-ovi. U ovom odeljku emo se vratiti korak unazad od specifinih protokola sloja linka i prvo ispitati problem koji je najznaajniji za sloj veze podataka: kako da se uskladi pristup vie predajnih i prijemnih vorova deljenom difuznom kanalu

432

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.3

PROTOKOLI VIESTRUKOG PRISTUPA

228

Zakljuiemo ovaj pregled time da bi, u idealnom sluaju, protokol sa viestrukim pristupom za difuzni kanal brzine R bitova u sekundi, trebalo da ima sledee karakteristike: 1. Kada samo jedan vor ima podatke za slanje, on ima propusnu mo od R bitova u sekundi. 2. Kada Mvorova imaju podatke za slanje, svaki od njih ima propusnu mo od R/M bitova u sekundi. To ne znai da svaki od M vorova obavezno uvek ima brzinu prenosa od R/M, nego da bi svaki od M vorova trebalo da ima brzinu prenosa od R/M u nekom pogodno defmisanom vremenskom intervalu. 3. Protokol je decentralizovan; to znai, da nema centralnih vorova koji mogu da otkazu i obore ceo sistem. y 4. Protokol je jednostavan, tako da nije skup za implementaciju.

5.3.1 Protokoli sa deljenjem kanala


Setite se ranijih objanjenja u odeljku 1.3 da su vremensko (time-division multiple-xing, TDM) i frekventno muttipleksiranje (frequency-divison mtdtiplexing, FDM) dve tehnike koje mogu da se koriste za deljenje propusnog opsega difuznog kanala izmeu svih vorova koji dele taj kanal. Kao primer, pretpostavite da kanal podrava N vorova i da je brzina prenosa kanala R bitova u sekundi. TDM deli vreme na vremenske okvire (time frames), a dalje deli svaki vremenski okvir na N vremenskih odseaka (Ume siots). (Vremenski prozor TDM ne bi trebalo da se pomea sa PDU-om sloja linka, koji se takoe naziva okvir. Da bi se smanjila mogunost zabune, u ovom pododeljku na PDU sloja linka emo se pozivati kao na paket.) Svaki vremenski odseak se onda dodeljuje jednom od N vorova. Kad god vor ima paket koji treba da poalje, on vri predaju bitova paketa za vreme svog dodeljenog vremenskog odseka koji se aktivira tokom rotirajueg TDM prozora, Uobiajeno je da se veliine vremenskih odseaka biraju tako da jedan paket moe da se prenese u okviru jednog vremenskog odseka. Na slici 5.10 prikazan je jednostavan primer TDM-a od etiri vora. Ako se vratimo na nau analogiju, koktel prijem regulisan pomou TDM-a dozvolio bi jednom uesniku da govori u fiksnom vremenskom periodu, a zatim drugom uesniku da govori jednako dugo i tako dalje. Kada su svi imali svoju priliku da govore, postupak se ponavlja. Tehnika TDM je privlana, zato to eliminie kolizije i savreno je pravedna: svaki vor ima brzinu R tokom korienja svog okvira, a brzinu 0 izvan toga, pa je srednja brzina prenosa po voru R/N bitova u sekundi za vreme svakog vremenskog okvira. Meutim, ona ima dva velika nedostatka. Prvo, vor je ogranien na prose-nu brzinu od R/N bitova u sekundi ak i kada je jedini vor sa paketima za slanje. Drugi nedostatak je to to vor uvek mora da eka na svoj red u sekvenci prenosa - opet, ak i kada je jedini vor sa paketom za slanje. Zamislite uesnika na prijemu koji jedini ima neto da kae (i zamislite daje to ak i reda okolnost u kojoj svako na prijemu eli da uje ta ta jedna osoba ima da kae). Jasno, tehnika TDM bi bila lo izbor za protokol sa vie pristupa na tom odreenom prijemu.

Da bi se obezbedilo da difuzni kanal korisno radi kada je aktivno vie vorova, potrebno je da se nekako usklade prenosi aktivnih vorova. To je posao protokola sa viestrukim pristupom. U toku 30 godina, hiljade lanaka i stotine doktorskih disertacija napisano je o protokolima sa viestrukim pristupom; iscrpan pregled ovog rada dat je u [Rom 1990]. tavie, aktivno istraivanje u oblasti protokola sa viestrukim pristupom se nastavlja, zahvaljujui stalnom pojavljivanju novih vrsta linkova, posebno novih beinih linkova. Tokom godina, implemetirano je vie desetina protokola sa viestrukim pristupom u razliitim tehnologijama sloja linka. Meutim, skoro svaki protokol sa viestrukim pristupom moemo klasifikovati da pripada jednoj od sledee tri kategorije: protokoli sa deljenjem kanala, protokoli sa sluajnim pristupom i protokoli sa pristupom na koga je red". U sledea tri pododeljka objasniemo ove kategorije protokola sa viestrukim pristupom.

229

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.3

PROTOKOLI VIESTRUKOG PRISTUPA

435

5.3.2 Protokoli.sa sluajnim pristupom


Druga iroka klasa protokola sa viestrukim pristupom su takozvani protokoli sa sluajnim pristupom. U protokolu sa sluajnim pristupom, predajni vor uvek predaje punom brzinom kanala, odnosno R bitova u sekundi. Kada postoji kolizija, svaki vor koji je njime obuhvaen ponovo alje svoj okvir (odnosno paket), sve dok okvir ne proe bez kolizija. Ali, kada vor doivi koliziju, on ne alje ponovo okvir istog trenutka. Umesto toga, on eka da proe vreme sluajnog trajanja dok ponovo ne poalje okvir. Svaki vor obuhvaen kolizijom bira nezavisno sluajno kanjenje. S obzirom na to da se sluajna kanjenja biraju nezavisno, mogue je da e jedan od vorova odabrati kanjenje koje je dovoljno manje od kanjenja ostalih vorova u koliziji i da e zato moi da provue svoj okvir kroz kanal bez kolizije. Postoje desetine, ako ne i stotine protokola sa sluajnim pristupom koji su opisani u literaturi [Rom 1990; Bertsekas 1991], U ovom odeljku, opisaemo nekoliko protokola sa sluajnim pristupom koji se najvie koriste - protokole ALOHA [Abramson 1970; Abramson 1985] i protokole sa prepoznavanjem nosioca sa sluajnim pristupom (carrier sense multiple access, CSMA) [Kleinrock 1975b]. Kasnije, u odeljku 5.5, objasniemo detalje Ethemeta [Metcalfe 1976], popularnog i iroko primenjivanog CSMA protokola. ALOHA sa odsccima Hajde da zaponemo nau studiju protokola sa sluajnim pristupom sa jednim od najjednostavnijih, takozvanim protokolom ALOHA sa odsecima. U naem opisu ALOHE sa odsecima, pretpostaviemo sledee: Dok TDM deli difuzni kanal u vremenu, FDM deli kanal brzine R bitova u sekundi na razliite frekvencije (od kojih svaka ima propusni opseg od R/N) i dodeljuje svaku frekvenciju jednom od /V vorova. FDM tako stvara N manjih kanala od R/N bitova u sekundi od jednog, veeg kanala brzine od R bitova u sekundi. FDM deli i prednosti i nedostatke TDM-a. FDM takode deli glavni nedostatak sa TDM-om - vor je ogranien na propusni opseg od R/N, ak i kada je jedini vor sa paketom za slanje. Trei protokol za deljenje kanala je viestruki pristup sa deljenjem koda (Code Division Multiple Access, CDMA). Dok TDM i FDM dodeljuju vorovima vremenske odseke i frekvencije, respektivno, CDMA svakom voru dodeljuje razliit kod. Svaki vor onda.koristi jedinstveni kod da bi kodovao bitove podataka koje alje. Ako se kodovi paljivo izaberu, mree CDMA imaju izvanrednu osobinu da razliiti vorovi mogu da prenose istovremeno, a da njihovi odgovarajui primaoci ipak tano prime bitove kodovanih podataka (pretpostavljajui da primalac zna kod poiljaoca), uprkos uticaju prenosa drugih vorova. Izvesno vreme CDMA se koristio u vojnim sistemima (zbog svoje otpornosti na ometanje), a sada poinje da se iroko nalazi i u civilnoj upotrebi, posebno u beinim kanalima sa viestrukim pristupom. S obzirom daje upotreba CDMA tako tesno povezana sa beinim kanalima, uzdraemo se od diskusije o tehnikim detaljima CDMA do poglavlja 6. Za sada, bie dovoljno da znamo da CDMA kodovi, kao vremenski odseci u TDM-u i frekvencije u FDM-u, mogu da se dodeljuju korisnicima kanala sa viestrukim pristupom.. Svi okviri se sastoje od tano L bitova. Vreme se deli na odseke veliine L/R sekundi (odnosno, odseak je jednak vremenu prenosa jednog okvira). vorovi poinju da predaju okvire samo na poecima odseaka. vorovi su sinhronizovani, tako da svaki od njih zna kada odseak poinje. Ako dode do kolizije dva ili vie okvira u odseku, svi vorovi detektuju koliziju pre nego to se odseak zavri. Neka je p verovatnoa, odnosno broj izmeu 0 i 1. Operacija ALOHE sa odsecima u svakom voru je jednostavna: Kada vor treba da poalje novi okvir, on eka do poetka sledeeg odseka i predaje celokupni okvir tom odseku. Ako nema kolizije, vor je uspeno predao svoj okvir i zato ne treba da razmatra njegovo ponovno prenoenje. (vor moe da pripremi novi okvir za prenos u sledeem okviru, ako ga ima.)

436

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.3

PROTOKOLI VIESTRUKOG PRISTUPA

230

Ako postoji kolizija, vor je detektuje pre kraja odseka. vor ponovo predaje svoj okvir u svakom sledeem odseku sa verovatnoom p dok se okvir ne prenese bez kolizije. Pod ponovnim prenoenjem sa verovatnoom p, podrazumevamo da vor u stvari baca novi sa sledeim ishodima: dogaaj glava" odgovara ponovnom pre-nosu i ima verovatnou p. Dogaaj pismo" znai preskoi odseak i baci novi ponovo u sledeem odseku"; to se deava sa verovatnoom (1 - p). Svi vorovi obuhvaeni kolizijom bacaju svoje novie nezavisno. Izgleda da ALOHA sa odsecima ima mnogo prednosti. Za razliku od deljenja kanala, ALOHA sa odsecima dozvoljava voru da stalno predaje punom brzinom, R, kadaje taj vor jedini aktivan. (Za vor kaemo daje aktivan kada ima okvira za slanje.) Protokol ALOHA sa odsecima je i veoma decentralizovan, zato to svaki vor detektuje kolizije i nezavisno odluuje kada da ponovi predaju. (Meutim, ALOHA sa odsecima zahteva da odseci budu sinhronizovani u vorovima; uskoro emo objasniti verziju protokola ALOHA bez odseaka, kao i protokole CSMA, od kojih nijedan ne zahteva takvu sinhronizaciju i zato su potpuno decentralizovani.) ALOHA sa odsecima je takode izuzetno jednostavan protokol. Protokol ALOHA sa odsecima dobro radi kada postoji samo jedan aktivan vor, ali koliko je on jednostavan kada ima vie aktivnih vorova? U vezi sa efikasnou moe se razmiljati o dve stvari. Prvo, kao stoje prikazano na slici 5.11, kada ima vie aktivnih vorova, izvestan deo odseaka e biti u koliziji i zato e biti odbaen". Drugi problem je to e drugi deo odseaka biti prazan, zato to se svi aktivni vorovi uzdravaju od prenosa zbog probabilistike politike prenosa. Jedini iskorieni" odseci e biti oni u kojima tano jedan vor predaje. Odseak u kome samo jedan vor predaje zove se odseak uspeha. Efikasnost protokola sa viestrukim pristupom i odsecima definie se kao deo odseaka uspeha tokom dugog perioda, u sluaju kada postoji veliki broj aktivnih vorova, od kojih svaki ima veliki broj okvira za slanje. Zapazite da bi, ako nije upotrebljen nikakav oblik kontrole pristupa i ako bi svaki vor odmah ponovo prenosio posle svake kolizije, efikasnost bila ravna nuli. Jasno je da ALOHA sa odsecima poveava efikasnost iznad nule, ali koliko? Sada emo nastaviti sa izvoenjem maksimalne efikasnosti protokola ALOHA sa odsecima. Da bi ovo izvoenje bilo jednostavno, hajde da malo promenimo protokol i pretpostavimo da svaki vor uvek ima okvir za slanje i da vor predaje novi okvir sa verovatnoom p. (To znai da pretpostavljamo da svaki vor uvek ima okvir za slanje i da vor alje novi okvir sa verovatnoom p, kao i okvir koji je ve u koliziji.) Najpre pretpostavite da postoji N vorova. Tada je verovatnoa da dati odseak predstavlja odseak uspeha jednaka verovatnoi da jedan od vorova predaje, a da ostalih N - 1 vorova ne predaju. Verovatnoa da jedan vor predaje je p; verovatnoa da ostali vorovi ne predaju je (l - p)N'!. Zato je verovatnoa da je odseak uspean jednaka p( 1 - p)N'}. S obzirom na to da ima N vorova, verovatnoa da neki proizvoljan vor obavi uspean prenos iznosi Np(l - p ) N ~ ' '

Dakle, kada postoji N aktivnih vorova, efikasnost protokola ALOHA sa odsecima jednaka je A^(l - p f - > . Da bi se dobila maksimalna efikasnost za N aktivnih vorova, treba da pronaemokoje maksimizuje taj izraz. (Pogledajte probleme za domae zadatke u kojima je opisan opti postupak tog izvoenja.) A da bismo dobili maksimalnu efikasnost za veliki broj aktivnih vorova, uzeemo granicu N p\\ -p')N-' kada se N pribliava beskonanosti. (I to pogledajte u problemima za domae zadatke.) Kada izvrimo te proraune, otkriemo daje maksimalna efikasnost protokola data izrazom l/e = 0,37. To znai da, kada veliki broj vorova ima mnogo okvira za predaju, onda (u najboljem sluaju) samo 37% vorova radi neto korisno. Dakle, efektivna brzina prenosa kanala nije R, nego samo 0,37 R bitova u sekundi! Slina analiza takoe pokazuje daje 37 procenata odseaka prazno i da se u 26 procenata odseaka javljaju kolizije. Zamislite sirotog administratora mree koji je kupio sistem ALOHA sa odsecima, od 100 Mb/s, oekujui da e moi da koristi mreu za prenoenje podataka izmeu velikog broja korisnika zajednikom brzinom od, recimo, 80 Mb/s! Iako kanal moe da prenosi dati okvir punom brzinom od 100 Mb/s, u duem vremenu realna propusna mo tog kanala e biti manja od 37 Mb/s u sekundi.

438

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNEMREE RAUNARA

5.3

PROTOKOLI VIESTRUKOG PRISTUPA

231

j
i

ALOHA Protokol ALOHA sa odsecima zahteva da svi vorovi sinhronizuju svoje prenose tako da zaponu na poetku odseka. Prvi protokol ALOHA [Abramson 1970] bio je stvarno bez odseaka, potpuno decentralizovan protokol. U takozvanoj istoj ALOHI, kada okvir stigne prvi put (odnosno, mreni sloj prosledi datagram nanie iz mrenog sloja u vor poiljaoca), vor odmah predaje ceo okvir na difuzni kanal. Ako predati okvir dode u koliziju sa jednim ili vie prenosa, vor e odmah (poto je predao ceo svoj okvir u koliziji) ponovo predati okvir sa verovatnoom p. U suprotnom, vor eka u intervalu koji je jednak vremenu potrebnom za prenos jednog okvira. Posle tog ekanja, on predaje okvir sa verovatnoom p , ili eka (ostajui besposlen) na drugi okvir sa verovatnoom (l-/>). Da bismo odredili efikasnost iste ALOHE, usredsrediemo se na jedan individualni vor. Napraviemo iste pretpostavke kao i u naoj analizi ALOHE sa odsecima i uzeemo da vreme prenosa okvira bude jedinica vremena. U bilo kom datom trenutku, verovatnoa da vor prenosi okvir je p. Pretpostavimo da prenos tog okvira poinje u trenutku tQ. Kao Stoje prikazano na slici 5.12, da bi prenos tog okvira bio uspean, nijedan drugi okvir ne moe da zapone svoj prenos u intervalu vremena [t0 - 1, t0]. Takav prenos bi se preklopio sa poetkom prenosa okvira /-tog vora. Verovatnoa da nijedan drugi ne poinje prenos u tom intervalu je (1 - p)'v~'. Slino tome, nijedan drugi vor ne moe da pone prenos dok vor i prenosi, jer bi se takav prenos preklopio sa krajem prenosa /-tog vora. Verovatnoa da nijedan od svih drugih vorova ne poinje prenos u tom intervalu je takoe (1 - p)N~'. Prema tome, verovatnoa da dati vor izvri uspean prenos je /?(1 - p)^N'!K Izraunavanjem granice kao u sluaju ALOHE sa odsecima, dolazimo do toga daje efikasnost iste ALOHE samo l/(2e) - tano polovina one koju ima ALOHA sa odsecima. To je cena koja mora da se plati za potpuno decentralizovani protokol ALOHA.
NORM ABRAMSON I ALOHANET

KRATAK OSVRT

Dr Norm Abramson, inenjer, strasno je voleo jahanje na talasima i interesovala ga je komutacija paketa. Ta kombinacija interesovanja dovela ga je na Univerzitet na Havajimo 1969. godine. Havaji se sastoje od mnogo planinskih ostrva, to oteava postavljanje i rad zemaljskih mreo. Kada ne bi jahao na talasima, Abramson je razmiljao kako da projekfuje mreu koja bi vrila komutaciju paketa preko radija. Mrea koju je projekfovao imala je jedan centralni raunar i vie sekundarnih vorova, razbacanih po Havajskim ostrvima. Mrea je imala dva kanala, od kojih je svaki koristio razliit frekventni opseg. Kanal za predaju nanie je difuzno predavao pakete iz centralnog raunara do sekundarnih vorova; kanal za predaju navie je slao pakete iz sekundarnih raunara u centralni raunar. Pored predaje informa-cionih paketa, centralni raunar je kanalom za predaju nanie lakoe slao i potvrdu za svaki paket koji je uspeno primio tz sekundarnih raunara. S obzirom na to da su sekundarni raunari slali pakete na decentralizovan nain, neizbeno je dolazilo do kolizija na kanalu za predaju navie. To posmatranje je dovelo Abramsona do izuma istog protokola ALOHA, kao to je opisano u ovom poglavlju. Godine 1970. uz trajnu podrku ARPA-e, Abramson je povezao svoju mreu ALOHAner so mreom ARPAnet. Abramsonov rad znaajan je ne samo zato io je to bio prvi primer radiomree sa komutacijom paketa, nego i zato to je nadahnuo Boba Metkalfa. Nekoliko godina poto ga je Abramson izmislio, Metkalf je modifikovao protokol ALOHA, i toko su nastali protokol CSMA/CD i LAN Ethernet.

CSMA - sluajan pristup sa prepoznavanjem nosioca U oba protokola ALOHA, u onom sa odsecima kao i u onom bez njih, odluka vora da predaje donosi se nezavisno od aktivnosti drugih vorova prikljuenih na difuzni kanal. Posebno, vor nikada ne obraa panju na to da li neki drugi vor predaje kad on poinje sa predajom, niti zaustavlja predaju ako drugi vor poinje da ga ometa svojom predajom. U naoj analogiji sa koktel prijemom, protokoli ALOHA su kao dosadan uesnik na prijemu koji nastavlja da brblja bez obzira na to da li drugi ljudi neto govore. Kao ljudi, mi imamo ljudske protokole koji nam omoguavaju ne samo da se ponaamo civilizovanije, nego i da smanjimo vreme koje provodimo ,,u kolizijama" meusobno u svojim razgovorima i, shodno tome, da poveamo vreme u kome stvarno razgovaramo. Posebno, postoje dva vana pravila za voenje uljudnog razgovora: Sluaj pre nego to progovori. Ako neki drugi govore, saekaj dok oni zavre. U mrenom svetu, to se zove prepoznavanje nosioca (carrier sensing) - vor slua kanal pre nego to predaje. Ako se okvir iz drugog vora trenutno prenosi

232

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.3

PROTOKOLI VIESTRUKOG PRISTUPA

441

po kanalu, vor onda eka (odstupa") sluajno vreme, a zatim opet slua kanal. Ako oseti da je kanal slobodan, vor poinje sa predajom okvira. U suprotnom, vor eka drugo sluajno vreme i zatim ponavlja ovaj proces. Ako neko pone da govori u isto vreme, prekini da govori. U mrenom svetu, to se zove otkrivanje kolizija (collision detection) - vor koji predaje istovremeno slua kanal. Ako otkrije da drugi vor predaje okvir koji ga ometa, on zaustavlja predaju i koristi neki protokol da odredi kada bi sledei put trebalo da pokua da predaje. Ova dva pravila ugraena su u familiju protokola CSMA (carrier sense multiple access, otkrivanje nosioca sa sluajnim pristupom) i CSMA/CD (CSMA sa otkrivanjem kolizija) [Kleinrock 1975b; Metcalfe 1976; Lam 1980; Rom 1990], Predloene su mnoge varijacije CSMA i CSMA/CD. italac moe da proita tri reference radi detaljnijih informacija o ovim protokolima. Mi emo u odeljku 5.5 detaljno prouiti emu CSMA/CD koja se koristi u Ethernetu. Ovde emo razmotriti najvanije i osnovne karakteristike protokola CSMA i CSMA/CD. Prvo pitanje koje bi se moglo postaviti o protokolu CSMA glasi: Ako svi vorovi izvravaju prepoznavanje nosioca, zato uopte dolazi do kolizija? Na kraju krajeva, vor e odustati od predaje kad god oseti da neki drugi vor predaje. Odgovor na to pitanje moe najbolje da se ilustruje upotrebom prostorno-vremenskih dijagrama [Molle 1987], Na slici 5.13 prikazanje prostorno-vremenski dijagram etiri vora (A, B, C, D) koji su prikljueni na linearnu difuznu magistralu. Horizontalna osa prikazuje poloaj svakog vora u prostoru. Vertikalna osa prikazuje vreme. U trenutku t0, vor B osea da je kanal slobodan, jer nijedan drugi vor trenutno ne predaje. Zato vor B poinje sa predajom, a njegovi bitovi se propagiraju u oba pravca po difuznom medijumu. Propagacija nanie bitova sa vora B na slici 5.13, sa porastom vremena pokazuje daje potrebno vreme vee od nule da bi zaista bilo propagacije bitova B (iako skoro brzinom svetlosti) du difuznog medijuma. U trenutku /, ( t l > tQ), vor D ima okvir za slanje. Mada vor B u trenutku /, predaje, bitovi koje predaje B jo nisu stigli do D, pa zato D osea kanal kao slobodan. U skladu sa protokolom CSMA, D zato poinje da predaje svoj okvir. Kratko vreme posle toga, predaja vora B poinje da ometa predaju D na poloaju D. Na slici 5.15 jasno se vidi da e kanjenje usled propagacije po kanalu od kraja do kraja difuznog kanala - vreme koje je potrebno da se signal prostire od jednog do drugog vora - imati odluujuu ulogu u odreivanju njegove performanse. to je kanjenje propagacije vee, to je vea verovatnoa da vor koji otkriva nosioca nee moi da oseti predaju koja je ve poela u drugom voru mree. Na slici 5.13, vorovi ne otkrivaju kolizije; i B i D nastavljaju da predaju svoje okvire u celini, ak iako se dogodila kolizija. Kada vor otkriva koliziju, on prekida prenos im otkrije koliziju. Na slici 5.14 prikazanje isti scenario kao na slici 5.13, izuzev to oba vora obustavljaju svoje prenose odmah posle otkrivanja kolizija. Jasno je da e dodavanje otkrivanja kolizija protokolu sa viestrukim pristupom poboljati performansu protokola time to se nee prenositi beskoristan (ometanjem okvirom drugog vora) oteen okvir u celini. Protokol Ethernet koji emo prouiti u odeljku 5.5 je CSMA protokol koji koristi otkrivanje kolizija.

442

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.3

PROTOKOLI VIESTRUKOG PRISTUPA

443

tokol sa prozivanjem zahteva da jedan od vorova bude oznaen kao glavni. Glavni vor proziva svaki od vorova na kruni nain. Preciznije, glavni vor prvo alje poruku voru 1, kojom mu kae da moe da predaje do nekog maksimalnog broja okvira. Kada vor 1 prenese nekoliko okvira, glavni vor saoptava voru 2 da sada on moe da prenese do nekog maksimalnog broja okvira. (Glavni vor moe da odredi kada je vor zavrio sa slanjem svojih okvira posmatrajui nedostatak signala na kanalu.) Postupak se nastavlja, tako to glavni vor proziva svaki od vorova na ciklian nain. Protokol sa prozivanjem odstranjuje kolizije i prazne odseke od kojih pate protokoli sa sluajnim pristupom. To omoguava mnogo veu efikasnost. Ali, on takoe ima i nekoliko nedostataka. Prvi nedostatak je to to protokol uvodi kanjenje prozivanja - vreme potrebno da se obavesti svaki vor da on moe da predaje. Ako je, na primer, samo jedan vor aktivan, onda e on prenositi brzinom manjom od R bitova u sekundi, zato to glavni vor mora da prozove svaki od neaktivnih vorova redom, svaki put kada je aktivni vor poslao svoj maksimalni broj okvira. Drugi nedostatak, koji je moda ozbiljniji, je to to ako glavni vor otkae, ceo kanal postaje neopera-tivan. Drugi protokol sa pristupom na koga je red" je protokol sa prosledivanjem etona (token passingprotocol). U tom protokolu ne postoji glavni vor. Mali okvir posebne namene koji se zove eton (token), razmenjuje se izmeu vorova po nekom fiksnom redu. Na primer, vor 1 bi mogao uvek da alje eton voru 2, vor 2 bi mogao uvek da alje eton voru 3, vor N bi mogao uvek da alje eton voru 1. Kada vor primi eton, on se na njemu zadrava samo ako ima okvira za slanje; u suprotnom, on odmah prosleuje eton sledeem voru. Prosledivanje etona je decentralizovano i ima veliku efikasnost. Ali ni ono nije bez problema. Na primer, otkaz jednog vora moe da uniti ceo kanal. Ili, ako vor sluajno propusti da oslobodi eton, tada moraju da se pozovu izvesni postupci obnavljanja, kako bi se eton vratio u cirkulaciju. Tokom godina, razvijeni su mnogi proizvodi za prosledivanje etona i svaki od njih je pokuavao da rei ovo i druga nezgodna pitanja; dva od tih protokola, FDD1 i IEEE 802.5, spomenuemo u sledeem odeljku.

5.3.4 Lokalne raunarske mree (LAN-ovi)


Protokoli sa viestrukim pristupom upotrebljavaju se zajedno sa mnogo razliitih vrsta difuznih kanala. Oni su se koristili za satelitske i beine kanale, iji vorovi su prenosili preko zajednikog spektra frekvencija. Oni se danas koriste u uzvodnom kanalu za kablovski pristup Internetu (proitajte odeljak 1,5), a iroko se upotrebljavaju u lokalnim raunarskim mreama (LAN-ovima). Setite se:da je LAN raunarska mrea koja je koncentrisana u geografskom podruju, kao to'je zgrada ili univerzitetsko naselje. Kada korisnik pristupa Internetu iz univerzitetskog ili korporativnog naselja, pristup je gotovo uvek putem LAN-a. U ovoj vrsti pristupa Internetu, korisnikov raunar je vor LAN-a, a LAN obezbeduje pristup Internetu preko rutera, kao stoje prikazano na slici 5.15. Brzina

5.3.3 Protokoli tipa na koga je red"


Setite se da su dve poeljne osobine protokola sa viestrukim pristupom da (1) kada je samo jedan vor aktivan, on ima propusnu mo od R bitova u sekundi i (2) kada je M vorova aktivno, onda svaki vor ima propusnu mo od skoro R/M bitova u sekundi. Protokoli ALOHA i CSMA imaju prvu osobinu, ali ne i drugu. To je moti-visalo istraivae da stvore drugu klasu protokola protokole tipa na koga je red" {laking-tumsprolocol.i). Kao kod protokola sa sluajnim pristupom, postoje na desetine protokola sa ovakvim pristupom i svaki od njih ima mnogo varijacija. Ovde emo objasniti dva od najvanijih protokola. Prvi je protokol sa prozivanjem. Pro-

444

POGLAVLJE 5

SLOJ VEZE PODATAKA l LOKALNE MREE RAUNARA

5.4

ADRESIRANJE SLOJA LINKA

234

prenosa R veine LAN-ova je veoma velika. ak i poetkom 80-ih godina, bili su uobiajeni LAN-ovi od 10 Mb/s. Danas su uobiajeni LAN-ovi od 100 Mb/s, a na raspolaganju su i LAN-ovi od 1 i 10 Gb/s. U 80-im i poetkom 90-ih godina, bile su popularne dve tehnologije LAN-ova. Prvu klasu inili su Ethernet LAN-ovi (takode poznati kao LAN-ovi 802.3 [Spur-geon 2002]), koji su zasnovani na sluajnom pristupu. Druga klasa tehnologija za LAN sastoji se od tehnologija prosleivanja etona, ukljuujui Token Ring (takoe poznat i kao IEEE 802.5) i FDDI (poznata takode kao interfejs optiki distribuiranih podataka [Jain 1994]). S obzirom na to da emo detaljnije istraiti tehnologije Ethernet u odeljku 5.5, ovde emo se usredsrediti na LAN-ove sa prosleivanjem etona. Nae objanjavanje tehnologija prosleivanja etona je namerno kratko, zato to su one postale relativno sporedan igra u sueljavanju sa neumornom konkurencijom Ethemeta. I pored toga, da bismo obezbedili primere tehnologije prosleivanja etona i da bismo svemu ovome dali izvesnu istorijsku perspektivu, korisno je da kaemo neku re i o tehnologiji Token Ring. U Token Ring LAN-u, N vorova LAN-a (raunari i ruteri) povezani su u prsten direktnim linkovima. Token ring topologija definie redosled prosleivanja etona. Kada vor dobije eton i poalje okvir, okvir se propagira kroz ceo prsten, stvarajui tako virtuelni difuzni kanal. Odredini vor ita okvir sa medijuma sloja linka dok okvir prolazi. vor koji alje okvir ima odgovornost da ukloni okvir sa prstena.

FDDI je projektovan za geografski vee LAN-ove, ukljuujui tu i takozvane gradske raunarske mree (metropolitan area nehvork, MAN). Za geografski velike mree (koje se prostiru na vie kilometara), ne bi bilo efikasno da se okvir propagira nazad otpremnom voru po prolasku kroz odredini vor. Kod kanala FDDI odredini vor uklanja okvir sa prstena. (Strogo govorei, FDDI nije pravi difuzni kanal, zato to svaki vor ne prima svaki poslati okvir.)

5.4 Adresiranje sloja linka


vorovi - odnosno, raunari i ruteri - imaju adrese sloja linka. To bi vas moglo iznenaditi, ako se setite iz poglavlja 4 da vorovi imaju i adrese mrenog sloja. Mogli biste se zapitati, zato jepotrebno da imamo adrese i u mrenom sloju i u sloju linka? Pored opisivanja sintakse i funkcije adresa sloja linka, u ovom odeljku se nadamo da emo vam objasniti zato su dva sloja adresa korisni i, u stvari, neophodni. Pored toga, u ovom odeljku emo objasniti dva vana pojma koji se odnose na adrese. Prvi je protokol razreavanja adresa (ARP), koji obezbeduje prevoenje IP adresa u adrese sloja linka. Drugi je protokol za dinamiko konfigurisanje glavnog raunara (DHCP). O usluzi DHCP govorili smo u poglavlju 4; ovde emo prime-niti nae znanje o adresama sloja linka da bi opisali kako se implementira usluga DHCP.

5.4.1 MAC adrese


U stvarnosti, nema vor (odnosno, raunar ili ruter) adresu sloja linka; umesto toga njegov adapter ima adresu sloja linka. To je ilustrovano na slici 5.16. Adresa sloja linka se drugaije zove LAN adresa, fizika adresa, ili MAC adresa (Media Access Control, kontrola pristupa medijumima). Kako je MAC adresa izgleda najpopularniji termin, mi emo se od sada na adrese sloja linka pozivati kao na MAC adrese. Za veinu LAN-ova (ukljuujui tu Ethernet i beine LAN-ove 802.11), MAC adresa je duine est bajtova, to daje 248 moguih MAC adresa. Kao to je prikazano na slici 5.16, uobiajeno je da se ove estobajtne adrese izraavaju u heksadecimalnoj notaciji, gde je svaki bajt izraen kao par heksadecimalnih brojeva. Znaajna injenica o MAC adresama je da su one stalne - kada se adapter proizvede, LAN adresa se upie u njegovu ROM memoriju. Zanimljiva osobina LAN adresa je da ne postoje dva adaptera koja imaju iste adrese. To bi moglo da izgleda iznenaujue, s obzirom na to da se adapteri proizvode u mnogo razliitih zemalja i kompanija. Kako su kompanije koje proizvode adaptere u Tajvanu sigurne da koriste adrese koje su razliite od onih koje koriste kompanije koje proizvode adaptere u Belgiji? Odgovor je da IEEE upravlja prostorom fizikih adresa. Posebno, kada kompanija eli da proizvodi adaptere, ona kupuje deo adresnog prostora od 224 adresa, za iznos nominalne lanarine. IEEE dodeljuje deo od 224 adresa, fiksirajui prva 24 bita fizike adrese i dozvoljavajui kompaniji da pravi jedinstvene kombinacije od poslednja 24 bita za svaki adapter.

235

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.4

ADRESIRANJE SLOJA LINKA

447

PRINCIPI U PRAKSI
NEZAVISNI SLOJEVI
Ima vie razloga zbog kojih vorovi imaju LAN adrese pored adresa mrenog sloja Prvo, LAN -ovi su projeklovoni za proizvoljne protokole mrenog sloja, a ne samo za IP i Internet. Ako bi adapteri trebalo da dobiju dodeljene IP adrese, a ne neutralne" MAC adrese, onda oni ne bi mogli iako da podravaju druge protokole mrenog sloja (na primer IPX ili DECnet). Drugo, ako bi adapteri trebalo da koriste adrese mrenog sloja umesto MAC adresa, adresa mrenog sloja bi trebalo da bude uskladitena u RAM memoriji adaptera i ponovo konfigurisana svaki put kado bi se adopter premestio (ili ukljuilo napajanje). Druga opcija bi bila da se ne koriste nikakve adrese u adapterima i da svaki adapter prosleuje podatke (po pravilu, IP datagram) svakog primljenog okvira voru kome pripada. Ovaj vor bi onda mogao da proveri da li mu odgovara adresa mrenog sloja. Problem sa ovom opcijom je u tome to bi vor bio prekidan svakim okvirom posla-tim u LAN-u, ukljuujui tu i okvire koji su namenjeni drugim vorovima na istom difuznom LAN-u. Sve u svemu, da bi slojevi bili iroko nezavisni gradivni blokovi u mrenoj arhitekturi, mnogi od njih treba do imaju sopstvenu adresnu emu. Sada moemo da vidimo tri razliite vrste adresa: imena vorova za aplikacijski sloj, IP adrese za mreni sloj i LAN adrese za sloj veze podataka.

MAC adresa adaptera ima linearnu strukturu (za razliku od hijerarhijske strukture) i ne menja se bez obzira na to gde se adapter nalazi. Prenosni raunar sa Ethernet karticom ima istu MAC adresu, bez obzira na to gde je raunar. PDA sa interfejsom 802.11 ima uvek istu MAC adresu, bez obzira gde je PDA. Setite se da, za razliku od toga, IP adresa ima hijerarhijsku strukturu (odnosno, deo za mreu i deo za raunar) i da IP adresa vora mora da se menja kada se raunar premeta. MAC adresa adaptera analogna je neijem broju socijalnog osiguranja, koji takode ima linearnu strukturu i ne menja se bez obzira na to gde ide njegov vlasnik. IP adresa je analogna neijoj potanskoj adresi koja je hijerarhijska i mora da se promeni kad god se ta osoba preseli. Kao to je nekog korisno da ima i potansku adresu ' i broj socijalnog osiguranja, tako je za vor korisno da ima i adresu mrenog sloja i MAC adresu. Kao to smo opisali na poetku ovog odeljka, kada adapter eli da poalje okvir nekom odredinom adapteru u okviru istog LAN-a, adapter poiljaoca umee MAC adresu adaptera odredita u okvir i onda alje okvir u LAN. Ako je LAN difuzan (kao to su 802.11 i mnogi Ethernet LAN-ovi), okvir primaju i obraduju svi drugi adapteri u LAN-u, Posebno, svaki adapter koji prima okvir proverie da vidi da li MAC adresa odredita odgovara njegovoj sopstvenoj MAC adresi. Ako postoji podudarnost, adapter izdvaja priloeni datagram i prosleuje ga protokolu navie, svom nadreenom voru. Ako nema podudarnosti, adapter odbacuje okvir, bez prosledivanja datagrama mrenom sloju. Dakle, samo e adapter u odredinom voru poslati signal prekida svom nadreenom procesoru u trenutku kada prima okvir.

Meutim, ponekad predajni adapter zaista eli da svi drugi adapteri u LAN-u prime i obrade okvir koji on alje. U tom sluaju, adapter umee specijalnu difuznu MAC adresu u polje adrese odredita okvira. Kod LAN-ova koji koriste estobajtne adrese (kao to su Ethernet i LAN-ovi sa prosledivanjem etona), difuzna adresa je niz od 48 susednih jedinica (odnosno, FF-FF-FF-FF-FF-FF u heksadecimainoj notaciji).

5.4.2 Protokol razreavanja adresa (ARP)


S obzirom na to da postoje i adrese mrenog sloja (na primer, Internet IP adrese) i adrese sloja linka (odnosno, MAC adrese), potrebno je da se izvri prevoenje izmeu njih. U sluaju Interneta, to je zadatak protokola za razreavanje adresa (address resolution protocol, ARP) [RFC 826]. Da biste razumeli potrebu za protokolom kao to je ARP, pogledajte mreu prikazanu na slici 5.17. U ovom jednostavnom primeru, svaki vor ima IP adresu, a svaki adapter vora MAC adresu. Kao i obino, IP adrese su prikazane u decimalnoj notaciji sa takom, a MAC adrese u heksadecimainoj notaciji. Sada pretpostavite da

448

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.4

ADRESIRANJE SLOJA LINKA

236

vor sa

IP

adresom 222.222.222.220 eli da poalje IP datagram voru 222.222.22-2.222. (Na

primer, odredini vor 222.222.222.222 moe da bude veb server, a predajni vor 222.222.222.220 je mogao da utvrdi IP adresu veb servera iz DNS-a). U ovom primeru, i izvorni i odredini vor su na istoj mrei (LAN), u adresnom smislu iz odeljka 4.4.3. Da bi poslao datagram, predajni vor mora da obezbedi svom ada-pteru ne samo

IP

datagram, nego i MAC adresu vora 222.222.222.222. Uz

dati IP datagram i MAC adresu, adapter predajnog vora e konstruisati okvir sloja veze podataka koji sadri MAC adresu prijemnog vora i poslae okvir u LAN. Vano pitanje koje se postavlja u ovom odeljku je kako predajni vor odreuje MAC adresu za odredini vor sa IP adresom 222.222.222.222? Kao to moete da pogodite, on koristi ARP. ARP modul u predajnom voru kao ulaz uzima bilo koju IP adresu na istom LAN-u i vraa odgovarajuu MAC adresu. U naem primeru, predajni vor 222.222,222.220 obezbeduje svom ARP modulu IP adresu 222.222.2-22.222, a ARP modul vraa odgovarajuu MAC adresu 49-BD-D2-C7-56-2A. Dakle, vidimo da ARP prevodi IP adresu u MAC adresu. To je dosta analogno DNS-u (razmatranom u odeljku 2.5), koji prevodi imena raunara u IP adrese. Meutim, znaajna razlika izmeu ova dva prevodioca je u tome to DNS prevodi imena raunara za raunare bilo gde na Internetu, dok ARP prevodi IP adrese samo za vorove u okviru istog LAN-a. Ako je vor u Kaliforniji pokuavao da upotrebi ARP kako bi preveo IP adresu vora u Misisipiju, ARP bi vratio greku. Sad kada smo objasnili ta radi ARP, hajde da pogledamo kako on to radi. Modul ARP u svakom voru ima tabelu u svojoj RAM memoriji koja se zove ARP tabela. Ova tabela sadri preslikavanja IP adresa u MAC adrese. Na slici 5.18 prikazano je kako bi mogla da izgleda ARP tabela u voru 222.222.222.220. Za svako preslikavanje adresa, tabela takoe sadri i stavku roka trajanja (time to live, TTL), koja pokazuje kada e adresa biti izbrisana iz tabele. Po pravilu, vreme isteka vanosti je 20 minuta od kada se stavka postavi u ARP tabelu. Sada pretpostavite da vor 222.222.222.220 eli da poalje datagram sa odredinom IP adresom drugog vora na istom LAN-u. Predajni vor treba da dobije MAC adresu vora odredita, na osnovu date IP adrese tog vora. Taj zadatak je jednostavan, ako ARP tabela predajnog vora ima stavku za vor odredita. Ali, ta ako ARP tabela trenutno nema stavku za vor odredita? Konkretno, pretpostavite da vor 222.222.222.220 eli da poalje datagram voru 222.222.222.222. U tom sluaju, predajni vor koristi protokol ARP da bi odredio adresu. Prvo, predajni vor konstruie specijalan paket koji se zove ARP paket. ARP paket ima nekoliko polja, ukljuujui tu i prijemne IP i MAC adrese. Paketi i za ARP upit i za odgovor imaju isti format. Namena ARP upitnog paketa je da se poalje upit svim drugim vorovima u LAN-u sa namerom da se odredi MAC adresa koja odgovara traenoj IP adresi. Ako se vratimo naem primera, vor 222.222.222.220 prosleduje ARP upitni paket adapteru, zajedno sa indikacijom da bi adapter trebalo da poalje paket na difu-znu LAN adresu, odnosno na FF-FF-FF-FF-FF-FR Adapter enkapsulira ARP paket u okvir sloja veze podataka, koristi difuznu adresu kao adresu odredita tog okvira i predaje okvir u LAN. Podsetivi se na nau analogiju sa brojem socijalnog osiguranja/potanskom adresom, zapazite daje ARP upit ekvivalentan osobi koja vie u prostoriji neke kompanije (na primer, AnvCorp) prepunoj boksova: Koji je broj socijalnog osiguranja osobe ija potanska adresa je boks 13, soba 112, AnvCorp, Palo Alto, CA?" Okvir koji sadri ARP upit primaju svi drugi adapteri u LAN-u, i (zbog difuzne adrese), svaki adapter prosleduje ARP paket unutar okvira navie do svog raunarskog vora. Svaki vor proverava da li njegova IP adresa odgovara IP adresi odredita u ARP paketu. Samo vor u kom postoji podudarnost vraa odzivni ARP paket voru koji je pitao. Upitni vor (222.222.222.220) onda moe da aurira svoju ARP tabelu i poalje svoj IP datagram.

237

POGLAVLJE 5

SLOJ VEZE PODATAKA 1 LOKALNE MREE RAUNARA

5.4

ADRESIRANJE SLOJA LINKA

451

Ima nekoliko zanimljivih stvari koje treba zapaziti u vezi sa ARP protokolom. Prvo, upitna ARP poruka se alje unutar difuznog okvira, dok se odzivna ARP poruka alje unutar standardnog okvira. Pre nego to nastavite sa itanjem, trebalo bi da razmislite zastoje to tako. Drugo, ARP je prikljui i radi" (plug and plav); to znai da se ARP tabela vora pravi automatski - ne treba da je konfigurie administrator sistema. A ako se, na kraju, vor iskljui iz LAN-a, njegova stavka se konano brie iz tabela vorova koji ostaju u podmrei. Slanje datagrama voru izvan LAN-a Sada bi trebalo da bude jasno da ARP funkcionie kada vor eli da poalje datagram drugom voru u istoj podrmrei. (Podmree su precizno definisane u odeljku 4.4.2). Ali, hajde da sada pogledamo sloeniju situaciju, kada vor u podmrei eli da poalje datagram mrenog sloja voru izvan podmree (odnosno, preko rutera u drugu podmreu). Hajde da govorimo o tom pitanju u kontekstu slike 5.19, gde je prikazana jednostavna mrea koja se sastoji od dve podmree, meusobno povezane pomou rutera. Ima nekoliko zanimljivih stvari koje treba zapaziti u vezi sa slikom 5.19. Prvo, postoje dve vrste vorova: raunari i ruteri. Svaki raunar ima tano jednu IP adresu i jedan adapter. Ali, kao to smo govorili u poglavlju 4, ruter ima IP adresu za svaki od svojih interfejsa. Svaki interfejs rutera takoe ima sopstveni ARP modul (u ruteru) i adapter. S obzirom na to da ruter na slici 5.19 ima dva intefejsa, on ima dve IP adrese, dva ARP modula i dva adaptera. Naravno, svaki adapter u mrei ima svoju sopstvenu MAC adresu. Takoe zapazite da podmrea 1 ima mrenu adresu 111.111.111/24, a da podmrea 2 ima mrenu adresu 222.222.222/24. Dakle, svi interfejsi prikljueni na podmreu 1 imaju adrese u obliku 111,111.111 ,xxx, a svi interfejsi prikljueni na podmreu 2 imaju oblik 222.222,222.xxx.

Hajde da sada ispitamo kako bi raunar na podmrei 1 poslao datagram raunaru na podmrei 2. Posebno, pretpostavite da raunar 111.111.111.111. eli da poalje IP datagram raunaru 222.222.222.222. Kao i obino, raunar poiljalac prosleuje datagram svom adapteru. Ali, raunar poiljalac mora takoe da ukae svom adapteru odgovarajuu MAC adresu odredita. Koju bi MAC adresu adapter trebalo da upotrebi? Mogli bismo da se usudimo da nagaamo kako je odgovarajua MAC adresa ona koju ima adapter za raunar 222.222.222.222, odnosno 49-BD-D2-C7-56-2A. Meutim, to nagaanje je pogreno. Ako bi predajni adapter upotrebio tu MAC adresu, nijedan od adaptera unutar podmree 1 ne bi prosledio IP datagram navie u svoj mreni sloj, zato to adresa odredita okvira ne bi odgovarala MAC adresi bilo kog adaptera u podmrei 1. Datagram bi samo preminuo i otiao u raj za datagrame'. Ako paljivo pogledamo sliku 5.19 vidimo da, kako bi datagram iz 111.111. 111. i 11 otiao u vor u podmrei 2, on mora prvo da se poalje interfejsu rutera 111.111.111.110. Dakle, odgovarajua MAC adresa za okvir je adresa adaptera za interfejs rutera 111.111.111.110, odnosno E6-E9-00-17-BB-4B. Kako vor poiljaoca dolazi do MAC adrese U 1.111.II 1.110? Naravno, koristei ARP! Jednom kada predajni adapter ima tu MAC adresu, on pravi okvir i alje ga u podmreu 1. Adapter rutera na podmrei 1 vidi daje okvir sloja linka podataka adresiran njemu i zato prosleuje okvir mrenom sloju rutera. Ura! IP datagram je uspeno prenet od izvornog raunara do rutera! AH, nismo zavrili. Jo uvek treba da prenesemo datagram od rutera do odredita. Ruter sada treba da odredi taan interfejs na koji treba da se prosledi datagram. Kao to smo objasnili u poglavlju 4, to se radi tako to se pogleda u tabelu prosledivanja u ruteru. Tabeia prosledivanja kae ruteru da datagram treba da se prosledi preko ruterovog interfejsa 222.222.222.220. Taj interfejs onda prosleuje datagram svom adapteru, koji ga enkapsulira u novi okvir i alje okvir u podmreu 2. Ovog puta, MAC adresa odredita je stvarno MAC adresa krajnjeg odredita. A kako ruter dobija tu MAC adresu odredita? Naravno, od ARP-a! ARP za Ethemetje definisan u RFC-u 826. Lep uvod u ARP dat je u uputstvu za TCP/IP, RFC 1180. Mi emo detaljnije ispitati ARP u problemima za domae zadatke.

5.4.3 Protokol za dinamiko konfigurisanje glavnog raunara


Kada smo u poglavlju 4 govorili o IP adresama, ukratko smo razmotrili uslugu koju prua DHCP, protokol koji se dosta koristi u korporativnim, univerzitetskim i kunim LAN-ovima za dinamiko dodeljivanje IP adresa raunarima. Poto smo uslugu opisali u poglavlju 4, sada emo upotrebiti nae novousvojeno znanje o MAC adresama da bismo opisali kako DHCP stvarno radi.

238

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.4

ADRESIRANJE SLOJA LINKA

453i

DHCP je protokol izmeu klijenta i servera. Klijent je obino novodoavi raunar koji eli da dobije informacije o konfiguraciji mree, ukljuujui i sopstvenu IP adresu. U najprostijem sluaju, svaka podmrea (u adresnom smislu opisanom u odeljku 4.4.2) e imati DHCP server. Ako nema servera u podmrei, potreban je agent za prenos DHCP (obino ruter) koji zna adresu DHCP servera za tu mreu. Na slici 5.20 prikazan je DHCP server prikljuen na podmreu 223.1.2/24, sa ruterom koji slui kao prenosni agent za dolazee klijente koji su prikljueni na podmree 223,1. L/24 i 223.1.3/24. Za novoprispeli raunar, protokol DHCP je proces u etiri koraka: Otkrivanje DHCP-a, Prvi zadatak novoprispelog raunara je da pronae DHCP server sa kojim treba da stupi u interakciju. To se radi upotrebom DHCP poruke za otkrivanje, koju klijent alje unutar UDP paketa na port 67. UDP paket se enkapsulira u IP datagramu. Ali, kome bi taj datagram trebalo da se poalje? Raunar ak ne zna ni IP adresu mree na koju je prikljuen, to je mnogo manje od DHCP servera za tu mreu. U takvim uslovima, DHCP klijent stvara IP datagram koji sadri njegovu DHCP poruku za otkrivanje, uz difuznu odre-

dinu IP adresu 255.255.255.255 i izvornu [P adresu ovog raunara" 0.0.0.0. DHCP klijent prosleduje IP datagram svom adapteru, koji enkapsulira datagram u okvir sloja linka. Taj okvir sloja linka obuhvata difuznu MAC adresu (FF-FF-FF-FF-FF-FF) u polju za adresu odredita. DHCP klijent onda alje u mreu difuzni okvir, koji sadri poruku za otkrivanje. Taj difuzni okvir e primiti svi adapteri u mrei. Ako je DHCP server prikljuen na istu podmreu, on e obraditi enkapsuliranu poruku za otkrivanje (pogledajte dalje u tekstu); ako je DHCP prenosni agent prikljuen na podmreu, on e proslediti okvir mrei sa DHCP serverom. (Taj preneseni okvir e imati razliitu izvornu MAC adresu.) Poruka za otkrivanje sadri ID transakcije koji dozvoljava sledeim odzivima da budu usklaeni sa zahtevom za otkrivanje. Ponuda (e) DHCP servera. DHCP server koji prima DHCP poruku za otkrivanje odgovara klijentu DHCP porukom za ponudu. Kako u mrei moe da bude prisutno vie DHCP servera, klijent moe da se nade u zavidnom poloaju daje u stanju da bira izmeu vie ponuda. Svaka poruka servera za ponudu sadri ID transakcije primljene poruke za otkrivanje, predloenu IP adresu za klijenta, mrenu masku i vreme zakupa IP adrese vreme za koje e IP adresa biti vaea. Uobiajeno je da server postavi vreme zakupa na vie sati ili dana (Droms 1999). Okvir sloja linka koji sadri IP datagram koji sadri UDP segment koji sadri DHCP poruku za ponudu se onda alje prispelom klijentu. (Ako vam se od ove ugneene enkapsulacije vrti u glavi, vratite se korak natrag i ponovo proitajte odeljak 1.7.) DHCP zahtev. Novoprispeli klijent e izabrati izmeu jedne ili vie ponuda servera i odgovorie na izabranu ponudu DHCP porukom za zahtev, vraajui nazad parametre konfiguracije. DHCP A CK. Server odgovara na DHCP poruku za zahtev porukom DHCP ACK, potvrujui zahtevane parametre. Jednom kada klijent primi DHCP ACK, interakcija je upotpunjena i klijent moe da koristi IP adresu dodeljenu od DHCP za dato vreme zakupa. Kako klijent moe poeleti da koristi svoju adresu i posle isteka zakupa, DHCP takoe obezbeduje mehanizam koji doputa klijentu da obnovi svoj zakup IP adrese. Jednostavna DHCP interakcija klijent-server prikazana je na slici 5.21, za postavku mree sa slike 5.20. Na toj slici, yiaddr (vaa Internet adresa") pokazuje adresu koja se dodeljuje novoprispelom klijentu. Vrednost DHCP plug-and-play mogunosti je jasna. Zamislite studenta koji prelazi iz uionice u spavau sobu sa prenosnim raunarom, pridruuje se novoj podmrei i tako dobija novu IP adresu na svakoj lokaciji. Nezamislivo je da bi administrator sistema morao da rekonfigurie prenosne raunare na svakoj lokaciji, a malo studenata (izuzev onih koji pohaaju nastavu iz raunarskog umreavanja!) bi imalo znanja da runo konfigurie svoje prenosne raunare. Meutim, sa aspekta pokretljivosti, DHCP zaista ima nedostatke. Kako se nova IP adresa dobija od DHCP

454

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.5

ETHERNET

239

5.5 Ethernet
Ethernet je u prilinoj meri preuzeo trite LAN-a. U 1980-im i poetkom 1990-ih godina, Ethernet se suoavao sa mnogobrojnim izazovima od strane drugih tehnologija LAN, ukljuujui tu Token Ring, FDDI i ATM. Neke od tih drugih tehnologija uspele su da zauzmu deo trita za nekoliko godina. Ali, od kada je pronaen sredinom 1970-ih godina, Ethernet je nastavio da se razvija i raste i zadrao je svoj veinski deo trita. Danas je Erthernet daleko preovlaujua tehnologija za LAN i verovatno e to ostati u doglednoj budunosti. Moglo bi se rei daje Erthernet za lokalno umreavanje raunara ono stoje Internet bio za globalno umreavanje. Ima mnogo razloga za Ethernetov uspeh. Prvo, Ethernet je bio prvi iroko pri-menjivani brzi LAN. S obzirom na to daje Ethernet odavno u upotrebi, administratori mrea su se blisko sa njim upoznali - sa njegovim udima i dosetkama - pa su nerado prelazili na druge LAN tehnologije kada bi one stupale na scenu. Drugo, Token'Ring, FFDI i ATM bili su sloeniji i skuplji od Etherneta, to je jo vie obeshrabrilo administratore mrea da uu u neke promene. Tree, najjai razlog za prelazak na drugu LAN tehnologiju (kao to su FFDI i ATM) obino je bila vea brzina nove tehnologije; meutim, Ethernet je uvek uzvraao udarac, proizvodei verzije koje su radile jednakom ili jo veom brzinom. Komutirani Ethernet je takoe predstavljen poetkom 1990-ih godina, sto je jo vie povealo njegovu efektivnu brzinu podataka. Najzad, zbog velike popularnosti Etherneta, njegov hardver (posebno adapteri, habovi i komutatori) je postao roba iroke potronje i izvanredno je jeftin. Originalni Ethernet LAN su pronali Bob Metkalf i David Bogs, sredinom 1970-ih godina. Na slici 5.22 prikazana je Metkalfova ema Etherneta.

svaki put kada se vor povee na novu podmreu, veza sa udaljenom aplikacijom ne moe da se odrava kada se pokretni vor kree izmeu podmrea. U poglavlju 6 emo ispitati pokretni IP nedavno proirenje IP infrastrukture koje dozvoljava pokretnom voru da koristi jednu stalnu adresu dok se kree izmeu podmrea. Dodatni detalji o DHCP mogu da se pronau u [Drooms 1999] i [dhc 2004]. Implementacija DHCP u izvornom kodu raspoloiva je na Internet Systems Consor-tium [ISC 2004],
Slika 5.22 Originalna Mefkalfova konstrukcija dovela je do standarda Ethernet 10Base5, koji je obuhvatao interfejsni kabl za povezivanje Ethernet adaptera sa spoljanjim primopredajnikom.

456

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.5

ETHERNET

240

Polje za podatke (46 do 1500 bajtova). Ovo polje nosi IP datagram. Maksimalna jedinica prenosa (MTU) Etherneta je 1500 bajtova. To znai da ako je IP datagram vei od 1500 bajtova, raunar mora da ga podeli, kao stoje objanjeno u odeljku 4.4.4. Minimalna veliina polja za podatke je 46 bajtova. To znai da ako je datagram manji od 46 bajtova, polje za podatke mora da bude popunjeno" do 46 bajtova. Kada se koristi popunjavanje, podaci koji se prosleuju mrenom sloju sadre i popunu i IP datagram. Mreni sloj koristi polje za duinu u zaglavlju IP datagrama, da bi uklonio popunu. Adresa odredita (6 bajtova). Ovo polje sadri LAN adresu adaptera odredita, u naem primeru BB-BB-BB-BB-BB-BB. Kada adapter B primi Ethernet okvir ija je adresa odredita BB-BB-BB-BB-BB-BB ili difuzna MAC adresa, on prosleduje sadraj polja za podatke okvira u mreni sloj; ako primi okvir sa bilo kojom drugom MAC adresom, on ga odbacuje. Na ovoj slici ete zapaziti daje originalni Ethernet LAN koristio magistralu za meusobno povezivanje vorova. Ta topologija magistrale se zadrala tokom 1980-ih i najveeg dela 1990-ih godina; posebno, tehnologija Ethernet 10Base2, koja je koristila tanki koaksijalni kabl za magistralu, bila je izuzetno popularna u 1990-im godinama. Meutim, izuzev retkih nasleenih, gotovo sve Etherenet instalacije danas koriste topologiju zvezde, kao to je prikazano na slici 5.23. U sreditu topologije zvezde je hab ili komutator. Uskoro emo detaljnije govoriti o habo-vima i komutatorima. Izvanredan izvor onlajn informacija o Ethernetu je Spurgeo-nova Ethernet veb stranica [Spurgeon 2004], Adresa izvora (6 bajtova). Ovo polje sadri LAN adresu adaptera koji predaje okviru LAN, u naem primeru AA-AA-AA-AA-AA-AA. Polje za tip (2 bajta). Polje tipa dozvoljava Ethernetu da multipleksira protokole mrenog sloja. Da bismo razumeli ovu zamisao, treba da imamo na umu da raunari pored IP-a mogu da koriste i druge protokole mrenog sloja. U stvari, dati raunar moe da podrava viestruke protokole mrenog sloja, koristei razliite protokole za razliite aplikacije. Iz tog razloga, kada Ethernet okvir stigne u adapter B, adapter B treba da zna kom protokolu mrenog sloja treba da prosledi (odnosno demultipleksira) sadraj polja za podatke. IP i drugi protokoli mrenog sloja (na primer, Novell IPX ili AppleTalk) imaju svaki svoj, standardizovani broj koji odreuje tip. Pored toga, ARP protokol (objanjen u prethodnom odeljku) ima sopstveni broj tipa. Zapazite daje polje tipa analogno polju protokola u datagramu mrenog sloja i poljima broja porta u segmentu transportnog sloja; svako od tih polja slui da spoji protokol jednog sloja sa slojem koji se nalazi iznad njega. Ciklika provera redundantnosti (CRC) (4 bajta). Kao stoje objanjeno u odeljku 5.2.3, svrha polja CRC je da dozvoli prijemnom adaptera, adaptera B, da otkrije da li je nastala bilo kakva greka u okviru, odnosno, da li su bitovi u okviru promenili vrednost. Uzroci greaka bitova obuhvataju slabljenje snage signala i elektromagnetne smetnje iz okoline koje prodiru u Erthemet kablove i interfejsne kartice. Greke se otkrivaju na sledei nain. Kada raunar A konstruie Ether-

5.5.1 Struktura Ethernetovog okvira


Ethernetov okvir je prikazan na slici 5.23. Jednom kad razumemo Ethernetov okvir, znademo ve mnogo o Ethernetu. Da bismo nau diskusiju o Ethemetovom okviru stavili u opipljiv kontekst, hajde da razmatramo slanje IP datagrama od jednog do drugog raunara, gde su oba raunara u istom Ethernet LAN-u (na primer, Ethernet LAN na slici 5.23). Mada je koristan teret naeg Ethernet okvira IP datagram, zapazimo, ipak, da Ethernet moe da prenosi i druge pakete mrenog sloja. Neka predajni adapter, adapter A, ima MAC adresu AA-AA-AA-AA-AA-AA, a prijemni adapter, adapter B, ima MAC adresu BB-BB-BB-BB-BB-BB. Predajni adapter enkapsulira IP datagram unutar Ethernetovog okvira i prosleduje okvir na fiziki sloj. Prijemni adapter prima okvir od fizikog sloja, izdvaja IP datagram i prosleduje ga mrenom sloju. U tom kontekstu, hajde da ispitamo est polja Ethernetovog okvira, kao stoje prikazano na slici 5.24;

241

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA 5.5 . ETHERNET 241

net okvir, on izraunava polje CRC, koje se dobija iz svih ostalih bitova unutar okvira, izuzev bitova preambule. Kada raunar B prima okvir, on primenjuje iste matematike operacije na okvir i proverava da li je rezultat jednak onome to se ve nalazi u polju CRC. Ta operacija se zove CRC provera. Ako CRC provera ne uspe (odnosno, rezultat izraunavanja nije jednak sadraju polja CRC), onda raunar B zna da postoji greka u okviru.

Preambula (8 bajtova). Ethernet okvir poinje osmobajtnim poljem preambule. Svaki od prvih
sedam bajtova preambule ima vrednost 10101010; poslednji bajt je 10101011. Prvih sedam bajtova preambule slue da probude" prijemne ada-ptere i da sinhronizuju njihove generatore takta sa generatorom takta poiljaoca. Zato bi generatori takta bili van sinhronizacije? Imajte na umu da adapter A namerava da prenosi okvir na 10 Mb/s, 100 Mb/s ili I Gb/s, zavisno od vrste Ethernet LAN-a. Meutim, zato to nita nije apsolutno savreno, adapter A nee prenositi okvir tanom ciljnom brzinom; uvek e biti izvesnog odstupanja od ciljne brzine, koje nije a priori poznato ostalim adapterima u LAN-u. Prijemni adapter moe da se sinhronizuje sa generatorom takta adaptera A vezujui se jednostavno na bitove u prvih sedam bajtova preambule. Poslednja dva bita osmog bajta preambule (prve dve susedne jedinice) obavetavaju adapter B da e uskoro da naie neka vana stvar". Kada raunar B detekluje dve susedne jedinice, on zna da su sledeih est bajtova adresa odredita. Adapter saoptava kada je naiao kraj okvira jednostavnom detekcijom odsustva signala. Ethernet koristi prenos u osnovnom opsegu; odnosno, adapter alje digitalni signal direktno u difuzni kanal. Kartica interfejsa ne premeta signal u drugi frekventni opseg, kao to se to radi u ADSL i sistemima kablovskih modema. Mnoge Ethernet tehnologije (na primer, lOBaseT) takoe koriste Manchester kodovanje, kao to je prikazano na slici 5.25. Kod Manchester kodovanja, svaki bit sadri prelaz; 1 ima prelaz odozgo na dole, dok 0 ima prelaz odozdo na gore. Razlog za Manchester kodovanje je to generatori takta u predajnom i prijemnom adapteru nisu savreno sinhronizovani. Ukljuivanjem prelaska u sredini svakog bita, prijemni raunar moe da sinhronizuje svoj generator takta prema onome u predajnom raunaru. Jednom kada se generator takta prijemnog adaptera sinhronizuje, prijemnik moe da iscrta svaki bit i utvrdi da li je o'n 1 ili 0. Manchester kodovanje je operacija fizikog sloja, a ne operacija sloja veze podataka; meutim, mi smo ga ukratko opisali ovde, zato to se ono koristi iskljuivo u Etherneru. BOB METKALF 1 ETHERNET Kao doktorant na Univerzitetu Harvard poetkom 1970-ih godina. Bob Melkolf je radio na ARPAnetu na MIT-u. Za vreme studija, on je takoe imao uvida u Abramsonov rod na ALOH1 i protokolima sa sluajnim pristupom. Polo je zavrio doktorsku disertaciju, ba pre poetka rada u Xeroxovom istraivakom cenSru u Palo Altu (Xerox PARC), poseSio je Ambramsona i njegove kolege sa Univerziteta u Havajima u toku tri meseco, gde je dobio uvid iz prve ruke u ALOHAnet. U Xerox PARC-u, na Metkalfa su ostavili utisak raunari Alto, koji su u mnogo emu bili prethodnici personalnih raunara iz 1980-ih godina. Metkalf je sagledao potrebu da umrei te raunare na jeftin nain, Tako je, naoruan svojim znanjem o ARPAnetu, ALOHAnetu i protokolima sa viestrukim prisluporn, Metkalf - zajedno sa kolegom Davidom Bogsom - pronaao Ethernet. Melkalfov i Bogsov Ethernet prvobitno je radio na 2,94 Mb/s i povezivao do 256 raunara, na udaljenosti do jedne milje. MelkaK i Bogs su uspeli da veino istraivaa u Xerox PARC-u komuniciraju preko svojih raunara Alto. Metkalf je zatim napravio savez izmeu Xeroxa, Digitala i Intela sa ciljem da uspostave Ethernet na standardu 10 Mb/s, koji je ratifikovala organizacija IEEE. Xerox nije pokazao mnogo zanimanja za komercijolizociju Elhernefa. Godine 1979, Metkalf je osnovao sopstvenu kompaniju, 3Com, koja je razvila i komercijalizovala mrenu tehnologiju, ukljuujui i tehnologiju Eihernet. Posebno, u 3Com su razvijene i dote na triie kartice Ethernet poetkom 1980-ih godina, za veoma popularne IBM-ove PC raunare, Metkalf je napustio 3Com 1990. godine, kada je imao 2000 ljudi i dobit od 400 miliona USD. Poetkom januara 2002. godine, 3Com zapoljava preko 8000 ljudi.

KRATAK OSVRT

Nepouzdana usluga bez konekcije


Sve Ethernet tehnologije obezbeuju mrenom sloju uslugu bez konekcije. To znai da, kada adapter A eli da'poalje datagram adapteru B, onda adapter A enkapsulira datagram u Ethernet okvir i poalje okvir u LAN, bez prethodne sinhronizacije" (potvrivanja spremnosti za prenos) sa adapterom B. Ova usluga bez konekcije slo-ja-2 analogna je usluzi datagrama IP sloja-3 i UDP usluzi sloja-4.

I-

460

POGLAVLJE 5

SLOJ VEZE PODATAKA i LOKALNE MREE RAUNARA

5.5

ETHERNET

242

Sve Ethernet tehnologije obezbeuju nepouzdanu uslugu mrenom sloju. Posebno, kada adapter B prima okvir od adaptera A, on proputa okvir kroz CRC proveru, ali ne alje potvrdu kada okvir proe kroz CRC proveru (niti alje negativnu potvrdu kada CRC provera ne uspe). Adapter A nema ni najmanju ideju da li je preneti okvir proao CRC proveru. Kada CRC provera okvira ne uspe, adapter B jednostavno odbaci okvir. Ovaj nedostatak pouzdanog transporta (na sloju veze podataka) ini Ethernet jednostavnim i jeftinim. Ali, to takode znai da niz datagrama prosleenih mrenom sloju moe da ima propuste. Ako ima propusta zbog odbaenih Ethernet okvira, da li propuste vidi i aplikacija u raunaru B? Kao to smo saznali u poglavlju 3, to zavisi samo od toga da li aplikacija koristi UDP ili TCP. Ako aplikacija koristi UDP, onda e ona u raunaru B zaista imati propuste u podacima. S druge strane, ako aplikacija koristi TCP, onda TCP u raunaru B nee potvrditi odbaene podatke, to e prouzrokovati da TCP u raunaru A ponovo zapone prenos nepotvrenog segmenta. Zapazite da kada TCP ponovo alje podatke, oni e dolaziti preko Ethernet adaptera u kome su biti odbaeni. Dakle, u tom smislu, Ethernet moe ponovo da prenosi podatke. Ali, trebalo bi da imamo na umu da Ethernet nije svestan da ponovo prenosi iste podatke. Ethernet misli da prima potpuno nov datagram sa potpuno novim podacima, ak iako taj datagram sadri podatke koji su najmanje jednom ve bili prenoeni.

Svaki adapter izvrava protokol CSMA/CD bez eksplicitne koordinacije sa drugim adapterima u Ethernetu. Unutar odreenog adaptera, protokol CSMA/CD radi na sledei nain: 1. Adapter dobija datagram mrenog sloja iz svog nadreenog vora, priprema Ethemet okvir i stavlja okvir u svoju privremenu memoriju, 2. Ako adapter oseti daje kanal slobodan (odnosno, da nema energije signala koji ulazi u adapter iz kanala u vremenu trajanja 96 bitova), on poinje da prenosi okvir. Ako adapter oseti daje kanal zauzet, on eka sve dok ne detektuje da nema signala (plus 96 vremena trajanja bita) i tada poinje da prenosi okvir. 3. Dok prenosi, adapter nadgleda da li su prisutni signali koji dolaze od drugih adaptera. Ako adapter prenese ceo okvir bez otkrivanja signala od drugih adaptera; on je zavrio sa okvirom. 4. Ako adapter otkrije signal od drugih adaptera tokom prenosa, on zaustavlja svoj prenos okvira i umesto njega alje 48-bitni signal zaguenja. 5. Posle prekida (odnosno slanja signala zastoja), adapter ulazi u fazu eksponen-cijalnog odstupanja. Posebno, kada prenosi dati okvir, posle n-te kolizije za taj okvir, adapter na sluajan nain bira vrednost za K iz {0, 1,2,..., 2 m A ) gde je m: = min (n,10). Adapter onda eka/T-512 vremenskih intervala trajanja jednog bita, a zatim se vraa na postupak 2. Nekoliko komentara o CSMA/CD-u. Svrha signala zastoja je da se osigura da ostali adapteri koji predaju postanu svesni kolizija. Hajde da pogledamo jedan primer. Pretpostavite da adapter A poinje da prenosi okvir i ba pre nego to signal iz A stigne do adaptera B, adapter B poinje da predaje. Tako e B predati samo nekoliko bitova pre nego to zaustavi svoj prenos. Tih nekoliko bitova e se zaista preneti do A, ali oni moda nemaju dovoljno energije da bi A otkrio koliziju. Da bi se obezbedilo da A otkrije koliziju (tako da bi takoe mogao da se zaustavi), B predaje 48-bitni signal zastoja. Razmotrite sada algoritam eksponencijalnog odstupanja. Prva stvar koju ovde treba zapaziti je daje trajanje bita (odnosno, vreme koje je potrebno da bi se preneo jedan bit) veoma kratko; kod Etherneta od 10 Mb/s, ono iznosi 0,1 mikrosekunde. Pretpostavite da adapter prvi put pokuava da prenese okvir i, dok prenosi, otkriva koliziju. Tada adapter bira K = 0 sa verovatnoom 0,5 i K = 1 sa verovatnoom 0,5. Ako adapter izabere K = 0, on odmah posle slanja signala zastoja prelazi na postupak 2. Ako adapter izabere K = 1, on eka 51,2 mikrosekunde posle slanja signala zastoja. Posle druge kolizije, i? se sa podjednakom verovatnoom bira iz (0, I, 2, 3}. Posle tri kolizije, K se sa podjednakom verovatnoom bira iz {0, 1,2, 3, 4,5, 6, 7}. Posle deset ili vie kolizija, K se sa podjednakom verovatnoom bira iz (0, 1,2, 1023}. Dakle, veliina skupa iz koga se bira hraste eksponencijalno sa brojem kolizija (do n = 10); to je razlog zato se Ethernetov algoritam odstupanja zove eksponencijalnim odstupanjem".

5.5.2 CSMA/CD: Ethernetov protokol sa viestrukim pristupom


Kada su vorovi meusobno povezani habom (za razliku od komutatora sloja veze podataka), Ethernet LAN je pravi difuzni LAN - odnosno, kada adapter predaje okvir, primaju ga svi adapteri u LAN-u. Imajui u vidu da Ethernet moe da koristi difuziju, potreban mu je protokol sa viestrukim pristupom. Setite se iz odeljka 5.3 da CSMA/CD radi sledee: 1. Adapter moe da pone da predaje u bilo kom trenutku; to znai, ne koriste se nikakvi vremenski odseci. 2. Adapter nikada ne predaje okvir kada oseti da neki drugi adapter predaje; to znai, on koristi prepoznavanje nosioca, 3. Pre nego to pokua sa ponovnim prenosom, adapter eka tokom nasuminog vremenskog perioda, koji je obino mali u poreenju sa trajanjem prenosa okvira. Ovi mehanizmi daju CSMA/CD u okruenju LAN-a mnogo bolju performansu od ALOHE sa odsecima. U stvari, ako je maksimalno kanjenje usled propagacije izmeu stanica veoma^malo, efikasnost CSMA/CD moe da se priblii vrednosti od 100 procenata. Ali, zapazite da gore navedeni drugi i trei mehanizam zahtevaju da svaki Ethernet adapter moe (1) da oseti kada neki drugi adapter predaje i (2) da otkrije koliziju dok sam prenosi svoje okvire, Ethernet adapteri izvravaju ove zadatke merei nivoe napona pre i posle prenosa.

243

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.5

ETHERNET

463

Ethernet standard namee ogranienja u rastojanju izmeu dva vora. Ova ogranienja obezbeuju da, ako adapter A izabere manju vrednost za K od svih drugih adaptera koji su obuhvaeni kolizijom, tada e on biti sposoban da poalje svoj okvir bez doivljavanja nove kolizije. Ovu osobinu emo detaljnije istraiti u problemima za domae zadatke. Zato se koristi eksponencijalno odstupanje? Zato da, na primer, ne izaberemo K iz {0, 1, 2, 3, 4, 5, 6, 7} posle svake kolizije? Razlog je u tome to, kada adapter doivi svoju prvu koliziju, on nema nikakvu ideju o tome koliko je adaptera obuhvaeno tom kolizijom. Ako postoji samo mali broj adaptera u koliziji, ima smisla birati K iz malog skupa malih vrednosti. S druge strane, ako je mnogo adaptera obuhvaeno kolizijom, ima smisla birati K iz veeg, ireg skupa vrednosti (zato?). A poveavanjem veliine skupa posle svake kolizije, adapter se na odgovarajui nain prilagoava tim razliitim scenarijima. Ovde takoe zapaamo da svaki put kada adapter priprema novi okvir za prenos, on izvrava algoritam CSMA/CD koji je gore objanjen. Adapter ne uzima u obzir nikakve kolizije koje su se mogle dogoditi u nedavnoj prolosti. Tako je mogue da adapter sa novim okvirom bude odmah u stanju da obavi uspean prenos, dok se vie drugih adaptera nalazi u stanju eksponencijalnog odstupanja.

5.5.3 Ethernet tehnologije


U 2004. godini, najee Ethernet tehnologije su 1 OBaseT i 1 OOBaseT, koje koriste upredene parice bakarnih provodnika u topologiji zvezde i imaju brzinu prenosa od 10 Mb/s i 100 Mb/s, respektivno. Ove Ethernet tehnologije su standardizovane od strane radnih grupa IEEE 802.3. To je razlog zato se na Ethernet LAN esto poziva kao na 802.3 LAN. Na slici 5.26 ilustrovane su tehnologije 10BaseT/l OOBaseT. Svaki adapter u svakom voru ima direktnu vezu od take do take sa habom. Ova veza se sastoji od dva para upredenih parica bakarnih provodnika, jedan za predaju a drugi za prijem. Na kraju veze je konektor RJ-45 koji lii na konektor RJ-11 za obine telefone. Ono ,,T" u lOBaseTi lOOBaseT znai upredena parica" (twisied~pair). 1 za lOBaseTi za lOOBaseT, maksimalna duina veze izmeu adaptera i haba je 100 metara; dakle, maksimalno rastojanje izmeu bilo koja dva vora iznosi 200 metara. Kao to emo objasniti u sledeem odeljku, to maksimalno rastojanje moe da se povea korienjem niza habova, mostova, komutatora i linkova na bazi optikih vlakana. Hab je ureaj fizikog sloja koji deluje na pojedinanim bitovima, a ne na okvirima. On ima dva ili vie interfejsa. Kada bit, koji predstavlja jedinicu ili nulu, stigne iz jednog interfejsa, hab prosto ponovo napravi bit, pojaa njegovu energiju i preda bit na sve druge interfejse. Vano je imati na umu da habovi ne primenjuju prepoznavanje nosioca niti bilo koji drugi deo CSMA/CD; hab ponavlja dolazni bit na svim odlaznim interfejsitna, ak i kad postoji energija signala na nekom od interfejsa. Zato to habovi predaju bitove, svaki adapter u Ethernetu 10/100BaseT moe da (1) oseti kanal kako bi odredio da li je slobodan i da (2) otkrije koliziju tokom prenosa.

Efikasnost Etherneta
Kada samo jedan vor ima okvir za slanje, on moe da vri prenos punom brzinom Ethernet tehnologije (10 Mb/s, 100 Mb/s ili 1 Gb/s). Meutim, ako mnogo vorova ima okvire za slanje, efektivna brzina prenosa kanala moe da bude mnogo manja. Efikasnost Etherneta definiemo kao dugoroni deo vremena u kome se okviri prenose po kanalu bez kolizija kada postoji veliki broj aktivnih vorova, gde svaki vor ima veliki broj okvira za slanje. Da bismo predstavili aproksimaciju efikasnosti Etherneta, neka tpns[ oznaava maksimalno vreme koje je potrebno energiji signala da se prenese izmeu dva adaptera. Neka je tlrons vreme za prenos Ethernet okvira maksimalne veliine (priblino 1,2 ms za Ethernet od 10 Mb/s). Izvoenje efikasnosti je izvan domena ove knjige (proitajte [Lam 1980] i [Bertsekas 1991]. Ovde jednostavno dajemo sledeu aproksimaciju: Efficiencv = --~--------1 + 5^/^

Iz ove formule vidimo da, kako se tprost pribliava vrednosti 0, efikasnost se pribliava vrednosti 1. Ovo odgovara naem intuitivnom zakljuku da ako je kanjenje propagacije nula, vorovi u koliziji e odmah odustati, bez uzaludnog troenja vremena na kanalu. Takoe^, ako 0Sta e veom ^ranj-P J a veliko, efikasnost se pribliava vrednosti 1. To je takoe intuitivno, zato to kada okvir zauzme kanal, on e ga drati veoma dugo vreme; dakle, kanal e raditi koristan posao u najveem delu vremena.

244

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.6

MEUSOBNE VEZE: HABOVI I KOMUTATORI

465J

Habovi takoe obezbeuju svojstva upravljanja mreom. Na primer, ako neki adapter radi neispravno i stalno alje Ethernet okvire (takozvani brbljivi adapter"), tada e mrea 10/100BaseT nastaviti da funkcionie, zato to e hab otkriti problem i interno iskljuiti adapter koji je neispravan. Uz ovo svojstvo, administrator mree ne mora da ustaje iz kreveta i vraa se natrag na posao da bi resio problem. Takoe, veina habova moe da prikuplja informacije i dostavlja ih raunaru koji je povezan direktno sa habom. Kao to se govori u poglavlju 9, ovaj raunar za nadzor obezbeduje grafiki interfejs koji prikazuje statistike podatke i grafikone, kao to su iskorienje propusnog opsega, uestanost kolizija, prosene veliine okvira itd. Administratori mree mogu da koriste ove informacije, ne samo da bi otkrivali i reavali probleme, nego i da bi planirali kako bi LAN trebalo da se razvija u budunosti. Mnogi dananji Ethernet adapteri su za 10/100 Mb/s. To znai da oni mogu da se koriste i za Ethernet lOBaseT i za Ethernet lOOBaseT. lOOBaseT obino koristi upreene parice kategorije 5 (visokokvalitetan par upredenih ica sa mnogo zavoja). Za razliku od I0Base2 i lOBaseT, lOOBaseT ne koristi Manchester kodovanje, nego umesto njega mnogo efikasnije kodovanje koje se zove 4B5B: svaka grupa od pet perioda generatora takta koristi se za slanje etiri bita da bi bilo dovoljno promena logikih nivoa, kako bi se obezbedila sinhronizacija generatora takta. Na ovom mestu ukratko pominjemo da obe Ethernet tehnologije, 10 Mb/s i ' 100 Mb/s, mogu da koriste linkove od optikih vlakana. Link od optikih vlakana esto se koristi da povee habove koji se nalaze u razliitim zgradama u okviru istog naselja. Optika vlakna su skupa, zbog cene njihovih konektora, ali imaju odlinu otpornost na umove. Standardi IEEE 802 dozvoljavaju da LAN ima vei geografski domet kada se optika vlakna koriste pri povezivanju vorova na okosnici. Gigabit Ethernet'i Ethernet 10 Gb/s Gigabit Ethernet je proirenje veoma uspenih standarda Ethernet 10 Mb/s i 100 Mb/s. Nudei brzinu podataka od 1000 Mb/s, Gigabit Ethernet odrava punu kompatibilnost sa ogromnom bazom instalirane opreme za Ethernet. Standard za Gigabit Ethernet, koji se zove IEEE 802.3z, radi sledee: Koristi standardni format Ethernet okvira (slika 5.24) i unazad je kompatibilan sa tehnologijama IOBaseT i lOOBaseT. To doputa laku integraciju Gigabit Ether-neta sa postojeom instaliranom bazom Ethernet opreme. Doputa linkove od take do take, kao i deljene difuzne kanale. Linkovi od take do take koriste komutatore (proitajte odeljak 5.6), dok difuzni kanali koriste habove, kao stoje ranije opisano za IOBaseT i lOOBaseT. U argonu Gigabit Etherneta, habovi se zovu distributeri sa privremenom memorijom".

Koristi CSMA/CD za deljene difuzne kanale. Da bi imao prihvatljivu efikasnost, maksimalno rastojanje izmeu vorova mora da bude strogo ogranieno. Doputa rad u punom dupleksu na 1000 Mb/s u oba pravca za kanale od take do take. Kao i IOBaseT i lOOBaseT, Gigabit Ethemet ima topologiju zvezde, sa habom ili komutatorom u centru. (Komutatori za Ethemet e biti objanjeni u odeljku 5.6.) Gigabit Ethernet esto slui kao okosnica za meusobno povezivanje vie Ethernet LAN-ova 10 Mb/s i 100 Mb/s. U poetku radei preko optikih vlakana, Gigabit Ethernet je sada u stanju da radi preko kablova UTP kategorije 5. Sa proizvodima koji su se pojavili 2001. godine, 10 Gigabit Ethernet dalje proiruje popularnu Ethernet tehnologiju. Pored toga, standard 10 Gigabit Ethernet, 802.3ae, proiruje Ethernet tehnologiju na linkove od take do take regionalnih raunarskih mrea (wide area network, WAN). Mnogo korisnih informacija i linkova o Gigabit i 10 Gigabit Ethernetu, moete nai na Spurgeonovoj veb lokaciji o Ethernetu [Spurgeon 2004].

5 .6 Meusobne veze: habovi i komutatori


Institucije - kompanije, univerziteti i visoke kole - obino se sastoje od mnogo odeljenja, gde svako odeljenje ima sopstveni Ethernet LAN i upravlja njime. Naravno, institucija eli da njena odeljenja meusobno povezu svoje odeljenjske LAN segmente, U ovom odeljku emo razmotriti tri razliita pristupa povezivanju LAN-ova: habove, mostove i komutatore. Danas je upotreba sva tri pristupa iroko rasprostranjena.

5 . 6 . 1 Habovi
Najjednostavniji nain da se meusobno povezu LAN-ovi jeste da se koriste habovi. Na slici 5.27 prikazana su tri akademska odeljenja na univerzitetu koja hoe da povezu svoje LAN-ove. Svako od tri odeljenja na slici ima Ethernet IOBaseT koji obezbeduje mreni pristup fakultetu, nastavnom osoblju i studentima odeljenja. Svaki raunar u odeljenju ima vezu od take do take sa odeljenjskim habom. etvrti hab, koji se zove hab okosnice, ima veze od take do take sa odeljenjskim liabovima, meusobno povezujui LAN-ove tri odeljenja. Konstrukcija prikazana na slici 5.27 je konstrukcija haba sa vie nivoa (multi-tier hub design), zato to su habovi rasporeeni u hijerarhiji. Mogu se takoe napraviti konstrukcije sa vie od dva nivoa - na primer, jedan nivo za odeljenja, jedan nivo za kole unutar univerziteta (na primer, inenjerska kola, poslovna kola itd.) i jedan nivo za najvii univerzitetski nivo.

245

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.6

MEUSOBNE VEZE: HABOVI I KOMUTATORI

245

odeljenja, svaki odeljenjski LAN imao je maksimalnu propusnu mo od 10 Mb/s, pa je maksimalna zdruena propusna mo tri LAN-a bila 30 Mb/s. Ali, jednom kada su tri LAN-a meusobno povezana pomou haba, svi raunari u tri odeljenja pripadaju istom domenu kolizija, a maksimalna zdruena propusna mo je smanjena na 10 Mb/s. Drugo ogranienje je to to, ako razliita odeljenja koriste razliite Ethernet tehnologije, moe biti nemogue da se meusobno povezu odeljenjski habovi sa habom okosnice. Na primer, ako neka odeljenja koriste lOBaseT, a ostala odeljenja lOOBaseT, onda je nemogue povezati sva odeljenja bez stavljanja okvira u privremenu memoriju u taki meusobnog povezivanja; kako su habovi u sutini repetitori i ne stavljaju okvire u privremenu memoriju, oni ne mogu da meusobno povezuju segmente LAN-a koji rade na razliitim brzinama. Tree ogranienje je to to svaka Ethernet tehnologija (10Base2, lOBaseT, lOOBaseT itd.) ima ogranienje maksimalnog dozvoljivog broja vorova u domenu kolizija, maksimalnog rastojanja izmeu dva raunara u domenu kolizija i maksimalnog dozvoljivog broja nivoa u LAN-u sa vie nivoa, kao i geografskog dometa LAN-a sa vie nivoa.

5 . 6 . 2 Komutatori sloja veze podataka


U konstrukciji sa vie nivoa, elu meusobno povezanu mreu zovemo LAN, a svaki od odeljenjskih delova LAN-a (odnosno, odeljenjski hab i raunare koji su sa njim povezani) zovemo segmentom LAN-a. Vano je zapaziti da svi segmenti LAN-a na slici 5.27 pripadaju istom domenu kolizije; znai, kad god dva i li vie vorova u segmentu LAN-a predaju u isto vreme, doi e do kolizija i svi vorovi koji predaju ui e u eksponencijalno odstupanje. Meusobno povezivanje odeljenjskih LAN-ova pomou haba okosnice ima mnogih prednosti. Prvo i pre svega, ono obezbeuje meuodeljenjsku komunikaciju izmeu raunara u razliitim odeljenjima. Drugo, ono poveava maksimalno rasto-janje izmeu bilo kog para vorova u LAN-u. Na primer, kod lOBaseT, maksimalno rastojanje izmeu vora i njegovog haba je 100 metara; dakle, u jednom segmentu LAN-a, maksimalno rastojanje izmeu bilo kog para vorova je 200 metara. Meusobnim povezivanjem habova, to maksimalno rastojanje moe da se povea, zato Sto rastojanje izmeu direktno povezanih habova moe takoe da bude 100 metara kada se koriste upredene parice (a i vie ako se koriste optika vlakna). Trea korist je to konstrukcija sa vie nizova obezbeuje izvestan stepen tolerancije pri moguem otkazu. Preciznije, ako bilo koji od odeljenjskih habova pone da radi neispravno, hab okosnice moe da otkrije problem i iskljui neispravan hab sa LAN-a; na taj nain, preostala odeljenja mogu da nastave sa radom i komuniciraju dok se neispravan odeljenjski hab ne popravi. Mada je hab okosnice koristan ureaj za meusobno povezivanje, on ima tri ozbiljna ogranienja koja oteavaju njegovu primenu. Prvo i moda najvanije, kada su odeljenjski LAN-ovi meusobno povezani pomou haba (ili repetitora), onda se nezavisni domeni kolizija odeljenja pretvaraju u jedan veliki, zajedniki domen kolizije. Istraimo to pitanje u kontekstu slike 5.27. Pre meusobnog povezivanja tri Za razliku od habova koji su ureaji fizikog nivoa, komutatori sloja veze podataka - zvani prosto komutatori - rade na Ethernet okvirima i zato su ureaji sloja-2. U stvari, kao potpuno osposobljeni komutatori paketa, oni prosleduju okvire koristei LAN adrese odredita. Kada okvir doe na interfejs komutatora, komutator ispituje adresu odredita sloja-2 okvira i pokuava da prosledi okvir na interfejs koji vodi ka odreditu. Na slici 5.28 prikazano je kako tri akademska odeljenja iz naeg prethodnog primera mogu da se povezu pomou komutatora. Tri broja do komutatora su brojevi komutatorskih interfejsa. Kada se odeljenja meusobno povezu pomou komutatora, kao na slici 5.28, opet celu meusobno povezanu mreu zovemo LAN i opet svaki od odeljenjskih delova mree zovemo segmentom LAN-a. Ali, za razliku od konstrukcije haba sa vie nivoa na slici 5.27, svaki segment LAN-a je sada izolovani domen kolizije. Komutatori mogu da prevazidu mnoge probleme koji postoje kod habova. Prvo, komutatori dozvoljavaju meuodeljenjsku komunikaciju, dok istovremeno odravaju izolovane domene kolizija za svako odeljenje. Drugo, komutatori mogu meusobno da povezuju razliite LAN tehnologije, ukljuujui tu Ethernet od 10 Mb/s, 100 Mb/s i Gtgabit Ethernet. Tree, kada se za meusobno povezivanje segmenata LAN-a koriste komutatori, nema ogranienja koliki LAN moe da bude; u teoriji, ako se koriste komutatori, mogue je izgraditi LAN koji se prostire preko cele zemaljske kugle. Dakle, kao to emo diskutovati na kraju ovog odeljka, komutatori rade u punom dupleksu i obezbeuju komutaciju preicom (cut-(hrough).

4.

POGLAVLJE 5

SLOJ VEZE PODATAKA 1 LOKALNE MREE RAUNARA

5.6

. MEUSOBNE VEZE: HABOVI I KOMUTATORI

469

Komutator

Na slici 5.29 prikazano je kako institucija sa vie odeljaka i vie kritinih servera moe da razmesti kombinaciju habova, komutatora i rutera. Na slici 5.29 svako od tri odeljenja ima svoj sopstveni Ethernet segment od 10 Mb/s, sa svojim sop-stvenim habom. Zato to svaki1 odeljenjski hab ima vezu sa komutatorom, celoku-pan meuodeljenjski saobraaj je ogranien na Etherment segment odeljenja. I veb i potanski serveri imaju namenski pristup komutatoru od 100 Mb/s. Najzad, ruter koji vodi na Internet, ima pristup komutatoru od 100 Mb/s. Zapazite da ovaj komutator ima najmanje tri interfejsa od 10 Mb/s i tri interfejsa od 100 Mb/s. sloja. Uskoro emo takoe videti da se tabela komutatora konstruie na razliit nain od tabela rutiranja. Da bismo razumeli kako rade filtriranje i prosleivanje komutatora, pretpostavimo da okvir sa adresom odredita DD-DD-DD-DD-DD-DD stie na komutator na interfejsu x. Komutator indeksira svoju tabelu sa MAC adresom

Prosleivanje i filtriranje komutatora

Filtriranje je sposobnost komutatora da odredi da li bi okvir trebalo da se prosledi nekom njegovom interfejsu, ili samo da se odbaci. Prosleivanje je sposobnost da se odrede interfejsi ka kojima bi okvir trebalo da se usmeri, a onda da se okvir i usmeri ka tim interfejsima. Filtriranje i prosleivanje komutatora se rade pomou tabele komutatora. Tabela komutatora sadri stavke za neke, ali ne
obavezno i za sve vorove u LAN-u. Stavka u tabeli komutatora sadri (1) MAC adresu vora, (2) interfejs komutatora koji vodi do vora i (3) vreme kadaje stavka za vor upisana u tabelu. Primer tabele komutatora za LAN sa slike 5.28 prikazan je na slici 5.30. Iako ovaj opis prosleivanja okvira moe da zvui slino objanjenju prosleivanja datagrama dalom u poglavlju 4, ubrzo emo videti da postoje znaajne razlike. Ovde zapaamo da su adrese koje koriste komutatori MAC adrese, a ne adrese mrenog

247

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.6

MEUSOBNE VEZE: HABOVI I KOMUTATORI

471

DD-DD-DD-DD-DD-DD i pronalazi svoj odgovarajui interfejs y za koji se zna da vodi do adrese odredita DD-DD-DD-DD-DD-DD. (Uskoro emo videti ta se deava ako adresa DD-DD-DD-DD-DD-DD nije u tabeli.) Ako je x jednako y, onda okvir dolazi iz segmenta LAN-a koji sadri adapter DD-DD-DD-DD-DD-DD. Nema potrebe da se okvir prosleduje na bilo koji drugi interfejs, komutator obavlja funkciju filtriranja odbacujui okvir. Ako x nije jednako y, onda okvir treba da se prosledi segmentu LAN-a prikljuenom na interfejs y. Komutator obavlja svoju funkciju prosleivanja stavljajui okviru izlaznu privremenu memoriju koja prethodi interfejsu y. Ova jednostavna pravila doputaju komutatoru da odri razdvojene domene kolizija za svaki od razliitih segmenata LAN-a koji su prikljueni na njegove interfejse. Pravila takoe dozvoljavaju da dva skupa vorova na razliitim segmentima LAN-a komuniciraju istovremeno, bez meusobnog ometanja. Hajde da proemo kroz ova pravila za mreu na slici 5.28 i njenu tabelu komutatora na slici 5.30. Pretpostavite da okvir sa adresom odredita 62-FE-F7-11-89-A3 stie u komutator sa interfejsa 1. Komutator ispituje svoju tabelu i vidi da je odredite na LAN segmentu povezanom sa interfejsom 1 (odnosno LAN-om Elektro ine-njerstva). To znai daje okvir ve bio difuzno poslat u segment LAN-a koji sadri odredite, Komutator zato filtrira (odnosno, odbacuje) okvir. Sada pretpostavite da okvir sa istom adresom odredita stie sa interfejsa 2. Komutator ponovo ispituje svoju tabelu i vidi daje odredite u pravcu interfejsa 1; on, dakle, prosleduje okvir na izlaznu privremenu memoriju koja prethodi interfejsu 1. Iz ovog primera trebalo bi da bude jasno da, dok je tabela komutatora potpuna i tana, komutator izoluje ode-ljenjske domene kolizija, dok istovremeno doputa odeljenjima da komuniciraju. Habovi u odnosu na komutatore Setite se da kada hab prosleduje okvir u link, on samo alje bitove na link, ne trudei se da oseti da li se na njemu trenutno odvija neki drugi prenos. Za razliku od toga, kada komutator eli da prosledi okvir na link, on pokree algoritam CSMA/CD koji je objanjen u odeljku 5.3. Posebno, komutator odustaje od prenosa ako oseti da je u toku prenos sa nekog drugog vora u segmentu LAN-a u koji on eli da poalje okvir; pored toga, komutator koristi eksponencijalno odstupanje kada jedan od njegovih prenosa za rezultat ima koliziju. Na taj nain, komutatori se u velikoj meri ponaaju kao adapteri vorova. Ali, govorei tehniki, oni nisu adapteri vorova, zato to ni komutator ni njegovi interfejsi nemaju MAC adrese. Setite se da adapter vora uvek umee svoju MAC adresu u adresu izvora svakog okvira koji prenosi. S druge strane, komutator ne menja izvornu adresu okvira. Znaajna karakteristika komutatora je da mogu da se upotrebe za kombinova-nje Ethernet segmenata koji koriste razliite Ethernet tehnologije. Na primer, ako

na slici 5.28 Elektro inenjerstvo ima Ethernet 10Base2, Raunarska tehnika Ethernet lOOBaseT, a Sistemsko inenjerstvo Ethernet IOBaseT, onda moe da se kupi komutator koji moe da povee ta tri LAN-a. Pomou komutatora Gigabit Ethernet, mogue je imati dodatnu vezu od 1 Gb/s sa ruterom, koji je sa svoje strane povezan sa irom univerzitetskom mreom. Kao to smo ranije pomenuh, ova osobina da se meusobno povezuju razliite brzine linkova nije raspoloiva kod habova. Takoe, kada se kao ureaji za meusobno povezivanje koriste komutatori, nema teorijskog ogranienja za geografski obim LAN-a. U teoriji, moemo da izgradimo LAN koji se prostire na celoj zemaljskoj kugli, meusobno povezujui habove u dugoj, linearnoj topologiji, gde je svaki par susednih habova meusobno povezan pomou komutatora. Kod ovakve konstrukcije, svaki hab ima sopstveni domen kolizije, a nema ogranienja koliko LAN moe da bude dugaak. Meutim, uskoro emo videti da nije poeljno graditi veoma velike mree koristei iskljuivo komutatore kao ureaje za meusobno povezivanje - velikim mreama su takoe potrebni ruteri. Samoobuavanje Komutator ima izvanrednu osobinu (posebno za ve prezaposlenog administratora mree) da se njegova tabela pravi automatski, dinamiki i autonomno - bez ikakve intervencije od strane administratora mree ili protokola konfiguracije. Drugim recima, komutatori se sami obuavaju. Ova sposobnost se ostvaruje na sledei nain: 1. Tabela komutatora je u poetku prazna. 2. Kada okvir stigne na jedan od interfejsa, a adresa odredita okvira nije u tabeli, komutator prosleduje kopije okvira u privremene memorije koje prethode svim drugim interfejsima. (Na svakom od ovih drugih interfejsa, okvir se prenosi u segment LAN-a koristei CSMA/CD). 3. Za svaki primljeni okvir, komutatoru svojoj tabeli skladiti ( 1 ) MAC adresu u polju za adresu izvora okvira, (2) interfejs sa koga je okvir stigao, (3) tekue vreme. Na taj nain, komutator zapisuje u svojoj tabeli segment LAN-a u kome se nalazi vor poiljalac. Ako svaki vor u LAN-u na kraju poalje okvir, onda e svaki vor na kraju biti zapisan u tabeli. 4. Kada vor stigne na jedan od interfejsa a adresa odredita okvira je u tabeli, onda komutator prosleduje okvir na odgovarajui interfejs. 5. Komutator brie adresu u tabeli ako se posle odreenog vremenskog perioda (vreme starenja, aging time) ne primi nijedan okvir sa tom adresom kao adresom izvora. Na taj nain, ako se PC zameni drugim PC-jem (sa razliitim adapterom), LAN adresa prvobitnog PC-ja e na kraju biti uklonjena iz tabele komutatora. Hajde da proemo kroz osobinu samoobuavanja za mreu na slici 5.28 i njenu odgovarajuu tabelu komutatora na slici 5.30. Pretpostavite da u vreme 9:39 okvir

POGLAVLJE 5

SLOJ VEZE PODATAKA l LOKALNE MREE RAUNARA

5.6

MEUSOBNE VEZE: HABOVI I KOMUTATORI

473

sa adresom izvora 01-12-23-34-45-56 stie sa interfejsa 2. Pretpostavite da la adresa nije u tabeli

komutatora. Tada komutator dodaje novu stavku u tabeli, kao to je prikazano na slici 5.31. Nastavljajui sa ovim istim primerom, pretpostavimo daje vreme zasta-revanja za ovaj komutator 60 minuta i da nijedan okvir sa izvornom adresom 62-FE-F7-] 1-89-A3 ne stie u komutator izmeu 9:32 i 10:32. Onda u trenutku 10:32 komutator brie tu adresu iz svoje tabele. Komutatori su plug-an-play ureaji zato to ne zahtevaju nikakvu intervenciju od strane administratora mree ili korisnika. Administrator mree koji eli da instalira komutator ne radi nita vie od prikljuivanja segmenata LAN-a na inter-fejse komutatora. Administrator mree ne treba da konfigurie tabele komutatora u vreme instalacije ili kada se raunar ukloni iz jednog od segmenata LAN-a. Namenski pristup i puni dupleks Komutator sa velikim brojem interfejsa omoguava direktne konekcije izmeu raunara i komutatora. Kada raunar ima direktnu konekciju sa komutatorom (a ne deljenu LAN konekciju), kae se da ima namenski pristup. Na slici 5.32, komutator omoguava namenski pristup za est raunara. Komutator i sa njim direktno povezani raunari rade u reimu punog dupleksa. Hajde da vidimo kako se to radi. Da bismo ovu diskusiju konkretizovali, pretpo-siavimo da svaka konekcija na slici 5.32 korislj dva paTa upredenih parica bakarnih provodnika (kao u lOBaseT i lOOBaseT), jedan par za predaju od raunara do komutatora, a drugi par za predaju od komutatora do raunara. Zbog namenskog pristupa, kada raunar A predaje okvir na svom uzvodnom paru provodnika, nema mogunosti da e okvir doi u koliziju sa predajom iz nekog drugog raunara ili iz komutatora. Slino tome, zato to komutatori "memoriu i prosleuju", komutator e predavati najvie jedan okvir istovremeno na bilo kome od nizvodnih parova provodnika. Dakle, sa direktnim uzvodnim i nizvodmm konekcijama, nisu potrebni ni detekcija kolizija ni prepoznavanje nosioca. U stvari, svaki link postaje link od take do take, ime se izbegava potreba za bilo kakvim protokolom za pristup medijumu! Dakle, onemoguavanje u svakom adapteru prepoznavanja nosioca, detekcije kolizija i vraanja predavanih podataka na ulaz prijemnika, stvara se kanal punog dupleksa izmeu svakog raunara i komutatora. Na primer, na slici 5.32, raunar A moe da poalje datoteku u A' dok B alje datoteku u B', a C alje datoteku u C\ Ako svaki raunar ima adaptersku karticu za 10 Mb/s, onda e ukupna propusna mo za vreme tri simultana prenosa datoteka biti 30 Mb/s. Ako A i A' imaju adaptere od 100 Mb/s, a preostali raunari imaju adaptere od 10 Mb/s, onda e ukupna propusna mo za vreme tri simultana prenosa datoteka biti 120 Mb/s. Komutacija preicom Pored velikog broja interfejsa, podrke za mnotvo vrsta fizikih medijuma, brzina prenosa i privlanih svojstava upravljanja mreama, proizvoai komutatora esto mame kupce izjavama da njihovi komutatori koriste komutaciju preicom (cut-through), a ne komutaciju paketa sa memorisanjem i prosledivanjem, koju koriste ruteri i komutatori sloja veze. Razlika izmeu memorisanja i prosledivanja i komutacije preicom je u nijansi. Da biste razumeli tu razliku, posmatrajte paket koji se prosleuje kroz komutaciju paketa (odnosno ruter ili komutator). Kao stoje objanjeno u odeljku 4.4, paket stie u komutator preko ulaznog porta, i naputa komutator preko izlaznog porta. Na izlaznom portu moe da bude ili da ne bude drugih paketa koji ekaju u izlaznoj privremenoj memoriji izlaznog porta. Kada ima paketa u izlaznoj privremenoj memoriji, nema apsolutno nikakve razlike izmeu komutacije sa memorisanjem i prosledivanjem i komutacije preicom. Dve tehnike komutacije razlikuju se samo kada je izlazna privremena memorija prazna.

249

POGLAVLJE 5

SLOJ VEZE PODATAKA l LOKALNE MREE RAUNARA

5.6

MEUSOBNE VEZE: HABOVI I KOMUTATORI

475

Setite se iz poglavlja 1 da, kada se paket prosleduje kroz komutator paketa sa memorisanjem i prosleivanjem, on se prvo prikupi i memorie u celosti, pre nego to komutator pone da ga predaje na izlaznom linku. U sluaju kada se izlazna privremena memorija isprazni pre nego to je ceo paket stigao u komutator, ovo prikupljanje stvara kanjenje memorisanja i prosleivanja u komutatoru - kanjenje koje doprinosi ukupnom kanjenju od jednog do drugog kraja (proitajte odeljak 1.6). Gornja granica tog kanjenja je L/R, gde je L duina paketa, a R brzina prenosa ulaznog linka. Zapazite da paketu preti kanjenje memorisanja i prosleivanja samo ako se izlazna privremena memorija isprazni pre nego to ceo paket stigne u komutator. Kod komutacije preicom, ako se privremena memorija isprazni pre nego to ceo paket stigne, komutator moe da pone da predaje prednji deo paketa dok njegov zadnji deo nastavlja da dolazi. Naravno, pre predaje paketa na izlazni link, mora prvo da stigne deo paketa koji sadri adresu odredita. (Ovo malo kanjenje je neizbeno za sve vrste komutacije, zato to komutator mora da odredi odgovarajui izlazni link.) Sve u svemu, sa komutacijom preicom paket ne mora da bude potpuno memorisan pre nego to se prosledi; umesto toga, paket se prosleduje kroz komutator kada je izlazni link slobodan. Ako je izlazni link mrea sa viestrukim pristupom koja se deli sa drugim raunarima (na primer, izlazni link se povezuje sa habom), onda komutator takoe mora da oseti da li je link slobodan pre nego to direktno prosledi" paket. Da bismo dobili izvestan uvid u razliku izmeu komutacije sa memorisanjem i prosleivanjem i komutacije preicom, hajde da se podsetimo na analogiju sa karavanom, koja je uvedena u odeljku 1.6. U toj analogiji, postoji autoput sa povremenim naplatnim kioscima, gde u svakom kiosku postoji po jedan slubenik. Na autoputu se nalazi karavan od deset vozila koja putuju zajedno, svako istom konstantnom brzinom. Vozila u karavanu su jedina vozila na autoputu. Svaki naplatni kiosk opsluuje vozila konstantnom brzinom, tako da kada vozila napuste naplatni kiosk, ona su na podjednakom meusobnom rastojanju. Kao i ranije, moemo da razmiljamo o karavanu kao daje paket, o svakom vozilu u karavanu kao daje bit, a o brzini naplatnog kioska kao o brzini prenosa linka. Sada razmotrite ta rade vozila iz karavana kada stignu do naplatnog kioska. Ako svako vozilo nastavlja direktno do naplatnog kioska sve do pristizanja, onda je naplatni kiosk-preicu. Ako, s druge strane, svako vozilo eka na ulasku dok sva ostala vozila karavana ne stignu, onda je naplatni kiosk sa memorisanjem i prosleivanjem. Jasno je da naplatni kiosk sa memorisanjem i prosleivanjem zadrava karavan vie od naplatnog kioska-preice. Komutator preicom moe da smanji kanjenje paketa od kraja do kraja, ali za koliko? Kao to smo ranije pomenuli, maksimalno kanjenje memorisanja i prosleivanja je L/R, gde je L veliina paketa, a R brzina ulaznog linka. Maksimalno kanjenje je priblino l,2-ms za Ethernet od 10 Mb/s i 0,12 ms za Ethernet od 100 Mb/s (odgovarajue za Ethernet paket maksimalne veliine). Dakle, komutator preicom smanjuje kanjenje za samo 0,12 do 1,2 ms, a do tog smanjenja dolazi samo kadaje izlazni link malo optereen. Koliko je znaajno to kanjenje? Verovatno ne mnogo u praktinim primenama.

Komutatori u odnosu na rutere Kao to smo nauili u poglavlju 4, ruteri su komutatori za memorisanje i prosleivanje paketa, koji svoj posao obavljaju koristei adrese mrenog sloja. Mada je komutator takode komutator za memorisanje i prosleivanje paketa, on se sutinski razlikuje od rutera u tome to prosleduje pakete koristei MAC adrese. Dok je ruter komutator paketa sloja-3, komutator komutira pakete na sloju-2. ak iako su komutatori i ruteri sutinski razliiti, administratori mree esto moraju da biraju koji od njih e da upotrebe kada instaliraju ureaj za meusobno povezivanje. Na primer, za mreu na slici 5.28, administrator mree bi mogao lako da upotrebi ruter umesto komutatora. Zaista, ruter bi takoe drao tri domena kolizija razdvojeno, dok bi dozvoljavao komunikaciju izmeu odeljenja. Imajui u vidu da su i komutatori i ruteri kandidati za ureaje meusobnog povezivanja, koji su razlozi za i protiv ova dva pristupa? Razmotrimo prvo razloge za i protiv u raspravi o primeni komutatora. Kao stoje ranije pomenuto, komutatori su plug-and-play, to je osobina koju cene svi prezaposleni administratori mree na svetu Komutatori takode imaju relativno velike brzine filtriranja i prosleivanja paketa - kao to je prikazano na slici 5.33, komutatori treba samo da obrade pakete navie ka sloju 2, dok ruteri moraju da obrauju okvire navie ka sloju 3. S druge strane, topologija komutirane mree je ograniena na obu-hvatno stablo. Takoe, velika komutirana mrea bi zahtevala velike ARP tabele u vorovima i generisala bi znaajan ARP saobraaj i obradu. Pored toga, komutatori ne nude nikakvu zatitu protiv difuznih oluja - ako jedan od raunara poludi i pone da predaje beskrajan niz difuznih Ethemet okvira, komutatori e prosleivati sve te okvire, to dovodi do pada itave mree. Razmotrimo sada razloge za i protiv u raspravi o primeni rutera. Zato stoje mreno adresiranje esto hijerarhijsko (a ne linearno kao MAC adresiranje), paketi obino ne krue kroz rutere. ak i kada mrea ima redundantne putanje. (Meutim, paketi mogu da krue kada su tabele rutera pogreno konfigurisane; ali, kao to smo nauili u poglavlju 4, IP koristi specijalno polje zaglavlja datagrama da ogranii kruenje.) Dakle, paketi nisu ogranieni na obuhvatno stablo i mogu da koriste najbolju putanju izmeu izvora i odredita. S obzirom na to da ruteri nemaju ogranienje obuhvatnog stabla, oni su dozvolili da se Internet izgradi sa bogatom topologijom koja ukljuuje, na primer, viestruke aktivne linkove izmeu Evrope i Severne Amerike. Drugo svojstvo rutera je da oni obezbeuju zatitu pomou mrene barijere od difuznih oluja sloja-2. Meutim, moda je najvei nedostatak rutera to nisu plug-and-play, pa oni i raunari koji su na njih prikljueni zahtevaju da se konfiguriu IP adrese. Takoe, ruteri esto imaju da obave obimniji posao po paketu od komutatora, zato to moraju da obraduju i pakete u sloju-3.

250

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.7

PPP: PROTOKOL OD TAKE TO TAKE

250

5.7 PPP: protokol od take to take


Najvei deo nae diskusije o protokolima veze podataka do sada je bio usredsreen na protokole za difuzne kanale. U ovom odeljku objasniemo protokol veze podataka za linkove od take do take - PPP, protokol od take do take {point-to-point protocol). S obzirom na to da je PPP uobiajen protokol koji se koristi za povezivanje kunih raunara i ISP-a, on je van svake sumnje jedan od danas najire prime-njivanih protokola veze podataka, Drugi znaajan protokol u dananjoj upotrebi je HDLC (high-level data link control); radi objanjenja HDLC-a, proitajte [Spragins 1991], Nae objanjenje jednostavnijeg protokola PPP e nam omoguiti da istraimo mnoge znaajne karakteristike protokola veze podataka od take do take. Kao to mu i samo ime govori, protokol od take do take (PPP) [RFC 1661; RFC 2153] je protokol sloja veze podataka koji radi nad linkom od take do take - linkom koji direktno povezuje dva vora, po jednog na svakom svom kraju. Link od take do take na kome radi PPP bi mogao da bude serijska telefonska linija (na primer, veze preko modema 56K), link SONET/SDH, veza X.25, ili ISDN vodova. Kao to je napomenuto, PPP je postao protokol koji se bira za povezivanje kunih korisnika sa njihovim posrednicima Internet usluga preko pozivne konekcije. Pre nego to zaronimo u detalje PPP-a, pouno je da ispitamo originalne zahteve koje je organizacija IETF postavila za konstrukciju protokola PPP [RFC 1547]: Stavljanje paketa u okvire. Poiljalac protokola PPP sloja veze podataka mora da bude sposoban da preuzme paket mrenog nivoa i enkapsulira ga u okvir PPP sloja veze podataka, takav da e primalac moi da identifikuje poetak i kraj i okvira veze podataka i paketa mrenog sloja unutar okvira. Transpareninost. Protokol PPP ne srne da postavi nikakva ogranienja na podatke koji se pojavljuju na paketu mrenog sloja (zaglavlja ili podatke). Tako, na primer, protokol PPP ne moe da zabrani upotrebu izvesnih kombinacija bitova u paketu mrenog sloja. Na ovo pitanje vratiemo se uskoro u naem objanjenju popunjavanja bajtova. Viestruki protokoli mrenog sloja. Protokol PPP mora da bude u stanju da istovremeno podri vie protokola mrenog sloja (na primer, IP i DECnet) koji rade na istom fizikom linku u isto vreme. Ba kao to se od IP protokola zahteva da multipleksira razliite protokole transportnog nivoa (na primer, TCP i UDP) na istoj vezi od jednog do drugog kraja, tako i PPP mora da bude u stanju da multipleksira razliite protokole mrenog sloja po jednoj vezi od take do take. Ovaj zahtev znai da e, kao minimum, PPP verovatno zahtevati polje tipa protokola" ili neki slian mehanizam, tako da prijemna strana PPP moe da demultipleksira primljeni okvir navie do odgovarajueg protokola mrenog sloja. Vie vrsta linkova. Pored sposobnosti istovremenog prenosa vie protokola vieg nivoa, PPP mora takoe da bude u stanju da radi na irokom skupu vrsta linkova, ukljuujui tu linkove koji su serijski (prenose jedan bit istovremeno u datom

Imajui u vidu da i komutatori i ruteri imaju svoje razloge za i protiv, kada bi jedna institucionalna mrea (na primer, mrea univerzitetskog naselja ili korporativna mrea) trebalo da koristi komutatore, a kada rutere? Po pravilu, male mree koje se sastoje od nekoliko stotina raunara, imaju nekoliko segmenata LAN-a. Komutatori su dovoljni za ove male mree, zato to oni lokalizuju saobraaj i poveavaju zdruenu propusnu mo bez zahtevanja bilo kakvog konfigurisanja IP adresa. Ali uobiajeno je da vee mree, koje se sastoje od hiljada raunara, ukljuuju rutere unutar mree (pored komutatora). Ruteri obezbeuju robustniju izolaciju saobraaja, kontroliu difuzne oluje i koriste inteligentnije" putanje izmeu raunara u mrei. U ovom odeljku nauili smo da habovi, komutatori i ruteri mogu da se koriste kao ureaji za meusobno povezivanje raunara i segmenata LAN-a. U tabeli 5.1 zbirno su date karakteristike svakog od ovih ureaja za meusobno povezivanje. Veb lokacija kompanije Cisco daje veliki broj poreenja razliitih tehnologija za meusobno povezivanje [Cisco Switches 2004],

478

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.7

PPP: PROTOKOL OD TAKE TO TAKE

251

pravcu) ili paralelni (prenose bitove paralelno), sinhroni (prenose signal generatora takta uz bitove podataka) ili asinhroni, male ili velike brzine, elektrini ili optiki. Otkrivanje greaka. PPP prijemnik mora da bude sposoban da otkrije greke u primljenom okviru. ivotnost konekcije. PPP mora da bude u stanju da otkrije otkaz na nivou linka (na primer, nesposobnost da se prenose podaci od predajne do prijemne strane lirika) i da signalizira tu pojavu mrenom sloju. Usaglaavanje adrese mrenog sloja. PPP mora da obezbedi mehanizam za komuniciranje mrenih slojeva (na primer, IP) da bi saznali ili konfigttrisali jedni drugima adrese mrenog sloja. Jednostavnost. Od PPP-a se zahtevalo da ispuni mnotvo dodatnih zahteva pored onih koje smo gore naveli. Prvi i najvaniji od svih bio je onaj za Jednostavnou". U RFC-u 1547 stoji da bi kljuna re za protokol od take do take trebalo da bude jednostavnost". Zaista teak zahtev, imajui u vidu sve druge zahteve koji su postavljeni za projektovanje PPP-a! Vie od 50 RFC-ova (zahteva za komentarima) definiu razliite aspekte ovog Jednostavnog" protokola! Iako moe da izgleda kako je mnogo zahteva postavljeno za projektovanje PPP-a, situacija bi stvarno mogla da bude jo mnogo tea! Projektni zahtevi za PPP takoe eksplicitno belee i funkcionalnosti koje nisu zahtevi za implementaciju u PPP-u: Ispravljanje greaka. Zahteva se da PPP otkrije, ali ne i da ispravi greke. Kontrola toka. Od prijemnika PPP oekuje se da moe da prima okvire punom brzinom fizikog sloja. Ako vii sloj ne moe da preuzima pakete tom punom brzinom, onda je na fizikom sloju da odbacuje pakete ili da prigui predajnik na viem nivou. Odnosno, umesto da PPP predajnik smanjuje sopstvenu brzinu prenosa, odgovornost protokola vieg nivoa je da usporava brzinu kojom se paketi isporuuju PPP-u za slanje. Sekvenciranje. Od PPP se ne zahteva da isporuuje okvire prijemniku linka u istom redosledu u kome ih je poslao predajnik linka. Zanimljivo je zapaziti da, dok je ta fleksibilnost u saglasnosti sa modelom IP usluga (koji dozvoljava IP paketima da se isporuuju od take do take u bilo kom redosledu), drugi protokoli mrenog sloja koji rade nad PPP-om 2aista zahtevaju isporuku paketa u redosledu. linkovi za vie stanica- PPP treba da radi samo na linkovima koji imaju jednog poiljaoca i jednog primaoca. Drugi protokoli slbja veze podataka (na primer, HDLC) mogu da prihvate vie primalaca na linku (scenarid slian Ethemetu). Polo smo razmotrili ciljeve (i one koji to nisu) projekta PPP, hajde da pogledamo kako on ispunjava te ciljeve.

5.7.1 Pravljenje podataka u PPP okvire


Na slici 5.34 prikazanje PPP okvir podataka koji je napravljen slino HDLC-u [RFC 1662J. Okvir PPP sadri sledea polja: Polje indikatora. Svaki PPP okvir poinje i zavrava se jednobajtnim poljem indikatora sa vrednou 01111110. Polje adrese. Jedina mogua vrednost za ovo polje je 11111111. Kontrolno polje. Jedina mogua vrednost za ovo polje je 00000011. S obzirom na to da i adresno i kontrolno polje trenutno mogu imati samo fiksne vrednosti, mogli bismo se zapitati zato su polja uopte i definisana. U specifikaciji PPP [RFC 1662] kae se da druge vrednosti mogu da se definiu kasnije", mada ih do danas niko nije definisao. Imajui u vidu da ta polja imaju fiksne vrednosti, PPP dozvoljava predajniku da prosto ne alje adresne i kontrolne bajtove, tedei tako dva bajta dodatnog optereenja u PPP okviru. Protokol. Polje za protokol saoptava PPP prijemniku protokol gornjeg sloja kome pripadaju primljeni enkapsulirani podaci (odnosno, sadraj informacionog polja PPP okvira). Po prijemu PPP okvira, PPP prijemnik e proveriti njegovu ispravnost i zatim proslediti enkapsulirane podatke odgovarajuem protokolu. RFC 1700 i RFC 3232 definiu 16-bitne kodove protokola koje koristi PPP. Nas zanima IP protokol (odnosno, podaci enkapsulirani u PPP okviru u vidu IP datagrama), koji ima heksadecimalnu vrednost 21; drugi protokoli mrenog sloja su npr. AppleTalk (29) i DECNet (27); PPP protokol kontrole linka (heksadecimalno C021) o kome detaljno govorimo u sledeem odeljku; i IP kontrolni protokol, IPCP (8021). Ovaj poslednji protokol PPP poziva kada se prvi put aktivira link, da bi konfigurisao vezu izmeu ureaja sposobnih za IP na svakom kraju linka (pogledajte dalje u tekstu). Informacije. Ovo polje sadri enkapsulirani paket (za PPP to su podaci) koji je poslao protokol gornjeg sloja (na primer, IP). Maksimalna podrazumevana duina polja za informacije je 1500 bajtova, mada to moe da se promeni kada se link prvi put konfigurie, kao stoje objanjeno dalje u tekstu. Kontrolni zbir. Polje za kontrolni zbir koristi se za otkrivanje greaka u prenesenom okviru. Ono koristi ili dvobajtni ili etvorobajtni standardni HDLC ciklini redundantni kod.

252

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.7

PPP: PROTOKOL OD TAKE TO TAKE

481

Popunjavanje bajtova Pre nego to zakljuimo nae izlaganje o pravljenju PPP okvira, razmotrimo problem koji se javlja kada neki protokol koristi odreeni ablon bitova u polju indikatora kako bi opisao poetak ili kraj okvira. Sta se deava ako se ablon indikatora i sam pojavljuje na nekom drugom mestu u paketu? Na primer, ta se dogaa ako se vrednost polja indikatora 01111110 pojavljuje u polju za informacije? Da li e prijemnik neispravno otkriti kraj PPP okvira? Jedan od naina da se rei ovaj problem bio bi da PPP zabrani protokolu gornjeg sloja da alje podatke koji sadre ablon bitova polja indikatora. Zahtev za transpa-rentnou PPP-a, o kome smo ranije diskutovali, odstranjuje ovu mogunost. Alternativno reenje, ono koje je preuzeto u PPP-u i mnogim drugim protokolima je da se koristi tehnika poznata kao popunjavanje bajtova. PPP definie specijalan kontrolni bajt, 01111101. Ako se sekvenca indikatora, 01111110 pojavljuje bilo gde u okviru, izuzev u polju indikatora, PPP stavlja ispred tog sluaja ablona indikatora kontrolni bajt. To znai da popunjava" (dodaje) kontrolni bajt u niz podataka koji se prenosi, pre 01111110, da bi ukazao da bajt 01111-110 koji sledi nije vrednost indikatora nego, u stvari, stvarni podatak. Prijemnik koji vidi 01111110 kome prethodi 01111101 e, naravno, ukloniti popunjen kontrolni bajt da bi rekonstruisao originalne podatke. Slino tome, ako se sam ablon kontrolnog iskonog bajta pojavi u stvarnim podacima, njemu takoe mora da prethodi popunjen kontrolni bajt. Na taj nain, kada prijemnik ugleda jedan kontrolni bajt u nizu podataka, on zna daje bajt bio popunjen u tom nizu. Par kontrolnih bajtova jedan do drugog Znai da se jedan od njih pojavljuje u originalnim podacima koji se alju. Na slici 5.35 ilustrovano je PPP popunjavanje bajtova. (U stvari, PPP takoe vri operaciju eksluzivno ILI na bajtu podataka sa heksadecimalnom vrednou 20, a kome je prethodio kontrolni bajt, stoje detalj koji emo radi jednostavnosti ovde preskoiti,)

5.7.2 PPP protokol kontrole linka (LCP) i protokoli kontrole mree


Do sada smo videli kako se PPP okviri alju preko linka od take do take. Ali, kako se inicijalizuje link kada se raunar ili ruter na jednom kraju PPP linka ukljue prvi put? Inicijalizacija, odravanje, izvetavanje o grekama i zatvaranje PPP linka obavlja se upotrebom PPP protokola za kontrolu linka (LCP) i familije PPP protokola za kontrolu mree. Pre nego to se bilo kakav podatak razmeni preko PPP linka, dva ravnopravna ureaja (po jedan na svakom kraju PPP linka) moraju prvo da obave prilino mnogo rada da bi konfigurisati link, na nain veoma slian onom na koji TCP poiljalac i primalac moraju da izvedu trostruku sinhronizaciju (proitajte odeljak 3.5) da bi podesili parametre TCP konekcije pre nego to pone prenos TCP segmenta podataka, Na slici 5.36 Hustrovan je dijagram stanja za protokol LCP za konfigurisanje, odravanje i zatvaranje PPP linka.

253

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.8

VIZUELIZACIJA LINKA: MREA KAO SLOJ VEZE

483

posredovanje). LCP opcije konfiguracije ukljuuju maksimalnu veliinu okvira za link, specifikaciju protokola za proveru autentinosti (ako postoji) koji treba da se koristi i opciju da se preskoi upotreba adresnih i kontrolnih polja u PPP okvirima. Jednom kadaje link uspostavljen, opcije linka dogovorene i provera autentinosti (ako je ima) izvrena, onda dve strane PPP linka meusobno razmenjuju pakete za kontrolu mree specifine za mreni sloj. Ako IP radi preko PPP linka, koristi se IP kontrolni protokol [RFC 1332] da bi se konfigurisali moduli IP protokola na svakom kraju PPP linka. Podaci IPCP se prenose unutar PPP okvira (ija je vrednost polja za protokol 8021), ba kao to se podaci LCP prenose u PPP okviru. IPCP doputa da dva IP modula razmenjuju ili konfiguriu svoje IP adrese i pregovaraju da li e njihovi IP datagrami biti, ili nee biti poslati u komprimovanom obliku. Slini protokoli za kontrolu mree definisani su i za druge protokole mrenog sloja, kao to su DECnet [RFC 1762] i AppleTalk [RFC 1378], Jednom kada se konfigurie mreni sloj, PPP moe da pone sa slanjem datagrama mrenog sloja - link je u otvorenom stanju i podaci poinju da teku preko PPP linka. LCP okvir sa zahtevom za eho i okvir sa eho odzivom mogu da se razmene izmeu dve krajnje take PPP-a da bi se proverilo stanje linka. PPP link ostaje konfigurisan za komunikaciju sve dok se ne poalje LCP paket sa zahtevom za zavretak. Ako se LCP okvir sa zahtevom za zavretak poalje sa jednog kraja PPP linka i na njega odgovori sa LCP okvirom za potvrdu zavretka, link ulazi u mrtvo stanje. Sve u svemu, PPP je protokol veze podataka pomou koga dve stanice nivoa linka razmenjuju PPP okvire koji sadre datagrame mrenog sloja. Osnovne komponente PPP-a su: Pravljenje okvira. Metoda za enkapsuliranje podataka u PPP okvir, koja identifikuje poetak i kraj okvira i otkriva greke u okviru. Protokol kontrole linka. Protokol za inicijalizovanje, odravanje i ukidanje PPP linka. Protokoli za kontrolu mree. Skup protokola, po jedan za svaki protokol gornjeg sloja mree, koja doputa modulima mrenog sloja da se sami konfiguriu pre nego to datagrami mrenog nivoa ponu da teku preko PPP linka.

5 .8 Vizuelizacija linka: mrea kao sloj veze


Imajui u vidu da se u ovom poglavlju bavimo protokolima sloja veze podataka i da se sada primiemo njegovom kraju, hajde da razmislimo koliko se razvilo nae razu-mevanje termina link. Poeli smo ovo poglavlje sagledavanjem linka kao fizikog provodnika koji povezuje dva raunara u komunikaciji, kao to je ilustrovano na slici 5.2. U prouavanju protokola sa viestrukim pristupom, videli smo da vie raunara moe da se povee pomou deljenog provodnika i da bi ica" koja ih povezuje mogla da bude radio spektar ili drugi medijumi. To nas je navelo da posmatramo

link apstraktnije, kao kanal, a ne kao provodnik. U naoj studiji Ethemet LAN-ova (slike 5.26 5.28), videli smo da bi medijumi za meusobno povezivanje mogli da budu dosta sloene komutacione strukture. Meutim, kroz ceo taj razvoj, sami raunari su zadravali predstavu daje medijum za meusobno povezivanje prosto kanal sloja veze podataka koji povezuje dva ili vie raunara. Videli smo, na primer, da Ethemet raunar moe da bude blaeno nesvestan da li je sa drugim raunarima u LAN-u povezan pomou kratkog segmenta LAN-a (slika 5.9), ili pomou geografski rairenog komutiranog LAN-a (slika 5.28). U odeljku 5.7 smo videli da se protokol PPP esto koristi za savremene komunikacije izmeu dva raunara. Ovde je link koji povezuje dva raunara u stvari telefonska mrea - logiki odvojena, globalna telekomunikaciona mrea sa svojim sopstvenim komutatorima, linkovima i skupovima protokola za prenos podataka i signalizaciju. Meutim, sa take gledita Intemetovog sloja veze podataka, na pozivnu konekciju preko telefonske mree se gleda kao na obinu icu". U tom smislu, Internet vizualizuje telefonsku mreu, videvi je kao tehnologiju sloja veze podataka koja obezbeduje povezivost sloja veze podataka izmeu dva raunara na Internetu. Setite se iz nae diskusije o prekrivajuim mreama u poglavlju 2, da jedna takva mrea slino vidi Internet kao sredstvo za obezbeivanje povezivosti izmeu vorova, traei prekrivanje na Internetu na isti nain kao to Internet prekriva telefonsku mreu. U ovom odeljku, razmotriemo asinhroni reim prenosa (asynchronous transfer mode, ATM) i mree sa vieprotokolnim komutiranjem na osnovu oznaka (Multi-protocol Label Switching, MPLS). Za razliku od telefonskih mrea sa komutacijom kola, i ATM i MPLS su sa komutacijom paketa, mree sa virtuelnim kolima na svoj nain. One imaju svoje sopstvene formate paketa i ponaanje prilikom prosleivanja. Dakle, sa pedagoke take gledita, diskusija o ATM-u i MPLS-u se dobro uklapa u sloj veze podataka. Meutim, sa take gledita Interneta, moemo da smatramo ATM i MPLS, kao i telefonsku mreu i komutirani Ethernet, kao tehnologije sloja veze podataka koje slue da povezuju IP ureaje. Iz tog razloga emo razmatrati i MPLS i ATM u naoj diskusiji o sloju veze podataka. Mree Frame Relay takode mogu da se upotrebe za meusobno povezivanje IP ureaja, ali one predstavljaju neto stariju (mada i dalje primenjivanu) tehnologiju, pa ih ovde neemo objanjavati; za detalje pogledajte vrlo itljivu knjigu [Goralski 1999]. Naa obrada ATM-a i MPLS-a e namemo biti kratka, jer bi o tim mreama mogla da se napie (i napisana je) itava knjiga. Ovde emo se uglavnom usredsrediti na to kako ove mree slue da meusobno povezu IP ureaje, iako emo se dublje upustiti i u tehnologije koje ine njihovu osnovu.

5.8.1 Asinhroni reim prenosa (ATM)


Standardi za asinhroni reim prenosa (ATM) prvi put su razvijeni sredinom 1980-ih godina, sa ciljem projektovanja jedne mrene tehnologije koja bi se upotrebljavala za prenos govora i videa u realnom vremenu, kao i teksta, slika i elek-

254

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.8

VIZUELIZACIJA LINKA: MREA KAO SLOJ VEZE

485

tronske pote. Dva komiteta za standarde, ATM Forum [ATM 2002] i International Telecommunications Union [ITU 2002], razvili su standarde za ATM.

Glavne karakteristike ATM-a


Kao stoje reeno u odeljku 4.1, ATM podrava vie modela usluga, ukljuujui usluge konstantne, promenljive, raspoloive i nespecifirane bitske brzine. ATM je mrena arhitektura za komutaciju paketa sa virtuelnim kolima (VC). Setite se da smo u izvesnoj meri razmatrali virtuelna kola u odeljku 4.2.1, Opta arhitektura ATM-a je organizovana u tri sloja, kao Stoje prikazano na slici 5.37. ATM adaptacioni sloj (AAL) priblino je analogan Internetovom transportnom sloju i prisutan je samo na ATM ureajima na granici ATM mree. Na predaj-noj strani, AAL prosleuje podatke iz aplikacije vieg nivoa ili protokola (kao to je IP, ako se ATM koristi za povezane IP ureaje). Na prijemnoj strani, on prosleuje podatke navie ka protokolu vieg nivoa ili aplikaciji. AAL-ovi su definisani za usluge konstantne bitske brzine i emulaciju kola (AAL1), za usluge promenljive bitske brzine kao stoje video promenljive bitske brzine (AAL2) i za usluge podataka kao stoje transport IP datagrama (AAL5). Meu uslugama koje izvrava AAL su otkrivanje greke i segmentacija/ponovo sastavljanje. Jedinica podataka kojom rukuje AAL generiki se zove AAL protokolna jedinica podataka {protocol data unit, PDU), i priblino je ekvivalentna UDP ili TCP segmentu. AAL PDU je prikazana na slici 5.38. PDU polja su relativno jasna. PAD obezbeduje daje PDU celobrojni umnoak od 48 bajtova, zato to e se PDU izdeliti na segmente tako da stane u 48-bajtne korisne terete ATM paketa (poznatih kao ATM elije). Duina polja identifikuje veliinu korisnog tereta PDU, tako da PAD moe da se ukloni kod prijemnika. Polje CRC Obezbeduje otkrivanje greke, koristei istu ciklinu proveru redundantnosti kao Ethernet. Polje za koristan teret moe da bude duine do 65535 bajtova.

Hajde da se spustimo sloj nie i da razmatramo ATM sloj, koji lei u srcu ATM arhitekture. ATM sloj definie strukturu ATM elije i znaenja polja unutar elije. ATM elija je vana za ATM mreu kao stoje to IP datagram za IP mreu. Prvih 5 bajtova elije ini ATM zaglavlje; preostalih 48 bajtova ine ATM koristan teret. Na slici 5.39 prikazana je struktura zaglavlja ATM elije. Polja u ATM eliji imaju sledee funkcije: Identifikator virtuelnog kanala (VCI), Pokazuje virtuelni kanal kome pripada elija. Kao i u veini mrenih tehnologija koje koriste virtuelna kola, elijin VCI se prenosi od linka do linka (proitajte odeljak 4.2.1). Vrsta korisnog tereta (PT). Pokazuje vrstu korisnog tereta koji sadri elija. Ima vie vrsta korisnog tereta podataka, vie vrsta korisnog tereta za odravanje i vrsta korisnog tereta slobodne elije. Polje PT takoe obuhvata bit koji slui da pokae na poslednju eliju u fragmentovanoj AAL PDU. Bit prioriteta gubitka elije (CLP). Tzvor moe da ga postavi da bi se napravila razlika izmeu saobraaja visokog i niskog prioriteta. Ako doe do zaguenja i ATM komutator mora da odbacuje elije, on moe da upotrebi taj bit kako bi prvo odbacio saobraaj niskog prioriteta. Bajt za kontrolu greke zaglavlja (HEC). Bitovi za otkrivanje greaka koji tite zaglavlje elije.

486

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.8

VIZUELIZACIJA LINKA: MREA KAO SLOJ VEZE

255

Pre nego to izvor moe da pone sa slanjem elija odreditu, ATM mrea mora da uspostavi virtuelni kanal (VC) od izvora do odredita. Virtuelni kanal nije nita vie od virtuelnog kola, opisanog u odeljku 4.2.1. Svaki VC je putanja koja se sastoji od niza linkova izmeu izvora i odredita. Identifikator virtuelnog kanala (VCI) se pridruuje svakom linku na VC-u. Kad god se VC uspostavi ili ukine, moraju da se auriraju VC tabele (proitajte odeljak 4.3.1). Ako se koriste trajni VC-ovi, nema potrebe za njihovim dinamikim uspostavljanjem i ukidanjem. Kada se trai dinamiko uspostavljanje i ukidanje VC-ova, protokol Q.2931 [Black 1997, ITU-T Q.2-931 ] obezbeduje potrebnu signalizaciju izmeu ATM komutatora i krajnjih sistema. ATM fiziki sloj je na samom dnu familije ATM protokola i bavi se naponima, tajmirigom bitova i pravljenje okvira na fizikom medijumu. Dobar deo fizikog sloja zavisi od fizikih karakteristika linka. Postoje dve iroke klase fizikih slojeva: oni koji imaju strukturu okvira prenosa (na primer, TI, T3, SONET ili SDH) i oni koji je nemaju. Ako fiziki sloj ima strukturu okvira, on je onda odgovoran za generisanje i izdvajanje okvira. Termin okviri u ovom odeljku ne treba da se pomea sa okvirima sloja veze podataka (odnosno, Etherneta), koji se koriste u prethodnim odeljcima ovog poglavlja. Okvir prenosa je mehanizam fizikog sloja slian TDM-u, za organizovanje bitova koji se alju preko linka. Neki mogui fiziki slojevi ukljuuju: SONET/SDH (sinhrona optika mrea/ sinhrona digitalna hijerarhija) po mono-modnom optikom vlaknu. Kao TI i T3, SONET i SDH imaju strukturu okvira kpja uspostavlja sinkronizaciju bitova izmeu predajnika i prijemnika na dva kraja linka. Ima vie standardizovanih brzina, ukljuujui: OC-3: 51,84 Mb/s OC-3: 155,52 Mb/s OC-12: 622,08 Mb/s OC-48: 2,5 Gb/s T1/T3 okviri preko optikog vlakna, mikrotalasa i bakarnih provodnika. Zasnovani na elijama, bez okvira. U ovom sluaju, generator takta prijemnika se izvodi iz predajnog signala. IP preko ATM-a Hajde sada da razmotrimo kako ATM mrea moe da se upotrebi da bi obezbedila veza izmeu IP ureaja. Na slici 5.40 prikazana je ATM okosnica sa etiri ulazne/ izlazne take za Internet IP saobraaj. Zapazite daje svaka ulazna/izlazna taka ruter. ATM okosnica moe da se prostire preko celog kontinenta i moe da ima desetine ili ak stotine ATM komutatora. Veina ATM okosnica ima postojani virtuelni kanal (VC) izmeu svakog para ulaznih/izlaznih taaka. Upotrebom postojanih VC-ova, ATM elije se rutiraju od ulazne do izlazne take a da pri tom VC-ovi ne moraju da se dinamiki uspostavljaju i ukidaju. Meutim, postojani VC-ovi su izvodljivi samo

kada je broj ulaznih/izlaznih taaka relativno mali. Za n ulaznih taaka, potrebno je n(n - I) postojanih VC-ova da direktno povezu ulaznih/izlaznih taaka. Interfejsu svakog rutera koji se povezuje sa ATM mreom bie potrebne dve adrese, na dosta slian nain kao to su IP raunaru potrebne dve adrese za Ethernet interfejs: IP adresa i MAC adresa. Slino tome, ATM interfejs e imati IP adresu i MAC adresu. Razmotrite sada IP datagram koji treba da se prenese preko ATM mree na slici 5.40. U najprostijem sluaju, ATM mrea izgleda kao jedan logiki link - ATM meusobno povezuje ta etiri rutera ba kao to Ethernet moe da se upotrebi da povee etiri rutera. Hajde da ruter u kome datagram ulazi u ATM mreu zovemo ulazni ruter", a ruter sa koga datagram naputa mreu zovemo izlazni ruter". Ulazni ruter radi sledee: 1. Ispituje adresu odredita datagrama. 2. Indeksira svoju tabelu rutirania i odreuje IP adresu izlaznog rutera (odnosno, sledeeg rutera na putanji datagTama). 3. Da bi doveo datagram na izlazni ruter, ulazni ruter vidi ATM samo kao jedan protokol loja veze podataka. Da bi se datagram preneo na sledei ruter, mora da se odredi fizika adresa ruicra u sledeem skoku. Setite se iz nae rasprave u odeljku 5.4.2, da se to radi upotrebom ARP-a. U sluaju ATM interfejsa, ulazni

i -

256

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.8

VIZUELIZACIJA LINKA: MREA KAO SLOJ VEZE

489

ruter indeksira ATM ARP tabelu sa IP adresom izlaznog rutera i odreuje ATM adresu izlaznog rutera. Protokol ATMARP je opisan u [RFC 2225]. 4. IP u ulaznom ruteru onda prosleduje nanie datagram sloju veze podataka (odnosno ATM-u) zajedno sa ATM adresom izlaznog rutera. Kada se zavre ova etiri postupka, posao prenosa datagrama u izlazni ruter je van kontrole IP-a i prelazi u ruke ATM-a. ATM sada mora da prenese datagram na adresu ATM odredita, dobijenu u gore pomenutom postupku 3. Ovaj zadatak ima dva podzadatka:
1. Odreivanje VCI-ja za VC koji vodi do adrese ATM odredita. 2. Deljenje datagrama na elije na predajnoj strani VC-a (odnosno, u ulaznom ruteru) i ponovno sastavljanje elija u prvobitni datagram na prijemnoj strani VC-a (odnosno, u izlaznom ruteru).

elnim kolima, nego da se ona pojaa selektivno oznaavajui datagrame i dozvoljavajui ruterima da, kadaje to mogue, prosleuju datagrame na osnovu oznaka fiksne duine (a ne na osnovu IP adresa odredita). Vano je da ove tehnike idu ruku po ruku sa IP-om, koristei IP adresiranje i rutiranje. IETF je ujedinio te napore u protokolu MPLS [RFC 3031, RFC 3032], efikasno spajajui VC tehnike u mrei rutiranih datagrama. Hajde da ponemo nae prouavanje MPLS-a razmatranjem formata okvira sloja veze podataka sa kojim radi ruter osposobljen za MPLS. Na slici 5.41 pokazuje se da okvir sloja veze podataka koji se prenosi na PPP linku ili LAN-u (kao to je Ethernet) ima malo MPLS zaglavlje, dodato izmeu zaglavlja sloja-2 (na primer, PPP ili Ethernet) i zaglavlja sloja-3 (na primer, IP). RFC 3032 definie format MPLS zaglavlja za takve linkove; zaglavlja se definiu za ATM i Frame Relay mree, kao i u drugim RFC-ovima. Meu poljima MPLS zaglavlja su oznaka (koja slui kao identifikator virtuelnog kola, koga smo sreli ranije u odeljku 4.2.1), 3 bita rezervisana za eksperimentalnu upotrebu, jedan S bit, koji se koristi da ukae na kraj serije naslaganih" MPLS zaglavlja (naprednija tema, koju ovde neemo objanjavati) i polje sa ivotnim vremenom. Sa slike 5.41 se odmah vidi da okvir koji je ojaan pomou MPLS-a moe da sc alje samo izmeu rutera koji su oba osposobljeni za MPLS (zato to bi ruter koji nije osposobljen za MPLS bio sasvim zbunjen kada bi pronaao MPLS zaglavlje tamo gde je oekivao da nae IP zaglavlje!). Ruter osposobljen za MPLS se esto zove ruter komutiran pomou oznake, zato to prosleduje MPLS okvir traei MPLS oznaku u svojoj tabeli prosleivanja i odmah prosleujui datagram na odgovarajui izlazni interfejs. Dakle, ruter osposobljen za MPLS ne izdvaja adresu odredita i trai podudarnost najdueg prefiksa u tabeli prosleivanja. Ali kako ruter zna da li je njegov sused zaista osposobljen za MPLS i koju oznaku da pridrui datom IP odreditu? Da bismo odgovorili na ova pitanja, bie potrebno da bacimo pogled na interakciju unutar grupe rutera osposobljenih za MPLS. U primeru na slici 5.42, ruteri Rl do R4 su osposobljeni za MPLS. R5 i R6 su standardni IP ruteri. Rl je najavio R2 i R3 da on (Rl) moe da rutira ka odreditu A i da e primljeni okvir sa MPLS oznakom 6 biti prosleen odreditu A. Ruter R3 je

Prvi od navedenih podzadataka je jasan. Interfejs na predajnoj strani odrava tabelu koja preslikava ATM adrese u VCI-ove. S obzirom na to da smo pretpostavili da su VC-ovi postojani, ova tabela je aurna i statina. (Ako VC-ovi ne bi bili postojani, onda bi bio potreban ATM stgnalni protokol Q,2931 da dinamiki uspostavlja i ukida VC-ove.) Drugi podzadatak zasluuje paljivije razmatranje. Jedan pristup je da se koristi IP fragmentacija, kao to je objanjeno u odeljku 4.4.- Kod IP fragmentacije, predajni ruter bi prvo izdelio prvobitni datagram na fragmente, gde nijedan fragment ne bi bio vei od 48 bajtova, tako da bi mogao da stane u koristan teret ATM elije. Ali, taj pristup fragmentacije ima veliki problem - svaki IP fragment po pravilu ima 20 bajtova zaglavlja, tako da bi ATM elija koja ga prenosi imala 25 bajtova ,jalovog optereenja" i samo 28 bajtova korisnih informacija. ATM zato koristi AAL5 da bi obezbedio efikasniji nain za deljenje i ponovno sastavljanje datagrama. ATM mrea zatim prenosi svaku eliju kroz mreu do adrese ATM odredita. U svakom ATM komutatoru izmeu ATM izvora i odredita, ATM eliju obrauju ATM fiziki sloj i ATM sloj, ali ne i AAL sloj. U svakom komutatoru VCI se obino prevodi (proitajte odeljak 4.2.1) i ponovo se izraunava HEC. Kada elije stignu na adresu ATM odredita, one se usmeravaju u privremenu memoriju AAL koja je rezervisana za odreeni VC. AAL5 PDU se rekonstruie i IP datagram se izdvaja i prosleduje navie protokolu IP sloja.

5.8.2 Vieprotokolna komutacija na osnovu oznaka (MPLS)


Vieprotokolna komutacija na osnovu oznaka (MPLS) se razvila iz brojnih industrijskih napora, od sredine da kraja 1990-ih godina, da se pobolja brzina prosleivanja IP rutera usvajanjem kljunog koncepta iz sveta mrea sa virtuelnim kolima: oznake fiksne duine. Cilj nije bio da se napusti infrastruktura prosleivanja IP datagrama na osnovu odredita radi one koja je zasnovana na oznakama fiksne duine i virtu-

257

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

5.9

REZIME

491

putanje do A. Ako bi prosledivanje bilo izvreno do IP sloja na osnovu IP adrese, IP protokoli za rutiranje koje smo prouili u poglavlju 4 bi odredili samo jednu, najjeftiniju putanju do A. Dakle, MPLS obezbeduje sposobnost da se paketi prosleduju putanjama koje ne bi bile mogue korienjem standardnih IP protokola za rutiranje. To je jednostavan oblik inenjerstva saobraaja upotrebom MPLS [RFC 3346, Xiao 2000], u kome operator mree moe da stavi van snage normalno IP rutiranje i da prisili deo saobraaja usmeren ka datom odreditu da ide jednom putanjom, a drugi deo saobraaja usmeren ka istom odreditu da ide drugom putanjom (zbog politike, performanse ili iz nekog drugog razloga). Mogue je, takoe, upotrebiti MMPLS za mnoge druge namene. Na primer, da se izvede brzo obnavljanje MPLS putanja za prosledivanje, odnosno da se ponovo rutira saobraaj preko preraunate putanje kao odziv na otkaz linka [Kar 2000, Huang 2002, RFC 3469]. MPLS takoe moe da se upotrebi za implementaciju okvira za diferenciranu uslugu, koju emo prouiti u poglavlju 7. Najzad, napominjemo da MPLS moe da se upotrebi, i ve je bio upotrebljen, za implementaciju takozvanih virtuelnih privatnih mrea (virtvalprivate neworks, VPN). U implementaciji VPN za kupca, ISP koristi svoju mreu osposobljenu za MPLS, da bi meusobno povezao kupeve razliite mree. MPLS moe da se upotrebi da bi izolovao i resurse i adresiranje koje koristi kupeva VPN od drugih korisnika koji prolaze kroz ISP-ovu mreu; za detalje proitajte [DeClercq 2002]. Naa rasprava o MPLS je namerno bila kratka i mi vam preporuujemo da pogledate reference koje smo spomenuli. Napominjemo da uz toliko mnogo moguih upotreba MPLS, izgleda da ona brzo postaje vajcarski perorez" inenjerstva saobraaja na Internetu! najavio ruteru R4 da on moe da rutira ka odreditima A i D i da e dolazei okviri sa MPLS oznakama 10 i 12 respektivno biti komutirani ka tim odreditima. Ruter R2 je takoe najavio ruteru R4 da on (R2) moe da dostigne odredite A i da primljeni okvir sa MPLS oznakom 8 moe da se komutira ka A. Zapazite daje ruter R4 sada u zanimljivom poloaju, zato to ima dve MPLS putanje da stigne do odredita A preko interfejsa 0 sa izlaznom MPLS oznakom 10 i preko interfejsa 1 sa MPLS oznakom 8. Na slici 5.42 je prikazano da su IP R4, R5, A i D meusobno povezani preko MPLS infrastrukture (ruteri osposobljeni za MPLS Rl, R2, R3 i R4) na dosta slian nain kako komutirani LAN ili ATM mrea mogu da povezu IP ureaje. I kao komutirani LAN ili ATM mrea, ruteri osposobljeni za MPLS Rl do R4 to rade a da nikada i ne dotaknu IP zaglavlje paketa. U naoj diskusiji nismo navodili specifian protokol koji se koristi za raspodelu oznaka izmeu rutera osposobljenih za MPLS, zato to su detalji te signalizacije izvan domena ove knjige. Meutim, napominjemo da je radna grupa IETF za MPLS odredila u RFC 3468 da e proirenje protokola RSVP (koji emo prouiti u poglavlju 7), poznato kao RSVP-TE [RFC 3209] biti ia njenih napora za MPLS signalizaciju. Zato zainteresovanpm itaocu preporuujemo da proita RFC 3209. Do sada je naglasak u naoj raspravi o MPLS bio na injenici da MPLS i2vodi komutaciju zasnovanu na oznakama, bez potrebe da razmatra IP adresu paketa. Prava prednost MPLS i razlog trenutnog interesa za MPLS nije, meutim, u potencijalnim poveanjima brzina komutacije, nego pre u novim sposobnostima za upravljanje saobraajem koje daje MPLS. Kao Stoje gore napomenuto, R4 ima dve MPLS

5 .9 Rezime
U ovom poglavlju, ispitali smo sloj veze podataka - njegove usluge, principe na kojima se zasniva rad i izvestan broj znaajnih protokola koji te principe koriste u implementiranju usluga veze podataka. Videli smo daje osnovna usluga sloja veze podataka da prenosi datagram mrenog sloja od jednog vora (rutera ili raunara) do susednog vora. Takoe, videli smo da svi protokoli veze podataka rade pomou enkapsuliranja datagrama mrenog sloja u okvir sloja veze podataka pre prenoenja okvira preko linka" do susednog vora. Meutim, izvan ove zajednike funkcije pravljenja okvira, nauili smo da razliiti protokoli sloja veze podataka obezbeuju veoma razliite usluge pristupa linku, isporuke (pouzdanost, otkrivanje/ispravljanje greaka), kontrole toka i prenosa (na primer, puni dupleks ili poludupleks). Te razlike su delom posledica razliitih vrsta linkova preko kojih protokoli sloja veze podataka moraju da rade. Jednostavan link od take do take ima jednog poiljaoca i jednog primaoca koji komuniciraju preko jedne ice". Link sa viestrukim pristupom se deli izmeu vie poiljalaca i

492

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

DOMAI ZADATAK: PROBLEMI I PITANJA

493

primalaca; zbog toga, protokol veze podataka za kanal sa viestrukim pristupom ima protokol za usklaivanje pristupa linku. U sluajevima ATM, X.25 i Frame Relay, videli smo da link" koji povezuje dva susedna vora (na primer, dva IP rutera koji su susedni u smislu IP-a - da su IP ruteri sledeeg skoka ka nekom odreditu) mogu u stvari da budu mrea u i po samoj sebi. U izvesnom smislu, ideja da se mrea posmatra kao link" ne bi trebalo da izgleda udno. Na primer, telefonski link" koji povezuje kuni modenVraunar sa udaljenim modemom/ruterom, u stvari je putanja kroz usavrenu i sloenu telefonsku mreu. Izmeu principa na kojima se zasniva komunikacija veze podataka, ispitali smo tehnike otkrivanja i ispravljanja greaka, protokole sa viestrukim pristupom, adresiranje veze podataka i konstrukciju proirenih lokalnih raunarskih mrea preko habova i komutatora. U sluaju otkrivanja/ispravljanja greaka, ispitali smo kako je mogue dodati bitove zaglavlju okvira da bi se otkrile i, u nekim sluajevima, ispravile greke koje bi mogle da se dogode kada se okvir prenosi preko linka. Objasnili smo jednostavne eme parnosti i kontrolnog zbira, kao i robustniju ciklinu proveru redundantnosti. Onda smo preli na temu protokola sa viestrukim pristupom. Identifikovali smo i prostudirali tri iroka naina za usklaivanje pristupa difuznom kanalu: pristupe deljenja kanala (TDM, FDM, CDMA), metode sluajnog pristupa (protokoli ALOHA i CSMA) i metode sa pristupom po redu (prozivanje i prosleivanje etona). Videli smo'da je posledica toga to vie vorova deli jedan difuzni kanal potreba da se obezbede adrese vorova na nivou veze podataka. Nauili smo da su fizike adrese sasvim drugaije od adresa mrenog sloja i da se, u sluaju Interneta, koristi specijalni protokol (ARP - protokol za prevoenje adresa) da bi izvrio prevoenje izmeu ta dva oblika adresiranja. Onda smo ispitali kako vorovi koji dele difuzni kanal formiraju lokalnu mreu raunara (LAN) i kako vie LAN-ova mogu da se povezu da bi formirali vee LAN-ove, sve to bez primene tehnika rutiranja radi meusobnog povezivanja tih lokalnih vorova. Takoe smo detaljno objasnili izvestan broj specifinih protokola sloja veze podataka Ethemet i PPP. Zavrili smo nae prouavanje sloja veze podataka usred-sreujui se na to kako ATM i MPLS mree obezbeuju usluge sloja veze podataka kada povezuju IP rutere. Poto smo objasnili sloj veze podataka, nae putovanje niz familiju protokola je sada zavreno\ Svakako, fiziki sloj lei ispod sloja veze podataka, ali detalje o fizikom sloju moda je najbolje ostaviti za neki drugi kurs (na primer, u teoriji komunikacija, pre nego u raunarskom umreavanju). Meutim, ipak smo dotakli nekoliko aspekata fizikog sloja u ovom poglavlju (na primer, u naoj kratkoj raspravi o Manchester kodovanju u odeljku 5.5) i U poglavlju 1 (naa rasprava o fizikim medtjumima u odeljku l .4). Razmatraemo opet fiziki sloj kada se budemo baviti karakteristikama beinih veza u sledeem poglavlju. Iako je putovanje kroz protokole zavreno, naa studija o raunarskom umreavanju ipak nije dola do kraja. U sledea etiri poglavlja objasniemo beino umreavanje, multimedijalno umreavanje, bezbednost mree i upravljanje mreom. Te etiri teme se ne uklapaju pogodno ni u jedan sloj; zaista, svaka tema preseca vie

p| Domai zadatak: problemi i pitanja Poglavlje 5


Kontrolna pitanja
ODEUCI5.1-5.2 1. Ako bi svi linkovi u Internetu obezbeivali uslugu pouzdane isporuke, da li bi TCP usluga pouzdane isporuke bila kompletno redundantna? Zato da, ili zato ne? 2. Koje su neke od moguih usluga koje protokol sloja veze podataka moe da ponudi mrenom sloju? Koje od ovih usluga sloja veze podataka imaju odgovarajue usluge u IP-u? U TCP-u? ODEUAK 5.3 3. Pretpostavite da va vora poinju da alju paket duine L u isto vreme preko difuznog kanala brzine R. Oznaite kanjenje usled propagacije izmeu dva vora kao tprosl. Da li e biti kolizija ako je tprgsl < URI Zato hoe, ili zato nee? 4.U odeljku 5.3, naveli smo etiri poeljne karakteristike difuznog kanala. Koje od tih karakteristika ima ALOHA sa odsecima? Koje od tih karakteristika ima prosleivanje etona? 5. Opiite protokole sa prozivanjem i sa prosleivanje etona, koristei analogiju interakcija na koktelu. 6. Zato bi Token Ring protokol bio neefikasan ako bi LAN imao veoma velik obim? ODEUAK 5.A 7. Koliko je veliki MAC adresni prostor? Adresni prostor IPv4? Adresni prostor IPv6? 8. Pretpostavite daje svaki od vorova A, B i C prikljuen na isti difuzni LAN (preko njihovih adaptera). Ako A alje hiljade IP datagrama ka B sa svakim od enkapsuliranih okvira adresiranih na MAC adresu B, da li e adapter vora C obraivati te okvire? Ako hoe, da li e adapter C prosleivati IP datagrame u tim okvirima voru C (odnosno, voru kome adapter pripada)? Kako e se vas" odgovor izmeniti ako A alje okvire sa difaznom MAC adresom? 9. Zato se upit ARP alje unutar difuznog okvira? Zato se odziv ARP alje unutar okvira sa odreenom MAC adresom odredita?

494

POGLAVLJE 5

5LOJ VEZE PODATAKA I LOKALNE MREE RAUNARA PROBLEMI

495

10. Za mreu na slici 5.19, ruter ima dva ARP modula, od kojih je svaki sa svojom sopstvenom ARP tabelom. Da li je mogue da se ista MAC adresa pojavi u obe tabele? ODEUAK 5.5 11. Poredite strukture okvira za lOBaseT, lOOBaseT, 802.11b i Gigabit Ethernet. U emu se one razlikuju? 12. Pretpostavite da adapter od 10 Mb/s alje u kanal beskrajan niz jedinica, koristei Manchester kodovanje. Koliko e promena u sekundi imati signal koji se pojavljuje iz adaptera? 13. U CSMA/CD, posle pete kolizije, kolika je verovatnoa da vrednost K koju vor bira bude 4? Kolikom kanjenju u sekundama na Ethernetu od 10 Mb/s odgovara rezultat K = 4?

7. Nacrtajte grafik efikasnosti ALOHE sa odsecima i iste ALOHE u funkciji od pza;V= 100. 8. Razmotrite difuzni kanal sa JYvorova i brzinom prenosa od R b/s. Pretpostavite da difuzni kanal za viestruki pristup koristi prozivanje (sa dodatnim vorom koji proziva). Pretpostavite daje duina vremena od kada vor zavri prenos do kada se sledeem voru dopusti da prenosi (odnosno, kanjenje prozivanja) tpmi. Pretpostavite da se u jednoj rundi prozivanja datom voru doputa da prenese najvie Q bitova. Koja je maksimalna propusna mo difuznog kanala? 9. Razmotrite tri LAN-a meusobno povezana pomou dva rutera, kao to je prikazano na sledeoj slici. a. Precrtajte sliku, tako da ukljui adaptere. b. Dodelite IP adrese svim interfejsima. Za LAN 1 koristite adrese u obliku 111.111.111.xxx; za LAN 2 koristite adrese u obliku 122.222.222.xxx; a za LAN 3 koristite adrese u obliku 133.133.133.xxx. c. Dodelite MAC adrese svim adapterima. d. Razmotrite slanje IP datagrama od raunara A do raunara R Pretpostavite a su sve ARP tabele aurne. Nabrojte sve postupke kao stoje to uraeno za primer sa jednim ruterom u odeljku 5.4.2. e. Ponovite (d), sada pretpostavljajui daje ARP tabela u raunaru poiljaocu prazna (a da su druge tabele aurne).

Problemi
1. Pretpostavite da je informacioni sadraj paketa ablon bitova 1010101010101011 i da se koristi parna ema pamosti. Koja bi bila vrednost kontrolnog zbira u sluaju dvodimenzionalne parne eme? Va odgovor bi trebalo da bude takav da se koristi polje kontrolnog zbira minimalne duine. 2. Pokaite (dajte primer drugaiji od onog sa slike 5.6) da dvodimenzionalna provera pamosti moe da ispravi i otkrije jednu greku bita. Pokaite (dajte primer) da pogrena dva bita mogu da se otkriju, ali ne mogu da se isprave. 3. Pretpostavite da informacioni deo paketa (D na slici 5.4) sadri deset bajtova koji se sastoje od 8-bitnih binarnih prezentacija (bez znaka) celih brojeva od 0 do 9. Izraunajte Internet kontrolni zbir za ove podatke. 4. Razmotrite 4-bitni generator, G, prikazan na slici 5.8, i pretpostavite da D ima vrednost 10101010. Koja je vrednosti? 5. U odeljku 5.3, dali smo kratko izvoenje efikasnosti ALOHE sa odsecima. U ovom problemu upotpunicemo to izvoenje. a. Setite se da kada postoji //aktivnih vorova, efikasnost ALOHE sa odsecima je data izrazom Np(l~p)N-l. Pronaite vrednostp koja daje maksimalnu vrednost tog izraza. b. Koristei vrednost p pronaenu u delu pod a, pronaite efikasnost ALOHE sa odsecima ako A'tei beskonanosti. (Savet: (1l/A/) tei ka l/e kada N tei beskonanosti.) 6. Pokaite daje efikasnost iste ALOHE jednaka l/(2e). Zapazite: ovaj problem je jednostavan, ako ste resili prethodni problem!

496

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA

PROBLEMI

497

10. Setite se da kod protokola CSMA/CD, adapter ekaK - 512 vremena trajanja jednog bita posle kolizije, gde je sluajan broj. Z a K = 100, koliko dugo adapter eka do vraanja na postupak 2 za Ethernet od 10 Mb/s? Za Ethernet od 100 Mb/s? 11. Pretpostavite da su vorovi A i B na istom segmentu Ethemeta od 10 Mb/s i daje kanjenje usled propagacije izmeu dva vora 225 vremena trajanja jednog bita. Pretpostavite da vor A poinje prenoenje okvira i da, pre nego to on zavri, vor B poinje prenoenje okvira. Moe li A da zavri prenoenje pre nego to otkrije da je B prenosio? Zato moe, ili zato ne moe? Ako je odgovor da, onda A pogreno veruje da je njegov okvir uspeno prenesen bez kolizija. (Savet: Pretpostavite da u trenutku / = 0 vremena trajanja jednog bita, A poinje prenoenje okvira. U najgorem sluaju, A prenosi okvir minimalne veliine od 512 + 64 vremena trajanja jednog bita. Tako bi A zavrio sa prenoenjem okvira u t = 512 + 64 vremena trajanja jednog bita. Prema tome, odgovor je ne, ako signal vora B stigne do A pre t = 512 + 64 vremena trajanja jednog bita. U najgorem sluaju, kada signal vora B stie do A?) 12. Pretpostavite da su vorovi A i B na istom segmentu Ethemeta od 10 Mb/s i da je kanjenje usled propagacije izmeu dva vora 225 vremena trajanja jednog bita. Pretpostavite da A i B alju okvire u isto vreme, da okviri dolaze u koliziju i A i B biraju razliite vrednosti K u algoritmu CSMA/CD. Pretpostavljajui da nema drugih aktivnih vorova, moe li doi do kolizije ponovnih prenosa iz vorova A i B? Za nae potrebe, dovoljno je da se obradi sledei primer. Pretpostavite da A i B poinju prenos u t = 0 vremena trajanja jednog bita. Oba vora otkrivaju koliziju u t 225 vremena trajanja jednog bita. Oni zavravaju prenoenje signala zastoja u t = 225 + 48 = 273 vremena trajanja jednog bita. Pretpostavite da su KA = 0 i KB = 1. U koje vreme B planira svoj ponovni prenos? U koje vreme A poinje prenos? (Obratite panju: vorovi moraju da ekaju na slobodan kanal posle vraanja na postupak 2 - pogledajte protokol.) U koje vreme signal vora A stie do B? Da li B odustaje od prenoenja u svoje planirano vreme? . 13. Razmotrite Ethernet lOOBaseT od 100 Mb/s. Koliko bi trebalo da bude maksimalno rastojanje izmeu vora i haba da bi se postigla efikasnost od 0,50? Pretpostavite daje duina okvira 64 bajta i da nema habova. Da li maksimalno rastojanje takode obezbeduje da e predajni vor A biti sposoban da otkrije da li je bilo koji drugi vor prenosio za vreme prenosa vora A? Zato da, ili zato ne? Kako se vae maksimalno rastojanje poredi sa aktuelnim standardom za 100 Mb/s? 14. U ovom problemu izveete efikasnost protokola sa viestrukim pristupom slinom CSMA/CD. U ovom protokolu, vreme je izdeljeno na odseke i svi adapteri su sinhronizovani ria te odseke. Meutim, za razliku od ALOHE sa odsecima, duina odseka (u sekundama) je mnogo manja od vremena okvira (vremena za prenos okvira). Neka je S duina odseka. Pretpostavite da su svi okviri konstantne duine L = kRS, gde je R brzina prenosa kanala, a k veliki ceo

broj. Pretpostavite da postoji A' vorova, svaki sa beskonanim brojem okvira za slanje. Takode pretpostavljamo daje tpms[ < S, tako da svi vorovi mogu da otkriju'koliziju pre zavretka vremenskog odseka. Protokol je sledei: Ako, u datom odseku, nijedan vor ne poseduje kanal, svi vorovi se bore za kanal; posebno, svaki vor alje u vremenskom odseku sa verovatnoom^. Ako tano jedan vor alje u odseku, on preuzima vlasnitvo nad kanalom za sledeih k -1 odseaka i alje svoj okvir u celosti. Ako neki vor poseduje kanal, svi drugi vorovi odustaju od prenoenja dok vor koji poseduje kanal ne zavri prenoenje svog okvira. Jednom kadaje taj vor preneo svoj okvir, svi vorovi se bore za kanal. Zapazite da kanal naizmenino menja dva stanja: proizvodno stanje", koje traje tano k odseaka i neproizvodno stanje", koje traje sluajan broj odseaka. Jasno, efikasnost kanala je odnos k/(k + x), gde je x oekivani broj susednih neproizvodnih odseaka, a. Za fiksno A'i podredite efikasnost ovog protokola. b. Za fiksno A', odredite p koje daje maksimalnu vrednost efikasnosti. c. Koristeip (koje je u funkciji od A0 pronaeno u delu pod b, odredite efikasnost kada N tei beskonanosti. d. Pokaite da se ta efikasnost pribliava 1 kada duina okvira postaje velika. 15. Pretpostavite da su dva vora, A i B, prikljuena na suprotnim krajevima kabla od 900 m i da svaki od njih ima okvir od 1000 bitova (ukljuujui sva zaglavlja i preambule) da poalje onom drugom. Oba vora pokuavaju da prenose u trenutku / = 0, Pretpostavite da postoje etiri haba izmeu A i B, od kojih svaki unosi 20-bitno kanjenje. Pretpostavite daje brzina prenosa 10 Mb/s i da se koristi CSMA/CD sa intervalima odstupanja u vidu umnoaka od 512 bitova. Posle prve kolizije, A uzima K = 0 a B uzima K = 1 u protokolu eksponencijalnog odstupanja. Zanemarite signal zastoja i kanjenje u trajanju 96 bita. a. Koliko je kanjenje jednosmeme propagacije (ukljuujui kanjenja habova) izmeu A i B u sekundama? Pretpostavite daje brzina propagacije signala 2 I08 m/s. b. U koje vreme (u sekundama) je ceo paket vora A isporuen voru B? c. Sada pretpostavite da samo A ima paket za slanje i da su habovi zamenjeni komutatori ma. Pretpostavite da svaki komutator ima 20-bitno kanjenje obrade pored kanjenja smetanja i prosleivanja. U koje vreme u sekundama je paket vora A isporuen voru B? 16. Setite se da ATM koristi 53-bajtne pakete koji se sastoje od pet bajtova zaglavlja i 48 bajtova tovara. Pedeset tri bajta je neuobiajeno malo za pakete fiksne duine; veina protokola umreavanja (IP, Ethemet, Frame Relay itd.) koriste pakete koji su, u proeku, znaajno vei. Jedan od nedostataka male veliine paketa je da veliki deo propusnog opsega linka troe dodatni bajtovi zaglavlja;

498

POGLAVLJE 5

SLOJ VEZE PODATAKA I LOKALNE MREE RAUNARA ETHEREAL LAB 499

u sluaju ATM-a, skoro 10 procenata propusnog opsega je uzaludno potroeno" na ATM zaglavlje. U ovom problemu ispitujemo zastoje odabrana mala veliina paketa. Za sada, pretpostavite da se ATM elija sastoji od P bajtova (moda razliito od 48) i 5 bajtova zaglavlja. a. Razmotrite slanje digitalno kodovanog govornog signala direktno preko ATM-a. Pretpostavite daje izvor kodovan konstantnom brzinom od 64 Kb/ s. Pretpostavite da je svaka elija potpuno popunjena pre nego to je izvor poalje u mreu. Vreme koje je potrebno za popunjavanje elije je kanjenje pripreme paketa (packetization delay). Izraeno pomou L, odredite kanjenje pripreme paketa u milisekundama. b. Kanjenja pripreme paketa vea od 20 ms mogu da prouzrokuju primetan i neugodan eho. Odredite kanjenje pripreme paketa za L ~ 1500 bajtova (to priblino odgovara Ethernet paketu maksimalne veliine) i za L = 48 (to odgovara ATM eliji). c. Proraunajte kanjenje memorisanja i prosledivanja na jednom ATM komutatoru za brzinu linka od R = 155 Mb/s (popularna brzina linka za ATM) za i = 1500 bajtova i za L = 48 bajtova. d. Komentariite prednosti upotrebe male veliine elije. 17. Razmotrite MPLS mreu prikazanu na slici 5.42 i pretpostavite da su ruteri R5 i R6 sada osposobljeni za MPLS. Pretpostavite da elimo da uradimo inenjering saobraaja, tako da paketi iz R5 namenjeni za A budu komutirani ka A preko R6-R4-R3-R1, a paketi iz R5 namenjeni za A budu komutirani ka Apreko R5-R4-R2-R1. Prikaite MPLS tabele u R5 i R6, kao i promenjenu tabelu u R4, koje bi to omoguile.

4. Iskoristite Web da biste pronali brojeve protokola korienih u Ethernet okviru za IP datagram i za ARP paket. 5. Proitajte reference [Xiao 2000, Huang 2002 i RFC 3346] o inenjeringu saobraaja korienjem MPLS. Napravile listu ciljeva za inenjering saobraaja. Koji od ovih ciljeva mogu da se ispune samo sa MPLS, a koji mogu da se ispune korienjem postojeih protokola (bez MPLS)? U poslednjem sluaju, koje prednosti nudi MPLS?

Ethereal Lab
3 m al 23 V0 P gtavije Prvi lS tu e rad mEEtTv? r Drugi istrauje P' J' P' O^ola Ibbh 802.3 i format Ethernet okvira. upotrebu protokola DHCP koii

U prateoj, veb lokaciji za ovu knjigu, http://ww.awl.com/kurose-ross, pronai ete


J

smo prouili u odeljku 5.4.3.

Teze za diskusiju
Preporuujemo vam da prokrstarite Webom pre nego to odgovorite na sledea pitanja. 1. Koliko priblino iznosi trenutni opseg cena adaptera 10/100 Mb/s? Adaptera Gigabit Ethernet? Kakve su te cene u poreenju sa modemom 56 kb/s ili ADSL modemom? 2. Cene habova i komutatora se esto izraavaju brojem interfejsa (koji se u LAN argonu takoe zovu i portovi). Koja je priblina trenutna cena po interfejsu haba od 10 Mb/s? Haba od 100 Mb/s? Komutatora koji se sastoji samo od interfejsa za 10 Mb/s? Komutatora koji se sastoji samo od interfejsa za 100 Mb/s? 3. Mnoge od funkcija adaptera mogu da se izvedu u softveru koji radi na centralnom procesoru vora. Koje su prednosti i nedostaci premetanja te funkcionalnosti iz adaptera u vor?

INTERVJU

Sajmon S. Lem
Sajmon S. Lem je profesor i ef katedre za raunarske nauke na Teksakom univerzitetu u Ostinu. Od 1971. do 1974. godine, bio je u ARPA Centru za mrena merenja (NeKvork Measurement Center) na UCLA, gde je radio na satelitskom i radio komutiranju paketa. Vodio je istraivaku grupu koja je pronala bezbedne sokele i 1993. godine napravila prototip prvog bezbednog sloja soketa (nazvanog Secure Network Programming). Njegova istraivaka interesovanja su u obiosti projektovanjo i analize mrenih protokola i bezbednosnih usluga. Diplomirao je elektrotehniku na Dravnom univerzitetu u dravi Vaingon, o akademske stepene magistra i doktora nauka ostvario je na UCLA.

Gde sfe videli da se u budunosti usmerava oblast umreavanja i Interneta? U prolosti, jednostavnost Intemetovog IP protokola bila je njegova najvea snaga u slamanju konkurencije i postajanju de facto standarda za meusobno umreavanje. Za razliku od konkurencije, kao stoje bio X.25 u 1980-im i ATM u 1990-im godinama, IP moe da radi iznad bilo koje tehnologije umreavanja sloja veze podataka, zato to on nudi samo najbolju moguu uslugu datagrama. Zato svaka paketska mrea moe da se povee sa Internetom. Na nesreu, IP-ova najvea snaga sada je njegov nedostatak. IP lii na tesan kaput koji ograniava razvoj Intemeia samo na specifine pravce. IP sloj je ekonomski suvie vaan da bi se popravljao podrkom novim funkcionalnostima, kao to su viestruko usmeravanje i kvalitet usluge. Poslednjih godina, mnogi istraivai su preusmerili svoje napore na aplikacijski i transportni sloj za viestruko usmeravanje i kvalitet usluge. Veina drugih trenutnih tema za istraivanje Interneta, kao to su bezbednost i P2P sistemi, obuhvataju samo aplikacijski sloj. Postoji takode dosta istraivanja beinih i ad hoc mrea, senzorskih i satelitskih mrea. Na te mree moe da se gleda kao na samostalne sisteme ili sisteme sloja veze podataka, koji mogu da cvetaju zato to su izvan tesnog IP kapula. Mnogi ljudi su uzbueni zbog mogunosti P2P sistema kao platforme za nove primene Interneta. Meutim, P2P sistemi su veoma neefikasni u svojoj upotrebi Internet resursa. Brinem se da li e kapacitet prenosa i komutiranja jezgra Interneta nastaviti da se poveava bre od saobraajnih zahteva na Internetu, kako on raste da bi meusobno povezao sve vrste ureaja i podrao budue aplikacije osposobljene za P2P. Bez znaajno veeg obezbedenja kapaciteta, osiguranje stabilnosti mree u prisustvu zlonamernih napada i zaguenja, bio bi glavni zadatak.

Zato ste odluili da se specijaliiujete u oblasti umreavanja? Kada sam stigao na UCLA kao novi diplomirani student u jesen 1969. godine, imao sam nameru da studiram teoriju upravljanja. Onda sam pohaao asove iz teorije ekanja u redovima koje je drao Leonard Klajnrok i on me je veoma impresionirao. Posle kratkog vremena radio sam na adaptivnom upravljanju sistema ekanja u redovima, kao moguoj temi za tezu. Poetkom 1972. godine, Lari Roberts je otpoeo projekat ARPANET Satellite Svstem (koji je kasnije nazvan Packet Satellite). Profesor Klajnrok me je zamolio da se pridruim projektu. Prva stvar koju smo uradili bila je da uvedemo jednostavan, a ipak realistian algoritam odstupanja u protokol Aloha sa vremenskim odsecima. Ubrzo posle toga, pronaao sam mnogo zanimljivih problema za istraivanje, kao stoje problem Alohine nestabilnosti i potreba za adaptivnim odstupanjem, koji bi formirali srce moje teze.
Bili sfe aktivni u prvim onima Interneta u 1970-im godinama, poinjui svoje studentske dane na UCLA. Kako je tada bilo? Da li su ljudi imali ikakav nagovetaj o tome ta e Internet postati?

Koji je najizazovniji deo vaeg posla? Najizazovniji deo mog posla kao profesora je poduavanje i motivisanje svakog studenta u mojoj klasi i svakog doktoranta pod mojim nadzorom, a ne samo onih koji postiu visoke rezultate. Veoma inteligentni i motivisani mogu traiti malo voenja, ali ne mnogo vie od toga. Ja esto uim vie od tih studenata nego to oni ue od mene. Obrazovanje i motivisanje onih koji postiu slabije rezultate predstavlja glavni izazov. Koje uticaje predviate da e tehnologija imati na uenje u budunosti? Na kraju, gotovo celokupno ljudsko znanje e biti dostupno preko Interneta, koji e biti najmonija alatka za uenje. Ta ogromna baza znanja e imati potencijal ravnopravnog terena za studente irom sveta. Na primer, motivisani studenti u bilo kojoj zemlji e biti u stanju da pristupaju najboljim veb lokacijama za asove, multimedijskim predavanjima i materijalima za poduavanje. Ve sada je reeno da su IEEE i ACM digitalne biblioteke ubrzale razvoj istraivaa u oblasti raunarskih nauka u Kini. Vremenom, Internet e prevazii sve geografske prepreke za uenje.

Atmosfera zaista nije bila razliita od drugih projekata izgradnje sistema koje sam imao prilike da vidim u industriji i u akademskim krugovima. Prvobitno postavljeni cilj ARPANET-a bio je prilino skroman, odnosno, da se obezbedi pristup skupim raunarima sa udaljenih lokacija tako da mnogo vie naunika moe da ih koristi. Meutim, sa poetkom projekta Packet Satellite 1972. godine i projekta Packet Radio 1973. godine, cilj ARPA-e se znaajno proirio. Do 1973. godine, ARPA je gradila tri razliite paketske mree u isto vreme i postalo je potrebno da Vint Serf i Bob Kan razviju strategiju meusobnog povezivanja. U to doba, svi ti napredni razvoji u umreavanju bili su vieni (verujem) kao logini, a ne kao magini. Niko nije mogao da predvidi obim Interneta i snagu dananjih personalnih raunara. To je bilo deset godina pre pojave prvih PC-ja. Da bi sagledali stvari, veina studenata su podnosili svoje programe u vidu hrpe buenih kartica za paketnu obradu. Samo neki studenti su imali direktan pristup raunarima, koji su se obino nalazili u ogranienom podruju. Modemi su bili spori i jo uvek retkost. Kao diplomirani student, imao sam samo telefon na stolu i koristio sam olovku i papir da uradim vei deo svog posla.
500

501

Beine i mobilne mree

U svetu telefonije, neki smatraju proteklih 10 godina decenijom mobilne telefonije. Broj pretplatnika mobilnih telefona u svetu porastao je sa 34 miliona u 1993. na preko milijarde u 2003. godini, tako daje broj mobilnih pretplatnika sada vei od broja osnovnih telefonskih linija [ITU Statistics 2004]. Glavna prednost mobilnog telefona je svakome oigledna - neogranien pristup globalnoj telefonskoj mrei bilo gde i bilo kada putem lako prenosivog i laganog ureaja. Da li se pojavom laptopova, palmtop raunara i PDA-ova i njihovog obeanog neogranienog pristupa globalnom Internetu sa bilo kog mesta u bilo kom trenutku sprema slina eksplozija u upotrebi beinih ureaja za Internet? Bez obzira na budue irenje beinih ureaja za Internet, ve je jasno da beine mree i usluge vezane za mobilnost nisu prolazna pojava. Iz aspekta umreavanja, izazovi ovih mrea, pogotovo u sloju veze podataka i mrenom sloju, toliko se razlikuju od uobiajenih oienih raunarskih mrea daje potrebno zasebno poglavlje posveeno beinim i mobilnim mreama (ovo poglavlje). Poglavlje poinjemo opisom mobilnih korisnika, beinih linkova i mrea, kao i njihovog odnosa prema veim (obino oienim) mreama sa kojima se povezuju. Moramo da razlikujemo izazove do kojih dolazi zbog beine prirode komunikacionih linkova u'takvim mreama, i onih koji potiu od mobilnosti koju ti beini linkovi omoguavaju. Povlaenje ove znaajne granice - izmeu beinog i mobilnog - omoguie nam da bolje izolujemo, prepoznamo i savladamo kljune koncepte iz
263

264

POGLAVLJE 6

BEINE I MOBILNE MREE

6.1

UVOD

505

svakog od tih podruja. Obratite panju na to da postoje mnoga mrena okruenja u kojima su mreni vorovi beini ali nisu mobilni (na primer, beine kune ili kancelarijske mree sa nepokretnim radnim stanicama i velikim monitorima) i ograniene vrste mobilnosti za koje nisu potrebni beini linkovi (na primer, radnik koji kod kue koristi laptop povezan icom, iskljui ga, ode na posao i prikljui laptop na ianu mreu kompanije). Naravno, najzanimljivija su ona mrena okruenja gde su korisnici i beini i mobilni - na primer, scenario u kome mobilni korisnik (na primer, na zadnjem seditu automobila) odrava poziv tipa govor preko IP-a" i nekoliko aktivnih TCP konekcija dok juri autoputem brzinom od 160 km/h. Najzanimljivije tehnike izazove nalazimo ba tu, na preseku beinog i mobilnog! Poeemo prvo sa prikazom konfiguracije u kojoj emo razmatrati beine komunikacije i mobilnost - mreu u kojoj se beini (i eventualno mobilni) korisnici povezuju sa veom mrenom infrastrukturom putem beinog linka na rubu mree. Zatim emo, u odeljku 6.2, razmotriti karakteristike tog beinog linka. U isti odeljak smo dodali kratak uvod u CDMA (Code Division Multiple Access), pristupni protokol deljenih medijuma koji se esto koristi u beinim mreama. U odeljku 6.3 malo detaljnije emo razmotriti aspekte sloja veze u standardu za beini LAN, IEEE 802.11 (Wi-Fi); ukratko emo pomenuti i Bluetooth. U odeljku 6.4 dajemo pregled mobilnog pristupa Internetu, ukljuujui nove mobilne tehnologije 3G koje omoguavaju i govor i pristup Interneta velike brzine. U odeljku 6.5 obra-tiemo panju na mobilnost usredsreujui se na probleme pronalaenja mobilnog korisnika, rutiranja prema mobilnom korisniku i predavanju" mobilnog korisnika koji se dinamiki kree od jedne prikljune take na mrei do druge. U odeljcima 6.6 i 6.7 ispitaemo kako se ove usluge za mobilnost implementiraju u standardu za mobilni IP, odnosno u GSM-u. Na kraju, u odeljku 6.8, razmotriemo uticaj beinih linkova i mobilnosti na protokole transportnog sloja i na aplikacije umreavanja.

KRATAK OSVRT
JAVNI VVI-FI PRISTUP: USKORO STIE NA VA OAK? Pre samo 5 godina beine raunarske mree bile su retkost. Mada je mnogo investirano u licence radio spektra za sisteme 3G (potraite kratak osvrt u kojem se poredi 3G mobilnost sa beinim LAN-ovima], 3G sistemi bili su (i jo uvek su) tek u ranim fazama razvoja. U ono vreme, nekoliko prvih korisnika je poelo da isprobava upravo standardizovanu tehnologiju za beini LAN, IEEE 802.11. Kakva pramena za ovih 5 godina! Danas mnoge korporacije, univerziteti i kue imaju vlastite beine LAN-ove tipa IEEE 802.1 1. Sto je jo znaajnije naglo raste broj beinih prikljunih taaka - javnih lokacija na kojima korisnici mogu da dobiju beini pristup 802.11. Grupa Gartner procenjuje da je 2003. godine postojala 71.000 javnih prikljunih taaka, sto je 50 puta vie od broja koji je postojao 2001. U Sjedinjenim Amerikim Dravama restorani, kao to su Starbaks i Makdonald, na mnogim lokacijama nude Wi-Fi pristup. U Nju Jorku, Verizon Communications je postavio take za Wi-Fi pristup u preko 1.000 javnih telefona i povezao javne telefone sa Internetom [Verizon 2004J, i tako prolaznicima i okolnim kancelarijama omoguio Wi-Fi pristup. Poetkom 2004. godine, T-Mobile [T-Mobile 2004] obezbedio je preko 4.000 javnih Wi-Fi prikljunih taaka na lokacijama kao io su aerodromi, restorani i knjiare. Novoosnovana kompanija Cometa najavila je 2003. godine da planira da postavi 20.000 komercijalnih Wi-Fi prikljunih taaka na 50 gradskih podruja do 2005. godine. Uz ovakve tendencije, moe se desiti da e se snovi o nesmetanom pristupu globalnom Internetu skoro na svakom mestu i u svakom trenutku ostvariti bre nego to smo mislili!

6 .1 Uvod
Na slici 6,1 prikazana je konfiguracija u kojoj emo razmatrati teme beine komunikacije podataka i mobilnosti. Poeemo uoptenim opisom koji pokriva iroku lepezu mrea ukljuujui i beine LAN-ove, kao to je IEEE 802.11 i mobilne mree, kao Stoje mrea 3G; detaljnije opise konkretnih beinih arhitektura ostavi-emo za kasnije odeljke. U beinoj mrei postoje sledei elementi: Beini raunari. Kao i kod oienih mrea, raunari su krajnji ureaji na kojima se izvravaju aplikacije. Beini raunar moe da bude laptop, palmtop, PDA, telefon ili stoni raunar. Sami raunari mogu, ali ne moraju da budu mobilni.

Beini linkovi. Raunar se povezuje sa baznom stanicom (koju emo defmisati malo kasnije) ili sa drugim beinim raunarom pomou beinog komunikacionog linka. Razliite tehnologije beinih linkova imaju razliite brzine prenosa i mogu da prenose na razliite razdaljine. Na slici 6.2 prikazano je nekoliko kljunih karakteristika poznatijih standarda za beine linkove. Te emo standarde opisati u prvoj polovini ovog poglavlja; u odeljku 6.2 razmotriemo takoe i druge karakteristike beinog linka (kao to je uestalost greaka u bitovima i njihovi uzroci). Na slici 6.1 beini linkovi povezuju raunare koji se nalaze na periferiji mree u jednu veu mrenu infrastrukturu. Naglaavamo da se beini linkovi ponekad koriste i unutar mree i za povezivanje rutera, komutatora i druge mrene opreme. Meutim, u ovom poglavlju se usredsreujemo na upotrebu beine komunikacije na rubovima mree poto se tu javlja veina najuzbudljivijih tehnikih izazova i vei deo proirenja. Bazna stanica. Bazna stanica je kljuni deo beine mrene infrastrukture. Za razliku od beinog raunara i beinog linka, za baznu stanicu ne postoji

265

POGLAVLJE 6

BEINE I MOBILNE MREE

6.1

UVOD

507

Za raunare koji su pridrueni baznoj stanici esto kaemo da rade u infrastrukturnom reimu, poto sve tradicionalne mrene usluge (npr. dodeljivanje adresa i rutiranje) obezbeduje mrea na koju je raunar prikljuen preko bazne stanice. U ad hoc mreama beini raunari nemaju takvu infrastrukturu sa kojom bi se povezali. U odsustvu te infrastrukture sami raunari moraju da obezbede usluge kao stoje rutiranje, dodeljivanje adresa, prevoenje DNS imena i tome slino. U ovoj knjizi, pre svega, baviemo se mreama u infrastrukturnom reimu. Kada mobilni raunar izae iz dometa jedne bazne stanice i ue u domet druge, on e promeniti taku povezivanja sa veom mreom (tj. promeniti baznu stanicu kojoj je pridruen) - taj postupak nazivamo predavanje. Ovakva mobilnost otvara mnoga izazovna pitanja. Ako raunar moe da se kree, kako da se pronae njegova trenutria lokacija u mrei da bi mu se prosledili podaci? Kako se vri adresiranje kada raunar moe da se nalazi na jednoj od vie moguih lokacija? Ako se raunar kree za vreme TCP konekcije ili telefonskog poziva, kako se podaci rutiraju, a da se konekcija ne prekine? Zbog ovih i mnogih (mnogih!) drugih pitanja beino i mobilno umreavanje predstavlja podruje uzbudljivih istraivanja. Mrena infrastruktura. Ovo je vea mrea sa kojom beini raunar moe da komunicira. Sada emo detaljnije razmotrili tehnika pitanja koja se javljaju u beinim i mobilnim mreama. Poinjemo prvo razmatranjem pojedinanog beinog linka, a opisivanje mobilnosti ostavljamo za kasnije u ovom poglavlju.

odgovarajui ekvivalent u oienoj mrei. Bazna stanica je zaduena za slanje i prihvatanje podataka (npr. paketa) prema beinom raunaru pridruenom toj baznoj stanici. Bazna stanica se esto zaduuje za koordinisanje prenosa za vize beinih raunara kojima je pridruena. Kada kaemo da je beini raunar pridruen" jednoj baznoj stanici podrazumevamo da (1) raunar se nalazi u granicama beine komunikacije sa baznom stanicom i (2) da raunar koristi tu baznu stanicu za prenoenje podataka prema veoj mrei i od nje. Celijski tornjevi u mobilnoj telefoniji i pristupne take u beinim LAN-ovima tipa 802.11 su pri-meri baznih stanica. Na slici 6.1 bazna stanica je povezana sa veom mreom (tj. sa Internetom, korporacijskom ili kunom mreom, odnosno sa telefonskom mreom), pa tako fun-kcionie kao retej sloja veze izmeu beinog raunara i ostatka sveta sa kojim raunar komunicira.

508

POGLAVLJE 6

BEINE I MOBILNE MREE

6.2

BEINI LINKOVI I MRENE KARAKTERISTIKE

266J 266J

6 .2 Beini linkovi i mrene karakteristike


Poeemo razmatranjem jedne jednostavne oiene mree, recimo kune mree, sa oienim Ethernet komutatorom (proitajte odeljak 5.6) izmeu raunara. Ako oi-eni Ethernet zamenimo beinom mreom tipa 802.11 u raunare bismo umesto kartica za oieni Ethernet stavili kartice za beini NIC, umesto Ethernet komutatora stavili bismo pristupnu taku, dok na mrenom sloju kao i u viim slojevima ne bi bile potrebne praktino nikakve promene. Ovde vidimo da panju treba usmeriti na sloj veze ako nas zanimaju vane razlike izmeu oiene i beine mree. Zaista, izmeu oienog i beinog linka postoji niz znaajnih razlika: Smanjena jaina signala. Elektromagnetno zraenje slabi pri prolasku kroz razliite materijale (npr. radio signal koji prolazi kroz zid). ak i u slobodnom prostoru se signal raspruje i to dovodi do smanjene jaine signala (to se ponekad naziva gubitak usled putovanje) sa poveanjem razdaljine izmeu poiljaoca i primaoca. Smetnje od drugih izvora. Radio izvori koji emituju u istom frekventnom opsegu utiu jedni na druge. Na primer, beini telefoni sa 2,4 GHz i beini LAN-ovi tipa 802.11b emituju u istom frekventnom opsegu. Prema tome, korisnik beinog LAN-a tipa 802.11b koji razgovara beinim telefonom sa 2,4 GHz ne moe se nadati dobrim performansama ni na mrei ni na telefonu. Osim smetnji od razliitih izvora emitovanja, elektromagnetni um u okruenju (npr. motor ili mikro.talasna penica u blizini) takode moe dovesti do smetnji. Propagiranje po viestrukim putanjama. Propagiranje po viestrukim putanjama se javlja kada se delovi elektromagnetnog talasa odbiju od objekata ili od zemlje, pa stiu od poiljaoca do primaoca putanjama razliite duine. To dovodi do zamuenja primljenog signala kod primaoca. Pokretni objekti izmeu poiljaoca i primaoca mogu da dovedu do toga da se propagiranje po viestrukim putanjama menja u vremenu. Iz gornjeg opisa se nasluuje da e greke u bitovima biti ee u beinim linkovima nego u oienim. Zbog toga moda ne iznenauje da protokoli za beine linkove (kao stoje protokol 802.11 koji razmatramo u sledeem odeljku) koriste ne samo mone CRC kodove za otkrivanje greaka ve i ARQ protokole u sloju veze koji ponovo alju oteene okvire. Vea i promenljiva uestalost greaka u bitovima nije jedina razlika izmeu oienog i beinog linka. Setite se da su u sluaju oienih linkova za difuzno emitovanje svi vorovi primali prenos od svih ostalih vorova. Kao to se vidi na slici 6.3, kada je re o beinim linkovima situacija nije tako jednostavna. Pretpostavimo da stanica A alje stanici B. Pretpostavimo takoe da stanica C alje stanici B. Takozvani problem sakrivenog terminala, javlja se kada fizike prepreke u okruenju (na pri mer, planina ili zgrada) onemogue komunikaciju izmeu A i C iako se na odreditu

B njihova emitovanja meusobno ometaju. Ovo je prikazano na slici 6.3(a). Drugi scenario dovodi do kolizija koje se kod primaoca teko otkrivaju a potiu od opadanja jaine signala prilikom kretanja kroz beini medijum. Na slici 6.3(b) prikazan je sluaj gde su A i C tako postavljeni da njihovi signali nisu dovoljno jaki da bi se meusobno otkrili, ali jesu dovoljno jaki da jedan drugog ometaju u stanici B. Kao to emo videti u odeljku 6.3, viestruki pristup je u beinoj mrei daleko sloeniji nego u oienoj zbog problema sakrivenog terminala i zbog opadanja.

6.2.1 CDMA
Verovatno se seate iz poglavlja 5 daje za komunikaciju raunara preko zajednikog medijuma potreban protokol da se signali od razliitih poiljalaca ne bi meusobno ometali kod primaoca. U poglavlju 5 opisali.smo tri klase protokola za pristup medi-jumima: podela kanala, sluajni pristup i redno korienje. CDMA (Code Division Multiple Access) je etvrta vrsta protokola za pristup deljenom medijumu koja preo-vlauje u tehnologijama beinog LAN-a i mobilne telefonije. Poto je CDMA tako vaan u beinom svetu sada emo ga ukratko razmotriti pre nego to se u sledeim odeljcima udubimo u konkretne tehnologije beinog pristupa. U protokolu CDMA, svaki bit koji se alje kodira se tako to se pomnoi jednim signalom (kodom) koji se menja daleko bre (brzina seckanja) od prvobitnog niza bitova podataka. Na slici 6.4 prikazan je jednostavan idealizovani scenario CDMA kodiranja/dekodiranja. Pretpostavimo da jedinicu vremena definie brzina kojom originalni bitovi podataka stiu do CDMA nkodera; tj. da se u jednoj jedinici vremena prenosi jedan originalni bit podataka. Neka di bude vrednost bita podataka

267

POGLAVLJE 6

BEINE 1 MOBILNE MREE

6.2

BEINI LINKOVI I MRENE KARAKTERISTIKE

511

u (-tom vremenskom odseku. Da bi matematiki bilo pogodnije, bit podataka sa vredrioSu 0 prikazujemo kao -1. Svaki cdseak bitova deli se na M mini odseaka; na slici 6.4 Mje jednako 8, mada je u praksi M daleko vee. CDMA kod koju koristi poiljalac je niz od M vrednosti, cm> m = 1,..., M od kojih je svaka +1 ili -1. U primeni na slici 6.4 poiljalac koristi CDMA kod od Mbitova (1,1, 1, -1, l, -1, -1, -1), Da bismo ilustrovali kako CDMA funkcionie, razmotriemo i-ti bit podataka, dv Za.m-xi mini vremenski odseak za prenos bita di CDMA nkoderdajeZ/)j(, a to je vrednost d; pomnoena sa m-tim bitom dodeljenog CDMA koda, cm:

U jednostavnijem svem, kada ne bi bilo meusobnog ometanja poiljalaca, primalac bi dobio kodovane bitove, Zjm i ponovo napravio originalni bit podataka dp tako to bi izraunao:
iu (6.2)

italac bi mogao detaljno da proradi primer sa slike 6.4 i uveri se da se pomou jednaine 6.2 kod primaoca zaista ispravno dobijaju originalni bitovi podataka. Svet je meutim, daleko od idealnog, pa kako smo ve napomenuli, CDMA mora da funkcionie u prisustvu poiljalaca koji se meusobno ometaju, koji koduju i prenose podatke pomou drugaije dodeljenog koda. Ali, kako e CDMA primalac ponovo da dobije originalne bitove podataka poiljaoca ako su ti bitovi podataka pomeani sa bitovima koje prenose drugi poiljaoci? CDMA funkcionie pod pretpostavkom da su pomeani preneseni signali aditivni. To znai, na primer, da ako 3 poiljaoca alju vrednost 1, a etvrti poiljalac alje vrednost -1 tokom istog mini-odseka, tada primljeni signal kod svih primalaca tokom tog mihi-odseka iznosi 2 (postoje 1 + 1 + J(-l = 2). Kada imamo vie poiljalaca, poiljalac? izraunava svoj kodovani izlaz, tano na isti nain kao u jednaini 6.1. Vrednost koju primalac dobije tokom m-tog mini-odeska u (-tom bitu, meutim sada e biti zbir prenetih bitova od svih N poiljalaca u tom mini-odseku:
N

Ukoliko se paljivo biraju kodove poiljalaca, svaki primalac moe da rekonstruie poslate podatke datog poiljaoca iz zbirnog signala ako jednostavno primeni kod poiljaoca tano na isti nain kao u jednaini 6.2: 4 = TjfX-< (6.3)

Na slici 6.5 prikazan je primer sa dva CDMA poiljaoca. M-bitni CDMA kod gornjeg poiljaoca je (1, 1, 1,-1, 1,-1,-1,-l)a kod donjeg (1, -1, 1, 1, 1, -1, 1, 1). Na slici 6.5 prikazanje primalac koji ponovo dobija originalne bitove podataka od gornjeg poiljaoca. Obratite panju na to da primalac uspeva da izdvoji podatke poiljaoca 1 i pored ometanja prenosom od poiljaoca 2. Verovatno se seate analogije sa koktelom iz poglavlja 5. CDMA protokol bio bi slian govoru u razliitim jezicima; u takvom sluaju ljudi dosta uspeSno prate razgovor na jeziku koji razumeju i filtriraju sve ostalo. Ovde vidimo daje CDMA protokol koji deli kodni prostor (za razliku od protokola sa podelom vremena ili frekvencija) i dodeljuje svakom voru odreeni deo kodnog prostora.

268

POGLAVLJE 6

BEINE I MOBILNE MREE

6.3

VVI-FI: BEINI LAN-OVI TIPA 802.1 1

513

Ovaj opis protokola CDMA morao je da bude kratak; u praksi je potrebno uzeti u obzir niz sloenih pitanja. Prvo, da bi CDMA primaoci mogli da izdvoje signal konkretnog poiljaoca, potrebno je paljivo birati CDMA kodove. Drugo, u opisu smo pretpostavili da su jaine signala ra'zliitih poiljalaca iste, a to se u stvarnosti teko postie. Veliki broj knjiga bavi se ovim i drugim pitanjima vezanim za CDMA; detalje moete nai u knjigama [Pickholtz 1982; Viterbi 1995].

6.3 Wi-Fi: Beini LAN-ovi tipa 802.11


S obzirom na to da se koriste na poslu, kod kue, u obrazovnim ustanovama, kafe-ima, aerodromima i u ulinim govornicama, beini LAN-ovi danas predstavljaju jednu od najvanijih tehnologija za pristup mreama na Internetu. Mada je tokom '90-tih godina razvijeno vie tehnologija i standarda, neosporno pobeuje jedna odreena klasa standarda; beini LAN IEEE 802.11, poznat takode kao Wi-Fi. U ovom odeljku detaljno emo razmotriti beini LAN 802.11 tako to emo prouiti strukturu okvira 802.11, protokol za pristup medijima 802.11 i meusobno povezivanje mrea LAN 802.11 sa oienim Ethernet LAN-ovima. Za tehnologiju beinog LAN-a postoji nekoliko standarda 802.11. Tu izmeu ostalog spadaju 802.11b, 802.11a i 802.1 Ig. TJ tabeli 6.1 ukratko su prikazane glavne karakteristike ovih standarda, Dok ovo piemo (prolee 2004) beini LAN-ovi 802.1 lb daleko su najzastupljeniji. Meutim, postoji i iroka ponuda proizvoda 802.1 l a i 802.1 Ig, pa se u narednim godinama moe oekivati znaajno uvoenje ovih beinih LAN-ova sa veim brzinama. Tri standarda 802.11 imaju mnoge zajednike karakteristike. Sva tri koriste isti protokol za pristup medijumima CSMA/CA koji emo ubrzo opisati. Svi za okvire sloja veze koriste istu strukturu okvira. Sva tri standarda su u stanju da smanje brzinu prenosa da bi se poveala dostupna udaljenost. Svi omoguavaju reim infrastrukture" i ,,ad hoc reim", to emo takoe ubrzo opisati. Meutim, kao to e vidi iz tabele 6.1 ova tri standarda sadre neke bitne razlike u fizikom sloju.

514

POGLAVLJE

BEINE I MOBILNE MREE

6.3

VVI-Fi: BEZICNIlAN-OVITIPA 802.il

515

Beini LAN 802.11b ima brzinu prenosa od 11 Mb/s, Stoje vie nego dovoljno za veinu kunih mrea sa pristupom Internetu preko irokopojasnog kabla ili DSL-a. LAN-ovi 802.11b funkcioniu u opsegu frekvencija bez licenci (2,4 do 2,485 GHz), u kojem mora da se bori sa telefonima od 2,4 GHz i mikrotalasnim penicama. Beini LAN-ovi 802.Da mogu da rade na znaajno veim brzinama, ali na veim frekvencijama. Meutim, poto rade na veoj frekvenciji, LAN-ovi 802.11a imaju krai domet prenosa za dati nivo snage i podloniji su smetnjama od propagiranja po viestrukim putanjama. Poto LAN-ovi 802.1 lg funkcioniu na istom niem frekventnom opsegu kao 802.11 b, ali pri veim brzinama prenosa kao 802.11a, trebalo bi korisnicima da omogue ,,i jare i pare".

63.1 Arhitektura 802.11


Na slici 6.6 prikazane su glavne komponente arhitekture beinog LAN-a 802.11. Osnovni element arhitekture 802.11 je BSS (Basic Service Set, skup osnovne usluge). BSS sadri jednu ili vie beinih stanica i centralnu baznu stanicu koja se u argonu 802.31 naziva AP (Access Point, pristupna taka). Na slici 6.6 prikazano je kako se pristupne take (AP) u svakom od dva BSS-a povezuju sa ureajem za povezivanje (hab, komutator ili ruter) koji zatim vodi do Interneta. U prosenoj kunoj mrei postoji jedan AP ijedan ruter (esto se u istoj kutiji nalazi i kablovski ili ADSL modem) koji povezuje BSS sa Internetom. Kao i kod Ethernet ureaja, svaka beina stanica 802.11 ima 6-bajtnu MAC adresu koja se uva u firmveru kartice (tj. kartice mrenog interfejsa 802.11). Svaki AP takoe ima MAC adresu za svoj beini interfejs. Kao i kod Interneta, ovim MAC adresama administrira IEEE i one su (teoretski) globalno jedinstvene. Kao stoje napomenuto u odeljku 6.1, beini LAN-ovi sa pristupnim takama esto se nazivaju infrastrukturni beini LAN-ovi, gde se infrastruktura" sastoji od pristupnih taaka zajedno sa oienom Ethemet infrastrukturom koja povezuje pristupne take i ruter. Na slici 6.7 prikazano je da stanice IEEE 802.11 mogu takoe da se grupiu u ad hoc mreu - mreu bez centralne kontrole i bez povezivanja sa spoljnim svetom". Ovde se mrea formira usput" od mobilnih ureaja koji su trenutno u blizini, a imaju potrebu za meusobnom komunikacijom, iako u blizini nema postojee mrene infrastrukture. Ad hoc mrea moe da se napravi kada se sastanu ljudi sa laptopovima (na primer, u sali za konferencije, u vozu ili automobilu) koji ele da razmene podatke, a u blizini ne postoji centralizovana pristupna taka. Kako se iri upotreba prenosivih ureaja za komunikaciju, javlja se izuzetno zanimanje za ad hoc umreavanje. U ovom odeljku emo se ipak usredsrediti na infrastrukturne beine LAN-ove.

Kanali i pridruivanje
Pod protokolom 802.11, da bi beina stanica mogla da alje ili prima okvire 802 11 koji sadre podatke mrenog sloja, ona se mora pridruiti nekoj pristupnoj taki Mada svi standardi 802.11 koriste pridruivanje, ovu temu emo konkretno opisati u kontekstu protokola IEEE 802.11 b

516

POGLAVLJE 6

BEINE I MOBILNE MREE

o.3

VVI-FI: BEINI LAN-OVITIPA802.il

270

Kada mreni administrator instalira pristupnu taku, on joj dodeljuje identifikacioni broj SSID (Service Set Identifier) od jedne ili dve rei. (Kada, na primer, u Microsoft Windowsu XP prikaete dostupne mree" prikazuje se lista SSID-ova svih dostupnih pristupnih taaka.) Administrator mora pristupnoj taki takode da dodeli i broj kanala. Da biste shvatili brojeve kanala, imajte na umu da protokol 802.11 b funkcionie u frekventnom opsegu 2,4 GHz do 2,485 GHz. U ovom rasponu od 85 MHz, protokol 802.11b definie 11 kanala koji se delimino preklapaju. Dva kanala se ne preklapaju ako i samo ako ih razdvaja 4 ili vie kanala. Konkretno, skup kanala 1, 6 i 11 je jedini skup od tri kanala koji se ne preklapaju. Ovo znai da bi administrator mogao da napravi beini LAN sa ukupnom maksimalnom brzinom prenosa od 33 Mb/s tako to bi na istoj fizikoj lokaciji instalirao 3 pristupne take 802.11b, dodelio im kanale 1, 6 i 11 i povezao svaku pristupnu taku sa jednim komutatorom. Uz ovo osnovno poznavanje kanala 802.11, opisaemo jednu zanimljivu (ne ba tako retku) situaciju - Wi-Fi dunglu. Wi-Fi dungla je svaka fizika lokacija u kojoj beina stanica prima dovoljno jak signal od dve ili vie pristupnih taaka. Na primer, u mnogim kafeima u Ne\v Yorku beina stanica moe da uhvati signal od mnogih oblinjih pristupnih taaka. Jedna od pristupnih taaka bi mogla da pripada kafeu dok ostale mogu da budu u stanovima u blizini kafea. Svaka od ovih pristupnih taaka se verovatno nalazi u drugoj podmrei sa nezavisno dodeljenim kanalom. Pretpostavimo sada da u takvu Wi-Fi dunglu uete sa svojim prenosivim rau-narom i naruite beini pristup Internetu i kola sa borovnicama. Uzmimo da u dungli ima 5 pristupnih taaka. Da bi dobila pristup Internetu, vaa beina stanica mora da pristupi tano jednoj podmrei i mora da se pridrui tano jednoj pristupnoj taki. Pridruivanje znai da beina stanica pravi virtuelnu icu izmeu sebe i pristupne take. Konkretno, samo pridruena pristupna taka e da alje okvire podataka (tj. okvire koji sadre podatke, kao to su datagrami) prema vaoj beinoj stanici, a vaa beina stanica e slati okvire podataka na Internet samo preko pridruene pristupne take. Ali, kako e se vaa beina stanica pridruiti konkretnoj pristupnoj taki? Jo vanije, kako e vaa beina stanica saznati da li u dungli ima pristupnih taaka i koje su one? Standard 802.11 zahteva da pristupna taka povremeno alje okvire za navoenje koji sadre SSID i MAC adresu pristupne take. Poto zna da pristupne take alju okvire za navoenje vaa beina stanica osmatra svih 11 kanala i eka okvir za navoenje bilo koje pristupne take u blizini (od kojih neke emituju na istim kanalima - prava dungla!). Kada i z okvira za navoenje utvrdi koje pristupne take su dostupne, va beini raunar bira jednu od pristupnih taaka za pridruivanje. Kada se izabere pristupna taka, va beini raunar i izabrana pristupna taka pregovaraju koristei protokol za pridruivanje 802.11. Ako se u tom pregovaranju sve dobro zavri, vaa beina stanica postaje pridruena izabranoj pristupnoj taki. Implicitno, tokom faze pridruivanja, vaa beina stanica pristupa podmrei kojoj pripada izabrana pristupna taka. Odmah nakon faze pridruivanja, beina stanica

e preko pridruene pristupne take obino poslati u podmreu poruku DHCP otkrivanja (proitajte odeljak 5.4.3) kako bi dobila IP adresu u podmrei pristupne take. Od tog trenutka, va raunar vidi ostatak Interneta jednostavno kao raunar u podmrei pristupne take. Da bi uspostavila pridruivanje sa konkretnom pristupnom takom, beina stanica ponekad mora pristupnoj taki da dokae svoju autentinost. Beini LAN-ovi 802.11 predviaju niz alternativa za dokazivanje autentinosti i za pristupanje. Jedan pristup, koji koriste mnoge kompanije, jeste da se dozvoli pristup beinoj mrei na osnovu MAC adrese odreene stanice. Drugi pristup, koji se koristi u mnogim Internet kafeima upotrebljava korisnika imena i lozinke. U oba sluaja, pristupna taka obino komunicira sa serverom za proveru autentinosti tako to prenosi podatke izmeu krajnje beine'stanice i servera za proveru autentinosti koristei protokole kao to su RADIUS [RFC 2138] ili DIAMETER [RFC 3588]. Razdvajanjem servera za proveru autentinosti od pristupne take omoguava se da jedan server opslui mnoge pristupne take i centralizuju se (esto osetljive) odluke o autentinosti i pristupu, pa tako trokovi i sloenost pristupnih taaka ostaju niski. U odeljku 8.8.4 videemo da novi protokol IEEE 802.11 i koji definie bezbednosne aspekte familije protokola 802.11 prihvata upravo ovaj pristup.

6.3.2 MAC protokol 802.11


Poto se beina stanica pridrui pristupnoj taki, ona moe da pone da alje okvire podataka pristupnoj taki i da ih prima od nje. Ali, poto se deava da vie stanica u isto vreme pokuava da alje okvire podataka preko istog kanala, potreban je protokol za viestruki pristup koji e koordinisati te prenose. Ovde, stanica moe biti beina stanica ili pristupna taka. Kao to je opisano u poglavlju 5 i odeljku 6.2.1, u optem smislu postoje etiri klase protokola viestrukog pristupa: podela kanala, sluajni pristup, redna upotreba i CDMA. Pod uticajem velikog uspeha Ethemeta i njegovog protokola direktnog pristupa, projektanti protokola 802.11 su za beini LAN 802.11 izabrali protokol sa direktnim pristupom. Ovaj protokol se naziva CSMA sa izbcgavanjem kolizija ili ukratko CSMA/CA. Kao i kod Ethernetovog CSMA/CD, CSMA" znai Carrier Sense Muliple Access, to znai da svaka stanica pronalazi kanal pre nego to pone da emituje i da se uzdrava od emitovanja kada oseti da je kanal zauzet. Mada i Ethernet i 802.11 koriste direktan pristup sa ispitivanjem nosioca, izmeu ova dva MAC protokola postoje znaajne razlike. Prvo, umesto otkrivanja kolizija 802.11 koristi tehnike za izbegavanje kolizija. Drugo, zbog relativno visoke uestalosti greaka u bitovima u beinim kanalima, 802.11 (za razliku od Ethemeta) koristi ARQ emu u sloju veze za potvrivanje i ponovno slanje. Sada emo opisati izbegavanje kolizija i eme za potvrivanje u sloju veze u protokolu 802.11. Verovatno se seate iz odeljaka 5.3 i 5.5 da u Ethemetovom algoritmu za otkrivanje kolizija Ethernet stanica oslukuje kanal tokom emitovanja. Ako tokom prenosa otkrije da neka druga stanica takode emituje, ova prekida prenos i pokuava da

518

POGLAVLJE 6

BEINE I MOBILNE MREE

6.3

VV/-R; BEINI LAN-OVI TIPA 802.11

271

alje kasnije po isteku malog, sluajno izabranog vremenskog intervala. Za razliku od Ethernet protokola 802.3, MAC protokol 802.11 ne primenjuje otkrivanje kolizija. Za to postoje dva vana razloga: Sposobnost da se otkriju kolizije zahteva sposobnost istovremenog slanja (vlastitog signala stanice) i primanja (da bi se utvrdilo da li jo neka stanica takoe alje). Poto je jaina primljenog signala obino veoma mala u poreenju sa jainom signala koji se alje sa kartice 802.11, skupo je praviti hardver koji je u stanju da otkrije koliziju. Jo vanjje, ak i kada bi kartica mogla istovremeno da emituje i da slua (i eventualno prekine slanje kada otkrije optereenost kanala), adapter ipak ne bi mogao da otkrije sve kolizije zbog problema sakrivenog terminala i opadanja kao to je opisano u odeljku 6.2. Poto beini LAN-ovi 802.11 ne koriste otkrivanje kolizije, stanica koja pone sa slanjem okvira alje okvir u potpunosti; tj. kad se stanica pokrene, nema vie povratka. Logino je da slanje celih okvira (pogotovo dugakih okvira) u situaciji sa mnogo kolizija moe znaajno da utie na performanse protokola viestrukog pristupa, Da bi se smanjila verovatnoa kolizija, 802.11 koristi nekoliko tehnika za izbegavanje kolizija koje emo uskoro opisati. Pre nego to preemo na razmatranje izbegavanja kolizija, moramo prvo da razmotrimo emu potvrda u sloju veze protokola 802.11. U odeljku 6.2 je ve reeno da kada stanica na beinom LAN-u poalje okvir, on moe iz razliitih razloga da ne stigne do odredine stanice. Zbog ove nezanemarljive verovatnoe neuspeha MAC 802.11 koristi potvrde u sloju veze. Kao stoje prikazano na slici 6.8, kada odredina stanica primi okvir koji uspeno proe CRC proveru, ona eka jedan kratak vremenski interval poznat kao SIFS (Short Inter-frame Spacing), a zatim vraa okvir potvrde. Ako otpremna stanica u zadatom intervalu ne primi potvrdu, ona pretpostavlja daje dolo do greke i ponovo alje isti okvir tako to za pristup kanalu ponovo koristi protokol CSMA/CA. Ako potvrda ne stigne nakon odreenog broja ponovnih slanja, otpremna stanica odustaje i odbacuje okvir. Poto smo opisali kako 802.11 koristi potvrde sloja veze, sada moemo da opiemo CSMA/CA protokol 802.11. Pretpostavimo da stanica (beina stanica ili pristupna taka) ima okvir za slanje. 1. Ako stanica na poetku vidi daje kanal slobodan, ona alje svoj okvir nakon kratkog vremenskog intervala poznatog kao DIFS (Disiributed Interframe Space); slika 6.8. 2. Inae, stanica bira sluajnu vrednost za odstupanje i odbrojava od te vrednosti sve dok je kanal slobodan. Kada se otkrije zauzee kanala, vrednost brojaa se zamrzava.

3. Kada broja doe do 0 (obratite panju na to da do loga jedino moe doi kada je kanal slobodan), stanica alje ceo okvir i zatim eka na potvrdu. 4. Ako se primi potvrda, otpremna stanica zna daje njen okvir pravilno primljen u odredinoj stanici. Ako stanica ima jo neki okvir za slanje, ona pokree protokol CSMA/CA od take 2. Ako se potvrda ne primi, otpremna stanica ponovo prelazi na fazu oporavka iz koraka 2 tako to sluajnu vrednost bira iz veeg intervala. Pronicljivi italac je moda primetio da u koraku 2 stanica bira sluajnu vrednost za odstupanje i poinje odbrojavanje, pa tako odlae prenos ak i kada vidi daje kanal slobodan. U Ethernetovom CSMA/CD protokolu za viestruki pristup (odeljak 5.5.2)'meutim, stanica poinje sa slanjem im otkrije daje kanal slobodan. Zbog ega se u ovom pogledu CSMA/CD i CSMA/CA tako razliito ponaaju? Da bismo odgovorili na ovo pitanje, razmotrimo scenario u kojem dve stanice imaju okvire podataka za slanje, ali nijedna od njih ne alje odmah zbog toga to otkriva da neka trea stanica ve emituje, U Ethernetovom CSMA/CD-u obe stanice

272

POGLAVLJE 6

BEINE I MOBILNE MREE

6.3

VVI-FI: BEINI LAN-OVI TIPA 802.11

521

bi poele da alju im bi otkrile daje trea stanica prestala sa slanjem. To bi dovelo do kolizije to u protokolu CSMA/CD nije ozbiljan problem poto bi obe stanice prekinule sa slanjem i tako tzbegle nepotrebno emitovanje ostatka okvira koji je pretr-peo koliziju. Meutim, u protokolu 802.11 situacija je sasvim razliita. Poto 802,11 ne prekida prenos kada otkrije koliziju, okvir koji je pretrpeo koliziju bi se preneo u celosti. U protokolu 802.11 cilj je da se kolizije izbegnu kad god je to mogue. U ovom protokolu, ako dve stanice vide daje kanal zauzet, one obe odmak pokreu odstupanje sa sluajnim vrednostima za koje se pretpostavlja da e biti razliite. Ako su te vrednosti zaista razliite, kada se kanal oslobodi jedna od stanica e poeti da alje pre druge stanice, pa e gubilnika stanica" (pod pretpostavkom da stanice nisu sakrivene jedna od druge) uoiti signal pobednike stanice", zamrznuti svoj broja i saekati sa slanjem sve dok pobednika stanica ne zavri svoje slanje. Na ovaj nain izbegnutaje skupa kolizija. Naravno, i sa protokolom 802.11 su kolizije mogue: ako su stanice sakrivene jedna od druge ili ako su izabrale identine sluajne vrednosti za odstupanje. Tretiranje sakrivenih terminala: RTS i CTS MAC protokol 802.11 takoe sadri izvanrednu (opcionu) emu rezervacija koja pomae da se izbegnu kolizije ak i u sluaju sakrivenih terminala. Ispitajmo ovu emu u kontekstu slike 6.9 gde su prikazane dve beine stanice i jedna pristupna taka. Obe beine stanice su u dometu pristupne take (iji domet je prikazan kao oseneni krug) i obe su se pridruile pristupnoj taki. Meutim, zbog opadanja, domet signala beinih stanica ogranienje na unutranji deo osenenih krugova prikazanih na slici 6.9. Zbog toga, svaka beina stanica je sakrivena od druge iako nijedna nije sakrivena od pristupne take. Razmotrimo sada zato sakriveni terminali mogu da predstavljaju problem. Pretpostavimo da stanica Hl alje okvir i da na pola tog slanja mreni sloj u stanici H2 preda MAC protokolu 802.11 jedan okvir (koji emo ovde nazvati okvir DATA). Poto ne primeuje slanje iz stanice Hl, H2 e prvo saekati jedno kratko sluajno izabrano vreme, a zatim e poeti da alje okvir DATA i tako dovesti do kolizije. Kanal e prema tome biti protraen tokom celog intervala emitovanja iz Hl kao i iz H2. Da bi se ovaj problem izbegao, protokol IEEE 802,11 omoguava stanici da jednim kratkim kontrolnim okvirom RTS (Request To Send) i jednim kratkim kontrolnim okvirom CTS (Clear To Send) rezervie pristup kanalu. Kada poiljalac hoe da poalje okvir DATA,.on moe pristupnoj stanici prvo da poalje okvir RTS, i naznai ukupno vreme potrebno za prenos okvira DATA i okvira potvrde (ACK). Kada pristupna stanica dobije okvir RTS, ona odgovara difuznim emitovanjem okvira CTS. Okvir CTS ima dve svrhe: on daje poiljaocu eksplicitnu dozvolu da alje i takoe obavetava ostale stanice da ne alju tokom rezervisanog perioda.

Na taj nain, kako vidimo na slici 6.10, prc nego to poalje okvir DATA, H1 prvo difuzno emituje okvir RTS koji uju sve stanice u njegovom krugu ukljuujui pristupnu taku AP. Pristupna taka zatim odgovara svojim okvirom CTS koji uju sve stanice unutar dometa, ukljuujui Hl i H2. Stanica H2, postoje ula CTS, uzdrava se od slanja u intervalu navedenom u okviru CTS. Na slici 6.10 prikazani su okviri RTS, CTS, DATA i ACK. Korienje okvira RTS i CTS poboljava performanse na dva znaajna naina; Problem sakrivenih stanica se ublaava poto se dugaki okvir DATA alje tek postoje kana! rezervisan. Posto su okviri RTS i CTS kratki, kolizija u kojoj uestvuje RTS ili CTS okvir trajae samo koliko traje takav kratak okvir. Poto se okviri RTS i CTS ispravno prenesu, naredni okviri DATA i ACK trebalo bi da prou bez kolizije. Pogledajte aplet 802.11 na veb lokaciji ovog udbenika. Ovaj interaktivni aplet ilustruje protokol CSMA/CA ukljuujui i razmenu RTS/CTS. Mada razmena RTS/CTS moe da pomogne u smanjenju broja kolizija, ona takoe dovodi do kanjenja i troi resurse kanala. Iz tog razloga se razmena RTS/ CTS koristi jedino da bi se rezervisao kanal za prenos dugakog okvira DATA. TJ praksi, svaka beina stanica moe da uspostavi RTS prag, pa da se paketi RTS/

512

POGLAVLJE 6

BEINE I MOBILNE MREE

6.3

. VVI-FI: BEINI LAN-OVI TIPA 802.11

273

Koritenje protokola 802.11 u linku od take do take Do sada smo opisivali 802.11 u situaciji viestrukog pristupa. Trebalo bi da pome-nemo da ako dva vora imaju usmerive antene, oni mogu da usmere te antene jednu prema drugoj i da izvravaju protokol 802.1L preko linka koji je u sutini od take do take. Zbog jeftinog hardvera za 802.11, korienja usmerivih antena i sve vee jaine prenosa, 802.11 moe da se koristi kao jeftin nain za beine konekcije od take do take na razdaljinama od nekoliko desetina kilometara. U knjizi [Bhagvvat 2003J opisana je takva beina mrea sa vie skokova koja funkcionie u seoskim podrujima oko reke Gang u Indiji sa linkovima 802.11 od take do take.

Okvir IEEE 802.11

Mada okvir 802.11 ima mnogo slinosti sa Ethernetovim okvirom, on takoe sadri niz polja specifinih za njegove beine linkove. Okvir 802.11 prikazan je na slici 6.11. Brojevi iznad polja u okviru predstavljaju duinu tih polja u bajtovima; brojevi iznad podpolja u kontrolnom polju okvira predstavljaju duine tih podpolja u bitovima. Ispitajmo sada polja u okviru, kao i neke od znaajnijih podpolja u kontrolnom polju okvira.

Polja korisnog terera i CRC Glavno polje u okviru je polje korisnog tereta koje obino sadri jedan IP datagram ili ARP paket. Mada je dozvoljeno da polje bude dugako 2312 bajtova, ono je obino manje od 1500 bajtova i sadri jedan IP datagram ili ARP paket. Kao i Ethernet okviri, okviri 802.11 sadre CRC (Cyclic Redundancy Check) tako da primalac moe da otkrije greke u bitovima primljenog okvira. Kao to smo videli, greke u bitovima su mnogo ee u beinim LAN-ovima nego u oienim, pa je CRC ovde jo korisniji.

^^^^^^^^

274

POGLAVLJE 6

BEINE I MOBILNE MREE

6.3

. VVI-FI: BEINI LAN-OVI TIPA 802.11

525

Polja adresa Moda je najupadljivija novost u okviru 802.11 to to postoje etiri adresna polja od kojih svako moe da primi 6-bajtnu MAC adresu. Ali zato etiri adresna polja? Zar nije dovoljno MAC polje izvora i MAC polje odredita kao kod Etherneta? Ispada da su za meusobno povezivanje mrea potrebna tri adresna polja - konkretno, za prenos datagrama mrenog sloja iz beine stanice kroz pristupnu taku u interfejs rutera. etvrto adresno polje koristi se u ad hoc mreama, ali ne i u infrastrukturnim mreama. Poto ovde razmatramo samo infrastrukturne mree, obratiemo panju na prva tri adresna polja. Standard 802.11 definie ova polja na sledei nain: Adresa 2 je MAC adresa stanice koja alje okvir. Prema tome, ako beina stanica alje okvir, u adresno polje 2 stavlja se MAC adresa te stanice. Slino tome, ako pristupna taka alje okvir, u adresno polje 2 stavlja se MAC adresa pristupne take. Adresa 1 je MAC adresa beine stanice koja treba da primi okvir. Prema tome, ako okvir alje mobilna beina stanica, polje adrese 1 sadri MAC adresu odredine pristupne take. Slino tome, ako okvir alje pristupna taka, polje adrese 1 sadri MAC adresu odredine beine stanice. Da biste shvatili adresu 3, setite se da BSS (koji se sastoji od pristupne take i beinih stanica) ini deo podmree i da se ova podmrea povezuje sa drugim podmreama preko nekog ruterskog interfejsa, Adresa 3 sadri MAC adresu ovog interfejsa na ruteru. Da bismo bolje shvatili svrhu adrese 3, razmotrimo primer meumrenog povezivanja u kontekstu slike 6.12. Na ovoj slici postoje dve pristupne take od kojih je svaka zaduena za niz beinih stanica. Svaka od pristupnih taaka ima direktnu vezu sa ruterom koji se zatim povezuje sa globalnim Internetom. Trebalo bi imati na umu da je pristupna taka ureaj sloja veze, pa ni jedna od njih ne govori" IP niti razume IP adrese. Razmotrite sada prenos datagrama od ruterskog interfejsa Rl do beine stanice Hl. Ruter nije svestan da izmeu njega i stanice Hl postoji pristupna taka AP; iz perspektive rutera, Hl je prosto raunar u jednoj od podmrea sa kojima je on (ruter) spojen. Ruter, koji zna IP adresu stanice Hl (na osnovu adrese odredita u datagramu), koristi ARP da bi utvrdio MAC adresu Hl, kao u obinom Ethernet LAN-u. Kada pribavi MAC adresu stanice Hl, ruterski interfejs Rl enkapsulira datagram u Ethernet okvir. Polje izvorne adrese u ovom okviru sadri MAC adresu interfejsa Rl, a polje adrese odredita sadri MAC adresu stanice Hl.

Kada Ethernet okvir stigne u pristupnu taku AP, AP konvertuje Ethernet okvir 802.3 u okvir 802.11 pre nego to ga poalje u beini kanal. AP popunjava prvu adresu MAC adresnog raunara Hl, a adresu 2 vlastitom MAC adresom, kao Stoje gore opisano. U polje za treu adresu AP ubacuje MAC adresu rutera Rl. Na taj nain, Hl e (iz adrese 3) saznati MAC adresu ruterskog interfejsa koji je poslao datagram u podmreu. Razmotrimo sada ta se dogaa kada beina stanica HI odgovori slanjem datagrama iz Hl u Rl. Hl pravi okvir 802.11 i popunjava adresu 1 MAC adresom pristupne take, a polje adrese 2 MAC adresom stanice Hl, kao stoje gore opisano. U polje adrese 3 H1 unosi MAC adresu rutera Rl, Kada AP primi okvir, 802.11 konvertuje ga u Ethernet okvir. Polje adrese izvora u tom okviru bie MAC adresa stanice Hl, a polje adrese odredita bie MAC adresa rutera Rl. Prema tome, polje adrese 3 omoguava pristupnoj taki da odredi odgovarajuu MAC adresu odredita da bi napravila Ethernet okvir.

526

POGLAVLJE 6

BEINE 1 MOBILNE MREE

6.3

VVI-FI; BEINI LAN-OVJTIPA 802.il

275

Da rezimiramo, adresa 3 igra kljunu ulogu za meusobno umreavanje bazne stanice sa oienim LAN-om. Polja rednog broja, trajanja i kontrole okvira Verovatno se seate da u standardu 802.11 stanica uvek vraa potvrdu kad god pravilno primi okvir od druge stanice. Poto potvrde mogu da se izgube, otpremna stanica bi mogla da poalje vie primeraka datog okvira. Kao to smo videli u opisu protokola rdt2.1 (odeljak 3.4.1) redni brojevi omoguavaju primaocu da razlikuje novi okvir od nekog ponovo poslatog starog okvira. Polje rednog broja u okviru 802.11 prema tome ima istu svrhu ovde u sloju veze kao to je imalo u transportnom sloju u poglavlju 3. Imajte na umu da protokol 802,11 dozvoljava otpremnoj stanici da rezervie kanal za odreen vremenski period dovoljan da se poalje okvir podataka i da se primi potvrda. Ta vrednost se stavlja u polje trajanja (kako u okvir podataka tako i u okvire RTS i CTS). Kao to je prikazano na slici 6,11 kontrolno polje okvira ima vie delova. Rei emo samo nekoliko rei o nekim najvanijim delovima; potpun opis moete nai u specifikaciji 802.11 [Heid 2001; Crow 1997; IEEE 802.11 1999]. Polja tip i podtip slue da bi se okviri podataka razlikovali od pridruenih okvira RTS, CTS i ACK. Polja prema i od se koriste da bi sc odredilo znaenje razliitih polja za adrese (Ova znaenja se menjaju zavisno od toga da li se koristi ad hoc reim ili reim infrastrukture, a u sluaju da se koristi reim infrastrukture, znaenje zavisi od toga da li okvir alje beina stanica ili pristupna taka.) Na kraju, polje WEP oznaava da li se koristi ifrovanje. (WEP se opisuje u poglavlju 8.)

konekcije koje su u toku. Da je ureaj za meusobno povezivanje bio ruter, tada bi H1 morao ili da promeni IP adresu, pa da prekine TCP konekcije koje su u toku ili da upotrebi protokol za mobilnost iz mrenog sloja kakav je mobilni IP kao to je opisano u odeljku 6.6. Ali, ta se konkretno deava kada Hl prede sa BSS1 na BSS2? Kako se Hl udaljava od pristupne take AP 1, on otkriva da signal pristupne take slabi pa poinje da trai neki jai signal. Hl prima okvire za navoenje od pristupne take AP2 (koja e u mnogim korporacijskim i univerzitetskim okruenjima imati isti SSID kao APl). H1 zatim raskida pridruivanje sa pristupnom takom AP 1 i pridruuje se taki AP2 zadravajui istu IP adresu i ne prekidajui TCP konekcije koje su bile u toku. Ovo sve funkcionie kako treba ako je ureaj za meusobno povezivanje hab. Ali, ako je taj ureaj komutator - to je esto sluaj - potrebno je obratiti posebnu panju. Kao to se moda seate iz poglavlja 5, komutatori sami ue" i automatski grade svoje tabele za prosleivanje. Ta njihova sposobnost je korisna prilikom povremenih premetanja (na primer, kad nekog zaposlenog premeste iz jednog odeljenja u drugo); meutim, komutatori nisu projektovani za podrku veoma pokretnih korisnika koji ele da odre TCP konekcije dok se premetaju izmeu baznih stanica. Da biste shvatili problem koji st ovde javlja, imajte na umu da pre premetanja komutator u tabeli prosleivanja ima stavku u kojoj se MAC adresa stanice Hl uparuje sa izlaznim interfejsom komutatora preko kojeg se moe pronai Hl. Ako se H) na poetku nalazi u baznoj slanici BSSI, tada e se datagram ije je odrediste Hl uputiti preko pristupne take APl. Meutim, kada se Hl pridrui BSS2, njegove okvire treba uputiti prema pristupnoj taki AP2. Jedno reenje (u sutini, doskoica) je da AP2 odmah nakon novog pridruivanja poalje komutatoru difuzno emitovani

6.3.4 Mobilnost unutar iste IP podmree


Da bi se poveao fiziki domet beinog LAN-a, kompanije i univerziteti postavljaju vie baznih stanica unutar iste IP podmree. Ovo, naravno, otvara pitanje mobilnosti izmeu baznih stanica kako da se beine stanice neprimetno prebacuju sa jedne na drugu baznu stanicu ne prekidajui postojee TCP konekcije? Kao to emo videti u ovom odeljku, kada bazne stanice pripadaju istoj podmrei mobilnost se relativno jednostavno omoguava. Kada se stanice kreu po razliitim podmreama, bie potrebni sloeniji protokoli za upravljanje koje emo prouiti u odeljcima 6.5 i 6.6. Pogledajmo sada konkretan primer mobilnosti izmeu baznih stanica u istoj podmrei. Na slici 6.13 prikazane su dve meusobno povezane bazne stanice i jedan raunar, Hl koji se kree izmeu baznih stanica BSS1 i BSS2. Poto u ovom primeru ureaj koji'meusobno povezuje bazne stanice nije ruter, sve stanice iz ovih baznih stanica, ukljuujui' i pristupne take AP pripadaju istoj IP podmrei. Prema tome, kada Hl pree sa BSS1 na BSS2 on moe da zadri svoju IP adresu i sve TCP

276

POGLAVLJE 6

BEINE I MOBILNE MREE

6.4

CELULARNI PRISTUP INTERNETU .

529j i

Ethernet okvir sa adresom izvora Hl. Kada komutator primi taj okvir, on aurira svoju tabelu prosledivanja i tako dozvoljava da se do Hl stigne preko AP2. U grupi standarda 802.1 lf razvija se protokol za komunikaciju meu pristupnim takama koji se bavi ovim i slinim pitanjima.

6.3.5 802.15 i Bluetooth


Kao to se vidi na slici 6.2, Wi-Fi standard IEEE 802.11 namenjen je komunikaciji meu ureajima udaljenim do 100 metara dok pristup mrei preko mobilne telefonije ima domet na desetine kilometara. Pre nego to se upustimo u detalje ovih beinih mrea sa veim udaljenostima, pogledajmo ukratko standard 802.15 WPAN (Wireless Personal Area Network) koji je u familiji IEEE 802 srodan sa 802.11, a namenjen je povezivanju meu linim ureajima na rastojanju od priblino 10 metara. 802.15 je u sutini tehnologija male snage, kratkog dometa i malih brzina, zamena za kabl" za meusobno povezivanje notbuka, perifernih ureaja, mobilnih telefona i PDA-a dok je 802.11 pristupna" tehnologija vee snage, srednjeg dometa i vee brzine. Mrea IEEE 802.15 funkcionie na kratkom rastojanju, manjom snagom i manje kota. Slojevi veze i fiziki sloj se kod 802.15 zasnivaju na prethodnoj specifikaciji Bluetooth za line mree [Held 2001, Bisdikian 2001]. Mree 802.15 funkcioniu u radio opsegu 2,4 GHz za koji nisu potrebne licence, u vremenskom multipleksu i sa vremenskim odsecima od 624 mikro sekunde. U svakom vremenskom odseku poiljalac emituje najednom od 79 kanala tako to se kanal menja na poznat, ali pseudo sluajan nain od odseka do odseka. Taj oblik preskakanja kanala, poznat kao FHSS (Frequency Hopping Spread Spectrum) emituje sa podelom vremena po frekventnom spektru. 802.15 omoguuje brzine podataka do 721 Kb/s. Mree 802.15 su ad hoc mree: za povezivanje ureaja 802.15 nije potrebna nikakva mrena infrastruktura (npr. pristupna taka). Prema tome, ureaji 802.15 moraju sami da se organizuju. Ureaji 802.15 prvo se organizuju u piko mree od najvie osam aktivnih ureaja kao stoje prikazano na slici 6.14. Jedan od ovih ureaja postaje glavni, a ostali ureaji su mu podreeni. Glavni vor zaista upravlja piko mreom - njegov sat odreuje vreme u piko mrei, on moe da emituje u svakom neparnom odseku dok podreeni moe da emituje samo poto je glavni vor sa njim komunicirao u prethodnom odseku, pa ak i tada on moe da emituje samo prema glavnom voru. Pored podreenih ureaja u mrei moe biti i maksimalno 255 parkiranih ureaja. Ovi ureaji ne mogu da komuniciraju dok im glavni vor ne promeni status iz parkiranog u aktivni. itaoci koje zanima WAPN i njegov 802.15 nai e vie informacija u referencama za Bluetooth [Held 2001, Bisdikian 2001] ili na zvaninoj veb lokaciji IEEE 802.15 [IEEE 802.15 2004].

6.4 Celularni pristup Internetu


U prethodnom odeljku ispitali smo kako raunar moe da pristupi Internetu kada se nae unutar Wi-Fi lokacije za aktiviranje tj. kada se nalazi u blizini pristupne take 802.11. Ali, veina Wi-Fi lokacija za aktiviranje ima mali domet, izmeu 10 i 100 metara u preniku. ta da radimo kada imamo oajniku potrebu za beinim pristupom Internetu, a nije nam dostupna Wi-Fi lokacija za aktiviranje? S obzirom na to daje mobilna telefonija sada sveprisutna na mnogim podrujima u elom svetu, prirodna strategija bi bila da se celularne mree proire tako da podre ne samo govornu telefoniju ve i beini pristup Internetu. Idealno bi bilo da taj pristup Internetu bude relativno brz i da obezbedi nesmetanu mobilnost tako da korisnici ne prekidaju TCP konekcije za vreme putovanja, na primer, autobusom ili vozom. Pod uslovom da uzvodne i nizvodne brzine budu dovoljne, korisnik bi ak mogao da odri video konferencijsku sesiju dok se kree. Taj scenario nije posebno nerealan. Dok ovo piem (prolee 2004) mnogi operateri mobilne telefonije nude pretplatnicima celularni pristup Internetu za manje od 100 dolara meseno sa uobiajenim uzvodnim i nizvodnim brzinama od nekoliko stotina kilobita u sekundi. U ovom odeljku dajemo kratak pregled tehnologija za pristup Internetu koje trenutno postoje ili se upravo pojavljuju. Fokus e nam biti na beinom prvom skoku izmeu mobilnog telefona i oiene infrastrukture telefonske mree; u odeljku 6.7 razmotriemo kako se pozivi rutiraju korisniku koji se kree izmeu baznih stanica. Ovako kratak opis moe sadrati samo uproeni okvirni opis celularnih tehnologija. Modeme celularne komunikacije, naravno, mnogo su sloenije, pa mnogi uni-

.277

POGLAVLJE 6

BEINE I MOBILNE MREE

6-4

CELULARNI PRISTUP INTERNETU

531

KRATAK OSVRT
POREENJE BEINIH LAN-OVA SA CELULARNIM MOBILNIM TELEFONIMA 3G
Mnogi operateri mobilne telefonije uvode celularne mobilne 3G sisteme sa unutranjim brzinama od 2 Mb/s, a spoljnirn od 384 kb/s. 3G sistemi se uvode u opsezima radio frekvencija gde su potrebne licence tako da neki operateri plaaju vladama ak 2 hiljade dolara po pretplatniku za licence. 3G sistemi e korisnicima omoguiti pristup Internelu sa udaljenih spoljnih lokacija dok su u pokrelu na nain slian dananjem pristupu mobilnih telefona. Na primer, tehnologija 3G dozvolie korisniku da pristupi informacijama o putnim kartama dok vozi kola ili informacijama o repertoaru bioskopa dok se suna na plai. Ipak, mnogi eksperli se danas pitaju da li e tehnologija 3G biti uspena s obzirom na trokove i na konkurenciju tehnologije beinog LAN-a [VVeinstein 2002]. Posebno, ovi eksperti tvrde: Nova infrastruktura beinih LAN-ova poslaje skoro sveprisutna. Kao io je napomenuto u prethodnom kratkom osvrtu, sve vie ima beinih LAN-ova IEEE 802.1 1 koji funkcioniu brzinom od 1 1 Mb/s, pa i viom (javni Wi-Fi pristup). Uskoro e skoro svi prenosivi raunan i PDA-ovi imali fabriki ugraene LAN kartice 802.11. tavie, novi ureaji za Internet - kao to su beine kamere i elektronski beini ramovi za slike - takoe e koristiti male kartice za beini LAN slabe snage. Veina beinog saobraaja podataka polazie ili e se zavravati u lokalnim okruenjima. Pod pretpostavkom da se beini saobraaj koji polazi iz trnih centara, poslovnih zgrada itd. ili se zavr ava u njima prenosi jeftinim beinim LAN-ovima, za skupe sisteme 3G ostae relativno mala koliina saobraaja. Bazne stanice beinog LAN-a mogle bi da opslue i ureaje mobilnih telefona. To bi omoguilo jeftin pristup podataka za celularne mobilne ureaje kao i za ureaje za beini LAN, Prema tome, mobilni telefon koji nema karticu za beini LAN, ali se nalazi u lokalnom okruenju moi e da zaobie 3G sisteme za pristup Internetu. Naravno, mnogi drugi eksperti veruju da e tehnologija 3G biti ne samo veoma uspena, ve da e takoe dramatino promeniti nain naeg rada i ivota. Naravno, i Wi-Fi i 3G bi mogle da postanu preovlaujue beine tehnologije, pa bi beini ureaji u romingu automatski birali pristupnu tehnologiju koja na trenutnoj fizikoj lokaciji prua najbolju uslugu (proitajte u ovom odeljku opis beinog pristupa 4G).

6-4.1 Opti pregled celularne arhitekture


Izraz celularni odnosi se na injenicu da se geografsko podruje deli na odreen broj geografskih podruja pokrivanja, koje nazivamo elijama, kao to je prikazano na levoj strani slike 6.1S. Svaka elija sadri jednu baznu stanicu koja emituje signale i prima signale od mobilnih stanica u svojoj eliji. Podruje pokrivanja jedne elije zavisi od mnogih faktora ukljuujui emisionu snagu bazne stanice, emisionu snagu mobilne stanice, od graevina koje zaklanjaju prostor u eliji i visinu antene bazne stanice. Mada na slici 6.15 svaka elija sadri jednu baznu stanicu koja se nalazi na sredini elije, mnogi dananji sistemi postavljaju bazne slanice na uglove gde se seku tri elije tako da jedna bazna stanica sa usmerenim antenama moe da opslui tri elije. Osnovna mrena arhitektura Kao to se vidi na slici 6.15, svaka bazna stanica povezana je sa regionalnom mreom - kao to je javna telefonska mrea - ili direktno sa Internetom preko oiene

verziteti nude vie predmeta na tu temu. itaoci koji ele dublje poznavanje upuuju se na [Goodman 1997; Scourias 1997; Korhonen 2003; Kaaranen 2001; Lin 2001] kao t na posebno dobru i iscrpnu referencu [Mouly 1992].

532

POGLAVLJE 6

BEINE I MOBILNE MREE

d.4

CELULARNI PRISTUP INTERNETU

533! i

infrastrukture. Konkretno, na slici 6.15 vidi se daje svaka bazna stanica povezana sa mobilnim komutacionim centrom MSC (Mobile Switching Center) koji upravlja uspostavljanjem i raskidanjem poziva mobilnih korisnika. MSC sadri dobar deo funkcionalnosti koji postoji u obinom telefonskom komutacionom centru (kakav je PBX ili centrala), ali ima dodatnu funkcionalnost potrebnu za rad sa mobilnim korisnicima. Pristupne tehnike vazdunog interfejsa Uobiajena je situacija da se u datoj eliji istovremeno obavlja vie poziva. Ovi pozivi moraju da dele raspon radio spektra koji je dodeljen posredniku za celularne usluge. Veina celularnih sistema danas koristi jedan od dva opta pristupa za delje-nje radio spektra: Kombinaciju frekventnog (FDM) i vremenskog (TDM) muitipleksiranja. Verovatno se seate iz poglavlja 1 da se kod frekventnog muitipleksiranja kanal deli na odreen broj frekventnih opsega tako da se svaki opseg namenjuje jednom pozivu. Takoe smo u poglavlju 1 videli da se kod istog vremenskog muitipleksiranja vreme deli na okvire i da se svaki okvir dalje deli na odseke, pa svaki poziv dobija na korienje odreeni odseak u pokretnom okviru. U sistemima sa kombinacijom FDM/TDM kanal se deli na niz frekventnih podopsega; u svakom podopsegu se vreme deli na okvire i odseke. Prema tome, u sistemu sa kombinacijom FDM/TDM, ako je kanal podeljen na F podokvira, a vreme na T odseaka, tada e kanal biti u stanju da podri F T istovremenih poziva. Viestruki poziv sa kodnom podelom (CDMA). Sigurno se seate iz odeljka 6.2.1 da CDMA ne deli ni frekvencije niti vreme. Umesto toga, svi korisnici dele istu radio frekvenciju u isto vreme. Svaki korisnik u eliji dobija zaseban niz bitova koji nazivamo niz za seckanje. Kao to smo videli u odeljku 6.2.1, kada poiljalac i primalac koriste isti niz za seckanje, primalac moe iz istovremenih slanja svih poiljalaca da rekonstruie ono to je poslao njegov poiljalac. Glavna prednost sistema CDMA je u tome to elimiuie potrebu da se dodeljuju frekvencije. Kada se koristi FDM/TDM, na primaoce utie interferencija od drugih signala u istom frekventnom opsegu. Prema tome, u sistemu FDM/TDM se dala frekvencija moe ponovo koristiti samo u elijama koje su prostorno dovoljno udaljene tako da ne bude interferencije. Prilikom projektovanja CDMA sistema takvo ponovno korienje frekvencija ne predstavlja znaajno pitanje.

knjiga o umreavanju raunara, a ne o govornoj telefoniji, nas, naravno, vie zanimaju novije generacije celularnih sistema. Ali, poto su novije generacije direktno nastale od starijih, ipak poinjemo pregled kratkim opisom beinih sistema prve i druge generacije. Pri opisivanju ovih generacija naii ete na niz izraza koji se koriste u razliitim tehnologijama. Kao italac, nemate obavezu da potpuno prihvatite i zapamtite sve ove izraze i skraenice. Svrha ovog pregleda jeste da vam prui uvid u postojanje razliitih generacija beinih sistema i da poslui kao brzi podsetnik za razliite izraze i skraenice. Sistemi prve generacije (IG) su bili analogni FDMAsistemi projektovam samo za govorne komunikacije. Ovi sistemi su sada skoro nestali, a zamenili su ih digitalni sistemi 2G. Druga generacija (2G) Sistemi druge generacije, iako su digitalni takoe suprojektovani za govornu komunikaciju. Ali, poto su dananji sistemi 2,5G i 3G, projektovani da podre i prenos podataka, nastali od sistema 2G, vano je rei nekoliko rei o sistemima 2G. Mobilni telefon 2G konvertuje analogni govorni signal u digitalni format pre nego to ga modulira i zatim poalje u etar. Digitalna tehnologija 2G ima mnoge prednosti nad analognom tehnologijom IG a to su poveani kapacitet usluga unutar elije, imapreena bezbednost od zloupotreba i naprednije usluge kao to su identifikacija pozivaoca i poruke. Veina dananjih mobilnih operatera koristi tehnologiju 2G. U irokoj upotrebi su razliiti 2G standardi i tehnologije: IS-136 (lnterim Standard 135) TDMA. Ovo je kombinovani FDM/TDM sistem koji potie iz FDMA tehnologije 1G. On je u irokoj upotrebi u Sevemoj Americi. GSM {Global Svstem for Mobile Communications). Tokom '80-tih godina Evropljani su uvideli potrebu za digitalnim sistemom koji e vaiti svuda u Evropi i zameiiiti njihove nekompatibilne sisteme IG i omoguiti neprimetnu mobilnost medu zemljama kao i mogunosti i usluge koje nisu mogue u analognim sistemima. Ova potreba dovela je do standarda GSM za celularne komunikacije. Evropljani su veoma uspeno uveli GSM tehnologiju poetkom '90-tih. GSM se zatim proirio na Aziju i Sevemu Ameriku, i sada predstavlja standard za celu-lamu komunikaciju sa najirom primenom. GSM standard za celularne sisteme 2G za vazduni interfejs koristi kombinovani FDM/TDM. GSM sistemi se sastoje od opsega frekvencija od po 200 kHz gde svaki opseg podrava 8 TDM poziva. GSM kodira govor na 13 kb/s i 12,2 kb/s. IS-95 CDMA. Za razliku od sistema IS-136 i GSM, koji koriste FDM/TDM, sistem IS-95 CDMA koristi viestruki pristup sa kodnom podelom (odeljak 6.2.1). Kompanija Qualcom demonstrirala je izvodljivost sistema CDMA za

6.4.2 Celularni standardi i tehnologije: kratak pregled


Kada ljudi govore o celuiamim tehnologijama, obino ih klasifikuju na nekoliko generacija". Starije generacije su bile projektovane pre svega za govorni saobraaj; noviji celularni sistemi osim govora podravaju i pristup Internetu. Postoje ovo

279

POGLAVLJE 6

BEINE I MOBILNE MREE

6-4

CELULARNI PRISTUP INTERNETU

535

mobilnu telefoniju krajem 'SO-tih godina; od lad je uvedeno vie sistema IS-95, pogotovo u Sevemoj Americi i Koreji. Prelaz sa druge generacije na treu (2,5G) 2G sistemi kao to su IS-95, GSM i IS-136 optimizirani su za govorne usluge i nisu pogodni za prenos podataka. Tokom '90-tih organizacije za standarde utvrdile su da postoji potreba za celularnu tehnologiju 3G koja bi bila pogodna i za govor i za prenos podataka (ukljuujui pristup Internetu). Meutim, poto uvoenje tehnologije 3G traje godinama, kompanije su razvile privremene protokole i standarde koji omoguavaju prenos podataka preko postojee infrastrukture 2G. Takvi sistemi nose zajedniko ime celularni sistemi 2,5G". Navodimo neke od njih: GPRS (General Packet Radio Service) je razvijen iz GSM-a. Za rad sa podacima, GSM igra ulogu modema izmeu korisnikog ureaja i odredine mree podataka-tj, GSM koristi komutiranje vodova kako za podatke tako i za govorni saobraaj. Kao to smo nauili u poglavlju 1 komutiranje vodova je krajnje neefikasno za povremeni prenos podataka. tavie, standard GSM podrava brzine prenosa do 9,6 kb/s to je nedopustivo sporo za bilo ta osim za isti tekst. GPRS predstavlja privremeno reenje koje omoguava efikasnije usluge za podatke sa paketima pri veim brzinama (obino u rasponu od 40 do 60 kb/s). GPRS usluga prua se na osnovu postojee GSM mree. Meutim, za razliku od istog GSM-a, mobilna GPRS stanica moe na zahtev da koristi vie vremenskih odseaka u datom kanalu. Kada se koristi GPRS, odreen broj odseaka se rezervie za prenos podataka i dinamiki se dodeljuje mobilnim stanicama zavisno od njihove trenutne potranje. EDGE (EnhancedData Rates for Global Evolution). Glavni cilj sistema EDGE jeste da se poveaju mogue brzine u mrei GSM/GPRS, tj. da se bolje iskoristi GSM kanal od 200 KHz sa okvirima od po 8 TDMA odseaka. To se postie pre svega zamenom modulacione eme GSM-a jednom snanijom emom. Teoretski, EDGE moe korisnicima da obezbedi 384 kb/s za prenos podataka. Izvrstan pregled sistema EDGE moete nai u knjizi [Ericsson 2004]. CDMA2000,faza 1. Ova tehnologija 2,5G nastala je od IS-95. Ona moe da obezbedi usluge za pakete podataka do 144,4 kb/s i priprema teren za uvoenje 3G sistema CDMA2000, faza 2.

144 kb/s za korisnike u vonji; 384 kb/s za upotrebu van zgrade u mirovanju ili pri brzini hoda; 2 Mb/s za upotrebu u zgradi. U podruju tree generacije postoje dva glavna standarda koja se trenutno bore za prevlast: UMTS (Vniversal Mobile Tehcommunications Service) je proireni GSM sa podrkom za mogunosti tree generacije. Arhitektura UMTS mree veim delom nasleuje ve uspostavljenu arhitekturu GSM mree. Meutim, radio pristup UMTS-a znaajno se razlikuje od eme FDMA/TDMA koja se koristi za GSM. Konkretno, UMTS koristi CDMA tehniku poznatu pod imenom DS-WCDMA (Direct Sequence Wideband CDMA). UMTS se upravo uvodi u velikom delu Evrope to ne iznenauje s obzirom na to da UMTS potie od GSM-a. CDMA-2000 je razvijen od 2G sistema IS-95 i kompatibilan je unazad sa sistemom IS-95. Kako bi se i oekivalo na osnovu imena, on u svom vazdunom interfejsu takoe koristi CDMA. CDMA-2000 se uvodi u Sevemoj Americi i u delovima Azije.

etvrta generacija (4G) Poto smo razmotrili i tehnologiju beinog LAN-a i niz tehnologija za celularni prisnip, vratimo se malo i razmotrimo ta bismo mi kao korisnici u idealnoj situaciji oekivali od beinog pristupa Internetu. Ovde je lista elja: eleli bismo sveprisutni beini pristup Internetu. Hteli bismo da se omogui pristup Internetu bez obzira na to da li smo kod kue, u kancelariji, u kolima, u kafiu ili na plai. Zavisno od nae fizike lokacije i brzine kojom se kreemo, eleli bismo najbri mogui pristup Internetu. Na primer, ako se nalazimo na u/ici gde je dostupan 802.11b od 11 Mb/s i 3G pristup od 384 kb/s eleli bismo da na sistem automatski izabere 802.11b, tj. onaj sistem koji u to vreme i na tom mestu nudi najveu brzinu. Dok se kreemo kroz ovo heterogeno okruenje automatski i transparentno se prebacujemo iz jedne tehnologije pristupa u drugu (na primer, iz 802.11 u 3G) zavisno od dostupnosti, bez ikakve intervencije korisnika. Naravno, elimo tokom naeg kretanja da zadrimo aktivne TCP konekcije. tavie, hteli bismo da sistem zna gde se mi nalazimo da bismo primili nove po2ive i kad smo u pokreru.

Trea generacija (3G) '


Celularni sistemi tree generacije potrebni su za pruanje telefonske usluge, kao i za prenos podataka pri osetno veim brzinama od odgovarajuih sistema druge generacije. Od sistema tree generacije se pre svega oekuje da omogue:

280

POGLAVLJE 6

BEINE I MOBILNE MREE

6.5

UPRAVUANJE MOBILNOU: PRINCIPI

53?

eleli bismo da sistem podrava govor i video u realnom vremenu preko IP-a, da bismo svi mogli da nosimo pijunske satove i vodimo video konferencije sa svojim prijateljima i kolegama bez obzira na to gde se nalazimo. A naravno, eleli bismo da sve to bude besplatno (ili barem da ne bude skupo). Mada ovo moe da zvui kao beina nirvana, dobra vest glasi da veina potrebnih tehnolokih komponenti ve postoji. Sada je jedino pitanje kako da se naprave protokoli i tehnologije koje e ih povezati da bi se ova lista elja ostvarila. U te komponente spadaju tehnologije pristupa kao to su 802.11 i 3G kao i protokoli za upravljanje mobilnou (odeljci 6.5, 6.6 i 6.7), protokoli za kodrovanje i proveru autentinosti (poglavlje 8) i multimedijski mreni protokoli (kao stoje SIP za prenos govora preko IP-a, koji se opisuje u poglavlju 7).

Na drugom kraju spektra zamislite korisnika koji juri auto putem u BMW-u brzinom od 150 km/h, koji prolazi kroz mnoge beine prikljune mree i eli da zadri TCP konekciju sa udaljenom aplikacijom tokom celog putovanja. Ovaj korisnik svakako jeste mobilan! Izmeu ta dva ekstrema imamo korisnika koji uzme svoj laptop sa jednog mesta (npr. kancelarije ili spavaonice) i prenese ga na drugo (npr. u kafi ili uionicu) i hoe da se povee sa mreom na tom novom mestu. Ovaj korisnik je takoe mobilan (mada manje od vozaa BMW-al), ali mu nije potrebno da zadri postojeu konekciju tokom premetanja izmeu mrenih pristupnih taaka. Na slici 6.16 prikazan je ovaj spektar korisnike mobilnosti iz aspekta mrenog sloja. Koliko je vano da adresa mobilnog vora ostane uvek ista? U mobilnoj tele-foniji, va broj telefona - u sutini to je adresa vaeg telefona u mrenom sloju - ostaje uvek isti kada se kreete iz mree jednog operatera mobilne telefonije u mreu drugog operatera. Da li laptop mora na slian nain da zadri istu IP adresu kada se kree meu IP mreama? Odgovor na ovo pitanje umnogome zavisi od aplikacija koje se izvravaju. Za vozaa BMW-a koji eli da zadri TCP konekciju sa udaljenom aplikacijom dok juri auto putem bilo bi zgodno da zadri istu IP adresu. Verovatno se seate iz poglavlja 3 da internetska aplikacija mora da zna IP adresu i broj porta na udaljenom ureaju sa kojim komunicira. Ako je mobilni ureaj u stanju da zadri istu IP adresu dok se kree, njegova mobilnost iz aspekta aplikacije ostaje neprime-tna. Ova transparentnost ima veliki znaaj - aplikacija ne mora da brine o eventualno promenljivoj IP adresi, pa isti aplikacijski kod slui za mobilne konekcije i za one koje to nisu. U sledeem odeljku videemo da mobilni IP obezbeduje tu transparentnost, dozvoljavajui mobilnom voru da zadri svoju trajnu IP adresu dok se kree po mreama. S druge strane, skromniji mobilni korisnik e moda samo hteti da iskljui laptop u kancelariji, donese ga kui, ukljui ga i nastavi da radi od kue. Ako laptop od kue funkcionie pre svega kao klijent u klijent-server aplikacijama (npr. slanje i primanje e-pote, pretraivanje Weba, Telnet prema udaljenom raunaru), konkretna IP adresa koju koristi nije toliko vana. Pogotovo, dobro e posluiti i adresa koju laptopu privremeno dodeljuje posrednik za Internet usluge iji nalog koristite kod kue, U odeljku 5.4.3 videli smo da DHCP ve omoguava ovu funkciju. Koja je oiena infrastruktura dostupna za podrku? U svim gore opisanim scenarijima, implicitno smo pretpostavili da postoji fiksna infrastruktura sa kojom mobilni korisnik moe da se povee, na primer, kuna mrea posrednika Internet usluga, beina prikljuna mrea u kancelariji ili beina prikljuna mrea du celog autoputa. A ta ako takve infrastrukture nema? Ako se dva korisnika nalaze dovoljno blizu, da li mogu da uspostave mrenu vezu i bez ikakve druge infrastrukture mrenog sloja? Ad hoc umreavanje prua upravo tu mogunost. Ovo podruje koje se ubrzano razvija predstavlja vrhunac istraivanja mobil-

6.5 Upravljanje mobilnou: principi


Poto smo sada opisali beinu prirodu komunikacionih linkova u beinoj mrei, vreme je da obratimo panju na mobilnost koju ti beini linkovi omoguavaju. U najirem smislu, mobilni vor je onaj koji u vremenu menja svoju taku prikljuenja na mreu. Poto izraz mobilnost ima razliita znaenja u svetu raunara i u svetu telefonije, prvo emo donekle detaljno razmotriti nekoliko dimenzija mobilnosti. Koliko je korisnik mobilan iz aspekta mrenog sloja? Fiziki mobilan korisnik postavlja pred mreni sloj veoma razliite probleme zavisno od naina na koji menja prikljunu taku sa mreom. Najednom kraju spektra sa slike 6.16 korisnik moe da nosi laptop sa karticom beinog mrenog interfejsa po nekoj zgradi. Kao to smo videli u odeljku 6.3.4 ovaj korisnik iz perspektive mrenog sloja nije mobilan. tavie, ako se korisnik pridruuje istoj pristupnoj taki bez obzira na to gde se nalazi on ak nije mobilan ni iz perspektive sloja veze.

281

POGLAVLJE 6

BEINE I MOBILNE MREE

6.5

UPRAVUANJE MOBILNOU: PRINCIPI

539

nog umreavanja i prelazi okvire ove knjige. [Perkins 2000] i veb stranice IETF radne grupe Mobile Ad Hoc Network [manet 2004] sadre sveobuhvatnu obradu ove teme. Da bismo ilustrovali probleme koje postavlja zahtev da mobilni korisnik zadri postojee konekcije dok se kree meu mreama, razmotrimo jednu analogiju iz svakodnevnog ivota. Mlada osoba koja napusti roditeljsku kuu postaje mobilna, stanuje u raznim spavaonicama ili stanovima i esto menja adrese. Ako stari prijatelj hoe da ga pronae, kako e da utvrdi adresu svog mobilnog prijatelja? Uobiajeni nainje da se potrai porodica, poto mobilni mladi esto prijavljuje svoju trenutnu adresu (ako ni zbog ega drugog onda zato da bi roditelji mogli da mu poalju novac ako mu nedostaje za stanarinu!). Porodina kua sa svojom trajnom adresom postaje mesto koje e drugi ljudi prvo potraiti kako bi stupili u kontakt sa mobilnim mladiem. Nakon toga, komunikacija sa prijateljem moe biti indirektna (na primer, da se pota alje roditeljima koji je zatim prosleuju mobilnom mladiu) ili direktna (na primer, kada prijatelj upotrebi dobijenu adresu i alje potu direktno mobilnom prijatelju). U mrenom okruenju, trajna kua" mobilnog vora (kao stoje laptop ili PDA) naziva se matinom mreom, a entitet u matinoj mrei koji upravlja funkcijama mobilnosti u ime mobilnog vora naziva se matini agent. Mrea u kojoj se mobilni vor trenutno nalazi naziva se strana (ili poseena) mrea, a entitet u stranoj mrei koji pomae mobilnom voru u funkcijama upravljanja mobiinou naziva se strani agent. Za mobilne profesionalce, matina mrea je verovatno mrea njihove kompanije, a poseena mrea moe biti mrea nekog kolege kod kojeg se nalaze. Kore-spondent je entitet koji eli da komunicira sa mobilnim vorom. Slika 6.17 ilustruje ovaj koncept, kao i koncept adresiranja koji e biti izloen u nastavku. Na slici 6.17 moe se primetiti da se agenti nalaze na istom mestu gde i ruteri (na primer, kao procesi koji se izvravaju u ruterima), ali se oni mogu izvravati i na drugim raunarima ili serverima u mrei.

6.5.1 Adresiranje.
Ve smo napomenuli daje poeljno da mobilni vor zadri istu adresu prilikom premetanja iz mree u mreu zato da bi njegova mobilnost bila transparentna za mrene aplikacije. Kada se mobilni vor nalazi u stranoj mrei, sav saobraaj adresiran na njegovu trajnu adresu mora da se rutira u stranu mreu. Kako se to postie? Jedna mogunost je da strana mrea objavi svim ostalim mreama da se mobilni vor nalazi kod nje. To bi moglo da se postigne putem uobiajene razmene informacija o rutiranju unutar domena i meu domenima, i zahtevalo bi samo male izmene u postojeoj infrastrukturi rutiranja. Strana mrea bi jednostavno objavila svojim susedima da poseduje veoma specifinu rum prema trajnoj adresi mobilnog vora (tj. u sutini bi obavestila ostale mree da poseduje tanu putanju za rutiranje datagrama prema trajnoj adresi mobilnog vora; proitajte odeljak 4.4). Ti susedi bi zatim propagirali ovu informaciju po celoj mrei u sklopu normalne procedure za auriranje informacija o rutiranju i tabela prosleivanja. Kada mobilni vor napusti jednu stranu mreu i pree u drugu, nova strana mrea e objaviti novu, sasvim konkretnu rutu prema mobilnom voru, a stara strana mrea e povui informacije o rutiranju koje se odnose na mobilni vor. Na ovaj nain se istovremeno reavaju dva problema i to bez znaajnih izmena infrastrukture mrenog sloja. Druge mree znaju za lokaciju mobilnog vora i datagrami se lako rutiraju prema njemu poto e tabele prosleivanja usmeriti datagram u stranu mreu. Meutim, tu postoji znaajan nedostatak skalabilnosti. Kada bi upravljanje mobiinou postalo zadatak mrenih rutera, oni bi moda morali u tabeli prosleivanja da odravaju stavke za milione mobilnih vorova i da ih auriraju u skladu sa kretanjem vorova. U problemima na kraju ovog poglavlja istrauju se jo neki nedostaci.

282

POGLAVLJE 6

BEINE l MOBILNE MREE

6.5

UPRAVLJANJE MOBILNOU: PRINCIPI

541

Drugi pristup (pristup koji je prihvaen u praksi) jeste da se funkcije mobilnosti prenesu iz jezgra mree na njenu periferiju - tema na koju stalno nailazimo u prouavanju arhitekture Interneta. Prirodno je da se to uradi preko matine mree mobilnog vora. Na slian nain kao to roditelji mobilnog tinejdera prate njegovu lokaciju, matini agent u matinoj mrei mobilnog vora moe da prati stranu mreu u kojoj se mobilni vor nalazi. Da bi se aurirala prava lokacija mobilnog vora svakako e biti potreban i protokol izmeu mobilnog vora (ili stranog agenta koji ga predstavlja) i njegovog matinog agenta. Razmotrimo sada malo detaljnije stranog agenta. Prema najjednostavnijoj zamisli prikazanoj na slici 6.17, strani agenti se stavljaju u periferne rutere strane mree. Jedna od uloga stranog agenta je da napravi takozvanu privremenu adresu (care-of address, COA) za mobilni vor u kojoj mreni deo adrese odgovara stranoj mrei. Na taj nain su mobilnom voru pridruene dve adrese, njegova trajna adresa (analogna roditeljskoj adresi mobilnog tinejdera) i njegova COA koju ponekad nazivamo stranom adresom (analogno adresi kue u kojoj mobilni tinejder trenutno stanuje). U primeru sa slike 6.17, trajna adresa mobilnog vora je 128.119.40.186. Dok se nalazi u poseti mrei 79.129.13/24, mobilni vor ima adresu COA 79.129.13.2. Druga uloga stranog agenta je da obavesti matinog agenta da se mobilni vor nalazi u njegovoj (stranoj) mrei i daje dobio adresu COA. Uskoro emo videti da se COA koristi za prerutiranje" datagrama mobilnom voru preko njegovog stranog agenta. Mada smo razdvojili funkcije mobilnog vora i stranog agenta, treba napomenuti da zadatke stranog agenta moe da preuzme i sam mobilni vor. Na primer, mobilni vor bi mogao da pribavi adresu COA u stranoj mrei (na primer, pomou protokola kakav je DHCP) i sam obavesti matinog agenta o toj privremenoj adresi.

li se mobilni vor nalazi u svojoj matinoj mrei ili u poseti stranoj mrei; mobilnost ostaje za korespondenta potpuno transparentna. Takvi datagrami se prvo rutiraju kao i obino u matinu mreu mobilnog vora. Ovo je prikazano kao korak 1 na slici 6.18. Obratimo sada panju na matinog agenta. Osim to je zaduen za interakciju sa stranim agentom kako bi pratio adresu COA mobilnog vora, matini agent ima jo jednu veoma vanu funkciju. Njegov drugi zadatak je da eka datagrame adresirane na vorove ija matina mrea jeste mrea matinog agenta, ali se trenutno nalaze u stranoj mrei. Matini agent presree te datagrame i zatim ih prosleuje mobilnom voru u postupku od dva koraka. Datagram se prvo prosleuje stranom agentu pomou adrese COA mobilnog vora (korak 2 na slici 6.18), a zatim se prosleuje od stranog agenta ka mobilnom voru (korak 3 na slici 6.18).

6.5.2 Rutiranje prema mobilnom voru


Sada smo videli kako mobilni vor dobija adresu COA i kako se matini agent obavetava o toj adresi. Ali, to to matini agent zna za adresu COA reava samo deo problema. Kako adresirati datagrame i kako ih proslediti mobilnom voru? Poto za lokaciju mobilnog vora zna samo matini agent (a ne i ruteri svuda u mrei) nee vie biti dovoljno da se datagram jednostavno adresira na trajnu adresu mobilnog vora i poalje u infrastrukturu mrenog sloja. Potrebno je uraditi neto vie. Mogua su dva pristupa koja emo nazvati indirektnim i direktnim rutiranjem.

Indirektno rutiranje prema mobilnom voru


Razmotrimo prvo korespondenta koji eli da poalje datagram mobilnom voru, Ako se koristi indirektno rutiranje, korespondent jednostavno adresira datagram na trajnu adresu mobilnog vora i alje datagram u mreu, u blaenom neznanju da

542

POGLAVLJE o

BEINE I MOBILNE MREE

6.5

UPRAVLJANJE MOBILNOU: PRINCIPI

283

Prouimo detaljnije ovo prerutiranje. Da bi mreni sloj rutirao datagram u stranu mreu, matini agent mora da adresira datagram pomou adrese COA mobilnog vora. S druge strane, poeljno je da datagram korespondenta ostane netaknut poto aplikacija koja prima datagram ne srne da primeti daje datagram prosleden preko matinog agenta. Oba ova zahteva mogu da se zadovolje ako matini agent enkapsulira kompletan prvobitni datagram dobijen od korespondenta u jedan novi (vei) datagram. Ovaj vei datagram se adresira i isporuuje na adresu COA mobilnog vora. Strani agent, vlasnik" adrese COA, e primiti i dekapsulirati datagram, tj. izdvojiti prvobitni datagram korespondenta iz veeg enkapsulirajueg datagrama i zatim proslediti (korak 3 na slici 6.18) prvobitni datagram mobilnom voru. Na slici 6.19 prikazanje prvobitni datagram korespondenta koji se alje u matinu mreu, enkapsulirani datagram koji se alje stranom agentu i prvobitni datagram koji se isporuuje mobilnom voru. Pronicljivi italac e primetiti da je enkapsuliranjc i dekapsuliranje koje ovde opisujemo identino pojmu tunelovanja koji smo u poglavlju 4 opisivali u kontekstima vieznanog IP upuivanja i protokola IPv6.

Pogledajmo sada kako mobilni vor alje datagrame korespondentu. To je sasvim jednostavno poto mobilni vor moe svoje datagrame da adresira direktno korespondentu (koristei vlastitu trajnu adresu kao adresu izvora, a koresponden-tovu adresu kao adresu odredita). Poto mobilni vor zna adresu korespondenta, nije potrebno da se datagram rutira preko matinog agenta. Ovo je prikazano kao korak 4 na slici 6.18. U ovoj rekapitulaciji indirektnog rutiranja dajemo spisak novih funkcija mrenog sloja potrebnih za podrku mobilnosti. Protokol izmeu mobilnog vora i stranog agenta. Mobilni vor e se prijaviti kod stranog agenta prilikom povezivanja u stranu mreu. Slino tome, mobilni vor e se odjaviti kod stranog agenta kada bude naputao stranu mreu. Protokol kojim strani agent vri registraciju kod matinog agenta. Strani agent e prijaviti adresu COA mobilnog vora matinom agentu. Sirani agent ne mora eksplicitno da odjavi adresu COA kada mobilni vor napusti njegovu mreu poto e to resiti naknadno prijavljivanje nove adrese COA kada mobilni vor pree u novu mreu. Protokol kojim matini agent enkapsulira datagram. Za enkapsuliranje i prosleivanje prvobitnog datagrama korespondenta u datagramu adresiranom na adresu COA. Protokol kojim strani agent dekapsulira datagram. Za izdvajanje koresponen-tovog prvobitnog datagrama iz enkapsulirajueg datagrama i za prosleivanje prvobitnog datagrama mobilnom voru. Prethodni opis sadri sve delove - strane agente, matinog agenta i indirektno prosleivanje - potrebne da bi mobilni vor zadrao neprekinutu konekciju dok se kree po raznim mreama. Kao primer ove saradnje pretpostavimo daje mobilni vor vezan za stranu mreu A, da je prijavio adresu COA iz mree A svom matinom agentu i da prima datagrame inireklno rutirane preko njegovog matinog agenta. Mobilni vor sada prelazi u stranu mreu B i registruje se kod stranog agenta u mrei B koji obavetava matinog agenta o novoj adresi COA mobilnog vora. Poevi od tog trenutka, matini agent e prerutirati datagrame u stranu mreu B. to se tie korespondenta, mobilnost je transparentna - i pre i posle premetanja datagrami se rutiraju preko istog matinog agenta. to se tie matinog agenta, nema prekida u toku datagrama - pristigli datagrami se prvo prosleuju u stranu mreu A; nakon promene adrese COA datagrami se prosleuju u stranu mreu B. Ali, da li e mobilni vor primetiti prekid u toku datagrama kada promeni mreu? Ako je vreme od trenutka kada mobilni vor prekine konekciju sa mreom A (kada vie ne moe da prima datagrame preko mree A) do trenutka kada se prikljui na mreu B (kada bude prijavio novu adresu COA svom matinom agentu) dovoljno kratko, izgubie se mali broj datagrama. Verovatno se seate iz poglavlja 3 da u konekcijama sa kraja na kraj moe doi do gubitaka datagrama zbog zaguenja mree. Prema tome,

284

POGLAVLJE 6

BEINE I MOBILNE MREE

6.5

UPRAVUANJE MOBILNOU: PRINCIPI

545

povremeni gubitak datagrama u konekciji kada vor prelazi iz mree u mreu nikako ne predstavlja katastrofalan problem. Ako je potrebna komunikacija bez gubitaka, mehanizmi u viim slojevima e se pobrinuti za oporavak od gubitaka, bez obzira na to da li je do gubitka dolo zbog zaguenja mree ili zbog mobilnosti korisnika. U standardu za mobilni IP [RFC 3220] prihvaen je pristup sa indirektnim ruti-ranjem kao stoje opisano u odeljku 6.6. Direktno rutiranje prema mobilnom voru Pristup sa indirektnim rutiranjem prikazan na slici 6.18 pati od problema neefikasnosti poznatog pod imenom trougao rutiranja - datagrami adresirani mobilnom voru moraju se prvo rutirati matinom agentu i zatim stranoj mrei, ak i kada izmeu korespondenta i mobilnog vora postoji mnogo efikasnija ruta. U najgorem sluaju, zamislite mobilnog korisnika u poseti stranoj mrei nekog kolege. Njih dvojica sede jedan pored drugog i razmenjuju podatke preko mree. Datagrami od korespondenta (u ovom sluaju kolege naeg posetioca) rutiraju se matinom agentu mobilnog korisnika i ponovo nazad u stranu mreu! Direktno rutiranje etiminie problem trougla rutiranja, ali zato poveava sloenost. U pristupu sa direktnim rutiranjem, za adresu COA mobilnog vora prvo saznaje agent korespondenta u mrei korespondenta. To se moe postii tako da agent korespondenta poalje upit matinom agentu pod pretpostavkom (kao u sluaju indirektnog rutiranja) daje mobilni vor prijavio aurnu vrednost adrese COA svom matinom agentu. Takoe je mogue da funkciju agenta korespondenta vri sam korespondent, kao to je mobilni vor mogao da vri funkciju stranog agenta. Ovo je prikazano kao koraci 1 i 2 na slici 6.20. Agent korespondenta zatim direktno tuneluje datagrame na adresu COA mobilnog vora slino tunelovanju koje je obavljao matini agent (koraci 3 i 4 na slici 6.20). Iako direktno rutiranje reava problem trougla rutiranja, ono dovodi do dodatne sloenosti: Potreban je poseban protokol za pronalaenje mobilnog korisnika da bi agent korespondenta od matinog agenta saznao adresu COA mobilnog vora (koraci 1 i 2 na slici 6.20). Kada mobilni vor prelazi iz jedne strane mree u drugu, kako e se podaci proslediti u novu stranu mreu? U sluaju indirektnog rutiranja, ovaj problem se jednostavno reavao auriranjem adrese COA pri matinom agentu. Meutim, kod direktnog rutiranja agent korespodenta samo jedanput na poetku sesije trai adresu COA od matinog agenta. Prema tome, auriranje COA kod matinog agenta (mada neophodno) nee biti dovoljno da resi problem rutiranja podataka prema novoj stranoj mrei mobilnog vora.

Ovde bijedno reenje bilo da se napravi novi protokol za obavetavanje korespondenta o promenjenoj adresi COA. Drugo reenje koje je primenjeno u praksi u GSM mreama, funkcionie na sledei nain. Pretpostavimo da se podaci trenutno prosleduju mobilnom voru u stranoj mrei u kojoj se mobilni vor nalazio na poetku sesije (korak 1 na slici 6.21). Stranog agenta u stranoj mrei u kojoj se mobilni vor nalazi na poetku nazvaemo sidreni strani agent. Kada mobilni vor pree u novu stranu mreu (korak 2 na slici 6.21) mobilni vor se prijavljuje novom stranom agentu (korak 3), a novi strani agent predaje sidrenom stranom agentu novu adresu COA mobilnog vora (korak 4). Sidreni strani agent koji primi enkapsulirani datagram za mobilni vor koji je otiao ponovo e enkapsulirati datagram i proslediti ga na novu COA (korak 5). Ako mobilni vor kasnije ponovo ode u novu stranu mreu, strani agent nove poseene mree e tada obavestiti sidrenog stranog agenta da se pripremi prosledivanje u tu novu stranu mreu.

546

POGLAVLJE 6

BEINE I MOBILNE MREE

6.6

MOBILNI IP

285

Prijavljivanje matinom agentu. Mobilni IP definie protokole pomou kojih mobilni vor i/ili strani agent prijavljuje i odjavljuje adresu COA mobilnog vora matinom agentu. Indirektno rutiranje datagrama. Standard takoe definie nain na koji matini agent prosleduje datagrame mobilnim vorovima, ukljuujui pravila za prosleivanje datagrama, pravila za obradu greaka i nekoliko razliitih oblika enkapsuliranja [RFC 2003, RFC 2004]. Pitanja bezbednosti imaju veliki znaaj u elom standardu za mobilni IP. Na primer, svakako je potrebna provera autentinosti mobilnog vora da bi se zlona-memi korisnik spreio da prijavi matinom agentu lanu privremenu adresu, pa bi svi datagrami adresirani ha neku IP adresu bili preusmereni zlonamernom korisniku. Mobilni IP postie bezbednost pomou mnogih mehanizama koje emo obraditi u poglavlju 8, pa se u naem sledeem tekstu neemo baviti pitanjima bezbednosti. Otkrivanje agenta Mobilni IP vor koji stie u novu mreu, bilo da se prikljuuje stranoj mrei ili se vraa u svoju matinu mreu, mora da sazna identitet odgovarajueg stranog ili matinog agenta. Zaista, mreni sloj u mobilnom voru saznaje daje premeten u novu stranu mreu kada otkrije novog stranog agenta sa novom mrenom adresom. Ovaj postupak se naziva otkrivanje agenta. Otkrivanje agenta moe se postii na jedan od sledea dva naina: putem objave agenta ili putem zahteva agentu. Ako se koristi oglaavanje agenta, strani ili matini agent oglaava svoje usluge pomou proirenja postojeeg protokola za otkrivanje rutera [RFC 1256]. Agent svim linkovima na koje je povezan povremeno difuzno emituje ICMP poruku sa vrednou 9 (otkrivanje rutera) u polju za tip'poruke. Poruka za otkrivanje rutera sadri IP adresu rutera (tj. agenta) i tako omoguava mobilnom voru da sazna IP adresu agenta. Poruka za otkrivanje rutera takode sadri proirenje sa objavom mobilnog agenta koje sadri dodatne informacije potrebne mobilnom voru. Znaajnija polja u tom proirenju su: Bit matinog agenta (H). Oznaava da je re o matinom agentu za mreu u kojoj se nalazi. Bit stranog agenta (F). Oznaava da je re o stranom agentu za mreu u kojoj se nalazi. Bit obaveznog registrovanja (R). Oznaava da mobilni korisnik u ovoj mrei mora da se prijavi stranom agentu. Konkretno, mobilni korisnik ne moe sam da pribavi privremenu adresu u stranoj mrei (na primer, pomou DHCP-a) i da sam preuzme funkcije stranog agenta bez prijavljivanja stranom agenm.

6.6 Mobilni IP
Arhitektura Interneta i protokoli za podrku mobilnosti koji se zajedno zovu mobilni IP prvo su definisani u standardu RFC 3220. Mobilni IP je fleksibilan standard, koji podrava mnoge razliite reime'rada, na primer, rad sa stranim agentom ili bez njega, vie naina za meusobno otkrivanje agenata i mobilnih vorova, korienje jedne ili vie adresa COA i vie oblika enkapsuliranja. Kao takav, mobilni IP je sloeni standard i bila bi potrebna cela knjiga da se detaljno opie; jedna od tih knjiga je [Perkins 1998b]. Na skromni cilj je da ovde opiemo najvanije aspekte mobilnog IP-a i da prikaemo njegovo korienje u nekoliko uobiajenih situacija. Arhitektura mobilnog IP-a sadri mnoge od elemenata koje smo upravo razmatrali ukljuujui i koncepciju matinih agenata, stranih agenata, privremenih adresa, kao i enkapsulaciju i dekapsulaciju. Vaei standard [RFC 3220] zahteva indirektno rutiranje prema mobilnom voru. Mobilni standard ima tri glavna dela: Otkrivanje agenta. Mobilni IP defmie protokole kojima matini i strani agent objavljuju svoje usluge mobilnim vorovima i protokole kojima mobilni vorovi zahtevaju usiuge stranog ili matinog agenta.

286

POGLAVLJE 6

'

BEINE I MOBILNE MREE

6.6

MOBILNI IP

549

M, G bitovi enkapsuliranja. Oznaavaju da li e se koristiti neki vid enkapsulira-nja osim enkapsuliranj a IP-u-IP. Polja COA (Care-of addresses). Spisak od jedne ili nekoliko privremenih adresa koje nudi strani agent. U naem sledeem primeru, COA e biti pridruena stranom agentu koji je zaduen za primanje datagrama koji se alju na adresu COA i za njihovo prosledivanje odgovarajuem mobilnom voru. Mobilni korisnik e prilikom prijavljivanja svom matinom agentu izabrati jednu od ovih adresa za svoju adresu COA.

Prijavljivanje matinom agentu Kada mobilni IP vor pribavi adresu COA, ta adresa mora da se prijavi matinom agentu. To moe da uradi strani agent (koji zatim prijavljuje adresu COA matinom agentu) ili direktno sam mobilni IP vor. Razmotriemo prvi sluaj koji se sastoji iz etiri koraka. 1. Poto primi oglaavanje stranog agenta, mobilni vor alje stranom agentu poruku za prijavljivanje mobilnog IP-a. Poruka prijavljivanja stavlja se u UDP datagram i alje na port 434. Poruka prijavljivanja sadri adresu COA iz oglaavanja stranog agenta, adresu matinog agenta (hotne agent, HA), trajnu adresu mobilnog vora (MA), zahtevano trajanje prijave i identifikaciju prijave od 64 bita. Zahtevano trajanje prijave je broj sekundi koliko prijava treba da vai. Ako se u navedenom intervalu prijava ne obnovi kod matinog agenta, ona prestaje da vai. Identifikator prijave slui kao redni broj i potreban je za uparivanje odgovora o primljenoj rezervaciji sa zahtevom za rezervaciju, to emo kasnije opisati. 2. Strani agent prima poruku prijavljivanja i evidentira trajnu IP adresu mobilnog vora. Strani agent sada zna da treba oekivati datagrame koji sadre enkapsulirane datagrame ija je odredina adresa jednaka trajnoj adresi mobilnog vora. Strani agent tada alje poruku sa mobilnom IP prijavom (opet u UDP datagramu) na port 434 matinog agenta. Poruka sadri COA, HA, MA, zahtevani format enkapsuliranj a, zahtevano trajanje prijave i identifikaciju prijave. 3. Matini agent prima zahtev za prijavu i proverava autentinost i ispravnost. Matini agent povezuje trajnu IP adresu mobilnog vora sa adresom COA; ubudue, datagrami koji budu stizali matinom agentu, a namenjeni su mobilnom voru bie enkapsulirani i tunelovani ka adresi COA. Matini agent alje odgovor na mobilnu IP prijavu, a on sadri HA, MA, odobreno trajanje prijave identifikaciju prijave iz zahteva na koji se ovaj odgovor odnosi. 4. Strani agent prima odgovor na prijavu i prosleuje ga mobilnom voru. U ovom trenutku prijava je potpuna i mobilni vor moe da prima datagrame upuene na njegovu trajnu adresu. Ovi su koraci prikazani na slici 6.23. Obratite panju na to da matini agent odobrava manje trajanje nego to je mobilni vor zahtevao. Strani agent ne mora eksplicitno da odjavi adresu COA kada mobilni vor napusti njegovu mreu. To e se postii automatski kada mobilni vor stigne u novu mreu (bilo drugu stranu mreu ili svoju matinu mreu) i prijavi novu adresu COA.

i J j j i
! ] \ \

Na slici 6 22 prikazana su neka od kljunih polja u agentovoj poruci objave. Ako se koriste zahtevi agentu, mobilni vor koji eli da sazna za agente, a ne da eka dok primi oglaavanje agenta, moe difuzno da emituje poruku zahteva agentu - to je jednostavno ICMP poruka sa vrednou 10 u polju tipa. Agent koji primi takav zahtev jednoznano e uputiti oglaavanje agenta direktno mobilnom voru koji e zatim postupiti kao daje primio oglaavanje koje nije sam traio.

i j

\
1

\ | \
J j

j i

; \ !i

550

POGLAVLJE 6

BEINE l MOBILNE MREE

6.7

UPRAVLJANJE MOBILNOU U CELULARNIM MREAMA

551

6 .7 Upravljanje mobiinou u celularnim mreama


Poto smo razmotrili nain na koji se mobiinou upravlja u IP mreama, obratimo sada panju na mree sa jo veim iskustvom za podrku mobilnosti - mree mobilne telefonije. Dok smo u odeljku 6.4 analizirali beini link prvog skoka u celularnim mreama, ovde se usredsreujemo na mobilnost u arhitekturi GSM mree [Goodman 1997; Mouly 1992; Scourias 1997; Kaaranen 2001; Korhonen 2002] postoje to zrela i iroko primenjena tehnologija. Kao i u sluaju mobilnog IP-a, videemo daje u arhitekturu GSM mree ugraen niz osnovnih principa koje smo utvrdili u odeljku 6.5. Isto kao i mobilni IP, GSM prihvata princip indirektnog rutiranja (odeljak 6.5.2), tako to poziv korespondenta prvo rutira u matinu mreu mobilnog korisnika, a odande u poseenu mreu. U terminologiji GSM-a matina mrea mobilnog korisnika naziva se matina javna zemaljska

mobilna mrea (home Public Land Mobile Network, home PLMN). Poto se akronim PLMN teko
izgovara i s obzirom na nau elju da izbegnemo prevelik broj akronima, matini PLMN u GSM mrei nazvaemo jednostavno matinom' mreom. Matina mrea je mobilni operater kod kojeg je mobilni korisnik pretplaen (tj. operater koji korisniku alje mesene fakture za usluge). Poseeni PLMN, kojeg emo jednostavno zvati poseena mrea, jeste mrea u kojoj se mobilni korisnik trenutno nalazi. Kao i u sluaju mobilnog IP-a, zaduenja matine i poseene mree se veoma razlikuju. Matina mrea odrava bazu podataka poznatu kao matini registar lokacija (Home Location

Register, HLR) koji za svakog pretplatnika sadri trajni broj telefona i informacije o profilu
pretplatnika. Veoma je vano to HLR takoe sadri informaciju o trenutnoj lokaciji pretplatnika. To jest, ako je mobilni korisnik trenutno u romingu u mrei drugog operatera, HLR sadri dovoljno informacija za utvrivanje (postupkom koji emo uskoro opisati) adrese u poseenoj mrei na koju treba rutirati pozive mobilnom korisniku. Kao to emo videti, kada poziva mobilnog korisnika korespondent stupa u vezu sa posebnim komutatorom u matinoj mrei koji se naziva GMSC (Gateway Mobile Services Svvitching Center). I ovde, da bismo smanjili broj upotrebljenih akronima GMSC emo - nazivati matini MSC. Poseena mrea odrava bazu podataka poznatu pod imenom registar lokacija posettlaca

(Visitor Location Register, VLR). VLR sadri po jednu stavku za svakog mobilnog korisnika koji se trenutno nalazi u delu mree koji opsluuje VLR. Stavke VLR-a se zato dodaju i izbacuju kako mobilni korisnici ulaze u mreu ili je naputaju.'VLR se obino nalazi na istom mesni gde i
MSC (Mobile Switching Center) koji koordinira uspostavljanje poziva prema poseenoj mrei i iz nje.

Osim ovde opisanih, standard za mobilni IP dozvoljava i mnoge dragaije scenarije. itaoci koje to zanima trebalo bi da proitaju knJlge [Perkms 1998b; RFC 32201-

288

POGLAVLJE 6

BEINE I MOBILNE MREE

6.7

. UPRAVLJANJE MOBILNOU U CELULARNIM MREAMA

551

6 .7 Upravljanje mobilnou u celularnim mreama


Poto smo razmotrili nain na koji se mobilnou upravlja u IP mreama, obratimo sada panju na mree sa jo veim iskustvom za podrku mobilnosti - mree mobilne telefonije. Dok smo u odeljku 6.4 analizirali beini link prvog skoka u celularnim mreama, ovde se usredsreujemo na mobilnost u arhitekturi GSM mree [Goodman 1997; Mouly 1992; Scourias 1997; Kaaranen 2001; Korhonen 2002] postoje to zrela i iroko primenjena tehnologija. Kao i u sluaju mobilnog IP-a, videemo daje u arhitekturu GSM mree ugraen niz osnovnih principa koje smo utvrdili u odeljku 6.5. Isto kao i mobilni IP, GSM prihvata princip indirektnog rutiranja (odeljak 6.5.2), tako to poziv korespondenta prvo rutira u matinu mreu mobilnog korisnika, a odande u poseenu mreu. U terminologiji GSM-a matina mrea mobilnog korisnika naziva se matina javna zemaljska mobilna mrea (home Public Land Mobile Netvvork, home PLMN). Poto se akronim PLMN teko izgovara i s obzirom na nau elju da izbegnemo prevelik broj akronima, matini PLMN u GSM mrei nazvaemo jednostavno matinom' mreom. Matina mrea je mobilni operater kod kojeg je mobilni korisnik pretplaen (tj. operater koji korisniku alje mesene fakture za usluge). Poseeni PLMN, kojeg emo jednostavno zvati poseena mrea, jeste mrea u kojoj se mobilni korisnik trenutno nalazi. Kao i u sluaju mobilnog IP-a, zaduenja matine i poseene mree se veoma razlikuju. Matina mrea odrava bazu podataka poznatu kao matini registar lokacija (Home Location Register, HLR) koji za svakog pretplatnika sadri trajni broj telefona i informacije o profilu pretplatnika. Veoma je vano to HLR takoe sadri informaciju o trenutnoj lokaciji pretplatnika. To jest, ako je mobilni korisnik trenutno u romingu u mrei drugog operatera, HLR sadri dovoljno informacija za utvrivanje (postupkom koji emo uskoro opisati) adrese u poseenoj mrei na koju treba rutirati pozive mobilnom korisniku. Kao to emo videti, kada poziva mobilnog korisnika korespondent stupa u vezu sa posebnim komutatorom u matinoj mrei koji se naziva GMSC (Gateway Mobile Services Switching Center). I ovde, da bismo smanjili broj upotrebljenih akronima GMSC emo nazivati matini MSC. Poseena mrea odrava bazu podataka poznatu pod imenom registar lokacija posetilaca (Visitor Location Register, VLR). VLR sadri po jednu stavku za svakog mobilnog korisnika koji se trenutno nalazi u delu mree koji opsluuje VLR. Stavke VLR-a se zato dodaju i izbacuju kako mobilni korisnici ulaze u mreu ili je naputaju. VLR se obino nalazi na istom mestu gde i MSC (Mobile Switching Center) koji koordinira uspostavljanje poziva prema poseenoj mrei i iz nje.

Osim ovde opisanih, standard za mobilni IP dozvoljava i mnoge drugaije scenarije. itaoci koje to zanima trebalo bi da proitaju knjige [Perkins 1998b; RFC 3220].

289

POGLAVLJE 6

BEINE 1 MOBILNE MREE

6.7

UPRAVUANJE MOBILNOU U CELULARNIM MREAMA

553

U praksi, celularna mrea jednog posrednika igra ulogu matine mree za svoje pretplatnike, a poseene mree za mobilne korisnike pretplaene kod drugog mobilnog operatera.

6.7,1 Rutiranje poziva prema mobilnom korisniku


Sada smo moemo da opiemo kako se poziva mobilni GSM korisnik u poseenoj mrei. Razmotriemo sledei jednostavan sluaj; sloeniji scenariji opisani su u knjizi [Mou!y 1992], Kao stoje prikazano na slici 6.24, koraci su sledei: 1. Korespondent bira telefonski broj mobilnog korisnika. Sam broj se ne odnosi ni na jednu konkretnu telefonsku liniju ni lokaciju (broj telefona je stalan, a korisnik je mobilan!). Poetne cifre u broju su dovoljne za globalnu identifikaciju matine mree mobilnog korisnika. Poziv se rutira od korespondenta kroz javnu telefonsku mreu do matinog MSC-a u matinoj mrei mobilnog korisnika. Ovo je prvi krak poziva. 2. Matini mobilni komutacioni centar prima poziv i ispituje HLR kako bi utvrdio lokaciju mobilnog korisnika. U najprostijem sluaju HLR vraa roming broj

mobilne stanice MSRN (Mobile Station Roaming Number), koji emo zvati roming broj. Obratite panju na to da se ovaj broj razlikuje od trajnog broja telefona koji je povezan sa matinom mreom mobilnog korisnika. Roming broj je nepostojan: on se privremeno dodeljuje mobilnom korisniku prilikom ulaska u poseenu mreu. Roming broj igra ulogu slinu privremenoj adresi u mobilnom IP-u i isto kao COA nevidljiv je za korespondenta i za mobilnog korisnika. Ako HLR ne raspolae roming brojem, on vraa adresu VLR-a u poseenoj mrei. U tom sluaju (koji nije prikazan na slici 6.24) matini MSC morae da poalje upit kako bi od VLR-a pribavio roming broj mobilnog vora. Ali kako HLR uopte pribavlja roming broj ili VLR adresu? ta se dogaa sa ovim vrednostima kada mobilni korisnik pree u neku drugu poseenu mreu? Uskoro emo razmotriti ova znaajna pitanja. 3. Kada- pribavi roming broj, matini MSC uspostavlja drugi krak poziva kroz mreu do MSC-a u poseenoj mrei. Poziv je kompletiran poto je rutiran od korespondenta do matinog MSC-a odatle do poseenog MSC-a, a od njega do bazne stanice koja opsluuje mobilnog korisnika. U koraku 2 ostaje nerazreeno pitanje kako HLR pribavlja informaciju o lokaciji mobilnog korisnika. Kada se mobilni telefon ukljui ili kada ue u deo poseene mree koji pokriva novi VLR, on mora da se prijavi poseenoj mrei. To se obavlja razmenom signalnih poruka izmeu mobilnog telefona i VLR-a. Zatim poseeni VLR alje poruku sa zahtevom za auriranje lokacije matinom HLR-u mobilnog telefona. Ova poruka obavetava HLR ili o roming broju na kojem se moe stupiti u vezu sa mobilnim telefonom ili o adresi VLR-a (od kojeg se kasnije moe dobiti broj mobilnog telefona). U sklopu ove razmene VLR takode pribavlja od HLR-a pretplatnike informacije o mobilnom korisniku i utvruje koje usluge mu treba omoguiti u poseenoj mrei.

6.7.2 Predavanje u GSM-u


Kada mobilna stanica tokom poziva promeni pridruivanje od jedne bazne stanice na drugu kaemo daje dolo do predavanja. Kao to je prikazano na slici 6.25, mobilni poziv se na poetku (pre predavanja) rutira mobilnom korisniku preko jedne bazne stanice (koju emo sada nazivati stara bazna stanica), a nakon predavanja se rutira preko druge bazne stanice (koju emo nazvati nova bazna stanica). Obratite panju na to da prilikom predaje meu baznim stanicama ne dolazi samo do promene u komunikaciji izmeu mobilne stanice i nove bazne stanice, ve takode i u preusmeravanju poziva izmeu centrale u mrei i nove bazne stanice. Poimo od pretpostavke da stara i nova bazna stanica pripadaju istom MSC-u i da se preusme-ravanje obavlja u tom MSC-u. Do predavanja moe doi iz vie razloga, ukljuujui ( 1 ) ako signal izmeu trenutne bazne stanice i mobilne stanice do te mere izgubi na kvalitetu da postoji opasnost od prekida poziva i (2) ako je elija postala preoptereena zbog velikog

554

POGLAVLJE o

BEINE I MOBILNE MREE

6.7

UPRAVLJANJE MOBILNOU U CELULARNIM MREAMA

290

broja poziva. Ovo zaguenje moe da se ublai predavanjem mobilnih stanica manje zaguenim oblinjim elijama. Dok je pridruena baznoj stanici, mobilna stanica povremeno meri jainu signala za navoenje iz trenutne bazne stanice, kao i jaine signala za navoenje iz oblinjih baznih stanica koje moe da uje". Ova merenja se jednom ili dva puta u sekundi prenose trenutnoj baznoj stanici. U GSM-u predavanje pokree stara bazna stanica na osnovu ovih merenja, trenutnog optereenja mobilnim korisnicima u oblinjim elijama i drugih faktora [Mouly 1992], Standard GSM ne odreuje konkretan algoritam koji bazna stanica treba da primeni kako bi utvrdila da li da obavi predavanje ili ne. Na slici 6.26 prikazani su koraci po kojima bazna stanica odluuje da preda mobilnog korisnika: 1. Stara bazna stanica (BS) obavetava poseeni MSC da e se obaviti predavanje i navodi BS (ili skup BS-ova) kojima bi se mobilna stanica mogla predati. 2. Poseeni MSC inicira uspostavljanje putanje prema novoj BS, dodeljuje resurse potrebne za prenos preusmerenog poziva i obavetava novu BS da e doi do predavanja. 3. Nova BS dodeljuje i aktivira radio kanal koji e koristiti mobilna stanica. 4. Nova BS odgovara poseenom MSC-u i staroj BS daje uspostavljena putanja od poseenog MSC-a do nove bazne stanice i daje potrebno obavestiti mobilnu stanicu da e nastupiti predavanje. Nova BS obezbeduje sve informacije potrebne mobilnoj stanici za pridruivanje sa novom BS. 5. Mobilna stanica se obavetava da treba da izvri predavanje. Obratite panju na to da je sve do ovog trenutka mobilna stanica bila u blaenom neznanju da je mrea pripremala teren za predavanje (tj. dodeljivala kanal novoj baznoj stanici i dodeljivala putanju od poseenog MSC-a do nove BS).

7. Mobilna i nova BS razmenjuju jednu ili vie poruka da bi se potpuno aktivirao novi kanal u novoj BS. 8. Mobilna stanica alje novoj baznoj stanici poruku da je predavanje dovreno, a nova BS prosleduje tu poruku poseenom MSC-u. Poseeni MSC zatim preu-smerava poziv koji je u toku mobilnoj stanici preko nove BS. 9. Zatim se oslobaaju resursi na putanji prema staroj baznoj stanici. Zakljuimo ovaj opis predavanja razmatranjem dogaaja do kojih dolazi kada se mobilna stanica premesti na baznu stanicu koja pripada razliitom MSC-u od stare bazne stanice i ta se dogaa kada vie puta dolazi do takvog predavanja meu MSC-ovima. Kako je prikazano na slici 6.27, u GSM-u je defmisan pojam sidrenog MSC-a. Sidreni MSC je onaj MSC u kome se mobilna stanica nalazila na poetku poziva; sidreni MSC se dakle ne menja tokom celog poziva. Za svo vreme dok poziv traje i bez obzira na broj prelazaka meu razliitim MSC-ovima poziv se rutira od matinog MSC-a u sidreni MSC, a zatim od sidrenog MSC-a u poseeni MSC gde se mobilna stanica trenutno nalazi. Kada mobilna stanica prelazi iz podruja koje pokriva jedan MSC u drugo podruje, poziv koji je u toku prerutira se iz sidrenog MSC-a u novi poseeni MSC koji sadri novu baznu stanicu. Prema tome, izmeu korespondenta i mobilne stanice nalazi se najvie 3 MSC-a (matini MSC, sidreni MSC i poseeni MSC). Na slici 6.2? prikazano je rutiranje poziva meu MSC-ovima koje mobilni korisnik poseuje. Alternativa ovakvom povezivanju gde se zadrava samo jedan skok od sidrenog MSC-a do trenutnog MSC-a moglo bi biti zadravanje lanca poseenih MSC-ova tako to bi stari MSC prosledio poziv koji je u toku novom MSC-u svaki put kada se mobilna stanica premesti. Do takvog ulanavanja MSC-a zaista i dolazi u celu-

291

POGLAVLJE 6

BEINE l MOBILNE MREE

6.8

BEINE MREE I MOBILNOST: POSLEDICE PO PROTOKOLE VIIH NIVOA

291

aplikacijski sloj ne mora da se menja. Na neki nain intuitivna logika je tana - TCP i UDP mogu da lamim mreama 1S-4! uz opciono minimiziranje koraka putanje kojim se uklanjaju MSC-ovi izmeu sidrenog i trenutno poseenog MSC-a [L-in 2001]. Zakljuimo sada opis upravljanja GSM mobilnou jednim poredenjem upravljanja mobilnou u GSM-u i mobilnom IP-u. Poreenje u tabeli 6.2 ukazuje na to da i pored fundamentalnih razlika funkcioniu i u mreama sa beinim linkovima. S druge strane, transportni protokoli uopte, a posebno TCP, ponekad imaju veoma razliite performanse u oienim i beinim mreama. Pogledajmo zalo. Setite se da TCP ponovo alje segment koji se na putanji od poiljaoca do primaoca izgubio ili otetio. U sluaju mobilnih korisnika gubici mogu da nastanu bilo zbog zaguenja mree (prekoraenja privremenih memorija u ruterima) ili zbog predavanja (npr. zbog odlaganja u preusmeravanju segmenata prema novoj pristupnoj taki mobilne stanice sa mreom). U svim tim sluajevima, ACK od primaoca ka poiljaocu u TCP-u ukazuje samo na to da segment nije stigao neoteen; poiljalac ne zna da l i j e segment izgubljen zbog zaguenja, tokom predavanja ili zbog toga to su otkrivene greke u bitovima. U svim sluajevima poiljalac reaguje jednako - ponovo alje segment. TCP-ova kontrola zaguenja takoe reaguje isto u svim sluajevima - TCP smanjuje prozor zaguenja kao to je opisano u odeljku 3.7. Bezuslovnim smanjivanjem prozora zaguenja TCP implicitno pretpostavlja da do gubitka segmenata dolazi zbog zaguenja, a ne zbog oteenja ili predavanja. U odeljku 6.2 videli smo.da su greke u bitovima daleko ee u beinim mreama nego u oienim. Kada doe do takvih greaka ili do gubitka zbog predavanja, zaista nema razloga da TCP poiljalac smanji prozor zaguenja (i tako smanji brzinu slanja). Zaista, sasvim je mogue da su pomone memorije u ruterima prazne i da zaguenje ne omela pakete sa kraja na kraj putanje.

izmeu IP-a i celularnih mrea oni imaju iznenaujue mnogo slinosti i zajednikih funkcionalnih
elemenata za podrku mobilnosti.

6.8 Beine mree i mobilnost: posiedice po protokole


viih nivoa
U ovom poglavlju emo videti da se beine mree znaajno razlikuju od oienih kako u sloju veze (zbog karakteristika beinih kanala kao to su opadanje, viestruke putanje i sakriveni terminali) tako i u mrenom sloju (zbog mobilnih korisnika koji menjaju take prikljuka sa mreom). Da li postoje znaajne razlike i u transportnom i aplikacijskom sloju? Moglo bi se pomisliti da e te razlike biti minimalne poto mreni sloj prua viim slojevima isli model usluge najboljeg mogueg prenosa u oienim i u neoicnim mreama. Slino tome, ako se i u oienim i u beinim mreama za pruanje usluga aplikacijama u transportnom sloju koriste protokoli kao to su TCP ili UDP, tada ni

558

POGLAVLJE 6

BEINE I MOBILNE MREE

DOMAI ZADATAK: PROBLEMI I PITANJA

55t

Istraivai su poetkom '90-tih utvrdili da zbog visoke uestalosti greaka u bitovima na beinim linkovima i verovatnoe gubitaka prilikom predavanja, kontrola zaguenja u TCP-u moe u beinom okruenju da postane problematina. U reavanju ovog problema postoje dve iroke klase pristupa [Balakrishnan 1995]: Lokalni oporavak. Kod lokalnog oporavka cilj je da se oporavak od greaka u bitovima obavi na licu mesta i u trenutku gde do njih dolazi (npr. u beinom linku). To znai da su potrebni (1) protokoli koji oporavljaju od gubitaka i oteenja u sloju veze (npr. ARQ protokol 802.11 koji smo prouili u odeljku 6.3 ili sloeniji pristupi koji koriste i ARQ i FEC [Avanoglu 1995]); (2) protokoli transportnog sloja koji dele TCP konekciju na dva segmenta, jedan od izvora do beinog linka, a drugi od beinog linka do odredita [Bakre 1995; Brovvn 1997]; i (3) protokoli sloja veze svesni TCP-a [Balakrishnan 1995; Liu 2002], TCP poiljalac svestan beinih linkova. U pristupu sa lokalnim oporavkom, TCP poiljalac ivi u blaenom neznanju da neki njegovi segmenti koriste beini link. Alternativni pristup jeste da TCP poiljalac i primalac budu svesni postojanja beinog linka, da razlikuju gubitke uzrokovane zaguenjem u oie-noj mrei od oteenja i gubitaka do kojih dolazi u beinom linku, pa da pozivaju kontrolu zaguenja samo u sluaju gubitaka na zaguenoj oienoj mrei. U knjizi [Balakrishnan 1995] istrauju se razliiti tipovi TCP-a pod pretpostavkom da krajnji sistemi budu u stanju da otkriju tu razliku. U knjizi [Wei 2004] istrauju se tehnike za otkrivanje razlika izmeu gubitaka na oienim od gubitaka na beinim delovima putanje sa kraja na kraj. Ovde je na opis TCP-a preko beinih linkova morao da bude kratak. Konsul-tujte reference gde ele nai detalje o ovom podruju koje se jo uvek istrauje. Poto smo razmotrili protokole transportnog sloja, razmotrimo sada na koji nain beine veze i mobilnost utiu na protokole aplikacijskog sloja. Ovde je znaajno naglasiti da beini linkovi esto imaju relativno male propusne opsege kao to smo videli na slici 6.2. Zbog toga aplikacije koje rade preko beinih linkova, pogotovo preko celularnih beinih linkova, moraju tretirati propusni opseg kao deficitaran resurs. Na primer, veb server koji alje sadraj itau koji se izvrava na telefonu 3G verovatno nee moi da obezbedi isti bogat sadraj koji alje itau preko oiene konekcije. Mada beini linkovi postavljaju izazove pred aplikacijski sloj, mobilnost koju omoguavaju takoe omoguava iroku paletu aplikacija zavisnih od konteksta i od lokacije [Chen 2000]. Uopteno govorei, beine i mobilne mree imae kljunu ulogu u realizaciji sveprisutnih raunarskih okruenja budunosti [Weiser 1991]. Moe se rei da smo videli samo vrh ledenog brega kadaje re o uticaju beinih i mobilnih mrea na mrene aplikacije i njihove protokole!

6 .9 Rezime
Beine i mobilne mree predstavljaju revoluciju u telefoni] i i imaju sve vei uti-caj u svem raunarskih mrea. Svojim pristupom globalnoj mrenoj infrastrukturi u svakom trenutku na svakom mestn bez ikakvog zadravanja, ne samo to omoguavaju sveprisutni pristup mrei, ve omoguavaju jedan nov i uzbudljiv skup usluga zavisno od lokacije. S obzirom na sve vei znaaj beinih komunikacija i mrea ovo poglavlje govori o principima, tehnologijama zajednikih linkova i mrenim arhitekturama za podrku beine i mobilne komunikacije. Poglavlje smo zapoeli jednim uvodom u beine i mobilne mree, povlaei znaajnu granicu izmeu zadataka koje namee beina priroda komunikacionih linkova u tim mreama i onih koji su posledica mobilnosti koje ti beini linkovi omoguavaju. Na taj nain smo bolje razdvojili, prepoznali i savladali kljune koncepte svakog od ovih podruja. Prvo smo se usredsredili na beinu komunikaciju, razmotrili karakteristike beinog linka u odeljku 6.2. U odeljcima 6.3 i 6.4 razmotrili smo aspekte u sloju veze IEEE standarda beinog LAN-a 802.11 (Wi-Fi) i celularni pristup Internetu. Zatim smo obratili panju na pitanje mobilnosti. U odeljku 6.5 ukazali smo na nekoliko oblika mobilnosti od kojih svaki postavlja razliite izazove i dozvoljava razliita reenja. Ispitali smo probleme lociranja i rutiranja prema mobilnom korisniku, kao i razliite pristupe predavanja mobilnog korisnika koji se dinamiki kree od jedne pristupne take sa mreom do druge. Ispitali smo kako su ta pitanja reena u standardu za mobilni IP u odeljku 6.6 odnosno u GSM-u u odeljku 6.7. Na kraju, u odeljku 6.8 razmatrali smo uticaj beinih linkova i mobilnosti na protokole transportnog sloja i na mrene aplikacije. Mada smo posvetili celo poglavlje studiranju beinih i mobilnih mrea, za potpun pregled ovog uzbudljivog podruja koje se bTZo iri bila bi potrebna cela knjiga (ili vie njih). Da biste detaljnije istraili ovo polje, posluite se brojnim referencama pomenutim u ovom poglavlju.

Domai zadatak: problemi i pitanja


Poglavlje 6 Kontrolna pitanja
1. Opiite ulogu okvira za navoenje u protokolu 802.11. 2. Opiite metode dostupne za proveru autentinosti korisnika u mreama 802.1 1. 3. Tano ili netano: Pre nego to stanica 802.11 poalje okvir podataka, ona mora prvo da poalje RTS okvir i primi odgovarajui CTS okvir. 4. Zato se potvrde koriste u protokolu 802.11, a ne i u oienom Internetu? 5. Tano ili netano: Ethemet i 802.11 koriste istu strukturu okvira.

560

POGLAVLJE 6

BEINE I MOBILNE MREE

PROBLEMI

561

6. Opiite kako funkcionie RTS prag. 7. Kada bi RTS i CTS okviri protokola IEEE 802.11 bili dugaki kao i standardni DATA i ACK okviri, da li bi CTS i RTS okviri bili od ikakve koristi? Zato? 8. U odeljku 6.3.4 opisana je mobilnost u protokolu 802.11 gde se beina stanica premeta sa jedne bazne stanice na drugu unutar iste podmree. Kada su pristupne take meusobno povezane komutatorom, pristupna taka ponekad mora da poalje okvir sa lanom MAC adresom kako bi komutator pravilno prosleivao okvire. Zato? 9. Nauili smo u odeljku 6.3.2 da postoje dva glavna 3G standarda: UMTS i CDMA-2000. Od kojih standarda druge i 2,5 generacije potiu ta dva standarda? 7.

Zanemarujui kanjenje zbog propagiranja i pod pretpostavkom da nema greaka bitova izraunajte vreme potrebno da se prenese okvir i primi potvrda (kao funkciju SIFS i DIFS). U odeljku 6.5 jedno od predloenih reenja koje je omoguavalo mobilnim korisnicima da zadre IP adresu prilikom kretanja po stranim mreama bilo je da strana mrea objavljuje sasvim konkretnu mtu do mobilnog korisnika i iskoristi postojeu infrastrukturu rutiranja za propagiranje ove informacije po celoj mrei. Uoili smo da bijedan od problema mogao biti skalabilnost. Pretpostavite da kad mobilni korisnik prede iz jedne mree u drugu nova strana mrea objavi konkretnu rutu do mobilnog korisnika, a da stara strana mrea povue svoju rum. Razmotrite kako se informacija za rutiranje propagira u algoritmu vektora rastojanja (pogotovo za sluaj meudomenskog rutiranja meu mreama koje pokrivaju celu zemlju). a. Da li e drugi ruteri moi da rutiraju datagrame u novu stranu mreu im strana mrea pone da objavljuje tu rum?

Problemi ______________________________________
1. Razmotrite primer sa jednim CDMA poiljaocem sa slike 6.4. ta bi bio izlaz poiljaoca (za prikazana 2 bita podataka) ako bi CDMA kod poiljaoca bio (1, -1, 1,-1, 1,-1= 1,-1)? 2. Razmotrite poiljaoca 2 na slici 6.5. Staje izlaz poiljaoca prema kanalu (pre nego to se doda na signal od poiljaoca 1), Z, ? 3. Pretpostavite da primalac sa slike 6.5 eli da primi podatke koje alje poiljalac 2. Dokaite (raunski) da primalac zaista moe da izdvoji podatke poiljaoca 2 iz signala agregatnog kanala tako to e upotrebiti kod poiljaoca 2. 4. Pretpostavite da postoje 2 posrednika za Internet usluge koja nude Wi-Fi pristup u odreenom kafeu tako to svaki posrednik ima vlastitu pristupnu taku i vlastiti blok IP adresa. a. Pretpostavite dalje da su oba posrednika sluajno konfigurisala pristupne take tako da rade na kanalu 11. Da li e protokol 802.11 u ovoj situaciji potpuno da otkae? Opiite ta bi se desilo kada bi dve stanice od kojih je svaka pridruena drugom posredniku istovremeno pokuale da emituju. b. Sada pretpostavite da jedna pristupna taka radi na kanalu 1, a druga na kanalu 11. 5. U koraku 4 protokola CSMA/CA stanica koja uspeno prenese jedan okvir zapoinje protokol CSMA/CA za sledei okvir od koraka 2 umesto od koraka 1. Koji su razlog imali projektanti protokola CSMA/CA da ne dozvole takvoj stanici da odmah pone, sa slanjem drugog okvira (ako otkrije daje kanal slobodan)? 6. Pretpostavite daje stanica 802.11b konfigurisana tako da uvek rezervie kanal nizom poruka RTS/CTS. Pretpostavite da ta stanica iznenada eli da poalje 1 000 bajtova podataka i da su u tom trenutku sve druge stanice neaktivne. 8.

b. Da li je mogue da razni ruteri smatraju da mobilni korisnik pripada razliitim stranim mreama? c. Opiite vremenski raspon u kojem e drugi ruteri u mrei konano saznati putanju prema mobilnim korisnicima. Pretpostavite daje korespondent sa slike 6.17 mobilan. infrastrukturu u mrenom sloju koja bi bila potrebna da se prvobitno mobilnog korisnika do korespondenta (koji je sada strukturu datagrama izmeu prvobitno mobilnog korisnika korespondenta kao na slici 6.18. Skicirajte dodatnu datagram rutira od mobilan). Prikaite i sada mobilnog

9.

U mobilnom IP-u, kakav bi efekat imala mobilnost na kanjenje datagrama sa kraja na kraj izmeu izvora i odredita?

10. Razmotrite primer sa ulanavanjem opisan na kraju odeljka 6.7.2. Pretpostavite da mobilni korisnik poseuje strane mree A, B i C, a da korespondent zapone konekciju sa mobilnim korisnikom kada se on nalazi u stranoj mrei A. Navedite redosled poruka meu stranim agentima i izmeu stranih agenata i matinog agenta kako se mobilni korisnik kree iz mree A u mreu B, pa u mreu C. Zatim, pretpostavite da nema ulanavanja, a da korespondent (kao i matini agent) mora eksplicitno da se obavesti o promenama adrese COA mobilnog korisnika. Navedite redosled poruka koje bi morale da se razmene u ovom drugom scenariju. 11. Razmotrite dva mobilna vora u stranoj mrei sa stranim agentom. Da li je u mobilnom IP-u mogue da ta dva mobilna vora koriste istu adresu COA? Objasnite.pdgovor. . 12. U naem opisu kako je VLR aurirao HLR informacijom o trenutnoj lokaciji mobilne stanice, koje su prednosti i mane da se u HLR evidentira MSRN, a ne VLR?

294

POGLAVLJE 6

'

BEINE I MOBILNE MREE

INTERVJU
V

Teze za diskusiju _____________


1. Navedite 5 proizvoda na dananjem tritu koji sadre interfejs Bluetooth ili 802.15. 2. Da li su u vaoj okolini dostupne beine usluge 3G? Kakve su cene? Koje se aplikacije podravaju? 3. Koje ste probleme uoili kao korisnik protokola IEEE 802.11? Kako bi dizajn standarda 802.11 mogao da se razvije da bi se ti problemi prevazili?

Carli Perkins
Caris E. Perkins je istraiva najvieg strukovnog ranga u Laboratoriji za komunikacione sisteme Nokijrnog Istraivakog centra, gde se bavi mobilnim.beinim umreavanjem i dinamikim konfiguracionim protokolima. On je izdava nekoliko ACM i IEEE asopisa za podruja vezana za beino umreavanje. Obavlja funkciju redaktora dokumenata za radnu grupu Mobile-IR u lETF-u. On je pisac i saradnik na izradi standarda u radnim grupama mobileip, manet, IPv6 i seamoby (5eam/ess Mobilily\. Takoe je medu izdavaima asopisa Mobile

Communications and Compufing, zvanine publikacije interesne grupe ACM 5IGMOBIIE,

Laboratorija Ethereal
Na veb lokaciji koja pripada ovom udbeniku: http://www.awl.com/kurose-ross nai ete Ethereal vebu za ovo poglavlje koja hvata i ispituje okvire 802.11 koje razmenjuju beini laptop i jedna pristupna taka.

radio je i u urednitvu asopisa IEEE Internet Computing, Carli je napisao i redigovoo knjige o mobilnom iP-u i od hoc umreavanju, a objavio je niz dokumenata i lanaka koji su dobili nagrade u podrujima mobilnog umreavanja, ad hoc umreavanja, opfimizacije ruta za. mobilno umreavanje, otkrivanje resursa i automatskog konfigurisanja za mobilne raunare.

Zato

ste

odluili

da

se

specijali'iujete

za

beino

umreavanje

mobilnost?

j
Moja povezanost sa beinim umreavanjem i mobilnou prirodno proistie iz rada na projektima u IBM-ovom istraivakom centru krajem '80-tih. Imali smo radio-linkove i pokuavali da napravimo ureaj u stilu ThinkPad" (kao neki Palm Pilot) sa beinim povezivanjem i prepoznavanjem rukopisa. Napravili smo jednostavno reSenje (koje je kasnije dobilo ime Mobile IP") i primetili da funkcionie. To je, naravno, neobino u poredenju sa veinom istraivakih reenja. Na osnovu iskustva sa mobilnim IP-om napravili smo brzu i efikasnu modifikaciju za RIP koja je mogla da se izvrava ad hoc. I to je prilino dobro funkcionisalo. Pod funkcionisanjem" podrazumevam da su aplikacije pravilno radile bez ikakvih izmena i da mrea nije posrfala pod naim novim dizajnom. To se naziva svojstvima transparentnost u odnosu na aplikacije" i skalabilnost".
Koji vam je bio prvi posao u raunarskoj industriji?

Radio sam u firmi TRW Controls u Hjustonu (Teksas). To je bila drastina promena u odnosu na univerzitetske studije. Na tom poslu sam utvrdio koliko je lo softver za podrku ak i najvanijih pomonih kontrolnih sistema. Ti su sistemi namenjeni kontroli elektrinog toka u velikim snanim mreama, a softver koji ih podrava bio je napravljen tako da vam se kosa digne na glavi. Osim toga, rokovi su uvek bili kratki, a programeri su cinino komentarisali namere uprave i svoje ustove rada. Ceo sistem je trebalo preurediti iz osnova. Nisam ubeden da su se stvari promenile za ovih 30 godina, pogotovo kad se setimo raspada elektrinog sistema 2003. U stvari, s obzirom na poputanje regulativa, skoro sigurno je jo gore. Rado sam napustio

Kakva je vaa vizija budunosti multimedijskog umreavanja? Mi smo sada u prelaznoj fazi, na samo nekoliko godina od trenutka kada e IP postati univerzalna platforma za multimedijske usluge. Oekujemo da e radio, telefon i TV raditi ak i za vreme snenih oluja i zemljotresa, tako da e korisnici, kada Internet preuzme ulogu ovih namenskih mrea, imati isti nivo pouzdanosti. Istraivanja umreavanja se u izvesnoj meri suoavaju sa problemom koji su istraivanja operativnih sistema imala godinama, ili ak i vie. Dok je jo uvek mogue sprovoditi butik" istraivanja operativnih sistema u malim zajednicama, pokretanje odvojene mree u velikoj meri nema svrhe. Moraemo da nauimo da projektujemo mrene tehnologije za meusobno povezivanje konkurentnih nosilaca, sa mnogo krajnjih korisnika koji su neznalice ili zlonamemi. Vidljiva napredovanja u multimedijskim mreama pokretae inioci koji se nalaze izvan same ove oblasti, kao to su dostignua u brzinama pristupa i okosnice, kao i jeftina raunarska snaga. Zato 5IP ima budunost koja obeava? Kako se danas nastavlja nadgraivanje beinih mrea na 3G mree, postoji nada za proirivanje jednog multimedijskog signalnog mehanizma na sve vrste mrea, od kablovskog modela do korporativnih telefonskih i javnih beinih mrea. Zajedno sa softverskim radi-om, to e u budunosti omoguiti da jedan ureaj moe da se koristi u kunoj mrei, kao beini Bluetooth telefon, u korporativnoj mrei preko 802.11 i u globalnom podruju preko 3G mrea. ak prc nego to budemo imali takav univerzalni beini ureaj, mehanizmi linih mobilnih aplikacija omoguavaju da se sakriju razlike izmeu mrea. Jedan identifikator postaje univerzalno sredstvo da se doe do neke osobe, i zamenjuje pamenje ili pro-laenje preko pola tuceta tehnologija ili telefonskih brojeva koji zavise od lokacije. SIP takode razdvaja prenos glasa od govornih usluga. Sada postaje tehniki mogue da se odvoji od monopola lokalne telefonije, gde jedna kompanija obezbeduje neutralni bitski prenos, dok druge obezbeuju IP tonsko biranje" i klasine telefonske usluge kao to su mreni prolazi, prosleivanje poziva i identifikacija poziva. Pored multimedijske signalizacije, SIP nudi novu uslugu koja je nedostajala na Internetu: beleenje dogaaja. Mi smo aproksimirali takve usluge pomou HTTP improvizacija i elektronske pote, ali to nikada nije bilo ba zadovoljavajue. Kako su dogaaji uobiajena apstrakcija za distribuirane sisleme, ovo moe da uprosti konstrukciju novih usluga.
Imate li neki savet za studente koji ulaze u oblast umreavanja?

Bezbednost u raunarskim mreama


Predstavljamo vam Alisu i Boba, dvoje ljudi koji ele da komuniciraju i da to rade bezbedno". Imajui u vidu da je ovo knjiga o umreavanju, trebalo bi da primetimo kako bi Alisa i Bob mogli da budu dva rutera koji ele da bezbedno razmene tabele rutiranja, klijent i server koji ele da uspostave bezbednu transportnu konekciju, ili dve aplikacije elektronske pote koje ele da razmenjuju bezbednu elektronsku potu - to su sve sluajevi koje emo razmatrati kasnije u ovom poglavlju. Alisa i Bob su dobro poznati u zajednici koja se bavi bezbednou, moda zato to su njihova imena veselija od generikog entiteta zvanog ,,A" koji eli da bezbedno komunicira sa generikim entitetom zvanim ,,B"- Zabranjene ljubavne veze, komunikacija u toku rata i poslovne transakcije obino se navode kao ljudske potrebe za bezbednim komuniciranjem; poto vie volimo prvu situaciju u odnosu na druge dve, sreni smo da koristimo Alisu i Boba kao naeg poiljaoca i primaoca, i da ih zamislimo u ovom prvom scenariju. Rekli smo da Alisa i Bob ele da komuniciraju i da to rade bezbedno", ali ta to tano znai? Kao to emo videti, bezbednost je (kao i ljubav) arolika stvar; odnosno, ima mnogo aspekata bezbednosti. Naravno, Alisa i Bob bi voleli da sadraj njihove komunikacije ostane tajna za prislukivae (recimo, za ljubomornu suprugu). Oni bi takoe voleli da osiguraju da, kada komuniciraju, oni zaista to ine jedno sa drugim i da, ako se u njihovu komunikaciju mesa neki prislukiva, to meanje bude otkriveno. U prvom delu ovog poglavlja, objasniemo tehnike koje dozvoljavaju

Umreavanje je gotovo klasina disciplina premoavanja. Ono ima korene u elektrotehnici, raunarskim naukama, operacionim istraivanjima i drugim disciplinama. Dakle, istraivai umreavanja treba da poznaju predmete koji su daleko izvan njihove osnovne oblasti. Rad na mreama moe da prui ogromno zadovoljstvo, zato to dopusta ljudima da komuniciraju i razmenjuju ideje, to je jedna od osnovnih crta ljudskosti. Mnoga podruja inenjerstva ve su dosegla najvii nivo svog razvoja; automobili, vozovi i avioni jo uvek uglavnom rade ono to su radjli pre 20 ili vie godina i verovatno nee ii mnogo bre u siedeih 20. Glavna promena bie u sposobnosti da ti entiteti komuniciraju i tako poboljaju svoju performansu, postavi sigurniji, izbegavajui saobraajna zaguenja.

652 295

296

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.1

TA JE BEZBEDNOST MREE

655

ifrovanje/deifrovanje komunikacije, autentifikovanje strane sa kojom se komunicira i osiguranje integriteta poruke. U drugom delu ovog poglavlja, razmotriemo injenicu da krajnje take u komunikaciji rade u vorovima unutar preduzea ili kune mree, na slian nain kao to bi Alisa i Bob mogli da ive u kuama iz kojih bi komunicirali slanjem pote. Videemo da mrea (kao kua) moe da bude ranjiva na napade, ali da moe da preduzme protivmere kako bi se zatitila od "loih momaka" koji nesumnjivo postoje. Zato emo objasniti i mrene barijere, koje obezbeuju izvestan stepen izolacije i zatite od onih koji se nalaze izvan neije mree. Razmotriemo i razne oblike napada na mrenu infrastrukturu, kao i protivmere koje se preduzimaju da bi se uklonile, ili bar ublaile posledice tih napada. Poglavlje zakljuujemo studijama primera bezbednosti u aplikaciji, transportu, mrei i slojevima linka.

Autentifikacija. I poiljalac i primalac trebalo bi da mogu da potvrde identitet druge strane u komunikaciji - odnosno, da potvrde kako je druga strana zaista onaj ili ono to tvrdi da jeste. Ljudska komunikacija licem u lice taj problem Iako reava vizuelnim prepoznavanjem. Kada entiteti koji komuniciraju razmenjuju poruke preko medijuma gde ne mogu da vide" drugu stranu, autentifikacija nije tako jednostavna. Zato biste, na primer, verovali daje poruka elektronske pote, koja sadri deo teksta u kome se kae daje ona dola od vaeg prijatelja, zaista dola od vaeg prijatelja? Ako vas neko pozove preko telefona tvrdei daje iz vae banke i trai broj vaeg rauna, tajni lini identifikacioni broj (PIN) i bilanse rauna radi verifikacija, da li biste mu dali te informacije preko telefona? Nadajmo se da ne biste! Ispitaemo tehnike autentifikacije u odeljku 8.3, ukljuujui vie njih koje se, moda iznenaujue, takoe oslanjaju na kriptografske tehnike iz poglavlja 8.2. Integritet i neporecivost poruke. ak i kada poiljalac i primalac mogu da autentifikuju jedan drugog, oni takoe ele da obezbede da se sadraj njihove komunikacije ne menja u prenosu, bilo zlonamerno ili sluajno. Proirenja tehnika kontrolnog zbira koje smo sreli u pouzdanom transportu i protokolima linka podataka mogu da se iskoriste da bi se obezbedio takav integritet poruka. to je tema koju emo poruavati u odeljku 8.4. Videemo takoe kako primalac moe da dokae" daje poruka morala da stigne od najavljenog poiljaoca. Videemo da se i integritet poruke i neporecivost takoe oslanjaju na kriptografske koncepte iz odeljka 8.2. Raspoloivost i kontrola pristupa. Potrebu za mrenom bezbednou su na bolan nain u poslednjih nekoliko godina potencirali brojni napadi odbijanja usluga (denial-of-service, DoS), koji su za legitimne korisnike izbacili iz upotrebe mreu, raunar ili neki drugi deo mrene infrastrukture; moda najuveniji od tih DoS napada bili su oni protiv veb lokacija velikih kompanija. Dakle, kljuni zahtev za bezbednu komunikaciju je da ona pre svega moe da se odvija - da loi momci" ne mogu da spree da legitimni korisnici koriste infrastrukturu. injenica da neki korisnici mogu da budu legitimni dok drugi to nisu, prirodno dovodi do pojma kontrole pristupa - to obezbeduje da se entitetima koji trae da dobiju pristup resursima to dozvoljava samo ako imaju odgovarajua pristupna prava i ako pristupaju na dobro definisan nain. Tajnost, autentifikacija, integritet poruka i neporecivost se ve izvesno vreme smatraju kljunim komponentama bezbedne komunikacije [McCumber 1991]. Raspoloivost i kontrola pristupa su novija proirenja pojma bezbedne komunikacije [Maconachy 2001], bez sumnje motivisana stvarnim poslovima na obezbeivanju mrene infrastrukture od potencijalnih napada loih momaka". Jedan od najsigurnijih naina da se obezbedi da loi momci" ne mogu da naprave nikakvu tetu je da se njihovi paketi ne puste ni da uu u mreu. Mrena barijera (firewall) je ureaj izmeu mree koja treba da se titi (nas") i ostatka sveta ( loih momaka" -

8 .1 ta je bezbednost mree
Ponimo prouavanje bezbednosti mree vrativi se naim ljubavnicima, Alisi i Bobu, koji ele da komuniciraju bezbedno". ta to tano znai? Svakako, Alisa eli da samo Bob moe da razume poruku koju je ona poslala, ak i ako oni komuniciraju preko nebezbednog" medijuma na kojem uljez (Trudi) moe da presretne i ita sve to se prenosi od Alise do Boba, kao i da to raunarski obradi. Bob takode eli da bude siguran da je poruku koju prima od Alise ona zaista i poslala, a Alisa eli da bude siguma daje osoba sa kojom komunicira zaista Bob. Alisa i Bob takoe ele da budu sigurni kako sadraj njihovih poruka nije promenjen u prenosu. Imajui u vidu navedene zahteve, moemo da identifikujemo sledee poeljne osobine bezbe-dne komunikacije: Tajnost. Trebalo bi da samo poiljalac i nameravani primalac razumeju sadraj prenesene poruke. S obzirom na to da prislukivai mogu da presretnu poruku, to obavezno zahteva da ona bude nekako ifrovana (njeni podaci maskirani), tako da presretnutu poruku prislukiva ne moe da deifruje (razume). Ovaj aspekt tajnosti je verovatno najee podrazumevano znaenje termina bezbe-dna komunikacija". Zapazite, meutim, da to ne samo daje ograniena definicija bezbedne komunikacije (kasnije emo navesti dodatne aspekte bezbedne komunikacije), nego i ograniena definicija same tajnosti. Na primer, Alisa bi takoe mogla da poeli da sama injenica da ona komunicira sa Bobom (ili vreme ili uestalost njene komunikacije) bude tajna! Kriptografske tehnike za ifrovanje i deifrovanje podataka prouiemo u odeljku 8.2. Videemo da se tajna komunikacija esto oslanja na jedan klju ili na vie kljueva koji se koriste za ifrovanje/deifrovanje. Temu distribucije ovih kljueva obradiemo u odeljku 8.5.

656

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.2

TA JE BEZBEDNOST MREE

297

njih"). Ona kontrolie pristup ka mrei i slanje od nje, reguliui koji paketi mogu da prou unutar neije mree i izau van nje. Mrene barijere su brao postale uobiajena komponenta u mreama, u opsegu od malih kunih mrea do onih koje pripadaju najveim korporacijama na svem. Ispitaemo kako mrene barijere obezbeuju kontrolu pristupa (i po paketima i po usluzi) u odeljku 8.6. Navedena definicija bezbedne komunikacije usredsreena je prvenstveno na zatitu komunikacije i mrenih resursa, U praksi, mrena bezbednost obuhvata ne samo zatitu, nego i detektovanje krenja bezbedne komunikacije i napada na infrastrukturu, a zatim i odgovor na te napade. U mnogo sluajeva, u odgovoru na napade, administrator mree moe da primeni dodatne zatitne mehanizme. U tom smislu, mrena bezbednost se postie kroz neprestani ciklus zatite, detekcije i odgovora. (Sa malo podataka, ali veoma itljiva, knjiga u kojoj se ilustruju aspekti ovog ciklusa je [Stoll 1995)). Nastaviemo ovo poglavlje objanjenjem (u odeljku 8.7) jednog broja napada koji si; se do sada koristili, kao ; prolivmera koje prema njima mogu da se pre-duzmu. U odeljku 8.8 zakljuiemo ovo poglavlje studijama primera u kojima se koriste tehnike iz odeljaka od 8.2 do 8.5 u aplikacionom sloju, transportnom sloju, mrenom sloju i sloju veze podataka. Poto smo definisali bezbednost mree, sada emo videti kojim informacijama uljez moe da ima pristup i koje aktivnosti moe da preduzme. Scenario je ilustro-van na slici 8.1. Alisa, poiljalac, eli da poalje podatke Bobu, primaocu. Da bi se podaci bezbedno razmenjivali, uz ispunjavanje zahteva tajnosti, autentifikacije i integriteta poruke, Alisa i Bob e razmeniri kontrolne poruke i poruke sa podacima (na isti nain kao to TCP poiljaoci i primaoci razmenjuju kontrolne segmente i segmente sa podacima). Sve, ili neke od ovih poruka e biti ifrovane. Pasivni uljez moe da potencija/no izvede prislukivan)e - sluanje i registrovanje kontrolne poruke i poruke sa podacima na kanalu; modifikaciju, umetanje ili brisanje poruka ili njihovog sadraja. Kao to emo videti, izuzev ako su preduzete odgovarajue prottvmere, ove sposobnosti doputaju uljezu da izvede irok skup razliitih napada na bezbednost u opsegu od prislukivanja komunikacije (mogua kraa lozinke i podataka), do predstavljanja drugog entiteta, kidnapovanja" sesije u toku, odbijanja usluge legitimnim korisnicima mree preoptereivanjem sistemskih resursa. Ove i druge napade objasniemo u odeljku 8.7. Sline bezbednosne pretnje objanjene su u zbirci eseja [Deruiing 1997] i u veoma itljivoj Rubinovoj knjizi [Rubin 2001]. Sumarni pregled napada aurira se u organizaciji CERT Coordination Center [CERT 2002]. Proitajte takoe [Cisco Securitv 1997; Vovdock 1983; Bhimani 1996].

Poto smo ustanovili da zaista postoje prave pretnje (poznate i kao Trudi") prisutne na Internetu, ta su Internet ekvivalenti Alise i Boba, naih dveju linosti koje treba bezbedno da komuniciraju? Svakako, Bob" i Alisa" bi mogli da budu ljudi, korisnici dva krajnja sistema, na primer, stvarna Alisa i stvarni Bob koji zaista ele da razmenjuju bezbednu elektronsku potu. Oni bi, takoe, mogli da budu uesnici u elektronskoj komercijalnoj transakciji. Na primer, stvarna Alisa hi mogla eleti da bezbedno prenese broj svoje kreditne kartice veb serveru da bi onlajn kupila neki predmet ili uslugu. Slino tome, stvarna Alisa bi mogla eleti da ima onlajn interakciju sa svojom bankom. Meutim, kao to pie u [RFC 1636], strane kojima je potrebna bezbedna komunikacija mogle bi i same da budu deo mrene infrastrukmre. Selite se da sistem za imenovanje domena (Domain Name System, DNS, proitajte odeljak 2.5) ili programi rutiranja koji menjaju tabele rutiranja (proitajte odeljak 4.6) zahte-vaju bezbednu komunikaciju izmeu dve strane. Isto vai i za aplikacije upravljanja mreom, stoje tema o kojoj govorimo u poglavlju 9. Uljez koji bi mogao aktivno da utie, kontrolie ili oteuje DNS pretraivanja i auriranja [RFC 2535, IETF dnsext 2004], proraune rutiranja [Murphy 2003], ili funkcije upravljanja mreom [RFC 2574], mogao bi da napravi pravu propast na Internetu. Poto smo ustanovili okvir, nekoliko najvanijih definicija i potrebu za mrenom bezbednou, hajde sada da zaronimo u kriptografiju. Dok je upotreba kriptografije u obezbeivanju tajnosti jasna sama po sebi, uskoro emo videti da ona takode ima centralnu ulogu i u obezbeivanju autentifikacije, integriteta poruke, neosporavanju i kontroli pristupa stoje ini kamenom temeljcem mrene bezbednosti.

8 .2 Principi kriptografije
Iako kriptografija ima dugu istoriju koja datira jo od Julija Cezara (uskoro emo pogledati takozvanu Cezarovu ifru), savremene kriptografske tehnike, ukljuujui i mnoge od onih koje se koriste na dananjem Internetu, zasnovane su na dostignuima izposlednjih 30 godina. Kanova knjiga, The Codebreakers [Kahn 1967] i Sin-

-i-

298

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.2

PRINCIPI KRIPTOGRAFIJE

659!

gova knj iga, The Code Book: The Science of Secrecy from Ancient Egypt to Quanium Cryotigraphy [Singh 1999], daju fascinantan pogled na dugu istoriju kriptografije. Detaljna (ali zabavna i itljiva) tehnika diskusija o kriptografiji, posebno sa take gledita mree, nalazi se u Kaufmanovoj knjizi fKaufman 1995]. Difi u svojoj knjizi [Diffie 1998] ispituje politike i socijalne aspekte (na primer, privatnost) koji su sada nerazmrsivo isprepletani sa kriptografijom. Celovita rasprava o kriptografiji sama po sebi zahteva itavu knjigu [Kaufmari 1995; Schneier 1995] pa emo zasada samo dodirnuti njene sutinske aspekte, posebno kada se primenjuju na dananjem Internetu. Odlina onlajn lokacija je FAQ stranica RSA Labs [RSA FAQ 2002]. Takoe napominjemo da dok e se nae izlaganje u ovom odeljku baviti pre svega upotrebom kriptografije radi tajnosti, uskoro emo videti da su kriptografske tehnike utkane u autentifikaciju, integritet poruke, neporecivost i jo mnogo toga. Kriptografske tehnike dozvoljavaju poiljaocu da maskira podatke tako da uljez ne moe da dobije nikakvu informaciju iz presremutih podataka. Primalac, naravno, mora da bude u stanju da obnovi originalne podatke iz maskiranih podataka. Na slici 8.2 ilustrovani su neki od znaajnih kriptografskih termina. Pretpostavite sada da Alisa eli da poalje poruku Bobu. Njena poruka u svom originalnom obliku (na primer, Bob, I love you . Alice")je poznata kao otvoren tekst (plaintext), ili jasan tekst (cleartext). Alisa ifruje svoju poruku u otvorenom (itljivom) tekstu koristei algoritam ifrovanja tako da ifrovana poruka, poznata kao ifrovan tekst (ciphertext), svakom uljezu izgleda neitljivo. Zanimljivo je daje, u mnogim savremenim kriptografskim sistemima, ukljuujui one koji se koriste na Internetu, sama tehnika ifrovanja poznata - objavljena, stan-dardizovana i svima raspoloiva (na primer, [RFC 1321; RFC 2437; RFC 2420]), pa ak i potencijalnom uljezu! Jasno, ako svako zna metod za ifrovanje podataka, onda mora da postoji neka tajna informacija koja uljeza spreava da deifruje podatke koji se prenose. Ovde nastupaju kljuevi. Na slici 8.2, Alisa obezbeduje klju, KA, tj. niz brojeva ili znakova, kao ulaz u algoritam za ifrovanje. Algoritam za ifrovanje uzima klju i poruku u otvorenom tekstu, m, kao ulaz i pravi ifrovan tekst kao izlaz. Notacija KJm) odnosi se na ifrovani tekst (ifrovan upotrebom kljua KA) poruke otvorenog teksta, m. Stvarni algoritam za ifrovanje koji koristi klju KA shvatiete iz konteksta. Slino tome, Bob e obezbedtti klju, Kg, za algoritam za deifrovanje, koji uzima ifrovan tekst i Bobov klju kao ulaz i pravi originalan otvoren tekst kao izlaz. Odnosno, ako Bob prima ifrovanu poruku KA(m), on je deifruje izraunavajui KB(KA(m)) = m, U simetrinim sistemima kljueva, Alisin i Bobov klju su istovetni i tajni. U javnim sistemima kljueva, koristi se par kljueva. Jedan od kljueva znaju i Bob i Alisa (u stvari, zna ga ceo svet). Drugi klju znaju ili Bob ili Alisa (ali ne i oboje). U sledea dva pododeljka, detaljnije emo razmotriti simetrine i javne sisteme kljueva.

KRATAK OSVRT
TAKMIENJA U RAZBIJANJU KODOVA Usvojen prvo od strane Vlade SAD 1977. godine, 56-bilni algoritam standarda za ifrovanje podataka (Data Encryption Standard, DES) jo uvek iroko koriste finansi-I jske slube i druge industrije irom svoto do bi zatitile osetljjve informacije. Da bi istakla potrebu za jaim ifrovanjem od postojeeg 56-bitnog standarda, kompanija RSA je bila sponzor niza takmienja u razbijanju DES-a koji se iroko koristi kako u SAD tako i u meunarodnoj trgovini. Svaki izazov sastojao se u tome da se deifruje poruka ifrovana pomou 5o-bilnog DES-o u okviru odvedenog vremena. Razbijai koda su prihvatali izazov iscrpno pretraujui prostor svib moguih tajnih kljueva. Kao deo takmienja, RSA dodeljuje pobednicima nagradu bd 10.000 USD. Kompanija RSA je pokrenula izazov u januaru 1997. godine, sa ciljem da pokae kako standard Vlade SAD za ifrovanje podataka, sa svojim 56-bitnim kljuem, nudi samo ogranienu zatitu protiv upornog protivnika. Na prvom takmienju pobedio je tim iz Kolorada koji je otkrio tajni klju za manje od etiri meseca. Od tada, poboljana tehnologija je omoguila mnogo bra iscrpno pretraivanja. U februaru 1998. godine, organizacija Distributed.Net pobedila je na takmienju DES Challenge ll-l kompanije RSA u roku od 41 dana, a u julu je firma Electronic Frontier Foundotron (EFF) pobedila no takmienju DES Challenge 11-2 rozbivi DES poruku za 56 sati. U januaru 1999. godine, Distributed.Net, svelska koalicija raunarskih entuzijasta, radila je sa Deep Crackom", posebno konstruisanim superraunarom firme EFF i mreom irom sveta od skoro 100000 PC-ja na Internetu, da bi pobedila na takmienju DES Challenge III u rekordnom roku od 22 sata i 15 minuta. EFF-ov. Deep Crack" i raunari Distributed.Net su ispitivali brzinom od 245 milijardi kljueva u sekundi kada je klju bio pronaeni

8.2.1 Kriptografija simetrinog kljua


Svi kriptografski algoritmi obuhvataju zamenu jedne stvari drugom, na primer, uzimanje dela otvorenog teksta a zatim izraunavanje i zamenu odgovarajueg teksta ifrovanim tekstom, sve u cilju pravljenja ifrovane poruke. Pre nego to prouimo

660

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.2

PRINCIPI KRIPTOGRAFIJE

299

savremen kriptografski sistem zasnovan na kljuu, hajde prvo da prouimo veoma star jednostavan algoritam simetrinog kljua koji se pripisuje Juliju Cezaru, poznat kao Cezarova ifra. Za engleski tekst, Cezarova ifra funkcionie uzimanjem svakog slova u poruci otvorenog teksta i zamenom tog slova onim koje je k slova dalje u azbuci (dozvoljavajui povratak na poetak, to jest da posle slova ,,z" sledi slovo ,,a"). Na primer, ako je k = 3, onda slovo ,,a" u otvorenom tekstu postaje ,,d" u ifrovanom tekstu; ,,b" u otvorenom tekstu postaje ,,e" u ifrovanom tekstu itd. Ovde vrednost k slui kao klju. Kao primer, poruka otvorenog teksta bob, i love you . alice" u ifrovanom tekstu postaje ere, 1 oryhbrx. dolfh". Mada ifrovan tekst zaista izgleda besmisleno, ne bi bilo potrebno mnogo vremena da se razbije kod ako biste znali da je upotrebljena Cezarova ifra, zato to postoji samo 25 moguih vrednosti kljua. Poboljanje Cezarove ifre je jenoazbuna ifra, gde se takode jedno slovo azbuke zamenjuje drugim. Meutim, umesto da se zamena vri u skladu sa nekim pravilnim uzorkom (na primer, zamena sa pomerajem k za sva slova), svako slovo moe biti zamenjeno bilo kojim drugim slovom, sve dok svako slovo ima jedinstveno slovo koje ga zamenjuje i obrnuto. Pravilo zamene na slici 8,3 prikazuje jedno od moguih pravila za ifrovanje otvorenog teksta. Poruka otvorenog teksta bob, i love you. alice" postaje ,,nkn, s gktc wky. mgsbc". Dakle, kao i u sluaju Cezarove ifre, ovo izgleda nerazumljivo. Jenoazbuna ifra bi izgledala bolje od Cezarove ifre utoliko to ima 261 (reda veliine IO26) a ne samo 25 moguih uparivanja. Pristup grube sile, tj. pokuaja sa svih IO26 moguih uparivanja zahtevao bi suvie mnogo rada da bi bio izvodljiv nain za razbijanje algoritma ifrovanja i deifrovanje poruke. Meutim, statistika analiza otvorenog teksta, na primer, znanje da su slova ,,e" i ,,t" ona koja se najee pojavljuju u uobiajenom engleskom tekstu (13 i 9 procenata pojavljivanja), i znanje da su neke pojave po dva ili tri slova zajedno posebno este (na primer, ,,in", ,,it", ,,the", ion", ,,ing," itd.) ine razbijanje ovog koda relativno lakim. Ako uljez ima neko saznanje o moguem sadraju teksta, onda je jo lake razbiti kod. Na primer, ako je uljez Trudi, Bobova supruga, i ako ona sumnja da je Bob vara sa Alisom, onda bi ona mogla da posumnja da se imena bob" i alice" pojavljuju u tekstu. Ako bi Trudi znala da se ta imena sigurno pojavljuju u ifrovanom tekstu i imala kopiju gornjeg primera ifrovanog teksta, ona bi onda odmah mogla da odredi sedam od 26 uparivanja slova, zahtevajui IO9 manje mogunosti za proveravanje metodom grube sile. Zaista, ako bi Trudi sumnjala daje Bob vara, ona bi mogla da oekuje da nade i druge odabrane rei u poruci.

Prilikom razmatranja koliko bi Trudi bilo lako da razbije Bobovu i Alisinu emu ifrovanja, moemo da razlikujemo tri razliita scenarija, zavisno od toga koliko informacija uljez poseduje. Napad samo na ifrovan tekst. U nekim sluajevima, uljez moe da ima pristup samo na presretnuti ifrovani tekst, bez ikakve sigurne informacije o sadraju poruke otvorenog teksta. Videli smo kako statistika analiza moe da pomogne u ovakvom napadu samo na ifrovani tekst. Napad poznatim otvorenim tekstom. Videli smo da ako bi Trudi na neki nain sigumo znala da su se bob" i ,,al ice" pojavili u poruci ifrovanog teksta, ona bi onda mogla da odredi uparivanja (otvoren tekst, ifrovan tekst) za slova a, 1, i, c, e, b and o. Trudi bi takode mogla da ima dovoljno sree daje zapisala sve prenose ifrovanog teksta i da je pronala Bobovu sopstvenu deifrovanu verziju jednog od prenosa, zapisanu na paretu hartije. Kada uljez zna neka od uparivanja (otvoren lekst, ifrovan tekst), mi to zovemo napadom na emu ifrovanja poznatim otvorenim tekstom. Napad izabranim otvorenim tekstom. U napadu izabranim otvorenim tekstom, uljez moe da biro poruku otvorenog teksta i dobije njen odgovarajui oblik u ifrovanom teksni. Za jednostavne algoritme ifrovanja koje smo do sada videli, ako bi Trudi mogla da navede Alisu da poalje poruku, The quick brown f ox j umps over the- lazy dog", ona bi mogla u potpunosti da razbije emu ifrovanja. Uskoro emo videti da za sloenije tehnike ifrovanja, napad izabranim otvorenim tekstom ne znai obavezno da tehnika ifrovanja moe da se razbije. Pre pet stotina godina, pronaene su tehnike poboljavanja monoazbunog ifrovanja, poznate kao vieazbuno ifrovanje. Ideja na kojoj se zasniva vieazbuno ifrovanje je da se koristi vie jednoazbunih ifri, sa posebnom jednoazbunom ifrom za kodovanje slova na posebnoj poziciji u poruci otvorenog teksta. Dakle, isto slovo, koje se pojavljuje na razliitim pozicijama u poruci otvorenog teksta moglo bi da bude razliito kodovano. Primer vieazbune eme ifrovanja prikazan je na slici 8.4. Ono ima dve razliite Cezarove ifre (sa k = 5 i k = 19), prikazane kao redovi na slici 8.4. Moemo izabrati da koristimo te dve Cezarove ifre, C, i C2, po ponavljajuem uzorku C|( C2, C2, C,, C;. Odnosno, prvo slovo otvorenog teksta e biti kodovano koristei C,, drugo i tree koristei CT etvrto koristei Cp i peto koristei Cr Uzorak se onda ponavlja, pa se esto slovo koduje koristei C,, sedmo pomou C2 itd. Poruka otvorenog teksta bob, i love you. "je tako ifrovana u gnu, n etox dhz" Zapazile daje prvo ,,b" u poruci otvorenog teksta ifro-vano koristei C,, dok je drugo ,,b" ifrovano koristei C2. U ovom primeru, klju" za ifrovanje i deifrovanje je poznavanje dva Cezarova kljua (k = 5, k = 19) i uzorka C(, C2t C2, C]p CT

300

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.2

PRINCIPI KRIPTOGRAFIJE

663 i

Standard za ifrovanje podataka (DES) i napredni standard za ifrovanje (AES) Hajde da se sada brzo prebacimo u moderna vremena i ispitamo Standard za ifrovanje podataka (DES) [NIST 1993], standard ifrovanja sa simetrinim kljuem, objavljen 1977. godine i najskorije auriran 1993. godine od strane Nacionalnog biroa SAD za standarde, za komercijalnu i javnu upotrebu Vlade SAD. DES ifruje otvoreni tekst u 64-bitnim krikama" koristei 64-bitni klju. U stvari, osam od tih 64 bita kljua su bitovi neparne pamosti (postoji po jedan bit pamosti za svaki od osam bajtova), pa je klju DES stvarne duine od 56 bitova. Nacionalni institut za standarde i tehnologiju (naslednik Nacionalnog biroa za standarde) ovako postavlja cilj DES-a: Cilj je da se potpuno ifruju podaci i klju, tako da svaki bit ifrovanog teksta zavisi od svakog bita podataka i svakog bita kljua. . . . Sa dobrim algoritmom, ne bi trebalo da bude nikakve korelacije izmeu ifrovanog teksta i bilo originalnih podataka, bilo kljua". [NIST 1999]. Osnovni rad DES-a ilustrovan je na slici 8.5. U naoj diskusiji, napraviemo pregled rada DES-a, ostavljajui osnovne detalje i detalje na nivou bita (ima ih mnogo) drugim izvorima [Kaufman 1995; Schneier 1995]. najer u svojoj knjizi [Schneier 1995] obuhvata i C implementaciju. DES se sastoji od dva permutaciona koraka (prvi i poslednji korak algoritma), u kojima se svih 64 bita permutuju, sa 16 istovetnih rundi" rada izmeu. Rad svake runde je identian, tako to se uzme izlaz prethodne runde kao ulaz. Za vreme svake runde, 32 bita ulaza krajnje desno se pomeraju na 32 bita izlaza levo. Ceo 64-bitni ulaz u /-tu rundu i 48-bitni klju za i'-tu rundu (izveden iz veeg 56-bitnog DES kljua) uzimaju se kao ulaz funkcije koja obuhvata irenje etvorobitnih ulaznih kriki na Sestobitne krike, izvravanje operacije iskljuivo ILI sa proirenim estobitnim krikama 48-bitnog kljua Ki, operaciju supstitucije i jo jednu operaciju iskljuivo ILI sa 32 bita ulaza krajnje levo; vie detalja o tome proitajte u knjizi [Kaufman 1995; Schneier 1995]. Rezultujui 32-bitni izlaz funkcije se onda koristi kao 32 bita krajnje desno 64-bitnog izlaza runde, kao to je prikazano na slici 8.5. Deifrovanje radi obrnutim izvravanjem operacija algoritma.

Koliko dobro radi DES? Koliko je bezbedan? To ne moe niko da kae sa sigurnou [Kaufman 1995]. U 1997. godini, kompanija za mrenu bezbednost, RSA Data Security Inc., pokrenula je takmienje DES Challenge za razbijanje" (deko-dovanje) kratke reenice koju je ifrovala koristei 56-bitni DES. Neifrovana reenica (Strong cryptograpby makes the worid a safer place.") bila je utvrena za manje od etiri meseca od strane tima koji je koristio dobrovoljce irom Interneta da sistematski istrauju prostor kljueva. Tim je doao po nagradu od 10000 USD posle pretraivanja samo etvrtine prostora kljueva - oko 18 kva-driliona kljueva [RSA Challenge 2002]. Najnoviji DES Challenge III u 1999. godini bio je osvojen u rekordnom vremenu od neto malo vie od 22 sata, sa mreom dobrovoljaca i raunarom specijalne namene koji je bio izgraen za manje od 250000 USD (sa nadimkom Deep Crack") i dokumentovan onlajn [EFF 1999].

664

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.2

PRINCIPI KRIPTOGRAFIJE

665

Trebalo bi takoe da napomenemo da se na prethodni opis bavio samo ifrova-njem 64-bitnih koliina podataka. Kada se ifruju due poruke, to je obino sluaj, DES se esto koristi sa tehnikom koja se zove ulanavanje ifrovanih blokova, u kojoj se ifrovana verzija_/-te 64-bitne koliine podataka podvrgava operaciji iskljuivo ILI sa ( j + l)-vom jedinicom podataka pre nego to se ifruje ( J + I )-va jedinica podataka, Ako se 56-bitni DES smatra suvie nesigurnim, moemo jednostavno da pokrenemo 56-bitni algoritam vie puta, uzimajui 64-bitni izlaz iz jedne iteracije DES-a kao ulaz u sledeu iteraciju DES-a, koristei svaki put razliit klju. Na primer, tro-struki-DES (3DES) je standard Vlade SAD [NIST 1999b] koji zamenjuje upotrebu DES-a, koji iezava i dozvoljen je samo u nasleenim sistemima. U jednoj konfiguraciji, 3DES prvo pokree DES algoritam za ifrovanje podataka koristei prvi 56-bitni klju, zatim pokree DES algoritam za deifrovanje izlaza prve runde ifrovanja koristei drugi klju i najzad i konano pokree DES algoritam za ifrovanje izlaza druge runde koristei trei klju. 3DES je bio predloen kao standard za ifrovanje protokola od take do take (PPP) [RFC 2420] za sloj veze podataka (proitajte odeljak 5.8). Detaljna diskusija duina kljueva i procenjenog vremena i budeta koji je potreban da bi se razbio DES moe da se pronae u knjizi [Blae 1996]. U novembru 2001. godine, NIST ne najavio naslednika DES-a: napredni standard za ifrovanje (AdvancedEncryption Standard, AES) [NIST 2001, Danielvan 2001], takoe poznatog i kao Rijndelov algoritam [Daemen 2000]. AES je algoritam simetrinog kljua koji obrauje podatke u 128-bitnim blokovima i moe da radi sa kljuevima koji su duine od 128, 192 i 256 bitova. NIST procenjuje da bi maini koja bi mogla da razbije 56-bitni DES u jednoj sekundi (odnosno; da pokua brzinu od 255 kljueva u sekundi) trebalo priblino 149 triliona godina da razbije 128-bitni AES klju.

sistemi sa javnim kljuevima takoe imaju vie divnih osobina koje ih ine korisnim ne samo za ifrovanje, nego i za autentifikaciju i digitalne potpise. Zanimljivo je da je nedavno dolo do ideja slinih onima u knjigama [Diffie 1976] i [RSA 1978] koje su nezavisno razvijene u ranim 1970-im godinama u nizu tajnih izvetaja istraivaa u grupi Communications-Electromcs Securitv Group u Ujedinjenom kraljevstvu [EIlis 1987]. Kao to je obino sluaj, velike ideje mogu da se nezavisno pojave na vie mesta; na svu sreu, napredak javnih kljueva dogodio se ne samo u privatnom, nego i u javnom domenu. Upotreba kriptografije javnim kljuem svodi se na sasvim jednostavnu zamisao. Pretpostavite da Alisa eli da komunicira sa Bobom, Kao to je prikazano na slici 8.6, umesto da Bob i Alisa dele jedan tajni klju (kao u sluaju sistema simetrinih kljueva), Bob (primalac Alisinih poruka) ima dva kljua-javni klju koji je raspoloiv svakome na svetu (ukljuujui i Trudi, uljeza) i privatni klju koji je poznat samo njemu. Koristiemo notaciju KB* i KB' da bismo se pozivali na Bobov javni i privatni klju, tim redom. Da bi komunicirala sa Bobom, Alisa prvo nabavlja njegov javni klju. Alisa zatim ifruje svoju poniku za Boba, m, koristei Bobov javni klju i poznat (na primer, standardizovani) algoritam za ifrovanje; odnosno, Alisa izraunava KB(m). Bob prima Alisinu ifrovanu poruku i koristi svoj privatni klju i poznat (na primer, standardizovani) algoritam za deifrovanje da bi deifrovao Alisinu ifrovanu poruku. Odnosno, Bob izraunava KB(KB*(m)). Videemo dalje u tekstu da postoje algoritmi za ifrovanje/deifrovanje i tehnike za biranje javnih i privatnih kljueva takvi da je KB(KBr(m)) = m; odnosno, primenjujui Bobov javni klju, KB, na poruku, m (da bi se dobilo KB*(m)), a zatim primenjujui Bobov privatni klju, Kg,na ifrovanu verziju m(odnosno, izraunavanjemKB(KB*(m))) dobijamo opet m. To je izvanredan rezultat! Na taj nain, Alisa moe da koristi Bobov javno raspoloiv klju da bi poslala tajnu poruku Bobu, a da nijedna od njih ne mora

8.2.2 ifrovanje javnim kljuem


Za vie od 2000 godina (od vremena Cezarove ifre do 1970-ih godina), ifrovana komunikacija zahtevala je da dve strane koje komuniciraju dele zajedniku tajnu - simetrini klju koji koriste za ifrovanje i deifrovanje. Jedna od tekoa ovakvog pristupa je da dve strane nekako moraju da se sporazumeju o deljenom kljuu; ali da bi se to uradilo, potrebna je (po pretpostavci sigurna) komunikacija! Moda bi strane mogle da se prvo sretnu i lino sporazumeju o kljuu (na primer, dva Cezarova centuriona bi mogla da se sretnu u rimskim kupatilima) i posle toga ifrovano komuniciraju. Meutim, u umreenom svetu, moe da se desi da strane koje komuniciraju nikada da ne razgovaraju, izuzev preko mree. Da li je mogue da dve strane ifrovano komuniciraju bez posedovanja deljenog tajnog kljua koji je unapred poznat? U 1976. godini, Difi i Helman [Diffie 1976] su pokazali algoritam (poznat kao Dif-fie-Hellmanova razmena kljua) koji radi ba to - stoje radikalno drugaiji i neodoljivo elegantan pristup sigurnoj komunikaciji koji je doveo do razvoja dananjih kriptografskih sistema sa javnim kljuevima. Uskoro emo videti da kriptografski

302

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.2

PRINCIPI KRIPTOGRAFIJE

667J

da distribuira bilo kakve tajne kljueve! Uskoro emo videti da moemo da zame-nimo ifrovanje javnim i privatnim kljuem i da dobijemo isti izvanredan rezultat, odnosno, Kg (Kg*(m)) = K * (KB'(m))= m. Dakle, upotreba kriptografije javnim kljuem je jednostavna zamisao. Meutim, tu se mogu javiti dva problema. Prvi problem je, da mada uljez koji presree Alisinu ifrovanu poruku vidi samo neto nerazumljivo, on zna i klju (Bobov javni klju, koji moe da vidi ceo svet) i algoritam koji je Alisa upotrebila za ifrovanje. Trudi na taj nain moe da preduzme napad izabranim otvorenim tekstom, koristei poznat standardizovan algoritam za ifrovanje i Bobov javno raspoloiv klju za ifrovanje, da bi deifrovala svaku poruku koju izabere! Trudi bi sasvim lepo mogla da pokua da, na primer, ifruje poruke ili delove poruka za koje sumnja da bi Alisa mogla da ih alje. Jasno, ako se radi kriptografija javnim kljuem, izbor kljua i ifrovanje/deifrovanje mora da se uradi na takav nain daje uljezu nemogue (ili, u najmanju ruku, toliko teko daje skoro nemogue) da ili odredi Bobov privatni klju ili da nekako drugaije deifruje ili pogodi Alisinu poruku Bobu. Drugi potencijalni problem je to to, s obzirom na to da je Bobov klju za ifrovanje javan, svako moe da poalje ifrovanu poruku Bobu, ukljuujui Alisu ili nekog ko tvrdi da je Alisa. U sluaju jednog deljenog tajnog kljua, injenica da poiljalac zna tajni klju implicitno identifikuje poiljaoca primaocu. Meutim, u sluaju kriptografije javnim kljuem, to vie nije tano, zato to svako moe da poalje, ifrovanu poruku Bobu koristei Bobov javno raspoloiv klju. Da bi se poiljalac povezao jedinstveno sa porukom koju alje potreban je digitalni potpis, to je tema koju emo prouiti u odeljku 8.4, Iako ima mnogo algoritama i kljueva koji reavaju ova pitanja, algoritam RSA (nazvan po svojim pronalazaima, Ronu Rivestu, Adiju Shamiru i Leonardu Adlemanu) postao je skoro sinonim za kriptografiju javnim kljuem. Hajde najpre da vidimo kako RSA radi, a zatim ispitajmo zato to radi. Pretpostavite da Bob eli da prima ifrovane poruke, kao Stoje prikazano na slici 8.6. Postoje dve meusobno povezane komponente algoritma RSA; Izbor javnog i privatnog kljua Algoritam za ifrovanje i deifrovanje Da bi odabrao javni i privatni klju, Bob mora da izvede sledee postupke: 1. Odabrati dva velika prosta broja, p i q. Koliko bi p i q trebalo da budu veliki? to su vrednosti vee, to je tee razbiti RSA, ali je potrebno vie vremena da bi se izvrilo ifrovanje i deifrovanje. RSA Laboratorije preporuuju da proizvod p i q bude reda 1024 bita za profesionalnu upotrebu (npr. u kompanijama) i 768 bitova za rad sa manje vrednim informacijama" [RSA Key 2004] (to dovodi do pitanja zastoje kompanijska upotreba toliko znaajnija od ostale upotrebe!). O tome kako se pronalaze veliki prosti brojevi, proitajte knjigu [Caldv/ell 2004].

2. Izraunati n = pq\z = {p~ l)(g -1). 3. Izabrati broj, e, manji od n, koji nema zajednikih inilaca (izuzev 1) sa brojem z. (U ovom sluaju, za e i z se kae da su relativno prosti.) Slovo e se koristi zato to e ta vrednost biti koriena u ifrovanju. 4. Pronai broj, d, takav daje ed-1 tano deljivo (odnosno, bez ostatka) saz. Slovo ,/f' je upotrebljeno zato to e se ta vrednost koristiti u deifrovanju. Drugaije reeno, za dato e, biramo d tako da celobrojni ostatak kada se ed podeli sa z iznosi 1. (Celobrojni ostatak kada se ceo broj x podeli celim brojem n, oznaava se sa x mod ). 5. Javni klju koji Bob stavlja na raspolaganje elom svetu, K8+, je par brojeva (n,e)\ njegov privatni klju, KB~, je par brojeva (n,d). Alisino ifrovanje i Bobovo deifrovanje se obavljaju na sledei nain: Pretpostavite da Alisa eli da poalje Bobu uzorak bitova ili broj, m, takav daje m< n. Da bi ifrovala, Alisa obavlja operaciju eksponenciranja, m , a zatim izraunava celobrojni ostatak kada se me podeli sa n. Dakle, ifrovana vrednost, c, poruke otvorenog teksta, m, koji Alisa alje je c = nf mod n Da bi deifrovao poruku ifrovanog teksta, c, Bob izraunava m = * mod nto zahteva upotrebu njegovog privatnog kljua (n,). Kao jednostavan primer algoritma RSA, pretpostavite da Bob bira p = 5 i q = 7. (Iskreno govorei, te vrednosti su suvie male da bi bile sigurne.) Onda je n = 35 i z = 24. Bob bira e = 5, zato to 5 i 24 nemaju zajednikih inilaca. Najzad, Bob bira d = 29, zato stoje 5'29 -1 (odnosno, ed - 1) tano deljivo sa 24. Bob ini dve vrednosti javnim, n = 35 i e = 5, a zadrava vrednost d = 29 kao tajnu. Posmatrajui ove dve javne vrednosti, pretpostavite da Alisa sada eli da poalje Bobu slova 1", o", v" i ,,e". Interpretirajui svako slovo kao broj izmeu 1 i 26 (gde je a" 1, a ,,z" 26), Alisa i Bob izvravaju ifrovanje i deifrovanje prikazano u tabelama 8.1 and 8.2, tim redom. Imajui u vidu daje pojednostavljeni primeru tabelama 8.1 i 8.2 ve proizveo neke izuzetno velike brojeve, i s obzirom na to da znamo da smo ranije videli kako bi p i q trebalo da budu duine vie stotina bitova, dolazimo do nekih praktinih pitanja u pogledu algoritma RSA. Kako se biraju veliki prosti brojevi? Kako se biraju e i dl Kako se vri eksponenciranje sa velikim brojevima? Diskusija o tim znaajnim pitanjima je izvan domena ove knjige; proitajte knjigu [Kaufman 1995] i reference koje se tamo nalaze da biste saznali vie pojedinosti o tome. Ovde samo napominjemo da je RSA eksponenciranje proces koji troi dosta vremena. S druge strane, DES je najmanje 100 puta bri u softveru i izmeu 1000

668

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.2

PRINCIPI KRIPTOGRAFIJE

303

aritmetici, izvravamo uobiajene operacije sabiranja, mnoenja i eksponenciranja. Meutim, rezultat svake operacije se zamenjuje celobrojnim ostatkom koji preostaje kada se rezultat podeli sa n. Uzeemo da je n = pg, gde su p i q veliki prosti brojevi koji se koriste u RSA algoritmu. Setite se da kod RSA ifrovanja, poruka (predstavljena celim brojem), m, prvo eksponencira na stepen e koristei aritmetiku modulo-, Deifrovanje se vri podizanjem te vrednosti na stepen d, koristei opet aritmetiku modulo-. Rezultat postupka ifrovanja praenog postupkom deifrovanja je zato (me)d. Hajde da sada vidimo ta moe da se kae o ovoj veliini. Imamo: (V/mod = m^mod Iako pokuavamo da uklonimo neto od magije" u radu algoritma RSA, ovde e biti potrebno da iskoristimo jedan prilino magian rezultat iz teorije brojeva. Naroito e nam trebati rezultat koji kae da ako supin prosti brojevi, i ako je = pqt ondaje#>'mod isto to \x<ymod(p-V(i- W mod n [Kaufman 1995]. Primenjujui ovaj rezultat, imamo (mc)d mod n = m<ud ">OD (P " M'X)) mod n Ali, setite se da biramo e i d tako da je ed - 1 tano deljivo (bez ostatka) sa (p - l)(q - 1), ili, ekvivalentno tome, daje ed deljivo sa (p - l)(q - 1) sa ostatkom 1, pa je na taj nain ed mod (p l)(q - l) = 1. To nam daje (mc)d mod n = m[ mod = m odnosno, (me)d mod n = m i 10000 puta bri u hardveru [RSA Fast 200.4]. Kao rezultat, RSA se u praksi esto koristi u kombinaciji sa DES-om ili AES-om. Na primer, ako Alisa eli da poalje Bobu veliku koliinu ifrovanih podataka velikom brzinom, ona bi trebalo da uradi sledee. Alisa prvo bira DES klju koji e se upotrebiti za ifrovanje samih podataka; taj klju se ponekad zove klju sesije, Ks. Alisa mora da informie Boba o kljuu sesije, zato Stoje to deljeni simetrini klju koji e oni koristiti za DES. Alisa dakle ifruje vrednost kljua sesije koristei Bobov javni RSA klju, odnosno, izraunava c = (K^e mod . Bob prima RSA-ifrovan klju sesije, c, i deifruje ga da bi dobio klju sesije, Ks Bob sada zna klju sesije koji e Alisa koristiti za prenos DES-ifrovanih podataka. To je rezultat kome smo se nadali! Prvo eksponenciranjem na stepen od e (odnosno, ifrovanjem) a zatim eksponenciranjem na stepen od d (odnosno, deifrova-njem), dobijamo originalnu vrednost, m. Jo bolja od toga jeste injenica da ako prvo eksponenciramo na stepen od d, a zatim eksponenciramo na vrednost od e - odnosno, obmemo redosled ifrovanja i deifrovanja, izvodei prvo operaciju deifrovanja, a zatim primenjujui operaciju ifrovanja takode dobijamo originalnu vrednost, m\ (Dokaz ovog rezultata sledi iz potpuno istog rezonovanja kao u prethodnom delu teksta.) Uskoro emo videti da e nam ova divna osobina algoritma RSA, (me)d mod = m = (md)e mod n biti veoma korisna. Bezbednost RSA oslanja se na injenicu da he postoje poznati algoritmi za brzo faktorisanje broja, u ovom sluaju javne vrednosti n, na proste brojeve p i q. Ako bi neko znao p i g, onda bi uz datu javnu vrednost e, mogao lako da izrauna tajni klju, d. S druge strane, ne zna se da li postoje ili ne postoje brzi algoritmi za faktorisanje broja, i u tom smislu bezbednost RSA nije garantovana".

Kako RSA radi?


Gore opisano RSA ifrovanje/deifrovanje izgleda kao prava magija. Zato bismo, kada primenimo najpre algoritam za ifrovanje a zatim algoritam za deifrovanje, rekonstruisali originalnu poruku? Da bismo razumeli kako RSA radi, bie potrebno da izvedemo aritmetike operacije koristei aritmetiku modulo-. U modularnoj

304

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.3

AUTENTIFIKACIJA

671

8 .3 Autentifikacija
Autentifikacija je proces dokazivanja identiteta jedne osobe drugoj osobi. Kao ljudi, autentifikujemo jedan drugoga na mnogo naina: prepoznajemo jedni drugima lica kada se sretnemo, prepoznajemo jedni drugima glasove preko telefona, autenti-fikuje nas carinik koji nas proverava u odnosu na sliku u pasou. U ovom odeljku razmatramo kako jedna sirana moe da autentifikuje drugu, kada one komuniciraju preko mree. Usredsrediemo se na autentifikovanje ive" strane, u trenutku kada se komunikacija stvarno dogaa. Videemo daje to malo drugaiji problem od dokazivanja da je poruka, primljena u nekom trenutku u prolosti (na primer, daje mogla da se arhivira), zaista dola od onoga koje tvrdio daje poiljalac. Ovaj poslednji problem zove se problem digitalnog potpisa, kojeg emo objasniti u odeljku 8.4. Kada izvravaju autentiftkaciju preko mree, strane u komunikaciji ne mogu da se oslone na biometrijske informacije, kao to je vizuelna pojava ili uzorak glasa. Zaista, videemo u kasnijim studijama primera da mreni elementi, kao to su ruteri i procesi klijent/server, esto moraju da autentifikuju jedan drugoga, Ovde autentifikacija mora da se uradi samo na osnovu poruka i podataka razmenjenih u okviru protokola autentifikacije. Uobiajeno je da se, protokol autentifikacije izvri pre nego to dve strane koje komuniciraju pokrenu neki drugi protokol (na primer, protokol pouzdanog prenosa, protokol za razmenu tabela rutiranja ili protokol za elektronsku potu). Protokol autentifikacije prvo ustanovljava identitete strana na obostrano zadovoljstvo; samo posle autentifikacije strane mogu da preu na posao koji ih oekuje. Kao u sluaju razvoja naeg protokola za pouzdan prenos podataka (reliable data transfer, rdt) u poglavlju 3, otkriemo daje ovde pouno razviti razliite verzije protokola za autentifikaciju, koji emo zvati ap (autentifikacioni protokol") i razmatrati svaku verziju kako napredujemo dalje u izlaganju. (Ako volite ovakav postepen razvoj dizajna, mogli biste takoe proitati knjigu [Bryant 1988], u kojoj se prepriava izmiljen razgovor izmeu dizajnera i sistema za autentifikaciju otvorene mree, i njihovo otkrie mnogih pitanja u vezi sa tim.) Pretpostavimo da Alisa treba da se autentifikuje Bobu.

8.3.2 Autentifikacioni protokol ap2.0


U sluaju da Alisa ima dobro poznatu mrenu adresu (na primer, IP adresu) sa koje ona uvek komunicira, Bob bi mogao da pokua da autentifikuje Alisu proveravajui da izvorna adresa na IP datagramu koji nosi poruku o autentifikaciji odgovara Ali-sinoj dobro poznatoj adresi. Ako je tako, onda bi Alisa bila autentifikovana. To bi moglo da zaustavi veoma naivnog uljeza da se predstavlja kao Alisa. Ali, to ne bi zaustavilo odlunog studenta koji ita ovu knjigu ili jo mnogo drugih ljudi! S obzirom na to da smo do sada prouili i mreni sloj i sloj linka podataka, znamo da nije tako teko napraviti IP datagram (na primer, ako smo imali pristup kodu operativnog sistema i mogli da izgradimo sopstveno jezgro operativnog sistema, kao u sluaju Linuxa i nekoliko drugih besplatno raspoloivih operativnih sistema), staviti u IP datagram bilo kakvu IP adresu izvora (na primer, Alisinu dobro poznatu IP adresu) i poslati datagram preko protokola sloja linka na ruter prvog skoka. Odatle pa nadalje, netano izvorno adresiran datagram bi revnosno bio pro-sleen Bobu. Ovaj pristup, prikazan na slici 8.8, predstavlja oblik IP obmane, veoma dobro poznat bezbednosni napad koji emo detaljnije razmatrati u odeljku 8.7. IP obmana moe da se izbegne ako je Trudin ruter prvog skoka konfigurisan da prosleuje samo datagrame koji sadre Trudinu IP izvornu adresu [RFC 2827]. Meutim, ova sposobnost nije uvek prisutna niti se obavezno primenjuje. Bob bi zato bio glup ako bi pretpostavio daje Trudin upravnik mree (koji bi mogla da bude i sama Trudi) konfigurisao njen ruter prvog skoka da prosleuje samo one datagrame koji su adresirani na odgovarajui nain.

8-3.1 Autentifikacioni protokol apl.O


Moda je najjednostavniji autentifikacioni protokol koji moemo da zamislimo onaj u kom Alisa prosto alje poruku Bobu u kojoj kae daje ona Alisa. Taj protokol je prikazan na slici 8.7. Ovde je greka oigledna - nema naina da Bob stvarno zna da je osoba koja je poslala poruku Ja sam Alisa" zaista Alisa. Na primer, Trudi (uljez) bi mogla takode da poalje takvu poruku.

J672

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.3

AUTENTIFIKACIJA

673

8.3.3 Autentifikacioni protokol ap3.0


Jedan od klasinih pristupa autentifikaciji je da se koristi tajna lozinka. Svi koristimo PTN-ove da bismo se identifikovali bankomatima i lozinke prijavljivanja za operativne sisteme. Lozinka je deljena rajna izmeu onog ko autentifikuje i osobe koja se autentifikuje. U odeljku 2.2. smo videli da HTTP koristi autentifikacionu emu zasnovanu na lozinci. Telnet i FTP takoe koriste autentifikaciju pomou lozinke. U protokolu ap3.0, Alisa zato alje svoju tajnu lozinku Bobu, kao Stoje prikazano na slici 8.9. S obzirom na to da se lozinke tako iroko koriste, mogli bismo da pomislimo kako je protokol ap3.0 prilino bezbedan. Meutim, ne bismo bili u pravu! Ovde je jasna bezbednosna greka. Ako Trudi prislukuje Alisinu komunikaciju, ona bi onda mogla da sazna njenu lozinku. Da ne biste pomislili kako je to neverovatno, razmotrite injenicu da kada se neko obraa preko Telneta drugoj maini i prijavljuje se, lozinka za prijavljivanje se neifrovano alje Telnet serveru. Neko povezan sa Telnet klijentom ili na serverovom LAN-u mogao bi da onjui" (proita i zapie) sve pakete koji se prenose preko LAN-a i tako ukrade lozinku za prijavljivanje. U stvari, to je dobro poznat pristup za krau lozinki (proitajte, na primer, knjigu [Jimenez 1 997]). Takva pretnja je oigledno veoma realna, pa je jasno da ap3.0 ne bi obavio posao.

lozinka tana, autentifikuje Alisu. Bob se prilikom autentifikacije Alise osea komotno, zato to Alisa ne samo da zna lozinku, nego poznaje i deljeni tajni klju koji je potreban da bi se ifrovala lozinka. Nazovimo ovaj protokol ap3.1. Dok je tano da ap3.1 spreava Trudi da sazna Alisinu lozinku, upotreba kriptografije ovde ne reava problem autentmkacije. Na Boba je izvren takozvani napad reprodukcije: Trudi treba samo da prislukuje Alisinu komunikaciju, zapie ifrovanu verziju lozinke i zatim kasnije reprodukuje ifrovanu verziju lozinke Bobu, kako bi se pretvarala daje ona Alisa. Upotreba ifrovane lozinke u protokolu ap3.i situaciju ne ini bitno drugaijom od one za protokol ap3.0 na slici 8.9.

8.3.5 Autentifikacioni protokol ap4.0


Problem sa protokolom ap3.J je u tome to se stalno koristi ista lozinka. Jedan nain da se taj problem rei bio bi da se svaki put koristi drukija lozinka. Alisa i Bob bi mogli da se dogovore o sekvenci lozinki (ili o algoritmu za generisanje lozinki) i da koriste svaku lozinku samo jednom, u sekvenci. Ta ideja se koristi u sistemu S/KY [RFC 1760], koji usvaja Lamportov pristup za generisanje sekvence lozinki (Lamport 1983]. .'?r Ali, umesto da se ovde zadovoljimo tim reenjem, hajde da razmotrimo optiji pristup za borbu protiv napada reprodukcije. Scenario neuspeha sa slike 8.9 posle-

8.3.4 Autentifikacioni protokol ap3.1


Kada smo prouili prethodni odeljak o kriptografiji, naa sledea ideja za popravljanje protokola ap3.0 je prirodno da upotrebimo ifrovanje kako bismo ifrovali lozinku. ifrovanjem lozinke, moemo da spreimo Trudi da sazna Alisinu lozinku. Ako pretpostavimo da Alisa i Bob dele simetrini tajni klju, KA2gi onda Alisa moe da ifruje lozinku i poalje Bobu svoju identifikacionu poruku, I am Alice" i svoju ifrovanu lozinku. Bob onda deifruje lozinku i, pod pretpostavkom da je

306

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.3

AUTENTIFIKACIJA

675

dica je injenice da Bob ne bi mogao da razlikuje originalnu Alisinu autentifika-ciju od kasnije reprodukcije Alisine originalne autentifikacije. Odnosno, Bob ne bi mogao da kae da li je Alisa bila uivo" (to jest, da li je stvarno bila na drugom kraju konekcije) ili da li su poruke koje je on primao bile reprodukcija snimljene prethodne Alisine autentifikacije. italac sa velikom (veoma velikom) sposobnou opaanja setie se da je TCP protokol sa trostrukom sinhronizacijom trebalo da reava isti problem - serverska strana TCP konekcije nije htela da prihvati konekciju ako je primljeni SYN segment bio stara kopija (retransmisija) SYN segmenta iz neke ranije konekcije. Kako je serverska strana resila problem odreivanja da li je klijent stvarno iao uivo"? Ona je izabrala poetni broj sekvence koji nije bio korien dugo vremena, poslala taj broj klijentu i zatim ekala da klijent odgovori ACK segmentom koji sadri taj broj. Moemo ovde da usvojimo istu ideju u svrhu autentifikacije. Jednokratni broj (nonce) je broj koji e protokol upotrebiti samo jednom zauvek. Odnosno, jednom kada protokol upotrebi jednokratni broj, on taj broj vie nikada nee koristiti. Na protokol ap4.0 koristi jednokratni broj na sledei nain:
1 . Alisa alje Bobu poruku I am Alice".

1. Alisa alje Bobu poruku I am Alice". 2. Bob bira jednokratni broj, R, i alje ga Alisi. 3. Alisa ifruje jednokratni broj koristei svoj i Bobov simetrini tajni klju, KA_B, i alje natrag Bobu ifrovani jednokratni broj, KA_B(R). Kao u protokolu apS.i, injenica je da Alisa zna KA_B i koristi ga za ifrovanje vrednosti koja doputa Bobu da zna kako je poruku koju on prima napravila Alisa. Jednokratni broj se koristi da bi obezbedio da Alisa ide uivo". 4. Bob deifruje primljenu poruku. Ako je deifrovan jednokratni broj jednak jednokratnom broju koji je on poslao Alisi, onda je Alisa autentifikovana. Protokol ap4.0 ilustrovan je na slici 8.1 0. Koristei vrednost za R samo jednom zauvek i zatim proveravajui vraenu vrednost, KA^B(R), Bob moe da bude siguran daje Alisa ona za koju se izdaje (zato to poznaje vrednost tajnog kljua potrebnu za ifrovanje R) i da ide uivo" (zato stoje ifrovala jednokratni broj, R, koji je Bob upravo napravio).

2. Bob bira jednokratni broj, R, i alje ga Alisi. Jo jednom, jednokratni broj e biti upotrebljen da bi se osiguralo da Alisa ide uivo". 3. Alisa koristi svoj privatni klju, KA, da bi ifrovala jednokratni broj i alje Bobu rezultujuu vrednost KA(R). Kako samo Alisa zna svoj privatni klju, niko sem nje ne moe da generie KA(R). 4. Bob primenjuje Alisin javni klju, K/, na primljenu poruku; odnosno, Bob izraunava KA+(K/(R)). Setite se iz nae diskusije o RSA kriptografiji javnim kljuem u odeljku 8.2 da je K/(KA(R))= R. Dakle, Bob izraunava R i auten-tifikuje Alisu. Rad protokola ap5.0 prikazanje na slici 8.11. Da lije protokol ap5.0 tako bezbedan kao protokol ap4.01 Oba protokola koriste jednokratne brojeve. Kako ap5.0 koristi tehnike javnih kljueva, on zahteva da Bob dobije Alisin javni klju. To dovodi do zanimljivog scenarija, prikazanog na slici 8.1 2, u kome Trudi moe da Bobu glumi Alisu. 1. Trudi alje Bobu poruku I am Alice". 2. Bob bira jednokratni broj, R, i alje ga Alisi, ali Trudi presree tu poruku. 3. Trudi koristi svoj privatni klju, Kj da bi ifrovala jednokratni broj i alje Bobu rezultujuu vrednost, Kf(R). Za Boba, Kf(R)'p samo hrpa bitova i on ne zna da li bitovi predstavljaju Kf(R) ili K/(R). 4. Bob sada mora da dobije Alisin javni klju da bi primenio KA+ na vrednost koju je ba primio. On alje Alisi poruku u kojoj od nje trai K/ (Bob bi takode mogao da dobije Alisin javni klju sa njene veb lokacije). Trudi presree i tu poruku i odgovara Bobu sa KT+, odnosno, svojim javnim kljuem. Bob proraunava KT+(K/R))=R i tako autentifikuje Trudi kao Alisu! Iz gornjeg scenarija, jasno je daje protokol ap5.0 siguran" samo koliko je i distribucija javnih kljueva sigurna. Na svu sreu, postoje bezbedni naini distribuiranja javnih kljueva, kao to emo uskoro videti u odeljku 8.5.

8.3.6 Autentifikacioni protokol ap5.0


Upotreba jednokratnog broja i kriptografije simetrinog kljua stvorila je osnovu za na uspeni protokol autentifikacije, ap4.0. Prirodno pitanje je da li moemo da koristimo jednokratan broj i kriptografiju javnog kljua (a ne kriptografiju simetrinog kljua) da bismo resili problem autentifikacije. Upotreba javnog kljua izbegla bi tekou koja se javlja u svakom sistemu sa deljenim kljuem - brigu o tome kako bi obe strane saznale vrednost tajnog deljenog kljua. Protokol koji koristi kriptografiju javnog kljua na slian nain kao kriptografiju deljenog kljua u protokolu ap4.0]e protokol pod imenom ap5.0.

307

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.3

AUTENTIFIKACIJA

677

izbegao to otkrivanje. U scenariju na slici 8.13, i Alisa i Bob priaju jedno sa drugim ali, koristei istu pukotinu u protokolu autentifikacije, Trudi moe da se transpa-rentno ubaci izmeu Alise i Boba. Posebno, ako Bob pone da alje Alisi ifrovane podatke koristei klju za ifrovanje koji prima od Trudi, Trudi moe da rekonstru-ie otvoreni tekst u komunikaciji od Boba do Alise. U isto vreme, Trudi moe da prosledi Bobove podatke ka Alisi (posle ponovnog ifrovanja podataka korienjem Alisinog stvarnog javnog kljua).

U scenariju na slici 8.12, Bob i Alisa bi na kraju mogli zajedno da otkriju kako neto nije u redu, zato to e Bob tvrditi daje imao interakciju sa Ahsom, ah Alisa zna da nikada nije imala interakciju sa Bobom. Postoji akjo lukaviji napad koji bi

678

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.4

INTEGRITET

308

Bob je zadovoljan to alje ifrovane podatke, a Alisa je zadovoljna to prima ifro-vane podatke koristei sopstveni javni klju; oboje su nesvesni Trudinog prisustva. Ako bi se Bob i Alisa kasnije sreli i porazgovarali o svojoj interakciji, Alisa bi rekla daje primila tano ono stoje Bob posalo, pa se ne bi otkrilo nita to nije u redu. Ovo je jedan od primera takozvanog napada oveka u sredini (ovde bi vie odgovaralo, napada ene u sredini"). To se ponekad naziva napad brigade sa kofama, zato to Trudino prosledivanje podataka izmeu Alise i Boba lii na prosledivanje kofa vode du lanca ljudi (brigade sa kofama") koji gase vatru koristei udaljeni izvor vode.

8 .4 Integritet
Pomislite koliko ste se puta potpisali na paretu hartije u toku protekle nedelje. Potpisujete ekove, raune kreditnih kartica, pravna dokumenta i pisma. Va potpis potvruje da ste vi (nasuprot nekom drugom) potvrdili i/ili se saglasili sa sadrajem dokumenta. U digitalnom svetu, esto elimo da ukaemo na vlasnika ili stvaraoca dokumenta, ili da oznaimo neiju saglasnost sa sadrajem dokumenta. Digitalni potpis je kriptografska tehnika za postizanje ovih ciljeva u digitalnom svem. Ba kao i potpisi ljudi, digitalno potpisivanje bi trebalo da se izvri na takav nain da digitalni potpisi budu proverljivi, da se ne mogu falsifikovati ili ne priznavati. Odnosno, mora biti mogue da se dokae" kako je dokument koji je neko potpisao zaista potpisala ta osoba (potpis mora da bude proverljiv) i daje samo ta osoba mogla da potpie dokument (potpis ne moe da se falsifikuje, a potpisnik ne moe kasnije da porekne ili da ne prizna daje potpisao dokument). To se lako postie korienjem tehnika kriptografije javnim kljuem.

unava K8*(KB~(m)) i dobija m, koji tano odgovara originalnom dokumentu! Alisa zatim objanjava daje samo Bob mogao da potpie dokument, iz sledeih razloga; Bilo ko daje potpisao poruku morao je da koristi privatni klju, KB', u izraunavanju potpisa KB*(m)t tako daje KB+{KB'(m)) = m. Bob je jedina osoba koja je mogla da zna privatni klju, KB'. Setite se iz nae diskusije o algoritmu RSA u odeljku 8.2 da poznavanje javnog kljua, KB*t ne pomae u saznavanju privatnog kljua, KB'. Dakle, jedina osoba koja bi znala Kg' jeste osoba koja je stvorila par kljueva, (Kg+. Kg), a to je Bob. (Zapazite da to, meutim, pretpostavlja da Bob nikome nije dao Kg\ niti je bilo ko ukrao" Kg od Boba.) Vano je takoe zapaziti da ako je originalni dokument, m, ikada promenjen u neki drugi oblik, m', potpis koji je Bob napravio za m nee vaiti za m', zato to KB(Kg (m)) nije jednako m'. Dakle, vidimo da kriptografija javnim kljuem obezbeduje jednostavan i elegantan nain da se digitalno potpisuju dokumenti, nain koji je proverljiv, ne moe se falsifikovati, neopoziv je i titi od kasnijih promena dokumenta.

8.4.1 Stvaranje digitalnih potpisa


Pretpostavite da Bob eli da digitalno potpie dokument", m. O dokumentu moemo da razmiljamo kao o datoteci ili o poruci koju e Bob da potpie i poalje. Kao to je prikazano na slici 8.14, da bi potpisao taj dokument, Bob jednostavno koristi svoj privatni klju, KB, da bi izraunao KB~(m). Na prvi pogled, moglo bi izgledati udno to Bob koristi svoj privatni klju (koji se, kao to smo videli u odeljku 8.2, koristi za deifrovanje poruke koja je bila ifrovana njegovim javnim kljuem) da bi potpisao dokument. Ali, setite se da se ifrovanje i deifrovanje svode na matematiku operaciju (eksponenciranje na stepen e ili du algoritmu RSA; proitajte odeljak 8.2) i da Bobov cilj nije da ifruje ili uini nejasnim sadraj dokumenta, nego da potpie dokument na nain koji je proverljiv, bez mogunosti falsifikovanja i neopoziv. Bob ima dokument, m, a njegov digitalni potpis dokumenta je KB'(m). Da li digitalni potpis, KB-(m), ispunjava nae zahteve daje proverljiv, bez mogunosti falsifikovanja i neopoziv? Pretpostavite da Alisa ima m i KB~(m). Ona eli da dokae na sudu (u parnici) da je Bob zaista potpisao dokument i da je bio jedina osoba koja je uopte mogla da ga potpie. Alisa uzima Bobov javni klju, KB*, i pri-menjuje ga na digitalni potpis, KB~(m), pridruen dokumentu, m. Odnosno, ona izra-

8.4.2 Izvodi poruka


Videli smo da tehnologija javnog kljua moe da se upotrebi da bi se napravio digitalni potpis. Meutim, jedna od nevolja sa potpisivanjem podataka je da su ifrovanje i deifrovanje raunarski skupe operacije. Kada se digitalno potpisuje dokument koji je zaista vaan, recimo ugovor o spajanju dve velike multinacionalne korporacije ili ugovor sa detetom da ono jednom nedeljno poisti svoju sobu, raunarska cena moe da ne bude vana. Meutim, mnogi mreni ureaji i procesi (na primer,

309

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA 8.4 . INTEGRITET 681

ruteri koji razmenjuju informacije tabela rutiranja i korisniki agenti za elektronsku potu koji razmenjuju elektronsku potu) rutinski razmenjuju podatke koji ne moraju da se ifruju. Svejedno, oni ipak ele da obezbede da: poiljalac podataka zaista jeste onaj za koga se izdaje, odnosno, daje poiljalac potpisao podatke i da taj potpis moe da se proveri. preneti podaci nisu promenjeni od kada ih je poiljalac stvorio i potpisao. S obzirom na to da operacije ifrovanja i deifrovanja predstavljaju raunaru zaista veliko optereenje, potpisivanje celog skupa podataka (kompletnog dokumenta) moe da bude krajnje nepraktino. Efikasniji pristup, upotrebom tzv. izvoda poruka, moe da ispuni ova dva cilja bez ifrovanja cele poruke. Izvod iz poruke u mnogome lii na kontrolni zbir. Algoritam za izvod iz poruke uzima poruku, m, proizvoljne duine i proraunava otisak prsta" fiksne duine koji se zove izvod iz poruke, H(m). Izvod iz poruke titi podatke u smislu da ako se m promeni u m' (zlonamerno ili sluajno) onda H(m), izraunat za originalne podatke (i prenesen sa podacima), nee odgovarati H(m') izraunatom za promenjene podatke, m', Dok izvod iz poruke obezbeduje integritet podataka, kako on pomae u potpisivanju poruke m? Ovde je cilj da Bob, umesto da potpie celu poruku izraunavajui KB'(m), potpisuje samo izvod iz poruke izraunavajui KB~(H(m)). Odnosno, posedovanje m i KB'(H(m)) zajedno (zapazite da m nije ifrovano) trebalo bi da bude isto tako dobro" kao posedovanje potpisane celokupne poruke, KB'(tn), To znai da se m i K~B(H(m)) zajedno ne mogu falsifikovati, da su proverijivi i neopozivi. Nemogunost falsifikovanja zahteva da izvod iz poruke ima neke specijalne osobine, kao to emo videti dalje u tekstu. Naa definicija izvoda poruke moe da izgleda sasvim slino kao definicija kontrolnog zbira (na primer, kontrolnog zbira za Internet, proitajte odeljak 3,3.2) ili monijeg koda za ispravljanje greaka, kao to je ciklina provera redundantnosti (proitajte odeljak 5.2). Da lije ona zaista razliita? Kontrolni zbirovi, cikline provere redundantnosti i izvodi iz poruka - sve su to primeri takozvanih he funkcija. Kao to je prikazano na slici 8.15, he funkcija uzima ulaz, m, i proraunava niz fiksne duine koji je poznat kao he. Kontrolni zbirovi za Internet, CRC-ovi i izvodi iz poruka svi zadovoljavaju ovu definiciju. Ako potpisivanje izvoda poruke treba da bude isto tako dobro" kao potpisivanje cele poruke, posebno ako e ono da zadovolji zahtev nemogunosti falsifikovanja, onda algoritam za izvod poruke mora da ima sledee dodatno svojstvo: Raunarski je neizvodljivo pronai bilo koje dve razliite poruke* i y takve daje H(x)=H(y). Nezvanino, ovo svojstvo znai daje uljezu raunarski neizvodljivo da zameni jednu poruku drugom, koja je zatiena izvodom poruke. Odnosno, ako su (m,H(mJ) poruka i njen pripadajui izvod koje je napravio poiljalac, onda uljez ne moe da falsifikuje sadraj druge poruke, y, koja ima istu vrednost izvoda kao originalna poruka. Kada Bob potpise m izraunavajui KB(H(m)), mi znamo da nijedna druga

poruka ne moe da zameni m. Pored toga, Bobov digitalni potpis H(m) ga jedinstveno identifikuje kao proverljivog, neopozivog potpisnika H(m) (i, kao posledica, i samu m), kao to je razmatrano ranije u odeljku 8.4.1. U kontekstu Bobovog slanja poruke Alisi, na slici 8.16 dat je zbirni pregled procedure stvaranja digitalnog potpisa. Bob proputa svoju originalnu dugaku poruku kroz he funkciju da bi napravio izvod poruke. On zatim digitalno potpisuje izvod poruke svojim privatnim kljuem. Originalna poruka (u obliku otvorenog teksta) zajedno sa digitalno potpisanim izvodom poruke (na koji emo se od sada pozivati kao na digitalni potpis) alje se Alisi. Na slici 8.17 dat je zbirni pregled procedure proveravanja integriteta poruke. Alisa primenjuje poiljaoev javni klju na poruku da bi rekonstruisala poslati izvod poruke. Alisa takoe primenjuje he funkciju na poruku otvorenog teksta da bi dobila izraunati izvod poruke. Ako su ova dva izvoda poruke identina, onda Alisa moe da bude sigurna u pogledu integriteta i autora poruke.

8.4.3 Algoritmi he funkcija


Hajde da se uverimo kako bi jednostavan kontrolni zbir, kao to je kontrolni zbir za Internet, bio slab algoritam za izvod poruke. Umesto da koristimo aritmetiku prvog komplementa (kao u kontrolnom zbiru za Internet), hajde da izraunamo kontrolni zbir obraujui svaki znak kao bajt i dodajui bajtove jedan drugom koristei kri-ke"od po etiri bajta istovremeno. Pretpostavimo da Bob duguje Alisi 100,99 USD i da joj alje poruku IOU (poruku u kojoj kae da joj duguje [I Owe You], prim. prev.) koja se sastoji od tekstualnog niza IOU100 . 9980B". ASCII prezentacija

310

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.4

INTEGRITET

683

tih slova (u heksadecimainoj notaciji) je 4 9, 4F, 55, 31, 30, 30, 2E, 3 9, 39, 42, 4F, 42. Na gornjem delu slike 8.18 pokazano je daje etvorobajtni kontrolni zbir za tu poruku B2 Cl D2 AC. Neznatno razliita poruka (ali sa mnogo veim trokom za Boba) prikazanaje u donjoj polovini slike 8.18. Poruke IOU100 . 99BOB"i IOU900 .19BOB" imaju isti kontrolni zbir. Dakle, ovaj jednostavan algoritam kontrolnog zbira kri dva gornja zahteva. Uz date originalne podatke, jednostavno je pronai drugi skup podataka sa istim kontrolnim zbirom. Jasno je da e nam, iz bezbednosnih razloga, biti potrebna monija he funkcija od kontrolnog zbira. Algoritam za izvod poruke MD5 iji je autor Ron Rivest [RFC 1321] danas je u irokoj upotrebi. On proraunava 128-bitni izvod poruke u procesu od etiri koraka, koji se sastoji od koraka dopunjavanja (dodavanja jedinice praene sa dovoljno nula tako da poruka zadovoljava izvesne uslove), koraka dodavanja (dodavanja 64-bitne prezentacije duine poruke pre dopunjavanja), inicijalizacije akumulatora i konanog ulaska u petlju u kojoj se obraduju blokovi poruke od po 16 rei u etiri runde obrade. Ne zna se da li MD5 stvarno zadovoljava gore navedene zahteve. Autor MD5 tvrdi, Tekoa dolaenja do bilo koje poruke koja ima isti izvod je reda veli-

ine 2M operacija, a tekoa dolaenja do bilo kakve poruke koja ima dati izvod poruke je veliine reda veliine 2I2S operacija". Niko nije osporio ovu tvrdnju. Radi opisa poruke MD5 (ukljuujui implementaciju C izvornog koda) proitajte [RFC 1321]. Drugi glavni algoritam za izvod poruke danas u upotrebi je SHA-1, Secure Hash Algorithm [FIPS 1995]. Ovaj algoritam se zasniva na principima slinim onima koji su upotrebljeni u projektovanju poruke MD4 [RFC 1320], prethodnika poruke MD5. Upotreba SHA-1, saveznog standarda u SAD, zahteva se kad god se trai bezbedni algoritam za izvode poruka koje se primenjuju u federalnim institucijama. On daje 160-bitni izvod poruke. Vea izlazna duina ini SHA-1 sigurnijim.

684

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.5

DISTRIBUCIJA I OVERAVANJE KLJUEVA

311.

PRINCIPI U PRAKSI
KERBEROS Kerberos [RFC 1510; Neuman 1994] predstavlja uslugu autentifikacije razvijenu na MIT-u, koja koristi tehnike ifrovanja simetrinim kljuem i centar za distribuciju kljueva. Mada |e konceptualno isti kao generiki KDC koji smo opisali u odeljku 8.5.1, njegov renik je neznatno drugaiji. Kerberos takoe sadri nekoliko 2godnih varijacija i proirenja osnovnih KDC mehanizama. Kerberos je projektovan da autentifikuje korisnike koji pristupaju mrenim serverima i u poetku je bio namenjen za upotrebu unutar jednog administrativnog domeno, kao to su univerzitetsko naselje ili kompanija. Dakle, Kerberos je namenjen korisnicima koji ele da pristupaju mrenim uslugama (serverima) koristei mrene programe aplikacionog nivoa, kao Eto je Telnet (za daljinsko prijavljivanje) i NFS (za pristup udaljenim datotekama), a ne za uesnike u razgovorima izmeu ljudi koji ele da se autenfiffkufu jedan drugom, kaa u naim prethodnim primerima. Svejedno, klju ne (igra rei!) osnovne tehnike ostaju iste. Kerberosov server za autentifikaciju (AS) igra ulogu KDC-a. AS je skladite ne samo tajnih kljueva svih korisnika (tako da svaki korisnik moe bezbedno da komunicira sa AS-om) nego i informacija o tome koji korisnici imaju privilegije pristupa kojim uslugama na kojim mrenim serverima. Kada Alisa eli da pristupi Bobovoj usluzi (o Bobu sada mislimo kao o serveru], protokol tano sledi na primer na slici 8.19. Alisa uspostavlja vezu sa Kerberos AS-om, pokazujui da eli da koristi Boba. Celakupna komunikacija izmeu Alise i AS-a ifrovana je upotrebom tajnog kljua koji dele Alisa i AS. U Kerberosu, Alisa prvo daje svoje ime i lozinku svom lokalnom raunaru. Tada Alisin lokalni raunar i AS utvruju jednokratni tajni klju za sesiju za ifrovanje komunikacije izmeu Alise i AS-a. 2. AS autentifikuje Alisu, proverava da li ona ima privilegiju pristupa Bobu i generie jednokratni tajni simetrini klju sesije, RJ, za komunikaciju izmeu Alise i Boba. Autenfilikocioni server (koji se u argonu Kerberaso zove Ticltef Grant'mg Server - server za odobravanje ulaznica), alje Alisi vrednost Rl, kao i ulaznicu za Bobove usluge. Ulaznica sadri Alisino ime, klju 20 sesiju Alisa-Bob i vreme isteka vanosti, sve ifrovano upotrebom Bobovog tajnog kljua (koji znaju samo Bob i AS), kao na slici 8.19. Alisina ulaznica vai samo do trenutka koda joj istie vanost i Bob e je odbaciti oko mu se pokae posle 1og Irenutka. Za Kerberos V4, maksimalni ivotni vek ulaznice je oko 21 sat. U Kerberosu V5, ivotni vek mora da istekne pre kraja 9999. godine, to je definitivno problem 10000. godine! 3. Alisa tada alje Bobu svoju ulaznicu. Ona takoe uz to alje vremensku oznaku ifrovanu pomou R l , kaja se koristi kao jednokratni broj. Bob deifruje ulaznicu koristei svoj tajni klju, dobija klju sesije i deifruje vremensku oznaku koristei klju sesije koji je upravo saznao. Bob alje Alisi natrag jednokratni broj, ifrovan pomou R l , pokazujui na laj nain da Bob zna R l i do ide uivo". Najnovija verzija Kerberosa (V5) obezbeduje podrku za vie autenlifikacionih servera, proveravanje prava pristupa i obnovljive ulaznice. Obilje detalja o svemu ovome nalazi se u knjigama [Kaufmann 1995] i [RFC 1510], 1

8 .5 Distribucija i overavanje kljueva


U odeljku 8.2 videli smo daje nedostatak kriptografije simetrinim kljuem bio potreban da bi se dve strane koje komuniciraju unapred dogovorile o svom tajnom kljuu. Kod kriptografije javnim kljuem, taj a priori sporazum o tajnom kljuu nije potreban. Meutim, kao to smo objasnili u odeljku 8.2, kriptografija javnim kljuem ima sopstvene tekoe, posebno problem dobijanja neijeg tanog javnog kljua. Oba ova problema - odreivanje deljenog kljua za kriptografiju simetrinim kljuem i bezbedno dobijanje javnog kljua za kriptografiju javnim kljuem - mogu da se ree korienjem poverljivog posrednika. Poverljivi posrednik za kriptografiju simetrinim kljuem zove se centar za distribuciju kljueva (key istribution center, KDC), koji je poverljivi mreni entitet sa kojim neko moe da ima ustanovljen tajni klju, Videemo da taj neko moe da koristi KDC kako bi dobio deljene kljueve potrebne da bi bezbedno komunicirao sa svim drugim mrenim entitetima, izbegavajui neke od zamki koje smo otkrili u odeljku 8.3. Za kriptografiju javnim kljuem, poverljivi posrednik zove se sertifikaciono telo (certification authonty, CA). Sertifikaciono telo overava da javni klju pripada posebnom entitetu (osobi ili mrenom entitetu). Za overen j^vni klju, ako neko moe bezbedno da veruje CA-u koji je overio taj klju, onda taj neko moe da bude siguran kome javni klju pripada. Jednom kada je javni klju overen, on moe da se distribuira skoro svuda, ukljuujui tu server javnih kljueva, linu veb stranicu ili disketu.

686

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.5

. DISTRIBUCIJA I OVERAVANJE KUUEVA

312

8.5.1 Centar za distribuciju kljueva


Pretpostavite jo jednom da Bob i Alisa ele da komuniciraju koristei kriptografiju simetrinim kljuem. Pretpostavite da se oni nisu nikada sreli i zato nemaju una-pred ustanovljen deljeni tajni klju. Kako oni mogu da se sporazumeju o tajnom kljuu, ako mogu da komuniciraju jedno sa drugim samo preko mree? Reenje koje se esto usvaja u praksi je da se koristi poverljivi centar za distribuciju kljueva (KDC). KDC je server koji deli razliite tajne simetrine kljueve sa svakim registro-vanim korisnikom. Taj klju moe da se instalira runo na serveru kada se korisnik prvi put registruje. KJDC zna tajni klju svakog korisnika, a svaki korisnik moe da komunicira sa KDC-om koristei taj klju. Hajde sada da vidimo kako poznavanje tog kljua dozvoljava korisniku da bezbedno dobije klju za komuniciranje sa bilo kojim drugim registrovanim korisnikom. Pretpostavite da su Alisa i Bob korisnici KDC-a; oni znaju samo svoje individualne kljueve, KAmKDCi KB_1CDC> prema redosledu kojim smo ih ovde naveli, za bezbedno komuniciranje sa KDC-om. Alisa preduzima prvi korak i oni nastavljaju kao stoje prikazano na slici 8.19.
1. Koristei K.A^KDC6a bi ifrovala svoju komunikaciju sa KDC-om, Alisa alje poruku KDC-u

za tu jednu sesiju koju trenutno uspostavljaju. KDC sada treba da informie Alisu i Boba o vrednosti broja/. KDC alje natrag Alisi poruku, ifrovanu upotrebom kljua KA_KDO koja sadri sledee: Rl, jednokratni klju za sesiju koji e Alisa i Bob koristiti da bi komunicirali. Par vrednosti: A i Rl, koji je ifrovao KDC koristei Bobov klju, KB_KDC. To oznaavamo sa KB_KDC (A, Rl). Vano je zapaziti da KDC ne alje Alisi samo vrednost Rl za njenu sopstvenu upotrebu, nego i ifrovanu verziju vrednosti Rl i Alisinog imena, ifrovanu korienjem Bobovog kljua. Alisa ne moe da deifruje ovaj par vrednosti u poruci (ona ne zna Bobov klju za ifrovanje), ali ona to stvarno ne mora ni da radi. Uskoro emo videti da e Alisa jednostavno proslediti taj ifrovani par vrednosti Bobu, koji e moi da ga deifruje. KDC stavlja te stavke u poruku, ifruje ih koristei Alisin deljeni klju i alje ih ka Alisi. Poruka od KDC-a do Alise je KAmKDC(Rl, K b.q)C ( A , Rl)). 3. Alisa prima poruku od KDC-a, deifruje je i izvlai i?/ iz poruke. Alisa sada zna jednokratni klju sesije, Rl. Alisa takode izvlai KB mc(A, Rl) i to prosleduje Bobu. 4. Bob deifruje primljenu poruku, /Cg_/CDC (A. Rl) koristei KB_KDC i izvlai A i Rl. Bob sada zna jednokratni klju sesije, Rl i osobu sa kojom deli taj klju, A. Naravno, on preduzima mere da bi autentifikovao Alisu koristei Rl pre nego to nastavi bilo ta drugo.

koja kae da ona (A) eli da komunicira sa Bobom (5). Oznaavamo ovu poruku kao KAKDC (A, B). 2. KDC, poznavajui KA^KC, deifruje KA_mc (A, B). KDC tada generie sluajni broj, Rl. To je vrednost deljenog kljua koji e Alisa i Bob koristiti da bi izveli simetrino ifrovanje kada komuniciraju jedno sa drugim. Taj klju se oznaava kao klju za jednokratnu sesiju, zato to e ga Alisa i Bob upotrebiti samo

8.5.2 Overa javnog kljua


Jedno od glavnih svojstava kriptografije javnim kljuem je to to je mogue da dva entiteta razmenjuju tajne poruke bez potrebe da razmene tajne kljueve. Na primer, kada Alisa eli da poalje Bobu tajnu poruku, ona jednostavno ifruje poruku Bobovim javnim kljuem i alje mu ifrovanu poruku; ona ne mora da zna Bobov privatni klju, niti Bob treba da zna njen privatni klju. Na taj nain, kriptografija javnim kljuem izbegava potrebu za infrastrukturom KDC. Naravno, kod kriptografije javnim kljuem, entiteti koji komuniciraju moraju da razmene javne kljueve. Korisnik moe da uini svoj javni klju javno raspoloivim na mnogo naina, na primer, postavljanjem javnog kljua na svoju veb stranicu, postavljanjem kljua na server javnih kljueva, ili slanjem kljua korespondentu preko elektronske pote. Komercijalna veb lokacija moe da postavi svoj javni klju na svoj server na takav nain da pretraivai automatski preuzmu javni klju kada se povezu sa lokacijom. Ruteri mogu da postave svoje javne kljueve na servere javnih kljueva, dozvoljavajui tako drugim mrenim entitetima da ih proitaju. Meutim, sa kriptografijom javnim kljuem postoji suptilan, ali ipak kritian problem. Da bismo stekli uvid u taj problem, hajde da razmotrimo primer Internet trgovine. Pretpostavite da Alisa radi na isporuci pica i da prihvata porudbine preko Interneta. Bob, ljubitelj pica, alje Alisi poruku otvorenog teksta koja obuhvata nje-

313

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.5

DISTRIBUCIJA I OVERAVANJE KLJUEVA

689

govu kunu adresu i vrstu pice koju eli. U toj poruci, Bob takoe ukljuuje digitalni potpis (odnosno, potpisani izvod poruke ili originalni otvoreni tekst poruke). Kao to smo diskutovali u odeljku 8.4, Alisa moe da dobije Bobov javni klju (sa njegove line veb stranice, servera javnih kljueva, ili iz poruke elektronske pote) i potvrdi digitalni potpis. Na taj nain, ona je sigurna da je porudbinu napravio Bob, a ne neki mladi nestako. Sve je to lepo dok se ne pojavi pametna Trudi. Kao Stoje prikazano na slici 8.20, Trudi odluuje da im podvali. Trudi alje Alisi poruku u kojoj kae daje ona Bob, daje Bobovu kunu adresu i naruuje picu. Ona takoe prikljuuje digitalni potpis, ali to radi potpisujui izvod poruke svojim (odnosno, Trudinim) privatnim kljuem. Trudi se takoe preruava u Boba aljui Alisi Trudin javni klju, ali rekavi da on pripada Bobu. U ovom primeru, Alisa e primeniti Trudin javni klju (mislei daje Bobov) na digitalni potpis i zakljuie daje poruku otvorenog teksta zaista napravio Bob. Bob e se veoma iznenaditi kada isporuilac donese u njegovu kuu picu sa svim i svaim na njoj!

Iz ovog primera vidimo kako, da bi kriptografija javnim kljuem bila korisna, entiteti (korisnici, pretraivai, ruteri itd.) treba sigurno da znaju da imaju javni klju entiteta sa kojim komuniciraju. Na primer, kada Alisa komunicira sa Bobom koristei kriptografiju javnim kljuem, ona treba sigurno da zna da javni klju za koji se pretpostavlja da je Bobov, njemu zaista i pripada. Sline probleme imali smo i u naim protokolima za autentifikaciju na slikama 8.12 i 8.13. Povezivanje javnog kljua sa nekim posebnim entitetom po pravilu vri sertifikaciono telo (Certificate Authority, CA), iji posao je da proveri identitete i izda uverenja. CA ima sledee uloge: 1. CA verifikuje da je entitet (linost, ruter itd.) to to kae da jeste. Nema propisanih procedura kakose vri overavanje. Kada radimo sa CA-om, moramo da verujemo daje CA izvrio strogu proveru identiteta. Na primer, ako bi Trudi bila u stanju da ueta u sertifikaciono telo Fly-by-Night, jednostavno objavi Ja sam Alisa"i primi uverenja pridruena identitetu Alisa", onda ne bismo mogli da imamo mnogo poverenja u javne kljueve koje overava sertifikaciono telo Fty-by-Night. S druge strane, mogli bismo (ili ne bismo mogli!) da imamo vie poverenja u CA koji je deo saveznog programa ili programa koji podrava drava (na primer, drava Utali ovlauje CA-ove u toj dravi [Utah 2002]). Moemo da imamo poverenja u identitet" pridruen javnom kljuu samo onoliko koliko moemo da verujemo CA-u i njegovim tehnikama za proveru identiteta. Kakvu zamrenu mreu poverenja smo pokrenuli! 2. Jednom kada CA proveri identitet entiteta, CA pravi uverenje koje povezuje javni klju entiteta sa identitetom. Uverenje sadri javni klju i globalno jedinstvenu identifikujuu informaciju o vlasniku javnog kljua (na primer, ime osobe ili IP adresu). Uverenje digitalno potpisuje CA. Ovi postupci prikazani su na slici 8.21. Hajde da sada vidimo kako uverenja mogu da se iskoriste za borbu protiv pica-aljivdija, kao stoje Trudi, i drugih nepoeljnih osoba. Kada Alisa prima Bobovu porudbinu, ona dobija Bobovo uverenje, koje moe da se nalazi na njegovoj veb stranici, u poruci elektronske pote, ili na serveru za uverenja. Alisa koristi CA-ov javni klju da bi proverila verodostojnost Bobovog uverenja koje je potpisao CA. Ako pretpostavimo daje sam javni klju CA svima poznat (na primer, on bi mogao da se objavi na poverljivom, javnom i dobro poznatom mestu, kao to je The New York Times, tako daje poznat svima i ne moe da bude laan), onda Alisa moe da bude sigurna da ona zaista ima posla sa Bobom. Na slici 8.21 ilustrovani su postupci koji su obuhvaeni ifrovanjem javnog kljua uz posredstvo CA-a. Moete videti CA uverenja uskladitena u vaem pretraivau Netscape ako izaberete Communi-cator, Tools, Security Info, Certificates;..u Internet.xploreru, birajte Tools, Internet Options, Content, Certificates. I International Telecommunicatton Union (ITU) i IETF razvili su standarde za srtifikaciona tela. ITU X,509 [ITU 1993] odreuje uslugu autentifikacije kao speci-

690

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.6

KONTROLA PRISTUPA: MRENE BARIJERE

691

Sa nedavnim naglim razvojem elektronske trgovine i iroko rasprostranjenom potrebom za bezbednim transakcijama, povealo se zanimanje za sertifikaciona tela. Izmeu ostalih kompanija koje obezbeuju usluge CA-a, tu su Digital Signature Trust Companv [Digital Signature 2004] i Verisign [Verisign 2004]. Uverenje koje je kompanija Thawte Consulting izdala firmi Netfarmers Enterprisers, Inc., onako kao to se vidi pomou pretraivaa Netscape, prikazano je na slici 8.22.

8 .6 Kontrola pristupa: mrene barijere


U ovom poglavlju videli smo da Internet nije ba sigurno mesto - tamo su loi momci", koji prave sve same propasti. Sa take gledita mrenog administratora, svet se sasvim jasno deli na dva tabora - dobre momke (koji pripadaju organizaciji koja upravlja mreom i koji bi trebalo da mogu da pristupaju resursima unutar administratorove mree na relativno neogranien nain) i loe momke (svi ostali, iji pristup mrei treba paljivo razmatrati). U mnogim organizacijama, od srednje-vekovnih zamkova do savremenih zgrada korporativnih kancelarija, postoji jedna taka za ulaz/izlaz gde se i dobri i loi momci koji ulaze i naputaju organizaciju bezbednosno proveravaju. U zamku, to se radilo na kapiji najednom kraju pokretnog mosta; u korporativnoj zgradi, to se radi na alteru za bezbednost/prijem. U raunarskoj mrei, kada se saobraaj koji ulazi/naputa mreu hezbednosno proverava, prijavljuje, odbacuje i/ili prosleduje, to se radi na ureaju koji se zove mrena barijera. finu sintaksu za uverenja. [RFC 1422] opisuje upravljanje kljuevima zasnovano na CA-u za upotrebu sa bezbednom elektronskom potom na Internetu. On je kompatibilan sa X.509 ali ide dalje od X.509 uspostavljanjem procedura i konvencija za arhitekturu upravljanja kljuevima. U tabeli 8.3 opisana su neka znaajna polja u uverenju.

Slika 8.22 Uverenje koje je kompanija Thavvle Consulting izdala firmi Netfarmers Enterprisers, Inc.

692

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

6.6

KONTROLA PRISTUPA: MRENE BARIJERE

693

Mrena barijera (firewalf) jeste kombinacija hardvera i softvera koja izoluje unutranju mreu organizacije od Interneta, dozvoljavajui nekim paketima da prou i blokirajui ostale. Mrena barijera doputa administratoru mree da kontrolie pristup izmeu spoljanjeg sveta i resursa unutar administrirane mree upravljanjem tokom saobraaja ka resursima i od tih resursa. Na slici 8.23 prikazana je mrena barijera, koja se nalazi na granici izmeu administrirane mree i ostatka Interneta. Dok velike organizacije mogu da koriste viestruke nivoe mrenih barijera ili distribuirane mrene barijere [Ioannidis 2000], postavljanje mrene barijere na jednu taku pristupa mrei, kao stoje prikazano na slici 8.23, olakava upravljanje i spro-voenje politike bezbednosnog pristupa. Postoje dve vrste mrenih barijera: mrene barijere sa filtriranjem paketa (koje rade u mrenom sloju) i mreni prolazi aplikacionog nivoa (koji rade u apli-kacionom sloju). Objasniemo svaku od njih u sledea dva pododeljka.

8.6.1 Filtriranje paketa


Kao stoje prikazano na slici 8.23, organizacija obino ima ruter mrenog prolaza koji povezuje njenu internu mreu sa ISP-om (i na taj nain sa javnim Internetom). Ceo saobraaj koji ulazi u internu mreu i izlazi sa nje prolazi kroz ovaj ruter i tu dolazi do filtriranja paketa. Filtri paketa rade tako to prvo sintaksno analiziraju zaglavlja datagrama, a zatim primenjuju pravila filtriranja iz skupa pravila koji je defmisao administrator, da bi odredili da li da odbace datagram ili da ga puste da proe. Odluke o filtriranju po pravilu se zasnivaju na: IP adresi izvora ili odredita; TCP ili UDP portu izvora ili odredita; vrsti poruke ICMP (Internet protokol za kontrolu poruka); datagramima za inicijalizaciju konekcije korienjem bitova TCP SYN ili ACK. Kao jednostavan primer, ftlter moe da se podesi da blokira sve UDP segmente i sve Telnet konekcije. Takva konfiguracija spreava one koji nisu lanovi da se prijavljuju na interne raunare koristei Telnet i lanove da se prijavljuju na spoljanje raunare koristei Telnet konekcije, blokirajui sve TCP segmente (od kojih je svaki enkapsuiiran u datagram) iji je broj porta izvora ili odredita 23 (to odgovara Tel-netu). Filtriranje UDP saobraaja je popularna politika u korporacijama - na veliku alost vodeih prodavaa ivog zvuka i videa, iji proizvodi teku preko UDP-a. Filtriranje Telnet konekcija je takoe popularno, zato to spreava uljeze spolja da se prijavljuju na internim mainama. [CERT Filtering 2002] daje listu preporuenih paketnih filtriranja porta/protokola da bi se izbegao izvestan broj dobro poznatih pukotina u bezbednosti postojeih mrenih aplikacija.'; Politika filtriranja moe takoe da se zasniva na kombinaciji brojeva adrese i porta. Na primer, ruter za filtriranje moe da prosleuje sve Telnet datagrame (one sa brojem porta 23) izuzev onih koji odlaze sa liste posebnih IP adresa i dolaze na nju. Takva politika dozvoljava Telnet konekcije ka raunaru sa dozvoljene liste i od njega. Na nesreu, zasnivanje politike na spoljasnjim adresama ne obezbeduje nikakvu zatitu od datagrama koji imaju adresu izvora koja pripada raunaru sa dozvoljene liste, ali su u stvari poslati sa drugog raunara (najverovatnije vlasnitva loeg momka" koji je falsifikovao adresu izvora datagrama). Takvu IP prevaru ispitaemo u sledeem odeljku. Filtriranje takoe moe da se zasniva na tome da li je bit TCP ACK postavljen ili nije. Ovaj trik je sasvim koristan ako organizacija eli da dopusti svojim internim klijentima da se povezuju sa spoljasnjim serverima, ali eli da sprei spoljanje klijente da se povezuju sa internim serverima. Setite se iz odeljka 3.5 da prvi segment u svakoj TCP konekciji ima bit ACK podeen na 0, dok svi drugi segmenti u konekciji imaju bit ACK podeen na 1. Dakle, ako organizacija eli da sprei spoljanje klijente da zaponu konekcije sa internim serverima, ona jednostavno filtrira sve dolazne segmente sa bitom ACK postavljenim na 0. Ovakva politika obustavlja sve TCP konekcije koje potiu iz spoljanjeg sveta, ali dozvoljava konekcije koje su stvorene iznutra. Iako ovi primeri mogu da daju utisak kako je dosta lako odrediti pravila filtriranja koja implementiraju datu politiku bezbednosti, u toj oblasti ima mnogo suptilnosti i moguih zamki. Da bismo ilustrovali neka od tih pitanja, hajde da razmotrimo primer, prilagoen izknjige[Chapman 1992]. Filtriranje paketa radi tako to sekven-cijalno proverava pravila filtriranja na datagramu koji se ispituje; prvo pravilo koje

Slika 8.23 Postavljanje mrene barijere izmeu administrirane mree i spoljanjeg sveto

694

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.6

KONTROLA PRISTUPA: MRENE BARIJERE

695J

odgovara datagramu odreuje akciju koja e da se preduzme. Evo naeg scenarija. Pretpostavite da Alisa administrira mreom kompanije 222.22.0.0/16 i da, uopte, eli da zabrani pristup svojoj mrei sa javnog Interneta (pravilo R3 u tabeli 8.4). Meutim, Alisa sarauje sa Bobom i njegovim kolegama, koji su na univerzitetu, pa Alisa eli da dozvoli korisnicima sa Bobovog univerziteta (ija je mrena adresa 111.11/16) pristup posebnoj podmrei, 222.22,22/24 unutar mree njene kompanije (pravilo Rl). inilac koji sve ovo oteava je to to Alisa zna daje Trudi, dobro poznali haker, na Bobovom univerzitetu i da je Trudina podmrea, 111.11.11/24, pravi raj za nepouzdane hakere. Zato Alisa eli da nikakav saobraaj iz podmree 111.11.11/24 ne ue nigde u njenu mreu (pravilo R2). Alisina pravila filtriranja paketa data su u tabeli 8.4. U tabeli 8.5 prikazano je kako Alisina korporativna mrena barijera radi sa odabranim datagramima kada se pravila primenjuju u jednom od dva razliita redosleda. Kada se pravila primenjuju u redosledu prvo najspecifinije adrese: R2, Rl, R3 (u pretposlednjoj koloni tabele 8.5), dobijamo eljene rezultate: datagrami kao to je Pl koji imaju izvor u hakerskoj podmrei i odredite u korporativnoj mrei, ali van specijalne podmree, ne proputaju se kroz mrenu barijeru (po pravilu R2). Slino tome, datagrami kao Stoje P2 iz hakerske podmree koji za odredite imaju specijalnu podmreu ne proputaju se kroz mrenu barijeru (po pravilu R2). Pod redosledom pravila R2, Rl, R3, datagrami iz opte univerzitetske mree proputaju se ka specijalnoj podmrei (datagram P3) ali ne i u druge delove korporativne mree (datagram P4). Pretpostavite, meutim, da se pravila primenjuju u redosledu R l, R2, R3 (poslednja kolona u tabeli 8.5). U tom sluaju, datagramu P2 se pogreno dozvoljava pristup specijalnoj podmrei pod pravilom Rl, alo to se adrese izvora i odredita P2 podudaraju sa specifikacijom izvora i odredita za pravilo Rl, a pravilo Rl se primenjuje kao prvo. Lekcija koju smo nauili iz ovog jednostavnog primera sa tri pravila je jasna - vaan je redosled procene pravila mrene barijere. Naravno, zahteva se paljivo razmiljanje - zamislite tekoe kada se odreuju mrene barijere sa hiljadama pravila! Moglo bi se pomisliti da primenjivanje prvo specifinijih pravila uvek izbegava nepredvieno ili neeljeno ponaanje koje nastaje usled pitanja redosleda. Meutim, videemo u problemima koji su dati u domaem zadatku na kraju poglavlja da to ne mora uvek tako da bude.

8,6.2 Aplikacioni mreni prolaz


U prethodnim primerima, videli smo da filtriranje na nivou paketa dozvoljava organizaciji da grubo filtrira IP i TCP/UDP zaglavlja, ukljuujui IP adrese, brojeve portova i bitove potvrde. Na primer, videli smo da filtriranje zasnovano na kombinaciji IP adresa i brojeva portova moe da dopusti internim klijentima da ostvare Telnet konekcije spolja, dok istovremeno spreava spoljanje klijente da obavljaju Telnet sesije unutar interne mree. Ali, ta ako organizacija eli da obezbedi uslugu Telnet ogranienom skupu internih korisnika (prema njihovim IP adresama)? I, ta ako organizacija eli da se tako privilegovani korisnici autentifikuju pre nego to im se dozvoli da stvore Telnet sesije prema spoljanjem svetu? Takvi zadaci su izvan mogunosti filtra. Zaista, informacija o identitetu internih korisnika nije ukljuena u IP/TCP/UDP zaglavlja, nego se, umesto toga, nalazi u podacima aplikacionog sloja. Da bismo imali bezbednost finijeg nivoa, mrene barijere moraju da kombinuju filtre paketa sa aplikacionim mrenim prolazima. Aplikacioni mreni prolazi gledaj dalje od IP/TCP/UDP zagiavlja i prave odluke upravljanja zasnovane na aplikacionim podacima. Aplikacioni mreni prolaz je aplikaciono specifian server kroz koji moraju da prou svi podaci aplikacije (kako ulazni tako i izlazni). Najednom raunaru moe da radi vie aplikacionih mrenih prolaza, ali svaki od njih je poseban server sa sopstvenim procesima. Da bismo dobili neki uvid u aplikacione mrene prolaze, hajde da konstruiemo mrenu barijeru koja dozvoljava samo ogranienom skupu internih korisnika da radi Telnet spolja i spreava sve spoljanje klijente da rade Telnet unutra. Takva politika moe da se ostvari implementiranjem kombinacije filtra paketa (u ruteru) i Telnet mrenog prolaza, kao Stoje prikazano na slici 8.24. Ruterov filter je konfigurisan da

POGLAVLJE 8 696

BEZBEDNOST U RAUNARSKIM MREAMA

8.7

NAPADI I KONTRAMERE

317

blokira sve Telnet konekcije izuzev onih koje potiu sa IP adrese aplikacionog mrenog prolaza. Takva konfiguracija filtra prisiljava sve odlazne Telnet konekcije da prou kroz aplikacioni mreni prolaz. Zamislite sada internog korisnika koji eli da radi Telnet sa spoljasnjim svetom. Korisnik mora prvo da uspostavi Telnet sesiju sa aplikacionim mrenim prolazom. Aplikacija radi kroz mreni prolaz, koji oslukuje dolazne Telnet sesije, trai od korisnika njegov 1D i lozinku. Kada korisnik obezbedi te informacije, aplikacioni mreni prolaz proverava kako bi video da li korisnik ima dozvolu da radi Telnet sa spoljasnjim svetom. Ako nema, mreni prolaz obustavlja Telnet konekciju internog korisnika sa mrenim prolazom. Ako korisnik ima dozvolu, onda mreni prolaz (1) trai od korisnika ime spoljanjeg raunara sa kojim eli konekciju, (2) uspostavlja Telnet sesiju izmeu mrenog prolaza i spoljanjeg raunara i (3) prenosi spoljanjem raunaru sve podatke koji stiu od korisnika, a korisniku sve podatke koji stiu od spoljanjeg raunara. Na taj nain Telnet aplikacioni mreni prolaz ne samo da izvrava ovlaenje korisnika nego takode radi kao Telnet server i Telnet klijent, prenosei informacije izmeu korisnika i udaljenog Telnet servera. Zapazite da e filter dozvoliti korak 2 zato to mreni prolaz zapoinje Telnet konekciju prema spoljanjem svetu. Interne mree esto imaju vie aplikacionih mrenih prolaza, na primer, mrene prolaze za Telnet, HTTP, FTP i elektronsku potu. U stvari, server za potu organizacije (proitajte odeljak 2.4) i ke memorija za Web su aplikacioni mreni prolazi.

Ni aplikacioni mreni prolazi nisu bez nedostataka. Prvo, potreban je razliit aplikacioni mreni prolaz za svaku aplikaciju. Drugo, postoji cena u performansi koja mora da se plati, zato to e se svi podaci prenositi preko mrenog prolaza. To postaje nevolja, posebno kada vie korisnika ili aplikacija koriste istu mainu za mreni prolaz. Najzad, mora da se preduzme i dodatni napor prilikom konfigurisanja: softver klijenta mora da zna kako da uspostavi kontakt sa mrenim softverom umesto spoljanjeg servera kada korisnik uputi zahtev, i mora da zna kako da kae aplikacionom mrenom prolazu sa kojim spoljasnjim serverom treba da se povee, ili korisnik mora izriito da se povee sa spoljasnjim serverom preko aplikacionog mrenog prolaza. Zakljuujemo ovaj odeljak napomenom da mrene barijere ni u kom sluaju nisu reenje za sve probleme bezbednosti. One uvode kompromis izmeu stepena komunikacije sa spoljasnjim svetom i nivoa bezbednosti. S obzirom na to da filtri ne mogu da spree prevare u vezi sa IP adresama i brojevima portova, oni esto koriste politiku sve ili nita" (na primer, zabranu celokupnog UDP saobraaja). Mreni prolazi takoe mogu da imaju softverske greke, dozvoljavajui napadaima da prodru u njih. Najzad, mrene barijere su ak i manje efikasne ako interno generisane komunikacije mogu da dou do spoljanjeg sveta bez prolaza kroz mrenu barijeru. Dva takva primera su beine komunikacije i modemi.

8 .7 Napadi i kontramere
Poto smo ispitali ifrovanje/deifrovanje, autentifikaciju, integritet poruka, distribuciju kljueva i mrene barijere, hajde sada da vidimo kako ove tehnike mogu da se upotrebe u borbi protiv razliitih napada na mree. Neki od najsenzacionalnijih bezbednosnih napada, kao to su CodeRed [CERT 2001-19], virus Melissa [CERT 1999-04] i crv Slammer [CERT 2003-04, Moore 2003], koriste Internet da bi se irili, ali napadali samo operativne sisteme (prepunj avaj ui privremene memorije u Microsoftovom IIS serveru u sluaju CodeReda) ili aplikacioni softver (Microsoft Word u sluaju virusa Melissa), a ne samu mreu. S obzirom na to daje ovo knjiga o mreama, ovde emo se usredsrediti na napade koji iskoriavaju mreu, napadaju je, ili se bave njom na neki poseban nain.

8.7.1 Preslikavanje
U stvarnom svetu" (suprotno virtuelnom svetu) napadu obino prethodi prikupljanje infonnacija. Gangsteri i filmova ostvaruju kontakt"; vojnici izviaju oblast". Svrha je jasna to se vie zna o meti pre napada, manje je verovatno da emo biti uhvaeni i vei su izgledi na uspeh. To je istina i u virtuelnoj stvarnosti. Pre napada na mreu, napadai bi voleli da znaju IP adrese maina u mrei, operativne sisteme

698

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.7

NAPADI I KONTRAMERE

318

koje one koriste i usluge koje one nude, Sa tim informacijama, njihovi napadi e biti usredsreeniji i manje je verovatno da e izazvati uzbunu. Proces prikupljanja tih informacija poznat je kao preslikavanje. Program kao stoje ping moe da se upotrebi da bi se utvrdile IP adrese maina u mrei jednostavnim posmatranjem koje adrese odgovaraju na poruku ping. Ske-niranje portova odnosi se na tehniku sekvencijalnog kontaktiranja (preko zahteva za TCP konekciju, ili preko jednostavnog UDP datagrama) brojeva portova na maini i gledanja ta se deava kao odgovor. Ti odgovori, sa svoje strane, mogu da se upotrebe da bi se odredile usluge (na primer, HTTP ili FTP) koje maina nudi. Nmap [Nmap 2004] je iroko korien pomoni program otvorenog koda za istraivanje mrea i reviziju bezbednosti" koji skenira portove. Mnoge mrene barijere, kao to su one koje prodaje Checkpoint [Checkpoint 2004], otkrivaju preslikavanje i aktivnost posle skeniranja, kao i druge takve zlonamerne aktivnosti" i prijavljuju ih upravljau mree.

8.7.2 Uhoenje paketa


Uhoda paketa (packet sniffer) je program na ureaju prikljuenom na mreu, koji pasivno prima sve okvire sloja linka podataka koji prolaze kroz mreni adapter ureaja. U difuznom okruenju kao stoje Ethernet LAN, to znai da uhoda paketa prima sve okvire koji se prenose ka svim raunarima u LAN-u ili iz njih. Svaki raunar sa Ethernet karticom moe lako da poslui kao uhoda paketa, zato to Ethernet adapter treba samo da se podesi na zajedniki reim (promiscuous mode) da bi primao sve Ethernet okvire koji prolaze. Ti okviri, sa svoje strane, mogu da se proslede aplika-cionim programima koji izvlae podatke aplikacionog nivoa. Na primer, u Telnet scenariju prikazanom na slici 8.25, lozinka za prijavljivanje poslata od A do B, kao i lozinka unesena u B uhode se" u raunaru C. Poto su dobili lozinke za korisnike naloge, napadai mogu kasnije da upotrebe te naloge da bi zapoeli napade odbijanja usluga, o emu emo govoriti dalje u tekstu. Uhoenje paketa je ma sa dve otrice - ono moe biti dragoceno mrenom administratoru za nadgledanje i upravljanje mreom (proitajte poglavlje 9), ali takode moe da ga upotrebi i neki haker. Softver za uhoenje paketa je besplatno dostupan na razliitim veb lokacijama, ali i u vidu komercijalnih proizvoda. Poznati su sluajevi profesora koji su na kur-sevima iz mrea davali laboratorijske vebe koje su obuhvatale i pisanje programa za uhoenje paketa i rekonstrukciju podataka aplikacionog nivoa. Zaista, Ethereal laboratorijske vebe [Ethereal 2004], pridruene ovom tekstu (proitajte uvodnu Erthereal laboratorijsku vebu na kraju poglavlja 1) koriste tano takav program za uhoenje paketa! Klju za otkrivanje uhoenja paketa je da se detektuju mreni interfejsi koji rade u zajednikom reimu. Unutar preduzea, mreni administratori mogu da instaliraju softver u svim raunarima preduzea koji e uzbuniti administratore kada se neki interfejs konfigurie za rad u zajednikom reimu. Da bi se otkrili interfejsi u zajednikom reimu, daljinski mogu da se izvedu razliiti trikovi. Na primer,

raunar koji odgovara na datagram ICMP ehoa (odnosno, koji izaziva ICMP eho odgovor; pogledajte sliku 4.21), koji je ispravno adresiran u IP datagramu ali sadri netanu adresu MAC (nivoa okvira), verovatno ima svoj interfejs konfigurisan da radi u zajednikom reimu. Kljuna stvar da se preivi uz uhoenje paketa je da se ifruju svi podaci (posebno lozinke) koji prolaze preko mrenog linka.

8.7.3 Varanje
Svaki ureaj povezan sa Internetom obavezno alje IP datagrame u mreu. Setite se iz poglavlja 4 da ti datagrami nose poiljaoevu IP adresu, kao i podatke iz vieg sloja. Korisnik sa potpunom kontrolom nad softverom ureaja (posebno njegovim operativnim sistemom) moe lako da promeni protokole ureaja tako da postave proizvoljnu IP adresu u datagramovo polje za adresu izvora. To se zove IP varanje (IP spoofmg). Korisnik na taj nain moe da napravi IP paket koji po elji sadri bilo kakve podatke (iz vieg sloja) u korisnom teretu i izgleda kao da su podaci poslati iz proizvoljnog IP raunara. IP varanje se esto koristi u napadima odbijanja usluge da bi se sakrio organizator napada, o emu emo govoriti kasnije. Sa lanom IP adresom izvora u datagramu, teko je pronai raunar koji je stvarno poslao datagram. Sa tehnike take gledita, varanje moe lako da se sprei. Ruteri koji izvravaju fdtriranje pristupa proveravaju IP adresu dolazeih datagrama i utvruju da lije adresa izvora u opsegu mrenih adresa za koje se zna da su dostine preko tog

319

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8-7

NAPADI I KONTRAMERE

701

interfejsa. Ta provera moe lako da se izvede na ivici mree, na primer, na korporativnom mrenom prolazu ili mrenoj barijeri, gde se zna da su svi raunari u korporaciji unutar datog opsega adresa. Filtriranje pristupa se smatra trenutno najboljom praksom" [RFC 2827] na Internetu. Mada tehniki jednostavno, filtriranje pristupa ne moe da se naredi, pa je zato teko da se postavi sa socijalne take gledita. Kao rezultat, filtriranje pristupa se ne primenjuje univerzalno.

8.7.4 Napadi odbijanja usluge i distribuiranog odbijanja usluge


iroku klasu bezbednosnih pretnji ine napadi odbijanja usluge (denial-of-service, DoS). Kao to im ime nagovetava, DoS napadi ine mreu, raunar, ili neki deo mrene infrastrukture neupotrebljivim za legitimne korisnike. DoS napad obino deluje tako to stvara toliko mnogo posla za infrastrukturu koja mu je izloena, da legitimni rad ne moe da se obavi. U takozvanom napadu SYN poplave [CERT SYN 1996], napada potapa server paketima TCP SYN, od kojih svaki ima lanu IP adresu izvora. Server, nemoan da napravi razliku izmeu legitimnog i lanog SYN-a, zavrava drugi korak TCP potvrivanja spremnosti za prenos (proitajte odeljak 3.5.6) za lani SYN, dodeljujui strukturu i stanje podataka. Napada nikad ne izvri trei korak trostruke sinhronizacije, ostavljajui za sobom delimino ostvarene konekcije iji se broj stalno poveava. Optereenje SYN paketima koji treba da se obrade i iscrpljivanje slobodne memorije na kraju baca server na kolena. Srodan oblik napada alje IP fragmente raunaru, ali ih ne alje nikada dovoljno da bi se upotpunio datagram. Napadnuti raunar nastavlja da akumulira fragmente, uzalud ekajui one koji bi upotpunili datagram, troei vremenom sve veu koliinu memorije. Napad trumfova" [CERT Smurf 1998] radi tako to veliki broj nevinih raunara odgovara na pakete zahteva za ICMP eho (proitajte odeljak 4.4.3) koji sadre lanu IP adresu izvora. To ima za rezultat veliki broj paketa odgovora na ICMP eho koji se alju raunaru ija je IP adresa bila lana. U napadu distribuiranog odbijanja usluge (distributeri denial-ofservice, DDoS), napada najpre dobija pristup korisnikim nalozima na brojnim raunarima na Internetu (na primer, uhoenjem lozinki ili drugim vrstama prodora u korisnikov nalog). Kao to je prikazano' na slici 8.26, napada onda instalira i puta u rad pro-gram-slugu na svakoj od lokacija, koji tiho eka komandu od programa-gospodara. Sa velikim brojem takvih programa-slugu koji se izvravaju, program-gospodar onda uspostavlja kontakt i nalae svakom od njih da zapone napad odbijanja usluge usmeren na isti ciljni raunar. Rezultujui koordinirani napad je posebno razoran, zato to dolazi sa tako mnogo napadakih raunara u isto vreme. Napadi odbijanja usluge su punili novinske naslove u februaru 2000. godine, kada su bile napadnute eBay, Yahoo, CNN i druge velike veb lokacije [Cnet 2000]. Teko je zatititi se od DoS i (ak i vie) od DDoS napada. Filtriranje paketa nije lako, zato Stoje teko razlikovati dobre od loih datagrama. Na primer, kako mrena barijera za filtriranje paketa moe da zna da li je dolazei SYN za legitimnu kone-

kciju (na primer, kupac koji eli da obavi kupovinu na kompanijskoj veb lokaciji) ili zlonamemi SYN, koji e vezati resurse servera a da kasnije ne obavi trostruku sin-hronizaciju. Kod korienja IP varanja, teko je locirati pravi izvor napada. Izvestan broj novijih istraivakih radova [Savage 2000; Snoeren 2001; Adler 2002] bavio se tehnikama za oznaavanje IP zaglavlja dok prolaze kroz ruter da bi se tok DoS datagrama pratio unazad do njihovog izvora. Jednom kada je kompromitovani izvorni raunar identifikovan, on moe da se stavi u karantin, iako je to obino spor proces koji zahteva intervenciju oveka. Napad DDoS je ak i tei i zahteva vie vremena za reenje.

8.7.5 Pljakanje
Pretpostavite da su Alisa i Bob u konekciji daje Trudi u poloaju da nadgleda pakete koji teku izmeu Boba i Alise. Trudi moe da preuzme, ili opljaka, konekciju izmeu Alise i Boba. Posebno, Trudi moe da prevari Boba da poveruje kako on i dalje komunicira sa Alisom, ak i kada komunicira sa Trudi, Trudi prvo izbacuje Alisu pokretanjem napada odbijanja usluge protiv nje. Poto je prislukivala Alisinu i Bobovu komunikaciju, Trudi zna celokupno stanje (na primer, broj sekvence, broj ACK, najavljeni okvir primaoca) Alisine TCP konekcije sa Bobom. Trudi na taj nain moe da napravi lane IP datagrame ka Bobu (koristei Alisinu adresu kao adresu izvora) koji sadre vaee TCP segmente i proizvoljan korisniki teret. Zamislite katastrofu koju Trudi moe da izazove u odnosu izmeu Boba i Alise!

702

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.8

BEZBEDNOST U MNOGO SLOJEVA: STUDIJE PRIMERA

320!

Razni mreni napadi i bezbednosne pretnje prodiskutovani su u zbirci eseja [Denning 1997] i u vrlo itljivoj Rubinovoj knjizi [Rubin 2001 j. Pregled napada o kojima postoje izvetaji odrava se u CERT-ovom koordinacionom centru [CERT 2004], Proitajte i [Cisco Security 2004; Vovdock 1983; Bhimani 1996].

emo govoriti kasnije u ovom odeljku). Zahtevajui samo klijentov i serverov aplikacioni kod, PGP je bila jedna od prvih bezbednosnoih tehnologija koje se iroko koriste na Internetu.

8.8.1 Bezbedna elektronska pota


U ovom odeljku koristimo mnoge od tehnika uvedenih u prethodnom odeljku, da bismo napravili projekat bezbednog sistema elektronske pote. Taj projekat visokog nivoa stvaramo na postupan nain, tako to u svakoj fazi uvodimo nove usluge bezbednosti. Kod projektovanja bezbednog sistema elektronske pote, imajmo na umu duhovit primer uveden u odeljku 8.1 ljubavnu aferu izmeu Alise i Boba. Zamislite da Alisa eli da poalje Bobu poruku elektronske pote i da Trudi eli da bude uljez: Pre nego to ponemo da projektujemo bezbedan sistem elektronske pote za Alisu i Boba, trebalo bi prvo da razmotrimo koje bi bezbednosne karakteristike za njih bile najpoeljnije. To je, pre svega, tajnost. Kao to je reeno u odeljku 8.1, ni Alisa ni Bob ne ele da Trudi ita Alisinu poruku elektronske pote. Drugo svojstvo koje bi Alisa i Bob najverovatnije eleli da vide u bezbednom sistemu elektronske pote je autentifikacija poiljaoca. Posebno, kada Bob primi od Alise poruku ,,I don'C love you anymore. I never want to see you again. Formerly yours, Al ice", on bi prirodno eleo da bude siguran daje poruka stigla od Alise, a ne od Trudi. Drugo svojstvo koje bi dvoje ljubavnika centli je integritet poruke, odnosno, osiguranje da poruka koju Alisa alje nije promenjena u toku puta do Boba. Najzad, sistem elektronske pote bi trebalo da obezbedi autentifikaciju primaoca; odnosno, Alisa eli da bude sigurna da ona stvarno alje pismo Bobu, a ne nekom drugom (na primer, Trudi) ko se predstavlja kao Bob. Pa, hajde da ponemo sa reavanjem najznaajnije brige Alise i Boba, odnosno, tajnosti. Najdirektniji nain da se obezbedi tajnost za Alisu je da ifruje poruku tehnologijom simetrinog kljua (kao to je DES ili AES), a za Boba da deifruje poruku po njenom prijemu. Kao stoje proi sku to vano u odeljku 8.2, ako je simetrini klju dovoljno dugaak i ako samo Alisa i Bob imaju klju, onda je izuzetno teko da bilo ko drugi (ukljuujui Trudi) ita poruku. Mada je ovakav pristup direktan, on ima osnovnu tekou o kojoj smo diskutovali u odeljku 8.2 - teko je distribuirati simetrian klju tako da samo Alisa i Bob imaju njegove kopije. To je razlog zbog kojeg mi razmatramo alternativni pristup, odnosno, kriptografiju javnim kljuem (koristei, na primer, RSA). U pristupu javnog kljua, Bob ini svoj javni klju svima raspoloivim (na primer, u serveru javnih kljueva ili na svojoj linoj veb stranici), Alisa ifruje svoju poruku Bobovim javnim kljuem i alje je na Bobovu adresu elektronske pote. (ifrovana poruka je enkapsulirana pomou MIME zaglavlja i poslala preko obinog SMTP-a, kao stoje objanjeno u odeljku 2.4.) Kada Bob primi poruku, on je jednostavno deifruje pomou svog privatnog kljua. Pod pretpostavkom da Alisa sigurno zna da je javni klju Bobov (i da je klju dovoljno dugaak), ovaj pristup je odlino sredstvo da se obezbedi eljena tajnost. Meutim,

8 .8 Bezbednost u mnogo slojeva: studije primera


U prethodnim odeljcima, ispitali smo osnovna pitanja mrene sigurnosti, ukljuujui kriptografiju pomou simetrinog i javnog kljua, autentifikaciju, raspodelu kljueva, integritet poruke i digitalne potpise. Sada emo ispitati kako se ti alati koriste da bi se obezbedila sigurnost na Internetu. Zanimljivo je da se mogu pruiti usluge bezbednosti na svakom od etiri gornja sloja Intemetovih protokola. Kada se bezbednost osigurava za specifini protokol aplikacionog sloja, onda e aplikacija koja koristi protokol dobijati jednu ili vie usluga bezbednosti, kao stoje tajnost, aulen-tifikacija ili integritet. Kada se bezbednost osigurava za protokol transportnog sloja, onda sve aplikacije koje koriste taj protokol dobijaju usluge bezbednosti transportnog protokola. Kada se bezbednost prua za mreni sloj od raunara do raunara, onda svi segmenti transportnog sloja (i zato svi podaci aplikacionog sloja) dobijaju usluge bezbednosti mrenog sloja. Kada se bezbednost prua na nivou veze podataka, onda podaci u svim okvirima koji putuju preko mree dobijaju ove bezbednosne usluge. U ovom odeljku ispitujemo kako se bezbednosni alati koriste u aplikacionom, transportnom, mrenom sloju i sloju veze podataka. Dosledno optoj strukturi ove knjige, poinjemo na vrhu protokola i diskutujemo o bezbednosti u aplikacionom sloju. Na pristup e biti da iskoristimo specifinu aplikaciju, elektronsku potu, kao studiju primera za bezbednost aplikacionog sloja. Zatim se sputamo niz protokole. Ispitaemo SSL protokol (koji prua bezbednost na transportnom sloju), IPsec (koji prua bezbednost na mrenom sloju) i bezbednost IEEE 802.11 protokola za beini LAN. Mogli biste se zapitati zato se bezbednosna funkcionalnost prua na vie od jednog sloja na Internetu. Zar ne bi bilo dovoljno da se funkcionalnost bezbednosti jednostavno prui na mrenom sloju i zavri sa tim? Na ovo pitanje postoje dva odgovora. Prvo, mada bezbednost na mrenom sloju moe da ponudi prekriva" ifrovanjem svih podataka u datagramima (odnosno, svih segmenata transportnog sloja) i autentifikovanjem svih IP adresa izvora, ona ne moe da prui bezbednost na nivou korisnika. Na primer, trgovinska lokacija ne moe da se pouzda u bezbednost IP sloja da bi autentifikovala kupca koji kupuje robu na komercijalnoj lokaciji. Dakle, postoji potreba za bezbednosnom funkcionalnou na viim slojevima kao i za prekrivaem na niim slojevima. Drugo, obino je lake primeniti nove usluge Interneta, ukljuujui i usluge bezbednosti, na viim nivoima protokola. Dok ekaju da se bezbednost iroko primeni na mrenom sloju, to e se verovatno dogoditi kroz mnogo godina u budunosti, mnogi programeri aplikacija to samo urade" i uvedu funkcionalnost bezbednosti u svoje omiljene aplikacije. Klasini primer je Pretty Good Privacy (PGP), koji obezbeduje sigurnu elektronsku potu (o emu

321

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.8

BEZBEDNOST U MNOGO SLOJEVA: STUDIJE PRIMERA

705

problem je stoje ifrovanje javnim kljuem relativno neefikasno, posebno za duge poruke, (Duge poruke elektronske pote su sada opteprisutne na Internetu, zahvaljujui sve veoj upotrebi priloga, slika, zvuka i videa.) Da bismo prevazili problem efikasnosti, hajde da koristimo klju sesije (disku-tovan u odeljku 8.5). Alisa (1) sluajno bira simetrini klju sesije, Ks, (2) ifruje svoju poruku, m, simetrinim kljuem, Ks, (3) ifruje simetrini klju Bobovim javnim kljuem, Kg*> (4) spaja ifrovanu poruku i ifrovani simetrini klju da bi uobliila pakovanje" i (5) alje pakovanje na Bobovu adresu elektronske pote. Postupci su ilustrovani na slici 8.27. (Na ovoj slici i na sledeim slikama, +" predstavlja spajanje, a -" razdvajanje.) Kada Bob primi pakovanje, on (1) koristi svoj privatni klju, KB; d\bi dobio simetrini klju, Ks, i (2) koristi simetrini klju Ks da bi deifrovao poruku m. Poto smo projektovali bezbedni sistem elektronske pote koji obezbeduje tajnost, hajde sada da projektujemo drugi sistem, koji obezbeduje i autentifikaciju poiljaoca i integritet poruka. Pretpostaviemo, za trenutak, da se Alisa i Bob vie ne brinu o tajnosti (oni ele da podele svoja oseanja sa svima!), i zabrinuti su samo za autentifikaciju poiljaoca i integritet poruka. Da bismo izvrili taj zadatak, koristimo digitalne potpise i izvode poruka, kao stoje opisano u odeljku 8.4. Alisa (1) primenjuje he funkciju, H (na primer, MD5), na svoju poruku, m, da bi dobila izvod iz poruke, (2) potpisuje rezultat he funkcije pomou svog privatnog kljua, KA; da bi napravila digitalni potpis, (3) spaja originalnu (neifrovanu) poruku sa potpisom da bi napravila pakovanje i (4) alje pakovanje na Bobovu adresu elektronske pote. Kada Bob primi pakovanje, on (1) primenjuje Alisin javni klju, K/, na potpisani izvod poruke i (2) poredi rezultat te operacije sa sopstvenim heom poruke, H. Postupci su ilustrovani na slici 8.28. Kao stoje diskutovano u odeljku 8.5, ako su dva rezultata ista, Bob moe da bude prilino siguran u to da je poruka dola od Alise i daje neizmenjena.

KRATAK OSVRT
FIL CIMERMAN I PGP Filip R. Cimerman (Philip R. Zimmermann] je tvorac softvera Prelrv Good Privacv (PGP). Bio je mela trogodinje kriminalne istrage, zato to je vlada tvrdila da su izvozna ogranienja SAD prekrena kada se PGP, posle njegovog objavljivanja kao softvera za probu pre korienje 1991. godine, rairio po elom svetu. Posle objavljivanja PGP-a kao probnog softvero, neko drugi ga je stavio na Internet i preuzimali su ga strani graani. Programi za kriptografiju su u SAD saveznim zakonom kla-sifikovani kao municija i ne mogu da se izvoze. Uprkos nedostatku novca, bilo kakvog plaenog osoblja i kompanije koja bi stala iza njega, kao i intervencijama vlade, PGP je ipak postao najire korien softver za ifrovanje elektronske pote na svetu. Zauujue je da je vlada SAD moda nehotice doprinela irenju PGP-a, inei ga popularnijim upravo zbog Cimermanovog sluaja. Vlada SAD je digla ruke od sluaja poetkom 1996. godine. Vest je proslavljena meu aktivistima Interneta. Cimermanov sluaj je prerastao u priu o nevinoj linosti koja se bori za svoja prava protiv maltretiranja od strane mone vlade. Vladino odustajanje bilo je dobrodola vest, delimino zbog kampanje za cenzuru na Internetu u Kongresu i pritiska FBl-a da se dozvoli poveano piislulkivanje od strane dravnih organa. Poto je vlada odustala od njegovog sluaja, Cimerman je osnovao firmu PGP Inc., koju je u decembru 1997. godine kupila kompanija Netvvork Associates. Cimerman je sada nezavisni sovetnik u oblasti kriptografije.

Hajde sada da razmotrimo projektovanje sistema elektronske pote koji obezbeduje tajnost, autentifikaciju poiljaoca i integritet poruke. To moe da se uradi kom-binovanjem postupaka na slikama 8.27 i 8.28. Alisa prvo pravi prethodno pakovanje, tano kao na slici 8.28, koje se sastoji od njene originalne poruke uz digitalno potpisani izvod poruke. Ona zatim obrauje to prethodno pakovanje kao novu poruku i obrauje je kroz postupke poiljaoca na slici 8.27, pravei novo pakovanje koje se alje Bobu. Postupci koje Alisa preduzima prikazani su na slici 8.29. Kada Bob primi pakovanje, on prvo primenjuje svoju stranu slike 8.27, a zatim svoju stranu slike 8.28. Jasno je da ova konstrukcija obezbeduje tajnost, autentifikaciju poiljaoca i integritet poruke. Zapazite da, u ovoj emi, Alisa koristi kriptografiju javnim kljuem dva puta: jednom sa sopstvenim privatnim kljuem i jednom sa Bobovim javnim kljuen)! Slino tome, Bob takoe koristi kriptografiju javnim kljuem dva puta - jednom sa svojim privatnim kljuem i jednom sa Atisinim javnim kljuem. Projekat bezbedne elektronske pote skiciran na slici 8.29 verovatno obezbeduje zadovoljavajuu sigurnost veini korisnika elektronske pote i to u veini sluajeva.

1"

706

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.8

BEZBEDNOST U MNOGO SLOJEVA: STUDIJE PRIMERA

322

Ali, postoji ipak jo jedno vano pitanje koje treba da se resi. Konstrukcija na slici 8.29 zahteva da Alisa dobije Bobov javni klju, a da Bob dobije Alisin javni klju. Distribucija tih javnih kljueva nije trivijalan problem. Na primer, Trudi bi mogla da se maskira u Boba i da da Alisi svoj javni klju, tvrdei da je to Bobov javni klju, to bi joj omoguilo da primi poruku namenjenu Bobu. Kao to smo nauili u odeljku 8.5, popularan nain distribucije javnih kljueva je da se javni kljuevi overavaju koristei usluge sertifikacionog tela.

snik pristupa privatnom kljuu. PGP prua korisniku opcije digitalnog potpisivanja poruke, ifrovanja poruke, ili i digitalnog potpisivanja i ifrovanja. Na slici 8.30 prikazana je potpisana PGP poruka. Ta poruka se pojavljuje posle zaglavlja MIME (Multipurpose Internet Mail Extensions, vienamenska proirenja Internet pote). ifrovani podaci u poruci su K/ (H(m)), odnosno, digitalno potpisan izvod poruke. Kao to smo ranije diskutovali, da bi Bob proverio integritet poruke, on treba da ima pristup Alisinom javnom kljuu, Na slici 8.31 prikazana je tajna PGP poruka. Ta poruka se takoe pojavljuje posle zaglavlja MIME. Naravno, poruka otvorenog teksta nije ukljuena unutar tajne poruke elektronske pote. Kada poiljalac (kao Alisa) eli i tajnost i integritet, PGP sadri poruku kao to je ona na slici 8.31 unutar poruke sa slike 8.30. PGP takoe obezbeduje mehanizam za overu javnih kljueva, ali je taj mehanizam sasvim drugaiji od konvencionalnijih metoda sertifikacionog tela. Javni kljuevi PGP overavaju se pomou Weba od poverenja. Alisa moe sama da overi svaki par klju/korisniko ime kada veruje da lanovi para zaista pripadaju jedan drugom. Pored toga, PGP dozvoljava Alisi da kae da ona veruje drugom korisniku i da jami za autentinost vie kljueva. Neki korisnici PGP-a potpisuju jedni drugima kljueve. Oni se fiziki okupljaju, razmenjuju diskete koje sadre javne kljueve i overavaju jedni drugima kljueve potpisujui ih pomou svojih privatnih kljueva. Javni kljuevi PGP se takode distribuiraju na PGP serverima javnih kljueva na Internetu. Kada korisnik podnese javni klju takvom serveru, on memorie kopiju kljua, alje kopiju kljua svim drugim serverima javnih kljueva i stavlja na raspolaganje klju svakome ko ga trai. Mada strane za potpisivanje kljueva i serveri PGP javnih kljueva stvarno postoje, daleko uobiajeniji nain da korisnici distribuiraju svoje javne kljueve je da ih izlau na svojim linim veb stranicama i oglaavaju ih u svojim porukama elektronske pote.

PGP Prettv Good Privacv (PGP), kojeg je prvobitno napisao Fil Cimerman 1991. godine, postao je de facto standardna ema za ifrovanje elektronske pote. Njegova veb lokacija prua vie od milion stranica meseno korisnicima u 166 razliitih zemalja [PGPI 2002], Verzije PGP-a raspoloive su u javnom domenu; na primer, moete da pronaete softver PGP za vau omiljenu platformu kao i mnogo zanimljivih tekstova za itanje na lokaciji International PGP Home Page [PGPI 2002]. (Posebno zanimljiv je esej autora PGP-a [Zimmermann 1999].) PGP se takoe moe komercijalno nabaviti, a na raspolaganju je i kao dodatak za mnoge agente korisnika elektronske pote, ukljuujui Microsoftove Exchange i Outlook, kao i Eudoru firme Oualcomm. Konstrukcija PGP-a je u sutini ista kao ona koja je prikazana na slici 8.29. Zavisno od verzije, softver PGP koristi MD5 ili SHA za izraunavanje izvoda poruke; AST, trostruki DES, ili IDEA za ifrovanje simetrinog kljua; i RSA za ifrovanje javnog kljua. Pored toga, PGP obezbeduje i kompresiju podataka. Kada se PGP instalira, softver stvara par javnih kljueva za korisnika. Javni klju moe da se postavi u serveru javnih kljueva na korisnikovoj veb lokaciji. Privatni klju se titi upotrebom lozinke. Lozinka treba da se unese svaki put kada kori-

708

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.8

BEZBEDNOST U MNOGO SLOJEVA: STUDIJE PRIMERA

323

---- BEGIN PGP SIGNED MESSAGE ----Hash: SHA1 Bob: Can I see you tonight? Passionately yours, Alice ---- BEGIN PGP SIGNATURE ----Version: PGP for Personal Privacy 5.0 Charset: noconv yhHJRHhGJGhgg/12EpJ+lo8gE4vB3mqJhFEvZP9t6n7G6m5Gw2 ---- END PGP SIGNATURE ----Slika 8.30 Pofpisana PGP poruka

Uljez bi mogao da presretne porudbinu i dobije informacije o Bobovoj platnoj kartici. U tom sluaju uljez bi mogao da kupuje na Bobov raun. Lokacija bi mogla da prikazuje poznati logo Alice Incorporated, ali da u stvari bude lokacija koju odrava Trudi, koja se maskira u Alice Incorporated. Trudi bi mogla da uzme Bobov novac i pobegne. Ili, Trudi bi mogla da pravi sopstvene kupovine i optereuje tim trokovima Bobov raun. Mogua su i mnoga druga iznenaenja, a mi emo o nekima od njih raspravljati u sledeem pododeljku. Ali dva problema koja smo gore istakli su najozbiljniji. Trgovina na Internetu koja koristi protokol SSL reava oba ova problema. Sloj bezbednih soketa (secure sockets layer, SSL), koji je prvobitno razvio Netscape, jeste protokol projektovan da obezbedi ifrovanje podataka i autentifikaciju izmeu veb klijenta i veb servera. Protokol poinje fazom provere spremnosti za prenos kojom se dogovaraju algoritam ifrovanja (na primer, DES ili IDEA) i kljuevi, i klijentu autentifikuje server. Postoji i druga mogunost, a to je da se klijent autentifikuje serveru. Kada se klijent i server sinhronizuju i pone prenos podataka aplikacije, svi podaci se ifruju koristei kljueve sesije dogovorene za vreme faze sinhronizacije. SSL se iroko koristi u trgovini na Internetu, budui daje implementiran u skoro svim popularnim pretraivaima i veb serverima. Pored toga, on je i osnova protokola Bezbednost transportnog sloja (Transport Layer Security, TLS) [RFC 2246]. SSL i TLS nisu ogranieni na primenu na VVebu; na primer, oni na slian nain mogu da se upotrebe za autentifikaciju i ifrovanje podataka za IMAP (Internet Mail Access Protocol) pristup poti. SSL moe da se posmatra kao sloj koji se nalazi izmeu aplikacionog i transportnog sloja. Na predajnoj strani, SSL prima podatke (kao to su HTTP ili IMAP poruka iz aplikacije), ifruje podatke i usmerava ifro-vane podatke na TCP soket. Na prijemnoj strani, SSL ita iz TCP soketa, deifruje podatke i usmerava ih u aplikaciju. Iako SSL moe da se upotrebi sa mnogim Internet aplikacijama, mi emo raspravljati o njegovim mogunostima u kontekstu Weba, gde se danas koristi uglavnom za Internet trgovinu. SSL obezbeduje sledea svojstva: SSL autentifikaciju servera, koja korisniku dozvoljava da potvrdi identitet servera. Pretr'aiva sa omoguenim SSL-om odrava listu serlifikacionog tela (CA), zajedno sa javnim kljuevima CA-ova. Kada pretraiva eli da posluje sa veb serverom na kome je ukljuen SSL, on od servera dobija uverenje koje sadri serverov javni klju. Uverenje izdaje (odnosno, digitalno potpisuje) CA koji se nalazi u klijentovoj listi CA-ova od poverenja. To svojstvo dozvoljava pretrai-vau da autentifikuje server pre nego to korisnik podnese broj kartice za plaanje. U kontekstu prethodnog primera, ta autentifikacija servera omoguava Bobu da proveri da li zaista alje broj svoje kartice za plaanje lokaciji Alice Incorporated, a ne nekom drugom ko bi mogao da se maskira kao Alice Incorporated. SSL autentifikaciju klijenta, koja serveru dozvoljava da potvrdi identitet korisnika. Analogno autentifikaciji servera, autentifikacija klijenta koristi klijentova uverenja, koja su takoe izdali CA-ovi. Ta autentifikacija je znaajna ako je ser-

-----BEGIN PGP MESSAGE --Version: PGP for Personal Privacy 5.0 u2R4d+/jKmn8Bc5+hgDsqAewsDfrGdszX681iKmSF6Gc4sDfcXyt RfdS10juHgbcfDssWe7/K=lKhnMikLoO + l/BvcX^t==Ujk9PbcD'5 Thdf2awQfgHbnmKlok8iy6gThlp ----- END PGP MESSAGE
Slika 8.31 Tajna PGP poruka

8.8.2 Sloj bezbednih soketa (SSL) i bezbednost transportnog sloja (TLS)


U prethodnom odeljku, razmatrali smo kako aplikacioni sloj moe da koristi (u bezbednosti elektronske pote) razliite bezbednosne mehanizme koje smo prouili ranije u ovom poglavlju: ifrovanje, autentifikaciju, distribuciju kljueva, integritet poruka i digitalne potpise. U ovom odeljku, nastaviemo nae studije primera razliitih bezbednosnih mehanizama sputajui se sloj nie u protokolima i objanjavajui bezbedne sokete i bezbednost transportnog sloja. Kao primer posluie nam aplikacija Internet trgovine, zato to su poslovne i fmansijske transakcije znaajna pokretaka sila za bezbednost na Internetu. Hajde da proetamo kroz uobiajeni scenario Internet trgovine. Bob krstari Webom i stie na lokaciju Alice Incorporated, gde se prodaje neka trajna roba. Na lokaciji Alice Incorporated prikazuje se formular u koji se od Boba oekuje da unese eljenu koliinu, svoju adresu i broj svoje kartice za plaanje, Bob unosi te informacije, miem bira submlt" i zatim oekuje da primi robu (recimo, preko obine pote); on takoe oekuje da primi raun za robu u svom sledeem izvetaju platne kartice. To sve lepo zvui, ali ako nisu preduzete nikakve mere bezbednosti - kao to su ifrovanje ili autentifikacija - Bob bi mogao da doivi nekoliko iznenaenja.

324

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.8

BEZBEDNOST U MNOGO SLOJEVA: STUDIJE PRiMERA

324

ver, na primer, banka koja korisniku alje poverljivu finansijsku informaciju i eli da proveri identitet primaoca. Iako podrana od SSL-a, autentifikacija klijenta je opciona. Da bismo usredsredili nau diskusiju, mi emo je u daljem izlaganju zanemarivati. ifrovanu SSL sesiju, u kojoj su sve informacije poslate izmeu pretraivaa i servera ifrovane pomou predajnog softvera (pretraivaa ili veb servera) i dei-frovane pomou prijemnog softvera (pretraivaa ili veb servera). Ova tajnost moe da bude vana i kupcu i prodavcu. Takode, SSL obezbeduje mehanizam za otkrivanje falsifikovanja informacija od strane nekog uljeza.

Kako radi SSL


Korisnik, recimo Bob, krstari Webom i bira link koji ga dovodi do bezbedne stranice na kojoj je smeten Alisin server osposobljen za SSL. Protokolski deo URL-a za tu stranicu je https", a ne uobiajeno http". Pretraiva i server tada izvravaju SSL protokol za proveru spremnosti za prenos, koji (1) autentifikuje server i (2) stvara deljeni simetrini klju. U oba ova zadatka koristi se RSA tehnologija javnih kljueva. Glavni tok dogaaja u fazi provere spremnosti za prenos prikazanje na slici 8.32. Za vreme te faze, Alisa alje Bobu svoje uverenje, iz koga Bob dobija njen javni klju. Tada Bob stvara sluajni simetrini klju, ifruje ga pomou Alisinog javnog kljua i alje ifrovani klju Alisi. Bob i Alisa sada dele simetrini klju sesije. Kada se sinhronizacija sa serverom zavri, svi podaci koji se alju izmeu pretraivaa i servera (preko TCP konekcija) ifrovani su pomou simetrinog kljua sesije. Poto smo dali globalni pregled SSL-a, hajde da blie pogledamo neke od najvanijih detalja. U SSLsinhronizaciji preduzimaju se sledei postupci: 1. Pretraiva alje serveru broj svoje SSL verzije i spisak najpoeljnijih kripto-grafskih metoda koje predlae za korienje. On to radi da bi se sa serverom dogovorio koji algoritam simetrinog kljua i koja he funkcija e se koristiti. 2. Server alje pretraivau broj svoje SSL verzije, svoju odluku o kriptografskoj metodi i svoje uverenje. Setite se da uverenje obuhvata serverov RSA javni klju i daje potvreno od nekog CA-a; odnosno, uverenje je potpisano CA-ovim privatnim kljuem. 3. Pretraiva ima listu CA-ova od poverenja i javni klju za svaki CAsa liste. Kada pretraiva primi uverenje od servera, on proverava da lije CAna listi. Ako nije, korisnik dobija upozorenje i obavetenje da ne moe da se automatski uspostavi ifrovana i autenttfikovana konekcija. Ako je CA na listi, pretraiva koristi CA-ov javni klju da bi proverio uverenje i dobio serverov javni klju.

4. Pretraiva stvara simetrini klju sesije, ifruje ga pomou serverovog javnog kljua, i alje serveru ifrovani klju sesije. 5. Pretraiva alje serveru poruku obavetavajui ga da e budue poruke od klijenta biti ifrovane pomou kljua sesije. On zatim alje posebnu (ifrovanu) poruku, pokazujui daje pretraivaev deo sinhronizacije zavren. 6. Server alje pretraivau poruku obavetavajui ga da e budue poruke od servera biti ifrovane pomou kljua sesije. On zatim alje posebnu (ifrovanu) poniku, pokazujui daje serverov deo sinhronizacije zavren. 7. Sada je SSL sinhronizacija zavrena, a SSL sesija je poela. Pretraiva i server koriste kljueve sesije da bi ifrovali i deifrovali podatke koje alju jedan drugom i da bi proveravali njihov integritet. SSL sinhronizacija u stvari ima mnogo vie postupaka od'onih koji su gore navedeni. Vie detalja o SSL-u moete da pronaete na [Netscape SSL 1998]. Pored kupovine putem kartica za plaanje, ovde istiemo da SSL moe da se koristi (i koristi se) za druge finansijske transakcije, ukljuujui onlajn bankarstvo i robnu trgovinu.

712

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.8

BEZBEDNOST U MNOGO SLOJEVA: STUDIJE PRIMERA

325

Ogranienja SSL-a u Internet trgovini Zbog svoje jednostavnosti i ranog razvoja, SSL je iroko implementiran u pretrai-vaima, serverima i komercijalnim proizvodima za Internet. Ti serveri i pretraivai osposobljeni za SSL obezbeuju popularnu platformu za transakcije pomou platnih kartica. I pored toga, trebalo bi imati na umu da SSL nije posebno pravljen za transakcije sa platnim karticama, nego za svojevrsnu bezbednu komunikaciju izmeu klijenta i servera. Zbog toga SSL-u nedostaju mnoga svojstva koja bi industrija platnih kartica volela da ima u protokolu za trgovinu na Internetu. Razmotrite jo jednom ta se deava kada Bob kupuje od firme Alice Incorpo-rated preko SSL-a. Potpisano uverenje koje Bob prima od Alise ubeuje Boba da on stvarno ima posla sa firmom Alice Incorporated i da je to dobronamema kompanija. Meutim, generiko uverenje ne pokazuje da lije Alice Incorporated ovlaena da prihvata kupovine putem platnih kartica, niti da li je kompanija pouzdan trgovac. To otvara vrata trgovinskoj prevari. Slian problem postoji i za ovlaenje klijenta. ak ako je iskoriena SSL autentifikacija klijenta, uverenje klijenta ne povezuje Boba sa odreenom ovlaenom platnom karticom; dakle, Alice Incorporated nema nikakvo osiguranje daje Bob ovlaen da kupuje pomou platne kartice, To otvara vrata svim vrstama prevara, ukljuujui kupovinu pomou ukradene platne kartice i kupevo nepriznavanje kupljene robe.

Pored tajnosti, moglo bi se takoe poeleti da mreni sloj obezbedi i autentifikaciju izvora. Kada raunar odredita primi IP datagram sa odreenom IP adresom izvora, on autentifikuje izvor uveravajui se daje IP datagram zaista stvoren u raunaru sa tom IP adresom. Takva usluga spreava da se autentifikuju datagrami sa lanim IP adresama. U nizu protokola IPsec postoje dva glavna protokola: protokol za autcntifika-ciju zaglavlja (Authentication Header, AH) i protokol za enkapsulaciju bezbe-dnosnog tereta (Encapsulation Secttrity Payload Protocol, ESP). Kada izvorni raunar alje bezbedne datagrame odredinom raunaru, on to radi pomou AH protokola ili pomou ESP protokola. Protokol AH obezbeduje autentifikaciju izvora i integritet podataka, ali ne obezbeduje tajnost. Protokol ESP obezbeduje autentifikaciju, integritet podataka*! tajnost. Objedinjujui vie usluga, protokol ESP je prirodno sloeniji i zahteva vie obrade od AH protokola. I u AH i u ESP protokolu, pre slanja bezbednih datagrama od izvornog do odredinog raunara, izvor i mreni raunari vre sinbronizaciju i stvaraju logiku konekciju mrenog sloja. Taj logiki kanal zove se asocijacija bezbednosti {Security Association, SA). Dakle, IPsec transformie uobiajeni mreni sloj Interneta bez konekcija u sloj sa logikim konekcijama! Logika konekcija koju definie SA je simpleksna konekcija; to znai, da je ona jednosmerna. Ako oba raunara ele da alju jedan drugom bezbedne datagrame, onda je potrebno da se uspostave dve SA-e (odnosno, logike konekcije), po jedna u svakom smeni. SA je jedinstveno identifi-kovana trojkom koja se sastoji od: identifikatora bezbednosnog protokola (AH ili ESP); IP adrese izvora za simpleksnu konekciju; 32-bitnog identifikatora konekcije koji se zove Security Parameter Index (SPI). Za dam SA (odnosno, dam logiku konekciju od izvornog do odredinog raunara), svaki IPsec datagram e imati specijalno polje za SPI. Svi datagrami u konekciji SA koristie istu vrednost SPI u tom polju. Protokol za autentifikaciju zaglavlja (AH) Kao to je gore napomenuto, protokol AH obezbeduje autentifikaciju izvornog raunara i integritet podataka, ali ne i njihovu tajnost. Kada izvorni raunar eli da poalje jedan datagram ili vie datagrama na neko odredite, on prvo uspostavlja SA sa odreditem. Poto je uspostavio SA, izvor moe da alje bezbedne datagrame odredinom raunaru. Bezbedni datagrami ukljuuju AH zaglavlje, koje je umetnuto izmeu originalnih podataka IP datagrama (na primer, TCP ili UDP segment) i IP zaglavlja, kao stoje prikazano na slici 8.33. Na taj nain AH zaglavlje poveava polje originalnih podataka i to poveano polje za podatke se enkapsulira kao standardni IP datagram. Za polje protokola u IP zaglavlju, upotrebljena je vrednost 51 da bi se pokazalo da datagram ukljuuje AH zaglavlje. Kada odredini raunar primi

8.8.3 Bezbednost mrenog sloja: IPsec


Protokol IP securitv, poznatiji kao IPsec, jeste niz protokola koji pruaju bezbednost na mrenom sloju. IPsec je vrlo sloen, a njegovi razliiti delovi opisani su u vie od dvanaestak RFC-ova. U ovom odeljku, govoriemo o IPsec-u u specifinom kontekstu, odnosno, u kontekstu gde svi raunari na Internetu podravaju IPsec. Iako e do toga proi jo mnogo godina, to e za sada pojednostaviti priu i pomoi nam da razumemo glavna svojstva IPsec-a. Dva kljuna RFC-a su RFC 2401, u kome se opisuje ukupna arhitektura IP bezbednosti i RFC 2411, u kome se daje pregled niza protokola IPsec i dokumenata koji ga opisuju. Pre nego to uemo u specifinosti IPsec-a, hajde da se vratimo unazad i razmotrimo ta to znai pruiti bezbednost na mrenom sloju. Pogledajmo, pre toga, ta znai obezbediti tajnost mrenog sloja. Mreni sloj bi obezbedio tajnost ako bi svi podaci koje nose svi IP datagrami bili ifrovani. To znai da kad god raunar eli da poalje datagram, on ifruje polje za podatke pre nego to ga isporui mrei. U principu, ifrovanje bi moglo da se izvede pomou simetrinog kljua, javnog kljua ili pomou kljueva sesije koji su dogovoreni korienjem ifrovanja javnim kljuem, Polje za podatke moglo bi da bude TCP segment, UDP segment, poruka ICMP itd. Ako bi takva usluga mrenog sloja bila prisutna, svi podaci koje alju raunari - ukljuujui tu elektronsku potu, veb stranice, kontrolne poruke i poruke upravljanja (kao to su ICMP i SNMP) - bili bi sakriveni za bilo koju treu stranu koja prislukuje" mreu. Dakle, takva usluga bi obezbedila pokriva za celokupan saobraaj na Internetu, pruajui nam na taj nain izvestan oseaj bezbednosti.

714

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.8

BEZBEDNOST U MNOGO SLOJEVA: STUDIJE PRIMERA

326^ 326^

IP datagram, on zapisuje 5 1 u polju protokola i obrauje datagram koristei AH protokol. (Setite se da se polje za protokol u IP datagramu koristi za odreivanje protokola vieg sloja - na primer, UDP, TCP ili ICMP - kome e se proslediti deo IP datagrama sa podacima.) Ruteri na putu izmeu izvora i odredita obrauju datagrame kao i uvek - oni ispituju IP adresu odredita i u skladu sa njom prosleduju datagrame. Zaglavlje AH obuhvata vie polja, odnosno: Polje Next Header, koje ima ulogu polja za protokol u obinom datagramu. Ono pokazuje da li je podatak koji sledi iza AH zaglavlja TCP segment, UDP segment, ICMP segment itd. (Setite se da se polje za protokol u IP datagramu sada koristi da bi ukazalo na AH protokol, pa ne moe vie da se upotrebi da bi ukazalo na protokol transportnog sloja.) Polje Securitv Parametar lndex (SPI), proizvoljna 32-bitna vrednost koja, u kombinaciji sa IP adresom odredita i bezbednosnim protokolom, jedinstveno identifikuje SA za datagram. Polje Seguence Number, 32-bitno polje koje sadri broj sekvence za svaki datagram. Ono je u poetku podeeno na 0 prilikom uspostavljanja konekcije SA. Protokol AH koristi brojeve sekvenci da bi spreio napade reprodukcijom i oveka u sredini (proitajte odeljak 8.3). Polje Auihetitication Data, polje promenljive duine koje sadri potpisan izvod iz poruke (odnosno, digitalni potpis) za taj datagram. Izvod iz poruke izraunava se preko originalnog IP datagrama, obezbeujui tako autentifikaciju izvornog raunara i integritet IP datagrama. Digitalni potpis se izraunava korienjem algoritma koji odreuje SA, kao stoje MD5 ili SHA. Kada odredini raunar primi IP datagram sa AH zaglavljem, on odreuje SA za datagram i zatim autentifikuje integritet datagrama obraujui polje sa podacima autentifikacije. IPsec za autentifikaciju (i za AH i za ESP protokol) koristi emu koja se zove HMAC, koja je ifrovan izvod poruke opisan u knjizi [RFC 2104], HMAC za autentifikaciju poruke koristi deljeni tajni klju izmeu dve strane, a ne metode javnog kljua. Vie detalja o AH protokolu moe se pronai u knjizi [RFC 2402].

Protokol ESP
Protokol ESP obezbeduje tajnost mrenog sloja, kao i autentifikaciju izvornog raunara i integritet podataka. Jo jednom, sve poinje sa izvornim raunarom koji uspostavlja SA sa odredinim raunarom. Tada izvorni raunar moe da poalje bezbedne datagrame odredinom raunaru. Kao stoje prikazano na slici 8.34, bezbedni datagram se pravi uokvirivanjem podataka originalnog IP datagrama pomou zaglavlja i zavrnog zapisa, a zatim umetanjem tih enkapsuliranih podataka u polje za podatke IP datagrama. Vrednost 50 se uzima za polje protokola u zaglavlju IP datagrama, da bi pokazala da datagram ukljuuje ESP zaglavlje i zavrni zapis. Kada odredini raunar primi IP datagram, on belei 50 u polju za protokol i obrauje datagram koristei protokol ESP. Kao s t o j e prikazano na slici 8.34, podaci originalnog IP datagrama sa ESP poljem zavrnog zapisa su ifrovani. Tajnost se obezbeduje pomou ifrovanja DES-CBC [RFC 2405]. Zaglavlje ESP sastoji se od 32-bitnog polja za SPI i 32-bitnog polja za broj sekvence, koji imaju istu ulogu kao u protokolu AH. Zavrni zapis ukljuuje polje Next Header, koje takoe ima istu ulogu kao u AH. Zapazite da zato to je polje Next Header ifrovano zajedno sa originalnim podacima, uljez nee moi da odredi upotrebljeni transportni protokol. Iza zavrnog zapisa postoji polje Authentication Data, koje takode ima istu ulogu kao u protokolu AH. Vie detalja o ESP protokolu moe se pronai u knjizi [RFC 2406].

SA i upravljanje kljuevima
Za uspenu primenu IPseca, potrebna je skalabilna i automatizovana SA i ema za upravljanje kljuevima. Za ove zadatke definisano je vie protokola. Algoritam za razmenu kljueva (Internet Key Exchange, IKE) [RFC 2409] je podrazumevan alat za upravljanje kljuevima za IPsec.

Protokol za bezbednosnu asocijaciju i upravljanje kljuevima (Internet Security Association and Key Management Protocol, ISKMP) definie procedure za uspostavljanje i
ukidanje konekcije SA [RFC 2407; RFC 2408]. ISKMP-ova bezbednosna asocijacija je sasvim razdvojena od IKE razmene kljueva.

327

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.8

BEZBEDNOST U MNOGO SLOJEVA: STUDIJE PRIMERA

717

Ovim se zavrava naa diskusija o IPsecu. Govorili smo o IPsecu u kontekstu IPv4 i transportnog reima". IPsec takoe definie mnelski reim", u kome funkcionalnost bezbednosti uvode ruteri, a ne raunari. Najzad, IPsec opisuje procedure ifrovanja za IPv6 kao i za IPv4.

1. Beini raunar prvo zahteva autentifikaciju od strane pristupne take. 2. Pristupna taka odgovara na zahtev za autentifikaciju 128-bajtnomjednokra-tnom vrednocu. 3. Beini raunar ifruje jednokratnu vrednost koristei simetrini klju koji deli sa pristupnom takom. 4. Pristupna taka deifruje jednokratnu vrednost. Ako deifrovana jednokratna vrednost odgovara onoj koja je prvobitno poslata raunani, onda je pristupna taka autentifikovala raunar. Algoritam WEPza ifrovanje podataka ilustrovan je na slici 8.35. Tajni 40-bitni simetrini klju, Ks, po pretpostavci poznaju i raunar i pristupna taka. Pored toga, 24-bitni inicijalizacioni vektor (IV) dodaje se na 40-bitni klju da bi se stvorio 64-bitni klju koji e se koristiti za ifrovanje jednog okvira. IV e se menjati od jednog do drugog okvira, pa e zato svaki okvir biti ifrovan razliitim 64-bitnim kljuem. ifrovanje se izvrava na sledei nain. Prvo se izraunava etvorobajtna CRC vrednost (proitajte odeljak 5.2) za polje podataka. Ovo polje i etiri CRC bajta se zatim ifruju koristei ifru RC4. Ovde neemo objanjavati detalje u vezi sa ifrom RC4 (njih moete nai u knjizi [Schneier 1995]). Za nau namenu, dovoljno je znati da, kada mu se predstavi vrednost kljua (u ovom sluaju, 64-bitnog kljua (K^IV)), algoritam RC4 proizvodi niz vrednosti kljueva, k/f\ k2n', k3lv,.,. koji se koriste za ifrovanje podataka i CRC vrednosti unutar postojeeg okvira. Iz praktinih razloga, moemo da zamislimo da se te operacije izvravaju odjednom nad jednim bajtom. ifrovanje se izvodi izvravanjem operacije ekskluzivno ILI /-tog bajta podataka, di} sa i-tim kljuem, ft/1', u nizu vrednosti kljueva koje je stvorio par (K^IV) da bi proizveo i-ti bajt ifrovanog teksta, c:. ci=djXORkfv Vrednost IV menja se od jednog okvira do sledeeg i ukljuena je u otvorenom tekstu u zaglavlju svakog WEP-ifrovanog okvira 802.11, kao Stoje prikazano na slici 8.35. Primalac uzima tajni 40-bitni simetrini klju koji deli sa poiljaocem, dodaje IV i koristi rezultujui 64-bitni klju (koji je identian kljuu koji je poiljalac upotrebio za ifrovanje) da bi deifrovao okvir. d, = c i X O K k f y Pravilna upotreba algoritma RC4 zahteva da se ista 64-bitna vrednost kljua nikada ne koristi vie od jednog puta. Setite se da se WEP klju menja od okvira do okvira. Za dati Ks (koji se retko menja, ako to uopte ini), ovo znai da postoji samo 22a jedinstvenih kljueva. Ako se ti kljuevi retko biraju, moe se pokazati [Walker 2000] da je verovatnoa da se izabere ista vrednost IV (i zato koristi isti 64-bitni klju) vea od 99 procenata posle samo 12000 okvira. Sa okvirima veliine

8.8.4 Bezbednost u IEEE 802.11


Bezbednost je posebno znaajna u beinim mreama, gde radio-talasi koji nose okvire mogu da se prostiru daleko van zgrada u kojima se nalaze osnovna beina stanica (e) i raunari. Dobar primer je 18-meseni ratni" napor koji je preduzeo Piter ipli, vozei se unaokolo po zalivu San Franciska sa prenosnim raunarom i karticom za 802.11, traei beine mree koje su bile vidljive" van zgrade, o emu moete itati u knjizi [Ship!ey 2001], On je registrovao vie od 9000 takvih mrea; jedan ugao ulica u San Francisku ponudio mu je est razliitih raspoloivih mrea! Stoje moda jo vise za uzbunu, ipli je zapazio da 85 procenata od tih 9000 mrea ak i ne koristi (kao to emo videti) dosta slabe mehanizme u originalnom standardu 802.11. Pitanje bezbednosti u 802.11 privuklo je veliku panju, kako u tehnikim krugovima, tako i u medijima. Mada je diskusija bila iroka, bilo je malo debate u pravom smislu rei - izgleda da postoji opta saglasnost da originalna specifikacija 802.11 sadri brojne ozbiljne nedostatke. Zaista, sada moe da se preuzme softver u javnom domenu koji eksploatie te pukotine, inei korisnike obinih sigurnosnih mehanizama 802.11 toliko otvorenim za bezbednosne napade koliko i onih 85 % korisnika beinih mrea u oblasti zaliva San Franciska koji uopte ne koriste bezbednosna svojstva. U daljem tekstu, govoriemo o bezbednosnim mehanizmima koji su u poetku standardizovani u specifikaciji 802.11, grupno poznatim kao Wired Equivalent Privacv CVVEP). Kao to mu i samo ime govori, WEP je namenjen da ostvari nivo bezbednosti u mreama 802.11 sban onom koji se moe nai u oienim mreama. Zatim emo neto rei o pukotinama u WEP-u i o standardu 802.11 i, fundamentalno bezbednijom verzijom 802.11 koja je usvojena 2004. godine. Wired Equivalent Privacy (WEP) Protokol IEEE 802.11 WEP [IEEE 802.11 1999] obezbeduje autentifikaciju i ifrovanje podataka izmeu raunara i beine pristupne take (odnosno, osnovne stanice), koristei pristup simetrinog deljenog kljua. WEP ne odreuje algoritam za upravljanje kljuevima, pa se podrazumeva da su se raunar i beina pristupna taka nekako sporazumeli o kljuu preko metoda van opsega. Autentifikacija je izvrena kao u protokolu $ p 4 . 7 koji smo razvili u odeljku 8.3. Time su obuhvaena etiri postupka:

328

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.8

BEZBEDNOST U MNOGO SLOJEVA: STUDIJE PRIMERA

719

1 K i brzinom prenosa podataka od 11 Mb/s, potrebno je samo nekoliko sekundi da se prenese 12000 okvira. tavie, kako se IV u okviru prenosi u otvorenom tekstu, prislukiva e znati kada se koristi duplikat vrednosti IV. Da biste shvatili jedan od vie problema koji se pojavljuju kada se koristi duplikat kljua, razmotrite sledei napad izabranim otvorenim tekstom koji Trudi preduzima protiv Alise. Pretpostavite da Trudi (moda koristei IP varanje) alje zahtev (na primer, HTTP ili FTP) ka Alisi da prenese datoteku sa poznatim sadrajem, d,, d2> d3, d4, ____ Trudi takode posmatra ifrovane podatke c,, c2, c3,c4---------------- Kako je dt = CjXOR k!v, ako izvrimo eksluzivno ILI ci sa svake strane ove jednaine, imamo:
4 X O R c , _ k\
v

IEEE802.111 Uskoro posle izdanja IEEE 802.11 1999. godine, poeo je rad na razvoju nove i njegove poboljane verzije sa jaim bezbednosnim mehanizmima. Novi standard, poznat kao 802.11 i prolazi kroz konanu ratifikaciju i trebalo bi da se odobri poetkom 2004. godine. Kao to emo videti, dok je WEP obezbedio relativno slabo ifrovanje, samo jedan nain da se izvri autentifikacija i nijedan mehanizam za distribuciju kljueva, IEEE 802.I l i ima mnogo, jae oblike ifrovanja, proir-ljiv skup mehanizama za autentifikaciju i mehanizam za distribuciju kljueva. U nastavku emo dati pregled 802.11 i; odlian tehniki pregled (ivi zvuk) 802.1 l i j e [TechOnline 2004]. Na slici 8.36 dat je pregled okvira 802.I l i . Pored beinog klijenta i pristupne take (AP), 802.1 l i definie i server za autentifikaciju sa kojim AP moe da komunicira. Razdvajanje servera za autentifikaciju od AP dozvoljava serveru za autentifikaciju da opsluuje mnogo AP-ova, centralizujui (esto osetljive) odluke u pogledu autentifikacije i pristupa unutar jednog servera i drei cenu i sloenost AP na niskom nivou. 802.11 i radi u etiri faze:

Pomou ove relacije, Trudi moe da upotrebi poznate vrednosti d-t i ci da bi izra-unala kjv. Sledei put kada Trudi vidi da se koristi ista vrednost IV, ona e znati sekvencu kljueva k / v y k2IV, k}'v,. . . i na taj nain e moi da deifruje ifrovanu poruku. Postoji i vie dodatnih briga sa WEP-om. U knjizi [Fluhler 2001], opisan je napad koji koristi poznatu slabost RC4 kada se odaberu izvesni slabi kljuevi. U radu [Stubblefield 2002] govori se o efikasnim nainima da se implementira i eksploatie taj napad. Druga nevolja sa WEP-om obuhvata CRC bitove, prikazane na slici 8.35 i prenesene u 802.11 okviru da bi otkrili promenjene bitove u korisnom teretu. Meutim, napada koji promeni ifrovani sadraj (odnosno, zameni originalne podatke neim besmislenim), izrauna CRC preko zamenjenog besmislenog sadraja i smesti CRC u WEP okvir, moe da napravi 802.11 okvir koji e primalac da prihvati. Ono to je ovde potrebno su tehnike za integritet poruka, kao one koje smo prouili u odeljku 8.4, da bi se otkrilo falsifikovanje ili zamena sadraja. Za vie detalja o bezbednosti WEP-a, proitajte [Walker 2000; Weatherspoon 2000, 802.11 Security 2004] i reference koje se tamo navode.

720

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

8.9

REZIME

721

1. Otkrie. U fazi otkria, AP oglaava svoje prisustvo i oblike autentifikacije i ifrovanja koje moe da prui beinom klijentskom voru. Klijent onda zahteva odreene oblike autentifikacije i ifrovanja po elji. Iako klijent i AP ve razmenjuju poruke, klijent jo uvek nije autentifikovan, niti ima klju za ifrovanje, pa e tako biti zahtevano vie postupaka pre nego to klijent bude mogao da komunicira sa proizvoljnim udaljenim raunarom preko beinog kanala. 2. Meusobna autentifikacija i generisanje glavnog kljua (MK). Autentifikacija se deava izmeu beinog klijenta i servera za autentifikaciju. U ovoj fazi, pristupna taka u sutini radi kao relej, prosleujui poruke izmeu klijenta i servera za autentifikaciju. Protokol za proirljivu autentiufikaciju (Extensi-hle Authentiftkacion Protocol, EAP) [RFC 2284] definie formate poruka od kraja do kraja koje se koriste u jednostavnom reimu interakcije zahtev/odziv izmeu klijenta i servera za autentifikaciju. Kao stoje prikazano na slici 8.37, poruke EAP se enkapsuliraju korienjem EAPoL (EAP preko LAN-a, [IEEE 802. IX]) i alju preko beinog linka 802.11. Te poruke EAP se onda dekapsuliraju u pristupnoj taki^ a zatim ponovo enkapsuliraju korienjem protokola RADIUS za prenos preko UDP/1P do servera za autentifikaciju. Dok se RADIUS server i protokol [RFC 2138] ne zahtevaju u protokolu 802.1 li, oni su de facto njegove standardne komponente. Nedavno standard izo van i protokol DIAMETER [RFC 3588] e u bliskoj budunost verovntnn zameniti RADIUS.

3. Generisanje uparenog glavnog kljua (Painvise MasterKey, PMK). MKje deljena tajna koju znaju samo klijent i server za autentifikaciju, a koju svaki od njih koristi da bi generisao drugi klju, upareni glavni klju (PMK). To smo hteti! Server za autentifikaciju onda alje PMK u AP. Klijent i AP sada imaju deljeni klju (setite se da u WEP-u, uopte nije bio reavan problem distribucije kljueva) i meusobno su se autentifikovali. Sada su oni spremni da preu na posao. 4. Generisanje privremenog kljua (TK). Sa PMK, beini klijent i AP sada mogu da generiu dodatne kljueve koji e biti upotrebljeni za komunikaciju. Od posebnog znaaja je privremeni klju (TK), koji e se upotrebiti da se izvede ifrovanje na nivou linka podataka koji se alju preko beinog linka ka proizvoljnom udaljenom raunaru. 802.Ili obezbeduje vie oblika ifrovanja, ukljuujui emu za ifrovanje zasnovanu na AES-u i pojaanu verziju WEP ifrovanja.

8 .9 Rezime
U ovom poglavlju, ispitali smo razliite mehanizme koje nai tajni ljubavnici, Bob i Alisa, mogu da upotrebe kako bi bezbedno" komunicirali. Videli smo da su Bob i Alisa zainteresovani za tajnost (tako da samo oni mogu da razumeju sadraj prenesene poruke), autentifikaciju (tako da su sigurni da razgovaraju jedno sa drugim) i integritet poruke (tako da su sigurni da njihove poruke nisu usput promenjene). Naravno, potreba za bezbednom komunikacijom nije ograniena samo na tajne ljubavnike. Zaista, videli smo u odeljcima 8.6 do 8.8 daje bezbednost potrebna u razliitim slojevima u mrenoj arhitekturi da bismo se zatitili od loih momaka" koji imaju na raspolaganju itav arsenal mogunosti za napad. U prvom delu ovog poglavlja, predstavljeni su razliiti principi na kojima se zasniva bezbedna komunikacija. U odeljku 8.2 objasnili smo kriptografske tehnike za kodovanje i dekodovapje podataka, ukljuujui i kriptografiju simetrinim kljuem i kriptografiju javnim kljuem. DES i RSA su ispitani kao posebne studije primera ove dve glavne klase kriptografskih tehnika koje se koriste u dananjim mreama. U odeljku 8.3 obratili smo panju na autentifikaciju i razvili smo niz sve sloenijih protokola za autentifikaciju, koji obezbeuju daje sagovornik zaista onaj za koga se on/ona izdaje i da ide uivo". Videli smo da i kriptografija simetrinim kljuem i kriptografija javnim kljuem mogu da igraju vanu ulogu u skrivanju podataka (ifrovanju/deifrovanju), ali takoe i u obavljanju autentifikacije. Tehnike za potpisivanje" digitalnog dokumenta na nain koji je proverljiv, nekrivotovorljiv i neopoziv, objanjene su u odeljku 8.4. Jo jednom, primena kriptografskih tehnika dokazala se kao sutinska. Ispitali smo i digitalne potpise i izvode iz poruka, od kojih su ovi poslednji skraen nain za potpisivanje digitalnog dokumenta. U odeljku 8.5

722

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA

PROBLEMI

723

ispitali smo protokole za raspodelu kljueva. Videli smo da za ifrovanje simetrinim kljuem, centar za raspodelu kljueva - mreni entitet od poveienja - moe da se koristi za raspodelu deljenog simetrinog kljua izmeu strana u komunikaciji. Za ifrovanje javnim kljuem, sertifikaciono telo distribuira uverenja da bi potvrdilo javne kljueve. Naoruani tehnikama objanjenim u odeljcima od 8,2 do 8.5, Bob i Alisa mogu bezbedno da komuniciraju. (Moemo se samo nadati da su njih dvoje studenti umreavanja koji su prouili ovaj materijal i zato mogu da izbegnu da Trudi otkrije njihov sastanak!) Ali, sve vie, tajnost je samo mali deo slike o mrenoj bezbednosti. Mrena bezbednost je sve vie usmerena na mrenu infrastrukturu, a protiv mogueg juria loih momaka". Zato smo u poslednjem delu ovog poglavlja objasnili mrene barijere (kojima se regulie pristup u zatiene mree i izlazak iz njih) i niz napada koje lica spolja mogu da pokrenu protiv mree, kao i protivmere koje protiv njih mogu da se prednzmu. Zakljuili smo poglavlje studijama primera u kojima se primenjuju tehnike iz odeljaka od 8.2 do 8.5 u aplikacionom sloju, transportnom sloju, mrenom sloju i sloju veze podataka.

9. ta znai za potpisani dokumenc da bude proverljiv, nekrivotvorljiv i neopoziv? 10. Na koji nain izvod iz poruke obezbeduje bolju proveru integriteta poruke od kontrolnog zbira kao stoje Internet kontrolni zbir? 11. Na koji nain izvod iz poruke ifrovan javnim kljuem obezbeduje holji" digitalni potpis od korienja poruke ifrovane javnim kljuem? 12. Da lije poruka pridruena izvodu iz poruke ifrovana? Objasnite svoj odgovor. 13. Staje to centar za raspodelu kljueva? Staje to sertifikaciono telo? 14 Sumirajte kljune razlike u uslugama koje pruaju protokol Authentication Header(AH) i protokol Encapsulation Securitv Pavload (ESP) u IPsecu.

Problemi
1. Koristei jednoazbunu ifru na slici 8.3, ifrujte poruku This is an easy problem". Deifrujte poruku rmij ' u uamu xyj".

Domai zadatak: problemi i pitanja Poglavlje 7 Kontrolna pitanja


1. Koje su razlike izmeu tajnosti i integriteta poruke? Da li jedna moe bez druge? Opravdajte svoj odgovor. 2. Koja je razlika izmeu aktivnog i pasivnog uljeza? 3. Koja je razlika izmeu sistema simetrinog kljua i sistema javnog kljua? 4. Pretpostavite da uljez ima ifrovanu poruku, kao i deifrovanu verziju te poruke, Da li uljez moe da preduzme napad samo ifrovanim tekstom, napad poznatim otvorenim tekstom ili napad izabranim otvorenim tekstom? 5. Pretpostavite da N ljudi eli da komunicira sa svakim od N-l drugih ljudi, koristei ifrovanje simetrinim kljuem. Celokupna komunikacija izmeu dvoje ljudi, i i j, vidljiva je svim drugim ljudima u toj grupi od N , a nijedna druga osoba u toj grupi ne bi trebalo da moe da deifruje njihovu komunikaciju. Koliko kljueva se zahteva u sistemu u celini? Sada pretpostavite da se koristi ifrovanje javnim kljuem. Koliko kljueva se zahteva u tom sluaju? 6. Koja je namena jednokratne vrednosti u protokolu autentifikacije? 7. ta znai kada se kae daje jednokratna vrednost ona koja se upotrebi jednom u ivom? U ijem ivom? 8. ta je to napad oveka u sredini? Moe li taj napad da se dogodi kada se koriste simetrini kljuevi?

2. Pokaite da Trudin napad poznatim otvorenim tekstom, u kome ona zna parove prevoda (ifrovani tekst, otvoreni tekst) za sedam slova, smanjuje broj moguih zamena koji treba da se proveri u primeru 8.2.1 za priblino IO9. 3. Razmotrite vieazbuni sistem prikazan na slici 8.4. Da li e napad izabranim otvorenim tekstom koji je u stanju da dobije ifrovanje otvorenog teksta poruke, The quick brown fox jumps over the lazy dog" biti dovoljan da deifruje sve poruke? Zato, ili zato ne? 4. Korienjem RSA, izaberitep = 3 i q = 11 i ifrujte re hello". Primenite algoritam za deifrovanje na ifrovanu verziju da biste rekonstruisali prvobitnu poruku otvorenog teksta. 5. Razmotrite na protokol autentifikacije 4,0, u kome se Alisa autentifikuje Bobu, za koji smo videli da dobro radi (to jest, u njemu nismo pronali greke). Sada pretpostavite da u isto vreme kada se Alisa autentifikuje Bobu, Bob i sam mora da se autentifikuje Alisi. Dajte scenario u kome Trudi, pravei se daje AHsa, sada moe da se autentifikuje Bobu kao Alisa. (Savet: zamislite da sekvence operacija ap4,0, ona koju zapoinje Trudi i ona koju zapoinje Bob, mogu da se proizvoljno isprepletu. Posebno obratite panju na injenicu da e i Bob i Alisa koristiti jednokratnu vrednost i da, ako se ne pazi, moe da se zlo-namerno upotrebi ista jednokratna vrednost), 6. U napadu oveka u sredini na slici 8.13, Alisa nije autentifikovala Boba. Daje Alisa zahtevala da se Bob autentifikuje koristei a p 5 . 0, da li bi napad oveka u sredini mogao da se izbegne? Objasnite svoje razmiljanje.

724

POGLAVLJE 8

BEZBEDNOST U RAUNARSKIM MREAMA TEZE ZA DISKUSIJU 725

7. 8. 9.

Internet protokol za rutiranje BGP-a koristi MD5 izvod iz poruke a ne ifrovanje javnim kljuem za potpisivanje BGP poruka. ta mislite zato je izabran MD5 a ne ifrovanje javnim kljuem? Izraunajte treu poruku, razliitu od dve poruke na slici 8.18, koja ima isti kontrolni zbir kao poruke na slici 8.18. Zato Alisa ne mora eksplicitno da autentifikuje Boba u protokolu i diskusiji slike 8.19? potrebna? Zato?

10. Zato nema eksplicitne autentifikacije u protokolu na slici 8.19? Da li je autentifikacija 11. Razmotrite KDC i CA servere. Pretpostavite da KDC otkae. Kako to utie na sposobnost strana da bezbedno komuniciraju; odnosno, ko moe, a ko ne moe da komunicira? Obrazloite svoj odgovor. Sada pretpostavite da otkae CA. Kakav je uticaj tog otkaza? 12. Razmotrite sledeu varijaciju mrene barijere za filtriranje paketa u odeljku 8.6. Pretpostavite da Alisa eli da zabrani pristup svojoj mrei 222.22.0.0/16 sa javnog Interneta (pravilo R3 u prvoj tabeli dalje u tekstu). Alisa opet sarauje sa Bobom i njegovim kolegama, koji su na univerzitetu, pa Alisa zato eli da dozvoli korisnicima sa Bobovog univerziteta (ija je mrena adresa 111.11/16) pristup odreenoj podmrei, 222.22.22/24, unutar mree njene kompanije (pravilo Rl dole). Alisa zna d a j e Trudi, dobro poznati haker, na Bobovom univerzitetu i da je Trudina podmrea, 111.11.11/24, pravi raj za nepouzdane hakere. Zato Alisa eli da nikakav saobraaj iz 111.11.11/24 ne ude bilo gde u njenu mreu (pravilo R2), izuzev u specijalnu podmreu 222.22.22/24 (dozvoljeno pravilom R l ; ovaj izuzetak je znaajna razlika od naeg primera u odeljku 8.6). Alisina pravila za filtriranje paketa sumirana su u sledeoj tabeli.

V3. Na slici 8.29 prikazane operacije koje Alisa mora da izvede da bi obezbediia tajnost, autentifikaciju , integritet. Napravite dijagram odgovarajuih operacija tcoje Bob mora da izvede na pakovanju primljenom od Alise.

Teze za diskusiju _______________________________


1. Pretpostavite da uljez moe i da umetne i da ukloni DNS poruke u mrei. Dajte tri scenarija koji reavaju probleme koje bi takav uljez mogao da prouzrokuje. 2. Niko nije formalno dokazao da su 3DES ili RSAbezbedni. Imajui to u vidu, kakav dokaz imamo da su oni zaista bezbedni? 3 . Ako IPsec ostvaruje bezbednost u mrenom sloju, zato su onda bezbednosni mehanizmi i dalje potrebni u slojevima iznad IP-a? 4. Idite na meunarodnu veb lokaciju PGP (http://www.pgpi.org/). Koja verzija PGP-a vam je legalno dozvoljena za preuzimanje, imajui u vidu zemlju u kojoj se nalazite?

Popunite sledeu tabelu akcijama koje se preduzimaju u ovom scenariju prema redosledu R l , R2, R3 i prema redosledu R2, R l , R3. Koji bi bio rezultat uklanjanja pravila R2 za pakete P l , P2, P3 i P4?

IN T E RVJ U

Stiven M. Belovin
Stiven M. Belovin je AT&T Fellow u NeNvork Seivices Research Lab u AT&T Labs Research u Froham Parku, New Jersey. Oblasti njegovog interesovanja su mree, bezbednost i piianje zato su te dve stvari nekomaptibilne. 1995. godine, dobio je nagradu Usenix Lifetime Achievment Award za svoj rad na stvaranju Useneta, prve mree za grupnu rozmenu vesti koja je povezala dva ili vie raunara i dozvolila korisnicima da dele informacije i uestvuju u diskusijama. Sliv je takoe izabrani lan National Academy of Engineering. Diplomirao je na Kolumbija univerzitetu, a doktorirao na Univerzitetu Severne Kroline u Capel Hiilu.

sagledavaju problemi u kontekstu stvarnog sveta (i koliko je stvarni svet liaotiniji od onoga to bi teoretiar voleo) i kako da se uravnotee suprotni interesi u projektovanju reenja. Najvei deo rada sa raunarima je inenjersrvo - umetnost pravljenja dobrih kompromisa da bi se zadovoljili mnogi kontradiktorni ciljevi.
Kakva je Vaa vizija budunosti umreavanja i bezbednosti?

Do sada, najvie bezbednosti koju imamo dolazi od izolacije. Na primer, mrena barijera radi tako to preseca pristup izvesuim mainama i uslugama. Ali, mi smo u dobu poveanog povezivanja - pa je sve tee da se stvari odvoje. to je jo gore, nai proizvodni sistemi zahtevajn daleko vie razdvojene celine, meusobno povezane pomou mrea. Obezbeenje svega toga jedan je od naih najveih izazova.
Da li biste mogli da nam kaete neto o specijalnim projektima na kojima ba sada radite?

ta Vas je navelo da se specijalizujete u oblasti bezbednosti umreavanja?

Ovo e da zvui udno, ali odgovor je prost: to je bilo zabavno. Moji koreni su bili u programiranju sistema i sistemskoj administraciji, to dosta prirodno vodi ka bezbednosti. I uvek sam bio zainteresovan za komunikacije, jo od poslova sistemskog programiranja sa deliminim radnim vremenom, kada sam bio na koledu. Moj rad na bezbednosti nastavlja da bude motivisan dvema stvarima - eljom da rau-nari budu i dalje korisni, Sto znai da njihovu funkciju ne ugroze napadai i eljom da se zatiti privatnost.
Kakva je Vaa vizija Useneta iz vremena kada ste ga razvijali? A sada?

Mnogo vremena posveujem operacionainim pitanjima. Za sistem nije dovoljno da bude bezbedan; on treba da bude i upotrebljiv. To sa svoje strane znai da mreni operatori moraju da budu sposobni za nadgledanje stvari. Ali, nadgledanje moe da se sukobi sa bezbednocu bezbednost tei da sakrije i zatiti raunare i informacije, ali operatori treba da vide izvesne stvari. Pored toga, sistemi treba da nastave sa radom, ak i kada najvaniji delovi otkazu. Kako da deltmo informacije pravim stranama, a da ne pustimo loe momke unutra? To je pitanje ijim se odgovorom ba sada bavim.
Za ta biste rekli da su najvea dostignua u bezbednosti? bezbednosti? Koliko daleko moemo da idemo?

Prvobitno smo ga videli kao nain da priamo o raunarskoj nauci i programiranju raunara Sirom zemlje, sa mnogo lokalne upotrebe za administrativne poslove, za oglase o rasprodajama itd. U stvari, moje prvobitno predvianje bilo je jedna do dve poruke na dan, na moda 50 do 100 lokacija. Ali, stvarni rast bio je u temama koje su u vezi sa ljudima, ukljuujui - ali ne ograniavajui se na - ljudske interakcije sa raunarima. Moje omiljene elektronske grupe, tokom godina, bile su one kao rec.woodworking, kao i sci.crypt. U izvesnoj meri, Web je istisnuo mrene vesti. Kada bili danas poeo da ih projektu-jem, to bi izgledalo mnogo drugaije. Ali, one su i dalje nain da se postigne veoma velik auditorijum koji je zainteresovan za odreenu temu, bez obaveze da se oslanja na posebne veb lokacije.
Da li Vas je neko profesionalno inspirisao? Na koji nain?

Sa naune take gledita, znamo da radimo kriptografiju. To je bilo od velike pomoi. Ali najvei problemi bezbednosti proistiu iz programa sa grekama, a to je mnogo tei problem. U stvari, to je najstariji nereeni problem u raunarskoj nauci i ja mislim da e on to i ostati. Izazov je da se smisli kako da se obezbede sistemi kada treba da ih izgradimo od nebezbednih sastavnih delova. To ve moemo da uradimo u pogledu hardverskih otkaza; da li moemo da uradimo isto i za bezbednost?
Da li imate neki savet o Internetu i bezbednosti umreavanja koji biste uputili studentima?

Uenje mehanizama je laki deo. Uenje kako da se paranoidno razmilja" je tee. Treba da zapamtite da se raspodele verovatnoe ne primenjuju - napadai mogu da nau, i nai e neverovatne uslove. A detalji su veoma vani.

726

Profesor Fred Bruks - osniva i prvi ef katedre odeljenja za raunarske nauke na Univerzitetu Seveme Kroline u apel Hilu, rukovodilac tima koji je razvio IBM S/360 i OS/360 i autor knjige The Mythical Man-Month - imao je ogroman uticaj na moju karijeru. Vie od bilo ega drugog, on je predavao o gleditima i kompromisima - kako da se

727

You might also like