31
Mješovita srednja škola Bužim Opća Gimnazija MATURSKI RAD IZ INFORMATIKE Tema: TCP/IP i HTTP internet protokoli Mentor: Učenik:

Maturski Rad Informatika

Embed Size (px)

DESCRIPTION

TCP/IP i HTTP internet protokoli

Citation preview

Page 1: Maturski Rad Informatika

Mješovita srednja škola BužimOpća Gimnazija

  

MATURSKI RAD IZ INFORMATIKE

Tema: TCP/IP i HTTP internet protokoli

 Mentor:                                                                                    Učenik:        Sejfudin Duranović, prof.                                        Nizam Alešević, IV1  

Bužim, 2015. godina 

Page 2: Maturski Rad Informatika

Sadržaj1 Uvod...............................................................................................................................................1

2 Pojam protokola.............................................................................................................................2

2.1 Mrežni protokol......................................................................................................................3

3 TCP/IP protokol..............................................................................................................................4

3.1 Pojam TCP/IP protokola..........................................................................................................4

3.2 Povijesni razvoj.......................................................................................................................4

3.3 Karakteristike TCP/IP protokola..............................................................................................5

3.4 Arhitektura OSI i TCP/IP modela.............................................................................................5

3.5 TCP protokol...........................................................................................................................7

3.5.1 Pojam TCP protokola......................................................................................................7

3.5.2 Princip rada protokola....................................................................................................7

3.5.3 Karakteristike protokola.................................................................................................8

3.6 IP protokol..............................................................................................................................9

3.6.1 IPv4.................................................................................................................................9

3.6.2 Nedostaci IPv4................................................................................................................9

3.6.3 IPv6...............................................................................................................................10

4 HTTP protokol...............................................................................................................................11

4.1 Pojam HTTP protokola..........................................................................................................11

4.2 Klijent-server model.............................................................................................................11

4.3 Resursi..................................................................................................................................12

4.4 Struktura HTTP transakcija...................................................................................................12

4.4.1 Inicijalna linija za zahtjev..............................................................................................13

4.4.2 Inicijalna linija za odgovor (status linija).......................................................................13

4.4.3 Linija zaglavlja...............................................................................................................14

4.4.4 Tijelo poruke.................................................................................................................14

4.5 Ostale HTTP metode.............................................................................................................14

4.6 HTTP proksiji.........................................................................................................................15

4.7 Sigurnost HTTP protokola.....................................................................................................16

4.8 HTTP/2..................................................................................................................................16

5 Zaključak.......................................................................................................................................17

6 Literatura......................................................................................................................................18

Page 3: Maturski Rad Informatika

Popis slika u radu

Slika 1 Virtualna privatna mreža spaja računare preko Interneta..............................................3Slika 2 Usporedba OSI i TCP/IP protokola...............................................................................5Slika 3 Struktura TCP/IP...........................................................................................................7Slika 4 Razlika između posljednje dvije verzije IP protokola.................................................10Slika 5 Shema prikaza rada HTTP protokola..........................................................................11Slika 6 HTML obrazac............................................................................................................15

Page 4: Maturski Rad Informatika

1 Uvod

Tema ovog maturskog rada su TCP/IP i HTTP protokoli koji su zasigurno jedni od najbitnijih internet protokola. Protokoli su standardi koji omogućavaju računarima da komuniciraju preko mreže.

Da bi uopće mogli pričati o protokolima prvo moramo razumjeti šta je to Internet. Dakle, Internet je svjetska globalna mreža koja povezuje računare cijeloga svijeta. To je „mreža svih mreža“ koja se sastoji od miliona kućnih, akademskih, poslovnih i vladinih mreža koje međusobno razmjenjuju informacije i usluge kao što su elektronska pošta, chat i prijenos podataka te povezane stranice i dokumente World Wide Weba. Samo postojanje i rad Interneta povezan je sa protokolima. Postoji mnogo protokola, i ako se to čini kao nepotrebno, to nije tako. Određeni protokoli imaju različite prednosti  u određenim okruženjima. Niti jedan standardni protokol neće najbolje raditi u raznim okruženjima.

Cilj ovog rada je istaći važnost postojanja protokola. U skladu s tim obrađeni su oni tipovi koji su najviše zastupljeni u virtualnom svijetu, pa prema tome su i utjecali na sami tok razvoja Interneta.

Rad se sastoji od tri dijela. U prvom dijelu je detaljno objašnjeno šta je to protokol, kako radi, te vrste protokola. Drugi dio se odnosi na TCP/IP protokol i najbitnije karakteristike vezane za njega. Svaki od ova dva usko povezana protokola je objašnjen zasebno. Treći dio obuhvata HTTP protokol u kojem je objašnjen način rada i različite metode za unos. Rad se sastoji od 17 stranica uključujući Uvod i Zaključak.

1

Page 5: Maturski Rad Informatika

2 Pojam protokola

Prijenos podataka kroz mrežu se obavlja po protokolima – set utvrđenih pravila koji olakšava komunikaciju. Protokol predstavlja standard (konvenciju) za ostvarivanje i kontrolu veze i prijenosa podataka između dvije krajnje tačke.

Ključni elementi protokola kojima se dogovara spremnost za slanje, spremnost za prijem, format podataka su:

- sintaksa – format podataka i nivoi signala- semantika – kontrolne informacije u prijenosu i kontrola grešaka- tajming – brzina procesa

