You are on page 1of 12

Osnovne karakteristke sihronog prenosa podataka kroz komunikacioni kanal

Kod sinhronog prenosa podaci se prenose u skupinama nazvanim snopovi (burst). Snop sadrži fiksan
broj bajtova, pri čemu se svi bajti koji čine snop razlažu u seriju bita i šalju jedan za drugim, fiksnom
brzinom, bez pauza između pojedinih bajtova. Snopovi se također šalju jedan za drugim, ali se između
svaka 2 bloka šalje specijalan niz od 8 bita tzv. sinhroni bajt ili skraćeno SYNC, koji nije sastavni dio
bloka i koji ne sadrži korisnu informaciju a čija je jedina svrha da osigura sinhronizaciju prenosa
blokova između pošiljaoca i primaoca.

3 osnovne klase protokola koji definišu pristup emisionom kanalu


- Protokoli sa podjelom kanala (channel portitioning) - podijeliti kanal na manje „dijelove“
(vremenske slotove, frekfencije), dodijeliti „parče“ čvoru na eksluzivno korišćenje
- Protokoli sa slučajnim pristupom - kanal nije podjeljen, dozvoliti koliziju, „oporavak“ od kolizije
- „Taking turs“ protokoli – nema kolizije, čvrsto koordinisati pristup dijeljivim medijumom da bi se
izbjegle kolizije

Direktna opšta adresa i od čega joj se sastoji Netid i Hostid.


Direktna opšta (broadcast) adresa je adresa iz klasa A, B ili C sa definisanim NETID i svim jedinicama u
dijelu HOSTID. Ova adresa omogućava broadcast (emitovanje namijenjeno svima) datagrama na
udaljenoj mreži, bilo gdje na internetu. Paket koji kao odedišnu adresu ima adresu ovog tipa
prihvataju svi hostovi. Međutim, ruteri večine mreže na internetu onemogućavaju prolazak ovakvih
datagrama u mrežu. Može biti korištena samo kao odredišna. Ova adresa smanjuje za 1 broj
raspoloživih adresa u svakom bloku klasa A, B, C.

Specijalne adrese

Specijalna adresa Netid Hostid Izvor ili odredište


Mrežna adresa Određen Sve 0 -
Direktna broadcast Određen Sve 1-ce Odredište
Ograničena broadcast Sve 1-ce Sve 1-ce Oderedište
Ovaj host na ovoj mreži Sve nule Sve nule Izvor
Konkretan host na ovoj Sve nule Određen Odredište
mreži
Loopback adresa 127 Bilo koja Odredište

Mrežna adresa – prva adresa u bloku. Definiše mrežu, a ne host. Za datu mrežnu adresu, u
mogućnosti smo da odredimo klasu adrese, blok i opseg adresa u bloku.
Ograničena broadcast adresa - predstavlja opšu adresu na lokalnoj mreži. Host koji želi poslati istu
poruku svim ostalim hostovima u svojoj mreži, može da koristi ovu adresu kao odredišnu adresu u IP
paketu.
Host na ovoj mreži - ova IP adresa ima sve 0. Nju koristi host ako nakon uključenja ne zna svoju IP
adresu. U takvim slučajevima host šalje IP paket sa zahtjevom za dodjelu IP adrese serveru koji je
zadužen za rapodjelu IP adresa hostovima na lokalnoj mreži. Taj paket će sadržavati ograničenu
broadcast adresu kao odredišnu i „host na ovoj mreži“ kao izvornu. Može biti korištena samo kao
izvorna adresa.
Konkretni host na ovoj mreži - ovu adresu koristi host da bi posalo poruku nekom drugom hostu na
istoj mreži. Može biti korištena samo kao odredišna adresa. Pripada klasi A i smanjuje broj blokova u
klasi A za 1.
Loopback adresa - IP adresa oblika 127. xx. yy. zz su tzv. loopback adrese koje se koriste za testiranje
mrežnog softvera lokalne mašine. Paketi upućeni na ovu adresu nikad ne napuštaju mašinu, već se
vraćaju nazad mrežnom softveru. Ovako se može testirati operativnosti IP softvera. Može ih koristiti
klijentski proces kad se obraća serverskom procesu na istoj mašini. Može se koristi samo kao
odredišna. Pripada klasi A i samnjuje broj blokova za 1.

Klasno IP adresiranje - Prostor IP adresa je podijeljen na 5 klasa: A, B, C, D, E. Klasa A zauzima ½


prostora, B ¼, C 1/8, D 1/16, E 1/16.
Određivanje klase: Svaka adresa pripada jednoj klasi. Pripadnost klasi se određuje na osnovu
binarnog ili decimalnog oblika adrese. Ako je adresa data u binarnom obliku, tada prvih nekolko bita
ukazuje na klasu kojoj adresa pripada. Klasa A – krajnji lijevi bit ima vrijednost 0; B - kranja lijeva
sekvenca 10; C - 110; D - 1110; E - 1111. Da bi smo odredili klasu IP adrese date u formi tačkaste
-decimalne notacije, potrebno je pogledati samo prvi bajt adrese.

NETID I HOSTID - IP adrese u klasama A, B i C podijeljene su na 2 dijela: netid i hostid. Ovi dijelovi su
promjenljive dužine. Netid identifikuje mrežu na Internetu, a hostid host u mreži. U klasi A jedan bajt
definiše netid, a 3 bajta hostid. U klasi B po 2 bajta se koriste za netid i hostid. U klasi C tri bajta
definišu netid, a jedan hostid. Adrese iz klase D se koriste kao multicast adrese (nema netid i hostid).
Adrese iz klase E su rezervisane za neke buduće promjene.

Klasa A - Podijeljena je na 128 blokova, gdje svaki blok ima različit netid. Prvi blok pokriva adrese od
0. 0. 0. 0 do 0. 255. 255. 255 (netid 0). Drugi blok pokriva adrese od 1. 0. 0. 0 do 1. 255. 255. 255
(netid 1). Posljednji blok pokriva adrese 127. 255. 255. 255 (netid 127). Prvi i posljednji blok su
rezervisani za posebne namjene. Dodatno jedan blok (netid 10), se koristi za privatne adrese. Ukupan
broj organizacija koje mogu posjedovati adresu iz klase A je 125. Svaki blok u klasi A ima čak 16 777
216 adresa.

