10. TCP/IP - es.elfak.ni.ac.rses.elfak.ni.ac.rs/rmif/Prenos-podatak-februar-2011/Pre.-pod-...

22
Prenos podataka – TCP/IP 226 10. TCP/IP 10.1. Uvod Mrežne tehnologije kakve su Ethernet, Token Ring i FDDI (Fiber Distributed Data Interface) obezbedjuju funkcije do nivoa-veze (data link layer). Drugim rečima, to znači da ove tehnologije obezbedjuju samo pouzdanu vezu izmedju jednog i drugog čvora u istoj mreži, ali ne i funkcije koje se odnose na prenos podataka iz jedne mreže ka drugoj ili jednog mrežnog segmenta ka drugom. Da bi se podaci prenosili kroz mreže potrebno je koristiti adresne šeme (tehnike) koje će biti razumljive (interpretirane) za bridge, gateway i rutere. Medjusobno povezivanje mreža se naziva umrežavanje (internetworking ili internet). Svaki deo internet-a naziva se sub-mreža (subnet). TCP/IP (Transmission Control Protocol and Internet Protocol) predstavlja par protokola koji omogućava (obezbedjuje) da jedan deo subnet-a komunicira sa drugim. Napomenimo da protokol predstavlja skup pravila za korektnu razmenu podataka izmedju dva uredjaja (računara). U konkretnom slučaju, IP deo odgovara mrežnom-nivou (network-layer) OSI modela dok TCP deo transportnom-nivou (transport-layer). Rad ovih ovih protokola transparentan je fizičkom-nivou i nivou-veze pa se zbog toga par TCP/IP može koristiti za rad Etherneta, FDDI ili Token Ring-a. Na slici 10.1. ilustrovana je ova situacija. Adresa na nivou-veze odgovara fizičkoj adresi čvora kakva je MAC adresa (kod Ethernet ili Token Ring) ili telefonskog broja (kod modemske veze). IP adresa dodeljuje se svakom čvoru internet-a i koristi se da identifikuje lokaciju mreže i bilo kojih subnet-a. fizički transportni-nivo mrežni-nivo nivo-veza TCP IP Ethernet/ Token Ring/ FDDI/ ISDN Slika 10.1 OSI i TCP/IP model Svetska mreža Internet koristi TCP/IP kao standard za prenos podataka. Svakom čvoru na Internetu dodeljena je jedinstvena mrežna adresa koja se naziva IP adresa. Naglasimo da svaka organizacija može da ima svoje internete, ali ako se ovi interneti spoje na Internet tada je potrebno da se njihove adrese slože sa formatom kod Internet adresiranja. ISO je usvojio TCP/IP kao bazu za standarde koji se odnose na mrežne i transportne nivoe kod OSI modela. Ovaj standard je poznat kao ISO-IP. Tipične aplikacije koje koriste TCP/IP komunikacije su remote-login i file-transfer. Standardni programi koji se koriste za fajl-transfer i log-in preko TCP komunikacije su ftp-program za transfer fajlova, telnet-omogućava remote log-in na drugi računar, ping-program odredjuje da li se čvor odaziva na TCP/IP komunikacije, i dr.

Transcript of 10. TCP/IP - es.elfak.ni.ac.rses.elfak.ni.ac.rs/rmif/Prenos-podatak-februar-2011/Pre.-pod-...

Prenos podataka – TCP/IP

226

10. TCP/IP

10.1. Uvod

Mrežne tehnologije kakve su Ethernet, Token Ring i FDDI (Fiber Distributed Data Interface) obezbedjuju funkcije do nivoa-veze (data link layer). Drugim rečima, to znači da ove tehnologije obezbedjuju samo pouzdanu vezu izmedju jednog i drugog čvora u istoj mreži, ali ne i funkcije koje se odnose na prenos podataka iz jedne mreže ka drugoj ili jednog mrežnog segmenta ka drugom. Da bi se podaci prenosili kroz mreže potrebno je koristiti adresne šeme (tehnike) koje će biti razumljive (interpretirane) za bridge, gateway i rutere. Medjusobno povezivanje mreža se naziva umrežavanje (internetworking ili internet). Svaki deo internet-a naziva se sub-mreža (subnet).

TCP/IP (Transmission Control Protocol and Internet Protocol) predstavlja par protokola koji omogućava (obezbedjuje) da jedan deo subnet-a komunicira sa drugim. Napomenimo da protokol predstavlja skup pravila za korektnu razmenu podataka izmedju dva uredjaja (računara). U konkretnom slučaju, IP deo odgovara mrežnom-nivou (network-layer) OSI modela dok TCP deo transportnom-nivou (transport-layer). Rad ovih ovih protokola transparentan je fizičkom-nivou i nivou-veze pa se zbog toga par TCP/IP može koristiti za rad Etherneta, FDDI ili Token Ring-a. Na slici 10.1. ilustrovana je ova situacija. Adresa na nivou-veze odgovara fizičkoj adresi čvora kakva je MAC adresa (kod Ethernet ili Token Ring) ili telefonskog broja (kod modemske veze). IP adresa dodeljuje se svakom čvoru internet-a i koristi se da identifikuje lokaciju mreže i bilo kojih subnet-a.

fizički

transportni-nivo

mrežni-nivo

nivo-veza

TCP

IP

Ethernet/Token Ring/

FDDI/ISDN

Slika 10.1 OSI i TCP/IP model

Svetska mreža Internet koristi TCP/IP kao standard za prenos podataka. Svakom čvoru na Internetu dodeljena je jedinstvena mrežna adresa koja se naziva IP adresa. Naglasimo da svaka organizacija može da ima svoje internete, ali ako se ovi interneti spoje na Internet tada je potrebno da se njihove adrese slože sa formatom kod Internet adresiranja.

