Você está na página 1de 13

IT330 RACUNARSKE MREZE

PREDMET

IT330 Racunarske Mreze


Projektni zadatak na temu

TCP/IP protokol

Student: Aleksandar Miljkovi 65

Januar 2008.

Projektni zadatak: TCP/IP protokol Kandidat: Aleksandar Miljkovi 65

1/13

IT330 RACUNARSKE MREZE

Sta je TCP/IP?

TCP/IP ( Transmission Control Protocol / Internet Protocol ) je set protokola razvijen da omoguci umrezenim racunarima da dele resurse putem mreze. Razvila ga je grupa razvojnog centra ARPAneta. Jos u periodu od juna 87. do juna 98. , vise od 300 razlicitih proizvodjaca imalo je proizvode koji su podrzavali TCP/IP , kao i desetine hiljada mreza, razlicitih velicina i tipova, koji su ih koristili. Taj broj je iz dana u dan sve veci, pa je ovo je najbolji primer znacaja TCP/IP-a u racunarskim telekomunikacijama. Najpribliznije objasnjenje seta protkola je "Internet Protocol Suite" (internet protokol odelo) [1]. TCP i IP su dva protokola u jednom "odelu". Sobzirom da su TCP i IP najpoznatiji protokoli,postao je uobicajen izraz TCP/IP ili IP/TCP za oznacavanje cele familije protokola .Medjutim to uopstavanje moze dovesti do nekih nepravilnosti. Na primer, kada je rec o NFS-u ( Network File System ) , verovatno ce se smatrati da je NFS baziran na TCP/IP, ali to nije tacno. On je ustvari baziran na IP-u I UDP-u (User Datagram Protocol ). Mrene tehnologije kakve su Ethernet, Token Ring i FDDI (Fiber Distributed Data Interface) obezbedjuju funkcije do nivoa-veze (data link layer). Drugim recima, to znaci da ove tehnologije obezbedjuju samo pouzdanu vezu izmedju jednog i drugog cvora u istoj mrezi, ali ne i funkcije koje se odnose na prenos podataka iz jedne mreze ka drugoj ili jednog mreznog segmenta ka drugom. Da bi se podaci prenosili kroz mreze potrebno je koristiti adresne seme (tehnike) koje ce biti razumljive (interpretirane) za bridge, gateway i rutere. Medjusobno povezivanje mreza se naziva umrezavanje (internetworking ili internet). Svaki deo internet-a naziva se sub-mrea (subnet). TCP/IP predstavlja par protokola koji omogucava da jedan deo subnet-a komunicira sa drugim.Sam protokol kao definicija predstavlja skup pravila za korektnu razmenu podataka izmedju dva uredjaja (racunara). U konkretnom slucaju, IP deo odgovara mrenom-nivou (network-layer) OSI modela dok TCP deo transportnom-nivou (transport-layer). Rad ovih protokola transparentan je fizickom-nivou i nivou-veze pa se zbog toga par TCP/IP moe koristiti za rad Etherneta, FDDI ili Token Ring-a. Adresa na nivou-veze odgovara fizickoj adresi cvora kakva je MAC adresa (kod Ethernet ili Token Ring) ili telefonskog broja (kod modemske veze). IP adresa dodeljuje se svakom cvoru internet-a i koristi se da identifikuje lokaciju mree i bilo kojih subnet-a. Slika 1(OSI i TCP/IP model)

Projektni zadatak: TCP/IP protokol Kandidat: Aleksandar Miljkovi 65

2/13

IT330 RACUNARSKE MREZE Svetska mreza Internet koristi TCP/IP kao standard za prenos podataka. Svakom cvoru na Internetu dodeljena je jedinstvena mrezna adresa koja se naziva IP adresa. Naglasimo da svaka organizacija moze da ima svoje internete, ali ako se ovi interneti spoje na Internet tada je potrebno da se njihove adrese sloze sa formatom kod Internet adresiranja.ISO je usvojio TCP/IP kao bazu za standarde koji se odnose na mrezne i transportne nivoe kod OSI modela. Ovaj standard je poznat kao ISO-IP.

OSI referentini model