Kod prvobitnih računarskih mreža, umrežavanje se vršilo zavisno od proizvođača računarske opreme. Sav hardver i softver bili su vezani za jednog proizvođača, tako da je bilo veoma teško vršiti izmjene, kao unapređivanje mreže. Uvođenjem standarda za komuniciranje po logički jasno definisanim slojevima, pojavilo se više proizvođača softverske opreme. Standardima se omogućilo kombinovanje hardvera i softvera od različitih proizvođača što je dovelo do pada cijene opreme i softvera za umrežavanje, kao i povećanje kaliteta usluga u mrežama.

Razmjena podataka u računarskoj mreži je izuzetno složena. Sa povećanjem broja umreženih računara koji komuniciraju i sa povećanjem zahtjeva za sve savršenijim uslugama neophodno je i usavršavanje protokola, pa je bilo neophodno razviti protokole u više slojeva. Svaki sloj je namijenjen za jedan odgovarajući posao.

Jedna od najbitnijih stvari kod umrežavanja je adresiranje. Ako se posmatraju samo dva računara, nema potrebe za adresiranjem, jer sve što se pošalje sa jednog računara namijenjeno je drugom. Naime, kada mrežu čine tri pojavljuje se potreba za adresiranjem. Poslani podaci sa jednog računara mogu biti namijenjeni jednom od preostala dva računara. Dodatno usložnjavanje nastaje ako se posmatra više aplikacija na jednom računaru, koje mogu da komuniciraju sa više aplikacija na drugom računaru. Ovdje nije dovoljno samo adresirati računar, već i aplikaciju kojom se komunicira. Koraci protokola moraju da se sprovedu u skladu sa redosljedom koji je isti za svaki računar u mreži. U predajnom računaru ovi koraci se izvršavaju od vrha ka dnu, dok u prijemnom računaru u obrnutom redosljedu. Osnovni principi u dizajnu protokola su efikasnost, pouzdanost i prilagodljivost. Potrebno je da oba računara, predajni i prijemni, svaki korak izvedu na isti način kako bi primljeni podaci imali istu strukturu kakvu su imali prije slanja. 

2

Page 6: Maturski Rad Informatika

2.1 Mrežni protokol

Mrežni protokol je zajednički skup pravila i signala prema kojima se ponašaju računari koji su umreženi. Definiše ga skup standardnih pravila za prikaz, signaliranje i ovjeravanje podataka, te provjeravanje grešaka koje je potrebno izvršiti da bi se podatak uopće poslao.

Protokoli su standardi koji omogućavaju računarima da komuniciraju preko mreže.Specifikacija protokola obično uključuje format poruke koja se prenosi i tretman greške u komunikaciji. Za različite komunikacije postoje i različiti protokoli, ali svi koegzistiraju unutar fizičke implementacije mreže. Neki od protokola su: 

1. TCP – protkol za prijenos i kontrolu podataka između čvorova mreže 2. IP – protokol za povezivanje čvorova mreže 3. FTP – prijenos podataka između čvorova mreže 4. HTTP – protokol koji upravlja komunikacijom između web servera i web klijenta 5. DNS – povezuje različite informacije s domenskim imenima pripisanim svakom od

subjekata u domeni.6. POP – služi za prijenos elektroničke pošte preko IP mreža  

U mreži, više protokola mora da radi zajedno. Nihov zajednički rad obezbjeđuje ispravnu pripremu podataka, prijenos do željenog odredišta, prijem i izvršavanje. Protokol određuje:

- pravila uspostave veze- pravila prijenosa podataka- način prekida veze

Slika 1 Virtualna privatna mreža spaja računare preko Interneta

3

Page 7: Maturski Rad Informatika

3 TCP/IP protokol

3.1 Pojam TCP/IP protokola

Puni naziv: Transmission Control Protocol/Internet Protocol. Naziv TCP/IP potiče od dva najčešće korištena protokola: TCP (engl. Transmission Control Protocol) i IP (engl. Internet Protocol). Predstavlja skup pravila koji određuje kako će računari međusobno razmjenjivati informacije. To je dvoslojni program. Prisutan je danas na skoro svim računarima, u prvom redu zbog jednostavnog definiranja adresa uređaja na mreži, te zbog mogućnosti povezivanja na Internet. Pouzdan je i konekciono orijentisan protokol koji dozvoljava da se niz bajtova sa jednog računara isporuči bez greške bilo kom drugom računaru na Internetu.

3.2 Povijesni razvoj

1969. Istraživački odjel ministarstva odbrane SAD (DARPA – engl. Defense Advanced Research Projects Agency) pokrenuo je projekat uspostave eksperimentalne mreže sa prespajanjem paketa nazvane ARPANET, čija je namjena bila ispitati tehničke mogućnosti razmjene podataka pomoću računarske mreže. 1975. ARPANET je od eksperimentalne postala operativna mreža.TCP/IP skup protokola usvojen je kao vojni standard 1983. Korištenje tog standarda bio je preduvjet za spajanje na ARPANET. DARPA je potakla ugradnju TCP/IP u operativni sistem UNIX i time je stvorena prva veza između operativnog sistema UNIX i TCP/IP skupa protokola. U vrijeme kad je TCP/IP postao standard počeo se pojavljivati termin Internet, a mreža ARPANET podijeljena je na dva dijela: MILNET (dio podatkovne mreže ministarstva odbrane SAD) i manji ARPANET. S vremenom Internet postaje dominantna svjetska računarska mreža koja povezuje skoro sve ostale mreže u svijetu. TCP/IP skup protokola prihvaćen je kao standard zbog pogodnosti koje je jedini u datom trenutku nudio, neke od njih su: - Neovisnost o tipu računarske opreme i operativnih sistema, te o pojedinom proizvođaču- Neovisnost o tipu mrežne opreme na fizičkom sloju prijenosnog medija, što omogućava integraciju različitih tipova mreža (Ethernet, Token Ring, X.25...) - Jedinstveni način adresiranja koji omogućava povezivanje i komunikaciju svih uređaja koji podržavaju TCP/IP - Standardizirani protokoli viših slojeva komunikacijskog modela, što omogućava široku primjenu mrežnih usluga 