ISO je usvojio TCP/IP kao bazu za standarde koji se odnose na mrežne i transportne nivoe kod OSI modela. Ovaj standard je poznat kao ISO-IP.

Tipične aplikacije koje koriste TCP/IP komunikacije su remote-login i file-transfer. Standardni programi koji se koriste za fajl-transfer i log-in preko TCP komunikacije su ftp-program za transfer fajlova, telnet-omogućava remote log-in na drugi računar, ping-program odredjuje da li se čvor odaziva na TCP/IP komunikacije, i dr.

Prenos podataka – TCP/IP

227

10.2. TCP/IP gateway i host

TCP/IP hostovi su čvorovi koji preko mreže medjusobno komuniciraju koristeći TCP/IP komunikacije.

TCP/IP gateway čvor povezuje jedan tip mreže sa drugim. On sadrži hardver koje ostvaruje fizičku vezu izmedju različitih mreža, kao i hardver i softver za konverziju okvira iz jednog formata u drugi. Obično on konvertuje Token Ring MAC nivo u ekvivalentni Ethernet MAC nivo, i obratno.

Sa druge strane, koristeći vezu tipa tačka-ka-tački (point-to-point) ruter povezuje dve mreže istog tipa.

Glavna operativna razlika izmedju gateway, rutera i bridge-a je ta da kod Token Ring i Ethernet mreža, bridge koristi 48-bitnu MAC adresu za rutiranje poruka, dok gateway i ruter koriste IP mrežnu adresu. Po analogiji sa javnom telefonskom mrežom, MAC adresa ekvivalentna je slučajno dodeljenom telefonskom broju, dok IP adresa sadrži informaciju o logičkoj lokaciji telefona kao što su zemlja, kôd oblasti, i dr.

Na slici 10.2. prikazan je način na koji gateway usmerava (rutira) informaciju. Gateway čita okvir sa računara povezan na mreži A. Nakon toga čita IP adresu koja je sastavni deo okvira i donosi odluku da li okvir da usmeri na izlazu mreže A prema mreži B. Ako on to odluči tada prilagodi okvir formatu mreži B i predaje ga.

Transportninivo

Mrežninivo

Nivoveze

Fizičkinivo

TCP

IP

Ethernet,Token Ring,

FDDIModem

IP

ConvertorEthernet,

Token Ring,FDDI

Modem

IP

Ethernet,Token Ring,

FDDIModem

TCP

Mreža A Mreža B

Internetgataway

Slika 10.2 Internet gateway nivoi

10.3. Funkcije IP protokola

Glavne funkcije IP protokola su:

1. Rutiranje IP okvira podataka - okviri su tipa (nazivaju se) internet datagram. Program koji se odnosi na IP protokol, a izvršava se na svakom čvoru, zna lokaciju gateway-a u mreži. Gateway mora biti u stanju da locira mrežu kojoj želimo da pristupimo. Podaci nakon toga polaze od čvora ka gateway-u preko interneta.

2. Fragmentacija podataka - na manje jedinice ako je njihov obim veći od 64 kB.

3. Raportiranje grešaka - kada se datagram rutira ili se reasemblira može da se javi greška. Ako se javi greška tada čvor detektuje grešku i obaveštava povratno izvorni čvor. Datagrami se izbacuju iz mreže ako oni putuju kroz mrezu duže u odnosu na specificirano vreme. Kao zaključak, poruka o grešci vraća se izvornom čvoru sa ciljem da ga obavesti da internet rutiranje ne može da nadje put za datagram, ili da odredišni čvor, ili mreža, ne postoji.

Prenos podataka – TCP/IP

228

10.4. Internet datagram

IP protokol predstavlja implementaciju OSI mrežnog nivoa. Informaciji koju prima od transportnog-nivoa IP dodaje zaglavlje, a rezultantni paket podataka naziva se internet datagram. Zaglavlje sadrži informaciju o odredišnoj i izvorišnoj IP adresi, broj verzije IP protokola, i dr. Format internet datagrama prikazan je na slici 10.3.

Data

1

Version Type of service

Total lenght

Identification

ProtocolTime-to-live

Source IP address

109876542 3 14131211 1615

D M Fragment offset

Destination IP address

Options

( )kB64≤

Header

Header lenght

Slika 10.3 Format i sadržaj internet datagrama

Datagram može da sadrži do 64 kB podataka. Kada je obim podataka koji se predaje jednak ili manji od 64 kB tada se on predaje kao jedinstveni datagram. Suprotno, ako je obim podataka veći od 64 kB, tada predajnik deli podatke na fragmente i predaje ih kao više datagrama. Nakon predaje od strane izvorišta, svaki datagram se rutira posebno kroz internet, ali se na prijemnoj strani fragmenti konačno reasembliraju (pakuju u prvobitni redosled).

Polja kod IP datagrama imaju sledeće značenje:

• Version - broj verzije TCP/IP-a pomaže čorovima i gateway-ima da korektno interpretiraju podatke. Kod različitih verzija postoje različiti formati ili pak IP protokol može da interpretira zaglavlje različito.

• Type of service - ovo polje je 8-bitno i oblika je PPPDTRXX, gde PPP definiše prioritet datagrama (od 0 do 7), D postavlja mali iznos kašnjenja za datu uslugu, T definiše visoku propusnost, R postavlja visoku pouzdanost, a XX se tekuće ne koristi.

Prenos podataka – TCP/IP

229

• Header length - definiše obim jediničnog podatka kao umnožak od 4 bajta. Minimalna dužina je 5 bajtova, a maksimalna 65536 bajtova. Neiskorišćeni prostor se popunjava padding bajtovima (bajtovima za popunjenje).

