Upload
kenan-halilcevic
View
348
Download
34
Embed Size (px)
DESCRIPTION
Racunarske mreze - Praktikum
Datum rada Vježbu ovjerio
Vježba 1
Vježba 2
Vježba 3
Vježba 4
Vježba 5
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.
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
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
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.
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 halfduplex, š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.
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 fullduplex
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.
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
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: __________
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
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.
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.
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.
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.
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:
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).
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..
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 32bitnim 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
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 32bitne 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 48bitni 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).
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.
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 _______________________
_______________________
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?
_________________________________________________________________________________
_________________________________________________________________________________
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.
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 !
__________________________________________________________
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čkatač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
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
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“.
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! __________________________________
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 !
_________________________________________________________________________________
_________________________________________________________________________________
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.
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 16bitno polje u zaglavljima segmenata, pa broj porta može da uzme vrijednost
od 065535. Svi mogudi portovi su podijeljeni u opsege:
01023: 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.
Praktikum Računarske mreže
- 33 -
102441951: 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.
4195265535: 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.
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 ________;
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: ________________________________________
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.
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
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.
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.
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.
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.
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
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
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.
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
● 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.
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).
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.
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: ____________________