OSI referentni model (Open Systems Interconnection - povezivanje otvorenih sistema) se odnosi na povezivanje sistema koji su otvoreni za komunikaciju sa drugim sistemima. To su, uprosceno receno, razliciti sistemi izmedju kojih pokusavamo da uspostavimo komunikaciju. Da bi to bilo moguce moraju se odrediti pravila po kojim dva fizicki udaljena sistema mogu komunicirati. OSI referentni model se sastoji iz sedam slojeva, od najnizeg koji opisuje fizicke i elektricne osobine mreze, pa do najviseg gde se nalazi korisnik podataka koji se prenose. Tih sedam slojeva su: sloj 7: aplikacioni (application) sloj 6: prezentacioni (presentation) sloj 5: sloj sesije (session) sloj 4: transportni (transport) sloj 3: mrezni (network) sloj 2: sloj veze (data link) sloj 1: fizicki (physical) Slika 2(OSI referentni model I TCP/IP)

Projektni zadatak: TCP/IP protokol Kandidat: Aleksandar Miljkovi 65

3/13

IT330 RACUNARSKE MREZE Zadatak svakog sloja je da primi i obradi podatke sloja ispod ili iznad sebe, koristeci definisana pravila, a pri tome ne znajuci nista o tome sta se sa podacima desava u sloju iznad i ispod njega. Fizicki sloj se bavi prenosom bitova podataka kanalom za komunikaciju. Standardi fizickog sloja (protokoli) su V.35, X.21, X.21bis (ITU standardi) i drugi. Sloj veze preuzima podatke od fizickog sloja, oslobadja ih od gresaka i prosledjuje ih mreznom sloju. Standardi su ISO HDLC (High Level Data Link Control) i ANSI ADCCP, Frame relay. Ethernet paket ima karakteristike sloja veze. Mrezni sloj prenosi poruke od izvora do odredista resavajuci pri tom probleme koje mu namece arhitektura mreze. Kada se paketi prenose od mreze do mreze ovaj sloj resava i probleme koje mu namece razlicito adresiranje u mrezama, drugaciji protokoli, i situacije u kojoj druga mreza ne moze prihvatiti paket veceg obima. Standardi su X.25, gateway (hardware i software koji spaja dve mreze) protokol X.75 (ITU standardi) i drugi. Kod TCP/IP-a ovo je IP nivo. Transportni sloj preuzima podatke od sloja sesije, ako je potrebno izdeli ih na manje celine, prosledi mreznom sloju i uveri se da li su dobro primljeni na drugom kraju veze. Standardi su na primer ITU X.224 i ECMA-72 (European Computer Manufactures Association). TCP je transportni sloj. Sloj sesije obezbedjuje da korisnici na razlicitim racunarima uspostave konverzaciju, prenose datoteke, da se prikljuce na udaljeni visekorisnicki sistem. Protokol ovog sloja je ITU X.225. Prezentacioni sloj se za razliku od slojeva ispod ne bavi prenosom podataka vec problemima njihove sintakse i semantike. Aplikacioni sloj cine programi za elektronsku postu, elektronski prenos novca i najrazlicitiji opstenamenski i specijalizovani programi (aplikacije).

Arhitektura TCP/IP
TCP/IP se karakterise slojevitom arhitekturom, slicno ISO OSI modelu,s tom razlikom da se kod njega srecu samo cetiri sloja: Sloj pristupa fizikom mediju prenosa (Physical Interface Layer) je sloj koji se bavi pristupu komunikacionom mediju kao sto su Token-ring, Ethernet, FDD, X.25 ili Frame Relay paketna mreza. TCP/IP paketi se mogu prenositi i serijskim linijama - koriscenjem Point-to-Point protokola (PPP), ili Serial Line Internet Protokola (SLIP). Mrezni sloj (Networking Layer) je sloj koji ukljucuje dva osnovna protokola: - Internet Protocol (IP) - koji kreira pakete za prenos od izvorisnog racunara do sledeceg cvora u mrei. - Internet Control Message Protocol (ICMP) - protokol koji generise poruke za upravljanje mrezom. Transportni sloj (Transport Layer) - poseduje dva glavna protokola: - Transmission Control Protocol (TCP) - koristi se za odravanje pouzdane komunikacione veze otporne na greke. - User Datagram Protocol (UDP) - koristi se za datagrame i poseduje manji tok podataka od TCP-a. Alikacioni sloj (Aplication Layer) - u okviru TCP/IP protokola definisan je niz aplikacija koje za komunikaciju koriste bas ove protokole. Neke od ovih aplikacija su: TELNET - aplikacija za pruzanje usluga virtuelnog, udaljenog terminala, na nekom hostu u mrezi. FTP - aplikacija za prenos fajlova od hosta do hosta. SMTP (Simple Mail Transfer Protocol) - sistemi elektronske poste.