• D i M bitovi - gateway može da rutira datagram i da ga podeli na manje delove. D bit informiše gataway da ne sme da deli podatke pa na taj način ukazuje prijemnom čvoru da mora da primi podatke kao jedinstvenu celinu, ili da ih uopšte ne primi. M bit ukazuje da je poruka fragmentirana i identifikuje fragmente podataka. Polje fragment-offset sadrži broj fragmenta.

• Time-to-live - datagram se može pronositi kroz internet beskonačno dugo. Da bi se zaštitili od ovoga, izvorišni IP čvor postavlja 8-bitnu time-to-live vrednost na maksimalno prelazno (tranzitno) vreme u sekundama. Svaki gateway zatim dekrementira vrednost za definisano vreme. To znači da time-to-live polje definiše maksimalni iznos vremena za koje odredišni IP čvor treba da dobije naredni datagram fragment.

• Protocol - kod prenosa datagrama mogu se koristiti različiti tipovi IP protokola. Osmobitnim protocol poljem u okviru zaglavlja definiše se tip korišćenog protokola.

• Header checksum - ovo polje sadrži 16-bitni bit oblik na osnovu koga se može detektovati greška

• Source and destination IP addresses - izvorišna i odredišna IP adresa smešta se u 32-bitnom polju izvorišne i odredišne IP adrese, respektivno.

• Options - ovo polje sadrži informaciju koja se tiče debagiranja, kontrole greške i informacija o rutiranju.

10.5. ICMP

Poruke, kakve su podaci upravljačkog tipa (control data) informacioni podaci, i podaci o ispravljanju grešaka, prenose se izmedju Internet-hostova pomoću ICMP (Internet Control Message Protocol). Poruke se predaju sa standardnim IP zaglavljem, a mogu biti tipa:

• Odredište nije dostupno (destination unreachable to je poruka tip 3) - šalje se od strane hosta na mreži i ima za cilj da ukaže da je odredište nedostupno. Može da sadrži i informaciju koja nešto bliže definiše-zbog čega odredište nije dostupno.

• Echo request/echo reply (poruka tipa 8 ili 0) - koristi se za proveru veze izmedju dva hosta. Komanda ping (pripada TCP protokolu) koristi ovu poruku, pri čemu ona šalje ICMP echo request poruku ka ciljnom hostu i čeka da odredišni host odgovori sa porukom tipa echo reply.

• Redirection (poruka tipa 5) šalje se od strane rutera ka onom hostu koji je zahtevao servis rutiranja. Na ovaj način pronalazi se najkraći put do željenog hosta.

• Source quench (poruka tipa 4) - koristi se kada host u datom trenutku ne može da primi više IP paketa.

Kao što je prikazano na slici 10.4. ICMP poruka na početku ima tri polja. Type je 8-bitno polje i identifikuje tip poruke saglasno slici 10.5. Code polje je 8-bitno, a Checksum polje je 16-bitno. Informacija nakon ovog polja zavisi od tipa poruke, i može se odnositi na:

• echo request i reply - prenosi se kao 8-bitni identifikator koji sledi zaglavlje poruke, nakon čega sledi 8-bitni redosledni broj, a zatim prvobitno IP zaglavlje.

• destination unreachable, source quench i time-nakon zaglavlja poruke slede 32-bita a nakon toga prvobitno IP zaglavlje.

• timestamp request - 16-bitni identifikator koji sledi zaglavlje poruke, nakon toga sledi 16-bitni redosledni broj, i na kraju 32-bitni početni timestampt.

Prenos podataka – TCP/IP

230

zaglavlje IP paketa

tip kod ček sumadodatna

informacija

ICMP poruka

8 bitova 8 bitova 8 bitova

Slika 10.4 Format ICMP poruke

vrednost tip poruke vrednost tip poruke 0 Echo reply 12 Parameter problem

3 Destination unreachable 13 Timestamp request

4 Source quench 14 Timestamp reply

5 Redirect 17 Address mask request

8 Echo request 18 Address mask reply

11 Time-to-live exceeded

Slika 10.5 Vrednost polja kod različitih tipova poruka

10.6. Implementacija TCP/IP

Na slici 10.6. prikazana je jedna jednostavna implementacija TCP/IP-a. Gateway MERCURY ostvaruje vezu (povezivanje) izmedju token-ring mreže (NETWORK A) i Ethernet mreže (ETHER C). Drugi gateway PLUTO povezuje NETWORK B na ETHER C. TCP/IP protokol je taj koji omogućava da host na NETWORK A komunicira sa VAX 01.

Prenos podataka – TCP/IP

231

MOON

VAX02

MERCURY

MARSJUPITER

PLUTO

DIONE

VENUS OBERONVAX01

NETWORK A

NETWORK B

ETHER C

Slika 10.6 Primer implementacije interneta

10.6.1. Izbor internet adresa Svaki čvor koji koristi TCP/IP način komuniciranja zahteva IP adresu koja se uparuje sa Token

Ring ili Ethernet MAC adresom. MAC adresa obezbedjuje da čvorovi na istom segmentu mogu medjusobno da komuniciraju. Sa ciljem da čvorovi koji pripadaju različitim mrežama mogu da komuniciraju, svakom čvoru je potrebno dodeliti IP adresu.

Čvorovi na TCP/IP mrežu mogu biti host-ovi ili gateway-ovi. Bilo koji čvor koji izvršava aplikacioni softver, ili je terminal, je host. Bilo koji čvor koji rutira TCP/IP pakete izmedju mreža naziva se TCP/IP gateway čvor. Ovaj čvor mora da ima ugradjenu odgovarajuću karticu tipa mrežni kontroler koja se koristi kao fizički interfejs sa drugim mrežama na kojima se povezuje.

10.6.2. Format IP adrese IP adresu (vidi sliku 10.7) čine dva polja: (a) broj mreže - identifikuje mrežu; i (b) broj hosta -

identifikuje pojedini host u okviru mreže.

Prenos podataka – TCP/IP

232

Network B[broj

mreže]