Klasa B - Podijeljena na 16 384 bloka, pri čemu svaki blok ima isti netid. 16 blokova su rezervisani i za
privatne adrese, a preostale raspoložive za dodjelu organizacijama. Prvi blok pokriva adrese od 128.
0. 0. 0 do 128. 0. 255. 255 (netid 128. 0). Posljednji blok pokriva adrese od 191. 0. 0. 0 do 191. 0. 255.
255 (netid 191. 0). Adrese iz istog bloka imaju ista prva dva bajta, a razlikuju se po vrijednosti druga
dva bajta (hostid). Prva adresa iz bloka je mrežna adresa, a posljednja ima posebnu namjenu. Ukupan
broj organizacija kojima se može dodijeliti blok iz klase B je 16 368.

Klasa C - Podijeljena na 2 097 152 bloka. Svaki blok ima isti netid. 256 blokova rezervisano je za
privatne adrese, a presotali su namijenjeni za dodijelu organizacijama. Prvi blok obuhvata adrese od
192. 0. 0. 0 do 192. 0. 0. 255 (netid 192. 0. 0). Posljednji blok obuhvata adrese od 223. 255. 255. 0 do
223. 255. 255. 255 (netid 223. 255. 255) . Prva tri bajta (netid) svih adresa iz istih blokova identična,
dok četvrti bajt može imati bilo koju vrijednost (hostid). Prva adresa je mrežna, a posljednja u bloku
ima posebnu namjenu.

Klasa D - Postoji samo jedan blok adresa. Koristi se za multicast. Svaka adresa iz ove klase se koristi
da definira jednu grupu hostova na internetu. Kad se grupi dodijeli adresa iz klase D, svi hostovi,
članovi ove grupe, pored normalne (unicast) imaju i grupnu (multicast) adresu.

Klasa E - Postoji samo jedan blok adresa rezervisan za buduće namjene.


Mrežne adrese - prva adresa u bloku. Definiše mrežu a ne host. Za datu mrežnu adresu možemo
odrediti klasu, blok opseg adrese u bloku.

Maska - Procedura za određivanje mrežne adrese na osnovu date IP adrese, koja se može uopštiti i
na slučaj kad podmreže postoje, koristi tzv. masku. Maska je 32 - bitni broj koji AND - ovan sa bilo
kojom adresom iz bloka daje mrežnu adresu. AND operacija se primjenjuje na svaki par bitova maske
i adrese. Kod svakog adresiranja postoje 3 maske tzv. podrazumijevane, jedna za svaku klasu. Za klasu
A maska ima 8 jedinica i 24 nule, za klasu B ima 16 jedinica i 16 nula, za kalsu C ima 24 jedinice i 8
nula. Jedinice odgovaraju netid a nule hostid. Da bi podrazumijevana maska eksplicitno naglasila
koristi se CIDR notacija. U ovoj notaciji broj jedinica u maski se zapisuje na kraju adrese poslije kose
crte.

Bezklasno IP adresiranje - uvedeno 1996. god. Opsezi adresa koji se dodjeljuju organizacijama su
blokovi promjenjive dužine koji ne pripadaju klasama. Blokovi mogu imati dvije adrese, 4 adrese, 128
adresa... Adresni prostor je podijeljen na blokove različitih veličina, a organizaciji se dodjeljuje blok
veličine koja najbolje odgovara njenim potrebama. Veličina bloka mora biti stepen dvojke. Prva
adresa u bloku mora biti djeljiva bez ostatka brojem adresa u bloku npr. ako blok sadrži 4 adrese,
prva adresa mora biti djeljiva sa 4.

Maska - samo na osnovu IP adrese nismo u mogućnosti odrediti blok kojem adresa pripada.
Neophodno je poznavati i masku. Adresa i maska uvijek idu u paru. Maska određena vodećim brojem
jedinica, a adresa se obično zapisuje u CIDR notaciji kao: x. y. z. t/ n. Broj n nakon kose crte ukazuje
na broj bita koji su isti u svim adresama iz bloka. Prefiks je drugo ime za zajednički dio sivih adresa iz
bloka. Dužina prefiksa je broj bita u zajedničkom dijelu (tj. n). Sufiks je promjenjivi dio u adresama
nekog bloka. Dužina sufiksa je broj bita u promjenjivom dijelu adrese.

Određivanje bloka - prva adresa se korisiti kao mreža adresa i ne može se dodijeliti hostu. Određuje
se primjenom AND operacije na adresu i masku. Prvih n bita se zadrže kakvi jesu, a preostalih 32 – n
se postave na nulu. Ukupan broj adresa u bloku je 2 32 - n. Posljednja adresa u bloku je specijalna
adresa koja se koristi kao ograničena opšta adresa. Možemo je odrediti na 2 načina:
1. Jednaka je zbiru prve adrese bloka i veličine bloka namijenjene za 1
2. Jednaka je zbiru prve adrese bloka i jediničnog komplementa maske

Podmrežavanje: Administrator mreže, za svaku podmrežu, određuje odgovarajuću masku. Maska