4

Page 8: Maturski Rad Informatika

3.3 Karakteristike TCP/IP protokola

TCP/IP je jedan od najkorištenijih protokola kojeg koriste skoro sve računarske mreže koje su na Internetu. Koristi se i u lokalnim mrežama za prijenos podataka između računara ili servera. Također, ovaj protokol omogućava konekciju različitih operativnih sistema ili različitih vrsta računara, servera ili ostalih perifernih uređaja kao što su štampači. Ovo je protokol na kojem se zasniva Internet. Kada se konektujete na Internet vaš računar dobija jedinstvenu IP adresu koja vam omogućava da lagodno komunicirate sa ostalim računarima na Internetu. TCP/IP protokol se sastoji od dva dijela, prvog TCP dijela koji vaše podatke dijeli na manje pakete radi lakšeg i sigurnijeg transfera, i koji ih također na odredištu spaja ponovo u originalnu datoteku, i dijela IP koji adresira svaki taj paket sa odredišnom i izvorišnom adresom. Svi paketi moraju da prođu kroz određenu putanju koju određuje uređaj ruter.  TCP/IP protokol omogućava da protokoli koji se nadograđuju na njega budu jednostavniji jer o njima ne ovisi sama datoteka koja se šalje nad tim protokolima.Neki protokoli koji koriste TCP/IP: ⦁ BGP: Border Gateway Protocol ⦁ FTP: File Transfer Protocol ⦁ HTTP: HyperText Transfer Protocol ⦁ ICMP: Internet Control Message Protocol ⦁ UDP: User Datagram Protocol 

3.4 Arhitektura OSI i TCP/IP modela

OSI (Open Systems Interconection) model je apstraktni opis dizajna protokola računarskih mreža, predstavljen u obliku sedam slojeva. Razvijen je 1984. godine od strane Međunarodne organizacije za standarde. Sve današnje mreže su bazirane na OSI standardu, skupu sedam slojeva koji određuju različite etape kroz koje podaci moraju proći od jednog uređaja do drugog u nekoj mreži.

OSI model nikada nije implementiran do kraja. Njegova mana je da on ne sadrži sloj za Internet. Ipak, OSI model se predstavlja kao primjer apstraktnog modela višeslojnog protokola. Umjesto njega koristi se TCP/IP model koji je preuzeo mnoge osobine OSI.

5

Slika 2 Usporedba OSI i TCP/IP protokola

Page 9: Maturski Rad Informatika

Sloj mrežnog pristupa osigurava uređaju pristup zajedničkom mediju. Obuhvata funkcije fizičkog sloja i sloja podatkovne veze OSI referentnog modela. Obavlja funkcije prva dva sloja ISO modela i odgovorna je za realizaciju komunikacije između dva uređaja u mreži.

Na ovom se sloju IP paket s drugog sloja postavlja u okvire koji se šalju preko mreže, te se obavlja preslikavanje IP adrese uređaja na  mreži u njegovu fizičku adresu. Protokoli prvog sloja TCP/IP modela su: • Ethernet protokol kojim je definirano povezivanje lokalnih mreža zasnovanih na različitim tipovima  fizičkog medija, pri različitim brzinama prijenosa, uz četiri formata Ethernet okvira trenutno u primjeni (Ethernet II, Ethernet 802.3, Ethernet 802.4 i SNAP Ethernet). • SLIP (engl. Serial Line Internet Protocol) - standard za prijenos IP paketa preko modemskih veza koje podržavaju TCP/IP protokol • PPP (engl. Point to Point Protocol) - standard za prijenos podataka preko modemskih veza. 

Internet sloj obuhvata funkcije mrežnog sloja OSI referentnog modela. Mrežni sloj TCP/IP modela Interneta omogućava uspostavu logičke veze između dva uređaja koja žele komunicirati. Osnovni protokol tog sloja je IP (Internet Protocol, RFC 79 ). Uređaji se prepoznaju preko 32-bitnih IP adresa koje imaju dva dijela: mrežni broj i broj računara. Mrežni sloj prenosi podatke unutar TCP/IP modela, tj. prihvata ih od sloja pristupa mreži i predaje prijenosnom sloju, izdvaja ih i analizira zaglavlje. Osnovna jedinica podataka na ovom sloju jest paket. 

Ono što definiše ovaj sloj jeste ruter. Poseban uređaj koji određuje sljedeću mrežnu adresu na koju se šalje paket podataka, a za razliku od gatewaya ne može se povezivati na različite protokole. Zadatak rutera jeste da poveže više uređaja kojima će dodijeliti vlastite Internet adrese (IP) i omogućava informacijama da putuju između raznih mreža.