[broj Host-a]

[broj Host-a]

broj mreže broj Host-a

Network A[broj

mreže]

[broj Host-a]

Network C[broj

mreže]

Slika 10.7 IP adresiranje kod mreža

IP adresa je obima 32-bita, a to znači da je moguće adresirati 2969672944232 = hostova. Kao što je prikazano na slici 10.8 postoje tri glavna adresna formata. Svaki od ovih tipova važi za odredjeni tip mreže.

Klasa A obezbedjuje adresiranje do 128 (27) različitih mreža i do 16 777 216 (224) hostova po svakoj mreži.

Klasa B omogućava adresiranje do 16 384 mreža i do 65 536 hostova po mreži.

Klasa C dozvoljava adresiranje do 2 097 152 mreža pri čemu svaka može da ima do 256 hostova.

0

1 0

1 1 0

Class A

Class C

Class B

Network (7 bitova)

Network (21 bitova)

Network (14 bitova)

Node (Čvor) (24 bitova)

Node (Čvor) (8 bitova)

Node (Čvor) (16 bitova)

Slika 10.8 Klase A, B i C kod IP adresiranja

Klasa A je pogodna za aplikaciju kod onih situacija gde postoji mali broj mreža sa velikim brojem hostova po mreži. Klasa C je korisna gde postoji veliki broj mreža sa relativno malim brojem hostova povezanih na svaku mrežu. Klasa B, po svemu izgleda, predstavlja dobar kompromis izmedju krajnjih rešenja koja nude klase A sa jedne, i klase C, sa druge strane.

Prenos podataka – TCP/IP

233

Kada se bira internet adresa mreže, adresa se specificira decimalnim brojevima koji se nalaze u okviru specificiranog opsega. Tako na primer, kod mreže DARPA koristi se sledeći IP adresni format: W.X.Y.Z, gde svakoj od veličina W, X, Y i Z odgovara po jedan bajt IP adrese. Decimalni broj se nalazi u opsegu od 2550 − . Četiri bajta se odnose na adresu mreže plus adresu hosta.

Na slici 1‚0.9. definisani su važeći adresni opsezi za sliku 10.8. Shodno prethodnom, kod klase A moguće je adresirati 127 mreža i 255256256 ∗∗ hostova. Kod klase B moguće je adresirati 25564 ∗ mreža, a kod klase C 25525632 ∗∗ mreža i 255 hostova.

Adrese iznad 223.255.254 su rezervisane, a isti zaključak važi i za adrese čije su grupe nulte.

Tip Deo mreže Deo host-a

A 1 - 126 0.0.1 – 255.255.254

B 128.1 – 191.254 0.1 – 255.254

C 192.0.1 – 223.255.254 1 - 254

Slika 10.9 Opsezi adresa za internet adrese tipa A, B i C

10.6.3. Kreiranje IP adresa i subnet brojeva

Pored selektovanje IP adresa mreža i host brojeva moguće je uvesti još jedan medjubroj koji se naziva subnet broj. Uvodjenje subnet-a obezbedjuje se ostvarivanje hijerarhijske organizacije u okviru mreže (vidi sliku 10.10).

Subnet A[broj

podmreže]

Subnet A[broj

podmreže]

Subnet A[broj

podmreže]Subnet A

[broj podmreže]

[broj Host-a]

Network A[broj

mreže]

Subnet B[broj

podmreže]

Network C[broj

mreže]

broj mreže broj Subnet-a broj Host-a

W.X.Y

W.X.Y

Slika 10.10 IP adresa uvodjenjem subnet-a

Za adresu W. X. Y. Z i kod tipa A, adresa W specificira mrežu, a X subnet. Za tip B Y polje specificira subnet (vidi sliku 10.11.)

Prenos podataka – TCP/IP

234

Subnet A[broj

podmreže]

Subnet A[broj

podmreže]

Subnet A[broj

podmreže]Subnet A

[broj podmreže]

[broj Host-a]

Network A[broj

mreže]

Subnet B[broj

podmreže]

Network C[broj

mreže]

broj mreže(W.X)

broj Subnet-a(Y)

broj Host-a(Z)

W.X.Y

W.X.Y

W.X.Y

W.X

W.X

W.X.Y

W.X.Y

W.X.Y.Z

W.X.Y.Z

Slika 10.11 Internet adresi i subnet-i

Obično, Internet organizacija koristi mrežne adrese tipa B. Prva dva polja adrese specificiraju organizaciju mreže, treće subnet u okviru organizacije, a zadnje specificira host.

10.6.4. Specifikacija subnet maski

Kada se koristi subnet, tada se uvodi i bit maska, ili subnet maska sa ciljem da se razdvoji deo adrese koji se odnosi na mrežu od dela za host.

Subnet maska je 32-bitni broj koji ima sve 1 na bit pozicijama koje specificiraju mrežu i subnet, a 0 na sve bit pozicije koje specificiraju host. Tekstualni fajl nazvan hosts uobičajeno se koristi za postavljanje subnet maske. Inicijalno (default) postavljene subnet maske za IP adrese tipa A, B i C prikazane su na slici 10.12.

Tip adrese Default-a maska

Klasa A 255.0.0.0

Klasa B 255.255.0.0

Klasa C i klasa B sa subnet-om 255.255.255.0

Slika 10.12 Inicijalno dodeljene maske

10.7. Domeni

IP adresa se može specificirati u sledećoj formi WWW.XXX.YYY.ZZZ, gde su XXX.YYY.ZZZ i WWW celobrojne vrednosti iz opsega 0-255. Kod Interneta WWW.XXX.YYY definiše subnet, a ZZZ host. Ovakva imena je teško pamtiti pa je daleko bolji metod koristiti simbolička imena.

