Problemi projektovanja mreža

Projektovanje kompjuterskih mreža predstavlja umrežavanje više racunara od jedne mreže (na globalnom nivou internet).

Uvod uredi

Prilikom projektovanja i realizacije jedne računarske mreže, suočeni smo sa

  • raznovrsnom opremom (različitih proizvođača)kojom je moguće realizovati mrežu
  • raznovrsnim mrežnim softverom i operativnim sistemima pod kojima rade računari koje treba umrežiti
  • kako povezati računare u mrežu (koji fizički medijum izabrati)
  • kako predstaviti podatke koje treba preneti preko medijuma
  • kako da znamo da je računar kome šaljemo podatke prisutan na mreži
  • Kako upravljamo brzinom saobraćaja i sprečavamo overflovom
  • kako da znamo da je naša poruka stigla na željenu adresu (odredište)
  • kako je moguće povezati u mrežu računare koji rade pod različitim operativnim sistemima
  • kako da znamo da je poruka koju smo primili stigla ispravna (bez grešaka u prenosu)

Da bismo prevladali sve ove dileme i pitanja, bilo je neophodno uvesti standarde (kao što postoje standardi za kabliranje, recimo), kojima će se prevazići navedeni problemi.

OSI referentni model za otvoreno povezivanje sistema uredi

OSI model je interconalni standard razvijen od strane ISO sa ciljem opisa toka podataka kroz računarsku mrežu. Model uzima u obzir tok podataka počevši od fizičkog priključka, pa do aplikacije krajnjeg korisnika dakle, model je sveobuhvatan.

Zamišljen je kao slojevita ili višenivoska arhitektura, a realizovan je u obliku steka protokola (engl. protocol stack) za svaki nivo postoje odgovarajuće funkcije koje nižim slojevima obezbeđuju servise iz viših slojeva. Dve mreže (dva računara, dva sistema, ...) komuniciraju tako što se podaci šalju od viših ka nižim nivoima (predaja) zatim preko kabla (medijum) i onda od nižih ka višim slojevima (prijem).

Tok podataka kroz mrežu sa aspekta OSI modela je organizovan u sedam nivoa (ili slojeva)

  • Sloj aplikacije (engl. Application Layer) – korisnički interfejs prema mrežnim servisima (file transfer/database access,terminal emulation RPCs)
  • Sloj prezentacije (engl. Presentation Layer) – translacija formata podataka, kompresija podataka, bezbednost podataka, operacije redirekcije (SMBs & NCPs)
  • Sloj sesije (engl. Session Layer) - uspostavljanje/održavanje/raskidanje veze, sinhronizaija korisničkih taskova, dvosmerna komunikacija, prepoznavanje imena (NetBIOS & WinSock)
  • Transportni sloj (engl. Transport Layer) - upravljanje tokom saobraćaja, osiguranje da su pristigli paketi stigli ispravni, bez gubitaka, bez dupliranja, i da se mogu restaurirati bez obzira na redosled pristizanja (TCP & UDP)
  • Sloj mreže (engl. Network Layer) – pretvaranje logičkih i fizičkih adresa, određivanje putanje od izvora do odredišta, upravljanje saobraćajem (IP & IPX)
  • Sloj veze (engl. Data Link Layer) - pretvaranje frejmova u niz bita (strana predaje) i prijem niza bitova (prijemna strana),(engl. error check), ponovno slanje ako nema potvrde (NACK noacknowledgement) (NIC driver)
  • Fizički sloj (engl. Physical Layer) – prenos binarnih podataka, specifikacija kablova i signalizacije (NIC & cable)

Rutiranje uredi

Cilj rutiranja jeste da za svaki krajnji sistem ruter konstruiše tabelu rutiranja koja sadrži putanje do svake odredišne mreže, do svakog rutera do koga bi datagram trebalo poslati.

Tabele rutiranja mogu biti statičke ili dinamičke. Statička tabela, međutim, može da sadrži alternativne rute u slučaju da određeni ruter nije dostupan. Dinamička tabela je fleksibilnija u slučajevima kada dođe do nagomilavanja ili greške. Uzmimo za primer Internet, naime, ako jedan ruter prekine sa radom svi njegovi susedi šalju statusni izveštaj koji onda omogućava ruterima i stanicama da ažuriraju svoje tabele rutiranja. Sličan plan se može koristiti i za kontorolu nagomilavanja. Kontrola nagomilavanja je vrlo značajna zbog ne slaganja kapaciteta LAN-a i WAN-a.

Tabele rutiranja se takođe mogu koristiti kao pomoć otalim servisima međusobno povezanih mreža, kao što su sigurnost i prioritet. Na primer, pojedinačne mreže mogu služiti za preuzimanje podataka do određene sigurnosne granice. Mehanizam rutiranja mora uveriti da će podacima zadatog sigurnosnog nivoa biti zabranjeno da prolaze kroz mreže koje nisu ovlašćene da preuzimaju takve podatke. Još jedna od tehnika rutiranja je izvorišno rutiranje. Izvorišna stanica određuje rutu tako što navodi dosledan niz rutera u datagramu. Ova tehnika može biti korisna zbog zahteva sigurnosti i prioriteta. Konačno, pomenućemo servis koji je u srodstvu sa rutiranjem: zapisivanje rute. Da bi se obavilo zapisivanje rute, svaki ruter dodaje svoju internet adresu u listu adresa u datagramu. Ova osobina je korisna u nameri testiranja ili otklanjanja grešaka (debugging).