Prijenosni sloj  je ekvivalentan prijenosnom sloju OSI referentnog modela. Osigurava prijenos paketa između bilo koje dvije krajnje tačke mreže. Na ovom sloju radi se kontrola toka i kontrola greški. Prijenosni sloj osigurava vezu dva uređaja u bilo kojim dijelovima mreže i predstavlja sponu u komunikacijskom modelu između mrežnog i korisničkog sloja. Mrežni sloj iz svog zaglavlja saznaje kojem protokolu prijenosnog sloja treba predati podatke, a prijenosni sloj na osnovu podataka u svom zaglavlju podatke prosljeđuje tačno određenoj usluzi korisničkog sloja. Dva su osnovna prijenosa podataka tog sloja: sa i bez uspostave logičkog kanala, a izbor ovisi o tipu i veličini poruke. Prijenos s uspostavom logičkog kanala (konekcijski) osigurava pouzdanu isporuku podataka do odredišta uz što manje gubitaka i što manje grešaka i primjenjuje se kod prijenosa korisničkih podataka. Prijenos bez uspostave logičkog kanala (nekonekcioni) primjenjuje se kod prijenosa upravljačkih poruka. Dva najznačajnija protokola tog sloja su: • TCP RFC 793, konekciono orijentisani, za vezu s detekcijom i korekcijom grešaka • UDP RFC 768, za nekonekciono orijentisani oblik komunikacije bez detekcije i korekcije grešaka. Programeri mogu odabrati protokol koji najbolje odgovara njihovoj aplikaciji. 

Aplikacijski sloj obuhvata sjednički, prezentacijski i aplikacijski sloj OSI referentnog modela. Ovaj sloj čine programi i procesi koji svoje zahtjeve ili podatke predaju izravno protokolima prijenosnog sloja. Aplikacija je bilo koji proces koji se događa iznad prijenosnog sloja TCP/IP komunikacijske arhitekture. Neki od aplikacijskih protokola su: SMTP, HTTP, FTP, DNS itd.  

6

Page 10: Maturski Rad Informatika

Svaki sloj ima svoju strukturu podataka i terminologiju koja opisuje tu strukturu. Na aplikacijskom sloju TCP protokol za podatke koristi naziv tok (engl. stream). TCP na prijenosnom sloju naziva podatke segment. Na internet sloju svi podaci su predstavljeni datagramom, a na sloju pristupa mreži okvirom. 

Slika 3 Struktura TCP/IP

3.5 TCP protokol

3.5.1 Pojam TCP protokola

Puni naziv: Transmission Control Protocol Ovaj protokol upravlja usitnjavanjem poruke u manje pakete koji se šalju preko Interneta i primaju u računar čiji TCP spaja pakete i izvornu poruku. TCP upotrebljava određen raspon portova kojima razdjeljuje primjenske programe na strani pošiljaoca i primatelja. 

3.5.2 Princip rada protokola

TCP razbija poruke u datagrame pri početku slanja, a ponovno ih spaja po prijemu, vraća sve što se izgubi tokom prijenosa i sve ih ponovo slaže ispravnim redosljedom. TCP je konekcijski orijentisan protokol i osigurava pouzdan prijenos podataka s kraja na kraj. Koristi dvosmjerni tok podataka. Pouzdan prijenos znači da niti jedan paket neće biti izgubljen. To znači da klijent mora poslati potvrdu prijema svakog paketa i mora čekati eventualno izgubljene pakete. Ako TCP ne dobije potvrdu prijema, dolazi do ponovog slanja. TCP stavlja svoje zaglavlje na početak svakog datagrama. To zaglavlje sadrži barem 20 bajta od kojih su najvažniji broj porta (adresa prijenosnog sloja) i numeracija paketa. Osim njih u zaglavlje se još dodaje i zaštitna suma (checksum) i drugi podaci.

7

Page 11: Maturski Rad Informatika

3.5.3 Karakteristike protokola

TCP  je dominantan, konekcioni, prijenosni protokol interneta, garantira pouzdanu isporuku podataka od izvorišta do odredišta u kontroliranom redoslijedu. PDU TCP protokola je segment. Segmenti se pakiraju u IP pakete i šalju preko mreže. Osnovna svojstva usluge koju nudi TCP su:  Pouzdanost  Veza od tačke do tačke  Dvosmjerni prijenos podataka  Svi podaci tretiraju se kao niz okteta 

Prilikom korištenja TCP usluge računari prolaze kroz tri faze: 1. Uspostava veze 2. Razmjena podataka 3. Prekid veze 

Uspostava veze - proces koji se izvodi na jednom računaru želi uspostaviti vezu s procesom na nekom drugom računaru. Računar koji traži uspostavu veze naziva se klijent, a drugi računar se naziva server.

Klijentski proces informira klijentski TCP da želi uspostaviti vezu s serverom. Klijentski računar tada šalje serveru prvi specijalni segment. Server odgovara drugim specijalnim TCP segmentom i konačno klijent odgovara trećim specijalnim segmentom. Ova procedura se naziva three-way handshake.

Razmjena podataka - TCP entiteti razmjenjuju podatke u obliku segmenata. Segment se sastoji od zaglavlja koje ima 20 okteta (uz opcionalni dio) za kojim slijedi nula ili više okteta podataka, a nastaje skupljanjem podataka od nekoliko upisivanja ili razbijanjem podataka od jednog upisivanja. Osnovni protokol kojeg koriste TCP entiteti je protokol s klizajućim prozorom (engl. Sliding Window):