Korisnici i aplikacioni programi umesto IP adresa mogu koristiti simbolička imena. Na osnovu direktorijumskih mrežnih servisa koji se implementiraju kod Interneta odredjuje se IP adresa prozvanog odredišnog korisnika ili aplikacionog programa. Ovakav pristup ima tu prednost što se korisnik i aplikacioni programi mogu seliti sa jednog mesta na drugo po Internetu, a da pri tome nemaju fiksne IP adrese.

Uspostavimo sada analogiju sa servisima koje pruža javna telefonska mreža. Telefonski imenik sadrži imena pretplatnika. Ako želimo nekom korisniku da doznamo telefonski broj mi prvo u imeniku

Prenos podataka – TCP/IP

235

nalazimo njegovo ime, a zatim i odgovarajući telefonski broj. Telefonski imenik, prema tome, vrši preslikavanje imena korisnika (simbolička imena) u stvarni telefonski broj (aktuelna adresa). Slična logika se koristi kod Interneta.

Na slici 10.13 prikazane su neke od Internet domen dodele za World Wide Web (WWW) servere. Uočimo sa dodele domena nisu fiksne i da domeni mogu menjati svoje odgovarajuće IP adrese. Povezivanje (preslikavanje) izmedju simboličkog imena i njegove stvarne adrese se može promeniti u bilo kom trenutku.

Web server Imena Internet domena Internet IP adrese NEC www.nec.com 143.101.112.6

Sony www.sony.com 198.83.178.11

Intel www.intel.com 134.134.214.1

IEEE www.ieee.com 140.98.1.1

University of Bath www.bath.ac.uk 136.38.32.1

University of Edinburgh www.ed.ac.uk 129.218.128.43

IEE www.iee.org.uk 193.130.181.10

University of Manchester www.man.ac.uk 130.88.203.16

Slika 10.13 Internet domeni dodeljeni web serverima

10.8. Struktura dodeljivanja imena kod Interneta

Način dodeljivanja imena kod Interneta zasniva se na korišćenju oznake (labela) koje se izdvajaju tačkom. Primer je eece.napier.ac.uk. Kod ovog imena koristi se hijerarhijska struktura kod koje se organizacije grupišu u primarni domen imena. To su com (komercijalne organizacije), edu (edukativne organizacije), gov (vladine organizacije), mil (vojne organizacije), net (centri koji pružaju podršku Internet mreži), org (druge organizacije). Primarni domen može takodje definisati zemlju u kojoj je host lociran, kao što je uk za United Kingdom, fr (France), yu (Yugoslavia), i td. Svi hostovi na Internetu moraju biti registrovani na jedno ime od primarnih domena.

Oznaka nakon primarnog polja opisuje subnet-e u okviru mreže. Na primer, kod adrese eece.napier.ac.uk labela ac se odnosi na akademsku instituciju u okviru uk, napier predstavlja ime institucije, dok eece je subnet u okviru te organizacije. Na slici 10.14 prikazana je jedna takva struktura.

Prenos podataka – TCP/IP

236

edu gov com mil usa uk fr

intel sony nec ac

napier maned bath

eece cs mmse

www

eece.napier.ac.uk

www.eece.napier.ac.uk

Slika 10.14 Dodeljivanje imena domenima

10.8.1. Ime servera domena

Svaka institucija povezana na Internet ima svoji host koji izvršava proces koji se naziva DNS (Domain Name Server). Zadatak je DNS-a da održava bazu podataka nazvanu DIB (Directory Information Base) koja sadrži datotečku (directory) informaciju za tu organizaciju. Nakon dodavanja novog host-a, sistem menadžer (System Manager) dodaje novo ime i odgovarajuću IP adresu. Posle obavljanja ove aktivnosti moguć je pristup Internetu.

Prenos podataka – TCP/IP

237

10.9. Primer realizacije jedne mreže Ilustrativni primer organizacije univerzitetske računarske mreže prikazan je na slici 10.15.

Sprega sa spoljnim Internetom ostvaruje se preko Janet gateway čvora čija je IP adresa 146.176.1.3. Tri subneta, 146.176.160, 146.176.129 i 146.176.151 povezuju gateway sa departmet (fakultetskim) bridge-evima. Adresa Computer Studies bridge-a je 146.176.160.1, dok Electrical Departmet bridge-a je 146.176.151.254. Electrical Department bridge povezan je preko drugih bridge-eva na subnete 146.176.144, 146.176.145, 146.176.147, 146.176.150 i 146.176.151.

Janetgateway146.176.1.3

Electrical Departmentbridge146.176.151.254

ComputerStudiesbridge146.176.160.1

MechanicalDepartmentbridge146.176.129.1

Global Internet

146.176

146.176.151

146.176.160

146.176.129

146.176.144

146.176.145

146.176.147

146.176.150

146.176.151

Slika 10.15 Univerzitetska mreža

Topologija Electrical Department mreže prikazana je na slici 10.16. Glavni bridge na nivou fakulteta povezan je na dve Ethernet mreže sa PC mašinama (subnet-i 146.176.150 i 146.176.151) i na drugi bridge (Bridge 1). Bridge 1 povezan je na subnet 146.176.144. Subnet 146.176.144 povezan je na radne stanice i X-terminale. On je takodje povezan na gateway Moon koji povezuje Token Ring subnet 146.176.145 sa Ethernet subnetom 146.176.146 . Ovaj subnet je zatim povezan na gateway Dione koji je takodje povezan na Token Ring subnet 146.176.147.

Prenos podataka – TCP/IP

238

Bridge 1

ElectricalDepartmentbridge/router

Token-Ring mreže

146.176.146146.176.145

146.176.147

146.176.144

146.176.151

146.176.150

PC Ethernet mreža

+ Demos

+ Uranus

WorkstationEthernetmreža

Venus

Pluto

Dione

SaturnMercury

Earth

Rhea

Ariel

Neptune

PhobosIo

