48

Racunarske mreze - Praktikum

Embed Size (px)

DESCRIPTION

Racunarske mreze - Praktikum

Citation preview

Page 1: Racunarske mreze - Praktikum
Page 2: Racunarske mreze - Praktikum

Datum rada Vježbu ovjerio

Vježba 1

Vježba 2

Vježba 3

Vježba 4

Vježba 5

Page 3: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 3 -

UVOD

Kvalitetno stjecanje znanja i vladanje određenom stručnom materijom oduvijek je bilo usko vezano sa adekvatnom primjenom znanja na rješavanje praktičnih zadataka. Ovaj praktikum ima zadatak upravo to: da kroz niz vježbi omogudi što kvalitetnije i sadržajnije usvajanje stečenih znanja iz predmeta „Računarske mreže“.

Kako bi se ovaj praktikum mogao koristiti i kao samostalno sredstvo za učenje i vježbanje, svaka od navedenih vježbi u praktikumu ima i kratki uvod u kojem se utvrđuju osnovna teorijska znanja potrebna za praktično izvođenje vježbi.

Za uspješno savladavanje svih vježbi potrebno je ozbiljno poznavanje mrežnih tehnologija i protokola koja su sveobuhvatno objašnjena i obrađena u internoj skripti „Računarske mreže“ na kojoj je ovaj praktikum i zasnovan.

Praktikum je sadržajno podijeljen u tri cjeline i ukupno pet praktičnih vježbi. Prvu cjelinu – računarski hardver čini jedna vježba koja ima za cilj upoznavanje učenika sa načelima i pravilima primjene UTP kablova koji se danas najviše i primjenjuju u LAN računarskim mrežama. Drugu cjelinu – izradu mrežne dokumentacije takođe sačinjava jedna vježba a njen zadatak je izrada mrežnog dijagrama za intranet mrežu.

Tredu, najobimniju i teoretski najzahtjevniju cjelinu čine tri vježbe bazirane na osnovama funkcionisanja TCP/IP skupa protokola te je samim time, s obzirom na njegovu ogromnu popularnost, i najvažnija karika u cjelokupnom razumijevanju danas 90% svih računarskih mreža na svijetu.

Page 4: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 4 -

VJEŽBA 1 – POVEZIVANJE RAČUNARA U LAN MREŽU

Zadatak vježbe

Upotreba UTP kablova za fizičko povezivanje mrežnih stanica u LAN mrežu

Razlikovanje između običnog i ukrštenog UTP kabla te provjera njihove ispravnosti

Raspoznavanje razlika između hub i switch uređaja

Razumjevanje emisionih domena u LAN mrežama

Potrebni preduslovi

Za uspješno savladavanje vježbe potrebno je osnovno poznavanje sljededih pojmova:

Mrežni uređaji i njihov način rada – hub, switch i router

UTP kablovi – struktura i primjena

Teorijske postavke

UTP mrežni kabl sastoji se od 4 upletene parice koje se označene odgovarajudim bojama radi lakše vizuelne identifikacije. Raspored parica (odnosno njenih vodiča) unutar UTP kabla za 10 i 100 Mbps Ethernet mrežu definisan je standardima T568B i T568A.

Bakarne žice kablova sa upletenim paricama se ne povezuju zasebno i direktno sa hardverskim mrežnim interfejsom računara (npr. mrežnom Ethernet karticom) ved putem odgovarajudih konektora. Najčešde korišteni tip konektora je RJ (engl. Registered Jack) i on se, u više varijanti, koristi kod telefonskih i računarskih mreža. Kablovi sa upletenim paricama za povezivanje sa računarima koriste RJ-45 konektore.

Tabela 1. Ožičenje UTP kabla prema standardu T568A

Metalni kontakt (pin)

Broj parice Boja vodiča Upotreba kod 10/100 Mbps Etherneta

1 3 zeleno - bijela da – slanje podataka

2 3 zelena da – slanje podataka

3 2 narandžasto - bijela da – primanje podataka

4 1 plava ne

5 1 plavo - bijela ne

6 2 narandžasta da – primanje podataka

7 4 smeđasto - bijela ne

8 4 smeđa ne

Tabela 2. Ožičenje UTP kabla prema standardu T568B

Metalni kontakt (pin)

Broj parice Boja vodiča Upotreba kod 10/100 Mbps Etherneta

1 2 narandžasto - bijela da – slanje podataka

2 2 narandžasta da – slanje podataka

3 3 zeleno - bijela da – primanje podataka

4 1 plava ne

5 1 plavo - bijela ne

6 3 zelena da – primanje podataka

7 4 smeđasto - bijela ne

8 4 smeđa ne

Page 5: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 5 -

Slika 1.1 - Usporedba standarda za ožičenje UTP kablova za 10/100 Mbps Ethernet

Kao što iz priloženih tabela vidimo u računarskim mrežama baziranim na 10/100 Mbps Ethernetu koriste se samo dvije od navedene četiri parice (na pinovima 1, 2, 3 i 6). Bez obzira na to koji se standard koristi, u praksi postoje dvije vrste UTP kablova: obični (engl. straight – through) i ukršteni (engl. crossover). Razlog postojanju različitih vrsta UTP kablova jeste način povezivanja mrežnih uređaja. Obični UTP kabl karakteriše identičan raspored parica (vodiča) na oba RJ-45 konektora, dok je kod ukrštenog UTP kabla zamijenjen redoslijed parica na pinovima 1, 2, 3 i 6.

Slika 1.2 - Usporedba ožičenja straight-throught i crossover UTP kablova za 10/100 Mbps Ethernet

Za ukršteni UTP kabl možemo redi da nastaje kada jedan konektor spojimo prema TIA T568A a drugi prema TIA T568B standardu.

Obični UTP kabl koristimo kada spajamo sljedede uređaje:

PC i hub

PC i switch

router i switch

router i hub

dok ukršteni UTP kabl koristimo kada spajamo:

PC i PC

switch i switch

hub i hub

switch i hub

PC i router

Tabela 3. Upotreba različitih vrsta UTP kabla ( ST – straight-through; CO – crossover)

PC Hub Switch Router

PC, router CO ST ST CO

Hub, switch ST CO CO ST

Page 6: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 6 -

Hub i switch mrežni uređaji često dolaze sa jednim tzv. uplink portom koji im omogudava da se međusobno

spoje i sa običnim UTP kablom. Naime, ovaj port putem odgovarajudeg prekidača može fukcionisati kao

obični ili ukršteni port (ukrštanje pinova unutar samog porta) tako da je mogude spojiti ovaj port sa običnim

portom drugog huba ili switcha običnim (straight-through) kablom.

Noviji hub/switch uređaji dolaze sa auto-uplink funkcijom na svim svojim portovima, eliminirajudi potrebu

za jednim izdvojenim uplink portom i njegovim prekidačem. Pošto svi portovi ovih uređaja automatski

prepoznaju tip priključenog kabla i prilagođavaju se priključenom uređaju, sve konekcije između ovih

portova i portova drugih uređaja mogu se ostvariti straight-through kablovima.

Kategorije UTP kablova i njihova primjena u LAN mrežama Os svih medija za prenos podataka u LAN mrežama svakako najviše korišteni je UTP kabl. Riječ o grupi od

četiri upletene parice koje zajedno sa spoljašnjim omotačem čine kabl1. Danas postoji nekoliko kategorija

UTP kablova (označeni brojevima od 1 do 7) pri čemu UTP kablovi vede kategorije imaju vedi broj upredanja

po jedinici dužine, tako da se redukuje interferencija2 i preslušavanje3 pa se i postižu vede brzine prenosa.

Tabela 4. Kategorije UTP kabla i njihove karakteristike

Kategorija Brzina prenosa Karakteristike kabla

Cat 1 - dizajniran za primjenu u ranim telefonskim sistemima, gdje je prvenstveno bio neophodan prenos glasa. Nije namjenjen za prenos podataka.

Cat 2 4 MbE pravljen za prenos podataka do 4 Mbps; danas se rijetko koristi.

Cat 3 10 MbE za kvalitetne telefonske komunikacije, podržava LAN mreže do 10 Mbps. Pravljen za prenos podataka brzinom do 10 Mbps; često se koristio početkom 90-tih.

Cat 4 16 Mbps pravljen za prenos podataka brzinom do 16 Mbps; koristi se u IBM Token Ring mrežama.

Cat 5 10/100/1000* MbE koristi se u današnjim LAN mrežama gdje predstavlja standard za brzine prenosa do 100 Mbps na rastojanjima do 100 metara.

Cat 5e 10/100/1000 MbE poboljšana verzija Cat 5 kabla (Cat 5 enhanced) za LAN brzine od 1 Gbps u opsegu od 100 metara za koju koristi četiri parice unutar kabla.

Cat 6 10/100/1000 MbE 10* GbE

omogudava brzine prenosa do 1000 Mbps na 100 metara, odnosno do 10 Gbps na kradim rastojanjima.

Cat 6a 10/100/1000 MbE 10 GbE

za brzine prenosa od 10 Gbps na rastojanjima do 100 m.

Cat 7 10/100/1000 MbE 10 GbE/100 GbE(?)

razvijan pod drugim standardizacijskim tijelom od ranijih UTP kategorija. Standard još u fazi razvoja, predviđa se podrška za brzine do 100 Gbps.

NAPOMENA

MbE – označava megabitni Ethernet; 100 MbE označava da kabl može podržati 100 Mbps Ethernet saobradaja.

Brzine označene sa (*) su mogude na kradim rastojanjima (do 10-tak metara) unutar navedene kategorije. Međutim, za veda rastojanja preporučuje se kabl vede kategorije.

1 Za osnovne osobine i primjene UTP kabla pogledati skriptu iz Računarskih mreža.

2 Interferencija – smetnja izazvana spoljašnjim izvorima koja negativno utiče na prenos signala unutar UTP kabla.

3 Preslušavanje – smetnja koju izaziva međusobna blizina parica unutar jednog UTP kabla.

Page 7: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 7 -

Povezivanje računara u LAN

Fizičko povezivanje mrežnih uređaja se ostvaruje tako što se na jedan kraj straight-through UTP kabla

priključi mrežni adapter radne stanice (računara), dok se drugi kraj kabla treba priključiti na uređaj koji vrši

koncentraciju konekcija – switch. Nekada se za svrhu koncentracije konekcija koristio hub, uređaj koji

funkcioniše na fizičkom sloju – višeportni repeater. Transmisiju bitova koju emituje jedna mrežna kartica

(adapter), hub pojača a zatim emituje na sve ostale portove. Iako se radi o različitim kablovima, hub je

omogudavao mrežnim karticama tj. računarima da dijele isti medij kao da su priključeni na isti mrežni kabl.

Mrežne kartice su tada u istom kolizionom domenu.

Kada jedna mrežna kartica emituje bitove, svi fizički kablovi prenose signal. Ukoliko neka druga mrežna

kartica pokuša da emituje, dodi de do kolizije. Osim toga, kaže se da su i sve mrežne kartice odnosno

računari u kojima se nalaze, u istom broadcast domenu jer se i broadcast poruke, namijenjene svima,

emituju preko svih portova. Upotrebom huba je obezbjeđena povezanost računara ali se pojavio problem

vedeg zauzeda prenosnog medija. Preko porta na koji je priključena neka mrežna kartica emituju se bitovi

čak i ako podaci koji su sadržani u njima nisu namijenjeni za tu karticu. Veliki broj računara povezanih

hubovima smanjuje performanse mreže.

Slika 1.1 - Povezivanje računara na hub uređaj

Iako u kablovima postoje parice za prijem i prenos, ako se koristi hub, komunikacija je half­duplex, što je

posljedica činjenice da samo jedna radna stanica može da prenosi podatke u datom trenutku u okviru

jednog kolizionog domena. Danas se za ove namjene koristi switch, uređaj koji radi na podatkovnom sloju.

Ovaj uređaj funkcioniše kao višeportni mrežni most (bridge). Kada radna stanica A šalje okvir podataka za

radnu stanicu B, switch transparentno premosti dva porta na koje su priključeni segmenti kablova radnih

stanica A i B. Na taj način okvir podataka ne zauzima segment medija koji koristi stanica C. Stanica C je

slobodna da istovremeno šalje podatke na primjer stanici D i da pri tome ne dolazi do kolizije.

Kada se koristi switch, iza svakog porta se nalazi novi kolizioni domen. Sa druge strane, poruke namijenjene

svima – broadcast poruke switch prosljeđuje na sve portove, pa su radne stanice još uvijek u istom

broadcast domenu.

Page 8: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 8 -

Slika 1.2 - Povezivanje računara switch uređajem

Iako su performanse mreže na ovaj način poboljšane, radne stanice su još uvijek u istom broadcast

domenu. Veliki broj računara u istom broadcast domenu također smanjuje performanse mreže, jer sve

radne stanice primaju ovakve poruke čak i ako nisu za njih namijenjene. Korištenje switcha umjesto huba je

potpuno transparentno za radne stanice. Ne zahtijeva se nikakva konfiguracija podatkovnog sloja na

računaru zbog zamjene huba switchem. Razlika između navedenih uređaja je u boljim performansama

mreže sa switchevima zbog vede brzine prenosa4, kao i u tome što switch omogudava full­duplex

komunikaciju (izostanak kolizija).

Slika 1.3 - Povezivanje vedeg broja računara routerom

AKTIVNOST 1. FIZIČKO SPAJANJE RAČUNARA U LAN PUTEM UTP KABLA

Na slici 1.4. prikazana je LAN mreža koja se sastoji od određenog broja mrežnih uređaja koje treba

međusobno povezati u funkcionalnu LAN mrežu koristedi UTP kabl. Odrediti potrebnu vrstu UTP kabla (ST ili

CO) i maksimalnu brzinu prenosa podataka (10/100/1000 Mbps) za spajanje prikazanih mrežnih uređaja u

LAN koristedi sljedede kategorije UTP kabla na pojedinim dijelovima mreže.

4 Hub je „ostao“ na 10 Mbps dok switch podržava sve trenutno važede brzine prenosa 10/100/1000 Mbps.

Page 9: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 9 -

Slika 1.4 – Primjer LAN mreže