podmreže ima veću dužinu prefiksa (n) od maske koja važi na nivou dodijeljenog bloka. Prefiks mreže
određen je brojem uvedenih podmreža. Ako je broj podmreža s, tada je broj dodatnih jedinica u
dužini prefiksa jednak log2s. Ako želimo da sve podmreže budu iste veličine, broj podmreža mora biti
stepen dvojke. Mrežu je moguće podijeliti i na podmreže različite veličine koje će koristiti maske
promjenjive dužine prefiksa. Uslov koji diktira minimalna veličina paketa za CSMA/CD mreže.
USPOSTAVLJANJE KONEKCIJE TROSTEPENIM USAGLAŠAVANJEM
TCP se uspostavlja procedurom koja se zove trostepeno usaglašavanje. Pretpostavimo da aplikacioni
program (klijent) želi da uspostavi TCP konekciju sa nekim drugim aplikacionim programom (server).
Cjelokupan proces započinje server. Server od svog TCP - ja zahtjeva pasivno otvaranje konekcije.
Pasivno otvaranje ne uspotavlja konekciju, već samo daje dozvolu TCP - ju da prihvati zahtjev za
uspostavljanje konekcije koji eventualno stigne od neke udaljene aplikacije. Klijentski program, izdaje
zahtjev lokalnom TCP - ju za aktivno otvaranje konekcije. Klijent zapravo saopštava TCP - ju da želi da
ostvari konekciju sa konkretnim ''otvorenim'' serverom. Opis svakog od 3 koraka:
1. Klijent šalje prvi segment, tzv. SYN segment, u kojem je flag SYN postavljen (tj. ima
vrijednost 1). Ovaj segment služi za sinhronizaciju rednih brojeva. Klijent slučajno bira prvi redni broj i
šalje ga serveru. Ovaj redni broj se zove inicijalni redni broj (ISN). SYN segment je kontrolni segment i
ne sadrži bilo kakve podatke. Međutim, SYN segment ''troši'' jedan redni broj. Kada prijenos podataka
bude počeo, redni broj za prvi bajt podataka će biti za 1 veći od ISN broja.
2. Drugi segment (tzv. SYN + ACK segment) šalje server. Kod ovog segmenta postavljena su 2
flaga: SYN i ACK. Segment ima dvostruku ulogu. Prvo, ima ulogu SYN segmenta za komunikaciju u
suprotnom smjeru. Drugo, server koristi SYN + ACK da bi potvrdio prijem klijentovog SYN segmenta.
Iz tog razloga, u ovom segmentu je postavljen ACK, a polje Acknowledgement Number sadrži sljedeći
redni broj koji server očekuje da primi od klijenta.
3. Treći segment (tzv. ACK segment) šalje klijent. Ovim segmentom klijent potvrđuje početni
redni broj servera. Flag ACK je postavljen, a polje Acknowledgment Number sadrži redni broj prvog
očekivanog bajta. ACK segment ne troši ni jedan redni broj, sadrži samo zaglavlje, ali ne i podatke.

ZATVARANJE KONEKCIJE TROSTEPNIM USAGLAŠAVANJEM


Trostepeno usaglašavanje je uobičajeni način zatvaranja TCP konekcije. U ovom slučaju strana koja
primi FIN segment, kao odgovor šalje FIN + ACK segment, kombinujući tako u isti segment FIN i ACK
segmente iz procedure četverostepenog usaglašavanja. Klijent preskače FIN – WAIT - 2 stanje i
direktno prelazi u stanje TIME - WAIT. Nakon završene faze prenosa podataka klijent izdaje komandu
close. Klijentski TCP šalje FIN segment i prelazi u stanje FIN – WAIT - 1. Po prijemu FIN segmenta,
serverski TCP isporučuje serverskoj aplikaciji zaostale podatke zajedno sa informacijom da konekcija
mora biti zatvorena. Nakon toga , serverski TCP prelazi u stanje CLOSE - WAIT odlaže slanje ACK
segmenta na primljeni klijentov FIN sve dok od svoje aplikacije ne dobije zahtjev za pasivnim
zatvaranjem. Kad serverska aplikacija izda komandu close, TCP šalje FIN + ACK segment klijentu i
prelazi u stanje LAST- ACK gdje čeka na posljedni ACK. Kad primi posljedni ACK prelazi u stanje CLOSE.

KARNOV ALGORITAM
Pretpostavimo da u toku retransmisionog perioda segment nije potvrđen i da je zbog toga
retransmitovan. Kad predajni TCP konačno primi potvrdu, ostaje dilema da li je to potvrda za
prvobitni ili za retransmitovan segment. Iz tog razloga Round – Trip Time (RTT) se ne mjeri za
retransmitovane segmente. Drugim riječima, u obzir se uzima samo izmjereno RTT (RTT M ) za
segmente koji nisu retransmitovani.

EKSPONENCIJALNI BACKOFF
Postavlja se pitanje: koju vrijednost za Retransmission time - out (RTO) izabrati nakon retransmisije
segmenta? Kod većine realizacija TCP protokola koristi se strategija eksponencijalnog backoffa. RTO
vrijednost se duplira sa svakom uzastopnom retransmisijom. Nakon prve retransmisije segmenta,
RTO postaje 2 * RTO, poslije 2 uzastopne retransmije 4 * RTO...
Exponential backoff algoritam - Vrijeme slanja jednog bita (bit time) vrlo kratko vrijeme (za brzinu od
10 Mbps iznosi 1 mikrosekundu). Pretpostavimo da adapter nastoji prvi puta poslati frame i tijekom
slanja detektira koliziju, adapter tada odabire K = 0 sa vjerovatnoćom 0. 5 i odabire K = 1 sa
vjerovatnoćom 0. 5. Poslije drugog zagušenje K se odabire sa jednakom vjerovatnoćom iz skupa { 0, 1,
2, 3}. Nakon trećeg zagušenja K se odabire sa istom vjerovatnoćom iz skupa {0, 1, 2, 3, 4, 5, 6, 7}.
Nakon deset i više zagušenja K se odabire sa jednakom vjerovatnoćom iz skupa {0, 1, 2, 3, 4, ... ,1023}
Na taj način veličina skupa iz kojeg se odabire K raste eksponencijalno sa brojem zagušenja (sve do n
= 10). Postavlja se pitanje zašto koristimo eksponencijalni backoff te zašto ne odaberemo K iz skupa
{0, …,7} poslije svakog zagušenja? Kada adapter dođe do svog prvog zagušenja on ne zna koliko je još
adaptera prisutno u tom zagušenju. Ako postoji neki mali broj adaptera u zagušenju tada ima smisla
izabrati K iz skupa s malim vrijednostima, ako je više adaptera obuhvaćeno u zagušenju tada ima
smisla izabrati K iz većeg, mnogo raširenijeg skupa vrijednosti. Svaki put jedan adapter priprema novi
frame za slanje koristeći CSMA/ CD algoritam. Adapter ne uzima u obzir zagušenje koje se možda
dogodilo u predhodnom slanju.

Struktura ICMP paketa koji se koristi da se izvjesti o greški tipa destination unreachable -
nedostupno odredište
Tipovi ICMP poruka:

1. Izvještaji o greškama - ovaj tip koriste ruteri ili hostovi za slanje obavještenja o neočekivanim
događajima u toku procesiranja datagram.
2. Upit - poruke upita uvijek idu u paru i pomažu hostu ili administratoru mreže da od rutera ili
drugog hosta pribavi neke specifične informacije.

Kategorija Tip Poruka


Izvještaji o greškama 3 Nedostupno odredište
4 Prigušivanje izvora
11 Isteklo vrijeme
12 Problem sa parametrima
5 preusmjeravanje
Upit 8 ili 0 Eho ili odziv na eho
13 ili 14 Vremenski zapis, zahtjev ili odgovor
17 ili 18 adresna maska, zahtjev ili odgovor