Titan

Mimas Oberon

Moon

Spica

Pollux

Castor

Leda

Intel

Mwave

Rigel (X)

Vega (X)

Triton

Miranda

VAX

HP

pc2 pc3

eepc01 eepc02

Slika 10.16 Mreža Electrical Department

Svakom čvoru u mreži dodeljena je IP adresa. Na slici 10.17 prikazana je dodela adresa koja je usaglasnosti sa slikama 10.15 i 10.16. Ilustracije radi, IP adrese za Mimas je 146.176.145.21 a za Miranda 146.176.144.14. Naglasimo da sva tri gateway čvora Oberon, Moon i Dion imaju po dve IP adrese.

Prenos podataka – TCP/IP

239

Sadržaji Host fajla 146.176.1.3 janet

146.176.144.10 hp

146.176.145.21 mimas

146.176.144.11 mwave

146.176.144.13 vax

146.176.144.14 miranda

146.176.144.20 triton

146.176.146.23 oberon

146.176.145.23 oberon

146.176.145.24 moon

146.176.144.24 moon

146.176.147.25 uranus

146.176.146.30 dione

146.176.147.30 dione

146.176.147.31 saturn

146.176.147.32 mercury

146.176.147.33 earth

146.176.147.34 deimos

146.176.147.35 ariel

146.176.147.36 neptune

146.176.147.37 phobos

146.176.147.39 io

146.176.147.40 titan

146.176.147.41 venus

146.176.147.42 pluto

146.176.147.43 mars

146.176.147.44 rhea

146.176.147.22 jupiter

146.176.144.54 leda

146.176.144.55 castor

146.176.144.56 pollux

146.176.144.57 rigel

146.176.144.58 spica

146.176.151.254 cubridge

146.176.151.99 bridge_1

Prenos podataka – TCP/IP

240

146.176.151.98 pc2

146.176.151.97 pc3

...............................

............................... 146.176.151.71 pc29

146.176.151.70 pc30

146.176.151.99 ees99

146.176.150.61 eepc01

146.176.150.62 eepc02

255.255.255.0 defaultmask

Slika 10.17 Konkretno dodeljene IP adrese

10.10. IP Ver 6

TCP i IP su izuzetno važni protokoli jer obezbedjuju da hostovi komuniciraju medjusobno preko Interneta na jedan pouzdan način. TCP obezbedjuje vezu izmedju dva hosta i podržava rad kod manipulisanja sa greškama. Sagledajmo sada neke detalje koji se odnose na to kako TCP uspostavlja i održava vezu.

Važan koncept TCP/IP komunikacija predstavlja korišćenje port-ova i socket-a. Port identifikuje tip procesa (kakvi su FTP, TELNET i dr), dok socket identifikuje dodelu jedinstvenog broja veze (connection number). Na ovaj način TCP/IP može istovremeno da podržava rad većeg broja veza koje se izvršavaju preko mreže a pripadaju različitim aplikacijama. Višem nivou podataka dodaje se IP zaglavlje (IP Ver 4). Ovo zaglavlje sadrži 32-bitnu IP adresu odredišnog čvora. Na žalost, standardna 32-bitna IP adresa nije dovoljno velika da podrži rad sa povećanim brojem čvorova koji se povezuju na Internet. Zbog toga je razvijen novi standard pod imenom IP Version 6 (IP Ver 6) sa ciljem da podržava rad sa 128-bitnom adresom, ali takodje i da obezbedi dodatna poboljšanja koja se odnose na autentičnost pristupa i šifrovanje podataka. Tri glavna pravca razvoja gde se obavljaju ispitivanja su:

• TUBA (TCP i UDP sa širim adresama)

• CATNIP (opšta arhitektura za Internet)

• SIPP (jednostavan Internet protokol plus)

Verovatno nijedno od predloženih rešenja neće u potpunosti zadovoljiti potrebe novog standarda, ali, po svemu izgleda tako da će rezultantni standard biti zbir (mešavina) sva tri rešenja. Na slici 7.18 prikazan je osnovni format IP Ver 6 zaglavlja.

Prenos podataka – TCP/IP

241

Destination IP address

1 6151413121110198765432

Version Flow labelPriority

Flow label

Payload lenght

Hop limitNext header

Source IP address

Slika 10.18 Format IP Ver 6 zaglavlja

Značenje polja u zaglavlju je sledeće:

• Version number (4-bita) - sadrži broj verzije, kao što je 6 za IP Ver 6. Koristi se da bi se napravila razlika izmedju IP Ver 4 i IP Ver 6.

• Priority (4 bita) - ukazuje na prioritet datograma

• Flow label (24-bita) - još neiskorišćeno polje, ali će biti iskorišćeno da identifikuje različite karakteristike toka podataka.

• Playload length (16-bitova) - definiše obim IP datagrama (sadrži IP zaglavlje koje je pridruženo podacima)

• Next header - ovo polje ukazuje koje zaglavlje sledi IP zaglavlje. Na primer: 0 - definiše IP informaciju; 6- definiše TCP informaciju; 43-definiše informaciju o rutiranju; 58 - definiše ICMP informaciju.

• Hop limit - definiše maksimalan broj skokova koje datagram obavlja pri prolazu kroz mrežu. Svaki ruter dekrementira skok (hop) granicu za 1; kada ona dostigne 0 datagram se izbacuje.

• IP addresses (128 bitova) - definiše IP adresu. Postoje tri glavne grupe IP adresa: unicast, multicast i anycast. Unicast adresa identifikuje pojedini host, multicast adresa omogućava hostovima pojedine grupe da prime isti paket, dok se anycast adresa odnosi na adresiranje odredjenog broja interfejsa kod single multicast adrese.

Prenos podataka – TCP/IP

242

10.11. TCP protokol