Životni vek datagrama uredi

Ako se koristi dinamičko ili alternativno rutiranje, postoji mogućnost da datagram neodređeno dugo kruži internetom. Ovo je nedopustivo iz dva razloga. Prvo, beskrajno dugo kruženje datagrama troši sredstva. Drugo, transportni protokol može biti zavisan od postaojanja gornje granice života datagrama. Da bi se izbegli ovi problemi svaki datagram može biti obeležen sa životnim vekom. Kada životni vek istekne, datagram biva odbačen.

Najjednostavniji način da se implementira životni vek je korišćenje brojača skokova. Svaki put kada datagram prođe kroz ruter, brojač se dekrementira (umanjuje za jedan). Alternativno, životni vek može biti prava vremenska veličina. Ovo zateva od rutera da nekako zna koliko je vremena prošlo od kada je datagram ili fragment poslednji put prošao kroz ruter, da bi znao za koliko da dekrementira polje životnni vek. Da bi to bilo moguće potran je globalni vremenski mehanizam. Prednost korišćenja stvarne vremenske veličine je ta što se može koristiti u algoritmu za ponovno sklapanje paketa, što je objašnjeno sledeće.

Fragmentovanje i ponovno sklapanje uredi

Pojedinačne mreže u internetu mogu naznačiti različite maksimalne veličine paketa. Bilo bi nevešto i krajnje nezgodno diktirati istu veličinu paketa kroz različite mreže. Prema tome, ruter mora da fragmentuje pristigle pakete u manje celine, koje se nazivaju segmenti ili fragmenti, pre nego što ih prosledi sledećoj mreži. Ako datagrami mogu biti fragmentovani (po mogućstvu više od jednanut) u toku putovanja postavlja se pitanje gde će se ponovo sklopiti. Najlakše rešenje je da se ponovno spajanje izvrši samo u odredištu. Glavna nepovoljnost ovog pristupa je ta što fragmenti mogu biti samo manji kako se paket kreće po internetu. Ovo može smanjiti efikasnost nekih mreža. Međutim, ako je dozvoljeno ponovno sklapanje u ruterima na međuputanji, može doći do sledećih nepovoljnih okolnosti:

  1. Potrebni su veliki baferi u ruteru i postoji rizik da ceo prostor bafera bude potrošen u skladištenju dela datagrama.
  2. Svi delovi datagrama moraju da prođu kroz isti ruter, što sprečava korišćenje dinamičkog rutiranja.

U IP-u, fragmenti datagrama se sklapaju u odredišnom sistemu. Tehnika IP fragmentovanja koristi sledeće informacije u IP zaglavlju:

ID služi da jedinstveno identifikuje originalni datagram krajnjeg sistema. U IP-u se sastoji od izvorišne i odredišne adrese, broja koji odgovara sloju u kome se nalazi protokol koji je generisao podatak (npr. TCP), i identifikacije nabavljene od strane sloja protokola. Dužina Podataka je dužina korisničkih podataka, iskazana u oktetima (bajtovima), Ofset je pozicija fragmenta korisničkih podataka u polju podataka u originalnom datagramu, povećano za 64 bita.

Izvorišni sistem stvara datagram sa Dužinom Podataka istom kao cela dužina polja podataka, sa Ofsetom = 0 i flegom Još postavljenim na 0 (false). Da bi podelio dugačak datagram u dva dela, IP modul u ruteru izvršava sledeće:

  1. Pravi dva nova datagrama i kopira zaglavlje originalnog datagrama u oba.
  2. Deli dolazeće korisničke podatke na dva približno jednaka dela uz 64-bitnu granicu, stavljajući svaki deo u novi datagram, prvi deo se mora povećati za 64 bita.
  3. Postavlja Dužinu Podataka prvog novog datagrama na dužinu umetnutih podataka i postavlja fleg Još na 1 (true). Ofset polje ostavlja nepromenjeno.
  4. Postavlja Dužinu Podataka drugog novog datagrama na dužinu umetnutih podataka i dodaje dužinu prvog dela podatka podeljenu sa 8 u polje Ofset. Fleg Još ostaje isti (0, false).

Slika opisuje prethodno navedeni primer. Procedura je lako uopštena na n-tu podelu.

 

Da bi se ponovo sklopio datagram, mora da postoji dovoljno mesta u baferu na mestu gde se datagram sklapa. Kako pristižu paketi sa istim ID poljem, njihova polja sa podacima se ubacuju u odgovarajući deo u baferu dok se ne sklopi celo polje sa podacima, što se postiže kada grupa podataka počinje sa Ofsetom jednakim nula i završava se podacima iz fragmenta kome je fleg Još bio postavljen na 0 (false).

