Prvo što treba objasniti je sam pojam mrežnog protokola. To je, govoreći običnim jezikom, skup pravila i uputstava za ostvarivanje nekog dijela komunikacije između dva računara. Tako imamo različite protokole gdje svaki ima svoje posebno mjesto i vrši određenu ulogu. Postoje protokoli koji prave pakete i šalju ih, dodjeljuju adrese računarima u mreži, definišu razmjenu hiperteksta tj. gledanje web prezentacija, protokole vezane za e-mail...
    Naravno, da bi dva računara ostvarila sesiju potrebno je da oba imaju protokole, dakle set pravila, po kojima ce se ta sesija uspostaviti. Protokoli, podrazumijeva se, moraju biti isti na svim računarima koji se nalaze u mreži.

    TCP/IP je skup protokola neophodnih za uspostavljanje komunikacije između računara u mreži, skup protokola na kojima se zasniva i 'mreža nad mrežama' , Internet. Obuhvata mnoštvo protokola od kojih ću pažnju posvetiti samo najvažnijima.
     U shvatanju TCP/IP-a i njegove uloge na pravi način pomoći ce i shvatanje istorije Interneta i koncepta na kome je zasnovan. Počeci sežu u 1962. kada  ARPA (Advanced Research Project Agency) angažuje Pola Barana da realizuje projekat decentralizovane mreže koja bi preživjela eventualni sovjetski udar. Naime, sve do tad je postojala mreža koja je zavisila od jednog, centralnog računara sa kojim su ostali povezani. Dakle, on je predstavljao deo mreže čijim bi uništenjem mreža i podaci prestali da postoje. Baran je došao na ideju da umjesto tog dotadašnjeg koncepta centralizovane mreže stvori decentralizovanu, u kojoj bi svi računari bili međusobno povezani, svaki sa svakim, ravnopravni, i u tom slučaju rušenjem pojedinih elemenata mreže ona ne bi bila prekinuta, već bi se komunikacija nastavila preko preostalih računara. Ta mreža je bila paketna, što znači da podaci nisu slani u jednom komadu, već izdjeljeni na pakete. To se prije svega koristilo kao prevencija u slučaju mogućeg presretanja podataka, ali i radi ostvarivanja boljeg kvaliteta konekcije, o čemu će biti govora kasnije. Protokol koji se koristio pri prenosu podataka u ovoj mreži bio je NCP (Network Control Protocol). ARPAnet sve više raste, uspostavljaju se mreže između univerziteta, pa dolazi do potrebe za savršenijim protokolom koji bi regulisao komunikaciju između zasebnih mreža i 1973. započinje razvoj TCP/IP-a. Uskoro dolazi i do pojave Etherneta koji omogućava razvoj lokalnih mreža, tkz. LAN mreža ( o tome više u dijelu Tipovi mreža) i SATNET-a, mreže koja preko satelita povezuje SAD i Evropu.
      1983. ARPAnet se dijeli na dva segmenta: vojnu mrežu MILNET i javni deo ARPAnet. Iste godine se prestaje sa upotrebom NCP protokola i svi povezani u ovu mrežu bivaju obavezni da se prebace na novi set protokola, TCP/IP. Od tada pa nadalje dolazi do neprestanog razvoja mreže u ono sto se danas zove Internet.
       Prije nego što počnemo govoriti o  TCP/IP-u, moramo se upoznati sa pojmom otvoreni sistem. Šta je to? Kako im samo ime kaže, to su sistemi koji se stalno mogu modifikovati. U takve mreže je stalno moguće ubacivati izmjene koje se prvo moraju verifikovati. Cilj uvođenja cijelog koncepta otvorenih sistema jeste da smanji razolikost u oblasti mrežnih komunikacija, to jeste otvoreni sistemi teže ka standardizaciji svih segmenata mreže. Svaka izmjena koja se implementira i prihvati postaje standard. Time se sprečavaju sukobi u komunikaciji koji mogu da nastanu usled korišćenja opreme i metoda koje drugi računar ne prepoznaje, dakle sprečava se nekompaktibilnost uređaja. Tipičan primjer otvorenog sistema u oblasti protokola jeste TCP/IP, koji se stalno može modifikovati putem RFC-ova, ako se neki RFC usvoji kao standard, on postaje i dio TCP/IP-a. Model koji se koristi za standardizaciju sistema naziva se OSI referentni model (Open System Interconnection). Više informacija o OSI modelu možete naći ovde.

     TCP/IP je definisan uz pomoć standarda oličenih u vidu tekstova, tkz. RFC-ova (Request For Comment).
Za one koji žele da saznaju više o TCP/IP preporučujem da pročitaju neke od ovih tekstova i upoznaju se sa arhitekturom Interneta. RFC dokumenti se mogu pronaći na strani  http://www.rfc-editor.org/
     Prije nego što se TCP/IP programi pokrenu preko direktne veze, potrebno je instalirati softver TCP/IP stack. Šta je to? TCP/IP stack može da se shvati kao neka vrsta drajvera potrebnog za priključenje mreži koja radi pod ovim skupom protokola. Kao što vam je potreban drajver za, recimo, štampač da bi poslali podatke iz nekog tekst editora na štampanje, potreban vam je drajver da pošaljete podatke svom dial-in programu i primite podatke sa njega. TCP/IP stack za Windows se naziva Winsock. Dakle, to je programski interfejs preko koga se protokol sprovodi.
    
Unutar TCP/IP-a postoji protok podataka. To znači da postoje niži i viši protokoli koji su poredani po slojevima kroz koje podaci prolaze. Primjer osnovne strukture TCP/IP-a možete pogledati ovde.
      Postoje četiri sloja TCP/IP-a : mrežni i Internet sloj, transportni i aplikacioni sloj. Ta četiri sloja se mogu uporediti sa slojevima OSI modelom sistema. TCP/IP ne pravi razliku između uređaja i njihovih drajvera, što znači da kombinuje i fizički i sloj podataka OSI sistema u svom mrežnom sloju. Zbog toga može da bude primjenjen u svakoj mrežnoj topologiji. Internet sloj odgovara mrežnom sloju OSI modela, obezbjeđuje adresiranje i rutiranje. Transportni slojevi kod oba modela pružaju krajnju komunikaciju hostova u mreži. Sloj aplikacije TCP/IP-a kombinuje slojeve prezentacije, sesije i aplikacije OSI-a.
      Protokoli Internet sloja su ARP(Address Resolution Protocol), ICMP(Internet Control Message Protocol), IP(Internet Protocol), IGMP(Internet Group Messaging Protocol).
      Transportni sloj čine TCP(Transmission Control Protocol) i UDP(User Datagram Protocol) .
      Aplikacioni sloj čine razne Winsock i NetBIOS aplikacije. U njemu se nalaze i HTTP i FTP.