Professional Documents
Culture Documents
TCP/IP I Internet
TCP/IP I Internet
Sadrzaj
UVOD......................................................................................................................3 LITERATURA.......................................................................................................36
Uvod
Ovaj rad se bavi principima rada TCP/IP protokola. Citaoci koji se po prvi put srecu sa TCP/IP-om mogu saznati sta je to TCP/IP i na kom principu on funkcionise kao i nesto o istoriji interneta. Napredniji citaoci ovde mogu naci dve stvari prvo sistematski prikazan TCP/IP i njegov princip rada u raznim okruzenjima a pored toga mogu naci i neke korisne stvari za bolje razumevanje problema koji je javljaju na TCP/IP mrezama !ovde se pre svega misli na internet" pa samim tim i otklanjanje isti# dalje podizanje TCP/IP mreza nacine adresiranja i tako dalje. Prvo poglavlje se bavi istorijom interneta i veoma je korisno za one koji se prvi put susrecu sa TCP/IP mrezama mada je takodje zanimljivo i onima koji su vec duze vreme u internet vodama. Tu je takodje skrenuta paznja na osnove komunikacija uopste kao i servise koji se za#tevaju u racunarskim mrezama. $rugo poglavlje je sustinsko za razumevanje samog TCP/IP-a. Tu su objasnjene osnovne mogucnosti i princip rada TCP/IP-a. Ovo poglavlje predstavlja osnovu za stvari objasnjene kasnije. Trece poglavlje je korisno za sve one koji #oce da razumeju vise nivoe komunikacije od TCP/IP-a. Tu je objasnjen pojam portova i aplikativnog nivoa komunikacije kao i primeri komunikacije na novoima iznad TCP/IP-a. Tu se vidi prava svr#a i prednosti TCP/IP-a. % cetvrtoj glavi su opisana dva protokola koji su nesto jednostavniji od TCP/IPa ali koja imaju izuzetno siroku primenu. Tu se pre svega misli na %$P koji je pored TCP-a jedan od najkorisceniji# protokola cetvrtog nivoa komunikacije danas. Pregled adresiranja je dat u petoj glavi i predstavlja deo koji ce biti zanimljiv svim citaocima. &asnije u tom poglavlju je objasnjen pojam podmreza i predstavljene su mogucnosti i problemi koji se tu mogu sresti. I najzad na kraju je objasnjena jedna nova te#nologija koja trenutno ima najvece sanse da napravi pravi bum u svetu komunikacija zato sto omogucava da uz pomoc racunara ne samo razgovarate sa nekim nego i da ga vidite a sve to preko IPa. Ova te#nologija ima velike mogucnosti i predstavlja te#nologiju koja se trenutno najbrze razvija i u koju se mnogo ulaze.
1.
Sta je TCP/IP ?
TCP/IP je set protokola razvijen da omoguci umrezenim racunarima da dele resurse putem mreze. 'azvila ga je grupa iz razvojnog centra okupljenog oko ('P(net-a. Napomenimo jos da je u periodu od juna )*. do juna +). vise od ,-razliciti# proizvodjaca imalo proizvode koji su podrzavali TCP/IP i desetine #iljada mreza razliciti# velicina i tipova koji su i# koristili. Taj broj je iz dana u dan sve veci sto je najbolji primer znacaja TCP/IP-a u racunarskim telekomunikacijama. Navedimo prvo neke osnovne definicije vezane za sam protokol. Najpribliznije objasnjenje seta protkola je .Internet Protocol /uite. !internet protokol odelo". TCP i IP su dva protokola u jednom .odelu. !sto ce biti detaljnjije obajsnjeno u sledecem poglavlju". /obzirom da su TCP i IP najpoznatiji protokoli postao je uobicajen izraz TCP/IP ili IP/TCP za oznacavanje cele familije protokola . Primetno je da i laici ali i ljudi koji se time bave koriste TCP/IP za oznacavanje cele familije protokola. 0edjutim to uopstavanje moze dovesti do neki# nepravilnosti. Na primer kada neko prica o N1/-u on ce verovatno reci kao je N1/ baziran na TCP/IP ali to nije tacno. On je ustvari baziran na IP-u i jednoj pojednostavljenoj verziji TCP-a %$P-u. /ve ove skracenice bice razjasnjene u daljem tekstu. (li pre nego sto se upoznamo sa TCP/IP-om spomenimo sedam nivoa komunikacije koji ce nam pomoci da bolje s#vatimo slojevitost TCP/IP-a.
1.1.
O/I referentni model !Open /2stems Interconnection - povezivanje otvoreni# sistema" se odnosi na povezivanje sistema koji su otvoreni za komunikaciju sa drugim sistemima. To su uprosceno receno razliciti sistemi izmedju koji# pokusavamo da uspostavimo komunikaciju. $a bi to bilo moguce moraju se odrediti pravila po kojim dva fizicki udaljena sistema mogu komunicirati. O/I 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. Ti# sedam slojeva su3 sloj *3 aplikacioni !application" sloj 43 prezentacioni !presentation" sloj 53 sloj sesije !session" sloj 63 transportni !transport" sloj ,3 mrezni !net7ork" sloj 83 sloj veze !data link" sloj 93 fizicki !p#2sical"
:adatak 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. izic!i sloj se bavi prenosom bitova podataka kanalom za komunikaciju. /tandardi fizickog sloja !protokoli" su ;.,5 <.89 <.89bis !IT% standardi" i drugi. Sloj veze preuzima podatke od fizickog sloja oslobadja i# od gresaka i prosledjuje i# mreznom sloju. /tandardi su I/O =$>C !=ig# >evel $ata >ink Control" i (N/I ($CCP 1rame rela2. ?t#ernet paket ima karakteristike sloja veze. "rezni sloj prenosi poruke od izvora do odredista resavajuci pri tom probleme koje mu namece ar#itektura mreze. &ada 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 pri#vatiti paket veceg obima. /tandardi su <.85 gatenja2 !#ardnjare i softnjare koji spaja dve mreze" protokol <.*5 !IT% standardi" i drugi. &od TCP/IP-a ovo je IP nivo. Transportni sloj preuzima podatke od sloja sesije ako je potrebno izdeli i# na manje celine prosledi mreznom sloju i uveri se da li su dobro primljeni na drugom kraju veze. /tandardi su na primer IT% <.886 i ?C0(-*8 !?uropean Computer 0anufactures (ssociation". 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 IT% <.885. Prezentacioni sloj se za razliku od slojeva ispod ne bavi prenosom podataka vec problemima nji#ove sintakse i semantike. #pli!acioni sloj cine programi za elektronsku postu elektronski prenos novca i najrazlicitiji opstenamenski i specijalizovani programi !aplikacije".
% decembru 9+4+. ova eksperimentalna mreza je dobila prve 6 stalne veze od po 54 &bps. Ova nova te#nologija je omogucila vece iskoriscenje postojeci# sistema. To je vodilo stvaranju dvema slicni# vojni# mreza 0I>N?T u (merici i 0IN?T u ?vropi. =iljade #ostova i korisnika je povremeno prikljucivalo svoje lokalne tj. privatne mreze i to uglavnom univerzitetske mreze i mreze vladini# organizacija na ('P(N?T. :ato je uobicajni naziv za ovu mrezu postao .(P'( Internet.. ('P(N?T je vremenom odredio pravila ponasanja na mrezi. Izmedju ostali# pravila usvojen je i (%P !(cceptable %se Polic2" koji je zabranjivao koriscenje Interneta u komercijalne svr#e. ('P(N?T je ugasen 9+)+. $o 9+)5. ('P(N?T je bio prilicno koriscen i zagusen. $a bi odgovorili za#tevima N/1 !National /cience 1oundation" je pocela sa prvom fazom razvoja N/1N?T-a. Ova mreza je bila sastavljena od regionalni# mreza povezani# na velike backbone-ove N/1N?T-a !sl. 9-9". % pocetku 9+)4. N/1N?T je imala tri regionalna backbone-a. %niverzitetske mreze kao i drugi istrazivacki centri su bili povezani na regionalne backbone-ove a oni su bili vezani za takozvani core backbone. >inkovi su u prvo vreme bili 54 &bps. Prosireni su 9+)). kada je mreza zazivela i to znatno brzim T9 linkovima !9 566 0bps" da bi odgovorili za#tevima koji su bili sve veci . Pre svega bio je potreban sto brzi pristup servisima koji si omogucavali odredjeni racunari. Pored tog u tom priodu su se razvile mreze I@0-a 0CI-a 0erit Netnjort-a i jos par sada veliki# i poznati# mreza koje su ma#om i najveci svetski provajderi. N/1 T9 backbone linkovi su stalno povezivali ukupno 9, veliki# mreza ukljucujuci 0erit @arrnet 0I$net NAestnet Nort#NAestNet /?/>A%Inet /%'(net NC(' !National Centar of (tmosp#eric 'esearc#" i 5 N/1-ovi# centara koji su imali super racunare.
'egionalni backbone
lokalne mreze
lokalne mreBe
'egionalni backbone
'egionalni backbone
0edjutim 9++-. 0erit I@0 i 0CI osnivaju novu organizaciju pod imenom (dvance Net7ork and /ervice !(N/". 0eritova grupa za razvoj interneta je razvila
modele baze koja bi se koristila za rutiranje kao i upravljanje raznim servisima u N/1N?T-u gde bi (N/ radila kao backbone i Net7ork Operation Centar !NOC". $o 9++9. saobracaj je postao izuzetno veliki i imao je tendenciju velikog porasta pa je N/1N?T bio primoran da odgovori postavljanjem eksperimentalni# T, !65 0bps" linkova izmedju backbone-ova. Pocetkom +--i# N1/N?T je i dalje bila mreza koja se koristila za razmenu informacija koji su se ticali istrazivanja u svim oblastima a posebno za vojna informaticka istrazivanja. 0edjutim i druge vladine nenaucne agencije kao i komercijalne mreze su osetile potrebu da se povezu sa drugim slicnim organizacijama. :ato se uvode Internet /ervise Provider-i !I/P" koji omogudjuju ukljucenje potpuno nove grupe korisnika u ceo taj sistem. &ako su postavljane nove mreze i kako su postojece dobijale nove zadatke slozenost veza i infrastrukture je postajala sve veca. Paralelno s tim na osnovu N/1N?T-a i u drugim zemljama sirom sveta dolazi do uspostavljanja ovog tipa mreza. (mericka vlada se povezala na mrezu na vise mesta i napravila Federal Internet eXchange !1I<". &omercijalne mreze su razvile Commercial Internet eXcange !CI<" asocijaciju koja ja imala sredista na zapadnoj obali /($-a. Istovremeno I/P-i su sirom sveta a posebno u ?vropi i (ziji razvili lokalnu infrastrukturu i veze. $a bi se izborili sa sve vecom kompleksnoscu veza N/1N?T je zaduzio jednu od veci# komercijalni# mreza Sprint da naprave backbone servere u ?vropi i (ziji i omoguce provajderima sirom sveta da se povezu na te backbone-ove. 'astuca kompleksnost ucinila je N/1N?T suvisnim pa je N/1N?T ugasen u aprilu 9++5.
N(P
POP
&orisnici
Sl. 1-2 Savremeno Internet okruzenje
Sl. 1-3 Linkovi koje dr e neki od najve!i" ameri#ki" provajdera$ le%enda je u &b'sek
Sl. 1-( Najve!i linkovi izmedju Evrope i )merike. Najve!i si iz )msterdama i Londona po 2.*+ ,b'sek.
Sl. 1-* -rikaz Eunet linkova. Eunet je najve!i evropski provajder $ koji je ujedno i jedna od najbolji" veza evrope i S).-a$ a samim tim i ostaka sveta
pristupite fajlovima na drugom racunaru. Isto tako se moze koristiti i za kopiranje 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. !1TP je opisan dokumentom '1C +5+". Prijava na udaljeni racunar (*emote login). T#e Net7ork Terminal Protocol !T?>N?T" omogucava korisniku da se prijavi na bilo koji drugi udaljeni racunar. Sesiju zapocinjemo navodjenjem kompjutera na koji se prijavljujemo !logiramo". Od tog trenutka pa sve do kraja sesije sve sto otkucate ce odma# biti poslato na drugi udaljeni sistem. :naci vi radite na vasem racunaru a telnet program cini vase komande nevidljivim za vas racunar sve dok ste logirani na udaljeni racunar. /vaki karakter koji otkucate se direktno salje na udaljeni racunar. Naime kada pristupate 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. &ada se odjavljujete 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 !T?>N?T je opisan dokumentima '1C )56 i )55". +le!trons!a posta (computer mail, e'mail). ?lektronska posta omogucava slanje poruke korisnicima na drugim racunarima. 'anije su ljudi obicno koristili jedan ili dva racunara. /istem kojim se vrsilo odrzavanje !T#e computer mail s2stem" je veoma jednostavno omogucavao kopiranje korisnicki# mail fajlova sa jednog mesta na drugo. /amim tim nije bilo tesko odrzavati mail fajlove na tim racunarima ali u mrezama u kojima se koriste mikrokompjuteri doslo je do problema.!0icrocomputer oznacava neku vrstu terminala ili radne stanice koji se ranije koristio. On prakticno nije bio sposoban da radi bez mreze." Clavni problem je to sto mikrokompjuter nije bas pogodan za primanje poste. &ada saljete postu mail program ocekuje da ce moci da uspostavi vezu !open a connection" sa navedenim kompjuterom da bi mu poslao mail. (ko je to mikrokompjuter on je mozda iskljucen ili je na njemu pokrenuta neka aplikacija razlicita od mail programa. :bog ti# 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. !?lektronska posta je opisana preporukama '1C )89 i )88 a preporuka '1C +,* opisuje protokol kojim mikrokompjuter cita postu sa mail servera". Ovi servisi standardno bi trebalo da budu prisutni u svakoj implementaciji TCP/IP-a izuzimajuci sto one koje su pisane za mikrokompjutere mogu biti bez podrske za mail. Ove tradicionalne aplikacije igraju i dalje veoma vaznu ulogu u mrezama baziranim na TCP/IP-u. 0edjutim pre par godina doslo je do promene upotrebe mreza. /tari tipovi mreza sa velikim brojem racunara koji su sami sebi dovoljni za rad !self-sufficient computer" su se menjali. $anas mnoge instalacije mreza imaju nekoliko vrsta racunara ukljucujuci mikrokompjutere minikomjutere radne stanice servere mainframe-ove... Ti kompjuteri su manje ili vise zaduzeni i konfigurisani za izvrsavanje odredjeni# specificni# zadataka. /obzirom da ljudi vole da rade na jednom oredjenom racunaru taj kompjuter ce od drugog sistema na
mrezi koji je zaduzen za odredjeni servis zatraziti da ga izvrsi. Ovo je vodilo ka .server/client. modelu mreze i mrezni# servisa. /erver je ustvari sistem koji omogucava odreceni servis ostalim racunarima u mrezi. &lijent je drugi sistem koji koristi taj servis. Treba napomenuti da cak nije potrebno da su server i klijent na razlicitim racunarima to mogu biti dva odvojena programa koji rade na istom kompjuteru. Ovde su date vrste servera koje se koriste kod moderni# racunara. Primetite da ovi servisi mogu biti omoguceni od strane TCP/IP-a. "rezni fajl sistem (-et.or! ile S/stem ' - S). N1/ vam omogucava da pristupate fajlovima koji se nalaze na drugom racunaru ali na malo drugaciji nacin od 1TP-a. Naime N1/ stvara iluziju da je disk ili neki drugu uredjaj sa nekog racunara fizicki zakacen na drugi. /amim tim nema potrebe da koristite poseban alat koji omogucava pristupanje fajlovima na udaljenom disku. ;as kompjuter misli da ima neke dodatne diskove. Ti dodatni virtualni diskovi se obracaju fizickim diskovima na drugim racunarima. Ovo je korisno iz nekoliko razloga. $ozvoljava vam da stavite velike diskove na par komjutera i da svima date pristup tim fajlovima. Pored ekonomskog efekta tu je i to sto ljudi koji rade i jednoj grupi imaju pristup istim fajlovima i mogu da dele neke fajlove !s#are files su fajlovi koji se javljaju u vise aplikacija pod istim imenom i sa istom svr#om. Cak i NAindonjs ima veliki broj takvi# fajlova pa je usteda prostora znacajna i na jednom racunaru. % mrezi ova usteda je znatno veca." Odrzavanje sistema kao i backup je mnogo jednostavnije zato sto administrator ne mora da brine o tome da li je uradio update i backup svi# potrebni# fajlova na svim racunarima. !:amislite samo kada bi administrator morao da na svakom racunaru apdejtuje bazu za anti virus program mnogo je prakticnije kada svi koriste zajednicku bazu virusa". 0nogi proizvodjaci sada nude kompjutere visoki# performansi bez =$$-a. Oni uopste nemaju =$$ i zavise iskljucivo od diska koji je prikacenog na takozvani fajl server !file server je racunar cija je jedina uloga da omoguci racunarima bez diska da se butiraju i da sa njega kupe sve potrebne podatke". !PC-oriented Net@IO/ over TCP je objasnjen u dokumentima '1C 9--9 i 9--8." Stampanje na udeljenom stampacu (remote printing). 'emote printing vam omogucava da pristupite stampacu na drugom kompjuteru kao da je on prikacen na vas. To je veoma korisno posto je moguce da postoji samo jedan stampac u celoj mrezi i da mu svi mogu pristupiti. Najcesce se korisi lineprinter protocol iz @erkele2 %niD-sa. !Nazalost ne postoji '1C dokument ali se C kod protokola moze skinuti sa @erkele2-vog sajta". Izvrsavanje programa na udeljenom racunaru (*emote e0ecution). 'emote eDecution vam omogucava da za#tevate da se odredjeni program izvrsi na odredjenom racunaru. Ovo je veoma korisno kada vecinu svoji# potreba mozete da obavite na slabijem racunaru a ponekad vasi za#tevi su za sistemom bolji# karakteristika. Postoji nekoliko vrsta ovog servisa. Neki funkcionisu po sistemu .komanda po komanda.. ;i tada trazite odredjenu komandu ili skup komandi koji treba da se izvrse na odredjenom racunaru !napredniji sistemi mogu da odrede sami na kom ce se racunaru izvrsiti komande u zavisnosti od opterecenosti i performansi racunara". Pored toga imamo i proceduru call na
udaljenom racunaru !remote procedure call" koja omogucava izvrsavanje neke podrutine ili rutine na drugom racunaru. !Postoji mnogo protokola ove vrste. %niD ima dva izvrsna fajla sa imenima rs# i reDec. Opisi se mogu naci na internetu. Najsire rasprostranjeni komercijalni protokoli su <eroD-ov Courier i /un-ov 'PC. $okumenta o ovim protokolima se mogu dobiti od <eroD-a i /una. Postoje i javne implementacije ovog servisa" Name serveri (-ame servers). &od veliki# mreza postoji izuzetno veliki broj razliciti# grupa podataka koje treba odrzavati. Pre svega korisnike i nji#ove sifre imena i mrezne adrese svi# kompjutera dozvole pristupa... Tako veliki broj podataka je tesko odrzavati azurnim na svim kompjuterima u mrezi. :ato se oni drze na malom broju racunara a ostali moraju da im pristupe putem mreze ako su im potrbni. !% dokumentima '1C )88 i )8, su opisani name server protocol-i koji se koriste za azuriranje imena #ost-ova i nji#ovi# adresa na internetu. To je sada za#tev koji svaka TCP/IP implementacija mora da ispuni. Na starijim sistemima se koristio drugi stariji name server protocol koji je opisan dokumentom I?N 994 i koji se koristio za manje sisteme. /unEs Fellonj Pages /2stem koji je dizajniran na osnovama %niD-a je nekada bio jedan od najpoznatiji# komercijalni# programa te vrste a sada je trziste preplavljeno slicnim programima." Terminalni serveri (terminal servers). % mnogim mrezama teminali se ne povezuju direktno na racunar. %mesto toga povezuje se na terminalni server. Terminalni server je jednostavno receno slab kompjuter koji zna samo kako da koristi telnet ili neki drugi remote login protokol. (ko je vas terminal povezan sa jednim ovakvim serverom potrebno je samo uneti ime kompjutera i povezani ste sa njim. % principu moguce je odrzavati aktivne veze sa vise racunara istovremeno. /erver ima mogucnost da brzo menja veze i primeti svaki vas za#tev. !Terminalni serveri koristi telnet protokol koji je vec pomenut. 0edjutim svaki pravi terminalni server ima podrsku za name servis i brojne druge protokole". "rezni grafic!i sistemi (net.or!'oriented njindonj s/stem). Ovi sistemi su se koristili kada svi racunari nisu imali mogucnost izvrsavanja grafickog programa i prikaza na ekranu. Prakticno mozete da preko mreze koristite monitor nekog drugog racunara. !Ovi sitemi su bili dizajnirani da koriste TCP/IP". $obar deo ovi# protokola su razvijeni i napisani u @erkele2-u /un-u i drugim organizacijama. :ato oni nisu oficijalni deo IP/-a !Internet Protocol /uit". Naravno sve te iplementacije koriste TCP/IP kao i sve ostale aplikacije.
$.
&ao sto sam rekao na pocetku TCP/IP je slojeviti skup protokola. $a bi razumeli sta to znaci mozda je najbolje prvo navesti neki primer. Tipican primer 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. 0edjutim protokol pretpostavlja da postoji nacin komunikacije izmedju ta dva kompjutera. 0ail kao i svaki drugi protokol definise samo skup komandi i poruku koja treba da se posalje. On je napravljen da se oslanja na TCP i 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. (ko 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 mozete gledati kao na biblioteku rutina koje aplikacija koristi kada treba da preko mreze komunicira sa drugim racunarom. /licno 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. &ao 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 !la2ering". (plikativni programimi kao sto je mail TCP i IP su odvojeni slojevi !la2ers" a pritom svaki se poziva na servise protokola koji je ispod njega. TCP/IP aplikacija ima 6 sloja3 (plikativni protokol !npr. mail"
Protokol kao sto je TCP koji omogucava servise potrebne mnogim aplikacijama IP koji omogucava osnovni servis prenosenja datagrama do racunara koji treba da ga primi Protokol koji treba da upravlja podacima na fizickom nivou kao sto je ?t#ernet ili direktna linija !point to point line".
TCP je baziran na catenet modelu !Ovaj model je detaljno opisan u dokumentu I?N 6)". %kratko taj model pretpostavlja da postoji veliki broj mreza povezani# medjusobno gatenja2-ima. &orisnik bi trebalo da moze da pristupi kompjuteru ili bilo kom drugom resursu koji je u bilo kojoj od ti# mreza. $atagrati ce verovatno proci kroz nekoliko razliciti# tipova mreza pre nego sto stignu na odrediste. 'uta put kojim idu podaci potrebna da bi se ovo ostvarilo bi trebala da bude potpuno nevidljiva za korisnika. /to se tice korisnika sve sto on teba da zna da bi pristupio drugom racunaru je internet adresa. Internet adresa obicnom korisniku izgleda ovako
9**.6.,5.988. 0edjutim to nije dvanaestocifreni broj vec ,8-bitni. &ako je ljudima lakse da broje pisu u dekadnom sistemu on se pise kao 6 dekadna broja i svaki predstavlja ) bita te adrese !:a te )-bitne delove internet adrese u internet dokumentaciji se najcesce koristi rec oktet !octet" iako bi bilo logicno da se koristi rec bajt !b2te". To je zato sto se TCP/IP koristi na velikom broju sistema razliciti# vrsta a postoje sistemi u kojima bajt ne iznosi ) bita". (li ipak struktura adrese daje neku informaciju o tome kako stici do nje. ?vo jednog primera koji ce blize objasniti kako nam struktura adrese daje informaciju kako stici do nje. &ako je ova adresa iz @ klase internet adresa !objasnjeno u poglavlju 5" pretpostavimo da je broj 9**.6. dodeljen nekom na primer univerzitetu od strane centralnih internet vlasti !central aut#orit2 je odbor koji zvanicno dodeljuje internet adrese". /ada taj univerzitet raspolaze sa tom klasom internet adresa . On moze na primer katedri za matematiku dodeliti skup adresa 9**.6.,5. i sada katedra za matematiku ima na raspolaganju 856 adrese za kompjutere u svojoj mrezi !9 - 856 - i 855 nisu dozvoljene tj. rezervisane su sto ce kasnije biti objasnjeno". Tako ce jedan racunar dobiti adresu 9**.6.,5.988. drugi 9**.6.,5.965. itd. $alje katedra za programiranje ce mozda dobiti dva skupa adresa 9**.6.95. i 9**.6.94 pa ce ona imati 8G856 adrese koje ce moci da podeli racunarima u svojoj mrezi. /truktura internet adrese ce u 5. poglavlju biti detaljnije objasnjena . 0edjutim mi radije radimo sa imenima racunara nego sa nji#ovim internet adresama. &ada navedemo ime racunara mrezni program ce pogledati u bazu podataka i dati odgovor u vidu odgovarajuce internet adrese. !% dokumentu '1C ))8 je opisana te#nologija kojom se ovo resava" TCP/IP je izgradjen na protokolu koji ne podrazumeva pret#odno uspostavljanje veza !connectionless tec#nolog2". Informacije se salju kao datagrami . $atagram je skup podataka koji su poslati u jednoj poruci. /vaki datagram se kroz mrezu salje odvojeno. Prvo se mora poslati datagram koji ce uspostaviti vezu na visim nivoima !open connection". % 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. Navedimo neki primer. Pretpostavimo da imamo fajl od ,----- bajtova !okteta". &ako vecina mreza ne moze da prosledjuje tolike datagrame protokol ce podeliti taj fajl u na primer 8-- datagrama od po 95-- bajtova. /vaki od nji# ce biti poslat na drugi kraj. Na racunaru koji prima ti datagrami ce biti spojeni u isti onaj ,----- bajtni fajl. 0edjutim dok se datagrami salju mreza ne zna da medju njima postoji bilo kakva veza. /ta vise cesto se desava da na primer 86. datagram stigne pre 8,. Isto tako je moguce da zbog neke greske u mrezi neki datagram uopste ne stigne na drugi kraj. % tom slucaju taj datagram mora biti opet poslat. IP koristi datagram a ne na primer paket. % 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. $atagram je skup podataka koji osim korisnicki# podataka sadrzi sve potrebne podatke o strani koja salje i strani koja prima !adrese". $atagrami su nezavisni paketi koji ne za#tevaju pred#odno uspostavljanje veze. $atagrami se cesto u zavisnosti od prenosnog medijuma pakuju u pakete. >okalne mreze mogu biti tipa ?t#ernet dok mreze koje obu#vatau siroke oblasti !NA(N" mogu biti =.85 1rame rela2-a ili (T0. /tandardne velicine paketa kod ovi# mreza je razlicit a to za#teva u mnogim slucajevima delenje IP datagrama. Tako ce TCP/IP
datagram u <.85 mrezi biti podeljen na 98)-bajtne pakete u 1rame rela2 mrezi na 95---bajtne pakete a u (T0 mrezi 6)-bajtne celije . Ovo je nevidljivo za IP zato sto se paketi spoje u jedan datagram pre nego sto se proslede TCP/IP-u. :naci u tom slucaju jedan IP datagram ce biti prenet u nekoliko paketa. &ako vecina mreza uspeva da salju jedan datagram po paketu ova razlika se gubi kao na primer kod 1rame rela2 mreze gde je velicina paketa obicno mada se moze setovati po potrebi 9596 bajtova. To je inace maksimalna velicna datagrama kod TCP/IP-a. /ada cemo detaljnije pogletati nivoe kod TCP/IP-a
GGGGGGGGGGGGGGGGGGGG TCP deli ovu poruku u datagrame. $a bi ovo uradio TCP mora da zna koliki je najveci datagram koji mreza moze da propusti. %stvari TCP stekovi obe strane dogovore se koliki je maksimalni paket koji mogu da koriste a onda se bira manja vrednost . $anas se mreze setuju tako da propustaju standardne datagrame od oko 95-- bajtova !tacnije 9596 sa svim zaglavljima". Ima i komplikovaniji# slucajeva na primer kada datagram prolazi kroz vise tipova mreza. Poruka podeljena u nekoliko datagrama3 GGGG GGGG GGGG GGGG GGGG
TCP stavlja zaglavlje na vr# svakog datagrama. :aglavlje sadrzi najmanje 8bajtova ali najbitniji su port number !broj porta" i seljuence number !broj sekvence". Port number se koristi da bi TCP znao sa koje veze mu dolazi taj podatak. Pretpostavimo da , coveka prenose neke fajlove na ili sa vaseg racunara. ;as TCP moze da odredi , bilo koja porta za ta tri transfera. 'ecimo da je on odredio portove 8-9 8-8 i 8-, za te transfere. &ada 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. ;as TCP mora da zna i taj broj a saznace ga u trenutku uspostavljanja veze. Taj broj se stavlja u destination port !odredisni port" polje. (li 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 seljuence 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. !Ovo je ukratko o seljuence number-u i mislim da ce to biti dovoljno za razumevanje TCP-a. /eljuence number je detaljno opisan u TCP specifikaciji". TCP ne daje brojeva datagramima nego oktetima. $a pojasnim ako je velicina datagrama 95-- okteta onda ce prvi datagram nositi broj - drugi 95-- treci ,--- cetvrti 65-- itd. &onacno pomenucu i C#ecksum-u !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. &ada 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. (ko se rezultati razlikuju datagram se odbacuje i transfer tog datagrama se mora ponoviti. Pogledajmo sada kako otprilike izgleda zaglavlje koje stavlja TCP 3 ------------------------------------------------------------------------------------------------------/ /ourse Port / $estination Port / ------------------------------------------------------------------------------------------------------/ /eljuence Number / ------------------------------------------------------------------------------------------------------/ (cknonjledgment Number / ------------------------------------------------------------------------------------------------------/ $ata / 1lags / / Offset / 'eserved / NAindonj /
------------------------------------------------------------------------------------------------------/ C#ecksum / %rgent Pointer / ------------------------------------------------------------------------------------------------------/ Podaci koji se salju ... sledeci# 95-- bajtova / / GGGG / (ko ovo sa .T. obelezimo TCP zaglavlje ceo fajl koji treba da se posalje izgledace ovako3 TGGGG TGGGG TGGGG TGGGG TGGGG
;erovatno primecujete da se u ovom zagravlju pojavljuju i polja koja nisu objasnjena. Ta polja se ma#om koriste za odrzavanje veze. % cilju potvrde da je neki datagram stigao primalac salje potvrdu !acknonjledgment". To su poruke kod koji# je .acknonjledgment 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 acknonjledgment number *5-- ukazuje na to da je primalac primio sve datagrame do *5---tog bajta. (ko posiljalac ne dobije potvrdu u odredjenom vremenu on ce datagram poslati opet. /ledece je NAindonj !prozor" polje koje se koristi kod skoro svi# protokola. % NAindonj polju se nalazi podatak o tome koliki je dozvoljen broj datagrama u saobracaju u jednom trenutku. Naime ispostavilo se da nije prakticno cekati potvrdu o primljenoj poruci pre nego sto se posalje sledeca. To prilicno usporava star. $ruga krajnost da racunar salje datagrame ne cekajucu nikakvu potvrdu je isto losa. (ko brz racunar salje podatke sporijem i ako i# ima mnogo sporiji racunar u jednom trenutku vise nece moci da obradjuje podatke koji mu ovaj salje. 'acunar koji prima podatke odredjuje taj parametar i kada je on nula posiljalac mora da prestane da salje podatke. &ako primalac obradjuje podatke broj se postepeno povecava stavljajuci time posiljaocu da je spreman da obradi vise podataka ili ako je sistem zauzet on se polako smanjuje. Cesto se isti datagrami koriste za potvrdu prijema datagrama i promenu tog parametra. O ostali# polja pomenucu jos samo .%rgent. polje. Ono omogucava da jedan kraj drugom kaze da preskoci !ignorise" sve datagrame do navedenog. &oristi se retko ali je koristan kod asin#roni# radnji koje se dasavaju na jednom ili vise racunara. Tipican primer je kada damo komandu za prekid nekog slanja podataka. Ostala polja necu objasnjavati zato sto se retko koriste i nisu bitna za dalje razumevanje.
$.$. IP nivo
/vaki datagram TCP salje IP-u. %z to on navede i koja je internet adresa kompjutera na drugom kraju. Primetite da je to jedino sto zanima IP. NAega 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. $a bi omogucio da gatenja2-i i ostali sistemi kroz koje datagram prolazi dalje prosledjuju datagram IP dodaje svoje zaglavlje. Clavni podaci u tom zglavlju si internet adrese primaoca !sourse internet address" i posiljaoca !destination internet address" !,8-bitne kao na primer 9**.6.,5.988." broj protokola koji mu je prosledi poruku !protocol number" i jos jedna kontrolna suma !C#ecksum". 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 gatenja2-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 TCPa postoje i drugi protokoli koji koriste IP pa je bitno znati kom protokolu predati datagram. Na kraju tu je i c#ecksum-a. Ona ima istu ulogu kao i kod TCP zaglavlja da proveri da li je u toku transfera doslo do ostecenja datagrama. (ko jeste datagram se odbacuje. Treba primetiti da TCP i IP imaju razlicite c#ecksum-e. $a koristi c#ecksum-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 koji# se koriste dve c#ec#sum-e se ne vredi baviti jednostavno efikasnije je i sugurnije imati odvojene sume za TCP i IP. &ada IP zakaci svoje zaglavlje ceo datagram izgleda ovako 3 ------------------------------------------------------------------------------------------------------/ ;ersion / I=> / T2pe of /ervice / Total >engt# / ------------------------------------------------------------------------------------------------------/ Indetification / 1lages / 1ragment Offset / ------------------------------------------------------------------------------------------------------/ Time to >ive / Protocol / =eader C#ecksum / ------------------------------------------------------------------------------------------------------/ /ourse (ddress / ------------------------------------------------------------------------------------------------------/ $estination (ddress / ------------------------------------------------------------------------------------------------------/ TCP zaglavlje pa podaci / / / &ada i IP stavi svoje zaglavlje koje cu obeliziti sa .I. ceo datagram izgleda ovako3
ITGGGG
ITGGGG
ITGGGG
ITGGGGITGGGG
&ao i proslog puta pojavljuju se i neka polja koja nisu objasnjena. ;ecina nji# nas ne zanimaju. 1lages i 1ragment 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. % 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. &ada stigne do nule datagram se brise. Ovo se desava kada datagram nekako uleti u neku pertlju. Naravno ovo bi trebalo da bude ne moguce da se dogodi ali dobro dizajnirane mreze su napravljene da izadju na kraj i sa nemogucim situacijama. Od trenutka kada IP stavi svoje zaglavlje moguce je da nam vise nece trebati ni jedno zaglavlje. (ko je vas kompjuter direktno na primer kablom ili preko telefonske linije vezan za kompjuter kome se podaci salju ili na neki gatenja2 podatke mozete direktno poslati na liniju !doduse neki drugi protokoli nizeg nivoa kao sto je =$>C ili PPP mogu dodati par bajtova na pocetak i na kraj".
/ IP zaglavlje pa TCP zaglavlje pa podaci / / / / / / &raj podataka / ------------------------------------------------------------------------------------------------------/ ?t#ernet C#ecksum / ------------------------------------------------------------------------------------------------------(ko sa ? oznacimo ?t#ernet zaglavlje a sa C c#ecksum-u ceo paket izgleda ovako3 ?ITGGGGC ?ITGGGGC ?ITGGGGC ?ITGGGGC ?ITGGGGC
&ada drugi kraj primi paket sva zaglavlja se uklanjaju. ?t#ernet interfejs uklanja svoje zaglavlje i c#acksum-u a zatim gleda t2pe code polje. (ko je datagram upucen IP-u on mu ga predaje. IP uklanja svoje IP zaglavlje i gleda protocol field. (ko je tip protokola TCP on ga predaje TCP-u. TCP prvo gleda seljuence number i onda ga spaja sa drugim datagramima sklapajuci fajl koji se salje. Ovo je kraj osnove TCP/IP-a. 0edjutim kako tu ima jos neki# zanimljivi# detalja vraticemo se na nji# i blize i# objasniti. !TCP je opisan u dokumentu '1C *+, IP u '1C *+9 a preporuke )+6 i )84 se bave problematikom IP over ?t#ernet".
%.
Pre nego sto se detaljnije pozabavimo aplikativnim nivoom objasnimo kako TCP/IP zna kojoj aplikaciji da prosledi datagram. Pretpostavimo da #ocete da posaljete fajl na kompjuter cija je Internet adresa 9**.6.,5.988. $a bi otpoceli transfer nije dovaljna samo adresa. 0orate se povezati na 1TP server sa druge strane. % principu odredjeni mrezni softnjare je specializovan za odredjene zadatke. Tako u danasnjim sistemima imate posebne programe za mail za file transfer remote login itd. &ada se povezujete sa racunarom koji ima adresu 9**.6.,5.988 vi morate da mu kazete da #ocete da razgovarate sa 1TP serverom. Ovo je reseno uvodjenjem tzv. .njell- knonjn. soketa za svaki sevis. /etite se da TCP koristi port da bi mogao da razdvoji datagrame po vezama tj. da zna tacno kome je datagram namenjen. &orisnicki programi manje-vise obicno koriste slucajno dodeljeni broj. 0edjutim kako brojeva ima dovoljno onda se neki portovi dodeljuju programima koji cekaju za#tev od druge masine kao na primer 1TP server. Na primer ako #ocete da posaljete fajl vas program poziva 1TP. On uspostavlja vezu koristeci bilo koji broj na primer 98, kao broj porta na svom kraju veze. 0edjutim on navodi broj 89 za broj porta na drugoj strani. 89 je zvanicni broj porta za 1TP servere. !Naravno on ne mora da bude 89 vi ga setujete po zelji ali ako #ocete da vam moze pristupiti bilo ko onda ga postavite na 89. Ovo se moze koristiti i kao neka zastita pristupa vasem sistemu". Nije potrebno da i vas racunar koristi port 89 on moze koristiti bilo koji port posto i onako niko nece pokusati da vam pristupi preko porta 89. Primetite da su ovde pokrenuta dva programa. ;i imate pokrenut 1TP na vasem racunaru. Ovaj program pri#vata komande sa vaseg terminala i salje i# na drugi kraj. Program sa kojim vi komunicirate sa druge strane je 1TP server. On je napravljen da pri#vata komande koje mu vi saljete. /erveri se najcesce konfigurisu da koriste sledece portove3 1TP server koristi port >og file server POP, server !koristi se za mail" /ocks server Telnet server NANANA server $N/ servis NAinsocks redirection servis $=CP servis 'emote Control servis C$P servis 89 )-9999-)8, )5, 8-)4* )-) ,4)
!:vanicni broj porta za svaku poznatiju aplikaciju je dat u dokumentu .(ssigned Numbers. ali i programi kao sto je 'eal (udio i slicni imaju svoje portove. '( na primer koristi port 9-+-". /ve u svemu zakljucujemo da je veza opisana sa 6 broja internet adresama i brojevima TCP portova na oba kraja s tim sto je internet adresa u IP a port number u TCP zaglavlju. Iz ti# razloga dve veze ne mogu imati sva 6 broja ista ali je dovoljno da se jedan broj razlikuje i stvar ce raditi. (ko se sa 1TP servera
istovremeno prenose dva fajla na drugi racunar veze ce se uspostaviti i to moze izgledati na primer ovako3 9.;eza 8.;eza Internet adrese TCP portovi 9**.6.,5.988 9**.6.,5.965 98, 89 9**.6.,5.988 9**.6.,5.965 986 89
Prakticno jedina razlika izmedju ove dve veze je broj porta. ( to je sasvim dovoljno. % principu bar jedan kraj trazi od softvera da mu da jedinstven broj. I obicno je to vas kraj posto onaj drugi ima .njell-knonjn socket number.. Posto sad znamo kako da uspostavimo vezu vratimo se aplikativnim programima. &ao sto je vec receno kada TCP uspostavi vezu nas ne zanimaju mreze kroz koje paketi prolaze i mi smatramo da imamo direktnu vezu izmedju dva racunara. 0edjutim i dalje nam je potreban neki dogovor o tome sta saljemo preko te veze. Aednostavnije receno to je skup komandi koje aplikacija razume i dogovor o formatu u kome se oni salju. Najcesce to je kombinacija komandi i podataka. Oni koriste kontekst da bi se razlikovale. Na primer mail protokol radi ovako3 0ail program uspostavi vezu sa drugim krajem. ;as program se predstavi time sto kaze ime vaseg racunara navede ime onoga ko salje poruku i na kraju kaze kome je poruka poslata. Onda posalje komandu kojom kaze da pocinje da salje poruku. Od tada druga strana prestaja da ono sto prima tretira kao komande vec kao podatke tj. poruku. &ada zavrsi sa slanjem poruke vas racunar ce poslati tacku u prvoj koloni i duga strana ce s#vatiti da od sada prima komande. Ovo je najjednostavniji ali ujedno i najcesci nacin koji se koristi. 1ajl transfer je nesto slozeniji od slanja mail-a. Naime file transfer protocol za#teva dve veze. /ve pocinje kao i sa mail-om. &orisnik posalje komandu a komunikacija izgleda otprilike ovako3 .prijavi me na 1TP server kao ivanm. .ovo je moja sifra. .treba mi taj i taj fajl. . 0edjutim kada drugi kraj treba da posalje fajl on otvara jos jednu vezu. % principu moguce je fajl postalati i bez otvaranja druge veze ali transfer fajlova nije isto sto i slanje mail-a. 1ajlovi su veliki i potrebno je vise vremena za nji#ovo slanje. &ada je napravljen 1TP dizajneri su #teli da omoguce korisnicima da mogu da postave neki upit 1TP serveru ili da mu daju neku komandu kao na primer prekid transfera ili tako nesto. :ato je odluceno da je najbolje resenje da se odvoje komandna i data veza. Ovo isto omogucuje da se uspostave dve komandne veze sa dva razlicita sistema i da sa jednog prebacujete podatke direktno na drugi sto se ne moze postici samo jednom vezom. 'emote terminal aplikacije koriste pak drugi me#anizam . :a remote login postoji samo jedna veza. Ona obicno salje podatke. &ada treba da posalje komandu ona ubacuje neki specialni znak i time stavi do znanja drugom sistemu da se radi o komandi a ne o podatku. &ada je taj znak ujedno i komanda onda posalje dva komada. Ovde nisu opisani aplikativni protokoli do detalja. Oni su kao i sve u vezi interneta opisani u '1C preporukama. % sledecim redovima su dati opisi nekoliko
uobicajni# .razgovora izmedju aplikacijama. ?vo prvog primera3 &ao sto znamo TCP bi trebalo da moze da se koristi na bilo kom kompjuteru. Nazalost kompjuteri nisu usaglaseni u tome kako primaju podatke i kako i# tumace i to posebno u end of line odredjenim znacima koji se koriste za neku sin#ronizaciju i specijanim znacima. $a bi omogucili razlicitim racunarima da komuniciraju svaki aplikativni protokol definise standarde primanja i slanja. TCP i IP ne zanima primaoc. Oni samo prenose datagrame ali se oba kraja moraju dogovoriti o tome kao da i# tumace. % '1C preporukama se mogu naci ovo standardi. Obicno se koristi .net (/CII.. On koristi (/CII karaktere ali je end of line definisan kao carrige return line feed. :a remote login postoji tzv. definicija .standardnog terminala. koja podrazumeva #alfdupleD sa e#om na lokalnom racunaru. ;ecina aplikacija je sposobna da se dogovori oko standarda koji ce se koristiti. Nekoliko najpoznatiji# standarda svaka aplikacija mora da podrzava.
ce svaka linija biti oznacena sa D/0FI1 tj. 2IS u zavisnosti od toga koji racunar salje tu liniju. $?>1IN je uspostavio vezu3 2IS D/0FI1 2IS D/0FI1 2IS D/0FI1 2IS D/0FI1 2IS D/0FI1 D/0FI1 D/0FI1 D/0FI1 D/0FI1 D/0FI1 D/0FI1 D/0FI1 2IS D/0FI1 2IS 88- 0I/./PN?T.F% /0TP /ervice at 98 1eb 8--- -839)3,+ H-9-=?>O delfin.spnet.2u 85- 0I/./PN?T.F% - =ello $?>1IN./PN?T.F% 0(I> 1rom3 Iivanm@delfin.spnet.2uJ 85- 0(I> accepted 'CPT To3 Inmarkov@mis.spnet.2uJ 85- 'ecipient accepted $(T( ,56 /tart mail inputK end njit# IC'>1J.IC'>1J $ate3 /at 98 1eb 8--- -83953,6 H-9-1rom3 ivanm@delfin.spnet.2u To3 nmarkov@mis.spnet.2u /ubject3 ;ratio sam seL Auce sam stigao sa puta. ;idimo se u ponedeljak. . 85- O& >A%IT 889 0I/./PN?T.F% /ervice closing transmission c#annel
Prvo treba uociti da komande koriste obican tekst. Ovo je tipicno za internet standarde. ;ecina protokola koristi (/CII komande. Tako je lakse pratiti sta se desava pa i ustanoviti problem. Na primer mail program zapisuje sve u log fajlu a taj fajl je moguce koristiti u slucaju neki# gresaka. 0edjutim neki noviji protokoli su veoma komplikovani pa je veoma neprakticno koristiti ovakav vid komandi. Ti noviji protokoli koriste binarne formate. Pored toga ispred svi# odgovora se nalazi i broj. Poruka iza broja je citljiva i nije je tesko protumaciti. (li broj moze mnogo da kaze. % principu dovoljno je znati sta znaci prva cifra. @rojevi koji pocinju sa 8 znace da je komanda uspesno izvrsena. Oni koji pocinju sa , za#tevaju da se izvrsi jos nesto. @rojevi 6 i 5 predstavljaju greske. @roj 6 je .privremena. greska kao na primer da je disk pun. @roj 5 je .stalna. greska na primer da korisnik koji treba da primi poruku ne postoji. !Protokoli koji su pomenuti u ovom delu su detaljno opisani u dokumentima '1C )89 i )88 !mail" '1C +5+ !file transfer" '1C )56 i )55 !remote login". @rojevi za njellknonjn portove se nalaze u dokumentu (ssigned Numbers"
&.
ime tog racunara nego njegovu internet adresu. Pre nego sto uradi bilo sta njegov racunar mora da prevede ime u adresu. 'acunar ce morati da posalje za#tev racunaru koji ima bazu sa adresama !$N/ server" da to prevede. &ako ta poruka kao i odgovor moze uvek da stane u jedan datagram glupo bi bilo koristiti TCP posto nema potrebe za deljenjem poruke u datagrame i kompleksnosti koju ima TCP zbog toga koriste se neki drugi protokoli. Najcesce se srece %$P !user datagram protocol". %$P je dizajniran za aplikacije kojima je dovoljan samo jedan datagram. On se koristi zato sto je veoma slican TCP-u i u sistemu se ponasa slicno kao TCP. On ima svoje zaglavlje !koje je slicno TCP zaglavlju ali bez delova za pracenje koji je to deo poruke" i isto kao TCP i %$P prosledjuje IP-u. :aglavlje ima samo brojeve portova i kontrolnu sumu. /ve ostalo je slicno TCP-u. Postoje i njell-knonjn soketi koje koriste %$P aplikacije. $rugi protokol koji se koristi je IC0P !Internet Control 0essage Protocol". On se koristi kod poruka kojom se javlja neka graska i obicno ga koristi softver koji upravlja TCP/IP-om. On se obicno u porukama tipa .#ost unreac#able . i slicnim. 0oze se koristiti i za dobijanje dodatni# informacija o mrezi. IC0P je jos jednostavniji od %$P-a posto nema brojeve portova u zaglavlju. To je zato sto se IC0P poruka salje softveru koji upravlja TCP/IP-om i on je odma# interpretira pa je samim tim port je nepotreban. !%$P je opisan u dokumentima '1C )), i ))8 kao i I?N 994 a tu se mogu naci i podatci o IC0P-u kao i o drugim slicnim protokolima"
5.
5.1.1. # 6lasa ( klasi pripadaju sve mreze koje imaju - kao prvu cifru u binarnom zapisu. Ovo je klasa koja moze da adresira najvise racunara u lokalnoj mrezi. &od ( klase prvi# ) bitova predstavlja broj mreze a preostali# 86 predstavlja broj racunara u toj mrezi. Prema tome u mrezi ( klase moze da bude najvise 8 86 M 94***894 racunara. 0edjutim taj broj je jos manji posto se broj 855 koristi kod broadcast poruka pa se nedodeljuje nijednom racunaru u mrezi. Iako bi teoretski trebalo da bude 98) ovakvi# mreza taj broj je nesto manji posto se brojevo - i 98* ne koriste pa ustavri imamo 984 ovakvi# mreza. Tako ( klasi pripadaju adrese od 9.-.-.- do 984.856.856.856. Primer adrese iz ( klase je 9-.-.-.9 gde 9-.-.-.- predstavlja mrezu a 9 je broj racunara u toj mrezi. $rugi primer je 86.9,6.6,.9*5 gde je 86.-.-.- broj mreze a 9,6.6,.9*5 broj #osta. 0edjutim malo je mreza koje imaju za#teve za tolikom brojem #ostova. /amo najveci provajderi dobjaju adrese iza ( klase. :a sada je podeljeno oko 4- adresa ( klase a jos nije odluceno kome ce biti dodeljene ostale adrese iz ove klase. 5.1.$. 7 6lasa ;elike firme veci provajderi veci univerziteti i ostale ustanove koje imaju manje za#teve dobijaju adrese iz @ klase. @ klasi pripadaju mreze kod koji# su prve dve cifre u binarnom zapisu 9 i -. Tako kod @ klase prvi# 94 bitova predstavljaju broj mreze a drugi# 94 broj #osta u mrezi. Prema tome postoji 94,)6 !8 96" mreze @ klase i svaka od nji# ima mogucnost adresiranja 455,44 !8 94" #ostova !ako zanemarimo granicne". :naci sve mreze od 98).9. do 9+9.856. pripadaju @ klasi mreza. Primer @ klase je mreza 969.8,.965.8,6. gde 969.8,. predstavlja mrezu a 965.8,6 #ost. 5.1.%. C 6lasa (drese koje pripadaju C klasi pocinju sa 99- u binarnom zapisu. Pored toga kod nji# prva 86 bita predstavljaju mrezu a drgi# ) predstavlja racunar. Prema tome postoji ukupno 8-+*958 !889" mreza i svaka mreza ima mogucnost da adresira 856 !8 ) minus - i 855 koji se ne koriste" racunara. (ko je nekoj organizaciju malo 856 adrsa ona moze da uzme vise C klasa. To vrlo cesto koriste manji privajderi fakulteti itd. NAoj pripadaju adrese od 9+8.9.9. do 88,.856.856. C klasa je posladnja definisana klasa. :a sada na internetu ne postoje adrese koje pocinju sa 886 pa nadalje.
Podmreze i razlicita duzina podmreza su jos uvek predmet diskusije. % ovom poglavlju ce biti objasnjena osnova na kojoj se subnetting zasniva a posle toga ce biti pomenut i ;>/0 !;ariable >engt# /ubent 0ask". $a bi sve bilo sto jasnije treba blize pogledati strukturu IP adrese !slike 5-9 do 5,". Ona se sastoji od dela koji definise mrezu i dela koji definise #ost. Pomocu maske mozemo tacno odvojiti informaciju o mrezi od informacije o #ostu.
@IT
- NETWORK
*
=O/T
95
=O/T
8,
=O/T
,9
-9
9 NETWORK -
*
NETWORK
95
=O/T
8,
=O/T
,9
@IT
-98
9 NETWORK 9-
*
NETWORK
95
NETWORK
Sl. *-3 -rikaz / klase
8,
=O/T
,9
Na slici 5-6 je prikazano kako se maska 855.-.-.- primenjuje na mrezu 9-.-.-.-. 0aska ovde predstavlja izvestan broj jedinica praceni# nulama. &ada uradi konjukciju maske i svog IP broja racunar tacno zna broj mreze u kojoj je tj. moze da podeli broj na dva dela deo sa informacijom o lokalnoj mrezi i svojim brojem u njoj. % ovom slucaju broj je podeljen na dva dela 9- koji predstavlja broj mreze i -.-.9 koji je broj #osta. Prema tome postoje takozvane prirodne maske za svaku do klasa koje se primenjuju u odgovaeajucim mrezama. &lasa ( ima prirodnu masku 855.-.-.&lasa @ ima prirodnu masku 855.855.-.&lasa C ima prirodnu masku 855.855.855.$ecimalni IP (dresa 9-. -.-.9 ---9-9@inarni zapis -------- -------- -------9
Odvajanje broja mreze od broja #osta je veoma bitno za razumevanje podmreza posto se podmreze zasnivaju na tome. @ez podmreza ovakva podela na klase i ovakva organizacija ne bi bila previse korisna i koriscenje IP brojeva bi bilo prilicno ograniceno. Prakticno da nema podmreza cela jedna klasa bi morala da bude u jednom >(N-u a to nije bas prakticno. &od C klase to i nije problem ali kod ( klase morali bi da imate jedan >(N sa 94 * miliona racunara. &ako se svaka veca organizacija sastoji od vise fizicki odvojeni# mreza svaki segment bi morao da ima svoj klasu. (li onda ne bi znali da li dva segmenta pripadaju istoj organizaciji !to je bitno za same racunare u toj mrezi" . Tu je prava primena podmreza. Pomocu odredjene maske mozemo da podelimo mrezu u vise podmreza tako sto cemo prosiriti mrezni deo na racun #ost dela.
99999999 99999999
deo
Sl. *-* &askiranje kod podmreza
Na slici 5-5 maska 855.855.-.- se primenjuje na mrezi 9-.-.-.- . Ovo ce podeliti adrsu 9-.-.-.9 na , dela. Prvi deo je mrezni deo i on je 9- podmrezni deo je - i #ost deo je -.9 . Prakticno ova maska je pozajmila ) bitova od #ost dela i dodelila ga mreznom delu. Ovime smo ovu mrezu podelili na 854 mreza. Naravno to smo dobili na racun broja #ostova pa cemo sada imati 854 mreza od koji# svaka ima mogucnost adresiranja oko 45--- #ostova. Ovakva mreza spolja izgleda kao jedna obicna mreza ( klase ali je ona ustvari podeljena na vise mreza. &ada neko pristupa sa strane on nije zainteresovan za to da li su racunari kojima pristupa u istom >(N-u ali je to podakak koji je vrlo vazan racunaru koji se nalazi u jednoj od ti# mreza. 0edjutim postoje slucajevi kada je i ovo ne dovoljno za optimalno konfigurisanje mreze.
Prema tome bez ;>0/ ne mozemo podeliti mrezu prema za#tevu. (ko izaberemo masku 855.855.855.98) imacemo dve mreze od po 98) !a nama trebaju ," a ako izaberemo masku 855.855.855.9+8 imacemo 6 podmreze sa po 46 #osta a to ne ispunjava za#tev da jedna podmreza ima 9-- adresa. &oristeci ;>/0 mozemo prvo da koristeci masku 855.855.855.98) podelimo mrezu u dve podmreze sa po 98) #ostova pa onda drugi njen deo opet podelimo maskom 855.855.855.9+8 . /like 5-4 i 5-* ilustruju to.
?,
?6
98) adresa !?8" !maska 855.855.855.98)" 46 adrese !?," !maska 855.855.855.9+8" 46 adrese !?6" !maska 855.855.855.9+8"
Sl. *-2 -rikaz podele mreze pomo!u 1L/&-a i maske koje koriste
0edjutim i tu postoji problem koji se javlja kod rutiranja. &ako stariji protokoli kao sto su 'IP 9 !'outing Informatin Protocol" i IC'P !Interior Catenja2 'outing Protocol" ne mogu da koriste ;>0C administratori su veoma oprezni kod ovog vida deljenja mreza. $anas postoje protokoli kao sto su O/P1 !Open /#ortest Pat# 1irst" ?IC'P !?n#anced Internet Catenja2 Protocol" I/I/ !Intermediate /2stem-to- Intermediate /2stem" i 'IP 8 koji mogu da se snadju u mrezama podeljenim na ovaj nacin.
;.
9oice over IP
Aedna od najnoviji# te#nologija koja su u poslednje vreme ubrzano razvija jeste ;oice over IP. Prenos zvuka a posebno govora u realnom vremenu je oduvek zadavalo veliki problem jer za#teva pouzdan prenos kao i kasnjenje manje od 85-ms . Internet ima pouzdanost veza od oko )-N a to je malo za potrebe ovakvog prenosa. &ako zvucni zapis sadrzi mnogo podataka pre je bilo jako tesko prenositi zvuk preko spori# vodova. Aedno od resenja je bila kompresija. 0edjutim i tu je postojao problem. $a bi mogao da komprimuje i dekomprimuje govor racunar je morao da bude veoma brz a to je opet predstavljalo problem. Pojavom racunara novije generacije !Pentium I i II" taj je resen tako da je sada moguce da od kuce pricate sa nekim drugim preko interneta. % poslednje vreme razvijeni su razliciti algoritmi kojima je smanjen potreban prenosni opseg tako da danasnji uredjaji daju govorni signal kvaliteta kao kroz telefonsku mrezu na ) kbit/s a nesto losijeg
kvaliteta na 6.) kbit/s. Propusni opseg je mogao da se smanji za#valjujuci prirodi govornog signala. %tvrdjeno je da normalan razgovor sadrzi svega 88N perioda u kojem se prenose korisne informacije a ostatak se sastoji od perioda tisina ili perioda koje zauzimaju sekvence koje se ponavljaju. &ao primer komunikacije preko IP mreze prikazacu 0icrosoft-ov program Netmeeting ,.- koji je vec postao standardni programski paket. % praksi ovaj progam je veoma korisan posto po ceni pristupa internetu mozete da razgovarate sa inostranstvom. @rzina modema vas u svakom slucaju ovde nece ograniciti posto je za prenos zvuka po 0icrosoft-ovom C.*8,.9 standardu dovoljno 46-bita/sekundi. Tu vas prakticno modem ne ogranicava vec kvalitet same veze prema sagovorniku i zagusenost mreze. /to se tice uspostavljanja veze ono je krajnje jednostavno. (ko zovete drugi racunar samo unesite njegovu IP adresu i kroz par sekundi veza ce biti uspostavljena. To je bar sto se tice prenosa govora. (li Net0eeting moze da prenosi i sliku. (ko imate kamericu vas sagovornik vas moze i videti. (ko vas sagovornik ima kamericu i zelite da ga vidite postoje opcije koje vam omogucuju da kvalitet slike podesite prema kvalitetu i brzini veze koju imate. (li vratimo se na to sta Net0eeting pruza obicnom korisniku. Pored govora mozete ukljuciti i c#at program koji se nalazi u okviru Net0eeting-a. Tu je i jedna veoma korisna stvar a to je nj#iteboard. (ko imate pravi nj#iteboard i odgovarajucu olovku mozete crtati po njoj a da vas sagovornik moze to da vidi. (ko nemate tablu i olovku mozete probati i misem ali za to morate da budete malo vestiji. &ako i vi i sagovornik crtate na istoj tabli ovaj deo programa moze biti veoma zanimljiv posebno zato sto dok crtate mozete i da razgovarate pa je i samo crtanje mnogo zanimljivije.
Pored navedeni# opcija postoji i takozvani $esktop /#aring. On vam omogucava da vidite sagovornikov desktop ili da on vidi vas. /pecialna opcija vam omogucava da mozete cak vidite i program koji radi na sagovornikovom racunaru !tzv. Program /#aring". /to se samog principa rada tice Net0eeting radi sa TCP i %$P. On prakticno kodira govor i odma# ga salje sagovorniku u paketima. 'acunar na drugom kraju te podatke pusta po redu dolaska. Prema tome kod razgovora preko interneta je bitno da veza bude dobra pre svega da bi ti paketi stizali po redu i na vreme. % >(N-ovima ovakvi progami se vec uveliko primnjjuju jer u lokalnim mrezama ne dolazi do kasnjenja paketa tako da je kvalitet veze kao preko telefona a slika moze da ima preko 8- frejmova u sekundi. $anas postoji tendencija integracije servisa prenosa govora slike i podataka preko mreza za prenos podataka. % tu svr#u napravljena je cela gama standarda tipa
=.,8, koji omogucavaju integraciju usluga. /lika 4-9 prikazuje ar#itekturu mreza koje se zasnivaju na TCP/IP protokolu i koje omogucavaju veliki broj usluga. Ovo je bio kratak prikaz tedencija IP-a i programa Net0eeting. @uducnost IP-a je veoma perspektivna na samo zbog interneta nego pre svega zbog ;oice over IP-a koji polako preuzima neke od usluga same telefonske mreze i time postaje protokol koji ima vrlo znacajnu primenu.
:iteratura
9. Internet 'outing (rc#itectures @assam =alabi Cisco S*stem" Cisco 3ress 8. 'outer Configuration and 0anagment3 /tudent Cuide - 4a* 1et5orks ,. 'eljuest 1or Comments !'1C" number *+9 Internet Protocol *+, Transmission Control Protocol )8- (ssigned numbers )89 /imple 0ail Transfer Protocol )88 /tandard for t#e format of ('P( Internet teDt messages )8, Internet gatenja2 )84 ?t#ernet (ddress 'esolution Protocol3 Or converting net7ork protocol addresses to 6) bit ?t#ernet address for transmission on ?t#ernet #ardnjare )56 Telnet Protocol specification )55 Telnet option specifications ))8 $omain names3 Concepts and facilities )), $omain names3 Implementation specification +5+ 1ile Transfer Protocol 9--8 Protocol standard for a Net@IO/ service on a TCP/%$P transport3 $etailed specifications 9--9 Protocol standard for a Net@IO/ service on a TCP/%$P transport3 Concepts and met#ods 89*8 (ssigned numbers 6. Programiranje modema - Nikola &nezevic 5. Nove usluge u 1rame 'ela2 mrezi - $arinka @ralic +elekom Srbia" 6uinfo #778 4. ;oice Over IP - %nderstanding =.,8, - 'od %nverric# =P Net7ork /2stem Test $ivision *. Internet