28.11.2014 Views

Internet protokol (IP) - "Mihajlo Pupin" Kula

Internet protokol (IP) - "Mihajlo Pupin" Kula

Internet protokol (IP) - "Mihajlo Pupin" Kula

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Računarske mreže i komunikacije<br />

<strong>Internet</strong> <strong>protokol</strong> (<strong>IP</strong>)<br />

<strong>Internet</strong> <strong>protokol</strong> (<strong>IP</strong>)<br />

<strong>Internet</strong> <strong>protokol</strong> <strong>IP</strong> je glavna karika u skupu TCP/<strong>IP</strong> <strong>protokol</strong>a. Sve što odrade TCP, UDP, ICMP, IGMP<br />

<strong>protokol</strong>i nalazi se u, prenosi se <strong>IP</strong> paketom. <strong>IP</strong> <strong>protokol</strong> obezbeđuje nepouzdanu, bez uspostave veze isporuku<br />

paketa. Nepouzdana isporuka, znači da se ne garantuje da će <strong>IP</strong> paket uspešno stići na odredište. Za <strong>IP</strong> <strong>protokol</strong> se<br />

kaže da obezbeđuje najbolju moguću uslugu (best effort service). Kada dođe do nekog problema (npr ruter nema<br />

više slobodnog memorijskog prostora) <strong>IP</strong> <strong>protokol</strong> pokreće jednostavan algoritam: odbacuje paket i šalje ICMP<br />

poruku izvorištu. Zahtevanu pouzdanost moraju da obezbede viši slojevi (TCP).<br />

Termin „bez uspostave veze“ znači da <strong>IP</strong> <strong>protokol</strong> ne čuva nikakve informacije o međusobnoj poziciji<br />

uzastopnih paketa. Svaki paket se posmatra nezavisno od ostalih paketa. Ovo znači da se <strong>IP</strong> paketi mogu<br />

isporučivati van redosleda.<br />

Format zaglavlja <strong>IP</strong> paketa verzije 4<br />

Bez uspostave veze<br />

<strong>IP</strong> paket se sastoji od dela za zaglavlje i dela za podatke. Zaglavlje čini deo nepromenljive dužine od 20<br />

bajtova i deo promenljive dužine koji je opcioni (max 40 bajtova). Šalje se redosledom: sleva nadesno, sa bitom<br />

najveće težine polja na prvom mestu.<br />

Fiksni i promenljivi deo <strong>IP</strong> zaglavlja<br />

1


Računarske mreže i komunikacije<br />

<strong>Internet</strong> <strong>protokol</strong> (<strong>IP</strong>)<br />

<strong>IP</strong> zaglavlje se sastoji od sledećih polja:<br />

1. verzija (version) – 4 bita – tekuća verzija <strong>protokol</strong>a je 4 i označava se sa <strong>IP</strong>v4; postoji i verzija <strong>IP</strong>v6<br />

Polje verzija<br />

2. IHL (<strong>Internet</strong> Header Lenght) – 4 bita – pošto dužina zaglavlja nije konstantna, polje u zaglavlju, IHL,<br />

obezbeđuje informaciju koliko je zaglavlje dugačko izraženo u broju tridesetdvobitnih reči . Kada ne<br />

postoji polje opcija, normalna vrednost je 5.<br />

IHL<br />

Maksimalna vrednost zaglavlja je 60 bajtova, tako da je polje opcija 40 bajtova<br />

3. tip usluge (Type of Service – TOS) – 8 bita – ovo polje dozvoljava hostu da ukaže podmreži koju vrstu<br />

servisa želi; moguće su različite kombinacije pouzdanosti i brzine; za digitalizovani govor brza isporuka<br />

paketa je važnija od tačne isporuke; za prenos datoteka važniji je prenos bez greške nego brzi prenos; tip<br />

uslige sadrži (sleva nadesno) sledeća polja:<br />

Precedence trobitno polje koje ukazuje na prioritete od 0 (normalan) do 7 (mrežni upravljački<br />

paket)<br />

četiri bita koja dozvoljavaju hostu da specificira šta mu je najvažnije za podešavanje: što manje<br />

kašnjenje, što veća propusna moć, što veća pouzdanost ili što manja cena; samo jedan od bitova<br />

treba da bude postavljen na 1; ako su sva 4 polja postavljena na nulu, u pitanju je normalan servis;<br />

po teoriji ovo polje dozvoljava ruterima da naprave izbor između npr, satelitskog linka sa velikom<br />