Jedna od mogućnosti sa kojom se moramo suočiti jeste da jedan ili više fragmenata možda neće stići do odredišta: IP servis ne garantuje isporuku. Potrebna je metoda kojom bi se odlučilo kada da se odustane od pokušaja sklapanja podataka kako bi se oslobodilo mesto u baferu. Trenutno se koriste dva pristupa. Prvi, treba dodeliti životni vek sklapanju podataka prvom fragmentu koji pristigne. To je lokalni sat za sklapanje podataka, dodeljen od strane funkcije za sklapanje podataka, koji se dekrementira dok se baferuju fragmenti originalnog datagrama. Ako vreme istekne pre nego što se završi sklapanje podataka, primljeni fragmenti bivaju odbačeni. Drugi pristup je da se iskoristi životni vek datagrama, koji je deo zaglavlja svakog pristiglog fragmenta. Nastavlja se sa dekrementiranjem životnog veka od strane funkcije za sklapanje podataka; kao i kod prvog pristupa, ako životni vek istekne pre nego što se izvrši sklapanje paketa, primljeni fragmenti se odbacuju.

Kontrola greške uredi

Međuumrežavanje ne garantuje uspešnu isporuku svakog datagrama. Kada ruter odbaci datagram, on treba da vrati neke informacije izvorištu. Izvorišni Internet Protokol može da iskoristi ove informacije da izmeni strategiju prenosa i da obavesti više slojeve. Da bi prijavio da je neki datagram bio odbačen potreban je deo identifikacije datagrama. Datagram može biti odbačen iz mnogo razloga, uključujući istek životnog veka, zagušenja i greške čeksume. U ostalim slučajevima, izveštaj nije moguć zato što je polje sa izvorišnom adresom možda oštećeno.

Kontrola protoka uredi

Kontrola protoka u internetu dozvoljava ruterima i/ili odredišnim stanicama da ograniče normu primanja podataka. Za tip servisa bez uspostave veze koji se ovde opisuju, mehanizam kontrole protoka je ograničen. Najbolji pristup bi bio da se pošalje paket koji vrši kontrolu protoka drugim ruterima i izvorišnim stanicama koji bi zahtevao smanjenje protoka podataka. Ovakav je opisan u ICMP (Internet Control Message Protocol).

Adresiranje uredi

Koncept adresiranja u arhitekturi komunikacije je skup koji pokriva dosta problema, kao što su:

  • Nivo adresiranja
  • Oblast adresiranja
  • Način adresiranja

Nivo adresiranja uredi

Odnosi se na nivo u arhitekturi komunikacije u kojoj je imenovana suština. Svakom krajnjem i među sistemu u konfiguraciji dodeljuje se jedinstvena adresa. U slučaju TCP/IP arhitekture, ovo se odnosi na IP adresu ili jednostavno, internet adresu. IP adresa se koristi da bi se rutirao PDU kroz mrežu ili mreže do sistema na koji ukazuje IP adresa u PDU-u. Niži nivo adresiranja je potreban za bilo koju pojedinačnu mrežu koja ima više privezanih sistema na sebe, kao što su frame relay ili ATM mreže. U ovom slučaju jedinstvena adresa se dodeljuje svakom uređaju privezanom na ovu mrežu. Kada podaci stignu do odredišnog sistema, oni moraju biti usmereni nekom procesu ili aplikaciji u sistemu. Sistem će podržavati više aplikacija i aplikacija može podržavati više korisnika. Svakoj aplikaciji i, možda, svakom zajedničkom korisniku aplikacije dodeljuje se jedinstveni identifikator, koji se odnosi na port u TCP/IP arhitekturi ili kao pristupna tačka servisa (Service Access Point – SAP) u OSI arhitekturi. Još jedan problem koji se tiče adresa jednog krajnjeg sistema ili među sistema je oblast adresiranja. Internet adresa je globalna adresa. Ključne karakteristike globalnih adresa su sledeće:

  • Globalna nedvosmislenost: Globalna adresa identifikuje jedinstven sistem. Sinonimi su dozvoljeni. Znači, sistem može imati više od jedne globalne adrese.
  • Globalna upotrebljivost: Moguće je na nekom sistemu identifikovati bilo koji drugi sistem, na način globalne adrese drugog sistema.

Zbog toga što je globalna adresa jedinstvena i globalno upotrebljiva, internetu je omogućeno da prosleđuje podatke sa bilo kog sistema priključenog na bilo koju mrežu ka bilo kom drugom sistemu priključenog na bilo koju drugu mrežu.

Još jedan od koncepata adresiranja je način adresiranja. Najopštije, jedna adresa se odnosi na jedan sistem ili port; u ovom slučaju odnosi se na individualnu ili unicast adresu. Takođe je moguće da se jedna adresa odnosi na više celina ili portova. Kao što je adresa koja identifikuje više simultanih pojedinaca. Na primer, mrežni kontrolni centar želi da obavesti sve korisnike da mreža pada. Adresa za više primaoca može biti broadcast, namenjena za sve celine određenog domena, ili multicast, namenjena za određenu podmrežu ili celinu. Slika prikazuje neke od mogućnosti.

 

Spoljašnje veze uredi