Na slici 1.5. dat je prikaz LAN računarske mreže koju je potrebno povezati odgovarajudim (samo jednim)

UTP kablom ukoliko je poznato da mrežni interfejsi uređaja sa slike rade na sljededim brzinama:

NIC PC-a: 10/100 Mbps NIC Servera: 10/100 Mbps Switchevi: 10/100/1000 Mbps Hub: 10 Mbps Routeri: 10/100 Mbps

Slika 1.5 – LAN mreža spojena UTP kablovima

Page 10: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 10 -

AKTIVNOST 2. KOLIZIONE I BROADCAST DOMENE LAN MREŽE

Na osnovu prikazanih dijagrama potrebno je odrediti broj kolizionih i broadcast domena za svaku od

prikazanih LAN mreža.

broadcast: __________

collision: __________

broadcast: __________

collision: __________

broadcast: __________

collision: __________

Page 11: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 11 -

VJEŽBA 2 – DIZAJN MREŽNOG DIJAGRAMA

Zadatak vježbe

Odrediti odgovarajudi hardver i dizajnirati jednostavan mrežni dijagram intraneta koji nema vezu sa Internetom

Odrediti odgovarajudi hardver i dizajnirati jednostavan mrežni dijagram intraneta koji ima vezu sa Internetom

Cilj vježbe

Razumijevanje potrebe za kreiranjem mrežne dokumentacije na primjeru dizajna mrežnog dijagrama intraneta u grafičkom alatu MS Visio. Odabir neophodnih hardverskih komponenti za dizajn dva mrežna dijagrama, jednog sa vezom ka Internetu a drugi bez nje. Prepoznavanje sličnosti i razlika između ova dva scenarija.

Teorijske postavke

Microsoft Visio je aplikacija za crtanje poslovnih i prezentacijskih crteža i dijagrama, kao što su: organizacijski dijagrami, dijagrami toka, mrežni dijagrami, organizacija projekata u vremenu, i sl., omogudujudi jednostavnu vizualnu komunikaciju s okolinom.

Grafički interfejs programa Microsoft Visio se sastoji od: trake izbornika, linije sa alatima, statusne trake, prozora sa oblicima različitih grafičkih predložaka (simbola), prozora sa radnom površinom.

Traka izbornika Prozor sa graf. predlošcima Linije sa alatima Prozor radne površine

Grafički predlošci (simboli) Statusna traka

Slika 2.1 – GUI interfejs MS Visio-a

Page 12: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 12 -

Pored uobičajenih alata najvažniji i najčešde korišteni alati programa Microsoft Visio su:

Alat za pokazivanje (Pointer tool) - koji se koristi za pokazivanje, hvatanje, premještanje, označavanje objekata (simbola) crteža,

Line tool – Alat za crtanje ravnih linija,

Arc tool – Alat za crtanje zakrivljenih linija,

Text tool – Alat za upisivanje teksta na odgovarajude dijelove crteža,

Rotation tool – Alat za izvođenje operacija rotacijskog pomicanja objekta oko definirane točke rotacije,

Rectangle Tool – Alat za crtanje pravokutnih oblika,

Shape window – alat koji otvara izbornik za pretraživanje baze grafičkih predložaka (simbola) na temelju unosa naziva traženog predloška (pretraga se vrši upisom imena na engleskom jeziku),

Shapes – Alat kojim se otvara baza grafičkih predložaka (simbola) sortiranih prema različitim namjenama i tehničkim područjima,

Grid – Alat kojim se vrši ubacivanje mreže na radnu površinu,

Bring to Front/Send to Back – Alati za postavljenje selektiranog objekta ispred ili iza nekog neselektiranog objekta u slučajevima kada se objekti preklapaju.

Odabir grafičkih predložaka se vrši na dva načina:

1. Uzimanjem grafičkog predloška (simbola) iz baze predložaka sortiranih prema različitim namjenama (blok dijagrami, dijagrami toka…) i tehničkim područjima (elektrotehnika, računalne mreže, mehanika, automatika…),

2. Korištenjem opcije pretraživanja prema imenu grafičkog simbola (pretraga se vrši upisom imena na engleskom jeziku).

Odabrani grafički predložak se dodaje na radnu plohu označavanjem željenog grafičkog predloška (simbola)

lijevim klikom mišem i njegovim prenošenjem (povlačenjem) na radnu plohu. Postoji mogudnost

pretraživanja baze grafičkih predložaka (simbola) putem Interneta spajanjem na odgovarajude on-line baze

grafičkih predložaka. Program Microsoft Visio sprema kreirane crteže u datoteke koje su definisane

nastavkom .vsd.

Page 13: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 13 -

Da bi se zadaci ispunili, svaki učenik de koristiti neke od sljededih mrežnih komponenata u svakoj od vježbi:

Slika 2.2 – Mrežne komponente

AKTIVNOST 1. Dizajniranje mrežnog dijagrama intraneta

Od hardvera sa slike 2.2, izabrati potrebne mrežne komponente i nacrtati mrežni dijagram Intraneta koji ne

zahtjeva povezanost sa Internetom. Neophodno je na dijagramu nacrtati, obilježiti i na odgovarajudi način

povezati sve potrebne elemente. Povezanost jednog uređaja sa drugim se može nacrtati tako što de se

nacrtati linija između uređaja.

Ova mreža za tri svoja korisnika treba da omogudi sljedede:

1. Korisnici su u mogudnosti da čuvaju i preuzimaju datoteke na jednom mjestu.

2. Korisnici su u mogudnosti da štampaju datoteke u mreži sa bilo koje radne stanice i servera u okviru

mreže.

3. Korisnici imaju pristup internom e-mail sistemu kao i internim Web stranicama koje sadrže aktuelne

vijesti, poslovne dokumente, informacije o zaposlenima i sl..

4. Mreža de imati umrežene klijentske računare kao i nekoliko bežičnih klijentskih računara.

5. Gdje je to mogude koristiti full-duplex komunikaciju između pojedinih komponenti.

6. Nijedan uređaj nije povezan sa Internetom.

Page 14: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 14 -

AKTIVNOST 2. Dizajniranje mrežnog dijagrama intraneta sa vezom ka Internetu

U okviru raspoloživog hardvera, izabrati potrebne mrežne komponente i nacrtati mrežni dijagram Intraneta

koji zahtjeva povezanost sa Internetom. Neophodno je na dijagramu nacrtati, obilježiti i na odgovarajudi

način povezati sve potrebne elemente. Povezanost jednog uređaja sa drugim se može nacrtati tako što de

se nacrtati linija između uređaja.

Ova mreža za tri svoja korisnika treba da omogudi sljedede:

1. Korisnici su u mogudnosti da čuvaju i preuzimaju datoteke na jednom mjestu.

2. Korisnici su u mogudnosti da štampaju datoteke u mreži.

3. Korisnici imaju pristup internom e-mail sistemu kao i poslovnim aplikacijama i bazama podataka

koje u svakodnevnom radu koriste.

4. Full-duplex komunikaciju koristiti samo između servera u okviru mreže.

5. Mreža treba da bude sigurna.

6. Potrebno je imati i Web cache servis na mreži.

7. Svaki uređaj je povezan sa Internetom.

Page 15: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 15 -

VJEŽBA 3 - TCP/IP SKUP PROTOKOLA POD WINDOWS OPERATIVNIM SISTEMIMA

Zadatak vježbe

Fizičko povezivanje računara i raspoznavanje razlika između hub i switch uređaja

Razumijevanje rada Wireshark softvera i osnovnih komponenti njegovog GUI-a

Upoznavanje i korištenje osnovnih komponenti TCP/IP skupa protokola ­ I dio

Potrebni preduslovi

Za uspješno savladavanje vježbe potrebno je osnovno poznavanje sljededih pojmova:

Hijerarhija protokola, OSI model, TCP/IP model.

Način segmentacije podataka na pojedinim slojevima i potrebni preduslovi za uspješnu međuslojnu komunikaciju

Teorijske postavke

Softverski alati za analizu mrežnih protokola

Glavna funkcija softvera za analizu mrežnih protokola (engl. protokol analyzer, packet analyzer, sniffer) je

„hvatanje“ paketa na mrežnom interfejsu, kao i njihov detaljan prikaz radi precizne analize mrežnog

saobradaja. Osobina ovih alata ne leži samo u činjenici posmatranja – prikupljanja mrežnog saobradaja

(binarnih nula i jedinica) ved i mogudnosti prepoznavanja sadržaja i tipa protokola kojima je taj mrežni

saobradaj ostvaren.

Pri ovome treba razjasniti sljedede: ukoliko je u pitanju samo proces posmatranja trenutnog saobradaja kroz

mrežni interfejs riječ je o monitoringu, dok ukoliko se radi o prikupljanju i pohranjivanju paketa jednog

mrežnog interfejsa tokom određenog vremenskog perioda riječ je o loggingu mrežnog saobradaja.

Ovi alati su tokom vremena postali neizostavan resurs velikom broju IT stručnjaka (programeri, Web

programeri, mrežni i sistem administratori i sl.) u njihovom svakodnevnom radu time više što se sve vedi dio

posla IT industrije obavlja putem neke računarske mreže misledi se pri tome prvenstveno na Internet a

onda i na brojne WAN i LAN mreže.

Od velikog broja alata ovog tipa, kojih se s obzirom na važnost funkcije koje obavljaju svakim danom

pojavljuje sve više, vježbe iz ovog praktikuma de se odrađivati na jednom od najpopularnijih predstavnika

ove grupe softverskih alata koji je ujedno i besplatan – Wireshark.

Upotrebna vrijednost ovog programa ogleda se u njegovom širokom opsegu različitih primjena poput:

Rješavanja problema u funkcionisanju računarskih mreža

Dizajniranja i nadgledanja sigurnosti mreže

Dizajniranja i analize implementacije mrežnih protokola

Učenja mrežnih protokola

Osnovne upute za rad sa ovim softverskim alatom biti de date u vježbama koje slijede a za svaku detaljniju

analizu i korištenje velike palete korisnih opcija ovog softvera učeniku se preporučuje brojna literatura na

Internetu.

Page 16: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 16 -

Analiza mrežnog saobradaja

Za analizu mrežnog saobradaja biti de korišten program Wireshark. Ovaj program može da snimi saobradaj

koji dolazi do mrežnog adaptera stanice, a zatim i da ga raščlani na odgovarajude protokole u hijerarhiji.

Uhvaden saobradaj se može snimiti u datoteku i kasnije pregledati.

Po pokretanju Wireshark softvera, korisniku se prikazuje Wireshark GUI prikazan na Slici 3.1.

Slika 3.1 - Glavni prozor Wireshark programa

Wireshark GUI sadrži pet glavnih komponenti:

Komandni meniji predstavljaju skup standardnih padajudih menija lociranih na vrhu Wireshark

prozora koji kroz nekoliko grupa prikazuju sve Wireshark alate. Od posebnog interesa za sada

su File i Capture meni. File meni omoguduje snimanje uhvadenih paketa ili otvaranje datoteka

sa ranije snimljenim paketima, i izlazak iz programa. Capture meni omoguduje snimanje

(hvatanje) paketa.

Na panelu sa listom uhvadenih paketa može se vidjeti redoslijed primljenih paketa. Svaki paket

je označen rednim brojem i oznakom na relativnoj vremenskoj skali od početka snimanja.

Srednji panel – panel sa sadržajem zaglavlja paketa prikazuje detalje (korištene protokole)

paketa trenutno selektovanog na najvišem panelu. Svaki paket je raščlanjen po slojevima.

Pritiskom na plus znak ( ) pored naziva nekog protokola (sa njegove lijeve strane) mogu se

vidjeti detalji ­ kontrolne informacije koje je taj protokol upisao u neki paket. Lista korištenih

protokola počinje sa fizičkim slojem a uključuje podatkovni, mrežni, transportni i aplikacijski sloj

u ovom redoslijedu. Svaki od panela ima sopstvenu scroll bar traku sa desne strane, koju je

ponekad potrebno iskoristi kako bi se vidjeli detalji protokola. Na Slici dole, dat je primjer

jednog paketa i njemu pripadajudi protokola počevši od podatkovnog sloja:

Page 17: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 17 -

Data Link Layer Ethernet II

Network Layer Internet Protocol (IP)

Transport Layer User Datagram Protocol (UDP)

Application Layer Domain Name System (DNS)

Slika 3.2 - Podaci fizičkog sloja u panelu sa sadržajem zaglavlja paketa

Najniži panel sadržaja paketa prikazuje sirov (engl. raw), neraščlanjen sadržaj paketa u

heksadecimalnom i ASCII formatu. Odabirom nekog od korištenih protokola unutar središnjeg

panela, svi podaci relevantni za taj protokol biti de automatski označeni unutar ovog panela.

Odmah ispod komadnog menija nalazi se polje za filtriranje paketa na osnovu kojeg je mogude

filtrirati prikaz paketa samo određenog tipa i njegovog sadržaja u pripadajudim panelima.

AKTIVNOST 1. Konfiguracija Wiresharka i snimanje mrežnog saobradaja

Pokrenite Wireshark aplikaciju preko odgovarajude ikone na desktopu računara. Jednom pokrenut, trebao

bi se pojaviti prozor sličan dole prikazanom:

Slika 3.3 - Wireshark početni prozor bez učitanih/uhvadenih podataka

Prvo, potrebno je aktivirati mrežni interfejs sa kojeg želimo da snimamo saobradaj tj. podatke. Odabrati

„Capture“ meni (Alt+C) a potom „Interfaces“ (I).

Page 18: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 18 -

Slika 3.4 - Osnovne informacije Capture/Interface menija

Po odabiru navedene opcije pojavljuje se sljededi prozor na kojem trebaju biti prikazani svi mogudi (fizički i

logički) mrežni interfejsi računara. Trenutno aktivne interfejse (na kojima je detektovan saobradaj) lako je

prepoznati preko broja poslanih i primljenih paketa unutar istoimenih kolona prikazanih na datom prozoru.

Kada se odredi aktivni interfejs, opciono je mogude prije startanja procesa snimanja paketa odabrati

komandno dugme „Options“ čime nam se daje uvid u konfiguraciju navedenog procesa za dati interfejs,