Format ICMP poruke - Prvo polje zaglavlja (Type) definiše tip poruke. Drugo polje (Code) se koristi za
parametre poruke koji se mogu predstaviti jednim ili sa nekoliko bita. Posljednje zajedničko polje
(Checksum) se koristi za kontrolnu sumu poruke. Ostatak zaglavlja je specifičan za svaki tip poruke.
Nedostupno odredište - Poruka tipa nedostupno odredište pokriva brojne neregularne situacije koje
nastaju prilikom rutiranja datagrama ili isporuke sadržaja datagrama protokolu višeg nivoa na strani
odredišnog hosta. Razlog slanja poruke definisan je sadržajem polja Code. Poruku ovog tipa šalje
ruter kada ne može da locira odredište datagrama, ne može da prosljedi datagram sljedećem ruteru
ili kada datagram sa setovanim bitom DF (zabranjena fragmentacija) ne može biti isporučen jer mreža
koja stoji na putu zbog velike dužine datagrama ne dopušta njegov prenos. Odredišni host šalje
poruku ovog tipa izvornom hostu u situacijama kada protokol višeg nivoa kojem su podaci iz IP
datagrama namijenjeni nije operativan ili kada aplikacioni program koji koristi podatke nije pokrenut
Prigušenje izvora - Informiše izvor da je datagram uništen zbog zagušenja rutera ili odredišnog hosta.
Izvor mora da smanji brzinu slanja datagrama, sve dok se zagušenje ne otkloni. Jedna ICMP poruka
ovog tipa se šalje za svaki uništeni datagram.
Ideje na kojima se zasniva digitalni potpis

Datagram (struktura zaglavlja IP datagram paketa, minimalna i makrsimlna veličina)


Paketi koji se prenose na IP nivou nazivaju se datagramima. Datagram je paket promjenljive dužine i
sastoji se iz 2 dijela: zaglavlje i podaci. Zaglavlje je podijeljeno na polja koja sadrže informacije bitne
za rutiranje i isporuku datagrama. Velična zaglavlja je najmanje 20, a najviše 60 bajta. Prvih dvadeset
bajtova u zaglavlju su fiksni, a opcioni dio je promjenljive dužine od 0 do 40 bajtova.
Opis zaglavlja:
VERS (verzija) – četverobitno polje koje definiše verziju IP protokola. Aktuelna verzija je 4, kojoj u
ovom polju odgovara binarna vrijednost 0100. Postojanje broja verzije u svakom datagramu olakšava
prelazak na novu verziju IP protokola. Trenutno je aktuelan prelazak sa IPv4 na IPv6.
Header Length (dužina zaglavlja) – u samom zaglavlju predviđeno je polje HLEN, koje definiše dužinu
zaglavlja izraženu brojem 32 - bitnih riječi. Minimalna vrijednost je 5, a maksimalna 15.
Type of service (tip servisa) – polje veličine jednog bajta koje definiše kako će datagram biti tretiran
od strane rutera. Pojedinačni bitovi ovog polja definišu prioritet drugima, nivo pouzdanosti i
kašnjenja koje pošiljalac datagrama očekuje od rutera.
Total length (ukupna dužina) – definiše veličnu IP datagrama izraženu u bajtovima. Veličina ovog pola
je 16 bita, što znači da veličina datagrama može biti maksimalno 65535 bajta (2 16 - 1). Broj bajtova
podataka koji se prenose datagramom može se odrediti tako što će se od total length oduzeti veličina
zaglavlja (4 * HLEN).
Identification – 16 bitno polje koje se koristi prilikom fragmentacije datagrama.
Flags (polje za markere) – 3 bitno polje koje se koristi priikom fragmentacije datagrama.
Fragment offset (pomak fragmenta) – 13 bitno polje koje se koristi prilikom fragmentacije datagrama
Time to live (vrijeme života) – brojač koji se koristi da bi se ograničilo vrijeme života datagrama. Ako
vrijme života dostigne 0 prije nego što datagram stigne do odredišta on se uništava.
Protocol - 8 bitno polje koje ukazuje na protokol višeg nivoa koji korisit usluge IP sloja. Ovo polje
definiše kome se isporučuje sadržaj IP datagrama.
Header Check Sum (kontorlna suma zaglavlja ) - 16 bitno polje koje se koristi za verifikaciju zaglavlja
Polja Source IP address i destination IP address (adresa izvora i adresa odredišta) - sadrže 32 bitne
mrežene (IP) adrese izvornog i odredišnog hosta.
Termin MTU, njegova približna vrijednost za Ethernet i PPP mreže (Maximum Transfer Unit) -
najveća jedinica prenosa. Parametar protokola sloja veze koji definiše maksimalnu dužinu polja za
podatke u okviru. Svaki protokol sloja veze definiše format svog okvira. Ograničenje koje uvijek
postoji je maksimalna veličina polja za podatke u okviru (tzv. MTU – Maximum Transfer Unit). Kada se
datagram enkapsulira u okvir, ukupna veličina datagrama mora biti manja od ove maksimalne
veličine koja je difinisana ograničenjima nametnutim hardverom i softverom koji se koriste u mreži.
Vrijednost MTU parametra se razlikuje od jedne do druge fizičke mreže: za Ethernet 1,500 a za PPP
mreže 296. Da bi se IP protokol učinio nezavisnim od fizičke mreže, projektanti IP protkola su odlučili
da maksimalna veličina IP datagrama bude jednaka 65, 535 bajta. Za ostale fizičke mreže sa manjim
MTU datagram se mora podijeliti na manje cjeline kako bi mogao biti prenijet kroz mrežu. Ova
podjela se naziva fragmentacija.
Polja koja se iz zaglavlja IP datagram paketa koriste za fragmentaciju i njihova uloga u tom procesu.
Sve demonstrirati na nekom konkretnom primjeru.
Format i veličina okvira zavisi od protokola kojeg koristi fizička mreža. Kada prelazi iz mreže sa većom
u mrežu sa manjom dužinom okvira, datagram mora biti fragmentiran.
Sljedeća tri polja zaglavlja IP datagrama se koriste u fragmentaciji:
IDENTIFIKACIJA - 16 bitno polje koje identifikuje datagrame koji potiću iz istog izvora.
Kombinacija izvorne IP adrese i vrijednosti polja za identifikaciju na jedinstven način definiše
datagram kad on napusti izvorni host. Da bi se obezbjedila jedinstvenost, IP protokol koristi brojač za
označavanje datagrama. Uvijek kad šalje datagram, IP izvornog hosta kopira tekuću vrijednost ovog
brojača u polje za identifikaciju a zatim uveća brojač za 1. Ako se datagram fragmentira, vrijednost
polja za identifikaciju se kopira u sve fragmente.
FLAGSI (polje za markere) sadrži 3 bita. Prvi bit je neiskorišten. Drugi bit, DF, postavljen je na
vrijednost 1 znači „ne fragmentiraj“, a predstavlja instrukciju ruteru da datagram nije dozvoljeno
fragmentirati. Postavljajući DF na 1, pošiljalac je siguran da će datagram stići do odredišta ˝u jednom
komadu˝. Ako ruter ne može da proslijedi datagram ni kroz jednu od raspoloživih fizičkih mreža,
ruter ce uništiti datagram, a izvornom hostu će poslati ICMP poruku sa obaveštenjem o grešci. Bit DF
postavljen na 0 označava da je datagram dozvoljeno fragmentirati. Treći bit polja MF (More
Fragments) postavljen na vrijednost 1 ukazuje da datagram nije poslednji fragment nekog većeg
datagrama. Ako bit MF ima vrednost 0, to znači da je ovaj datagram posljednji fragment nekog većeg
datagrama ili se radi o datagramu koji nije fragmentiran.
FRAGMENT OFFSET (13 bita) definiše poziciju ovog fragmenta u okviru celokupnog
datagrama. Predstavlja pomak (offset) podataka u prvobitnom datagramu izražen u jedinicama od po
8 bajta.

