VIŠA POSLOVNA ŠKOLA Blace
SEMINARSKI RAD TEMA TCP/IP
Profesor Aleksandar Zakić
Student Nenad Đokić 82/05 Blace, 2007.
Uvod Računari se povezuju u mreže da bi povećali efikasnost i smanjili troškove. Povezivanje dovodi do ušteda i na nivou organizacije i na globalnom nivou (istim informacijama se može pristupati sa različitih lokacija). Glavni razlozi za umrežavanje računara: - Deljenje datoteka - Deljenje hardvera - Deljenje programa - Igranje sa više igrača - Komunikacija između korisnika Računarsku mrežu čine dva ili više računara koji su povezani tako da mogu da dele računarske resurse. Pod ovim resursima se podrazumevaju hardverske komponente (skener, štampač, modem...) i softverske komponente (informacije, baze, aplikacije...). Nekada je bilo neophodno da korisnici odštampaju ili kopiraju dokumente ukoliko žele da ih neko drugi menja i uređuje. Takođe, nije postojao ni jednostavan način da se te promene integrišu u originalan dokument. Zbog toga se i javlja potreba za umrežavanjem kao posledica stalnog porasta razmene podataka (pisama, poruka, memoranduma, poslovne statistike, izvještaja, baza podataka i sl.) među zaposlenima.
2
Šta je TCP/IP ? TCP/IP je set protokola razvijen da omogući umreženim računarima da dele resurse putem mreže. Razvila ga je grupa iz razvojnog centra okupljenog oko ARPAnet-a. Napomenimo još da je u periodu od juna 87. do juna 98. , više od 300 različitih proizvođača imalo proizvode koji su podržavali TCP/IP , i desetine hiljada mreža, različitih veličina i tipova, koji su ih koristili. Taj broj je iz dana u dan sve veći, što je najbolji primer značaja TCP/IP-a u računarskim telekomunikacijama. Najpribližnije objašnjenje seta protkola je "Internet Protocol Suite" (internet protokol odelo). TCP i IP su dva protokola u jednom "odelu". Sobzirom da su TCP i IP najpoznatiji protokoli postalo je uobičajen izraz TCP/IP ili IP/TCP za označavanje cele familije protokola . Primetno je da ljudi koji se time bave , koriste TCP/IP za označavanje cele familije protokola. Međutim to uopštavanje može dovesti do nekih nepravilnosti. Na primer, kada neko priča o NFS-u, on će verovatno reći kako je NFS baziran na TCP/IP, ali to nije tačno. On je ustvari baziran na IP-u i jednoj pojednostavljenoj verziji TCP-a, UDP-u.
3
TCP/IP TCP/IP je skup protokola, koji se još naziva i Internet protokol. Nastao je pod okriljem američke vladine agencije za napredna istraživanja (DARPA), ali je igrom slučaja vremenom postao osnova javne i globalne Internet mreže. Istraživanja su započeta 1970. godine, u saradnji sa nizom vodećih američkih univerziteta. Slojevi Kao i OSI model, TCP/IP je zasnovan na prenosu podataka po slojevima (sa tom razlikom da OSI model ima 7 slojeva, a TCP/IP 4 ili 5). Imena slojeva koje TCP/IP podržava su Aplikativni, Trasportni, Internet i Pristupni, pri čemu se u nekim podelama Pristupni sloj deli na Fizički i Datalink sloj. Sloj5-Aplikacije Aplikativni sloj TCP/IP-ja odgovara zbiru Aplikativnog, Prezentacionom i sloju Sesije OSI modela. Mrežni protokoli (i odgovarajući programi) na ovom nivou su Telnet, FTP, SNMP, HTTP i SMTP. Sloj4-Transport Transportni sloj odgovara sloju 4 OSI modela, sa tom razlikom da nema funkcionalnost OSI sesije. Osnovna namena ovog sloja je obezbedi prenosni servis. Najvažniji protokoli sloja 4 su TCP (Transmission Control Protocol) i UDP (User Datagram Protocol). Oba protokola služe aplikativnom sloju za prenos podataka, a sam izbor zavisi od zahteva za pouzdanošću prenosa: •
•
TCP je pouzdan, konekcioni protokol koji obezbeđuje proveru grešaka i kontrolu toka podataka preko virtualne veze, koja se uspostavlja i po završetku prenosa raskida. FTP, HTTP i SNMP servisi koriste TCP da bi obezbedili prenos podataka bez grešaka i gubitaka. UDP je nepouzdan, prenos bez konekcije, ali sa zato sa manjim opterećenjem mreže. UDP ne obuhvata proveru grešaka pri prenosu, niti ima mehanizme za kontrolu toka podataka. SNMP i multimedijalne aplikacije koriste UDP, SNMP zbog nadzora mreže (što je proces koji ne bi trebalo da preoptereti mrežu), a multimedijalne aplikacije zbog manjeg opterećenja mreže.
Sloj3-Internet Sloj 3 je odgovoran za usmeravanje (ruting) podataka preko mreže. Omogućava 4
komunikaciju preko mreža istog ili različitog tipa i obavlja prevođenje između različitih adresnih šema. IP (Internet Protocol) i ARP (Address Resoluton Protocol) se nalaze u sloju 3. Slojevi1i2 Kombnacija prenosa po Datalink i Fizičkom sloju se obavlja u hardveru uz pomoć pristupnih metoda jao što su CSMA/CD (Carrier Sensed Multiple Access with Collision Detection) iz Ethernet protokola. Ethernet funkcioniše na pristupnom nivou mreže, tako što Ethernet elektronika radi na Fizikom sloju, a CSMA/CD MAC (Medium Access Control) metod po Datalink sloju.
Paketski prenos podataka Paket je jedinica podataka u bilo kom mrežnom sloju, pre ili posle prenosa. U okviru Aplikativnog sloja, podaci se nazivaju porukom, unutar Transportnog sloja to su TCP i UDP segmenti. U okviru Internet sloja to su IP, ARP ili RARP datagrami. U okviru Datalink sloja to su okviri ili ramovi, a na fizičkom sloju to su biti. Tokom puta podataka ka nižim slojevima mrežnih protokola sukcesivni nivoi enkapsuliraju podatake sa dodatnim informacijama. Kada se posle obavljenog prenosa okvir primi na odredištu, sukcesivni slojevi de-enkapsuliraju podatak na svom putu ga nižim mrežnim slojevima.
Skup protokola TCP/IP Često se koristi pojam ''protokol TCP/IP'' , iako su to dva potpuno različita protokola koji rade u sloju 3 (IP) i sloju 4 (TCP)modela OSI.Ovaj pojam se koristi i kada se misli na skup protokola, među kojima su protokoli TCP i IP najpopularniji. Protokol IP je osnovni protokol mrežnog sloja, na kojem se zasnivaju ostali protokoli. TCP/IP je skup protokola za Internet. Na sledećoj slici prikazano je mapiranje pojedinih TCP/IP protokola na slojeve OSI modela:
5
Protokol IP Protokol IP se temelji na zamisli čvora i mreža.Čvor je uređaj u mreži koji je sposoban da šalje i prima IP pakete preko mreže. Iz tog razloga IP čvorovi mogu biti usmerivači, radne stanice, serveri i bilo koji uređaj koji ima IP adresu. Za skup čvorova koji zajedno koriste istu adresnu strukturu, kaže se da čine IP mrežu. U mrežama pod IP protokolom važi osnovno pravilo da čvorovi iz iste mreže mogu direktno komunicirati između sebe. Ako dva čvora iz različitih mreža hoće da komuniciraju neophodan je usmerivač koji će posredovati između dve mreže. Usmerivač radi u sloju 3 , kao i protokol IP. Ukoliko se dva čvora nalaze u dve različite IP mreže, znači da imaju dve različite mrežne adrese, a samim tim i dve različite adrese sloja 3.
Arhitektura TCP/IP protokola Generalno gledajući TCP/IP protokol je sastavljen od manjeg broja slojeva od onih korištenih u OSI modelu. Mnogi opisi TCP/IP definišu se sa tri do pet funkcionalnih slojeva arhitekture protokola. Četvoro-slojni model prikazan na slici pokazuje korelaciju između OSI i TCP/IP modela. TCP/IP model je baziran na tri sloja (aplikacijski, prijenosni i mrežni) i dodatnim internet slojem.
6
Slika. Upoređivanja OSI i TCP/IP modela
Isto kao i u OSI modelu, podaci se šalju prema dole niz stack, kada su poslani na mrežu, i gore uz stack, kada su primljeni sa mreže. Podaci se u TCP/IP-u šalju niz protokol stack iz aplikacijskog sloja sve do fizičke mreže. Svaki sloj u stacku dodaje kontrolnu informaciju da bi potvrdio sigurnu dostavu. Ova kontrolna informacija naziva se zaglavlje (header) jer je postavljen na početak podatka koji se treba poslati. Svaki sloj tretira sve informacije koje primi iz sloja iznad kao podatke i stavlja svoje zaglavlje na početak informacije. Kada su podaci primljeni, događa se suprotno, svaki sloj “skida“ svoje zaglavlje pre nego što pošalje podatke sloju iznad..
Slika. Prolaz podataka kroz slojeve
7
Internet protokol (IP) Internet protokol (IP) se koristi za bespojnu komunikaciju izme]u računara, a za prenos ga koriste TCP i UDP. On je odgovoran za pravilno adresiranje računara i prosleđivanje paketa, ali ne garanuje njihovo dostavljanje. IP može razbiti poruke na manje pakete te ih sastaviti na odredištu s time da svaki deo može krenuti drugim putem kroz mrežu. Ako paketi ne stignu pravim redosledom IP protokol će ih sastaviti u ispravan paket.
Slika. Datagram
Slika. IPv4 header
8
Tablica. Opis IPv4 header
9
Slika.Opis IPv6 header
TCP protokol TCP je obostrani spojni protokol koji spaja 2 računara, te obezbeđuje da paketi dolaze na odredište traženim redosledom. TCP koneckija može biti i unutar jednog računara (mnoge aplikacije komuniciraju na taj način, npr. X window system).
Slika. TCP segment
10
Slika. TCP header
Tablica. Opis TCP headera
Tablica. Poznatiji TCP portovi
11
TCP nivo Dva odvojena protokola su zadužena za slanje TCP/IP datagrama. TCP (transmission control protocol) je odgovoran za podelu poruka u datagrame, ponovno slanje datagrama koji nisu stigli i sastavljanje poruke na drugom kraju. IP (Internet protocol) je zadužen da nađe put kojim će datagrami stizati do onoga koji treba da ih primi, uobičajeni naziv je rutiranje. Ovako gledano čini se da TCP radi sav posao, što je u malim mrežama tačno. Uprkos tome na internetu slanje datagrama do primaoca može biti veoma kompleksno. Put može biti preko nekoliko tipova mreža i medija preko kojih se podaci šalju (počevši od optičkih kablova, preko koaksijalnih, direktnih veza, do klasične telefonske linije). Voditi računa o ruti i prevazilaženje nekompatibilnosti između mreža i ovih medija nije ni malo jednostavan posao. Primetite da je komunikacija između TCP-a i IP-a prilično jednostavna. TCP IP-u predaje samo datagram sa destinacijom na koju treba da stigne. IP ne zna da li i kako je taj datagram povezan za onima koji se šalju pre ili posle njega.
IP nivo Svaki datagram TCP šalje IP-u. Uz to on navede i koja je internet adresa kompjutera na drugom kraju. Primetite da je to jedino što zanima IP. Njega ne zanima, ni šta je u datagramu,ni TCP zaglavlje, ni da li je to poseban datagram ili je deo nekog fajla. Posao IP-a je da pronađe put do računara sa datom internet adresom i da se postara da datagram stigne tamo. Da bi omogućio da gateway-i i ostali sistemi kroz koje datagram prolazi dalje prosleđuju datagram , IP dodaje svoje zaglavlje. Glavni podaci u tom zglavlju su internet adrese primaoca (sourse internet address) i pošiljaoca (destination internet address), (32-bitne , kao na primer 177.4.35.122.), broj protokola koji mu je prosledio poruku (protocol number) i još jedna kontrolna suma (Checksum). Sourse internet address je ustvari IP adresa kompjutera sa koga se šalje poruka. Ona je potrebna da bi primalac znao od koga mu stiže poruka. Destination internet adress je IP adresa računara kome je datagram upućen. Ona je potrebna da bi svi gateway-i i među-sistemi znali gde treba da ide taj datagram. Protocol number sadrži informaciju o tome kom protokolu treba predati datagram kada on stigne na drugi kraj. Ovo je bitno zato što, iako IP saobraćaj ide preko TCP-a, postoje i drugi protokoli koji koriste IP, pa je bitno znati kom protokolu predati datagram. Na kraju tu je i checksum-a. Ona ima istu ulogu kao i kod TCP zaglavlja, da
12
proveri da li je u toku transfera došlo do oštećenja datagrama. Ako jeste, datagram se odbacuje. Treba primetiti da TCP i IP imaju različite checksum-e. Da koristi checksum-u TCP-a, IP ne bi mogao da proveri da li je došlo do oštećenja u zaglavlju. Time bi poruka mogla biti poslata pogrešnom računaru.
13
LITERATURA 1. Dobrilović, „ELEKTRONSKO POSLOVANJE“ TF Mihajlo Pupin, Zrenjanin 2005. god. 2. Miodrag Dinić, „UVOD U NOVELL NETWARE“ Mikro knjiga, Beograd 1994. god 3. Damir Baronica, „UMREŽAVANJE RAČUNALA“ Strijelac, Zagreb 2000.
god. 4. Stephen J. Bigelow, “RAČUNARSKE MREŽE“ Mikro knjiga, Beograd 2004.
god 5. Joe Habraken, “OSNOVE UMREŽAVANJA” Mikro knjiga, Beograd 2002.
god 6. Douglas E. Comer, “POVEZIVANJE MREŽA - TCP/IP PRINCIPI, PROTOKOLI I ARHITEKTURE” Cet, Beograd četvrto izdanje 7. Kurose i Ross “UMREŽAVANJE RAČUNARA:OD VRHA KA DNU SA INTERNETOM U FOKUSU” Cet, Beograd
8. www.cet.co.yu/citaliste 9. www.elitesecurity.org 10. www.cisco.com/univercd/cc/doc/cisintwk/ito_doc/frame.pdf
14
Sadržaj Uvod............................................................................................................................................2 Šta je TCP/IP ?............................................................................................................................3 TCP/IP.........................................................................................................................................4 Paketski prenos podataka............................................................................................................5 Skup protokola TCP/IP...............................................................................................................5 Protokol IP..................................................................................................................................6 Arhitektura TCP/IP protokola.....................................................................................................6 Internet protokol (IP)..................................................................................................................8 TCP protokol.............................................................................................................................10 TCP nivo ..................................................................................................................................12 IP nivo ....................................................................................................................................12 LITERATURA..........................................................................................................................14 Sadržaj.......................................................................................................................................15
15