slika 3.5.

Slika 3.5 - Prozor Capture/Options menija

Ukoliko su postavke interfejsa zadovoljavajude, pritiskom na „Start“ započinje proces snimanja paketa;

zaustavljanje procesa vrši se ili preko tastature (Ctrl+E) ili pomodu komandnih alatki na paleti alatki glavnog

Wireshark prozora.

Snimljeni saobradaj mogude je sačuvati (Ctrl+S ili File meni -> opcija Save) u vidu .cap ili .pcap datoteke kako

bi se naknadno mogao analizirati u ovom ili nekom drugom softveru za analizu mrežnog saobradaja.

Po završetku rada izadi iz aplikacije: File -> Quit, Ctrl+Q itd..

Page 19: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 19 -

AKTIVNOST 2. Analiza snimljenog Wireshark capture file-a

U ovoj aktivnosti demo pogledati snimak saobradaja koji je sačuvan u datoteci V3A2.cap.

1. Sa desktopa računara pokrenuti program Wireshark.

2. U okviru programa Wireshark otvoriti meni „File“, zatim „Open“. U dijalog prozoru za navigaciju

pronadi Wireshark\V3 folder i u njemu datoteku V3A2.cap.

3. Pritisnuti na komandno dugme „Open“.

4. U gornjem panelu selektovati paket broj 1, kako bi se u srednjem panelu prikazao njegov sadržaj.

5. Pregledati demo sadržaj paketa od najviših slojeva ka nižim. U srednjem panelu, pritisnuti na znak

plus pored „Domain Name System (Query)“ kako bi smo vidjeli detalje aplikacijskog protokola koji

se koristio. Ovaj protokol je zadužen za razrješavanje imena hosta u IP adresu hosta. Ovaj paket je

upuden sa klijenta ka DNS serveru. Pritisnuti na plus znak pored „Queries“ kako bi smo uočili koje

ime treba da se razriješi.

6. Pomenuta poruka aplikacijskog protokola se prenosi enkapsulirana u jedinicu podataka protokola

transportnog nivoa tj. segment. Kako DNS protokol koristi UDP kao transportni protokol pogledati

demo njegove detalje: pritisnuti na znak plus pored „User Datagram Protocol“. Ovaj protokol

transportnog nivoa ima zadatak da omogudi multipleksiranje konekcija (veza) na odredišnim

čvorovima. Različiti mrežni softverski procesi na jednom i drugom mrežnom čvoru se identifikuju

brojem porta. Uočiti izvorišni broj porta, koji označava klijentski proces koji šalje upit, i odredišni

broj porta koji označava serverski proces kome je namijenjen upit.

7. Da bi gore navedeni UDP datagram bio uspješno prenesen od računara do računara, kroz (mogude)

vedi broj mreža povezanih routerima, mora biti enkapsuliran u IP paket, na Internet sloju TCP/IP

modela (3. sloj OSI modela). Ovaj sloj dodaje kontrolne informacije koje su bitne za jedinstveno

identifikovanje računara na Internetu: izvorišnu i odredišnu IP adresu. Na osnovu odredišne adrese,

routeri mogu da usmjere paket ka odredištu. Pritisnuti na znak plus pored „Internet Protocol“.

Treba uočiti polja koja su sadržana u kontrolnim informacijama – zaglavlju IP paketa.

Polja imaju značenja:

7.1. „Version“: verzija protokola koja se koristi

7.2. „Header Length“: dužina čitavog zaglavlja u 32­bitnim riječima

7.3. „Differentiated Services Field“: polje od jednog bajta koje se može koristiti za obezbjeđivanje

kvaliteta servisa: različito tretiranje paketa u pogledu kašnjenja, propusnog opsega, i sl. za ovaj

paket.

7.4. „Total Length“: ukupna dužina paketa.

7.5. „Identification“, „Flags“, „Fragment Offset“: Ovaj paket de u toku dalje enkapsulacije biti

zapakovan u okvir na podatkovnom sloju. Taj sloj sa svoje strane ima ograničenje u

maksimalnoj veličini paketa. Cak i kada se ispoštuje zahtjev za ovim ograničenjem, nije sasvim

sigurno da na putu ka odredištu ovaj paket nede morati da prođe kroz mrežu koja nede biti u

stanju prevazidi ovo ograničenje. Posredni uređaji tada fragmentuju paket, i svaki fragment

nastavlja put samostalno. Na dolaznom računaru se svi fragmenti jednog paketa mogu

prepoznati po tome što imaju isti identifikator (polje Identification). Gdje se fragment nalazi u

Page 20: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 20 -

originalnom paketu je naznačeno u polju „Fragment Offset“. Pritisnuti na trougao pored

„Flags“. Ukoliko je postavljena zastavica „More Fragments“ onda se radi o jednom od nizu

fragmenata originalnog paketa. Ukoliko ova zastavica nije postavljena onda se ili radi o

posljednjem fragmentu ili o paketu koji nije fragmentovan (tada je i Fragment Offset 0).

Zastavicu „Don‘t fragment“ može postaviti izvorišni host kako bi zabranio fragmentiranje ovog

paketa. Ukoliko fragmentiranje bude ipak neophodno (a zabranjeno) ovakav paket de biti

odbačen od strane routera koji dobije ovakav nemogud zadatak. Router može da obavijesti

računar da je paket odbačen u tranzitu.

7.6. „TTL ­Time to Live“: predstavlja vrijeme života ovog paketa na Internetu. Paket na putu do

odredišta prolazi kroz vedi broj posrednih uređaja – routera koji ga usmjeravaju ka odredištu.

Svaki router koji proslijedi ovaj paket smanji TTL vrijednost u paketu za 1. Kada vrijednost

postane 0, router mora da odbaci paket. Router može da obavijesti pošiljaoca paketa da je

njegov paket odbačen u tranzitu.

7.7.„Protocol“: navedeno je šta se nosi kao teret, „payload“, ovog paketa. U ovom paketu to je UDP

datagram.

7.8. „Header Checksum“: kontolna suma koja može da otkrije da je paket ošteden. Oštedeni paketi

se tiho odbace bez ikakvog obavještenja.

7.9. „Source“, „Destination“: ovo su logičke, IP adrese koje jedinstveno identifikuju računare na

TCP/IP mrežama, izvorišni i odredišni računar za ovaj paket. To su 32­bitne vrijednosti.

8. Da bi gore opisani paket bio prenesen putem Ethernet medija, koji ima sopstvena pravila za

komunikaciju, potrebno ga je enkapsulirati u okvir podataka koji odgovara protokolu na

podatkovnom nivou. Pritisnuti na plus znak pored Ethernet II kako bi smo vidjeli kontrolne

informacije koje se nose u zaglavlju ovog okvira. Polja imaju značenje:

8.1.„Destination“, „Source“: ovo su odredišna i izvorišna fizička adresa čvorova na istom mediju

(Ethernet). Svaki mrežni adapter na Ethernet mreži ima jedinstven 48­bitni identifikator: fizičku

adresu. Ova adresa se naziva i hardverska ili MAC (Media Access Control) adresa. Ovakva

adresa je hardverski ugrađena u mrežni adapter svake stanice. Prvih 24 bita jedinstveno

identifikuje proizvođača mrežnog adaptera. Preostalih 24 bita proizvođač dodjeljuje svojim

adapterima. Ove adrese imaju samo lokalno značenje, omogudavaju da čvorovi priključeni na

isti ili premošteni medij mogu da razmjenjuju okvire podataka ali na osnovu ovakvih adresa se

ne mogu usmjeravati podaci od jednog do drugog računara na različitim mrežama.

8.2.„Type“: informacija u Ethernet okviru koja nosi informacije o tome šta se nosi kao teret,

„payload“ ovog Ethernet okvira. Heksadecimalna vrijednost 0x0800 označava da je unutar

ovog Ethernet okvira IP paket.

8.3. U gornjem panelu izabrati paket broj 2. Ovo je odgovor servera. Raščlaniti i ovaj paket u

srednjem panelu po slojevima.

9. Ved dio preostalog saobradaja koristi drugi protokol aplikacijskog nivoa (HTTP), koji sa svoje strane

koristi drugačiji protokol transportnog nivoa (TCP umjesto do sada viđenog UDP). TCP protokol

uspostavi logičku vezu prije slanja podataka. Paketi 3, 4 i 5 su dijelovi uspostave veze (three-way

handshake).

Page 21: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 21 -

10. Paket 6 predstavlja HTTP zahtjev klijenta ka udaljenom Web serveru. Izabrati paket u gornjem

panelu. U srednjem panelu izabrati znak plus pored „Hypertext Transfer Protocol“. Uočiti da zahtjev

ima i elemente dogovora oko prezentacije podataka.

11. HTTP zahtjev se prenosi putem TCP protokola. HTTP zahtjev je enkapsuliran u TCP segment. Izabrati

znak plus pored „Transmission Control Protocol“. Uočiti kontrolne informacije koje dodaje ovaj

protokol kako bi obezbjedio pouzdanost i kontrolu toka.

12. Do udaljenog servera TCP segment stiže enkapsuliran u IP paket. Pritisnuti na znak plus pored

„Internet Protocol“ kako bi smo vidjeli kontrolne informacije ovog protokola. Uočiti odredišnu

(destinacijsku) IP adresu udaljenog servera.

13. Pošto je destinacija paketa udaljeni računar na udaljenoj mreži, paket najprije mora da bude

isporučen do posrednog uređaja, routera. Da bi prešao medij između radne stanice i routera, paket

mora biti enkapsuliran u odgovarajudi okvir podataka. Pritisnuti na znak plus pored „Ethernet II“.

Uočiti izvorišnu i odredišnu fizičku, MAC adresu. Izvorišna MAC adresa je identifikator mrežnog

adaptera radne stanice. Odredišna MAC adresa ne pripada udaljenom serveru, ved routeru do

koga treba da bude proslijeđen okvir podataka.

14. Ovako kreiran okvir podataka se prenosi medijem uz odgovarajude kodiranje.

15. Zatvoriti program Wireshark.

AKTIVNOST 3: TCP/IP konfiguracija mrežnog adaptera

Povezivanjem računara na switch, riješeni su:

Problemi povezivanja na fizičkom sloju jer postoji fizička veza između računara i posrednog

mrežnog uređaja - switcha.

Riješen je i problem povezivanja na podatkovnom sloju, jer svaki mrežni adapter ima hardverski

podešenu jedinstvenu fizičku (MAC) adresu koja ga jedinstveno identifikuje, a sam mrežni

adapter implementira neophodnu funkcionalnost pristupa mediju (CSMA/CD).

Kako bi mrežni procesi (aplikacije) na računaru mogli da komuniciraju sa drugim procesima na drugim

računarima potrebno je izvršiti konfigurisanje na tredem sloju. U okviru konfigurisanja tredeg sloja OSI

modela potrebno je računar konfigurisati sa jedistvenom IP adresom.

-- Koristedi Start meni otvoriti prozor Control panela a zatim dvostrukim klikom miša na ikonu mrežne

kartice otvoriti novi prozor sa svojstvima ove mrežne konekcije. U novom prozoru možemo vidjeti

softverske komponente koje su „vezane“ za ovaj adapter. Neke od ovih komponenti implementiraju

aplikacijske protokole (npr. File and Print sharing i sl.), dok komponenta „Internet Protocol (TCP/IP)“

implementira 3. i 4. sloj OSI modela.

Izabrati „Internet Protocol (TCP/IP)“ a zatim pritisnuti na „Properties“.

Za normalno funkcionisanje računara na mreži neophodno je da se konfiguriše IP adresa računara.

Generalno adresa se može dobiti dinamički, uz pomod posebnog servisa koga omogudava DHCP (engl.

Dynamic Host Configuration Protocol) server koji može da postoji u mreži. Drugi način je da se adresa

dodjeli statički, ručno od strane administratora.

Page 22: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 22 -

U ovoj aktivnosti treba podesiti statičku konfiguraciju TCP/IP-a na datom računaru prema uputama

profesora. Dodijeljene vrijednosti TCP/IP parametara su:

IP Address: ______.______._______.______

Ovo treba da bude broj koji jedinstveno identifikuje računar na TCP/IP mreži.

Subnet Mask: _____.______._______._______

U gore prikazanoj IP adresi postoji hijerarhija dva dijela. Jedan dio adrese predstavlja adresu mreže a drugi

adresu hosta (računara) na toj mreži. Maska označava koji bitovi adrese predstavljaju mrežni a koji host dio.

Default Gateway: _____.______._______._______

Ovo je adresa interfejsa routera koji ovu mrežu, ovaj broadcast domen povezuje sa drugim mrežama.

Prefered DNS server: _____.______._______._______

Predstavlja adresu DNS servera, zaduženog da ime računara, npr. www.etstuzla.edu.ba razriješi u IP adresu

računara kako bi mogla da se odvija komunikacija na 3. sloju OSI modela.

Pritisnuti na OK, zatim OK, a zatim Close.

AKTIVNOST 4: Verifikacija TCP/IP parametara mrežnog adaptera

1. Unutar Windows OS GUI-a odabrati Start, pa zatim na Run.

2. U Run polju unijeti: cmd

3. Pritisnuti na OK, kako bi smo pokrenuli komandni prozor

4. Jednostavna verifikacija IP adrese računara se vrši komandom ipconfig. Unijeti ipconfig i pritisnuti

Enter. Provjeriti da li su prikazane informacije odgovarajude prema vrijednostima iz prethodne

aktivnosti.

5. U komandnoj liniji unijeti ipconfig /all kako bi smo dobili više informacija.

6. Uočiti ime računara (engl. host name) – ________________

7. Uočiti fizičku adresu (engl. Physical Address) – ________________________

(To je fizička adresa Ethernet adaptera koja je neophodna za pristup mediju na Ethernet mrežama.)

8. Da li je IP adresa dobijena od DHCP servera ili statički konfigurisana? ______________________ (DHCP enabled parametar)

9. Ukoliko su konfigurisani, navesti DNS servere za dati mrežni adapter _______________________

_______________________

Page 23: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 23 -

PROVJERA USVOJENOG ZNANJA

