TCP/IP
TCP/IP (skup internet protokola; engleski: Internet protocol suite) jest okvir za organiziranje komunikacijskih protokola koji se koriste na Internetu i srodnim računarskim mrežama prema njihovim funkcionalnim svojstvima. Temeljni protokoli u tom skupu jesu TCP, UDP i IP. Ranije verzije ovog mrežnog modela nazivale su se i internet arhitektonski model Ministarstva odbrane SAD-a jer je istraživanje i razvoj finansirala DARPA pri ministarstvu odbrane SAD-a.[1][2]
TCP/IP omogućava komunikaciju od kraja do kraja tako što određuje kako se podaci trebaju paketizirati, adresirati, prenositi, usmjeravati i primati. Ta funkcionalnost organizirana je u četiri apstrakcijska sloja, pri čemu svaki sloj obuhvata srodne protokole prema njihovom opsegu djelovanja u mreži. Implementacija tih slojeva za konkretnu primjenu čini protokolarni stog. Od najnižeg ka najvišem, slojevi su sloj veze, internet sloj, transportni sloj i aplikacijski sloj.[1][2]
Tehničke standarde na kojima počivaju TCP/IP i njegovi sastavni protokoli održava Internet Engineering Task Force (IETF). TCP/IP stariji je od OSI modela, općenitijeg referentnog okvira za mrežne sisteme.[3]
Historija
[uredi | uredi izvor]Rana istraživanja
[uredi | uredi izvor]Korijeni TCP/IP-a nalaze se u istraživanjima računarskih mreža koja je DARPA finansirala krajem 1960-ih. Nakon uspostavljanja ARPANETa 1969, Steve Crocker organizirao je Network Working Group, koji je razvio protokol host–host poznat kao Network Control Program (NCP).[4]
Godine 1972. Bob Kahn pridružio se DARPA-inom Uredu za tehnologiju obrade informacija, gdje je radio i na satelitskim i na radio-paketnim mrežama te uočio važnost njihove međusobne komunikacije. U proljeće 1973. počeo je s Vintom Cerfom raditi na novoj generaciji protokola za ARPANET radi omogućavanja međuumrežavanja. Njihov rad oslanjao se i na iskustva međunarodne istraživačke zajednice okupljene u International Network Working Groupu.[5][6]
Tokom 1973. Kahn i Cerf oblikovali su novi pristup u kojem su razlike među lokalnim mrežama skrivene iza zajedničkog međuumrežnog protokola, dok je pouzdanost, za razliku od tadašnjeg ARPANET-a, prepuštena krajnjim računarima. Prva specifikacija Transmission Control Programa objavljena je u decembru 1974.[7]
U verziji 4, zapisanoj 1978, Jon Postel razdvojio je izvorni Transmission Control Program na dva zasebna protokola: Internet Protocol (IP) kao bespojni sloj i Transmission Control Protocol (TCP) kao pouzdanu, spojno orijentiranu uslugu.[8][9]
Rane implementacije
[uredi | uredi izvor]Godine 1975. izveden je probni IP-prijenos između Univerziteta Stanford i University College Londona. U novembru 1977. obavljen je trosmjerni test između lokacija u SAD-u, Ujedinjenom Kraljevstvu i Norveškoj. Između 1978. i 1983. razvijeno je više prototipova IP-a u različitim istraživačkim centrima.[10]
U toj arhitekturi posebnu ulogu ima usmjernik (ranije često nazivan gateway), koji ima interfejs prema svakoj mreži i prosljeđuje mrežne pakete između njih.[11]
Usvajanje
[uredi | uredi izvor]U martu 1982. Ministarstvo odbrane SAD-a proglasilo je TCP/IP standardom za sva vojna računarska umrežavanja. Iste godine protokol su prihvatili i norveški NORSAR i NDRE, kao i istraživačka grupa Petera Kirsteina na University College Londonu.[12]
Prelazak ARPANET-a s NCP-a na TCP/IP dovršen je 1. januara 1983, na takozvani flag day, kada su novi protokoli trajno aktivirani.[13] Tokom 1980-ih održane su radionice i konferencije koje su doprinijele širem komercijalnom prihvatanju TCP/IP-a, a među prvim velikim kompanijama koje su ga usvojile bile su IBM, AT&T i DEC.[14]
Formalna specifikacija i standardi
[uredi | uredi izvor]Standardizacija TCP/IP-a i njegovih sastavnih protokola povjerena je IETF-u.[15] Osnovne specifikacije skupa predstavljene su u RFC-ovima 1122 i 1123, koji opisuju četiri široka apstrakcijska sloja i srodne protokole.[1][2] Ta struktura ostala je trajna, pa je TCP/IP kao model umrežavanja stariji od OSI modela. Kao njegov nasljednik razvijen je IPv6 radi rješavanja problema poput iscrpljivanja IPv4 adresa.[16]
Ključna arhitektonska načela
[uredi | uredi izvor]Jedno od središnjih načela TCP/IP-a jest načelo od kraja do kraja, prema kojem se održavanje stanja i većina „inteligencije“ sistema nalaze na rubovima mreže, odnosno u krajnjim računarima, dok sama mreža nastoji ostati što jednostavnija. U praksi su savremene potrebe, poput zaštitnih zidova, prevođenja mrežnih adresa i mrežnih predmemorija, djelimično izmijenile prvobitnu strogu primjenu tog načela.[17]
Važno je i načelo robusnosti, koje kaže da implementacija treba biti konzervativna pri slanju, a liberalna pri prijemu podataka, odnosno da treba pažljivo slati ispravno oblikovane datagrame, ali prihvatiti svaki onaj koji može smisleno protumačiti.[18][1]
TCP/IP se oslanja i na enkapsulaciju, pri čemu se podaci višeg sloja ugrađuju u jedinice prijenosa nižeg sloja. Time se postiže apstrakcija usluga i funkcija te omogućava da svaki sloj koristi usluge sloja ispod sebe bez poznavanja njegove unutrašnje implementacije.[1]
Slojevi
[uredi | uredi izvor]Sloj veze
[uredi | uredi izvor]Sloj veze obuhvata protokole koji djeluju unutar lokalne mrežne veze na koju je priključen host. U terminologiji TCP/IP-a takva lokalna cjelina naziva se link i predstavlja najniži sloj modela. On obuhvata sve uređaje dostupne bez prolaska kroz usmjernik, pa njegova veličina zavisi od konstrukcije mrežnog hardvera.[1]
Ovaj sloj koristi se za prijenos paketa između interfejsa internet sloja dvaju hostova na istoj vezi. Funkcije kao što su oblikovanje okvira, upravljanje prijenosom i pretvaranje mrežnih adresa IP-a u adrese sloja veze, npr. MAC adrese, izvršavaju se u upravljačkim programima, firmveru ili specijaliziranim čipsetima.[1] U TCP/IP modelu sloj veze djelimično odgovara drugom sloju OSI modela.
Internet sloj
[uredi | uredi izvor]Internet sloj omogućava slanje podataka iz izvorne u odredišnu mrežu, odnosno usmjeravanje između različitih mreža. Ovaj sloj pruža nepouzdanu uslugu prijenosa datagrama između hostova koji se mogu nalaziti na različitim IP mrežama i odgovoran je za prosljeđivanje paketa prema odgovarajućem sljedećem usmjerniku na putu ka odredištu.[19]
Glavna komponenta tog sloja jest Internet Protocol, koji definira sistem adresiranja za identifikaciju hostova i njihovo lociranje u mreži. Internet sloj ne pravi razliku među protokolima transportnog sloja; IP prenosi podatke za različite više protokole, a svaki se prepoznaje po posebnom broju protokola. U ovaj sloj spadaju i protokoli kao što su ICMP i IGMP.[1]
Transportni sloj
[uredi | uredi izvor]Transportni sloj uspostavlja podatkovne kanale koje aplikacije koriste za razmjenu podataka. On omogućava komunikaciju host–host u obliku usluga prijenosa poruka od kraja do kraja, nezavisno od konkretne mrežne infrastrukture i formata korisničkih podataka.[20]
Povezivanje na ovom sloju može biti spojno orijentirano, kao kod TCP-a, ili bespojno, kao kod UDP-a. Budući da IP sam po sebi pruža samo dostavu po principu „najboljeg napora“, pojedini transportni protokoli dodaju pouzdanost. TCP tako osigurava redoslijed pristizanja podataka, otkrivanje i odbacivanje duplikata, ponovno slanje izgubljenih segmenata i kontrolu zagušenja. Pored TCP-a i UDP-a, u transportni sloj ubraja se i SCTP.[1]
Aplikacijski sloj
[uredi | uredi izvor]Aplikacijski sloj sadrži protokole koje mrežne aplikacije koriste za međusobnu komunikaciju. U tom sloju djeluju, između ostalih, HTTP, FTP, SMTP i DHCP.[21]
U TCP/IP modelu ovaj sloj ne razdvaja posebno funkcije koje OSI model raspoređuje na sesijski, prezentacijski i aplikacijski sloj. Aplikacijski protokoli često su povezani s posebnim klijent-server uslugama, a mnogim uobičajenim uslugama IANA dodjeljuje poznate brojeve portova.[2]
Na aplikacijskom sloju TCP/IP razlikuje korisničke protokole i protokole podrške. Protokoli podrške pružaju usluge mrežnoj infrastrukturi, dok se korisnički protokoli koriste za stvarne korisničke aplikacije; tako je, naprimjer, FTP korisnički, a DNS protokol podrške.[1]
Razvoj slojevitosti i prikazi u literaturi
[uredi | uredi izvor]TCP/IP se razvijao kroz dugotrajan istraživačko-razvojni proces, pa su se tokom vremena mijenjale i pojedinosti pojedinih protokola i njihove slojevitosti. Zbog toga se u stručnoj literaturi pojavljuju različiti prikazi modela, s tri do sedam slojeva, zavisno od didaktičke ili tehničke namjene. U nekim udžbenicima fizički i sloj veze razdvajaju se u dvije cjeline, dok ih drugi spajaju u jedinstveni sloj pristupa mreži.[22][23]
Uprkos tim razlikama u prikazu, četveroslojna podjela iz RFC-ova 1122 i 1123 ostala je osnovni normativni opis TCP/IP skupa.[1][2]
Poređenje TCP/IP-a i OSI modela
[uredi | uredi izvor]TCP/IP i OSI model često se porede jer oba koriste koncept slojeva, ali su nastali u različitim okolnostima i s različitim ciljevima. OSI je razvijen kao opći referentni okvir za umrežavanje, dok je TCP/IP nastao iz konkretne implementacijske prakse i istraživanja međuumrežavanja. Zbog toga je TCP/IP općenito praktičniji i historijski utjecajniji, dok je OSI ostao važan prvenstveno kao teorijski i obrazovni model.[24]
Najčešća razlika u prikazu jeste to što TCP/IP nema zasebne sesijski i prezentacijski sloj, nego njihove funkcije uglavnom obuhvata aplikacijski sloj. Također, TCP/IP u klasičnom obliku ne izdvaja fizički sloj kao samostalnu cjelinu, nego ga podrazumijeva unutar sloja veze ili pristupa mreži.[1][2]
Implementacije
[uredi | uredi izvor]TCP/IP je u velikoj mjeri nezavisan od konkretne hardverske ili softverske platforme. Potrebni su samo odgovarajući hardver i programski sloj koji mogu slati i primati pakete na računarskoj mreži. Zbog toga je ovaj skup protokola implementiran na praktično svim značajnim računarskim platformama.[1]
Minimalna implementacija TCP/IP-a obično uključuje IP, ARP, ICMP, TCP, UDP i IGMP. Uz IPv6 obično su potrebni i NDP, ICMPv6 i MLD, a često se koristi i integrirani sigurnosni sloj IPseca.[1]
Također pogledajte
[uredi | uredi izvor]Reference
[uredi | uredi izvor]- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 R. Braden (1989), Requirements for Internet Hosts – Communication Layers. RFC 1122, https://tools.ietf.org/html/rfc1122.
- 1 2 3 4 5 6 R. Braden (1989), Requirements for Internet Hosts – Application and Support. RFC 1123, https://tools.ietf.org/html/rfc1123.
- ↑ "Introduction to the IETF". IETF. Pristupljeno 9. 3. 2026.
- ↑ J. Reynolds (1987), The Request for Comments Reference Guide. RFC 1000, https://tools.ietf.org/html/rfc1000.
- ↑ Hafner, Katie; Lyon, Matthew (1996). Where Wizards Stay Up Late: The Origins of the Internet. Simon & Schuster. ISBN 978-0-684-81201-4.
- ↑ Cerf, V.; Kahn, R. (1974). "A Protocol for Packet Network Intercommunication". IEEE Transactions on Communications. 22 (5): 637–648. doi:10.1109/TCOM.1974.1092259.
- ↑ V. Cerf; Y. Dalal; C. Sunshine (1974), Specification of Internet Transmission Control Program. RFC 675, https://tools.ietf.org/html/rfc675.
- ↑ Abbate, Janet (1999). Inventing the Internet. MIT Press. ISBN 978-0-262-01172-3.
- ↑ Cerf, Vinton G. (1980). "Protocols for Interconnected Packet Networks". ACM SIGCOMM Computer Communication Review. 10 (4): 10–11.
- ↑ Cerf, Vinton G. (1980). "Final Report of the Stanford University TCP Project". Pristupljeno 9. 3. 2026.
- ↑ F. Baker; ed. (1995), Requirements for IP Version 4 Routers. RFC 1812, https://tools.ietf.org/html/rfc1812.
- ↑ Ronda Hauben. "From the ARPANET to the Internet". TCP Digest. Arhivirano s originala, 21. 7. 2009. Pristupljeno 9. 3. 2026.
- ↑ "TCP/IP Internet Protocol". Living Internet. Arhivirano s originala, 1. 1. 2018. Pristupljeno 9. 3. 2026.
- ↑ "Brief History of the Internet" (PDF). Internet Society. 1997. Pristupljeno 9. 3. 2026.
- ↑ "Introduction to the IETF". IETF. Pristupljeno 9. 3. 2026.
- ↑ S. Cheshire (2011), Adaptation of RFC 1149 for IPv6. RFC 6214, https://tools.ietf.org/html/rfc6214.
- ↑ Blumenthal, Marjory S.; Clark, David D. (2001). "Rethinking the design of the Internet: The end-to-end arguments vs. the brave new world" (PDF). Pristupljeno 9. 3. 2026.
- ↑ J. Postel (1981), Internet Protocol. RFC 791, https://tools.ietf.org/html/rfc791.
- ↑ J. Postel (1981), Internet Protocol. RFC 791, https://tools.ietf.org/html/rfc791.
- ↑ Hunt, Craig (2002). TCP/IP Network Administration (3rd izd.). O'Reilly. str. 9–10. ISBN 9781449390785.
- ↑ Stevens, W. Richard (1994). TCP/IP Illustrated, Volume 1: The Protocols. Addison-Wesley. ISBN 0-201-63346-9.
- ↑ Comer, Douglas E. (2006). Internetworking with TCP/IP: Principles, Protocols, and Architecture. Prentice Hall. ISBN 0-13-187671-6.
- ↑ Tanenbaum, Andrew S. (2003). Computer Networks. Prentice Hall. ISBN 0-13-066102-3.
- ↑ Russell, Andrew L. (2013). "OSI: The Internet That Wasn't". IEEE Spectrum. 50 (8). Pristupljeno 9. 3. 2026.
Bibliografija
[uredi | uredi izvor]- Abbate, Janet (1999). Inventing the Internet. MIT Press. ISBN 978-0-262-01172-3.
- Comer, Douglas E. (2001). Internetworking with TCP/IP – Principles, Protocols and Architecture. Prentice Hall. ISBN 86-7991-142-9.
- Forouzan, Behrouz A. (2003). TCP/IP Protocol Suite (2nd izd.). McGraw-Hill. ISBN 978-0-07-246060-5.
- Hunt, Craig (1998). TCP/IP Network Administration. O'Reilly. ISBN 1-56592-322-7.
- Stevens, W. Richard (1994). TCP/IP Illustrated, Volume 1: The Protocols. Addison-Wesley. ISBN 0-201-63346-9.
- Tanenbaum, Andrew S. (2003). Computer Networks. Prentice Hall. ISBN 0-13-066102-3.