propusnošću i velikim kašnjenjem i iznajmljenih linija sa malom propusnošću i malim kašnjenjem;<br />

ToS većina novijih implementacija ne koristi<br />

2


Računarske mreže i komunikacije<br />

<strong>Internet</strong> <strong>protokol</strong> (<strong>IP</strong>)<br />

DS/ECN (Differentiated Services/Explicite Congestion Notification) polje podeljen na sledeći način:<br />

prvih 6 bitova (DS) određuje različite nivoe kvaliteta usluge (QoS); moguće je definisati 64 (2 6 )<br />

klasa saobraćaja (RFC2474)<br />

druga 2 bita odnose se na zagušenje saobraćaja (ECN)<br />

4. ukupna dužina (Total Lenght) – 16 bitova – ukupna dužina uključuje sve u datagramu, i zaglavlje i<br />

podatke; maksimalna dužina je 65535 bajtova<br />

5. identifikacija (identification) – 16 bitova – polje je potrebno da bi omogućilo udaljenom hostu da odredi<br />

kom datagramu upravo dospeli (fragment) pripada; normalno se inkrementira za jedan pri svakom slanju<br />

datagrama; svi delovi istog datagrama sadrže istu identifikacionu vrednost<br />

6. ne deliti DF (Don’t Fragment) – 1 bit – DF ima vrednost 1 da bi ukazao da ne treba deliti paket; to je<br />

komanda ruteru da ne vrši deobu paketa pošto odredište nije u mogućnosti da delove spaja u celinu;<br />

postavljanjem paketa sa DF bitom pošiljalac zna da će paket stići na odredište kao jedna celina, iako će<br />

paket morati da zaobiđe mreže sa malim paketima i odabere manje optimalnu putanju; zahteva se od svih<br />

mašina da prihvataju fragmente od 576 bajtova i manje.<br />

Objašnjenje: U računarskim mrežama, maksimalna jedinica prenosa podataka (maximum transmission unit<br />

-MTU) nekog <strong>protokol</strong>a je najveća veličina PDU-a na tom sloju, koja može proći napred. Fragnmentacija<br />

se koristi kada je MTU manje od veličine paketa. Npr, maksimalna veličina <strong>IP</strong> paketa je 65535 bajtova<br />

dok je tipična vrednost MTU za Ethernet 1500 bajtova. Pošto <strong>IP</strong> zaglavlje zauzima 20 bajtova (bez opcije)<br />

od 1500 bajtova 1480 bajtova ostaje za <strong>IP</strong> podatke po Ethernet frejmu. Prema tome, 65 535 podataka<br />

(uključujući 20 bajtova zaglavlja) bi zahtevalo 45 paketa (65535-20)/1480=44.27, tj 45 paketa.<br />

Kada uređaj primi <strong>IP</strong> paket on ispituje odredišnu adresu i određuje odlazni interfejs. Ovaj interfejs ima<br />

prdružen MTU koji određuje maksimalnu veličinu podataka. Ako je MTU manji od veličine podataka koja<br />

se prenosi, podaci moraju da se fragmentuju. Uređaj segmentuje podatke gde je svaki segment manji ili<br />

jedank sa MTU umanjen za veličinu <strong>IP</strong> zaglavlja (20 bajtova minimum, 60 bajtova maksimum). Svaki<br />

segment je stavljen u poseban <strong>IP</strong> paket sa sledećim karakteristikama:<br />

Total lenght polje je postavljeno u odnosu na veličinu segmenta<br />

More fragments fleg (MF) je setovan za sve segmente osim za poslednji, za koji je „0“<br />

Header checksum polje se ponovo računa<br />

Npr, ako se 4500 bajtova podataka smešteno u jedan <strong>IP</strong> paket (bez opcija, ukupna veličina će biti 4520<br />

bajtova) prenosi preko linka sa MTU koji iznosi 2500 bajtova, tada će paket biti podeljen u 2 fragmenta<br />

3


Računarske mreže i komunikacije<br />

<strong>Internet</strong> <strong>protokol</strong> (<strong>IP</strong>)<br />

Ako je sada MTU 1500 bajtova, svaki fragment, svaki fragment će biti podeljen u 2 ili više fragmenata:<br />

7. još delova MF (More Fragment) – 1 bit – MF označava „još fragmenata“; svi fragmenti osim poslednjeg<br />

imaju postavljen ovaj bit na 1; potrebno je znati da su svi fragmenti datagrama stigli; odstupanje<br />

