Idi na sadržaj

TCP/IP

S Wikipedije, slobodne enciklopedije

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. 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.
  2. 1 2 3 4 5 6 R. Braden (1989), Requirements for Internet Hosts – Application and Support. RFC 1123, https://tools.ietf.org/html/rfc1123.
  3. "Introduction to the IETF". IETF. Pristupljeno 9. 3. 2026.
  4. J. Reynolds (1987), The Request for Comments Reference Guide. RFC 1000, https://tools.ietf.org/html/rfc1000.
  5. Hafner, Katie; Lyon, Matthew (1996). Where Wizards Stay Up Late: The Origins of the Internet. Simon & Schuster. ISBN 978-0-684-81201-4.
  6. 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.
  7. V. Cerf; Y. Dalal; C. Sunshine (1974), Specification of Internet Transmission Control Program. RFC 675, https://tools.ietf.org/html/rfc675.
  8. Abbate, Janet (1999). Inventing the Internet. MIT Press. ISBN 978-0-262-01172-3.
  9. Cerf, Vinton G. (1980). "Protocols for Interconnected Packet Networks". ACM SIGCOMM Computer Communication Review. 10 (4): 10–11.
  10. Cerf, Vinton G. (1980). "Final Report of the Stanford University TCP Project". Pristupljeno 9. 3. 2026.
  11. F. Baker; ed. (1995), Requirements for IP Version 4 Routers. RFC 1812, https://tools.ietf.org/html/rfc1812.
  12. Ronda Hauben. "From the ARPANET to the Internet". TCP Digest. Arhivirano s originala, 21. 7. 2009. Pristupljeno 9. 3. 2026.
  13. "TCP/IP Internet Protocol". Living Internet. Arhivirano s originala, 1. 1. 2018. Pristupljeno 9. 3. 2026.
  14. "Brief History of the Internet" (PDF). Internet Society. 1997. Pristupljeno 9. 3. 2026.
  15. "Introduction to the IETF". IETF. Pristupljeno 9. 3. 2026.
  16. S. Cheshire (2011), Adaptation of RFC 1149 for IPv6. RFC 6214, https://tools.ietf.org/html/rfc6214.
  17. 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.
  18. J. Postel (1981), Internet Protocol. RFC 791, https://tools.ietf.org/html/rfc791.
  19. J. Postel (1981), Internet Protocol. RFC 791, https://tools.ietf.org/html/rfc791.
  20. Hunt, Craig (2002). TCP/IP Network Administration (3rd izd.). O'Reilly. str. 9–10. ISBN 9781449390785.
  21. Stevens, W. Richard (1994). TCP/IP Illustrated, Volume 1: The Protocols. Addison-Wesley. ISBN 0-201-63346-9.
  22. Comer, Douglas E. (2006). Internetworking with TCP/IP: Principles, Protocols, and Architecture. Prentice Hall. ISBN 0-13-187671-6.
  23. Tanenbaum, Andrew S. (2003). Computer Networks. Prentice Hall. ISBN 0-13-066102-3.
  24. Russell, Andrew L. (2013). "OSI: The Internet That Wasn't". IEEE Spectrum. 50 (8). Pristupljeno 9. 3. 2026.

Bibliografija

[uredi | uredi izvor]
  • Comer, Douglas E. (2001). Internetworking with TCP/IP – Principles, Protocols and Architecture. Prentice Hall. ISBN 86-7991-142-9.
  • Stevens, W. Richard (1994). TCP/IP Illustrated, Volume 1: The Protocols. Addison-Wesley. ISBN 0-201-63346-9.