Projektni zadatak: TCP/IP protokol Kandidat: Aleksandar Miljkovi 65

4/13

IT330 RACUNARSKE MREZE

Servisi TCP/IP-a

Nekoliko servisa omogucuje funkcije niskog nivoa koje koriste drugi procesi ili aplikacije. To ukljucuje IP, TCP i UDP. Drugi protokoli izvrsavaju konkretne zadatke, kao na primer prenos fajlova (file fransfer), elektronska posta (e-mail), proveravanje ko je prijavljen na koji racunar itd. TCP/IP se obicno koristi izmedju minikompjutera (to su komprujteri koji su sposobni da rade potpuno sami tj. oni imaju HDD (Hard Disk Drive) kao i sav ostali potreban hardver za funkcionisanje jednog racunara. Oni prakticno mogu da rade i kada mreza ne radi). Pojavom Windows operativnih sistema upotreba TCP/IP je postala jos masovnija, pre svega zato sto ju je Windows u mnogome olaksao.Servisi koje TCP/IP ima od samog pocetka su: Prenos fajlova (File transfer). File transfer protocol (FTP) omogucava korisnicima da sa bilo kog sistema (to je obicno neki obican racunar koji se nalazi u mrezi,) uzmu ili posalju fajl na bilo koji sistem. Ako je potrebno korisnik ce morati da unese svoje korisnicko ime (user name) I sifru (password) za sistem kome pristupa.FTP je ustvari alat koji se pokrece kada treba da se pristupi fajlovima na drugom racunaru. Isto tako se moze koristiti i za kopirajne fajlova sa jednog sistema na drugi, obicno sa nekog udaljenog sistema na vas sistem, da bi bili u mogucnosti da sa tim fajlovima radite u lokalu. Prijava na udaljeni racunar (Remote login). The Network Terminal Protocol (TELNET) omogucava korisniku da se prijavi na bilo koji drugi , udaljeni racunar. Sesiju zapocinjemo navodjenjem kompjutera na koji se prijavljujemo (logujemo). Od tog trenutka pa sve do kraja sesije sve sto je otkucano ce odmah biti poslato na drugi, udaljeni, sistem. Znaci, vi radite na vasem racunaru, a telnet program cini vase komande nevidljivim za vas racunar, sve dok ste logovani na udaljeni racunar. Svaki karakter koji se otkuca se direktno salje na udaljeni racunar. Naime kada se pristupi udeljenom sistemu on ce traziti od vas da se predstavite i unesete sifru, ako je potrebno, kao i kada nekom racunaru pristupate preko dialup-a. Kada se odjavljuje sa udaljenog sistema, telnet program zavrsava sa radom (obicno se iz njega izlazi) i vi ste u mogucnosti da opet komunicirate sa svojim racunarom. Implementacije programa koji podrzavaju telnet u sebi sadrze i terminalne emulacije za neke najcesce koriscene terminale Elektronska posta (computer mail, e-mail). Elektronska posta omogucava slanje poruke korisnicima na drugim racunarima. Ranije su ljudi obicno koristili jedan ili dva racunara. Sistem kojim se vrsilo odrzavanje (The computer mail system) je veoma jednostavno omogucavao kopiranje korisnickih mail fajlova sa jednog mesta na drugo. Samim tim nije bilo tesko odrzavati mail fajlove na tim racunarima, ali u mrezama u kojima se koriste mikrokompjuteri doslo je do problema.(Microcomputer oznazava neku vrstu terminala ili radne stanice koji se ranije koristio. On prakticno nije bio sposoban da radi bez mreze.) Glavni problem je to sto mikrokompjuter nije bas pogodan za primanje poste. Kada saljete postu mail program ocekuje da ce moci da uspostavi vezu (open a connection) sa navedenim kompjuterom da bi mu poslao mail. Ako je to mikrokompjuter , on je mozda iskljucen ili je na njemu pokrenuta neka aplikacija razlicita od mail programa. Zbog tih razloga veoma je prakticno da jedan racunar ,koji je stalno ukljucen, prima svu postu. On se naziva mail server. Tada mail program na mikroracunaru postaje aplikacija koja samo povremeno proveri da li ima poste i ako je potrebno prebaci je na mikroracunar.