fragmenta ukazuje gde u tekućem datagramu fragment pripada; svi fragmenti osim poslednjeg moraju biti<br />

multipl od 8 bajtova, što je elementarna jedinica fragmenta; pošto je obezbeđeno 13 bitova, postoji<br />

maksimalno 8192 fragmenata po datagramu, pa je maksimalna dužina datagrama 65536, za jedan veća od<br />

polja ukupne dužine.<br />

8. vreme postojanja TTL (Time to Live) – ovo polje je brojač koji se koristi da bi se ograničilo vreme<br />

postojanja paketa; postavlja se gornja granica za broj rutera kroz koji prolazi paket; postavlja je pošiljalac<br />

na neku vrednost (32 ili 64) i umanjuje za jedan pri prolasku kroz svaki ruter; kada ova vrednost stigne<br />

do nule paket se odbacuje, a nazad, izvorišnoj stanici, šalje se ICMP paket; tako se sprečava kruženje<br />

paketa u nedogled<br />

4


Računarske mreže i komunikacije<br />

<strong>Internet</strong> <strong>protokol</strong> (<strong>IP</strong>)<br />

9. <strong>protokol</strong> (Protocol) – 8 bitova – kada mrežni sloj spoji ceo paket potrebno mu je da zna šta da radi sa<br />

paketom; polje <strong>protokol</strong>a ukazuje koji je <strong>protokol</strong> zadužio <strong>IP</strong> <strong>protokol</strong> da mu prenese podatke: TCP ili<br />

UDP; numerisanje je definisano sa RFC 1700<br />

10. kontrolni zbir zaglavlja (Header Checksum) – 16 bitova – kontrolni zbir zaglavlja se izračunava samo za<br />

zaglavlje; izračunavanje se obavlja tako što se prvo u polje za kontrolni zbir upišu sve nule; zatim se<br />

izračuna prvi komplement od 16-bitnih celina (kao da se zaglavlje sastoji od 16 bitnih reči); od dobijenog<br />

zbira (16-bitnog broja) napravi se prvi komplement i upiše se u polje za kontrolni zbir; na prijemu se<br />

ponovi operacija nad celim zaglavljem; ako u prenosu nije došlo do grešeke dobiće 16-bitni broj sa svim<br />

jedinicama; ako je došlo do greške, paket se jednostavno odbacuje; zbir se mora izračunavati na svakom<br />

ruteru pošto se menja najmanje jedno polje (TTL)<br />

11. adresa izvorišta (Source Address) – 32 bita – ukazuje na adresu mreže i hosta (izvorišnu)<br />

12. adresa odredišta (Destination Address) – 32 bita – ukazuje na adresu mreže i hosta (odredišnu)<br />

13. Opcije (Options) – promenljive dužine – retko se koriste i ne podržavaju ih svi ruteri i računari; u polju<br />

opcije za sada je definisana: sigurnost i ograničenje, zapisivanje rute (ruteri upisiju svoje <strong>IP</strong> adrese),<br />

zapisivanje vremena (ruteri upisuju vreme i svoje <strong>IP</strong> adrese), daje kompletan put kuda datagram treba da<br />

ide, daje listu rutera koje datagram ne treba da zaobiđe<br />

5


Računarske mreže i komunikacije<br />

<strong>Internet</strong> <strong>protokol</strong> (<strong>IP</strong>)<br />

14. Dodatak (Padding) – promenljive dužine – koristi se da obezbedi da je dužina zaglavlja umnožak od 32<br />

bita<br />

Adresiranje na internetu<br />

Svaki mrežni interfejs na <strong>Internet</strong>u mora da ima jedinstvenu <strong>Internet</strong> adresu, koja je 32 bitni broj.<br />

Uobičajeno je da se ova 32-bitna adresa predstavlja sa četiri decimalna broja (jedan decimalni broj za jedan bajt).<br />

Postoje 3 tipa adresa: dodeljena jednom računaru (unicast), namenjena svim stanicama (broadcast), i<br />

namenjena grupi stanica (multicast). <strong>IP</strong> adrese su podeljene u 5 klasa: A, B, C, D, E<br />

Klasa A<br />

Koristi 7 bitova za adresu mreže i 24 bita za adresu stanica<br />

Može se adresirati 2 7 – 2 = 126 mreža<br />

U svakoj mreži može da bude 2 24 – 2 = 1677721 stanica<br />