KONTROLA ZAGUŠENJA - Zagušenje u mreži nastaje kad opterećenje mreže (broj paketa poslatih u
mrežu) postane veće od kapaciteta mreže (broj paketa koje mreža može da prihvati). Cilj kontrole
zagušenja je održavanje opterećenja mreže ispod kapaciteta mreže. Zagušenje je posljedica
postojanja redova čekanja u ruterima (tj. bafera u kojima se čuvaju paketi prije nego što stignu na red
za obradu).

2 glavna mehanizna za kontrolu zagušenja u mreži su: kontrola zagušenja u otvorenoj petlji
(sprječavaje zagušenja) i kontorla zagušenja u zatvorenoj petlji (eliminacija zagušenja).
KONTROLA ZAGUŠENJA U OTVORENOJ PETLJI - Metodi za kontrolu zagušenja se primjenjuju da bi se
spriječila pojava zagušenja. Kod ovih mehanizama, za kontrolu zagušenja je zadužen ili izvor ili
odredište. Mehanizmi iz ove kategorije:
- Politika retransmisije – dobra politika retransmisije može da spriječi pojavu zagušenja.
Eksponencijalni backoff mehanizam koji udvostručava vrijeme čekanja potvrde (RTO) pri svakoj
sljedećeoj retransmisiji segmenta je dobar primjer mehanizma koji povoljno utiče na sprječavanje
zaguešenja. Pri velikom opterećenju mreže, retransmisija uništenih paketa doprinosi dodatnoj
redukciji propusnosti. Ponavljanje retransmisijskog segmenta je simptom zagušenja, a
udvostručavanje ROT vremena je pokušaj izvora da u takvim uslovima redukuje broj retransmitovanih
paketa koje ubacuje u mrežu.
- Politika potvrđivanja - koju sprovodi prijemnik može imati uticaja na zagušenje. Ako
prijemnik, umjesto da potvrđuje svaki ili svaki drugi segment, pređe u režim potvrđivanja svakog n
-tog segmenta, usporiće predajnik i u isto vrijeme pomoći u prevenciji zagušenja.
KONTROLA ZAGUŠENJA U ZATVORENOJ PETLJI - Mehanizimi za kontrolu zagušenja u zatvorenoj
petlji pokušavaju da prevaziđu zagušenje nakon što se ono pojavilo.
- Potisak (Back pressure) - ruter koji je postao zagušen, može tražiti od prethodnog rutera da
redukuje brzinu slanja paketa. Ruter kojem je zahtjev upućen vremenom će i sam postati zagušen i
uputiće identičan zahtjev sebi prethodnom ruteru. Ovako, informacija o nastalom zagušenju se
rekurzivno prenosi unazad sve do primarnih izvora od koji se zahtjeva da smanje opterećenje mreže.
Nakon redukcije opterećenja, zagušenje će početi posebno da se otklanja.
- Kontrolni (chocke) paket - paket koji se generiše u zagušenom ruteru i šalje nazad izvornom
hostu sa zahtjevom da redukuje brzinu slanja paketa. Primjer chocke paketa je ICMP poruka za
prigušenje izvora. Po prijemu chocke paketa, izvor smanjuje brzinu slanja paketa odredištu na koje se
poruka odnosi. Kada chocke paketi prestanu dolaziti, izvor uspostavlja prvobitni intenzitet slanja
paketa datom odredištu.
- Implicitna signalizacija - sam izvor, bez pomoći rutera može na posredan način detektovati
izvjesne signale upozerenja o mogućem zagušenju u mreži i nakon toga smanjiti brzinu slanja paketa.
- Eksplicitna signalizacija - ruter izložen zagušenju može poslati eksplicitan signal.
Postavljanjem nekog posebnog bita u paketima koje prosljeđuje, kako bi pošiljaoca ili primaoca
paketa obavjestilo o zagušenju.

Mehanizmi za suzbijanje zagušenja kod TCP protokola