Projektni zadatak: TCP/IP protokol Kandidat: Aleksandar Miljkovi 65

5/13

IT330 RACUNARSKE MREZE

Nacin rada TCP/IP protokola

TCP/IP je slojeviti skup protokola.Tipican primer koji objasnjava tu slojevitost je slanje elektronske poste.Prvo tu je protokol za postu (mail protocol). On definise skup komandi koji jedan racunar salje drugom, kao na primer komande koje odredjuju ko salje poruku , kome je poruka poslata i onda tekst poruke. Medjutim , protokol pretpostavlja da postoji nacin komunikacije izmedju ta dva kompjutera. Mail kao i svaki drugi protokol definise samo skup komandi i poruku koja treba da se posalje. On je napravljen da se oslanja na TCP/IP. TCP je odgovoran za to da je komanda sigurno stigla na odrediste. On vodi racuna o tome sta je poslato i ponovno salje sve ono zasta nije dobio potvrdu ,od drugog racunara da je stiglo. Ako je neka poruka prevelika, da bi stala u jedan datagram , kao na primer pismo, TCP ce je podeliti u nekoliko datagrama i postarati se da svi stignu. Na TCP se moze gledati kao na biblioteku rutina koje aplikacija koristi kada treba da preko mreze komunicira sa drugim racunarom. Slicno tome TCP se poziva na servise koje pruza IP. Iako servisi koje pruza TCP koriste mnoge aplikacije , ipak postoje i neke aplikacije koji ga ne koriste. Naravno tu su i servisi koji su potrebni svakoj aplikaciji. Ti servisi su stavljeni u IP. Kao i na TCP, na IP treba gledati kao na skup rutina koje TCP poziva , ali koje su dostupne i aplikacijama koje ne koriste TCP. Ovakav nacin pravljenja nekoliko nivoa protokola se naziva slaganje (layering). Aplikativni programimi kao sto je mail , TCP i IP su odvojeni slojevi (layers), a pritom svaki se poziva na servise protokola koji je ispod njega. TCP/IP aplikacija ima 4 sloja:

Slika 3(TCP/IP arhitektura)

Aplikativni protokol (npr. mail)

Sloj aplikacije

Servisi transportnog sloja Protokol kao sto je TCP koji omogucava servise potrebne mnogim aplikacijama Transportni sloj Servisi mreznog sloja IP, koji omogucava osnovni servis prenosenja datagrama do racunara koji treba da ga primi Mrezni sloj

Servisi sloja veze Protokol koji treba da upravlja podacima na fizickom nivou, kao sto je Ethernet ili direktna linija (point to point line). Sloj veze Fizicki sloj

Projektni zadatak: TCP/IP protokol Kandidat: Aleksandar Miljkovi 65

6/13

IT330 RACUNARSKE MREZE