1. Nakon slanja segmenta predajnik pokreće brojač (engl. timer)2. Kad segment stigne na odredište, prijemnik šalje u segmentu potvrdu s brojem

jednakim slijedećem broju segmenta kojeg očekuje3. Ako brojač istekne prije nego što je primljena potvrda, segment se šalje ponovno

Kada klijentska aplikacija odluči prekinuti vezu s serverom šalje TCP segment sa FIN bitom koje poručuje da izvorište više nema podataka za slanje, postavljenim u 1 i uđe u FIN_WAIT_1 stanje. Dok je u FIN_WAIT stanju, klijentski TCP čeka TCP segment potvrde od strane servera. Kada primi navedeni segment, klijentski TCP ulazi u FIN_WAIT_2 stanje. Dok je u FIN_WAIT_2 stanju, klijent čeka sljedeći segment od strane servera s FIN bitom postavljenim u 1. Nakon što primi taj segment klijentski TCP ulazi u TIME_WAIT stanje. TIME_WAIT stanje dopušta TCP klijentu da pošalje finalnu potvrdu u slučaju da je ACK izgubljen. Vrijeme provedeno u TIME-WAIT stanju ovisi o implementaciji, ali tipične vrijednosti su trideset sekundi, jedna minuta i dvije minute. Nakon čekanja veza se formalno zatvori.

8

Page 12: Maturski Rad Informatika

3.6 IP protokol

IP  je temeljni protokol internet sloja TCP/IP arhitekture, a koriste ga protokoli svih viših slojeva. To je nekonekcioni protokol, što znači da se predajnik i prijemnik ne dogovaraju o početku ili završetku prijenosa podataka, nego predajnik pošalje paket i nema potvrde primitka paketa.Protokoli viših slojeva provjeravaju konzistentnost podataka. Ti protokoli obavljaju detekciju i korekciju greški, pa se zbog toga IP protokol često naziva „nepouzdani protokol“.Osnovne funkcije IP protokola su: Definiranje šeme adresiranja na internetu Definiranje IP paketa Prosljeđivanje podataka između sloja pristupa mreži i prijenosnog sloja Fragmentacija i sastavljanje paketa

3.6.1 IPv4

IP protokol verzija 4, kraće IPv4, najrašireniji je IP protokol na Internetu.To je jedinstvena brojčana oznaka računara na internetu. IP adresa je u osnovi binarni broj, koji je u slučaju verzije 4 IP protokola, binarni broj dug 32 bita. Često se radi lakšeg pamćenja IP adrese (IPv4) zapisuju u dekadskoj notaciji, gdje se 32-bitni broj podijeli na četiri 8-bitna broja, koji se zatim prikazuju kao četiri decimalna broja odvojena točkom. Svaki od tih brojeva je u rasponu 0-255, što je upravo raspon brojeva koji se mogu prikazati u jednom 8-bitnom binarnom prikazu. Primjer IPv4 adrese je 66.249.92.104. IP adrese se dijele na privatne i javne. Javne IP adrese su jedinstvene, globalne i standardizirane. Razvojem Interneta počelo je nedostajati sve više i više slobodnih IP adresa. Rješenje tog problema su bile privatne IP adrese. Privatne adrese mogu biti duplicirane uz uvjet da se ne nalaze u istoj lokalnoj mreži. Prilikom izlaska korisnika iz lokalne mreže na Internet, privatna adresa IP adresa se pretvara u javnu IP adresu pomoću metoda NAT (engl. Network Address Translation) i PAT (engl. Port Address Translation).  

3.6.2 Nedostaci IPv4

S obzirom da je IP adresa u verziji IPv4 propisane dužine od 32 bita, iz toga slijedi da je limit 4,3 milijarde različitih adresa. Iako se taj broj čini prilično velikim, širenje Interneta i rast potrebe za novim IP adresama doveli su do toga da je taj adresni prostor postao daleko premali za sve potrebe. Naime, nije daleko dan kada bi svaka osoba u svijetu trebala imati svoje osobno računar koje treba javnu IP adresu, brojni su serveri koji za svoj rad također trebaju IP adrese. Nadalje, otvara se i cijelo novo područje mobilne telefonije koje će se vrlo skoro integrirati s Internetom, a razvija se i područje različitih drugih uređaja (kućanski aparati, razni uređaji uindustriji, prometu, turizmu...) koji će se također vrlo skoro koristiti ili se već koriste Internetom za razmjenu i prikupljanje informacija, komunikaciju, upravljanje na daljinu i sl. Stoga su predložena različita rješenja, od kojih je najlogičnije rješenje implementacija internet protokola koji bi imao veći raspon raspoloživih adresa. Upravo je tako i nastao IPv6.  

9

Page 13: Maturski Rad Informatika

3.6.3 IPv6

Internet protokol verzija 6, ili kraće IPv6 je relativno nova verzija internet protokola koja će najvjerojatnije postati sljedeća standardna verzija komunikacijskog protokola na Internetu. IPv6 pruža end-to-end prijenos datagrama kroz više IP mreža usko pridržavajući se načela dizajna razvijena u odnosu na prethodnu verziju protokola.Pojednostavljuje aspekte dodjele adresa, mrežno pregrupisavanje i najavu rutera prilikom promjene provajdera mrežnog povezivanja. Razmjena saobraćaja između dvije mreže zahtjeva prevoditelj (engl. gateway) koji zapošljava jedan od nekoliko mehanizama tranzicije, kao što su NAT64, ili tuneliranja protokola kao što je 6to4, 6in4 ili Teredo. IPv6 adresa je u osnovi niz od 128 bitova, dakle 128 znakova 0 ili 1. Uobičajeno je da se ti binarni brojevi iz razloga jednostavnosti zapisuju kao osam grupa od po četiri heksadekadske znamenke odvojene dvotočkama. Često se iza adrese nalazi kosa crta i tzv. prefiks, koji onda tu adresu pretvara u raspon IPv6 adresa. 