Analizirati sadržaj V3PZ1.cap datoteke u kojem je snimljen sadržaj paketa u komunikaciji računara sa HTTP

serverom na nekoj Web adresi i odgovoriti na sljededa pitanja!

1. Napiši MAC adresu mrežnog adaptera računara! ________________________________________

2. Za paket broj 10:

Koja je odredišna MAC adresa Ethernet okvira? _________________________________________

Na kojem čvoru (uređaju) se nalazi mrežni interfejs sa ovom MAC adresom?

_______________________________________________________

3. Napiši redni broj paketa u kojem se nalazi odgovor Web servera na HTTP zahtjev klijenta!

___________________________________

U navedenom paketu, koja je izvorišna MAC adresa?

Web servera

host računara

defaultnog gatewaya

_________________

4. Koje su heksadecimalne vrijednosti izvorišne i odredišne adrese u Ethernet okviru koji sadrži ARP zahtjev?

_____________________________________

_____________________________________

5. Da li ARP poruka sadrži IP adresu pošiljaoca? Ako sadrži, napiši njenu vrijednost!

__________________________________________________________________

Pod kojim parametrom se u stvari unutar ARP zahtjeva zapravo i formuliše pitanje – Ethernet

adresa uređaja koji ima zahtjevanu IP adresu?

Napiši naziv ovog parametra!

_______________________________________________________________

6. ARP paketi unutar date datoteke prikazuju ARP zahtjev generisan od strane računara i odgovor na

postavljeni zahtjev od strane računara sa traženom MAC adresom. Međutim, postoji barem još

jedan računar na mreži. Kako glasi njegova MAC i IP adresa?

MAC adresa: ________________________

IP adresa : ________________________

U nastavku snimljenih paketa vidimo da ne postoji zabilježen odgovor na njegov ARP zahtjev, zašto?

_________________________________________________________________________________

_________________________________________________________________________________

Page 24: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 24 -

VJEŽBA 4 – RJEŠAVANJE PROBLEMA SA TCP/IP SKUPOM PROTOKOLA

Zadatak vježbe

Upoznavanje i korištenje osnovnih komponenti TCP/IP skupa protokola – II dio

Upotreba Wiresharka za analizu rada dijagnostičkih alata na TCP/IP mrežama

Razumjevanje rada Etherneta i funkcija ARP protokola

Razumjevanje funkcija ICMP poruka kreiranih dijagnostičkim programima (Ping, Tracert, Pathping), formata i sadržaja ICMP poruka

Potrebni preduslovi

Za uspješno savladavanje vježbe potrebno je osnovno poznavanje sljededih pojmova:

Hijerarhija protokola, OSI model, TCP/IP model.

Zadatak i funkcionalnost fizičkog, podatkovnog, mrežnog, transportnog i aplikacijskog sloja

Osobine Ethernet tehnologije i njena pozicija unutar slojevitih struktura navedenih modela

Način segmentacije podataka na pojedinim slojevima i potrebni preduslovi za uspješnu međuslojnu komunikaciju

Princip rada i način korištenja softvera za analizu mrežnih protokola (Wireshark)

AKTIVNOST 1. Provjera funkcionisanja IP protokola Postoji uobičajena procedura za provjeru funkcionisanja IP protokola na računaru i otkrivanje problema. Procedura se oslanja na jednostavnu komandu – ping. Ova dijagnostički alat, dostupan na svim operativnim sistemima omogudava da se na proizvoljnu adresu pošalju posebne poruke: ECHO REQUEST. Računar koji primi ovakvu poruku odgovara sa ECHO REPLY porukom. Ukoliko računar dobije odgovor na svoju ECHO poruku može se zaključi da između dva računara mreža funkcioniše na 1., 2., i 3. sloju OSI modela. Za slanje poruka se koristi protokol pod nazivom ICMP (engl. Internet Control Message Protocol) koji funkcioniše na 3. sloju OSI modela.

U komandnoj liniji unijeti: ping <127.0.0.1> Ovo je adresa takozvane lokalne petlje (engl. loopback), softverski implementiranog interfejsa na svakom računaru koji ima instaliran TCP/IP. Ukoliko se ne dobiju nikakvi ECHO odgovori to znači da IP protokol nije instaliran na računaru.

U komandnoj liniji unijeti: ping <ip_adresa_lokalnog_računara> odnosno ping na sopstvenu IP adresu. Ukoliko se ne dobiju ECHO odgovori, to bi moglo da sugeriše da IP protokol nije vezan za mrežni adapter, zbog pogrešne konfiguracije ili fizičkog kvara adaptera.

U komandnoj liniji unijeti: <ping ip_adresa_default_gateway-a> Za ovaj korak bi se mogla koristiti bilo koja adresa u lokalnoj mreži (npr. adresa susjednog računara) a obično je to IP adresa podrazumjevanog mrežnog prolaza (engl. default gateway). Ovaj korak provjerava povezanost računara u lokalnoj mreži. Ukoliko se ne dobiju ECHO odgovori to bi moglo da znači da postoji problem sa vezom ovog računara na mrežu.

U komandnoj liniji unijeti: ping <10.0.0.5> predstavlja adresu nekog računara na drugoj mreži. Ukoliko se dobiju ECHO odgovori možemo znati da je konfigurisani podrazumjevani mrežni prolaz ispravan.

U komandnoj liniji unijeti: ping <www.etstuzla.edu.ba> ukoliko se u ping komandi referišemo na ime računara i dobijemo ECHO odgovor, posredno znamo i da razrješavanje imena uz konfigurisani DNS server funkcioniše.

Page 25: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 25 -

Obratiti pažnju i na odgovore na Ping. Prikazano je povratno vrijeme (engl. Round Trip Time) i TTL vrijednost koja je poslata u paketima. Poslije četiri odgovora prikazano je i minimalno, maksimalno i prosječno povratno vrijeme kako i procenat izgubljenih paketa.

Pogledati ostale opcije Ping komande sa ping /? komandom.

Pingovanje udaljenog računara – poruke o grešci

Ukoliko Ping prema računaru na nekoj bližoj ili daljoj mreži ne uspije, mogude su četiri poruke o greškama:

TTL Expired in Transit

Broj potrebnih skokova (čvorova) da bi se stiglo do odredišta vedi je od vrijednosti TTL koju je računar pošiljalac postavio za slanje paketa.

Potrebno je povedati TTL koristedi opciju ping –i (max. do 255)

Destination Host Unreachable

Lokalni ili udaljeni računar nema put do željenog odredišta.

Ukoliko poruka glasi „Destination Host Unreachable“ znači da ne postoji putanja od lokalnog računara i da paketi koje treba poslati nisu ni postavljeni na prenosni medij.

Ako poruka glasi „Replay from <IP adresa>: Destination Host Unreachable“ znači da je do problema u preusmjeravanju paketa kroz mrežu došlo na routeru čija je IP adresa navedena u poruci.

Request Timed Out

U podrazumjevanom vremenskom intervalu od 1 sekunde nije primljen ICMP odgovor Echo Replay. Razloga ima više: zagušenje mreže, neuspjeh ARP zahtjeva, filtriranje paketa, greška u rutiranju itd..

Najšečde ova poruka znači da odredišni računar ili neki od routera (mogude i defaultni gateway odredišnog računara) „ne zna“ put nazad ka računaru koji je inicirao ping.

Zagušenje mreže može se prepoznati ako jednostavno produžimo vrijeme čekanja koristedi ping –w opciju (u milisekundama).

Unknown host Zahtjevano ime računara ne može se prevesti u IP adresu. Potrebno je provjeriti da li je ime mrežnog čvora pravilno napisano i da li su dostupni DNS serveri.

PROVJERA USVOJENOG ZNANJA

-- Kako glasi naredba koja de poslati dva pinga, svaki po 1450 bajtova na adresu 172.16.100.5 ?

________________________________________________________

Prema svojoj podrazumjevanoj vrijednosti Ping čeka jednu sekundu na odgovor prije nego obustavi

čekanje. Ako je udaljeni računar koji se pinguje povezan linkom koji podrazumjeva veliko kašnjenje (npr.

satelitski link), odgovor de se čekati i duže.

-- Napisati Ping naredbu koja de čekati 4 sekunde na odgovor sa IP adrese 10.0.0.19 !

__________________________________________________________

Page 26: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 26 -

AKTIVNOST 2. ARP protokol

U toku prethodne aktivnosti, sa računara smo slali IP pakete do drugih računara u kojima kao izvorišna IP

adresa bila navedena IP adresa našeg računara, a kao odredišna, adresa koju smo naveli u Ping komandi.

Za prenos IP paketa preko Ethernet mreže potrebno je na podatkovnom sloju unijeti dodatne kontrolne

informacije na postojedi paket – izvorišnu i odredišnu fizičku adresu. Svaka Ethernet kartica zna sopstvenu

fizičku adresu. Odredišna adresa se dinamički, po potrebi otkrije uz pomod ARP (engl. Address Resolution

Protocol) protokola. ARP je neophodan na broadcast mrežama sa višestrukim pristupom kakav je Ethernet.

Na serijskim, tačka­tačka (engl. point-to-point) vezama ARP se ne koristi.

Za svaki odlazedi paket sa nekog mrežnog interfejsa ARP protokol uspoređuje odredišnu IP adresu sa

zapisima u svom kešu pokušavajudi pronadi fizičku adresu koja pripada odredišnoj IP adresi. Ukoliko takav

zapis postoji, koristi se MAC adresa iz keša, ako ne, ARP protokol šalje na sve lokalne adrese (broadcast)

ARP okvir za zahtjevom kojim traži da vlasnik odredišne IP adrese odgovori svojom MAC adresom, šaljudi pri

tome i svoj par IP/MAC adrese kako bi traženi računar (mrežna kartica) znala kome da uputi odgovor.

Kada se dobije ARP odgovor, ARP keš se ažurira novim informacijama i koristi se za adresiranje paketa na

podatkovnom sloju.

Kako bi se smanjila količina broadcast poruka, jedno određeno vrijeme se ova mapiranja parova adresa

keširaju u memoriji računara, kako slanje novog paketa ne bi izazvalo novu broadcast poruku.

1. U komandnoj liniji unijeti: ping 192.168.3.100, kako bi smo poslali paket na adresu u LAN mreži.

2. U komandnoj liniji unijeti: arp ­a.

Prikazuje se arp keš: mapiranje IP/MAC adresa za računare sa kojima su nedavno razmjenjeni paketi.

3. Kompletan ARP keš se može izbrisati. Unijeti: arp ­d *

4. Provjeriti da li je arp keš prazan, unijeti arp ­a

5. Ponovo poslati nekoliko paketa: ping 192.168.3.100

6. Slanje paketa je zahtjevalo novi arp zahtjev i odgovor, koji je sada keširan. Provjeriti sa: arp ­a.

7. Pogledati ostale opcije arp komande sa arp /?. Uočiti i da se arp tabela može statički napuniti.

Na Slici 4.1 je prikazan primjer ARP zahtjeva. Pored polja u Ethernet okviru u koji je ARP zahtjev

enkapsuliran, kao u pored polja u samom ARP zahtjevu nalaze se objašnjenja.

Slika 4.1 - ARP zahtjev

Page 27: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 27 -

Pošiljalac je naveo sopstvenu fizičku adresu i IP adresu. ARP je poslan kao broadcast poruka, koju de primiti

svi računari u broadcast domenu. Potražuje se fizička adresa računara sa IP adresom 89.216.220.1.

Po prijemu ove broadcast poruke, taj računar de mapiranje izvorišnog računara (00:15:f2:45:53:d4 ­>

89.216.221.122) staviti u svoju ARP tabelu. Pošto mu je poznata fizička adresa prvog računara, nema

potrebe da se za odgovor koristi broadcast.

Na Slici 4.2 je prikazan odgovor. Uočiti da je odgovor stigao na unicast adresu.

Slika 4.2 - ARP odgovor

AKTIVNOST 3. Tracert

Predstavlja pomodni program za provjeravanje putanje kojom paket putuje na svom putu od izvorišnog

računara do odredišta. Rezultat ove programa je lista interfejsa svih routera kroz koje je paket prošao na

svom putu ka odredištu. Koristedi TTL polje u ICMP poruci Echo Request i ICMP poruku Time Exceeded,

Tracert je u mogudnosti odrediti putanju od izvora do odredišta kroz međusobno povezane IP mreže.

NAPOMENA

Neki routeri ne vradaju Time Exceeded poruku za pakete sa nultim TTL vrijednostima te su kao takvi

„nevidljivi“ za Tracert. U tom slučaju, red zvjezdica (*) se prikazuje za taj čvor.

Slanje paketa iz jednog sistema u drugi Tracert označava kroz skokove (engl. hops), gdje svaki mrežni čvor

kroz koji paket prolazi predstavlja jedan skok.

Svaki red tabele predstavlja informacije dobijene od čvora na putanji između izvorišnog čvora i odredišta.

Slika 4.3 - Tracert program daje tabelarni prikaz mrežnih čvorova na putanji do odredišta

Page 28: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 28 -

Prva kolona u izlaznoj tabeli (broj 2 na slici 4.3) prikazuje potreban broj skokova (čvorova) do odredišnog

računara. Druga, treda i četvrta kolona (broj 3 na slici 4.3) prikazuje Round-trip time – RTT parametar u

milisekundama za svaki ICMP paket u setu. Ovaj parametar nam govori koliko vremena je potrebno paketu

da od izvorišta dođe do određenog čvora i nazad. Tracert uvijek šalje tri paketa ka odredištu kako bi se

dobilo što realnije RTT vrijeme. Svaka RTT vrijednost za pojedini čvor do 500 milisekundi smatra se

prihvatljivom.

Peta kolona (broj 4 na slici 4.3) daje pregled IP adresa (a po mogudnosti i domenskih adresa) za svaki čvor

na putanji do odredišta.

KAKO RADI TRACERT?

Kao što smo iz Aktivnosti 1. vidjeli, Ping softver šalje ICMP zahtjev „Echo Request“ na određenu IP adresu i

čeka ICMP odgovor „Echo Replay“ sa te IP adrese. Na osnovu broja primljenih odgovora i vremenskog

perioda od slanja zahtjeva do dobijanja odgovora Ping pravi izvještaj o stanju IP konekcije prema nekom