Sa tačke gledišta OSI modela, TCP pripada transportnom, a IP mrežnom nivou. To znači da se TCP nalazi iznad IP, tj. IP zaglavlje se uobičajeno dodaje informaciji koja se prima sa višeg nivoa (kao što su transport, sesija, prezentacija i aplikacija). Glavni zadatak TCP-a da obezbedi korektan i pouzdan protokol na transportnom nivou. TCP karakterišu sledeće osobine: pouzdanost u radu, orijentisan je da podržava vezu izmedju čvorova u mreži, ponaša se kao nizovno-orijentisani server koji koristi princip potvrdjivanja poruka. Nasuprot TCP-u, IP protokol ne podržava vezu dva čvora. Uz pomoć TCP-a, veza se inicijalno uspostavlja a zatim održava dok prenos traje.

Informacija koju nosi TCP sadrži (uključuje) poruke o potvrdjivanju kao i skup rednih brojeva. TCP takodje podržava višestruke simultane veze koristeći pri tome odredišne i izvorišne port-brojeve, i upravlja portovima u toku predaje i prijema poruka. Kako i IP, tako i TCP podržava fragmentaciju podataka i reasembliranje, a takodje multiplek-siranje/demultipleksiranje podataka.

Procedura setup (puštanje u rad) i rad TCP-a uključuje sledeće aktivnosti:

1. Kada host želi da uspostavi vezu, TCP predaje odredišnoj mašini poruku tipa request. Ova poruka sadrži jedinstveni broj koja se naziva socket-broj i port-broj. Port-broj ima jedinstvenu vrednost i tipičan je za aplikaciju (na primer TELNET vezu karakteriše broj 23, a FTP veza port-broj 21). Poruka se zatim predaje IP nivou, koji kreira (asemblira) datagrm radi prenosa poruke ka odredištu.

2. Kada odredišni host primi request (zahtev) za vezu, on vraća poruku koja sadrži svoj jedinstveni socket-broj i port-broj. Na ovaj način pomoću socket-broj i port-broj identifikuje se virtuelna veza izmedju dva hosta.

3. Pošto što je veza izmedju dva hosta uspostavljena reguliše se tok prenosa podataka izmedju njih (tok se naziva data stream).

Nakon što je TCP, od višeg nivoa, primio niz podataka, on asemblira (preuredjuje) podatke u formi paketa, koje nazivamo TCP segmenti. Pošto je kreirao segment, TCP dodaje zaglavlje (koje se naziva protocol data unit) na početku tog segmenta. Ovo zaglavlje sadrži informaciju koja se odnosi na checksum, port-broj, odredišni i izvorišni socket-brojevi, socket-broj za obe mašine i radne brojeve segmenata. Nakon toga, TCP nivo predaje pakovane segmente IP nivou. IP nivo, sa svoje strane, enkapsulira ih novim zaglavljem i predaje ih preko mreže kao datagrame.

10.11.1. Portovi i socket-i Kao što smo već pomenuli, svakom hostu TCP pridružuje socket-broj i port-broj. Port-broj

identifikuje željeni servis, dok je socket-broj jedinstveni broj za tu vezu. Na ovaj način, čvor može da ima nekoliko TELNET veza (connections) koje imaju isti port-broj ali će svaka veza imati različit socket-broj. Port-broj može da prima bilo koju vrednost ali postoji dogovor (konvencija) koji se poštuje kod najvećeg broja sistema. Na slici 7.19 definisane su najčešće korišćene vrednosti. Standardne aplikacije uobičajeno koriste port vrednosti od 0-255, dok nespecificirane aplikacije mogu koristiti vrednosti iznad 255.

Prenos podataka – TCP/IP

243

Port Ime procesa

20 FTP-DATA File Transfer Protocol-data

21 FTP File Transfer Protocol-control

23 TELENET Telnet

25 SMTP Simple Mail Transfer Protocol

49 LOGIN Login Protocol

53 DOMAIN Domain Name Server

79 FINGER Finger

161 SNMP SNMP

Slika 10.19 Tipični TCP port-brojevi

10.11.2. Format TCP zaglavlja Predajni TCP nivo komunicira sa prijemnim TCP nivoom koristeći TCP protokol za prenos

podataka. Ovaj protokol definiše parametre kakvi su izvorni port, odredišni port, i dr. Format TCP zaglavlja prikazan je na slici 10.20.

1 6151413121110198765432

Data offset FlagsReserved

Source port

Destination port

Sequence number

Acknowledgment number

Window

Data

UrgPtr

Cheksum

Slika 10.20 Format TCP zaglavlja

Polja zaglavlja sa slike 10.20 imaju sledeće značenje:

Prenos podataka – TCP/IP

244

• Izvorišni i odredišni port-bro -16-bitne vrednosti koje identifikuju lokalni port-broj (izvorni broj i odredišni port-broj ili odredišni port)

• redni broj (sequence number)-identifikuje tekući redni broj segmenta podataka. Ovo obezbedjuje prijemniku da održava trag o primljenim segmentima podataka. Bilo koji izgubljeni segment moguće je lako identifikovati.

• Data - offset-32-bitna vrednost koja identifikuje početak podataka

• Flags-polje flag se definiše kao UAPRSF, gde se U - odnosi na urgentni marker (flag), A - marker potvrde, P - push funkcija, R - reset marker, S- marker za sinhronizaciju sekvence, i F - marker koji označava kraj - prenosa.

• Windows - 16-bitna vrednost, ukazuje na broj blokova podataka koje će prijemni host moći da primi u datom trenutku.

• Checskum -16-bitna chesksum-a za zaglavlje i podatke

• UrgPtr-urgentni pokazivač, koristi se za identifikaciju važnih oblasti podataka (najveći broj sistema ne podržava ovaj tip mogućnosti).

10.12. TCP/IP komande Postoji nekoliko standardnih programa koji se koriste kada se uspostavi veza po TCP/IP protokolu.