10

Slika 4 Razlika između posljednje dvije verzije IP protokola

Page 14: Maturski Rad Informatika

4 HTTP protokol

4.1 Pojam HTTP protokola

HTTP je oznaka za Hypertext Transfer Protocol, mrežni protokol koji se koristi za prijenos datoteka i različitih tipova podataka (zajedničkim imenom nazvanih resursi ) na World Wide Web- u bilo da se radi o HTML datotekama, slikama, rezultatima različitih upita ili nečemu drugom. Najčešće HTTP koji je aplikacijski protokol u Internet slojevitom modelu za prijenos podataka, koristi TCP/IP protokol mrežnog sloja. 

4.2 Klijent-server model

Preglednik je HTTP klijent budući da šalje zahtjeve HTTP serveru ( web serveru), koji onda obrađuje zahtjev i odgovor šalje natrag klijentu. Standarni port koji osluškuju HTTP serveri je dobro znani port 80, iako se može koristiti i bilo koji drugi. Na svaki zahtjev klijenta (web preglednika) da mu dostavi sadržaj neke datoteke, web server dostavlja klijentu jednu kopiju te datoteke. Kopije iste datoteke mogu biti dostavljene mnogim klijentima. Isto vrijedi i za HTML (engl. HyperText Markup Language) pa istu web stranicu može istodobno gledati više korisnika koji rade na različitim računarima (engl. host) jer svaki korisnik gleda svoju kopiju izvornih datoteka koje sačinjavaju tu stranicu.

Komunikacija između web pretraživača (kao klijenta) i web servera odvija se pomoću niza naredbi (zahtjeva i odgovora) koje su definirane HTTP protokolom. Definicija i softverska realizacija naredbi toga protokola aplikacijskog sloja nadograđuje usluge TCP protokola (odnosno, TCP softvera) sa prijenosnog sloja mrežnog sistema. Dakle, naredbe HTTP softvera realiziraju se uz upotrebu naredbi TCP softvera. To znači, da izvođenje HTTP naredbi pokreće određene operacije TCP softvera (prijenosnog sloja), koji onda pokreće operacije IP sloja ispod sebe, i tako do sloja fizičkog sloja (na kojoj se odvija fizički prijenos zapisa).

11

Slika 5 Šema prikaza rada HTTP protokola

Page 15: Maturski Rad Informatika

4.3 Resursi

HTTP se koristi i za prijenos resursa, a ne samo datoteka. Resursi su bilo kakvi dijelovi informacija koji se mogu identificirati pomoću URL-a (engl. Uniform Resource Locator). URL je standardna adresa koja se koristi za pronalaženje stranice web servera ili drugog uređaja na Internetu i predstavlja opis lokacije određenog resursa na Internetu.URL je mrežno proširenje standardnog koncepta imena datoteke: potrebno je naznačiti ime datoteke u direktoriju, ali i na kojem se računaru u mreži nalazi ta datoteka i direktorij, te pomoću koje metode se datoteka može dohvatiti.

protokol://ime.računara/direktorij/resurs

Tri su osnovna dijela URL adrese:

ime protokola – nakon kojeg slijede dvotačka i dvije kose crte ime Internet računara – na njemu se nalati traženi servis, a opcionalno slijedi broj

porta nakon kojeg slijedi jedna kosa crta resurs – običan dokument ili datoteka na računaru

Najpoznatija vrsta resursa je datoteka, ali resurs također može biti i dinamički generiran rezultat upita, izlaz CGI skripte, dokument ili nešto drugo. Dok se proučava HTTP protokol najpraktičnije je o resursima razmišljati kao o nečemu sličnom datotekama budući da su gotovo svi resursi upravo datoteke ili izlazi skripti na serverskoj strani.

4.4 Struktura HTTP transakcija

Kao i mnogi drugi mrežni protokoli, HTTP se temelji na klijent - server modelu: HTTP klijent otvara vezu i šalje zahtjev HTTP serveru, a server vraća odgovor koji obično sadrži zahtjevani resurs. Nakon dostave odgovora, server zatvara vezu (što HTTP čini stateless protokolom - ne pamte se nikakve informacije o vezi između transakcija).

Format poruka zahtjeva i odgovora je sličan i engleski orijentiran. Obje poruke se sastoje od:

inicijalne linije nijedne ili više linija prazne linije opcionalno, tijela poruke (datoteka, podaci upita, izlaz upita)

12

Page 16: Maturski Rad Informatika

4.4.1 Inicijalna linija za zahtjev

Linija za zahtjev ima 3 dijela odvojena razmakom, a to su: ime metode, lokalna staza do zahtjevanog resursa , i verzija korištenog HTTP protokola. Tipična inicijalna linija izgleda ovako:

GET /staza/do/datoteke/index.html HTTP/1.0