računaru unutar TCP/IP mreže.

Da bi smo razumjeli način na koji Tracert program radi, neophodno je razumjeti značaj TTL (engl. Time to

live) polja unutar zaglavlja svakog IP paketa. Vrijednost ovog polja predstavlja u stvari maksimalno vrijeme

trajanja IP paketa na mreži. Njegovu vrijednost postavlja pošiljalac IP paketa (prije nego li pošalje paket) da

bi ga svaki čvor (router ili host) na putu ka odredištu reducirao za određeni iznos. Ukoliko vrijednost TTL

polja padne na nulu prije nego li paket stigne na svoje odredište, paket se odbacuje a ICMP poruka o grešci

(„Time Exceeded“) šalje se nazad pošiljaocu paketa. Svrha ovog polja je izbjegavanje situacija u kojima paket

koji je nemogude dostaviti odredištu beskonačno kruži mrežom, sprječavajudi time mogudnost zagušenja

mreže ovim „besmrtnim“ paketima. Teoretski gledano, TTL parametar se mjeri u sekundama (tačnije

milisekundama), mada svaki čvor kroz koji paket prolazi na svom putu ka odredištu dekrementira njegovu

vrijednost za jedan.

Na slici 4.4 prikazan je princip rada programa Tracert koji se izvršava na računaru A a prati putanju do

računara B. Program radi tako što vrijednost TTL-a za svaki sljededi ICMP paket Echo Request povedava za

jedan i čeka na ICMP poruku Time Exceeded. Vrijednost TTL-a u Tracert paketu počinje od jedan i svaki put

se povedava za jedan. Paket koji Tracert pošalje putuje svaki put jedan skok (čvor) dalje.

Slika 4.4 - Princip rada Tracert programa

Na routerima 1 i 2 TTL se smanjuje na nulu, što dovodi do slanja ICMP poruke „Time Exceeded“. Kao ICMP

paket „Echo Request“ stigne do računara B, on vrada ICMP paket „Echo Replay“.

Page 29: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 29 -

AKTIVNOST 4. Pathping

Alatka PathPing u kojoj se kombinuju funkcije Ping i Tracert alatki uz dodatne informacije koje ne pruža

nijedna od tih alatki, služi za provjerivanje putanje. PathPing jedno određeno vrijeme šalje pakete svakom

routeru na putu do konačnog odredišta i zatim izračunava rezultate na osnovu paketa vradenih sa svakog

routera. Pošto PathPing prikazuje stepen gubitka paketa na svakom routeru ili vezi, tačno se može odrediti

koji routeri ili veze izazivaju probleme na mreži.

Postoji niz opcija koji se može pogledati pomodu pathping /? komande.

Na sljededoj slici prikazan je primjer izvještaja PathPing komande. Primjetimo da zbirna statistika iza liste

skokova znači gubitak paketa na svakom pojedinačnom routeru.

D:\>pathping -n corp1

Tracing route to corp1 [10.54.1.196]

over a maximum of 30 hops:

0 172.16.87.35

1 172.16.87.218

2 192.168.52.1

3 192.168.80.1

4 10.54.247.14

5 10.54.1.196

Computing statistics for 125 seconds...

Source to Here This Node/Link

Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address

0 172.16.87.35

0/ 100 = 0% |

1 41ms 0/ 100 = 0% 0/ 100 = 0% 172.16.87.218

13/ 100 = 13% |

2 22ms 16/ 100 = 16% 3/ 100 = 3% 192.168.52.1

0/ 100 = 0% |

3 24ms 13/ 100 = 13% 0/ 100 = 0% 192.168.80.1

0/ 100 = 0% |

4 21ms 14/ 100 = 14% 1/ 100 = 1% 10.54.247.14

0/ 100 = 0% |

5 24ms 13/ 100 = 13% 0/ 100 = 0% 10.54.1.196

Trace complete.

Slika 4.5 - Primjer Pathping naredbe

Kada se pokrene program PathPing, prvo se prikazuje putanja koja se testira. To je ista putanja koju de

prikazati Tracert. PathPing zatim prikazuje poruku da je zauzet narednih 125 sekundi (ovo vrijeme zavisi od

broja skokova, potrebno je oko 25 sekundi po skoku-čvoru). Za to vrijeme PathPing prikuplja informacije od

svih prethodno navedenih routera i linkova između njih. Na kraju tog perioda prikazuju se rezultati testa.

Dvije posljednje kolone na desnoj strani – „This Node/Link, Lost/Sent = %“ i „Address“ – sadrže najkorisnije informacije. Link između 172.16.87.218 i 192.168.52.1 gubi 13 procenata paketa, dok svi drugi linkovi rade normalno. Routeri na skokovima 2 i 4 takođe gube pakete adresirane na njih, ali to ne utiče na njihovu sposobnost rutiranja saobradaja koji nije direktno namijenjen njima.

Procenti gubitaka prikazani za linkove (oznaka „“ u posljednjoj koloni) označava gubitak paketa koji se

prosljeđuju duž te putanje a predstavlja zagušenje linka. Procenti gubitaka za routere (njihova IP adresa u

posljednjoj koloni) mogu da znače da su na tim routerima procesori ili bufferi preopteredeni. Ovi zagušeni

routeri mogu da utiču na sveukupne performanse, pogotovo ako pakete prosljeđuju softverski routeri.

PROVJERA USVOJENOG ZNANJA Analizirati sadržaj V4PZ1.cap datoteke u kojem je snimljen sadržaj paketa prilikom korištenja Tracert

dijagnostičkog alata na računaru sa pokrenutim Wireshark softverom. Odgovoriti na sljededa pitanja!

1. Napiši IP adresu mrežnog interfejsa izvorišnog (host) računara! _____________________________

Napiši IP adresu mrežnog interfejsa odredišnog računara! __________________________________

Page 30: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 30 -

2. Zašto ICMP paketi nemaju izvorišni i odredišni broj porta? _________________________________

_________________________________________________________________________________

3. Pogledaj bilo koji „Echo Request“ ping paket poslan od strane hosta.

Napiši vrijednosti ICMP Type _______________ i Code _____________ polja.

Napiši koja još sve polja postoje i navedi njihovu veličinu u bajtima!

____________ (ime_polja) _______ (br. bajta)

____________ (ime_polja) _______ (br. bajta)

____________ (ime_polja) _______ (br. bajta)

____________ (ime_polja) _______ (br. bajta)

4. Kako glasi IP adresa iz Tracert naredbe koja za rezultat daje navedene pakete unutar posmatrane capture datoteke? ______________________________________________

Napiši IP adresu mrežnog čvora koji se nalazi na udaljenosti od 6 „skokova“ od polazne tačke (host računara): _____________________________________

5. Napiši naredbu koja de rezultirati TTL expired in transit greškom poslana sa drugog čvora na putu do

računara sa IP adresom 195.222.32.10! __________________________________________________________________

Navedi koji link ima najvede kašnjenje u komunikaciji sa web adresom www.asianet.co.th _______________________________________________________________

6. Na slici je prikazan rezultat Pathping naredbe. Protumači dobijene rezultate !

_________________________________________________________________________________

_________________________________________________________________________________

Page 31: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 31 -

VJEŽBA 5 - TRANSPORTNI I APLIKACIJSKI SLOJ TCP/IP SKUPA PROTOKOLA

Zadatak vježbe

Upoznavanje i korištenje osnovnih komponenti TCP/IP skupa protokola – III dio

Razumjevanje rada transportnog i aplikacijskog sloja TCP/IP skupa protokola

Upotreba Wiresharka za analizu rada TCP i HTTP protokola na TCP/IP mrežama

Potrebni preduslovi Za uspješno savladavanje vježbe potrebno je osnovno poznavanje sljededih pojmova:

Hijerarhija protokola, OSI model, TCP/IP model

Zadatak i funkcionalnost fizičkog, podatkovnog, mrežnog, transportnog i aplikacijskog sloja

Način segmentacije podataka na pojedinim slojevima i potrebni preduslovi za uspješnu međuslojnu komunikaciju

Princip rada i način korištenja softvera za analizu mrežnih protokola (Wireshark)

Teorijske postavke vježbe Transportni sloj TCP/IP skupa protokola Na transportni sloju TCP/IP modela možemo uočiti dva protokola, TCP (engl. Transmission Control Protocol)

kao i UDP (engl. User Datagram Protocol). Ova dva protokola se nalaze ispod aplikacijskog sloja, što znači da

ovi protokoli obezbjeđuju usluge aplikacijskim protokolima iznad, odnosno omogudavaju da se poruke i

podaci aplikacija prenesu preko mreže. Sa druge strane, ovi protokoli koriste usluge Internet sloja ispod

sebe, odnosno IP protokola, koji omogudava da se ispravno adresirani paketi usmjere od jednog do drugog

hosta na Internetu. TCP i UDP se međusobno razlikuju po pitanju servisa koji mogu da ponude aplikacijama,

ali postoje i funkcionalnosti koje su iste za oba protokola:

• segmentiranje

protokoli aplikacijskog sloja, kao što su HTTP, SMTP i drugi generišu podatke, poruke protokola, koje su

nezavisne od mrežne infrastrukture koja se koristi za prenos tih poruka. Internet, je zasnovan na

komunikaciji sa komutacijom paketa. Zadatak transportnog sloja je da podatke aplikacije, niz bajtova

podijeli u upravljivije jedinice podataka – segmente koji se mogu prenijeti mrežom sa komunikacijom

paketa. Transportni sloj segmentima dodaje i svoje zaglavlje, odnosno kontrolne informacije koje su

neophodne za ispravno funkcionisanje transportnog sloja. Tako kreirani segmenti se dalje predaju Internet

sloju, gdje se pakuju u IP pakete, adresiraju i usmjeravaju ka odredišnom hostu.

• multipleksiranje konverzacija, identifikacija softverskog procesa

sama IP adresa (sa mrežnog sloja) je dovoljna da jedinstveno identifikuje host na Internetu, ali ne i izvor ili

odredište podataka na samom hostu ­ softverski proces, tj. klijentsku ili serversku aplikaciju koja je izvor

podataka na samom hostu. Operativni sistemi, generalno omogudavaju istovremeno izvršavanje više

aplikacija. Na klijentskoj radnoj stanici je mogude istovremeno pokrenuti, na primjer: web pretraživač,

klijent elektronske pošte i klijent za razmjenu instant poruka. Na serveru je mogude istovremeno pokrenuti,

na primjer: Web server, FTP server i SSH server. U oba slučaja imamo situaciju da host (server ili klijent) ima

višestruke konverzacije sa drugim hostovima.

Page 32: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 32 -

Kada segmenti enkapsulirani u pakete pristignu na host, potrebno ih je razvrstati prema tome za koji

softverski proces su namijenjeni: da li je pristigao zahtjev za web stranicom ili zahtjev za udaljenom

prijavom za ssh server, da li je stigao odgovor od servera elektronske pošte, ili nova instant poruka. Kako bi

se identifikovali izvori i odredišta poruka sa samih hostova, odnosno softverski procesi koji iniciraju ili

odgovaraju na zahtjeve, transportni sloj uvodi oznake, brojeve portova, koje se navode u zaglavljima

segmenata. Kada segment stigne na odredišni host, na osnovu broja porta se identifikuje softverski proces

kome su namijenjeni prispjeli podaci.

Brojevi portova (port numbers)

Kao što je ved navedeno, postoje dva protokola, TCP i UDP, koji nude različite servise aplikacijama. Neke

aplikacije koriste TCP dok drugima odgovara servis koji nudi UDP. U oba slučaja, na transportnom nivou se

uvodi broj porta kao oznaka softverskog procesa, klijentske ili serverske aplikacije, koja je izvor ili odredište

za segmente transportnog sloja.

Na primjer, kada se na klijentskoj radnoj stanici pokrene Web pretraživač, i zahtjeva stranica od Web

servera, poruke aplikacijskog protokola (u ovom slučaju GET poruka HTTP protokola) de biti enkapsulirane u

TCP segmente, u kojima de biti navedene oznake softverskih procesa koji su uključeni u konverzaciju: broj

porta koji identifikuje klijentski pretraživač kao izvorišni port, i broj porta koji identifikuje Web server, kao

odredišni port. Portove možemo da posmatramo kao „adrese“ na transportnom sloju, odnosno kao TSAP –

Transport Service Access Point, pristupna tačka servisa transportnog nivoa. Kako bi segmenti bili uspješno

isporučeni, broj porta koji identifikuje željeni serverski proces mora biti unaprijed poznat prije slanja

segmenata. U zavisnosti od programskog interfejsa koji je korišten za aplikacijski protokol, moguda su dva

načina dodjeljivanja broja porta serverskom procesu i informisanja klijenata o portu koji se koristi.

Brojevi portova za serverske i klijentske aplikacije

Kod vedine aplikacijskih protokola koji se danas koriste na Internetu koristi se sockets ­ programski interfejs,

koji predstavlja kombinaciju IP adrese servera i broja porta koji koristi serverska aplikacija (na primjer, HTTP

ili SMTP server) na tom serveru. Za uobičajene aplikacijske protokole TCP/IP-a registrovani su „dobro

poznati“ (engl. well known) brojevi portova, koji su unaprijed poznati klijentima. Evidenciju o registrovanim

portovima za aplikacije vrši organizacija IANA (engl. Internet Assigned Numbers Authority). Spisak

registrovanih portova je dostupan na svakom operativnom sistemu.

Za broj porta je ostavljeno 16­bitno polje u zaglavljima segmenata, pa broj porta može da uzme vrijednost

od 0­65535. Svi mogudi portovi su podijeljeni u opsege:

0­1023: dobro poznati portovi, (well known ports)

Ovi brojevi portova su registrovani za uobičajene aplikacijske protokole TCP/IP-a. Na primjer, za Web servis,

odnosno HTTP protokol je rezervisan TCP port 80. Na osnovu ove činjenice, zahtjevi ka Web serveru de

uvijek biti enkapsulirani u TCP segment u kome je kao odredišni port naveden port 80. Zbog toga korisnik

koji koristi pretraživač ne mora da navede broj porta servera. Tehnički je izvodljivo konfigurisati server da

