TCP/IP TCP/IP
TCP/IP Internet standardi Internet sloj Transportni sloj IP adresiranje Rutiranje IP protokol ICMP Transportni sloj UDP TCP Aplikacioni sloj TELNET FTP E-MAIL DNS TCP/IP
Struktura Interneta TCP/IP
OSI vs. TCP/IP TCP/IP
TCP/IP TCP/IP
Adresiranje TCP/IP protokoli koriste tri nivoa adresiranja: fizičke adrese logičke ili mrežne (IP) adrese adrese portova. TCP/IP
Adresiranje TCP/IP
Adresiranje - fizičke adrese Čvor sa fizičkom adresom 10 šalje okvir čvoru sa fizičkom adresom 69. U zaglavlju okvira sadržane su fizičke adrese. Ethernet adresa: 07:01:02:01:2C:4B TCP/IP
Adresiranje - logičke adrese Univerzalne adrese hostova i rutera na Internetu Čvor sa logičkom adresom A i fizičkom adresom 10 lociran na jednom LAN-u šalje podatke čvoru sa logičkom adresom P i fizičkom adresom 95 lociranom u nekom drugom LAN-u. Paket na nivou sloja mreže sadrži logičke adrese izvora i krajnjeg odredišta koje ostaju neizmenjene duž cele putanje paketa. Fizičke adrese se menjaju kako paket prelazi iz jednu u drugu mrežu. IP adresa: 132.24.75.9 TCP/IP
Adresiranje - adrese portova Proces sa adresom porta j koji se izvršava na hostu sa logičkom adresom A, šalje podatke procesu sa adrsom porta k koji se izvršava na hostu sa logičkom adresom P. TCP/IP 16 bitni brojevi
Internet standardi - RFC www.faqs.org/rfcs TCP/IP
Internet sloj IP adresiranje Isporuka, prosleđivanje i rutiranje ARP i RARP IP protokol ICMP TCP/IP
IP adresiranje Internet ili IP adresa je 32-bitna (ili 4-bajtna) adresa (identifikator) koja na jedinstven i univerzalan način definiše vezu hosta ili rutera na Internet. Adresni prostor (broj različitih adresa) IP protokola je 232 ili 4,294,967,296 TCP/IP
Tačkasta decimalna notacija TCP/IP
Dve šeme IP adresiranja Klasno IP adresiranje (prvobitna, danas zastarela) Besklasno IP adresiranje (danas preovlađujuća) TCP/IP
Klasno IP adresiranje - sadržaj Određivanje klase Netid i Hostid Klase i blokovi Mrežne adrese Maska CIDR notacija Iscrpljivanje adresa TCP/IP
Klase Prostor IP adresa je podeljen na pet klasa: A, B, C, D i E. Svaka klasa zauzima jedan kontinualni deo adresnog prostora TCP/IP
Broj adresa po klasama TCP/IP
Kako odrediti klasu IP adrese? Ako je adresa data u binarnom obliku: TCP/IP
Određivanje klase TCP/IP
Određivanje klase - primer Odrediti klase sledećih IP adresa: 00000001 00001011 00001011 11101111 11000001 10000011 00011011 11111111 10100111 11011011 10001011 01101111 11110011 10011011 11111011 00001111 TCP/IP
Kako odrediti klasu IP adrese? Ako je adresa data u decimalnoj notaciji: TCP/IP
Određivanje klase - primer Odrediti klase sledećih IP adresa: a. 227.12.14.87 b.193.14.56.22 c.14.23.120.8 d. 252.5.15.111 e.134.11.78.56 Rešenje: a. Prvi bajt je 227 (između 224 i 239); klasa je D. b. Prvi bajt je 193 (između 192 i 223); klasa je C. c. Prvi bajt je 14 (između 0 i 127); klasa je A. d. Prvi bajt je 252 (između 240 i 255); klasa je E. e. Prvi bajt je 134 (između 128 i 191); klasa je B. TCP/IP
Netid i Hostid Netid - identifikuje mrežu Hostid - identifikuje host u mreži Blok - skup adresa sa istim netid TCP/IP
Klasa A TCP/IP
Klasa B TCP/IP
Klasa C TCP/IP
Mrežna adresa Mrežna adresa je prva adresa u bloku. Definiše mrežu (a ne host). (Ruteri usmeravaju pakete shodno mrežnoj adresi) Za datu mrežnu adresu, u mogućnosti smo da odredimo klasu adrese, blok i opseg adresa u bloku. TCP/IP
Mrežna adresa - primer Za IP adresu 132.21.0.0, odrediti klasu, blok i opseg adresa. Rešenje Klasa adrese je B zato što je prvi bajt između 128 i 191. Adresa pripada bloku sa netid = 132.21. Opseg adresa je 132.21.0.0 do 132.21.255.255. TCP/IP
Maska Maska je 32-bitni broj, koji AND-ovan sa bilo kojom adresom iz bloka daje mrežnu adresu. AND (logička I) operacija se primenjuje na svaki par bitova maske i adrese. Bitovi adrese koji odgovaraju 1-cama iz maske zadržavaju svoju vrednost (ako su 1 ostaju 1, ako su 0 ostaju 0), a bitovi koji odgovaraju 0-ma iz maske menjaju se na 0. TCP/IP
Podrazumevane maske TCP/IP
Podrazumevane maske - primer Za IP adresu 23.56.7.91, oderediti početnu (mrežnu) adresu. Rešenje Data IP adresa pripada klasi A za koju je podrazumevana maske 255.0.0.0. To znači da prvi bajt adrese ostaje neizmenjen, dok preostala tri postaju 0. Dakle, tražena mrežna adresa je 23.0.0.0 . TCP/IP
CIRD notacija U ovoj notaciji, broj 1-ca u maski se zapisuje na kraju adrese posle kose crte. Na primer, adresa 18.46.74.10, koja je iz klase A sa podrazumevanom maskom 255.0.0.0, se zapisuje kao 18.46.74.10/8, da bi se naglasilo da u maski postoji osam 1-ca. Iako kod klasnog adresiranja svaka adresa ima podrazumevanu (jednoznačnu) masku, ponekada je uobičajeno (a i kompatabilno sa klasnim adresiranjem) da se podrazumevana maska eksplicitno naglasi prilikom zapisivanja adrese. Za ovu namenu koristi se CIDR (izgovara se ˝cider˝) notacija. U ovoj notaciji, broj 1-ca u maski se zapisuje na kraju adrese posle kose crte. Na primer, adresa 18.46.74.10, koja je iz klase A sa podrazumevanom maskom 255.0.0.0, se zapisuje kao 18.46.74.10/8, da bi se naglasilo da u maski postoji osam 1-ca. Slično, adresa 141.24.74.69 se zapisuje kao 141.24.74.69/16 (što pokazuje da adresa pripada klasi B i da maska ima šesnaest 1-ca. TCP/IP
Problem iscrpljivanja IP adresa Zbog brzog rasta Interneta, kao i zbog nedostataka samog klasnog adresiranja, raspoložive IP adresu su gotovo iscrpljene. Uprkos tome, broj uređaja na Internetu je još uvek mnogo manji od 232. Klase A i B su u potpunosti iskorišćene, dok su blokovi iz klase C previše mali za organizacije srednje veličine. Nešto kasnije, ukazaćemo na načine kako se problem iscrpljivanja IP adresa može ublažiti TCP/IP
Uređaji sa više mrežnih adaptera (Multihomed devices) host TCP/IP
IP adresa - lokacija, a ne ime ! IP adresa definiše mrežnu lokaciju uređaja, a njegov identitet. Drugim rečima, obzirom da IP adresu čine dva dela (netid i hostid), ona jedino može da definiše vezu hosta na određenu mrežu. Jedna posledica ovoga je ta da premeštanje računara iz jedne u neku drugu mrežu podrazumeva i promenu njegove IP adrese TCP/IP
Specijalne adrese Specijalna adresa Netid Hostid Izvor ili odredište Mrežna adresa Određena Sve nule - Direktna broadcast adresa Sve 1-ce Odredište Ograničena broadcast adresa Host na ovoj mreži Izvor Konkretan host na ovoj mreži Loopback adresa 127 Bilo koja TCP/IP
Mrežna adresa TCP/IP
Direktna opšta (broadcast) adresa Direktnu broadcast adresu koristi ruter da bi poslao poruku svim hostovima u lokalnoj mreži TCP/IP
Ograničena opšta (broadcast) adresa Ograničenu broadcast adresu koristi host kada šalje poruku svim hostovima u istoj mreži. Ruteri blokiraju ograničenu broadcast adresu TCP/IP
˝Host na ovoj mreži˝ Host koji ne zna svoju IP adresu koristi IP adresu 0.0.0.0 ako izvornu i 255.255.255.255 kao odredišnu da bi poslao poruku bootstrap serveru (host koji ˝zna˝ IP adrese svih hostova u mreži). TCP/IP
˝Konkretni host na ovoj mreži˝ Ovu adresu koristi host ili ruter kada šalje poruku nekom konkretnom hostu na istoj mreži. TCP/IP
Paket sa loopback adresom ne napušta host. Loopback adresa Paket sa loopback adresom ne napušta host. TCP/IP
Privatne adrese Klasa Netid Broj blokova A 10.0.0 1 B 172.16 – 172.31 16 C 192.168.0 – 192.168.255 256 Adrese iz ovih blokova nisu globalno prepoznatljive, a koriste se u izolovanim mrežama TCP/IP
Individualne, grupne i opšte IP adrese Individualne - za komunikaciju jedan-ka-jedan Grupne (multikast) - za komunikaciju jedan-ka-više Opšte (broadcast) - za komunikaciju jedan-ka-svima TCP/IP
Jedan izvor jedno odredište Individualne adrese Jedan izvor jedno odredište TCP/IP
Grupne adrese Jedan izvor, više odredišta Grupne adrese su adrese iz klase D Host, pored indivudulane, može imati jednu ili više grupnih adresa. TCP/IP
Primene grupne komunikacije Pristup distribuiranim bazama podataka Distribucija informacija Telekonferencije Učenje na daljinu Pristup distribuiranim bazama podataka. Većina velikih baza podataka su distribuirane. To znači da su informacije smeštene na više različitih lokacija. Korisnik koji želi da pristupi bazi, ne mora da zna tačnu lokaciju tražene informacije, već svoj upit može da pošalje na grupnu adresu svih lokacija. Odgovoriće lokacija koja poseduje traženu informaciju. Distribucija informacija. U poslovanju, često se javlja potreba da firma šalje cirkularna obaveštenja svojim korisnicima. Ako se za ovu namenu koristi multicast firma može poslati jednu poruku, koja će stići do svih zainteresovanih korisnika. Na sličan način, mogu se distribuirati vesti. Telekonferencije. Osnovna pretpostavka telekonferencije je da svi učesnici dobijaju iste informacije u isto vreme (˝svako vidi svakog˝). Za ovu namenu se mogu formirati privremene ili trajne multikast grupe. Učenje na daljinu. Predavanje jednog profesora može se emitovati specifičnoj grupi studenata TCP/IP
Višestruki unicast v.s. multicast TCP/IP
Dva nivoa hijerarhije (mreža bez podmreža) Podmrežavanje Dva nivoa hijerarhije (mreža bez podmreža) TCP/IP
Mreža sa podmrežama (tri nivoa hijerarhije). Podmrežavanje Mreža sa podmrežama (tri nivoa hijerarhije). TCP/IP
Adrese sa dva i tri nivoa hijerarhije Adrese u mreži bez podmreža Adrese u mreži: (a) bez podmreža; (b) sa podmrežama Adrese u mreži sa podmrežama TCP/IP
Maska podmreže TCP/IP
Podmrežavanje - primer Za IP adresu 200.45.34.56 i masku podmreže 255.255.240.0 odrediti adresu podmreže. Rešenje Adresa: 200.45.34.56 11001000 00101101 00100010 00111000 Maska podmreže: 255.255.240.0 AND 11111111 11111111 11110000 00000000 Adresa podmreže: 11001000 00101101 00100000 00000000 => => 200.45.32.0. TCP/IP
Podmrežavanje - specijalne adrese Adresa podmreže - prva adresa (hostid - sve nule) Poslednja adresa - ograničeni broadcast unutar podmreže (hostid - sve jedinice) Sa uvedenim podmrežavanjem, dve adrese iz svake podmreže se dodaju listi specijalnih adresa. Prva adresa svake podmreže (hostid sve nule) je adresa podmreže. Poslednja adresa u svakoj podmreži (sa hostid sve 1-ce) je rezervisana za obraničeni broadcast unutar podmreže. TCP/IP
Podmrežavanje - CIRD notacija 141.14.92.3/18 predstavlja adresu koja pripada podmreži sa maskom 255.255.192.0 (18 1-ca) CIDR notacija se takođe može koristiti i kod podmrežnog adresiranja. Korišćenjem ove notacije, adresa u podmrežu se može lako zapisati. Na primer, zapis 141.14.92.3/16 prikazuje adresu klase B. Međutim, zapis 141.14.92.3/18 prikazuje adresu koja pripada podmreži sa maskom 255.255.192.0 (18 1-ca). TCP/IP
Besklasno adresiranje Ciljevi: Razumevanje koncepta besklasnog adresiranja Pronalaženje prve i poslednje adrese bloka za datu IP adresu Pronalaženje mrežne adrese za datu besklasnu IP adresu Kreiranje podmreža na bazi bloka besklasnih IP adresa Razumevanje dodele adresa i koncepta agregacije adresa TCP/IP
Blokovi promenljive dužine Kod besklasnog adresiranja, adresni prostor (232 adresa) je podeljen na blokove različitih veličina, koji ne pripadaju klasama, a organizaciji se dodeljuje blok veličine koja najbolje odgovara njenim potrebama Kod besklasnog adresiranja opsezi adresa koji se dodeljuju organizacijama su blokovi promenljive dužine koji ne pripadaju klasama. Blokovi mogu imati 2 adrese, 4 adresa, 128 adresa i td. Postoji samo jedno ograničenje koje se tiče veličine bloka, o kome će uskoro biti reči, ali u opštem slučaju, veličina blokova se kreće od veoma malih do veoma velikih. Kod besklasnog adresiranja, adresni prostor (232 adresa) je podeljen na blokove različitih veličina, a organizaciji se dodeljuje blok veličine koja najbolje odgovara njenim potrebama (Sl. 2‑18). TCP/IP
Ograničenja Broj adresa u bloku mora biti stepen dvojke (2, 4, 8, 16, ...) Prva adresa u bloku mora biti deljiva bez ostatka brojem adresa u bloku Broja adresa u bloku Veličina bloka mora biti stepen dvojke (2, 4, 8, 16, ...). Na primer, rezidencijalnom korisniku se može dodeliti blok od 2, nekoj manjoj firmi blok od 16, a nekoj velikoj firmi bloko od 1024 (210) adresa. Prva adresa u bloku Prva adresa u bloku mora biti deljiva bez ostatka brojem adresa u bloku. Na primer, ako blok sadrži 4 adrese, prva adresa mora biti deljiva sa 4. Ako blok sadrži 16 adresa, prva adresa mora biti deljiva sa 16. Ako blok ima 256 (28) ili manje adresa, dovoljno je proveriti samo krajnji desni bajt. Ako blok ima 65336 (216) ili manje adresa, dovoljno je proveriti dva krajnja desna bajta, i td. TCP/IP
Besklasne IP adrese - Primer Koja od sledećih adresa može biti početna adresa bloka koji sadrži 16 adresa? a. 205.16.37.32 b.190.16.42.44 c. 17.17.33.80 d.123.45.24.52 Rešenje Samo dve adrese zadovoljaju uslov za početnu adresu (a i c). Adresa 205.16.37.32 zato što je 32 deljivo sa 16. Adresa 17.17.33.80 zato što je 80 deljivo sa 16. TCP/IP
Format besklasne IP adrese Kod besklasnog adresiranja adresa i maska uvek idu u paru TCP/IP
Prefiks i dužina prefiksa Prefiks - za zajednički deo svih adresa iz istog bloka (slično kao netid) Dužina prefiksa – broj bita u zajedničkom delu Sufiks – promenljivi deo u adresama nekog bloka (slično kao hostid) Dužina sufiksa – broj bita u promenljivom delu (32 – n) Prefiks i dužina prefiksa. Pojmovi prefisk i dužna prefiksa se često koriste u kontekstu besklasnog adresiranja. Prefiks je drugo ime za zajednički deo svih adresa iz bloka (slično kao netid). Dužina prefiksa je broj bita u zajedničkom delu (tj. n). Sufiks i dužna sufiksa. Sufiks je promenljivi deo u adresama nekog bloka (slično kao hostid). Dužina sufiksa je broj bita u promenljivom delu adrese (tj. 32 - n). TCP/IP
Određivanje prve adrese bloka Odrediti prvu adresu u bloku ako je 167.199.170.82/27 jedna od adresa iz bloka . Rešenje Dužina prefiksa je 27, što znači da moramo zadržati prvih 27 bita, a preostalih 5 promeniti na 0 : Adresa (bin. oblik): 10100111 11000111 10101010 01010010 Zadržavamo 27 bita: 10100111 11000111 10101010 01000000 Rezultat u CIRD notaciji: 167.199.170.64/27 TCP/IP
Određivanje broja adresa u bloku Odrediti broj adresa u bloku ako je 140.120.84.24/20 jedna od adresa iz bloka Rešenje Dužina prefiksa je 20. Broj adresa u bloku je 232−20 ili 212 ili 4096. TCP/IP
Određivanje poslednje adrese bloka Odrediti poslednju adresu bloka ako je 140.120.84.24/20 jedna od odresa iz bloka Rešenje Maska ima 20 1-ca i 12 nula. Komplement maske ima 20 nula i 12 jedinica : 00000000 00000000 00001111 11111111 Ili 0.0.15.255. Poslednja adresa jednaka je zbiru prve adrese i komplementa maske: TCP/IP
Određivanje poslednje adrese bloka 140 . 120 . 80 . 0 0 . 0 . 15 . 255 ---------------------------- 140 . 120 . 95 . 255 Poslednja adresa je: 140.120.95.255/20. TCP/IP
Određivanje bloka Odrediti blok ako je jedna od njegovih adresa 190.87.140.202/29. Rešenje Blok je određen prvom adresom, veličinom i poslednjom adresom. Uočimo da maska sa dužinom prefiksa 29 ima sve 1-ce na pozicijama prva tri bajta i pet 1-ca i tri nule na poziciji poslednjeg bajta, tj. 11111000. To znači da će u prvoj adresi bloka u odnosu na datu adresu biti promenjen samo poslednji bajt (202). Broj 202 u binarnom obliku ima vrednost 11001010, a primenom maske dobijamo: (11001010) AND (11111000) = 11001000 (decimalno 200). Dakle, prva adresa bloka je: 190.87.140.200/29. Veličina bloka iznosi 232-29 = 23 = 8 adresa. Komplement maske je 0.0.0.7, što sabrano sa prvom adresom daje poslednju adresu bloka: 190.87.140.207/29 Blok je određen prvom adresom, veličinom i poslednjom adresom. Uočimo da maska sa dužinom prefiksa 29 ima sve 1-ce na pozicijama prva tri bajta i pet 1-ca i tri nule na poziciji poslednjeg bajta, tj. 11111000. To znači da će u prvoj adresi bloka u odnosu na datu adresu biti promenjen samo poslednji bajt (202). Broj 202 u binarnom obliku ima vrednost 11001010, a primenom maske dobijamo: (11001010) AND (11111000) = 11001000 (decimalno 200). Dakle, prva adresa bloka je: 190.87.140.200/29. Veličina bloka iznosi 232-29 = 23 = 8 adresa. Komplement maske je 0.0.0.7, što sabrano sa prvom adresom daje poslednju adresu bloka: 190.87.140.207/29. TCP/IP
Jedna mrežna konfiguracija Prikazati mrežnu konfiguraciju za blok iz prethodnog primera: Prava adresa: 190.87.140.200/29 Veličina bloka: 8 adresa Poslednja adresa: 190.87.140.207/29 Prikazati mrežnu konfiguraciju za blok iz TCP/IP
Podmrežavanje kod besklasnog adresiranja Besklasno, kao i klasno adresiranje, podržava podmrežavanje. Organizacija kojoj je dodeljen blok adresa, može kreirati podmreže shodno svojim potrebama. Administrator mreže, za svaku podmrežu, određuje odgovarajuću masku. Maska podmreže imaće veću dužina prefiksa (n) od maske koja važi na nivou dodeljenog bloka. Besklasno, kao i klasno adresiranje, podržava podmrežavanje. Organizacija kojoj je dodeljen blok adresa, može kreirati podmreže shodno svojim potrebama. Administrator mreže, za svaku podmrežu, određuje odgovarajuću masku. Maska podmreže imaće veću dužina prefiksa (n) od maske koja važi na nivou dodeljenog bloka. TCP/IP
Određivanje maske podmreže Organizaciji je dodeljen blok 130.34.12.64/26. Organizacija želi da kreira 4 podmreže. Kolika je dužina prefiksa podmreže? Rešenje Kreiraju se 4 podmreže, što znači da su, u odnosu na dužinu prefiksa sajta, potrebna dve dodatne 1-ce (log24 = 2). Dakle, dužina prefiksa podmreže je /28. TCP/IP
Određivanje adresa podmreža Odrediti adrese podmreža i opsege adresa za svaku podmrežu iz prethodnog primera. TCP/IP
Podmreže promenljive veličine TCP/IP
Dodela adresa Dodela IP adresa na globalnom nivou je pod kontrolom međunarodne neprofitne organizacije koja se zove ICANN (Internet Corporation for Assigned Names and Numbers). Međutim, ICANN, po pravilu, se ne bavi dodelom adresa pojedinačnim organizacijama, već blokove adresa dodeljuje ISP-ovim. Svaki ISP zatim deli svoj blok adresa na manje blokove i raspodeljuje ih svojim korisnicima. Ovakav pristup se naziva agregacijom adresa, jer se veliki broj manjih blokova adresa objedinjuje u jedan veliki blok koji je dodeljen jednom ISP-u. Dodela IP adresa na globalnom nivou je pod kontrolom međunarodne neprofitne organizacije koja se zove ICANN (Internet Corporation for Assigned Names and Numbers). Međutim, ICANN, po pravilu, se ne bavi dodelom adresa pojedinačnim organizacijama, već blokove adresa dodeljuje ISP-ovim. Svaki ISP zatim deli svoj blok adresa na manje blokove i raspodeljuje ih svojim korisnicima. Ovakav pristup se naziva agregacijom adresa, jer se veliki broj manjih blokova adresa objedinjuje u jedan veliki blok koji je dodeljen jednom ISP-u. TCP/IP
Isporuka, prosleđivanje i rutiranje datagrama - Sadržaj Direktna i indirektna isporuka datagrama Prosleđivanje kod klasnog adresiranja Prosleđivanje kod besklasnog adresiranja Tabele rutiranja Struktura rutera TCP/IP
Direktna isporuka Izvor i odredište su locirani u istoj mreži Od poslednjeg rutera do odredišnog hosta Pošiljalac analizira odredišnu IP adresu uzetu iz zaglavlja datagrama; iz nje izdvaja mrežnu adresu i upoređuje je sa adresama mreža na koje je priključen. Ako pronađe podudarnost, datagram može biti direktno isporučen. TCP/IP
Izvor i odredište nisu u istoj mreži Indirektna isporuka Izvor i odredište nisu u istoj mreži TCP/IP
Prosleđivanje datagrama Proslediti datagram znači uputiti ga jedan korak dalje duž putanje do njegovog krajnjeg odredišta. Prosleđivanje podrazumeva da hostovi i ruteri poseduju tabele rutiranja. Host kada želi da pošalje datagram (ili ruter koji treba da pošalje primljeni datagram), iz tabele rutirana, a na osnovu odredišne IP adrese, dobija informaciju kome treba da proslediti datagram. Glavni problem u vezi sa tabelama rutiranja tiče se njihove veličine. Zbog impresivne veličine današnjeg Interneta, rešenje kod koga bi tabela rutiranja sadržala posebnu stavku sa kompletnom putanjom za svaku moguću odredišnu IP adresu je praktično neizvodljivo. Proslediti datagram znači uputiti ga jedan korak dalje duž putanje do njegovog krajnjeg odredišta. Prosleđivanje podrazumeva da hostovi i ruteri poseduju tabele rutiranja. Host kada želi da pošalje datagram (ili ruter koji treba da pošalje primljeni datagram), iz tabele rutirana, a na osnovu odredišne IP adrese, dobija informaciju kome treba da proslediti datagram. Glavni problem u vezi sa tabelama rutiranja tiče se njihove veličine. Zbog impresivne veličine današnjeg Interneta, rešenje kod koga bi tabela rutiranja sadržala posebnu stavku sa kompletnom putanjom za svaku moguću odredišnu IP adresu je praktično neizvodljivo TCP/IP
Tehnike prosleđivanja Metod sledećeg skoka Mrežno-specifični metod Metod podrazumevanog rutera TCP/IP
Metod sledećeg skoka (rutera) Tabele sadrže kompletne putanje do hosta B tabele koje sadrže kompletne putanje do hosta B Tabele sadrže adresu sledećeg-skoka ka hostu B TCP/IP
Mrežno-specifični metod Tabela rutiranja sa eksplicitno navedenim hostovima Tabela rutiranja zasnovna na mrežno-specifičnom metodu TCP/IP
Podrazumevani ruter TCP/IP
Prosleđivanje kod klasnog adresiranja TCP/IP
Prosleđivanje kod klasnog adresiranja sa podmrežavanjem TCP/IP
Prosleđivanje kod besklasnog adresiranja TCP/IP
Tabela rutiranja kod besklasnog adresiranja TCP/IP
Agregacija adresa TCP/IP
Poklapanje po najdužoj maski Tabele su sortirane po dužini prefiksa TCP/IP
Hijerarhijsko rutiranje TCP/IP
Rutiranje Rutiranje se odnosi na kreiranje i ažuriranje tabela rutiranja Statičke tabele rutiranja - manuelno popunjava administrator mreže (koriste se u malim mrežama čija se konfiguracija ne menja često) Dinamičke tabele rutiranja - ažuriraju se automatski korišćenjem protokola za dinamičko rutiranje (RIP, OSPF ili BGP). Uvek kada se na Internet desi neka promena, kao što je prestanak rada nekog rutera ili prekid nekog linka, dinamički protokol za rutiranje je odgovoran za automatsko ažuriranje tabela svih rutera. Statičke tabele rutiranja Statičke tabele rutiranja se manuelno popunjavaju. Stavke u tabelu unosi administrator mreže. Nakon što je tabela kreirana, ona se ne može automatski ažurirati (zbog npr. promena nastalih na Internetu). Svaku promenu mora da unese administrator. Statičke tabele se koriste u malim mrežama, čija se konfiguracija ne menja često. Dinamičke tabele rutiranja Dinamičke tabele rutiranja se automatski ažuriraju korišćenjem jednog od protokla za dinamičko rutiranje (RIP, OSPF ili BGP). Uvek kada se na Internet desi neka promena, kao što je prestanak rada nekog rutera ili prekid nekog linka, dinamički protokol za rutiranje je odgovoran za automatsko ažuriranje tabela svih rutera. TCP/IP
Osnovne komponente rutera Struktura rutera Osnovne komponente rutera TCP/IP
Ulazni port TCP/IP
Izlazni port TCP/IP
Krozbar komutator TCP/IP
Banyan komutator TCP/IP
Rutiranje kroz Banyan komutator od ulaza 5 do izlaza 6 (110) Od ulaza 1 do izlaza 6 (110) Od ulaza 5 do izlaza 2 (010) TCP/IP
ARP i RARP Između IP adresa i fizičkih adresa ne postoji direktna veza (nezavisno se dodeljuju) IP adrese su logičke (mrežne) adrese koje se koriste za rutiranje datagrama na Internetu i imaju globalno značenje. Za isporuku okvira preko fizičkog linka koriste se fizičke adrese - lokalni značaj Neophodan je način za preslikavanje IP adresa na fizičke TCP/IP
ARP i RARP TCP/IP
ARP i RARP TCP/IP
ARP TCP/IP
ARP Dve faze: ARP upit ARP odgovor Predajni host emituje ARP okvir koji sadrži traženu IP adresu Okvir primaju svi hostovi u LAN-u, odgovara samo host koji u ARP upitu prepozna svoju IP adresu ARP odgovor Sadrži fizičku adresu hosta tražene IP adrese Šalje se hostu koji je postavio upit TCP/IP
ARP upit ARP upit je broadcast TCP/IP
ARP odgovor ARP odgovor je unicast TCP/IP
Format ARP paketa TCP/IP
Enkapsulacija ARP paketa u Ethernet okvir TCP/IP
Korišćenje TCP/IP
ARP keš ARP keš: Host poseduje tabelu (tzv. ARP keš) kaja sadrži parove adresa (IP adresa, fizička adresa) iz skorašnje primljenih ARP odgovora Ako u bliskoj budućnosti hostu zatreba ista fizička adresa, on će je naći u ARP tabeli, bez potrebe da ponovo šalje ARP upit Stavke u ARP kešu imaju ograničeno trajane ARP keš se popunjava informacijama kako iz ARP odgovora tako i iz ARP upita TCP/IP
RARP Za pronalaženje logičke adrese mašine koja jedino zna svoju fizičku adresu. Koristi se u mrežama čiji hostovi nakon uključena ne znaju svoje IP adrese. IP adrese ˝zna˝ server, a hostovi koriste RARP da bi saznali svoje IP adrese. Danas zastareo protokol TCP/IP
RARP upit TCP/IP
RARP odgovor TCP/IP
IP Sadržaj: Format datagrama Fragmentacija Opcije Kontrolna suma TCP/IP
Pozicija protokola IP u TCP/IP steku
Datagram Paket na nivou sloja IP se naziva datagramom. Datagrami su paketi promenljive dužine i sastoje se iz dva dela: zaglavlje i podaci. Dužina zaglavlja je od 20 do 60 bajta. Zaglavlje sadrži informacije bitne za rutiranje i isporuku datagrama. TCP/IP
Format zaglavlja Fiksni deo (20 bajtova) Promenljivi deo (0 do 40 bajtova) TCP/IP
VRES, HLEN, SERVICE TYPE i TOTAL LENGTH Definiše verziju IP protokola. Aktuelna verzija je 4 (IPv4), kojoj u ovom polju odgovara binarna vrednost 0100. Definiše dužinu zaglavlja izraženu brojem 32-bitnih reči. Minimalna vrednost je 5 (opcije ne postoje), a maksimalna 15 (polje za opcije je maksimalne je dužine) Definiše kako će datagram biti tretiran od strane rutera. Pojedinačni bitovi ovog polja definišu prioritet datagrama, nivo pouzdanosti i kašnjenja koje pošiljaoca datagrama očekuje od rutera. Ruteri najčešće ignorišu ovo polje. Ukupna dužina datagrama izražena u bajtovima. TCP/IP
Multipleksiranje TCP/IP
PROTOCOL TCP/IP
Fragmentacija Format i veličina okvira zavisi od protokla 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. TCP/IP
MTU MTU - Maximum Transfer Unit - najveća jedinica prenosa. Parametar protokola sloja veze koji definiše maksimalnu dužinu polja za podatke u okviru. TCP/IP
Polja zaglavlja bitna za fragmentaciju TCP/IP
FLAGS D: ne fragmentiraj M: ima još fragmenata TCP/IP
FRAGMENT OFFSET Pozicija fragmenta u okviru fragmenta u okviru celokupnog datagrama. Predstavlja pomak (offset) podataka u prvobitnom datagramu izražen u jedinicama od po 8 bajta Pozicija fragmenta u okviru celokupnog datagrama izražena u jedinicama od po 8 bajta. TCP/IP
IDENTIFICATION - jedinstvena identifikacija datagrama Primer fragmentacije IDENTIFICATION - jedinstvena identifikacija datagrama TCP/IP
Sadrži ni jednu, jednu ili više opcija Opcije 0 do 40 bajtova Sadrži ni jednu, jednu ili više opcija TCP/IP
Format opcije TCP/IP
Snimanje putanje IP adrese rutera kroz koje je datagram prošao Ova opcija se koristi za snimanje putanje kojom se datagram prenosi kroz Internet. U polju za podatke ove opcije može se smestiti do devet IP adresa rutera kroz koje je datagram prošao (najviše devet zbog ograničenja dužine polja za opcije na 40 bajta). Izvorni host rezerviše mesta (stavke) u polju za opcije koja će popunjavati ruteri koje datagram poseti. Format ove opcije prikazan je na Sl. 2‑53. Polje pointer ukazuje na prvu slobodnu stavku, tj. sadrži redni broj prvog slobodnog bajta (brojano od početka polja za opcije). Kada datagram napusti izvorni host, sve stavke su prazne, a pointer ima vrednost 4. Svaki ruter koji obrađuje datagram, poredi vrednost pointera sa vrednošću polja za dužinu. Ako je vrednost pointera veća od vrednosti polja za dužinu, polje za opcije je popunjeno, a nova stavka se ne upisuje. U suprotnom, ako u polju za opcije još uvek ima slobodnog prostora, ruter upisuje IP adresu pridruženu mrežnom adapteru kroz koji će datagram biti poslat dalje, počev od pozicije na koju ukazuje pointer i uvećava vrednost pointera za 4. Na ovaj način, analizom zaglavlja na strani odredišnog hosta, može se rekonstruisati putanja kojom je datagram prenesen. TCP/IP
Snimanje putanje - koncept TCP/IP
Striktno rutiranje na izvoru IP adrese rutera kroz koje datagram mora da prođe Ovu opciju može da koristi izvorni host kako bi unapred odredio putanju datagrama kroz Internet, navodeći IP adrese rutera koje datagram mora da poseti. Ako ova opcija postoji u datagramu, svi navedeni ruteri moraju biti posećeni. Ako datagram dospe u ruter koji nije na listi, datagram se uništava, a izvornom hostu se šalje ICMP poruka o grešci. Striktno rutiranje koristi isključivo administratori mreže za testiranje i debagiranje mreže. Za normalni prenos podataka, izbor putanje se prepušta ruterima. Format ove opcije sličan je formatu opcije record route, ali sada stavke popunjava izvorni host IP adresama rutera. TCP/IP
Striktno rutiranje na izvoru - koncept TCP/IP
Približno rutiranje na izvoru Ova opcija je slična opciji striktnog rutiranja na izvoru ali sa nešto blažim zahtevima. Svaki ruter u listi mora biti posećen, ali datagram može posetiti i neke druge rutere. Ova opcija je slična opciji striktnog rutiranja na izvoru ali sa nešto blažim zahtevima. Svaki ruter u listi mora biti posećen, ali datagram može posetiti i neke druge rutere. Format i način korišćenja je sličan kao kod prethodne opcije TCP/IP
Vremenski zapis beleženje vremena kada su ruteri procesirali datagram Za beleženje vremena kada su ruteri procesirali datagram TCP/IP
Vremenski zapis - načini korišćenja IP adrese i vremenski zapisi IP adrese zadate, unose se vremenski zapisi Samo vremenski zapisi TCP/IP
Vremenski zapis - koncept TCP/IP
Kontrolna suma Kontrolna suma predstavlja redundantnu informaciju koja se dodaje paketu radi zaštite od grešaka koje mogu nastati u toku prenosa paketa. Kontrolna suma se izračunava na strani pošiljaoca paketa, a dobijena vrednost se šalje zajedno sa paketom. Prijemnik ponavlja isto izračunavanje nad celim paketom, uključujući i polje za kontrolnu sumu. Ako je rezultat zadovoljavajući, paket se prihvata; ako nije, pakete se odbacuje. TCP/IP
Kontrolna suma - koncept TCP/IP
Kontrolna suma - primer TCP/IP
NAT Tehnika prevođenja adresa (Network Address Translation - NAT) omogućava da se u okviru sajta koriste privatne adrese za loklanu komunikaciju i skup globalnih adresa za komunikaciju sa drugim sajtovima. Preduslov je da sajt mora imati jednu konekciju ka globalnom Interentu posredstvom rutera na kome se izvršava NAT softver TCP/IP
NAT - koncept TCP/IP
Prevođenje adresa TCP/IP
Tabela prevođenja (jedna IP adresa) TCP/IP
Tabela prevođenja (sa pet kolona) Privatna adresa Privatni port Eksterna Eksterni Transportni protokol 172.18.3.1 1400 25.8.3.2 80 TCP 172.18.3.2 1401 . . . TCP/IP
ISP i NAT TCP/IP
ICMP Protokol koji obezbeđuje povratne informacije izvornom hostu o problemima nastalim u toku rutiranja i procesiranja datagrama u mreži. Olakšava dijagnosticiranje kvarova i problema u radu mreže. Takođe, IP ne poseduje podršku za postavljaje upita kojima bi se olakšalo dijagnosticiranje kvarova i problema u radu mreže. Na primer, povremeno se javlja potreba za ispitivanjem da li je neki ruter ili host operativan, ili potreba da se od hosta ili rutera pribave neke specifične informacije. ICMP (Internet Control Message Protocol) je zamišljen kao kompenzacija za pomenute nedostatke IP-a. U suštini, ICMP obezbeđuje povratne informacije o problemima nastalim u mreži. U većini slučajeva ICMP poruku šalje ruter ili odredišni host nazad izvornom hostu kao reakciju na problem nastao prilikom procesiranja datagrama. TCP/IP
Enkapsulacija ICMP poruke TCP/IP
Tipovi ICMP poruka Izveštaji o greškama Upiti Poruke koje šalju ruteri ili hostovi (odredišni) izvornom hostu sa obaveštenjem o neočekivanim događajima u toku procesiranja datagrama. Upiti Poruke upita uvek idu u paru. Hostu šalje upit ruteru ili drugom hostu koji vraćaju odziv sa traženim informacijama TCP/IP
Tipovi ICMP poruka Kategorija Tip Poruka Izveštaji o greškama 3 Nedostupno odredište (DESTINATION UNREACHABLE) 4 Prigušenje izvora (SOURCE QUENCH) 11 Isteklo vreme (TIME EXCEEDED) 12 Problem sa parametrima (PARAMETER PROBLEM) 5 Preusmeravanje (REDIRECTION) Upit 8 ili 0 Eho ili odziv na eho (ECHO / ECHO REPLY) 13 ili 14 Vremenski zapis, zahtev ili odgovor (TIMESTAMP REQUEST / TIMESTAMP REPLY) 17 ili 18 Adresna maska, zahtev ili odgovor (ADDRESS MASK REQUEST / REPLY) TCP/IP
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. Poslednje zajedničko polje (Checksum) se koristi za kontrolnu sumu poruke. Ostatak zaglavlja je specifičan za svaki tip 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. Poslednje zajedničko polje (Checksum) se koristi za kontrolnu sumu poruke. Ostatak zaglavlja je specifičan za svaki tip poruke. TCP/IP
Izveštaji o greškama Nedostupno odredište Prigušenje izvora Isteklo vreme Problem s parametrima Preusmeravanje TCP/IP
Sadržaj polja za podatke izveštaja o greškama greškama, u sekciji za podatke, sadrže zaglavlje IP datagrama koji je izazvao grešku plus 8 bajtova podataka iz tog datagrama Izveštaj o greškama, u sekciji za podatke, sadrže zaglavlje IP datagrama koji je izazvao grešku plus 8 bajtova podataka iz tog datagrama TCP/IP
Nedostupno odredište Šalje ruter kada ne može da locira odredište datagrama, ne može da prosledi datagram sledeć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 namenjeni nije operativan ili kada aplikacioni program koji koristi podatke nije pokrenut Poruku ovog tipa može da pošalje ruter kada ne može da locira odredište datagrama, ne može da prosledi datagram sledećem ruteru (zato hardverskog otkaza mreže ili rutera) 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 namenjeni nije operativan ili kada aplikacioni program koji koristi podatke nije pokrenut TCP/IP
Jedna ICMP poruka ovog tipa se šalje za svaki uništeni datagram 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 A source-quench message informs the source that a datagram has been discarded due to congestion in a router or the destination host. The source must slow down the sending of datagrams until the congestion is relieved. TCP/IP
Isteklo vreme Poruku tipa ˝isteklo vreme˝ šalje ruter nazad izvornom hostu nakon što je uništio datagram kome je isteklo vreme života. Takođe, ICMP poruku ˝isteklo vreme˝ može generisati i odredišni host ako u definisanom vremenu ne primi sve fragmente nekog datagrama Whenever a router decrements a datagram with a time-to-live value to zero, it discards the datagram and sends a time-exceeded message to the original source. TCP/IP
Ukazuje na bajt IP zaglavlja gde je uočen problem Problem s parmetrima Ruter ili odredišni host koji otkrije problem u zaglavlju datagrama, uništava datagram i izvornom hostu vraća ICMP poruku tipa ˝problem sa paremetrima˝ Ukazuje na bajt IP zaglavlja gde je uočen problem Ruter ili odredišni host koji otkrije problem u zaglavlju datagrama, uništava datagram i izvornom hostu vraća ICMP poruku tipa ˝problem sa paremetrima˝ TCP/IP
Preusmeravanje - koncept A host usually starts with a small routing table that is gradually augmented and updated. One of the tools to accomplish this is the redirection message Host, kada počne sa radom, obično sadrži malu tabelu rutiranja koja se postepeno proširuje i ažurira. ICMP poruka za preusmeravanje je od načina kojima se to postiže. TCP/IP
Preusmeravanje - format poruke TCP/IP
Idu u paru: zahtev - odziv. ICMP upiti Eho Vremenski zapis ... Idu u paru: zahtev - odziv. TCP/IP
Eho Poruku eho-zahtev može poslati host ili ruter drugom hostu ili ruteru. Host ili ruter koji primi eho-zahtev kreira poruku tipa eho-odziv i vraća je nazad prvobitnom pošiljaocu Koriste je administratori mreže ili korisnici da bi ustanovili da li dva sistema (hostovi ili ruteri) mogu međusobno komunicirati Echo-request and echo-reply messages can be used by network managers to check the operation of the IP protocol. An echo-request message can be sent by a host or router. An echo-reply message is sent by the host or router which receives an echo-request message. Poruke eho-zahtev i echo-odziv namenjene su dijagnosticiranju problema u mreži. Ove poruke koriste administratori mreže ili korisnici da bi ustanovili da li dva sistema (hostovi ili ruteri) mogu međusobno komunicirati. Poruku eho-zahtev može poslati host ili ruter drugom hostu ili ruteru. Host ili ruter koji primi eho-zahtev kreira poruku tipa eho-odziv i vraća je nazad prvobitnom pošiljaocu TCP/IP
Eho - format poruke polje Identification ukazuje na aplikacioni program koji je poslao eho-zahtev, dok se polje Sequence number uvećava za 1 pri svakom slanju eho-zahteva. Polje za podatke je opciono. Poruka koju pošiljac eho-zahteva upiše u ovo polje, mora u identičnom obliku biti sadržana i u odgovarajućem eho-odzivu Polje Identification ukazuje na aplikacioni program koji je poslao eho-zahtev, dok se polje Sequence number uvećava za 1 pri svakom slanju eho-zahteva. Polje za podatke je opciono. Poruka koju pošiljac eho-zahteva upiše u ovo polje, mora u identičnom obliku biti sadržana i u odgovarajućem eho-odzivu TCP/IP
Vremenski zapis Par ICMP poruka tipa vremenski zapis se koristiti za određivanje vremena prenosa IP datagrama između dve mašine (hostova ili rutera). Takođe, ova vrsta poruke se može koristiti i za sinhronizaciju lokalnih časovnika dve mašine TCP/IP
Vremenski zapis - format poruke Vreme slanja timestamp request poruke (popunjava izvor) Vreme prijema timestamp request poruku (popunjava odredište) Izvor popunjava polje original timestamp (polazni vremenski zapis) vremenom slanja timestamp request poruke. Preostala dva polja popunjava nulama. Odredište kreira timestamp reply poruku. Odredište kopira vrednost iz polja original timestamp u isto polje timestamp reply poruke, a polja receive timestamp i transmit timestamp, popunjava vremenom prijema timestamp request poruku i vremenom slanja timestamp reply poruke, respektivno. Vreme slanja timestamp reply poruke (popunjava odredište) TCP/IP