Internet protokol (IP) - "Mihajlo Pupin" Kula
Internet protokol (IP) - "Mihajlo Pupin" Kula
Internet protokol (IP) - "Mihajlo Pupin" Kula
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