radi sa ne podrazumijevanim portom, ali u tom slučaju bi korisnik morao unaprijed da zna o kom portu se

radi i da daj port navede u svom pretraživaču. Na vedini operativnih sistema samo administrator računara

može da pokrede aplikacije koje koriste ove portove. Klijentske aplikacije nikada ne koriste ove portove.

Page 33: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 33 -

1024­41951: registrovani portovi

Ovi portovi su registrovani za serverske aplikacije koje nisu sasvim uobičajene ili nisu otvoreni standard

nego aplikacije u vlasništvu pojedinih organizacija. Primjeri bi bili MS SQL server ili PostgreSQL server, Lotus

Notes ili slični. Dodjela ovih portova nije pod kontrolom IANA, ali ih ova organizacija ipak registruje za

potrebe informisanja. Generalno, sem navedenih serverskih aplikacija i klijentske aplikacije mogu da koriste

ove portove. Na jednom hostu samo jedna aplikacija može da koristi dati port, ali na primjer, ukoliko na

hostu nije instaliran MS SQL server, nema nikakve prepreke da Web pretraživač koristi port koji je

registrovan za MS SQL.

41952­65535: dinamički portovi

Generalno samo klijentske aplikacije koriste ove portove. Tačan opseg dinamičkih portova razlikuje se od

jednog OS-a do drugog ali princip iza kojeg stoje, ostaje isti: ukoliko pod nekim OS-om dvaput uzastopno

pokrenemo neki od Web pretraživača ili istovremeno otvorimo dva prozora jednog pretraživača, vjerovatno

de u ta dva slučaja biti korištena dva različita porta unutar navedenog opsega.

Socketi (sockets)

Za svaki od transportnih protokola (TCP i UDP) možemo definisati socket, odnosno par – IP adresa/broj

porta koji jedinstveno identifikuje softverski proces (mrežnu aplikaciju) i host na kome je proces pokrenut.

Ovako definisani socketi su krajnje tačke komunikacije na transportnom sloju. Svaka serverska aplikacija

po pokretanju kreira TCP ili UDP socket (u zavisnosti od tipa serverske aplikacije).

Kreiranje socketa znači da na datoj IP adresi i na datom (dobro poznatom portu) serverski aplikacijski servis

očekuje segmente koje de stidi sa socketa (par IP adresa klijenta/port > 1023) koji je otvorila klijentska

aplikacija. Na primjer: kada se na serveru pokrene softverski proces Web servera, on kreira ­ otvori socket

na IP adresi servera na dobro poznatom portu 80. Kada klijent na svojoj radnoj stanici pokrene Web

pretraživač i u adresnom polju pretraživača unese adresu servera, Web pretraživač otvori socket na IP

adresi klijenta na portu vedem od 1023, na primjer 39536. Krajnje tačke komunikacije na transportnom

nivou su dva socketa.

Jedan socket se može koristiti za više istovremenih komunikacionih veza. Drugim riječima, dvije ili više veza

mogu završavati na istom socketu. Veze se raspoznaju prema identifikatorima socketa na oba kraja veze

(socket1, socket2).

Sve TCP konekcije su full-duplex i point-to-point (tj. unicast) tipa. Protokol TCP ne podržava multicast i

broadcast komunikaciju.

Usluge koje TCP i UDP nude aplikacijskom sloju se razlikuju, pa su i socketi ova dva protokola razlikuju. TCP

nudi pouzdanu uslugu sa uspostavljanjem veze, pa TCP socketi imaju svoje stanje, u smislu da li je TCP

konekcija ostvarena, ili je u toku ostvarivanje odnosno prekid konekcije. Osim toga ukoliko je konekcija

ostvarena poznat je i drugi socket, na udaljenom hostu koji je drugi kraj veze. UDP servis ne poznaje

uspostavu konekcije, pa UDP socket nemaju posebno stanje.

Page 34: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 34 -

AKTIVNOST 1. Pregled registrovanih portova Iako nepotpun, spisak najčešde korištenih portova koje je registrovala organizacija IANA dostupan je i na

računaru. Na Windows operativnim sistemima spisak registrovanih portova nalazi se u datoteci

C:\windows\system32\drivers\etc\services. U pitanju je običan tekstualna datoteka koja se može pogledati

bio kojim programom za prikaz ili editovanje teksta (npr. „Notepad“). Na Linux operativnom sistemu spisak

se nalazi u datoteci /etc/services.

Na računaru sa Windows operativnim sistemom, pronadi navedenu datoteku i otvoriti je koristedi program

Notepad. Ovaj editor teksta nam između ostalog, omogudava pretraživanje tekstualnih datoteka. Pretražiti

demo datoteku kako bi smo našli port za WWW servis. Odabrati naredbu Find iz padajudeg menija Edit ili

shortcut putem tastature Ctrl+F, unijeti u prikazani prozor www i pritisnuti Enter. Pretraživanje datoteke

nastavljamo ponovnim pritiskom na tipku Enter sve dok se ne pronađe red u tekstu koji izgleda kao:

„80/TCP www www-http“. Iako se to u slučaju spiska portova na Windows operativnim sistemima ne može

uvijek primijetiti, IANA ima praksu da se za dati aplikacijski protokol registruju i odgovarajudi TCP i UDP

port, čak i ako aplikacijski protokol ne koristi oba transportna protokola.

Potražiti demo portove koje koriste protokoli za servis elektronske pošte: SMTP, POP3 i IMAP. Pretraživanje

vršimo kao i u prethodnom slučaju. Ukoliko se traženi uzorak naziva protokola ne pronađe u smjeru

pretraživanja potrebno je u prozoru za odabir teksta pretrage promijeniti smjer pretraživanja u stavci

„Direction“.

PROVJERA USVOJENOG ZNANJA

Napisati registrovane portove za sljedede protokole:

FTP ______________; HTTPS _______; Telnet ______.

Potražiti i napisati brojeve portova za protokole koji nisu dio TCP/IP familije ali su registrovani:

MS SQL Server _____________; RADIUS authentication ________;

Page 35: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 35 -

AKTIVNOST 2. Pregled socketa na lokalnom računaru Netstat dijagnostički program prikazuje statistike protokola i trenutne TCP/IP konekcije sa i prema drugim

mrežnim uređajima. Na komandnoj liniji upišite netstat –a da bi se prikazale sve konekcije i portovi na

kojima se te konekcije uspostavljaju. Opcija –n upuduje Netstat da ne prevodi adrese i brojeve portova u

imena, čime se ubrzava izvršavanje. Mogude je kombinovati različite opcije-prekidače (engl. switches)

unutar jedne komande. Na slici 5.1 je prikazan primjer komande netstat –a –n.

Slika 5.1 - Primjer netstat naredbe

Broj iza dvotačke je u stvari broj porta koji konekcija koristi. Kolone na slici govore same za sebe, potrebno

je jedino pojasniti četvrtu kolonu State koja predstavlja trenutno stanje konekcije po pojedinoj adresi i

portu (tj. socketu). Postoji vedi broj (tačnije 10) mogudih stanja konekcije od kojih demo izdvojiti samo neke:

LISTENING Server je spreman za prihvatanje konekcije

ESTABLISHED Uspostavljena konekcija sa udaljenim hostom

CLOSED Zatvorena konekcija prema udaljenom hostu.

CLOSE_WAIT Server je u procesu raskida konekcije prema klijentu

TIME_WAIT Klijent je u procesu raskida konekcije prema serveru

Pogledati ostale opcije netstat komande sa netstat /? naredbom. PROVJERA USVOJENOG ZNANJA

Napisati naredbu koja de pored svih socketa prikazati i PID vrijednosti procesa koje te sockete koriste!

_____________________________________

Napisati naredbu koja de prikazati samo aktivne TCP konekcije: ___________________________________

Napisati naredbu koja prikazuje statistiku UDP protokola: ________________________________________

Page 36: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 36 -

TCP PROTOKOL Oba transportna protokola se bave segmentacijom i u zaglavljima svojih segmenata unose izvorišni i

odredišni (destinacijski) broj porta koji identifikuju krajnje tačke komunikacije na transportnom nivou. Sem

ove sličnosti, UDP i TCP se veoma razlikuju po servisima koje nude.

TCP protokol ima zadatak da obezbjedi pouzdanu komunikaciju sa kraja na kraj sa uspostavom veze

(engl. connection orientated end to end communications), kontrolom toka (engl. flow control), otkrivanjem

grešaka i duplikata i oporavkom od grešaka (engl. reliability).

Pouzdan prenos (preko mrežne infrastrukture koja koristi nepouzdanu komunikaciju sa komutacijom

paketa) se postiže dodavanjem brojeva sekvence (engl. sequence numbers) segmentima koji se šalju i

slanjem potvrdnih poruka za primljene segmente.

Usluga koju TCP nudi aplikacijskim protokolima je prenos niza bajtova (engl. byte stream) i brojeva sekvenci

u segmentima navode gdje se bajtovi iz segmenta nalaze u originalnom nizu bajtova. Strana koja šalje

segmente očekuje potvrdu za poslane segmente, koja obično i stigne sa druge strane ukoliko su bajtovi

uspješno primljeni. Ukoliko potvrda ne stigne, po isteku timera, vrši se retransmisija.

Uspostava konekcije (three-way handshake)

TCP je konekciono-orijentisani protokol – zahtjeva uspostavu konekcije prije prenosa podataka

Prije transmisije podataka, dva komunicirajuda hosta prolaze kroz proces sinhronizacije da bi uspostavili virtualnu konekciju.

Ovaj sinhronizacioni proces osigurava da i jedna i druga strana budu spremne za prenos (transmisiju) podataka i omogudavaju uređajima da odrede početne brojeve sekvenci.

Nakon slanja informacije, oba učesnika trebaju da eksplicitno zatvore konekciju.

Proces uspostavljanja TCP konekcije naziva se trostruko usklađivanje (engl. three-way handshake), Slika 5.2.

Slika 5.2 - TCP three-way handshake

Prvo, jedan host inicira konekciju tako što šalje sinhronizacioni paket (SYN) pokazujudi svoj inicijalni

(početni) broj sekvence x, sa odgovarajudim bitom u zaglavlju (header) postavljenim tako da pokazuje da je

to zahtjev za uspostavljanjem konekcije (engl. connection request). Zatim, drugi host prima paket, zapisuje

broj sekvence x, odgovara sa potvrdom x + 1 (ACK), i uključuje svoj vlastiti inicijalni broj sekvence y. Broj

potvrde x + 1 znači da je host primio sve oktete (bajte podataka) do x, uključujudi i x, te da sljedede očekuje

x + 1 (Slika 5.2). Na kraju, inicirajudi host odgovara sa jednostavnom potvrdom (ACK) y + 1 (broj sekvence

hosta B uveličan za 1), pokazujudi tako da je primio prethodni ACK, što završava proces konekcije.

Page 37: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 37 -

Windowing i veličina prozora Količina podataka koja treba biti transmitovana je često suviše velika da bi bila poslana u samo jednom

segmentu podataka. U tom slučaju, podaci moraju biti razbijeni u manje dijelove da bi omogudili transmisiju

podataka.

TCP je odgovoran za razbijanje/dijeljenje podataka u segmente.

Jednom kada su podaci segmentirani, moraju biti transmitovani do odredišnog uređaja.

Jedan od servisa koje pruža TCP je kontrola toka, koja reguliše koliko je podataka poslano

za vrijeme datog perioda transmisije.

Proces kontrole toka je poznat kao upravljanje prozorima ili windowing.

Slika 5.3 - Jednostavno upravljanje prozorima

Veličina prozora određuje količinu podataka koji mogu biti transmitovani odjednom, prije primanja potvrde

od odredišta. Na primjer, sa veličinom prozora 1, svaki pojedinačni segment mora biti potvrđen prije slanja

sljededeg segmenta.

TCP koristi klizedi prozor (engl. sliding window) kada određuje veličinu transmisije. Klizedi prozor

omogudava uređajima da pregovaraju o veličini prozora, da bi omogudili slanje više od jednog segmenta za

vrijeme samo jedne transmisije (Slika 5.4).

Slika 5.4 - TCP klizedi prozor

Page 38: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 38 -

Brojevi sekvence

TCP razbija podatke u segmente.

Segmenti sa podacima koji se šalju moraju biti ponovno sastavljeni kada su svi podaci primljeni.

TCP primjenjuje brojeve sekvence na segmente podataka koje šalje, tako da prijemnik bude u stanju da na odgovarajudi način ponovno sastavi bajte prema njihovom prvobitnom redoslijedu.

Brojevi sekvence (engl. sequence numbers) se također ponašaju kao referentni brojevi tako da prijemnik

može znati da li je primio sve podatke. Oni također identificiraju nedostajude pakete podataka predajniku

tako da može ponovno poslati pakete koji nedostaju (Slika 5.5).

Ovakav način rada pruža povedanu efikasnost, jer predajnik treba samo ponovo poslati nedostajude

segmente umjesto cijelog skupa podataka.

Slika 5.5 - TCP brojevi sekvenci i potvrdni brojevi

Potvrdni brojevi Pouzdani prenos garantuje prenos podataka od jednog ka drugom mrežnom uređaju bez dupliciranja ili

gubitka podataka prilikom prenosa.

Problem sa nepouzdanim IP protokolom je što nema metode provjere kojom se može odrediti da li su

segmenti podataka dostigli odredište. Na taj način, segmenti podataka mogu biti konstantno prosljeđivani

bez znanja da li su primljeni.

TCP koristi pozitivnu potvrdu sa retransmisijom (engl. Positive Acknowledgment with Retransmission –

PAR) da bi omogudio pouzdani prenos podataka. Ova tehnika koja garantuje pouzdan prenos podataka

zasniva se na slanju indikacije (potvrde) od strane odredišta ka izvorišu da su podaci primljeni. Indikator je u

stvari posebna zastavica (tj. vrijednost polja) unutar zaglavlja segmenta – ACK zastavica. Kod ove metode

izvorište pravi zapis o svim poslanim TCP segmentima i za njih očekuje ACK vrijednost.

Bolja efikasnost se postiže ukoliko je izvorištu dozvoljeno da pošalje više segmenata prije prijema potvrde.