Prozor zagušenja - strategija koju TCP primjenjuje za prevazilaženje zagušenja podrazumjeva 3 faze:
spori start, izbjegavanje zagušenja i detekcija zagušenja. U prvoj fazi (spori start) predajnik počinje
prenos podataka veoma malom brzinom, a zatim naglo povećava brzinu prenosa sve dok ne dostigne
zadatu granicu. Kad je granična brzina prijenosa dostignuta, brzina se smanjuje kako bi se izbjeglo
zagušenje. Ako se zagušenje detektuje, predajnik se vraća u režim sporog starta, ili izbjegavanje
zagušenja zavisi od načina na koji je zagušenje detektovano.
- Spori start - što je je prozor predajnika veći, to će predajnik moći poslati veći broj segmenata
pri čemu će morati čekati na njihovu potvrdu. Predajnik počinje rad postepeno povečavajući prozor
do optimalne veličine. Kad je nova konekcija uspostavljena, TCP inicijalizuje cwnd na 1, tj. predajniku
je dozvoljeno da pošalje samo 1 segment, a onda mora čekati na njegovu potvrdu, prije nego što
nastavi dalje. Svaki put kada primi potvrdu za poslate segmente iz prozora, TCP udvostručava veličinu
prozora. Po prijemu potvrde za prvi segment TCP postavlja cwnd = 2. Kad primi potvrdu za ova 2
segmenta, TCP postavlja cwnd = 4. Nakon što ova 4 segmenta budu poslana i potvrđena, nova
veličina prozora biće cwnd = 8. Spori start ne može da traje u nedogled. Mora da postoji granična
vrijednost na kojoj će se zaustaviti proces uvečavanja brzine slanja segmenata. Vrijednost ove granice
se čuva u posebnoj promjenljivoj, tzv. Sstresh (slow start treshold). Kad veličina prozora dostigne
vrijednost sstresh - a, faza sporog starta se završava i počinje sljedeća.
- Izbjegavanje zagušenja i linearno povečanje - da bi se izbjeglo zagušenje, prije nego što
nastupi, neophodno je usporiti eksponencijalni rast. TCP koristi drugi algoritam tzv. izbjegavanje
zagušenja linearno povečava veličinu prozora. Kad veličina prozora dostigne granicu sporog starta,
faza sporog starta se završava, a počinje linearna faza. U ovoj fazi, nakon prijema potvrde za sve
segmenta iza prozora, veličina prozora zagušenja se poveča za 1. Linearno povečavanje traje sve dok
se ne detektuje pojava zagušenja.
- Detekcija zagušenja i multiplikativno smanjenje – nakon pojave zagušenja, veličina prozora
zagušenja mora biti smanjena. Jedini način kako predajnik može naslutit da je u mreži nastalo
zagušenje jest potreba za retransmisijom segmenta. Do retransmisije može doći iz 2 razloga:
1) vrijeme RTO tajmera je isteklo – istek vremena čekanja na potvrdu, posljedica je gubitka
segmenta ili potvrde i ukazuje sa velikom vjerovatnoćom, na mogućnost zagušenja. Zato, u ovom
slučaju TCP drastično reaguje: postavlja graničnu veličinu prozora na polovinu trenutne veličine
prozora (sstresh = cwnd / 2), postavlja na 1 veličinu prozora zagušenja (cwnd = 1), ponovo restartuje
fazu sporog starta.
2) 3 ponovljena ACK – a – prijem 3 ponovljena ACK - a također ukazuje na mogućnost zagušenja.
Nek segment može biti uništen, ali pošto su primljena 3 ACK - a, segmenti koji slijede su uspješno
prenijeti. Ova situacija se naziva brza retransmija i brzi oporavak. U ovom slučaju reakcija TCP - a je
blaža i uključuje sljedeće korake: postavlja graničnu veličinu prozora na polovinu trenutne veličine
prozora (sstresh = cwnd / 2), postavlja veličinu prozora zagušenja na graničnu vrijednost (cwnd =
sstresh), vraća se na fazu izbjegavanja zagušenja.
RIP protokol

DNS protokol (zona i domena, razlika između njih)


DOMEN je podstablo prostora imena domena. Ime domena je ime domena čvora na vrhu podstabla.
Oblast odgovornosti DNS servera se naziva ZONOM. Zona se može definisati kao povezani dio stabla.
Ako je server odgovoran za domen, a taj domen nije dalje podijeljen na manje domene, tada je zona
isto što i domen. Server kreira bazu podataka, tzv. zonski fajl u kojoj čuva sve informacije o svakom
čvoru unutar tog domena. Međutim, ako je domen servera podijeljen na poddomene i dio njegovih
odgovornosti prebačen na druge servere, domen i zona više nemaju isto značenje.

Razlika između primarnog i sekundarnog DNS servera i njihova uloga


DNS definiše dva tipa servera: primarni i sekundarni.
Primarni server je onaj koji na svom hard disku čuva fajl o zoni za koju je odgovoran. Primarni server
kreira, održava i ažurira zonski fajl.
Sekundarni server je server koji informacije o zoni dobija od nekog drugog servera (primarnog ili
sekundarnog). Sekundarni serveri ne kreiraju niti ažuriraju zonske fajlove. Ako je ažuriranje
neophodno ono se obavlja na primarnom serveru koji potom sekundarnom serveru šalje ažuriranu
verziju. I primarni i sekundarni serveri su odgovorni za zonu koju pokrivaju.

Root server je server čiju zonu čini čitavo stablo. Root server ne čuva bilo kakve informacije o
domenima, već delegira svoju odgovornost na druge servere, čuvajući samo reference na te servere.

Postoje 2 načina obrade DNS upita: rekurzivno i iterativno razrješavanje.


Rekurzivno razrješavanje – kod rekurzivne obrade DNS upita klijen očekuje da konačni
odgovor na svoj upit dobije direktno od servera kome je postavio pitanje. Ako je domen koji se traži u
nadležnosti DNS servera, razrješivač direktno dobija odgovor. Međutim, ako se radi o udaljenom
domenu a informacija o njemu nije dostupna na lokalnom DNS server, server šalje zahtjev nekom
drugom serveru i čeka na odgovor. Ako je odgovoran za ime domena, roditeljski server će vratiti
odgovor, inaće će proslijediti upit sljedećem serveru. Kad je upit konačno razrješen, odgovor se istom
putanjom vraća unazad od servera do servera, sve dok konačno ne stigne do klijenta koji je izdao
prvobitni zahtjev.
Iterativno razrjesavanje – kod iterativnog razrješavanja server koji nije u mogućnosti da obavi
i razrješavanje ne obrača se u sljedećem serveru, već nazad vraća IP adresu servera za koga smatra da
može razrješiti upit. Klijent ponavlja upit i šalje ga ovom drugom serveru. Ako zna odgovor, drugi
server vraća klijentu odgovarajuću IP adresu, inaće, klijentu vraća IP adresu sljedećeg DNS servera.
Klijent se sada mora obratiti trećem serveru ... Opisani proces se naziva iterativnim zato što klijent
povalja isti upit ka više servera.