Opseg adresa je od 0.0.0.0 – 127.255.255.255<br />

Odgovara mrežama sa velikim brojem stanica<br />

Klasa B<br />

Koristi 14 bitova za adresu mreže i 16 bitova za adrese stanica<br />

Može se adresirati 2 14 – 2 = 16382 mreža<br />

U svakoj mreži može biti 2 16 – 2 = 65534 stanica<br />

6


Računarske mreže i komunikacije<br />

<strong>Internet</strong> <strong>protokol</strong> (<strong>IP</strong>)<br />

Opseg adresa klase B je od 128.0.0.0 do 191.255.255.255<br />

Odgovara mrežama sa relativno velikim brojem stanica<br />

Klasa C<br />

Koristi 21 bit za adresu mreže i 8 bitova za adrese stanica<br />

Može se adresirati 2 21 – 2 = 2097150 mreža<br />

U svakoj mreži može da bude 2 8 – 2 = 254 stanica<br />

Opseg adresa klase C je od 192.0.0.0 do 223.255.255.255<br />

Odgovara mrežama sa malim brojem stanica<br />

Klasa D<br />

Koristi se za multikast (vrsta brodkasta) ali i za ograničene oblasti i jedino za stanice koje koriste istu<br />

klasu D adresa<br />

Opseg adresa je od 224.0.0.0 do 239.255.255.255<br />

Klasa E<br />

Rezervisana je za primene u budućnosti<br />

Opseg adresa je od 240.0.0.0 do 247.255.255.255<br />

7


Računarske mreže i komunikacije<br />

<strong>Internet</strong> <strong>protokol</strong> (<strong>IP</strong>)<br />

Posebne (rezervisane) <strong>IP</strong> adrese dobijaju se postavljanjem bitova na 0 ili svih bitova na 1 i značenja su sledeća:<br />

00000000 00000000 00000000 0000000 - ova stanica<br />

000.....0000.stanica – stanica u ovoj mreži<br />

11111111 11111111 11111111 11111111 – difuzna isporuka u lokalnoj mreži<br />

Mreža.1111........11111 – difuzna isporuka u drugoj mreži<br />

127.bilošta – dijagnostički test<br />

Pored javnih <strong>IP</strong> adresa postoje i tzv privatne <strong>IP</strong> adrese. Privatne adrese su adrese koje nisu nikom<br />

zvanično dodeljene, ne mogu se naći niti koristiti na <strong>Internet</strong>u i ne garantuje se da su jedinstvene. One su<br />

namenjene za mreže koje nisu direktno povezane na <strong>Internet</strong> (već preko specijalnih servera, zaštitnih barijera...).<br />

Privatne adresu su:<br />

10.0.0.0/8 – 10.255.255.255/8<br />

172.16.0.0/12 – 172.31.255.255/8<br />

192.168.0.0/16 – 192.168.255.255/16<br />

Podmrežno adresiranje i podmrežne maske<br />

Osnovni nedostatak <strong>IP</strong> adresiranja proističe iz neprekidno rastuće veličine interneta. Enormni rast broja<br />

fizičkih mreža ima za posledicu sledeće:<br />

Nedostatak <strong>IP</strong> adresa<br />

Ogromno administriranje koje je neophodno da bi se rukovalo mrežnim adresama<br />

Tabele rutiranja u ruterima postaju suviše velike<br />

Kao posledica naglog razvoja <strong>Internet</strong>a princip dodeljivanja <strong>IP</strong> adrese postao je previše složen da bi omogućio<br />

brze promene konfiguracija lokalnih mreža. Do promene može da dođe kada se:<br />

novi tip fizičke mreže instalira na toj lokaciji,<br />

značajno poveća broj stanica pa se zahteva deoba lokalne mreže u dve ili više odvojenih podmreža,<br />

povećanje razdaljina koja zahteva deobu mreže u više manjih podmreža koje su povezane<br />

uređajima za međusobno povezivanje (gejtveja).<br />

Da bi se sprečilo dodavanje mreža sa novim <strong>IP</strong> adresama od svih računara zahteva se da podržavaju adresiranje<br />

podmreža (RFC 950):<br />

dodeljivanje adresa je lokalno.<br />

mreža sa podmrežama je spolja viđena i dalje kao jedna <strong>IP</strong> mreža.<br />

Umesto da se posmatra samo adresa mreže i adrese hosta (u okviru <strong>IP</strong> adresa) deo adrese hosta se deli u dva dela:<br />