TCP koristi mehanizam klizedih prozora – prijemnik signalizira predajnoj strani koliko okteta može da

pošalje prije nego što mora da sačeka na potvrdu prijema. Na ovaj način se može vršiti i kontrola toka

saobradaja: opteredeni odredišni uređaj može signalizirati izvorištu manju veličinu prozora kako bi usporio

prenos.

Page 39: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 39 -

Pored ovoga, izvorište pokrede timer prilikom slanja svakog od segmenata, a zatim čeka potvrdu prije slanja

sljededeg segmenta. Ako timer istekne prije nego što izvorište primi potvrdu, izvor retransmituje paket i

ponovno starta timer. Brojevi potvrda se odnose na sljededi oktet koji se očekuje.

Raskid konekcije

Postoje dva načina završavanje konekcije:

Asimetrično – bilo koja od strana u komunikaciji može raskinuti konekciju

Simetrično – svaka od strana u komunikaciji mora zasebno raskinuti konekciju

S obzirom da TCP protokol omoguduje full-duplex komunikaciju (postoje dva odvojena toka podataka, po

jedan u svakom smjeru) on koristi simetrično raskidanje konekcije.

Zatvaranje konekcije se vrši tako što se šalje TCP segment sa setovanim (postavljenim na 1) FIN bitom u

zaglavlju segmenta. Ovaj FIN segment zatvara transfer podataka samo u jednom smjeru. Druga strana de

potvrdi prijem FIN segmenta pomodu ACK segmenta ali de nastaviti slati ostatak podataka koje treba da

pošalje. Po završetku prenosa i ona šalje takođe TCP segment sa setovanim FIN bitom koji de biti potvrđen

sa ACK segmentom.

Konekcija se stvarno raskida kada su zatvorena oba smjera komunikacije. Dok su za uspostavljanje veze bila

potrebna 3 segmenta, za raskid veze su potrebna 4 segmenta: po jedan FIN i ACK segment za svaki smjer.

Kao što oba sagovornika spuštajudi slušalicu istovremeno mogu da raskinu telefonsku vezu, tako i obje

strane TCP konekcije mogu istovremeno da pošalju FIN segment. Ti segmenti se potvrđuju na uobičajen

način i konekcija se prekida. Nema, u stvari, bitne razlike između situacija u kojima računari konekcije

raskidaju jedan za drugim ili istovremeno.

TCP A TCP B

FIN, seq=46

ACK, seq=47

FIN, seq=243

ACK, seq=244

PODACI

Slika 5.6 - Terminacija (raskid) TCP konekcije

Da bi se izbjegli problemi oko prijema ACK segmenata, koriste se tajmeri. Ako odgovor na FIN segment ne

stigne unutar određenog vremenskog intervala, pošiljalac FIN segmenta raskida konekciju. Druga strana de

najzad primijetiti da je više nitko ne sluša, pa de se i ona automatski isključiti. Iako opisano rješenje nije

savršeno, ono ipak zadovoljava kada se ima u vidu da se savršeno rješenje teoretski ne može ni postidi.

U praksi se problemi na ovom polju rijetko sredu.

Page 40: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 40 -

AKTIVNOST 3. Analiza snimljenog TCP saobradaja

Analizu demo izvršiti na osnovu snimljenog saobradaja unutar jedne IM (engl. instant messaging) sesije

između klijenta sa adresom 192.168.0.100 i servera sa adresom 192.168.0.102. Na primjer, MSN ili Yahoo!

IM aplikacija na serveru započinje Voice chat sesiju a IM aplikacija na klijentu šalje serveru blok podataka

veličine 8 Kb. Cjelokupna ostvarena komunikacija između računara nalazi se u datoteci „V5A3.cap“.

Potrebno je pokrenuti Wireshark i otvoriti navedenu datoteku.

1. Prvi relevantni paketi su sa brojem 1 i 2. To su ARP zahtjev klijenta i odgovor servera.

2. Kao što nam je od ranije poznato, TCP je protokol sa uspostavom veze, pa je prije prenosa podataka

neophodno da klijent uspostavi TCP konekciju sa serverom. IM aplikacija na serveru otvorila je

socket na portu 5001 pri čemu je socket u pasivno otvorenom stanju (LISTEN), u smislu da aplikacija

očekuje konekcije klijenata.

3. Paketi 3, 4 i 5 su dio uspostave konekcije – trostrukog usklađivanja. Konekciju inicira klijent sa

adrese 192.168.0.100. Potrebno je selektovati paket broj 3 kako bi smo pogledali detalje TCP

segmenta.

4. U paketu 3 otvoriti granu „Transmission Control Protocol…“ uočiti izvorišni i odredišni port. Izvorišni

port je nasumično odabrani port vedi od 1023, dok je odredišni port 5001, najčešde korišteni port za

Voice chat IM aplikacije.

5. Unutar istog paketa uočiti polje „Sequence Number“. To je inicijalni broj sekvence za oktete koje de

klijent slati serveru. Wireshark može ove brojeve prikazati u stvarnoj ili relativnoj vrijednosti.

Relativna vrijednost znači prikaz broja koji se računa kao broj poslanih okteta od početka uspostave

konekcije (tj. 0) a stvarna vrijednost je 32 bitna vrijednost koju klijent proizvoljno određuje prije

početka komunikacije. Ukoliko nije drugačije podešeno, stvarni inicijalni broj sekvence je prikazan

heksadecimalno u donjem polju ekrana: (94F22EBE)16 je u stvari (2498899646)10.

6. U paketu 3 otvoriti granu „Flags“ kako bi smo pogledali postavljene zastavice. Uočiti da je jedina

postavljena zastavica „SYN“ (engl. Synchronize). Samo segmenti kojima se uspostavlja veza imaju

ovu zastavicu postavljenu. Klijent je dakle izabrao inicijalni broj sekvence i pokušava da to

sinhronizuje sa drugom stranom. Nakon slanja segmenta sa postavljenom Syn zastavicom, i socket

klijenta je otvoren, u stanju SYN-SENT: poslan SYN segment.

7. Još uvijek u paketu 3 uočiti polje „Window Size“. Ovo je veličina klizedeg prozora koji navodi ovaj

host kao prijemnik, odnosno ovaj host je spreman da primi ovaj broj bajtova prije slanja potvrde o

prijemu.

8. U paketu 3 otvoriti granu „Options“. Uočiti da su korištene i dodatne opcije TCP protokola:

predajnik navodi i željenu maksimalnu veličinu pojedinačnog segmenta (bez zaglavlja) – MSS

(engl. Maximum Segment Size).

9. Otvoriti paket 4 i pogledati detalje TCP segmenta. Ovaj segment je drugi u proceduri trostrukog

usklađivanja. Segment potiče sa servera, pa je sada izvorišni port 5001 dok je odredišni port 2240.

Po prijemu SYN segmenta, server bira svoj inicijalni broj sekvence koji pokušava da sinhronizuje sa

klijentom.

10. U paketu 4 uočiti i polje potvrdnog broja (engl. acknowledgment number). U ovom polju server

navodi koji sljededi oktet očekuje sa druge strane. Naveden je broj 1, što znači da je server primio

sve oktete podataka zaključno sa nultim (relativna vrijednost) i da očekuje prvi. U stvari nulti oktet

nije ni stigao jer inicijalni SYN segment nije prenosio nikakve podatke (Len = 0), ali inicijalni SYN

segment konzumira jedan broj sekvence.

Page 41: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 41 -

11. U paketu 4 otvoriti polje „Flags“. Uočiti da su postavljene zastavice SYN i ACK. SYN je postavljena jer

server pokušava da sinhronizuje svoj inicijalni broj sekvence, dok je ACK postavljena kako bi server

potvrdio prijem segmenta iz paketa broj 3. Po prijemu SYN segmenta i slanju SYN, ACK segmenta,

serverski socket je u stanju SYN-RECEIVED.

12. U paketu 4 uočiti da je i server naveo svoju veličinu klizedeg prozora.

13. U paketu 4 otvoriti granu „Options“. Uočiti da je i server naveo maksimalnu prihvatljivu veličinu

pojedinog segmenta.

14. Selektovati paket 5, i otvoriti detalje TCP segmenta. Ovaj segment potiče od klijenta. Pošto je u

paketu 3 inicirao konekciju slanjem SYN segmenta, i u paketu 4 dobio potvrdu za svoj inicijalni broj

sekvence, socket klijenta je u stanju ESTABLISHED, odnosno veza od klijenta do servera je otvorena.

TCP omogudava dva nezavisna smjera komunikacije i ostaje da i klijent potvrdi inicijalni broj

sekvence servera.

15. U paketu 5 uočiti izvorišni i odredišni port kao i broj sekvence (sada je to 1, jer prethodni, u paketu

3 je bio nulti; SYN segment je konzumirao jedan broj sekvence kao da je poslan jedan bajt

podataka).

16. U petom paketu uočiti potvrdni broj naveden kao broj 1. Klijent ovim signalizira serveru da su okteti

zaključno sa nultim primljeni i da se očekuje prvi. I u ovom slučaju, SYN segment sa servera je

iskoristio jedan broj sekvence.

17. Otvoriti granu „Flags“ u paketu 5. Uočiti da je postavljena zastavica „ACK“. Time klijent signalizira

da potvrđuje prijem okteta do onog navedenog u polju potvrdnog broja.

18. Kada server primi ovaj tredi segment, odnosno potvrdu svog inicijalnog broja sekvence, i njegov

socket prelazi u stanje ESTABLISHED, odnosno veza je uspostavljena.

19. Prvi bajtovi podataka se šalju u sljededim segmentima. Selektovati paket broj 6 kako bi smo

pogledali njegove detalje. Ovaj paket potiče od klijenta ka serveru. Broj sekvence prvog bajta

podataka je 1 a ima ukupno 1460 bajta.

20. Paket 7 predstavlja sljededi blok okteta koji se od klijenta šalju serveru. Primijetimo promjenu broja

sekvence u paketu koji se šalje serveru. Kako je prethodni paket sadržavao 1460 bajta podataka,

broj sekvence je sljededi broj okteta koji se šalje odnosno 1461.

21. Izabrati paket 8. Ovo je paket od servera ka klijentu. Uočiti izvorišni i odredišni port kao i potvrdni

broj postavljen na 2921. Server signalizira da je primio 2920 okteta u paketima 6 i 7, i da očekuje

2921 oktet.

22. U paketima 9, 10 i 11 klijent nastavlja da šalje oktete serveru. Uočiti kako se sa svakim paketom i

poslanim brojem bajta mijenja broj sekvence u paketima.

23. Paket 12 šalje server klijentu kako bi mu potvrdio prijem paketa 9 i 10 ali ne i paketa 11. To se može

zaključiti iz potvrdnog broja u ovom paketu 5841 (umjesto 7301 koji bi bio potvrda i 11-tog paketa).

Konkretno u paketu 12 server samo potvrđuje klijentu oktete iz paketa 9 i 10 i ne šalje svoje oktete

jer je logika aplikacije takva da se očekuje poruka aplikacijskog protokola sa klijenta – server

trenutno nema šta da pošalje.

24. Izabrati paket 13. Ovo je paket od klijenta ka serveru. Otvoriti granu sa detaljima TCP protokola.

Iako nije primio potvrdu za prethodno poslani segment, paket 11, klijent može da nastavi da šalje.

Klijent smije to radi jer mu je server signalizirao veličinu prozora (window size) koja još nije

ispunjena. Veličina prozora označava količinu bajta koji mogu da budu još uvijek nepotvrđeni u

transportu. Veličina prozora se može dinamički mijenjati u toku konekcije. Njom svaki host oglašava

svoju spremnost za prijem i mijenjanjem veličine prozora može uticati na brzinu predaje podataka.

Page 42: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 42 -

25. U paketu 13 otvoriti granu „Flags“, uočiti da su postavljene tri zastavice: „FIN“, „PSH“ i „ACK“. Osim

što služi kao indikator uspješnog prijema paketa, zastavica „ACK“ obično je uvijek postavljena da

signalizira normalno odvijanje komunikacije. U ovom slučaju, s obzirom da nema paketa čiji prijem

treba potvrditi ova se zastavica koristi da se naznači da de veza ostati i dalje uspostavljena. Takođe,

ACK zastavica se koristi i za vrijeme uspostavljanja i prekidanja TCP konekcija. „PSH“ zastavica se

koristi u slučajevima kada se želi prijemniku naznačiti potreba da se preneseni podaci odmah

dostave aplikacijskom sloju bez ikakvog zadržavanja u odredišnom TCP bufferu. Obično se postavlja

po završetku prenosa podataka ili u slučaju kada je potrebno signalizirati prijemniku da treba

odmah proslijediti podatke odredišnoj aplikaciji ne čekajudi na prijem novih podataka (npr.

interaktivne aplikacije).

26. TCP protokol ima i proceduru za prekid konekcije. Generalno se svaki smjer konekcije (od servera ka

klijentu i od klijenta ka serveru) može zatvoriti nezavisno. Kao i otvaranje, i zatvaranje konekcije

obično inicira klijent. Zatvaranje konekcije se inicira na zahtjev klijentske aplikacije slanjem

segmenta u kome je postavljena zastavica „FIN“ (paket 13). Klijentski socket prelazi u stanje FIN-

WAIT1.

27. U paketu 14 server potvrđuje prijem segmenta iz paketa 13. Primijetiti da je potvrdni broj takav kao

da je u paketu 13 bilo 893 a ne 892 bajta podataka kao što je u paketu naznačeno. Radi se o tome

da se „FIN“ segment tretira kao bajt podataka odnosno kao jedan broj sekvence.

28. U paketu 15 server potvrđuje prekid klijentske strane veze postavljajudi „ACK“ zastavicu pri čemu

serverski socket prelazi u stanje CLOSE-WAIT (server se priprema za zatvaranje) a klijentski u stanje

FIN-WAIT2 (klijentska strana zatvorena, očekuje se i da server zatvori svoju stranu konekcije).

29. U paketu 15 server je spreman da prekine svoju stranu veze, pa postavlja „FIN“ zastavicu u

segmentu i serverski socket prelazi u stanje LAST-ACK.