TTL (Time-to-live) je vrijeme u sekundama koje definiše koliko dugo infrmacija iz odgovora može
boraviti u keš memoriji bilo kog servera koji dođe u njen posjed. Poslije tog vremena, preslikavanje se
smatra zajstarjelim, a svaki sljedeci upit mora ponovo biti proslijeđen nadležnom serveru.

Osnovn karakteristike Point to Point Protocol i struktura njegovog zaglavlja


Razvijan početkom 1990 - tih i obično se koristio za dial - up linije sa kućnih računara. Dizajniran je da
prenosi podatke preko telefonske linije, ali sadri i adresu tako da se može koristit i na multipoint
mrežama. Polje adresa i kontrola se koriste prilikom trajanja bilo koje konekcije (telefonskog poziva).
Polje protokol opisuje protokol na mrežnom nivou do 1500 bajtova. Ovaj protokol koristi CRC - 16 za
kontrolu greške. Struktura zaglavlja:

Flag(1 Address(1 Control(1 Protocol(2 Message(varijabila CRC-16(1 flag(1


bajt) bajt) bajt) bajt) n broj bajtova) bajt) bajt)

Poliranje je proces prozivanja (računara ili terminala) koji nakon prozivanja mogu da pošalju podatke
ukoliko ih imaju. Ako klijent ima podatke, šalje ih nakon prozivanja, a ako nema, klijent odgovara
negativno, a server proziva sljedećeg klijenta. Postoje 2 vrste poliranja: pozivanje po redoslijedu i
hub polling (prosljedjivanje zetona)

ARP i RARP - Za dinamičko preslikavanje adresa u upotrebi su 2 protokola: ARP (Address Resolution
Protocol - protokol za razrješavanje adresa) i RARP (reverse address resolution protocol).
ARP - Host ili ruter koji želi da pošalje IP datagram nekom drugom hostu ili ruteru raspolaže
logičkom (IP) adresom prijemnika. Da bi mogao biti prenijet fizičkim linkom datagram mora biti
enkapsuliran u okvir. To znači da pošiljalac datagrama pored logičke mora poznavati i fizičku adresu
prijemnika. Pošto između logičkih i fizičkih adresa ne postoji direktna veza, neophodan je mehanizam
koji će omogućiti pronalaženje fizičke adrese za da tu logčiku. Dinamički pristup podrazumijeva
mogućnost da se pošaljilac obrati primaocu sa zahtjevom da mu saopšti svoju fizičku adresu. ARP
protokol je protokol koji reguliše konverzaciju predajnika i prijemnika u toku ovog procesa. Kad god
nekom hostu ili ruteru zatreba fizička adresa nekog drugog hosta ili rutera u istoj mreži on formira i
šalje na mrežu paket tipa ARP upit. Ovaj paket sadrži fizičku i IP adresu pošiljaoca i IP adresu
primaoca. Pošto pošiljalac ne zna fizičku adresu primaoca, paket se emituje na mrežu. U slučaju
etherneta, broadcast se ostvaruje slanjem okvira na fizičku adresu FF – FF – FF – FF – FF – FF. Svi
hostovi i ruteri u mreži primaju i obrađuju ARP paket, ali samo onaj koji u upitu prepozna svoju IP
adresu odgovara hostu koji je postavio upit slanjem paketa tipa ARP. Host koji je postavio upit uzima
fizičku adresu iz ARP odgovora i koristi je kao odredišnu adresu u okviru koji prenosi datagram do
odredišnog hosta. Slijedi niz aktivnosti u tipičnom ARP procesu:

1. Pošiljalac posjeduje IP datagram namjenjen ciljnoj mašini poznate IP adrese


2. IP traži od ARP da kreira ARP upit popunjen fizičkom i IP adresom pošiljaoca i cijlnom IP
adresom. Polje za fizičku adresu se popunjava nulama
3. Poruka ARP upita se prosljeđuje sloju veze gdje se enkapsira u okvir. Izvorna adresa okvira je
fizička adresa pošiljaoca, a odredišta je fizička broadcast adresa.
4. Obzirom da je okvir upućen na broadcast adresu, svi hostovi ili ruteri primaju na mreži okvir.
Softver sloja veze izdvaja ARP paket iz okvira i prosljedjuje ga ARP - u. Ciljna masšna
prepoznaje svoju IP adresu i prihvata paket.
5. Ciljna mašina odgovara porukom tipa ARP odgovora koji sadrži njenu fizičku adresu
6. Pošiljalac prima ARP odgovor i koristi dobijenu fizičku adresu ciljne mašine kao odredišnu
adresu za okvir kojim će poslati IP datagram iz koraka 1.

ČETIRI SLUČAJA KORIŠTENJA ARP – a:


1) Pošiljalac je host koji želi da pošalje datagram drugom hostu na istoj mreži. U ovom slučaju
logička adresa koja se preslikava u fizičku je odredišna IP adresa iz zaglavlja datagrama.
2) Pošiljalac je host koji želi da pošalje datagram drugom hostu na nekoj drugoj mreži. U
ovom slučaju host pretržuje svoju tabelu rutiranja i za dato odredište pronalazi IP adresu
sljedećeg skoka (rutera). IP adresa rutera postaje logička adresa koja se preslikava na fizičku
adresu.
3) Pošiljalac je ruter koji je primio datagram namijenjen hostu koji se nalazi na nekoj drugoj
mreži. Ruter pretražuje svoju tabelu rutiranja i za dato odredište pronalazi IP adresu sljedećeg
skoka (rutera). IP adresa sljedećeg rutera postaje logička adresa koja se preslikava na fizičku
adresu.
4) Pošiljalac je ruter koji je primio datagram namijnjen hostu u istoj mreži. Odredišna IP
adresa datagrama postaje logička adresa koju treba preslikati na fizčku adresu.

RARP je protokol koji se koristi za pronalaženje logičke adrese mašine koja jedino zna svoju fizičku
adresu. Svakom hostu ili ruteru dodijeljena je jedna ili više logičkih (IP) adresa koje su jedinstvene i
nezavisne od njegovih fizičkih adresa. Host ili ruter mora da zna svoju sopstvenu IP adresu da bi
mogao da kreira IP datagrame jer se ona koristi kao izvorna adresa u zaglavlju IP datagrama. IP
adresa mašine se obično čuva u konfiguracijskom fajlu na hard disku. Postoje uređaji koji ne
posjeduju hard disk i čiji je operativni sistem u poptunosti smješten u permanentnoj memoriji (ROM).
U romu se ne može čuvati IP adresa jer njih dodjeljuje administrator mreže prilikom priključenja
mašine na mrežu. S druge strane ovakva jedna mašina može lahko saznati svoju fizičku adresu i da je
onda iskoristi da uz pomoć RARP - a sazna i svoju IP adresu. Mašina kreira RARP upit i emituje ga na
lokalnu mrežu. Neka druga mašina na lokalnoj mreži koja zna IP adrese svih hostova i rutera na toj
mreži odgovora porukom tipa RARP odgovor.