GET je najpoznatija HTTP metoda koja služi za zahtjevanje određenog resursa, te imena metoda se uvijek pišu velikim slovima. Staza je dio URL-a nakon imena računala poznatog kao URI (engl. Uniform Resource Identifier). Verzija HTTP protokola je uvijek oblika „HTTP/x.x“

4.4.2 Inicijalna linija za odgovor (status linija)

Inicijalna linija za odgovor (status linija) također ima 3 dijela odvojena razmacima: verziju HTTP protokola, statusni kod odgovora koji je rezultat zahtjeva i kratak opis. Tipične statusne linije su npr. :

HTTP/1.0 200 OK

ili

HTTP/1.0 404 Not Found

Verzija HTTP protokola je u istom formatu kao i kod linije za zahtjev, „HTTP/x.x“.Statusni kod je trocifreni cijeli broj u kojem prva cifra određuje općenitu kategoriju odgovora:

1xx označava samo informacijsku poruku 2xx označava neku vrstu uspjeha 3xx preusmjerava klijenta ne drugi URL 4xx označava grešku na strani klijenta 5xx označava grešku na strani servera

Najčešći statusni kodovi su:

200 OK Zahtjev je uspješno ostvaren i rezultirajući resurs je vraćen u tijelu poruke

303 See other Resurs premješten na novi URL (dan u Location: zaglavlju odgovora)

404 Not found Zahtjevani resurs ne postoji

500 Server error Neočekivana greška servera, odnosno skripte na serverskoj strani

13

Page 17: Maturski Rad Informatika

4.4.3 Linija zaglavlja

Linije zaglavlja pružaju informacije o zahtjevu ili odgovoru, ili o objektu koji se šalje u tijelu poruke. Trebaju završavati sa CRLF (stadardni znak za prelazak u novi red).

HTTP 1.0 definira 16 zaglavlja, no nijedno nije obavezno. HTTP 1.1 definira 46 zaglavlja i jedno ( Host) je obavezno u zahtjevima. Radi mrežne pristojnosti, sljedeća zaglavlja bi bilo pristojno koristiti u svojim zahtjevima:

From: zaglavlje označava e- mail adresu osobe koja šalje zahtjev ili izvodi program koji to radi

User-Agent: zaglavlje identificira program koji šalje zahtjev u obliku: „Ime programa/x.xx “, gdje je x.xx obično alfanumerička oznaka za verziju programa. Npr. Mozilla Firefox 1.5 šalje zaglavlje „User - agent: Mozilla/5.0“.

Ta zaglavlja pomažu u otkrivanju problema a također otkrivaju informacije o korisniku.

4.4.4 Tijelo poruke

HTTP poruka može imati tijelo nakon linija zaglavlja. To je mjesto u odgovoru gdje se zahtjevani resurs šalje klijentu ili se šalje dodatni tekst s objašnjenjem ako je došlo do greške. U zahtjevu se u tijelu poruke stavljaju korisnički podaci ili se uploadani podaci šalju serveru. Ako HTTP poruka sadrži tijelo postoje obično i linije zaglavlja koje opisuju tijelo poruke.

4.5 Ostale HTTP metode

HEAD metoda je slična GET metodi osim što pitamo server da nam vrati jedino zaglavlja odgovora. To je korisno za provjeru karakteristika resursa bez da ga zapravo downloadamo i tako štedimo količinu informacija koja može biti prenesena u određenom vremenskom intervalu (engl. bandwitdth). Dakle, HEAD metodu koristimo kada nam zapravo nije potreban sam sadržaj neke datoteke. Odgovor na HEAD metodu nikada ne smije sadržavati tijelo poruke već samo statusnu liniju i zaglavlja.

POST metoda se koristi za slanje podataka serveru za obradu na jedan od načina kao što je npr. CGI skripta. POST metoda se razlikuje od zahtjeva GET metodom u sljedećem:

Postoji blok podataka poslanih sa zahtjevom u tijelu poruke. Obično postoje dodatnazaglavlja kao Content- Type: i Content- Length:.

Zahtjevani URI ( ) nije resurs nego je to obič no program koji obrađ uje podatke koje mu pošaljemo.

HTTP odgovor je obično izlaz programa, a ne statična datoteka.

14

Page 18: Maturski Rad Informatika

Slika 6 HTML obrazac

Zahtjevi POST metodom se mogu koristiti za slanje bilo kakvih podataka, ne samo podataka prikupljenih kroz HTML obrasce, a potrebno je samo osigurati da se klijentski i serverski program slažu u formatu komunikacije.

4.6 HTTP proksiji

HTTP proksi (engl. proxy) je program koji se ponaša kao posrednik između klijenta i servera. Prima zahtjeve od klijenata i prosljeđuje ih odgovarajućim serverima. Na isti način preko njega prolaze i odgovori servera prema klijentu tako da proksi ima ulogu i klijenta i servera.

Kada klijent koristi proksi onda sve zahtjeve šalje njemu umjesto serveru u URL-u.Zahtjevi prema proksiju se u jednome razlikuju od standarnih HTTP zahtjeva: u prvoj linijikoriste kompletan URL zahtjevanog resursa umjesto korištenja samo staze. Npr. :

GET http://www.ime-racunala.com/staza/datoteka.html HTTP/1.0

Na taj način proksi zna kojem će serveru proslijediti zahtjev (sam proksi također može korisiti drugi proksi). Proksiji se koriste u vatrozidovima (engl. firewall), lokalnim mrežama a česta je njihova primjena na webu za filtriranje neprimjerenih i uvredljivih web stranica te se takva u implementaciji nazivaju web proksiji (engl. web proxies). Druge vrste web proksija reformatiraju web stranice za namjenu u određenim uređajima, npr. Skweezer reformatira web stranice za mobilne uređaje i PDA-ove.