TCP je baziran na catenet [2] modelu .Ukratko taj model pretpostavlja da postoji veliki broj mreza povezanih medjusobno gateway-ima. Korisnik bi trebalo da moze da pristupi kompjuteru ili bilo kom drugom resursu koji je u bilo kojoj od tih mreza. Datagrati ce verovatno proci kroz nekoliko razlicitih tipova mreza , pre nego sto stignu na odreds{te. Ruta, put kojim idu podaci, potrebna da bi se ovo ostvarilo bi trebala da bude potpuno nevidljiva za korisnika. Sto se tice korisnika , sve sto on teba da zna da bi pristupio drugom racunaru je internet adresa. Internet adresa obicnom korisniku izgleda ovako : 177.4.35.122. Medjutim to nije dvanaestocifreni broj vec 32-bitni. Kako je ljudima lakse da broje I pisu u dekadnom sistemu on se pise kao 4 dekadna broja i svaki predstavlja 8 bita te adrese ( Za te 8-bitne delove internet adrese u internet dokumentaciji se najcesce koristi rec oktet ( octet), iako bi bilo logicno da se koristi rec bajt (byte). To je zato sto se TCP/IP koristi na velikom broju sistema razlicitih vrsta, a postoje sistemi u kojima bajt ne iznosi 8 bita ). Ali , ipak struktura adrese daje neku informaciju o tome kako stici do nje.Npr: Pretpostavimo da je broj 177.4. dodeljen nekom, na primer, univerzitetu od strane centralnih internet vlasti ( central authority je odbor koji zvanicno dodeljuje internet adrese). Sada taj univerzitet raspolaze sa tom klasom internet adresa . On moze, na primer, katedri za matematiku dodeliti skup adresa 177.4.35. i sada katedra za matematiku ima na raspolaganju 254 adrese za kompjutere u svojoj mrezi (1 - 254, 0 i 255 nisu dozvoljene, tj. rezervisane su ) . Tako ce jedan racunar dobiti adresu 177.4.35.122. , drugi 177.4.35.145. itd. Dalje katedra za programiranje ce mozda dobiti dva skupa adresa, 177.4.15. i 177.4.16 ,pa ce ona imati 2*254 adrese koje ce moci da podeli racunarima u svojoj mrezi.. Pored IP adresa koriste se i simbolicke adrese racunara , koje se sastoje iz dve celine - imena racunara I imena domena kome racunar pripada.Ime racunara i domena su razdvojeni tackom. Domen je organizovan tako da prati hijerarhiju institucija ili organizacija kojima racunar pripada. Nazivi u okviru domena su takodje razdvojeni tackom. Domeni na prvom hijerarhijskom nivou uglavnom prestavljaju medjunarodno prihvacene skracenice za imena drzava . Izuzetak je SAD. Tamo postoji nekoliko domena registrovanih na prvom hijerarhijskom nivou kojima je osnovna kategorizacija delatnosti institucija kojima racunar pripada: edu - akademska institucija com - komercijalne institucije org - nekomercijalne institucije net - institucije zaduene za organizaciju Interneta gov - vladine institucije mil - vojne institucije. U org, net i com domenima su registrovane i neke institucije van teritorije SAD. Posto se sama komunikacija obavlja na osnovu IP adresa, neophodno je obezbediti povezivanje simbolicke adrese i njoj odgovarajuce IP adrese. Ovo povezivanje vrsi se pomocu distribuirane baze podataka koja se zove Domain Name System (DNS), smestene na racunarima prikljucenim na Internet koji obavljaju funkcije preslikavanja izmedju simbolicke I IP adrese Domain Name Serverima. Ogromna popularnost Interneta potice od bogatstva sadrzaja i usluga koje mreza nudi svojim korisnicima. Ove usluge se nazivaju servisi. Vecina servisa radi na principu klijent server arhitekture. To znaci da se negde na mrezi, na racunarima na kojima postoje podaci koji treba da budu dostupni korisnicima mreze, izvrsavaju serverski programi koji omogucuju pristup tim podacima, a na racunaru preko kojeg se pristupa Internetu izvrsava se klijentski program koji te podatke preuzima. TCP/IP je izgradjen na protokolu koji ne podrazumeva prethodno uspostavljanje veza ( connectionless technology ). Informacije se salju kao datagrami . Datagram je skup podataka koji su poslati u jednoj poruci. Svaki datagram se kroz mrezu salje odvojeno. Prvo se mora poslati datagram koji ce uspostaviti vezu na visim nivoima ( open connection ). U nekom trenutku podaci koji treba da se posalju, se dele u vise datagrama i ti datagrami se, na nizem nivou, tretiraju kao potuno odvojene poruke. Npr: Pretpostavimo da imamo fajl od 300000 bajtova (okteta). Kako vecina mreza ne moze da prosledjuje tolike datagrame , protokol ce podeliti taj fajl u, na primer, 200 datagrama od po 1500 bajtova. Svaki Projektni zadatak: TCP/IP protokol Kandidat: Aleksandar Miljkovi 65 7/13

IT330 RACUNARSKE MREZE od njih ce biti poslat na drugi kraj. Na racunaru koji prima, ti datagrami ce biti spojeni u isti onaj 300000 bajtni fajl. Medjutim dok se datagrami salju mreza ne zna da medju njima postoji bilo kakva veza. Sta vise cesto se desava da, na primer, 24. datagram stigne pre 23. Isto tako je moguce da zbog neke greske u mrezi neki datagram uopste ne stigne na drugi kraj. U tom slucaju taj datagram mora biti opet poslat. IP koristi datagram, a ne, na primer, paket. U principu razliku izmedju datagrama i paketa je tesko uociti , posto su ti pojmovi veoma slicni, ali datagram je prava rec kada se opisuje TCP/IP. Datagram je skup podataka koji osim korisnickih podataka sadrzi sve potrebne podatke o strani koja salje i strani koja prima (adrese). Datagrami su nezavisni paketi koji ne zahtevaju predhodno uspostavljanje veze. Datagrami se cesto, u zavisnosti od prenosnog medijuma, pakuju u pakete. Lokalne mreze mogu biti tipa Ethernet, dok mreze koje obuhvatau siroke oblasti ( WAN ) mogu biti H.25, Frame relay-a ili ATM. Standardne velicine paketa kod ovih mreza je razlicit a to zahteva u mnogim slucajevima deljenje IP datagrama. Takodje TCP/IP datagram u X.25 mrezi ce biti podeljen na 128bajtne pakete, u Frame relay mrezi na 1500-bajtne pakete a u ATM mrezi 48-bajtne celije . Ovo je nevidljivo za IP, zato sto se paketi spoje u jedan datagram pre nego sto se proslede TCP/IP-u. Znaci u tom slucaju jedan IP datagram ce biti prenet u nekoliko paketa. Kako vecina mreza uspeva da salje jedan datagram po paketu, ova razlika se gubi kao na primer kod Frame relay mreze gde je velicina paketa, obicno, mada se moze setovati po potrebi, 1514 bajtova. To je inace maksimalna velicna datagrama kod TCP/IP-a.

TCP nivo

Dva odvojena protokola su zaduzena za slanje TCP/IP datagrama. TCP je odgovoran za podelu poruka u datagrame, ponovno slanje datagrama koji nisu stigli i sastavljanje poruke na drugom kraju. IP je zaduzen da nadje put kojim ce datagrami stizati do onoga koji treba da ih primi, uobicaejni naziv je rutiranje. Ovako gledano cini se da TCP radi sav posao, sto je u malim mrezama tacno. Uprkos tome na internetu slanje datagrama do primaoca moze biti veoma kompleksno. Put moze biti preko nekoliko tipova mreza i medija preko kojih se podaci salju ( pocevsi od optickih kablova, preko koaksijalnih, direktnih veza, do klasicne telefonske linije). Voditi racuna o ruti i prevazilazenje nekompatibilnosti izmedju mreza i ovih medija nije ni malo jednostavan posao.Komunikacija izmedju TCP-a i IP-a prilicno jednostavna. TCP-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 salju pre ili posle njega. Nije dovoljno da datagram samo stigne na odrediste, TCP mora da zna kojom vezom je stigao taj datagram. Ovaj zadatak koji izvrsava TCP se naziva demultiplexing . Ustvari postoji nekoliko nivao demultiplexing-a koje obavlja TCP/IP. Informacije potrebne da bi demultiplexing bio korektan nalaze se u zaglavlju ( header ). Zaglavlje je , jednostavno receno, nekoliko dodatnih bajtova koji se ubacuju na pocetak poruke. To je princip koji cesto koristimo i u zivotu, na primer kada saljemo pismo. Pismo stavimo u kovertu koja je malo veca od samog pisma i onda na koverti napisemo adresu. Jedina razlika je u tome sto se u modernim mrezama to uradi nekoliko puta. Na primer ,to bi bilo kao da napisete pismo, onda ga ubacite u kovertu i upisete adresu. Pismo date sekretarici da ga posalje, a ona ga pre slanja ubaci u jos jednu kovertu i pozadi napise adresu. Onda ga u odeljenju za slanje poste ubace u jos jednu kovertu. Kasnije obezbedjenje sve to stavi u jednu kovertu , napise adresu itd. Kada pismo signe na odrediste ono pre nego sto signe onome kome je poslato, mora da prodje isti taj put, ali u suprotnom smeru. Sve to sa obicnim pismima nije potrebno, ali kod savremenih mreza jeste.

Primer TCP Zaglavlja I njegovih polja


Projektni zadatak: TCP/IP protokol Kandidat: Aleksandar Miljkovi 65 8/13

IT330 RACUNARSKE MREZE

Niz podataka koje zelimo da posaljemo nekom drugom racunaru moze izgledati ovako: ******************** TCP ce deliti ovu poruku u datagrame. Da bi ovo uradio TCP mora da zna koliki je najveci datagram koji mreza moze da propusti. Ustvari TCP stekovi obe strane dogovore se koliki je maksimalni paket koji mogu da koriste, a onda se bira manja vrednost . Danas se mreze setuju tako da propustaju standardne datagrame od oko 1500 bajtova (tacnije 1514 sa svim zaglavljima),mada ima i komplikovanijih slucajeva, na primer, kada datagram prolazi kroz vise tipova mreza. Poruka podeljena u nekoliko datagrama ce izgledati ovako : **** **** **** **** **** TCP stavlja zaglavlje na vrh svakog datagrama. Zaglavlje sadrzi najmanje 20 bajtova , ali najbitniji su port number (broj porta) i sequence number (broj sekvence).Port number se koristi da bi TCP znao sa koje veze mu dolazi taj podatak. Pretpostavimo da 3 coveka prenose neke fajlove na ili sa vaseg racunara. Vas TCP moze da odredi 3 bilo koja porta za ta tri transfera. Recimo da je on odredio portove 201, 202, i 203 za te transfere. Kada vi saljete datagram to postaje broj sourse port-a (izvornog porta), i sve to dok vi saljete podatke. Naravno TCP je na drugom kraju isto tako dodelio neki port za tu vezu. Vas TCP mora da zna i taj broj, a saznace ga u trenutku uspostavljanja veze. Taj broj se stavlja u destination port ( odredisni port ) polje. Ali ako racunar na drugom kraju salje vama poruku brojevi portova ce biti obrnuti , tj. port koji je TCP dodelio toj vezi na vasem racunaru ce biti u polju destination port , a port koji je TCP dodelio toj vezi na drugom racunaru ce biti u polju sourse port. Pored toga svaki datagram ima i sequence number ( broj sekvence ). Ovaj broj se koristi da bi TCP na drugom kraju bio siguran da su datagrami u pravom redu, ili ako je neki datagram zakasnio da ga ubaci na pravo mesto. TCP ne daje brojeve datagramima nego oktetima. To zanci da, ako je velicina datagrama 1500 okteta, onda ce prvi datagram nositi broj 0, drugi 1500, treci 3000, cetvrti 4500 itd. Sliedeca stavka je Checksum (kontrolnu sumu). To je broj koji TCP stavlja u zaglavlje radi provere. TCP pre nego sto posalje svaki datagram na osnovu datog algoritma izracuna tu kontrolnu sumu, i onda je upisije u odrdjeno mesto u zaglavlju. Kada datagram stigne na odrediste, racunar koji je primio taj datagram primenjuje isti algoritam na njemu i ako se razultati slazu znaci da je datagram stigao kako treba. Ako se rezultati razlikuju datagram se odbacuje i transfer tog datagrama se mora ponoviti. Zaglvlje koje TCP stavlja ce izgledati ovako: ------------------------------------------------------------------------------------------------------/ / / / / / Offset Data / Reserved Checksum Sourse Port / Sequence Number Acknowledgment Number / / / Flags Window Urgent Pointer / / / / / / Destination Port / / -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/ Podaci koji se salju ... sledecih 1500 bajtova / ****

Ako sa "T" obelezimo TCP zaglavlje ceo fajl koji treba da se posalje izgledace ovako:

Projektni zadatak: TCP/IP protokol Kandidat: Aleksandar Miljkovi 65

9/13

IT330 RACUNARSKE MREZE T**** T**** T**** T**** T****

U cilju potvrde da je neki datagram stigao primalac salje potvrdu (acknowledgment). To su poruke kod kojih je "acknowledgment number" polje popunjeno. Time onaj koji prima poruku stavlja, onome ko salje, do znanja da je primio sve poruke do navedenog bajta. Na primer slanje datagrama koji ima acknowledgment number 7500, ukazuje na to da je primalac primio sve datagrame do 7500-tog bajta. Ako posiljalac ne dobije potvrdu u odredjenom vremenu on ce datagram poslati opet. Sledece je Window (prozor) polje, koje se koristi kod skoro svih protokola. U Window polju se nalazi podatak o tome koliki je dozvoljen broj datagrama u saobracaju u jednom trenutku

Slika 4.(TCP zaglavlja jedne poruke)

Projektni zadatak: TCP/IP protokol Kandidat: Aleksandar Miljkovi 65

10/13

IT330 RACUNARSKE MREZE

IP nivo,primer IP zaglavlja I njegovih polja

Svaki datagram TCP salje IP-u. Uz to on navede i koja je internet adresa kompjutera na drugom kraju. To jedino sto zanima IP. Njega ne zanima, ni sta je u datagramu,ni TCP zaglavlje, ni da li je to poseban datagram ili je deo nekog fajla. Posao IP-a je da pronadje put do racunara sa datom internet adresom i da se postara da datagram stigne tamo. Da bi omogucio da gateway-i i ostali sistemi kroz koje datagram prolazi dalje prosledjuju datagram , IP dodaje svoje zaglavlje. Glavni podaci u tom zglavlju su internet adrese primaoca (sourse internet address) i posiljaoca (destination internet address), (32-bitne , kao na primer 177.4.35.122.), broj protokola koji mu je prosledio poruku (protocol number) i jos jedna kontrolna suma ( Checksum). Sourse internet address je ustvari IP adresa kompjutera sa koga se salje poruka. Ona je potrebna da bi primalac znao od koga mu stize poruka. Destination internet adderss je IP adresa racunara kome je datagram upucen. Ona je potrebna da bi svi gateway-i i medju-sistemi znali gde treba da ide taj datagram. Protocol number sadrzi informaciju o tome kom protokolu treba predati datagram kada on stigne na drugi kraj. Ovo je bitno zato sto, iako IP saobracaj 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 proveri da li je u toku transfera doslo do ostecenja datagrama. Ako jeste, datagram se odbacuje.TCP i IP imaju razlicite checksum-e. Da koristi checksum-u TCP-a, IP ne bi mogao da proveri da li je doslo do ostecenja u zaglavlju. Time bi poruka mogla biti poslata pogresnom racunaru. O razlozima zbog kojih se koriste dve chechsum-e se ne vredi baviti , jednostavno efikasnije je i sugurnije imati odvojene sume za TCP i IP. Kada IP zakaci svoje zaglavlje ceo datagram izgleda ovako :

------------------------------------------------------------------------------------------------------/ Version / / / / / TCP zaglavlje , pa podaci / / IHL / Type of Service / / / Flages Protocol / / Total Length Fragment Offset Header Checksum / / / / / -------------------------------------------------------------------------------------------------------Indetification Time to Live -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Sourse Address Destination Address / / -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Kada i IP stavi svoje zaglavlje, koje je ovde obelizeno sa "I" , ceo datagram izgleda ovako: IT**** IT**** IT**** IT**** IT****

Projektni zadatak: TCP/IP protokol Kandidat: Aleksandar Miljkovi 65

11/13

IT330 RACUNARSKE MREZE

Flages i Fragment Offset se obicno koriste da bi se datagram sastavio ako u toku prenosa dodje do podele IP datagrama. To se desava kada datagram prolazi kroz mrezu koja ne moze da propusti pakete odredjene velicine. U Time to live polju se nalazi broj koji oznacava maksimalni broj prolazaka kroz razlicite sisteme. Time to live se smanjuje svaki put kada datagram prodje kroz neki sistem. Kada stigne do nule datagram se brise.

Slika 5.(IP zaglavlje)

Projektni zadatak: TCP/IP protokol Kandidat: Aleksandar Miljkovi 65

12/13

IT330 RACUNARSKE MREZE

Reference
1. http://en.wikipedia.org/wiki/Internet_protocol_suite 2. http://www.cse.ohio-state.edu/cgi-bin/rfc/rfc781.html

Literatura
1. http://www.doc.ic.ac.uk 2. http://www.SearchNetworking.com 3. http://www.yale.edu/pclt/COMM/TCPIP.HTM 4. http://en.wikipedia.org/wiki/TCP/IP_model 5. predavanja I vezbe iz predmeta IT330 (Dr Zoran Bojkovic,Mr Dragorad Milovanovic) 6. predavanja I vezbe iz predmeta IT210 (Dr Miroslav Trajanovic, Mr Miodrag Strak) 7. http://tehnika.krstarica.com/l/rad-na-kompjuteru/internet-tcpip-protokoli

Projektni zadatak: TCP/IP protokol Kandidat: Aleksandar Miljkovi 65

13/13

Você também pode gostar