UDP (User Datagram Protocol ) - Omogućava udaljenim aplikacijama da razmjenjuju enkapsulirane IP


datagrame, bez potrebe da uspostavljaju konekciju. Pruža samo osnovnu funkcionalnost potrebnu za
razmjenu podataka na transportnom nivou. Jedina bitna razlika između UDP datagrama i IP
datagrama je što UDP sadrži brojeve portova, što omogućava predajnoj aplikaciji da se obrati tačno
određenoj aplikaciji na odredišnoj mašini. Ne bavi se kontrolom toka, kontrolom grešaka i
retransmisijom nakon prijema lošeg datagrama. Paketi koji se razmjenjuju UDP protokolom nazivaju
se korisničkim ili UDP datagramima. Korisnički datagram se sastoji od 8 bajtnog zaglavlja i podataka.
Zaglavlje se sastoji od:
SOURCE PORT – broj portova aplikacionog procesa koji je kreirao poruku. Potreban kad
udaljena aplikacija treba da vrati odgovor. Proces koji vraća odgovor kopira broj iz polja Source Port u
Destination Port poruke koju vraća i tako obezbjeđuje da će poruka biti isporučena pravoj aplikaciji.
DESTINATION PORT – broj porta udaljenog aplikacionog procesa kojem je poruka
namijenjena.
TOTAL LENGTH – veličina UDP datagrama u bajtima, uključujući i zagljavlje i podatke.
Minimalna dužina UDP datagrama je 8 bajta a maksimalna je 2 16 = 65636 bajta. Međutim, zbog
enkapsulacije u IP datagramu, maksimalna dužina UDP datagrama je manja.
CHECKSUM – 16 bitno polje koje se koristi za provjeru ispravnosti poruke.
Načn rada: UDP je beskonekcioni servis što znači da se svaki korisnički datagram poslat preko UDP - a
tretira kao nezavisan datagram. Između različitih UDP datagrama ne postoji veza. Korisnički
datagrami nisu numerisani a pošto do odredišta mogu stići izvan redoslijeda UDP nije u mogućnosti
da rekonstruiše njihov prvobitni redoslijed. Posljedica beskonekcionog načina rada je i ta da proces
ne može korisiti UDP za slanje toka podataka i da pri tome očekuje da UDP automatski vrši pakovanje
podataka u različite datagrame. Umjesto toga, svaka poruka koju proces šalje mora biti dovoljno
kratka da može stati u jedan UDP datagram.
Kontrola toka i kontrola grešaka – UDP je jednostavan, nepouzdan transportni protokol. Ne
posjeduje mehanizme za kontrolu toka, za kontrolu grešaka. Pošiljalac ne može znati da li je poruka
koju je poslao uspješno prenijeta ili je možda izgubljena ili duplirana u prijenosu. Prijemnik koji
provjerom kontrolne sume detektuje grešku, jednostavno uništava datagram.
ENKAPSULACIJA KORISNIČKIH DATAGRAMA – proces koji šalje poruku preko UDP - a, prosljeđuje
poruku UDP - u zajedno sa parom adresa soketa i informacijom o dužini podataka. UDP softver
dodaje podacima UDP zaglavlje i tako kreiran korisnički datagram prosljeđuje IP - u zajedno sa
adresama soketa. IP dodaje svoje zaglavlje, postavljajući vrijednost 17 u polje za protokol, što treba
odredišnoj adresi da ukaže da podaci potiću od UDP protokola. Tako formirani IP datagram se
prosljeđuje sloju veze gdje se pakuje u okvir a zatim isporučuje fizičkom sloju koji kodira bitove okvira
u električne ili optičke signale i šalje ih udaljenoj mašini. Kada poruka stigne do odredišnog hosta,
fizički sloj dekodira singal u niz bitova koje prosljeđuje sloju veze. Sloj veze provjerava ispravnost
primljenog okvira i ako je ispravan odstranjuje svoje zaglavlje a enkapsulirani IP datagram predaje IP -
u. IP obavlja svoju provjeru datagrama i ako nema grešaka, odstranjuje IP zaglavlje, a korisnički
datagram prosljeđuje UDP - u zajedno sa IP adresama pošiljaoca i primaoca. Ako je kontrolna suma
ispravna UDP odstranjuje svoje zaglavlje i podatke sadržane u korisničkom datagramu i zajedno sa
adresom soketa pošiljaoca isporučuje prijemnom procesu.
Multipleksiranje se koristi na strani pošiljaoca kad više od jednog aplikacionog procesa želi da pošalje
korisničke datagrame. UDP prihvata poruke od različitih procesa, svakoj poruci pridodaje zaglavlje i
kreirani korisnički datagram predaje IP - u.
Demulitpleksiranje se koristi na strani prijemnika kad postoji više od jednog aplikacionog procesa koji
očekuju korisničke datagrame. UDP prima korisnički datagram od IP - a. Nakon provjere grešaka i
odstranjivanja zaglavlja, UDP isporučuje poruku odgovarajućem aplikacionom procesu shodno broju
porta. PRIMJENA:
Jedna oblast gdje je UDP naročito koristan su klijent - server konfiguracije. Često, klijent šalje
kratak upit serveru i očekuje kratak odgovor. Ukoliko se upit ili odgovor izgube u prijenosu, klijent
čeka neko vrijeme i pokušava ponovo. Primjer aplikacija koja koristi UDP ovako je Daytime servis.
Druga oblast primjene UDP protokola su real - time aplikacije, kao što su: Internet radio,
internet telefonija, muzika - na - zahtjev, video konferencije, video – na - zahtjev i dr. Zajednička
karakteristika svih ovih aplikacija je prijenos kontinualnog toka digitalizovanih zvuka i / ili videa.
Retransmisija izgubljenih datagrama nije moguća.

You might also like