15

Page 19: Maturski Rad Informatika

Posebna vrsta Web proksija su CGI proksiji ( engl. CGI proxies). To su web stranice kojeomogućuju korisniku da preko njih pristupi drugim stranicama. Obično koriste PHP ili CGI za implementaciju proksija. CGI proksiji se često koriste za ostvarivanje prava pristupa stranicama koje su blokirane iz nekog razloga (npr. u školama, uredima i sl.). Budući da skrivaju korisnikovu IP adresu stranicama kojima se pristupa preko njih, ponekad se također koriste i za ostvarivanje određenog stepena anonimnosti.

4.7 Sigurnost HTTP protokola

Postoji nekoliko implementiranih metoda za sigurnost informacija koje se prenose putem HTTP konekcije. Jedna od najčešće primjenjenih metoda za sigurnost u HTTP okruženju je upotreba Secure Socket Layer (SSL) protokola. SSL funkcioniše kao sloj između TCP/IP prijenosnog sloja i aplikativnog sloja. Cjelokupan transfer između klijenta i servera SSL kriptuje (šifrira) i dekriptuje.Većina web servera tokođe može pružiti neke osnovne sigurnosne opcije. Ovo se ogleda u slučaju kada se posjetiocu neke strane prikaže dijalog u kome treba unijeti korisničko ime i lozinku prije odobravanja pristupa web stranici.Glavni problem sa ovim vidom autentifikacije je to što se podaci za korisničko ime i lozinku prenose preko mreže u forme čistog teksta, pa pri tome svako ko posjeduje program za „prisluškivanje“ saobraćaja na mreži (engl. network sniffer) može da dođe u posjed ovih informacija i da kasnije te podatke iskoristi za neovlašten pristup preko tog nalogaSve web stranice koje su osigurane sa SSL-om imaju HTTPS:// u svojoj Universal Resource Locator (URL) adresi. Ukoliko ne vidite HTTPS:// za ono za šta se tvrdi da je osigurana web prezentacija, nemojte unositi povjeriljive podatke.

4.8 HTTP/2

Posljednji update ovog protokola napravljen je davne 1999. godine kada je u upotrebu ušao HTTP 1.1 kojeg i danas koristimo. Novi protokol nosi naziv HTTP/2 i uskoro bi se mogao naći u upotrebi. Ne samo da će developeri moći koristiti nove funkcije, nego će i njihov posao u optimiziranju sadašnjih web servisa biti uveliko olakšan obzirom da HTTP/2  omogućava bržu komunikaciju i izvršavanje pri čemu se neće generisati povećanje učitavanja servera kao što je to bilo do tada. Jedan od glavnih savjeta je bio smanjiti što je moguće više broj HTTP zahtjeva, pa su se razvile brojne tehnike optimiziranja, a sve u cilju postizanja veće brzine i manjeg opterećenja servera.

16

Page 20: Maturski Rad Informatika

5 Zaključak

TCP/IP i HTTP protokoli su definitivno jedni od navjažnijih protokola, kao i najkorištenijih, što nam kazuje podatak da se njima koristi 90% računara cijeloga svijeta. Bez ikakve dileme možemo reći da današnji svijet ne bi ovako izgledao niti bi se Internet razvijao u ovom pravcu i ovom brzinom bez njihovog postojanja.

Naravno, prve verzije ovih protokola danas nisu u funkciji zbog kompleksnosti Internet mreže i potrebe ljudi za Internetom, ali osnova njihovog rada je ostala ista, dok su ažurirani neki dijelovi koji su omogućili lakšu razmjenu i protok informacija, te optimizaciju korištenja resursa.

17

Page 21: Maturski Rad Informatika

6 Literatura

Internet:

[1] www.tools.ietf.org  ( https://tools.ietf.org/html/rfc793 ; http://tools.ietf.org/html/rfc2616)

[2] www.study-ccna.com (http://study-ccna.com/osi-tcp-ip-models)

[3] www.sveznadar.info (http:// www.sveznadar.info /20-WINTipsTricks/100-MrezaUvod/16-TCP.html)

[4] www.mojip.ba (http://www.mojip.ba/)

[5] www.mreze.layer-x.com (http://mreze.layer-x.com/)

[6] www.phy.pmf.unizg.hr (http://www.phy.pmf.unizg.hr/~dandroic/nastava/ramr/poglavlje_3.pdf)

[7] www.znanje.org (http://www.znanje.org/abc/tutorials/internet_abc/01/160_tcp_ip.htm)

[8] www.mreze7bd.wikispaces.com (http://mreze7bd.wikispaces.com/Mre%C5%BEni+protokoli)

[9] www.bug.hr (http://www.bug.hr/forum/topic/razni-mrezni-problemi/osnove-mreza/21723.aspx)

Knjige:

[1] J.Marshall, HTTP Made Really Easy

[2] B.Komar, TCP/IP naučite za 21 dan

18

Page 22: Maturski Rad Informatika

KOMENTAR

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

____________________________________________________________

Datum predaje rada: ___. ___. ___. godine

Datum odbrane rada: ___. ___. ___. godine

Ocjena: ________________________________

Članovi Komisije:

1. _______________________________________

2. _______________________________________

3. _______________________________________

19