30. Klijent u paketu 16 potvrđuje zatvaranje serverske strane konekcije i prelazi u stanje TIME-WAIT.

Još neko vrijeme konekcija na klijentu ostaje otvorena (dva maksimalna vremena života segmenta)

prije negoli se zatvori. Primijetiti da je potvrdni broj 2 a ne 1 zbog toga što je FIN segment u 15

paketu iskoristi jedan broj sekvence.

31. Po prijemu paketa serverska strana može da zatvori svoju stranu komunikacijske veze.

NAPOMENA

Klijentska aplikacija šalje jedan blok podataka veličine 8192 bajta. Međutim, zbog ograničenja maksimalne

veličine segmenta, kreirano je nekoliko TCP segmenata.

Tačnije, potrebno nam je 8192/1460=5,61 odnosno 6 TCP segmenata za prenos svih podataka aplikacijskog

sloja.

Zašto je MSS u posmatranoj mreži veličine 1460 bajta? Zašto nije vedi?

Ako se podsjetimo, maksimalna veličina Ethernet okvira iznosi 1518 bajta5. Od toga, 14 bajta pripada

zaglavlju i 4 bajta začelju okvira (CRC suma) a 1500 je maksimalna veličina podataka mrežnog sloja – MTU

(engl. Maximum Transmission Unit). Od 1500 bajta, na zaglavlje IP paketa otpada 20 bajta i 1480 na

maksimalnu veličinu podataka transportnog sloja. Na transportnom sloju koristi se TCP protokol čije

zaglavlje je veličine 20 bajta tako da za podatke aplikacijskog sloja ostaje 1460 bajta što i predstavlja

maksimalnu veličinu podataka unutar segmenta. Računicom

1518 – 18 (Eth.) – 20 (IP) – 20 (TCP) = 1460

5 IEEE 802.3.ac standard objavljen 1998. godine proširio je max. veličinu okvira na 1522 bajta kako bi omogudio VLAN

Page 43: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 43 -

h1518 bajtah

14 20 20

CRC

4

hMSSh

TCP zaglavlje i IP zaglavlje h MAC zaglavlje h

hMTUh

Slika 5.7 - Ethernet okvir sa veličinama pripadajudih zaglavlja po slojevima i veličinom MSS parametra

Međutim, okviri paketa 6, 7, 9, 10 i 11 unutar Wiresharka veličine su 1514 bajta iz razloga što Wireshark

neuzima u obzir kontrolnu CRC sumu na kraju okvira koja je veličine 4 bajta. Okvir 13 je veličine 946 bajta

jer je:

8192 – (5 x 1460) = 892 -- ostatak podataka aplikacijskog sloja za prenos

892 (podaci) + 20 (TCP) + 20 (IP) + 14 (Eth.) = 946 -- veličina zadnjeg okvira za prenos podataka

AKTIVNOST 4. Dodatne opcije Wiresharka

Pored standardnih mogudnosti snimanja mrežnog saobradaja, filtriranja i analize svakog pojedinačnog

paketa, Wireshark ima mogudnosti da, između ostalog, prikaže TCP tok podataka gdje se na jednostavan

način mogu analizirati mehanizmi kojima TCP protokol omoguduje i garantuje pouzdan prenos podataka od

jednog do drugog mrežnog čvora (brojevi sekvence, windowing, potvrdni brojevi i sl.).

Dijagram toka predstavlja jednu od dodatnih opcija Wiresharka namijenjenu za vizuelni prikaz procesa

mrežne komunikacije u vidu njenih pojedinih koraka datih u vremenskog domenu kako se generišu i

završavaju. Pristup navedenoj opciji vrši se preko izbornika Statistics i opcije Flow Graph. Postoji nekoliko

mogudih načina definisanja željenog obima prikaza podataka u komunikaciji (svi paketi ili samo oni

prikazani, opšti dijagram toka ili samo za TCP, tip adrese za prikaz u dijagramu), a kako nam je od posebnog

interesa čisto TCP komunikacija potrebno je odabrati opciju „TCP flow“. Na taj se način izdvaja samo TCP

saobradaj, a što je važnije za svaki razmijenjeni segment se prikazuje broj sekvence i potvrdni broj, te je

stoga lako ispratiti jednu TCP sesiju.

Slika 5.8 – Dijalog prozor za izbor opcija pri kreiranju dijagrama toka

Page 44: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 44 -

Slika 5.9 – Dijagram toka TCP saobradaja

Koristedi Wireshark pokrenite ponovo V5A3.cap datoteku. S obzirom na prethodnu aktivnost, poznat nam

je proces komunikacije snimljene u ovoj datoteci. Koristedi navedene osobine Wiresharka, kreirati dijagram

toka za navedene podatke. Komentirati prednosti i nedostatke navedenog prikaza za lakše razumijevanje

procesa komunikacije.

Page 45: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 45 -

APLIKACIJSKI SLOJ Sloj sesije, prezentacije i aplikacije OSI modela spojeni su u jedan aplikacijski sloj TCP/IP modela.

Ako znamo funkcije navedenih slojeva OSI modela možemo zaključiti da je zadatak aplikacijskog sloja kod

TCP/IP modela fokusiran na mrežne servise i alate kao i interakciju pojedinih protokola sa okruženjem

operativnog sistema na kojem je instaliran. TCP/IP protokol kombinira sva pitanja vezana za aplikacije u

jedan sloj i osigurava da ti podaci budu na odgovarajudi način zapakovani prije nego što se predaju

sljededem sloju. Ovakav dizajn osigurava maksimalnu fleksibilnost na aplikacijskom sloju za razvoj i

upotrebu mrežnih aplikacija.

S obzirom na svoj zadatak ovaj sloj (između ostalog) omoguduje prezentaciju podataka neovisnu o

operativnom sistemu, enkripciju i kompresiju podataka, mrežne dijagnostičke alate (ping, tracert, itd..),

mrežne usluge poput dijeljenja datoteka i printera, DNS rezoluciju uključuje širok spektar protokola za

brojne usluge transfera fajlova, e-maila, udaljeni login itd.. S korisničke strane, vrlo je mala interakcija

korisnika sa ovim slojem, koji je uglavnom namijenjen programerima za razvoj i unaprjeđenje mrežnih

aplikacija.

Aplikacijski

Transportni

Mrežni

Sloj veze

Transfer podataka

● TFTP

● FTP

● NFS

E-mail

● SMTP

Udaljeni pristup

● Telnet

● RDP

Menadžment mreže

● SNMP

Menadžment imena

● DNS

Slika 5.10 - Neki od protokola aplikacijskog sloja TCP/IP modela

File Transfer Protocol (FTP) FTP je pouzdan, konekciono-orijentisani servis koji koristi TCP za transfer datoteka između sistema koji podržavaju FTP. Podržava dvosmjerni transfer binarnih i ASCII fajlova.

Trivial File Transfer Protocol (TFTP) TFTP je nekonekcioni servis koji koristi User Datagram Protocol (UDP). TFTP se koristi na routeru za transfer konfiguracionih datoteka i imagea OS-a, kao i za transfer datoteka između sistema koji podržavaju TFTP. Koristan je u nekim LAN mrežama zato što radi brže u stabilnom okruženju nego FTP.

Network File System (NFS) NFS je skup protokola distribuiranog fajl sistema razvijen od strane Sun Microsystem-a, koji omogudava pristup fajlu na udaljenom uređaju za pohranjivanje, kao što je npr. pristup hard disku putem mreže.

Simple Mail Transfer Protocol (SMTP) SMTP upravlja transmisijom e-mail poruka preko računarske mreže.

Terminal emulation (Telnet) Telnet pruža mogudnost udaljenog pristupa drugom računaru. Omogudava korisniku da se loguje na Internet host i da izvršava komande. Telnet klijent se označava kao lokalni host. Telnet server se označava kao udaljeni host.

Simple Network Management Protocol (SNMP) SNMP je protokol koji pruža način za monitoring i kontrolu mrežnih uređaja, kao i za upravljanje konfiguracijama, sakupljanje statistika, performansu i sigurnost.

Page 46: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 46 -

Domain Name System (DNS) DNS je sistem koji se koristi na Internetu za prevođenje imena domena i njihovih javnih mrežnih čvorova u IP adrese.

Mrežne aplikacije rade sa aplikativnim slojem TCP/IP modela.

To su aplikacije koje putem mreže komuniciraju sa drugim umreženim računarima.

HTTP PROTOKOL

HTTP (engl. HyperText Transfer Protocol) je glavna i najčešda metoda prenosa informacija na Webu.

Osnovna namjena ovog protokola je omogudavanje objavljivanja i prezentacije HTML dokumenata, tj. web

stranica.

HTTP je samo jedan od protokola aplikativne razine koji postoje na Internetu. Drugi značajniji internetski

protokoli na aplikacijskoj razini su: FTP, HTTP, HTTPS, IMAP, IRC, NNTP, POP3, RTP, SIP, SMTP, SNMP, SSH,

SSL, Telnet, BitTorrent ...

Razvoj i standardizaciju HTTP protokola nadgledaju World Wide Web Consortium (W3C) i radne skupine

IETF-a (engl. Internet Engineering Task Force).

Osobine HTTP protokola

HTTP je request/response protokol za komunikaciju između poslužitelja (servera) i klijenta. HTTP klijent, kao

što je web preglednik najčešde inicira prenos podataka nakon što uspostavi TCP vezu s udaljenim Web

serverom na određenom portu.

Server konstantno osluškuje zahtjeve na određenom mrežnom komunikacijskom portu (tipično port 80),

čekajudi da klijent pošalje niz znakova (string), kao što je "GET / HTTP/1.1" - kojim de zahtjevati

uspostavljanje komunikacije - a nakon toga i tekstualnu MIME poruku koja sadrži nekoliko slovnih nizova

(zaglavlje) koji određuju aspekte zahtjeva, te paket neobaveznih podataka. Nakon "GET" poruke, klijent

mora poslati niz znakova koji određuju adresu virtualnog hosta, na primjer "HOST:www.example.com".

Zahtjev (engl. request) klijenta de rezultirati slanjem odgovora (engl. response) sa servera, kao što je "200

OK" - nakon čega de server poslati i svoj paket podataka koji najčešde sadrži traženu datoteku ili poruku o

grešci. Odmah po ispunjenju zahtjeva klijenta, server de prekinuti komunikaciju.

HTTP se razlikuje od ostalih TCP protokola kao što je npr. FTP, po tome što se konekcija i komunikacija sa

serverom prekida odmah nakon izvršenja zahtjeva klijenta (isporučenog paketa traženih podataka). Zbog

ovoga je HTTP idealan za Web, gdje je stranica obično povezana s drugim stranicama na drugim serverima.

HTTPS je sigurna verzija HTTP protokola, koja koristi SSL/TLS za zaštitu i skrivanje prometa, odnosno

podataka koji se razmjenjuju između klijenta i poslužitelja. Ovaj protokol obično koristi TCP port 443. SSL

(donekle) omogudava zaštitu komunikacije, čak i u slučaju kada je samo jedna strana (obično server)

autentificirana.

Lokacija HTTP (i HTTPS) dokumenata se određuje pomodu URL adrese. URL adresna sintaksa je kreirana

posebno za povezivanje web stranica.

Primjer sa slike jedan prikazuje u panelu sa listom paketa dvije HTTP poruke: GET poruka (zahtjev sa našeg

Web klijenta ka serveru) i odgovor servera na naš zahtjev. Panel sa prikazom sadržaja paketa prikazuje

detalje selektovane HTTP poruke (u ovom slučaju HTTP GET poruke, koja je označena tamnoplavom bojom

u panelu sa listom uhvadenih paketa).

Page 47: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 47 -

Slika 5.11 - Primjer HTTP poruka u Wiresharku

Podsjetimo, pošto je HTTP poruka enkapsulirana unutar TCP/IP segmenta, koji je opet inkapsuliran unutar

IP paketa, a ovaj opet inkapsuliran unutar Ethernet okvira, Wireshark pored HTTP prikazuje i informacije o

okviru, paketu i segmentu koji su prenijeli navedeni HTTP sadržaj.

Page 48: Racunarske mreze - Praktikum

Praktikum Računarske mreže

- 48 -

PROVJERA USVOJENOG ZNANJA

Upotrebom Wiresharka otvoriti datoteku V5PZ1.cap. Odgovoriti na sljededa pitanja!

1. Napiši nekoliko različitih protokola koji se pojavljuju u ne filtriranom panelu sa listom paketa:

____________ ______________ ______________

2. Koliko je vremena prošlo od trenutka kada je poslana HTTP GET poruka do trenutka kada je primljen HTTP OK odgovor? _______________________________________________________

3. Kako glasi IP adresa Web servera? ____________________ a Web klijenta? ___________________

4. Dopuni tabelu podacima iz HTTP poruka unutar navedene capture datoteke.

IZVORIŠTE ODREDIŠTE Poruka

IP adresa br. porta IP adresa br. porta

5. Kada je posmatrani HTML fajl zadnji put modifikovan na serveru? __________________________

6. Koliko je HTTP GET poruka poslano od strane posmatranog web klijenta? ____________________

7. Koliko je TCP segmenata bilo potrebno za prenos HTTP odgovora? ________________________

8. Navedi redne brojeve okvira u kojima se nalaze navedeni TCP segmenti!

_________; ________; ________; ________; ________; ________;

9. Napiši broj sekvence TCP SYN segmenta koji je započeo TCP konekciju između klijentskog računara i Web servera? ____________________________________________________________

10. Na osnovu kojeg parametra u zaglavlju segmenta možemo zaključiti da je u pitanju SYN segment?

________________________________________________________________________________

11. Koliko iznosi heksadecimalna vrijednost polja zastavica u zaglavlju svakog SYN segmenta? _____________________________________

12. Kolika je veličina TCP segmenata u bajtima HTTP odgovora Web klijentu?

1. ________________ 2. ________________ 3. ________________

4. ________________ 5. ________________ 6. ________________

Upotrebom V5PZ2.cap datoteke odgovoriti na sljedede pitanje:

13. Kojim korisničkim podacima se koristio korisnik prilikom spajanja na Web server?

Username: __________________ Password: ____________________