Ove aplikacije su:

• FTP (File Transfer Protocol) - vrši prenos fajlova izmedju dva računara

• HTTP (Hypertext Transfer Protocol) - protokol koji se koristi kod WWW (World Wide Web) a može se koristiti kod client-server aplikacija za prenos hipertekstova.

• MIME (Multipurpose Internet Mail Extension) - poboljšane mogućnosti elektronske pošte uz pomoć TCP/IP

• SMTP (Simple Mail Management Protocol) - pruža jednostavne usluge kod elektronske pošte

• TELNET - obezbedjuje remote login koristeći TCP/IP

• PING - odredjuje da li se čvor odaziva na TCP/IP komunikacije

Prenos podataka – TCP/IP

245

10.13. Uspostavljanje veze izmedju dva aplikaciona nivoa kod TCP/IP protokola kada se prenos poruka vrši ATM mrežom

Na slikama 10.21, 10.22 i 10.23 prikazane je postupak ostvarivanja veze izmedju dva korisnika na

nivou aplikacije kada se poruke prenose ATM mrežom, a za komunikaciju se koristi TCP/IP protokol.

Peer-to-peer dijalog - pre nego što se podaci predaju predajne iprijemne

aplikacije moraju se dogovoriti o formatu i kodiranju podataka koji se razmenjuju

Peer-to-peer dijalog - oba TCP entiteta saglasna su da se otvori konekcija

Peer-to-peer dijalog - svaki IP datagram se prosledjuje ka mreži i ruterima ka odredišnom sistemu

Peer-to-peer dijalog - svaka ćelija se prosledjuje kroz ATM mrežu

7. prenos svaka ćelija se predaje preko medijuma kao sekvenca bitova

A I T Data

1. priprema podataka- aplikacioni protokol priprema blok podataka za prenos. Na primer e-mail poruka (SMTP), fajl (FTP), ili blok korisničkih podataka (TELNET)

2. korišćenje zajedničke sintakse - ako je neophodno podaci se konveruju u oblik kakav očekuje odredište. To se pre svega odnosi na korišćenje različitih karakter kodova, šifrovanje, i/ili kommpresija

3. segmentiranje podataka - TCP može da razbije blok podataka na veći broj segmenata zadržavajući trag o njihovom redosledu. Svaki TCP segment ima zaglavlje (T) koje sadrži redosledni broj i polje za proveru grešaka u prenosu

4. dupliciranje segmenata - za svaki TCP segment pravi se kopija, u slučaju gubitaka ili oštećenja segmenata, neophodna je retransmisija. Kada se primi potvrda od strane drugog TCP entiteta, segment se briše

5. fragmentacija segmenata - IP može da podeli TCP segment na veći broj datagram-a kako bi ispunio zahteve koje se postavljaju od strane mreže za prenos. Svaki datagram ima zaglavlje koje sadrži odredišnu adresu, sekvencu za proveru okvira, i druge upravljačke informacije

6. uokviravanje (framing) - svakom IP datagram-u pridružuje se ATM zaglavlje kako bi se formirala ATM ćelija. Zaglavlje sadrži konekcioni identifikator i polje za kontrolu grešaka u prenosu

Slika 10.21

Prenos podataka – TCP/IP

246

Peer-to-peer dijalog ruter predaje ovaj datagram ka drugom ruteru ili

ka odredišnom sistemu

11. formiranje - LLC PDU svakom IP datagramu dodalje se LLC zaglavlje i formira LLC PDU. Zaglavlje sadrži redosledni broj i adresnu informaciju

12. uokviravanje - svakom LLC PDU-u dodaje se MAC zaglavlje i rep da bi se formirao MAC okvir. Zaglavlje sadrži adresnu informaciju, a rep sekvencu za proveru ispravnosti prenosa okvira

13. prenos - svaki okvir se predaje preko medijuma kao sekvenca bitova

A I T DataL I T DataM M

10. Rutiranje paketa IP - ispituje IP zaglavlje i donosi odluku o rutiranju. Odlučuje se koji će izlazni link da se koristi, a zatim predaje datagram nivou veze radi prenosa po tom linku

9. procesiranje ćelije - ATM nivo odstranjuje zaglavlje ćelije i procesira ga. Za detekciju greške koristi se oinformacija o kontroli greške. Konekcioni broj identifikuje izvorište.

8. pristizanje na ulaz rutera - prima se signal koji dolati sa transmisionog medijuma i interpretira se kao ćelija bitova

Slika 10.22

Prenos podataka – TCP/IP

247

20. isporuka podataka - aplikacija obavlja potrebne transformacije uključujući dekompresiju i dešifrovanje, i usmerava podatke ka odgovarajućem fajlu ili drugom odredištu

19. objedinjavanje korisničkih podataka - ako je TCP razbio korisničke podatke na veći broj segmenata, njih treba objediniti, a integralni blok predati aplikaciji

18. procesiranje TCP segmenta -TCP izdvaja zaglavlje. On proverava redosledni broj i daje pozitivnu potvrdu ako postoji uparivanje , a negativnu ako dodje do neslaganja.

Upravljanje tokom podataka se takodje obavlja

16. procesiranje LLC PDU - LLC nivo izdvaja zaglavlje i procesira ga redosledni broj okvira koristi se za upravljanje tokom podataka i upravljanje greškama u prenosu

17. procesiranje IP datagrama - IP izdvaja zaglavlje procesira se redosledni broj sekvence i druga upravljačka informacija

15. procesiranje okvira - MAC nivo izdvaja zaglavlje i rep i procesira ih polje za proveru se koristi za detekciju grešaka

14. pristizanje na odredište - signal koji dolazi se prima od strane transmisionog medijuma i interpretira ka okvir bitova

L I T DataM M

Slika 10.23