u adresu podmreže i<br />

adresu hosta<br />

Ova ideja ima smisla pošto adrese u klasi A i klasi B imaju previše bitova dodeljenih adresama računara<br />

(hostovima): 224-2 (A), 216-2 (B).<br />

Podmrežavanjem se postiže da se od jedne mreže iz date klase kreira više segmenata odvojenih ruterima –<br />

manje hostova na istom segmentu. Za ostatak <strong>Internet</strong>a to je još uvek jedna mreža – nema potrebe da se menjaju<br />

tabele rutiranja. Od jedne <strong>IP</strong> mreže se kreira nekoliko posebnih segmenata – podmreža. Svaka podmreža ima<br />

jedinstven identifikator – subnet ID. Identifikator podmreže se kreira tako što se pozajmi određen broj bitova iz<br />

dela <strong>IP</strong> adrese koji predstavlja adresu hosta.<br />

8


Računarske mreže i komunikacije<br />

<strong>Internet</strong> <strong>protokol</strong> (<strong>IP</strong>)<br />

Data je mreža 140.25.0.0 iz klase B, 65534 hostova, ogroman broj za jedan broadcast domen. Za kreiranje<br />

podmreža pozajmljen je ceo treći oktet, kreirane su podmreže:<br />

– 140.25.0.0<br />

– 140.25.1.0<br />

– 140.25.2.0<br />

– ...<br />

– 140.25.255.0<br />

Kreirano je 256 segmenata sa po 254 hosta na svakom<br />

Pre sabnetovanja mreže 140.25.0.0<br />

Maska podmreže<br />

Posle sabnetovanja mreže 140.25.0.0<br />

Kada se koristi podmrežavanje sama klasa <strong>IP</strong> adrese ne može da odredi koji deo adrese predstavlja adresu<br />

mreže a koji adresu hosta. Da bi se odredilo koji deo <strong>IP</strong> adrese predstavlja adresu mreže a koji adresu hosta koristi<br />

se maska podmreže (subnet mask). Maska je trideset dvobitna vrednost u kojoj su:<br />

na 1 postavljene sve pozicije u mrežnom delu adrese (NetID ),<br />

na 1 postavljene sve pozicije u podmrežnom delu adrese (SubbnetID),<br />

na 0 postavljene sve pozicije u delu adrese za računar (HostID).<br />

9


Računarske mreže i komunikacije<br />

<strong>Internet</strong> <strong>protokol</strong> (<strong>IP</strong>)<br />

Vrlo često se maska podmreže piše u prefiksnoj notaciji uz adresu mreže.Na primer:192.168.1.0/24,<br />

192.168.1.64/27, gde /24 /27 označava broj bita u masci podmreže. Svaki host je konfigurisan sa <strong>IP</strong> adresom i<br />

maskom podmreže. Kada host treba da pošalje paket na destinaciju, na osnovu svoje adrese, maske podmreže i<br />

adrese destinacije određuje da li je destinacija na istoj mreži. Koristi se binarno AND.<br />

Pr1.Host sa adresom 192.168.1.65 i maskom podmreže 255.255.255.224 treba da pošalje paket na adresu<br />

192.168.1.91<br />

Моја adresa: 11000000 10101000 00000001 01000001<br />

Мaska: 11111111 11111111 11111111 11100000<br />

AND --------------------------------------------------------<br />

Моја mreža: 11000000 10101000 00000001 01000000<br />

Оdr. adresa: 11000000 10101000 00000001 01011011<br />

Маska: 11111111 11111111 11111111 11100000<br />

AND --------------------------------------------------------<br />

Оdr. mreža: 11000000 10101000 00000001 01000000<br />

Odredište je na istoj mreži kao i host koji šalje paket.<br />

Pr2. Host sa adresom 192.168.1.65 i maskom podmreže 255.255.255.224 treba da pošalje paket na adresu<br />

192.168.1.97<br />

Moja adresa: 11000000 10101000 00000001 01000001<br />

Maska: 11111111 11111111 11111111 11100000<br />

AND --------------------------------------------------------<br />

Moja mreža: 11000000 10101000 00000001 01000000<br />

Dest. adresa: 11000000 10101000 00000001 01100001<br />

Maska: 11111111 11111111 11111111 11100000<br />

AND --------------------------------------------------------<br />

Odr. mreža: 11000000 10101000 00000001 01100000<br />

Odredište nije na istoj mreži kao i host koji šalje paket.<br />

10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!