Analiza ponašanja transportnog protokola TCP
|
|
- Ἱππολύτη Ιωάννου
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Analiza ponašanja transportnog protokola TCP (Izvadak iz diplomskog rada) Igor Minić Internet se razvio u vrlo veliki i kompleksan sustav, sa stotinama milijuna umreženih računala, komunikacijskih veza i mrežnih komponenti, koji je na mnoge načine promijenio svakodnevni život velikog broja ljudi. Kao svaki kompleksan sustav Internet je modularno projektiran te se svaki funkcionalni modul zove sloj (engl layer). Svaki sloj se sastoji od protokola koji definiraju format podataka, procedure prijenosa podataka, postupke dodjeljivanja resursa, itd. S obzirom na veliki i promjenjiv broj korisnika te stalne varijacije aktivnosti korisnika u mreži javlja se potreba za upravljanjem prometnim zagušenjem da bi se pružila optimalna komunikacija s kraja na kraj, te da bi se u potpunosti iskoristila maksimalna moguća propusnost koju mreža dopušta. Tu zadaću prvenstveno obavlja protokol TCP na transportnom sloju. U ovom radu simuliran i ispitan protokol TCP, neki od najvažnijih načina na koje upravlja zagušenjem u mreži te kako na njih utječu razni parametri i stanja u mreži. U prvom je poglavlju detaljno objašnjen protokol TCP i najvažniji mehanizmi upravljanja zagušenjem. Drugo poglavlje sadrži opis korištenog simulatora te simulacijskih scenarija. U trećem su poglavlju analizirani rezultati provedenih simulacija iz kojih su na kraju izvedeni zaključci. 1
2 1. Protokol TCP Prva inačica protokola TCP (engl. Transmission Control Protocol) je predložena godine u radu "A Protocol for Packet Network Intercommunication" [1]. Od tada pa do usvajanja protokolarnog složaja TCP/IP u eksperimentalnoj mreži s komutacijom paketa ARPANET godine, koja je spajala četiri američka sveučilišta i bila projekt agencije DARPA (engl. Defense Advanced Research Projects Agency), TCP je prošao određene preinake. Standard protokola TCP je definiran u RFC 793 [2] od strane IETF-a te se on bazira na istraživanju protokola u mreži ARPANET. Još jedan važni rad za projektiranje protokola TCP te samog Interneta je rad D. Clarka iz godine [3]. U tom radu autor pojašnjava da bi se sustav nepotrebno komplicirao postavljanjem prekomjerne kontrole toka i upravljanja pogreškama na fizičkom sloju ili sloju podatkovne poveznice. Razlog tomu je što se te funkcije u pravilu obavljaju na krajnjim točkama komunikacije te ih je logičnije postaviti u transportni sloj. TCP je najčešće korišteni, spojno orijentirani protokol koji pruža pouzdan transport struje okteta s kraja na kraj pomoću mehanizama potvrde i retransmisije uz očuvan redoslijed segmenata i upravljanje zagušenjem u mreži. S obzirom da TCP pruža pouzdanu uslugu on je pogodan za aplikacije kojima je važno da se svi podaci prenesu do primatelja u poslanom obliku i redoslijedu dok samo vrijeme prijenosa nije toliko kritično. Za razliku od protokola TCP, drugi jako poznati i često korišteni protokol transportnog sloja je UDP (engl User Datagram Protocol) koji je pogodan za aplikacije koje se obavljaju u stvarnom vremenu gdje je važnije da se podatci prenesu u krećem vremenu nego da se prenesu baš svi poslani podaci. TCP ima sučelja prema aplikacijskom sloju koji se nalazi iznad njega te prema mrežnom sloju koji je ispod njega. Aplikacija šalje podatke prema TCP-u u obliku struje okteta te je njegov zadatak pripremiti podatke za slanje, uspostaviti vezu s odredištem te osigurati pouzdanost veze. U sljedećem dijelu teksta su pobrojane i ukratko objašnjene sve funkcije protokola TCP: 2
3 Osnovni transport podataka: dvosmjerni prijenos kontinuiranog niza podataka pakiranjem okteta podataka u segmente koje potom predaje protokolu IP (engl. Internet Protocol) na mrežnom sloju. Adresiranje i multipleksiranje: više aplikacija na istom računalu može istovremeno koristiti protokol TCP uporabom dodatne informacije, tj. broja vrata (engl port number). Pouzdanost: TCP ima sposobnost oporavka od gubitka, udvostručenja, pogrešnog redoslijeda i pogreške u struji okteta jer dodjeljuje broj u nizu (engl sequence number) svakom oktetu koji predaje i traži da prijamna strana potvrdi ispravan prijam. Pouzdanost veze se osigurava pomoću sljedećih mehanizama: Zaštitne sume (engl. checksums): svaki TCP segment ima svoju zaštitnu sumu pomoću koje prijamnik može detektirati pogrešku, bilo u TCP zaglavlju ili u podacima. Detekcija dupliciranih podataka: u mrežama s komutacijom paketa može doći do duplikacije paketa pri prijenosu, stoga TCP prati koje je oktete primio te odbacuje kopije paketa koje je već primio Retransmisija: da bi protokol mogao garantirati pouzdanost podataka mora imati mogućnost ponovnog slanja podataka koji su izgubljeni ili primljeni s pogreškom. Označavanje niza (engl sequencing): s obzirom da je u mrežama s komutacijom paketa velika vjerojatnost da paketi neće doći u redoslijedu kojim su odaslani, jedan od zadataka protokola TCP je označavanje paketa te dostavljanje istih aplikaciji u pravilnom redoslijedu. Brojila (engl. timers): TCP sadrži više vrsta brojila koja označuju vrijeme koje je prošlo od odašiljanja podataka, ta ako u određenom vremenu nije dobivena potvrda za podatke oni se smatraju izgubljenima. Upravljanje tokom, tj. zagušenjem: svaka potvrda popraćena je informacijom o veličini prozora koja naznačuje koliko okteta predajnik smije odaslati prijem prijema potvrde. Upravljanje vezom: logička veza između procesa se uspostavlja prije, i raskida po obavljenoj komunikaciji upotrebom posebnih statusnih podataka. 3
4 Prioriteti i sigurnost: posebni zahtjevi koje specificiraju procesi, i to po potrebi i za pojedinačnu vezu. Neke od ovih funkcija detaljnije su objašnjene u sljedećim potpoglavljima s obzirom da su važne za sam protokol TCP i za razumijevanje simulacije TCP logička veza Slika 1.1 prikazuje stvaranje logičke veze između procesa A i B na računalima 1 i 2. Uspostavljanjem logičke veze ne znači da će svi podaci koji pripadaju toj vezi kroz mrežu putovati istim putem s obzirom se oni usmjeravaju pomoću protokola IP koji je bespojan. Slika 1.1 Uspostava TCP logičke veze Krajnje točke komunikacije između procesa nazivaju se priključnicama (engl. socket) a veza ostvarena putem njih asocijacija. Priključnica je definirana pomoću vrste transportnog protokola (npr. TCP ili UDP), IP adrese odredišta (npr ) i 16-bitnog broja, tj. broja vrata (npr. 80 za protokol HTTP). Uz TCP priključnice na isti način koristi i protokol UDP. Poslužitelju u pravilu uslugu uvijek otvaraju na istim, dobro-poznatim vratima (engl. well-known ports), dok klijenti za svaki proces koriste nova, nasumično odabrana vrata (koja nisu dobro-poznata). 4
5 Vrata u rasponu od 0 do 1023 su znana kao dobro-poznata vrata. Ona su korištena od strane procesa koji pružaju najkorištenije tipove mrežnih usluga. Nekoliko najpoznatijih TCP vrata, tj. najkorištenijih usluga je dano u Tablica 1.1. Tablica 1.1 Primjeri nekoliko najpoznatijih vrata i usluga koje ih koriste Broj Transportni Aplikacijski protokol ili usluga Opis usluge vrata protokol 20 TCP/UDP FTP (File Transfer Protocol) data FTP prijenos podataka 21 TCP FTP control FTP prijenos kontrolne informacije 22 TCP/UDP SSH (Secure Shell) Sigurnosna asocijacija 25 TCP SMTP (Simple Mail Transfer Protocol) Slanje poruka između poslužitelja 53 TCP/UDP DNS (Domain Name System) Pridruživanje informacija imenu domene 80 TCP HTTP (Hypertext Transfer Protocol) 143 TCP IMAP (Internet Message Access Protocol) Jedna od glavnih usluga na Internetu Pristup poslužitelju i upravljanje porukama Vrata u rasponu od 1024 do su vrata registrirana od strane IANA (engl. Internet Assigned Numbers Authority) [4] za određene usluge ali se mogu koristiti i za druge svrhe od strane korisnika. Vrata u rasponu od do su dinamička ili privatna vrata koja ne mogu bit registrirana te se koriste za privremene svrhe. Slika 1.2 Prikazuje primjer [5] uspostavljenih logičkih veza između tri računala, označenih s A, B i C. Računalo A s IP adresom ima pokrenuta dva klijentska procesa na nasumično odabranim vratima i koji su spojeni logičkom vezom na dva 5
6 procesa računala B. Računalo B predstavlja poslužitelja s IP adresom s pokrenute dvije usluge na dobro-poznatim vratima, FTP na vratima 21 i HTTP na vratim 80. Računalo C s IP adresom predstavlja još jednog klijenta koji također ima otvorenu asocijaciju prema FTP poslužitelju. Sve otvorene asocijacije u primjeru su: (tcp, , 33522) - (tcp, , 21) (tcp, , 33553) - (tcp, , 80) (tcp, , 22112) - (tcp, , 21) Slika 1.2 Primjer logičkih veza 1.2. Struktura TCP segmenta Slika 1.3 prikazuje strukturu TCP segmenta. Veličina TCP zaglavlja bez opcija iznosi 20 okteta. U nastavku će ukratko biti objašnjeno svako polje TCP zaglavlja te će također biti navedeno standardno ime polja u literaturi na engleskom jeziku te njegova veličina. 6
7 Slika 1.3 Struktura TCP segmenta Izvorišna vrata (engl. source port): 16-bitni broj koji označuje broj vrata procesa pošiljatelja na izvorišnoj strani. Odredišna vrata (engl. destination port): 16-bitni broj koji označuje broj vrata procesa primatelja na odredišnoj strani. Broj u nizu ili redni broj (engl. sequence number): 32-bitni broj koji označuje trenutnu poziciju prvog okteta podataka višeg sloja ovog segmenta u cijelom nizu okteta te TCP veze. Kada broj dosegne vraća se na 0. Broj potvrde (engl acknowledgment number): 32-bitni broj koji označava sljedeći broj u nizu koji predajnik očekuje od prijemnika. Broj će biti za jedan veći nego broj zadnjeg primljenog okteta. Ovo se polje koristi samo kada je ACK bit uključen. Duljina zaglavlja (engl. header length, data offset): 4-bitno polje koje označava konačnu duljinu TCP zaglavlja. Bez polja opcije, TCP zaglavlje je duljine 20 okteta, dok s poljem opcije može doseći do 60 okteta. Ovo je polje obavezno zato što se veličina polja opcije ne može u naprijed odrediti. Rezervirana polja (engl. reserved): 6-bitno polje koje trenutno nije u uporabi nego je rezervirano za moguću buduću uporabu. Upravljački bitovi (engl. control bits): 6-bitno polje gdje svaki bit označava korištenje određene zastavice, od lijevo prema desno slijede: 7
8 URG (engl Urgent Pointer): Ako je ovaj bit postavljen prijemnik mora provjeriti polje pokazivač hitnosti. ACK (engl Acknowledgement): Ako je ovaj bit postavljen prijemnik mora provjeriti polje broj potvrde. PSH (engl. Push Function): Ako je ovaj bit postavljen prijemnik mora predati taj segment aplikaciji što je prije moguće. Primjer uporabe ovog bita bio bila naredba Control-BREAK koja nema potreba čekati podatke koji su prije nje u redu. RST (engl. Reset Connection): Ako je ovaj bit postavljen prijamnik zna da predajnik prekida komunikaciju i svi podaci u redu i sva dodijeljena memorija može biti oslobođena. SYN (engl. Synchronize): Ovaj bit je postavljen kada predajnik želi sinkronizirati brojeve u nizu. Ovaj se bit koristi pri uspostavljanju veze između predajnika i prijamnika. FIN (engl. Finish): Ovaj je bit postavljen kada predajnik dosegne kraj toka okteta za trenutnu TCP konekciju. Veličina prozora (engl. window): 16-bitni broj koji se koristi za kontrolu toka i označuje veličinu prozora slanja. Broj govori predajniku koliko podataka prijamnik može primiti. Maksimalna veličina ovog polja bi ograničila veličinu prozora na okteta ali se može koristiti skaliranje tako da se mogu koristiti i veći prozori. Zaštitna suma (engl. checksum): 16-bitna vrijednost koju računa predajnik na osnovu TCP zaglavlja i podataka. Prijemnik uspoređuje tu vrijednost s vrijednosti koju na isti način on računa. Ako je neki bit promijenjen pri prijenosu vrijednosti se neće podudarati i bit će potrebna retransmisija, dok ako je segment stigao netaknut na odredište vrijednosti će se podudarati i prijamnik može potvrditi taj segment. Pokazivač hitnosti (engl. urgent pointer): 16-bitno polje koje govori prijamniku kad završava zadnji oktet hitnih podataka u segmentu. Ovo polje je potrebno zato što ponekad predajnik mora upozoriti prijamnik na određene hitne podatke koje je potrebno proslijediti aplikaciji što je prije moguće. Opcije (engl. options): U ovom je polju moguće zadati određene dodatne parametre koji pružaju dodatnu funkcionalnost protokolu TCP. Veličina polja je varijabilna s maksimalnom veličinom od 40 okteta s time da je polje opcionalno te može ali i ne treba 8
9 biti postavljeno. Jedan primjer opcija je MSS (engl. Maximum Segment Size) gdje TCP prijamnik obavještava predajnika o maksimalnoj veličini segmenta kojeg može primiti. Druge opcije koje se često koriste su razni parametri vezani za mehanizme kontrole toka ili zagušenja. Nadopuna (engl. padding): S obzirom da veličina polja opcije varijabilna, polje nadopuna se koristi da bi se TCP zaglavlje nadopunilo nulama do veličine višekratnika od 32 bita. Podaci višeg sloja (engl. data): Ovo polje varijabilne duljine sadrži podatke višeg sloja koji se prenose od TCP predajnika do prijamnika. Također je moguće da je ovo polje prazno (npr. u slučaju slanja potvrde bez slanja dodatnih podataka) Uspostavljanje i prekid veze TCP pruža spojnu uslugu iznad mreže s komutacijom paketa. Kao što je već spomenuto, spojna usluga znači da se stvara virtualna veza između dvije krajnje točke komunikacije, iako to ne znači da će svi podaci biti usmjeravani istim putem kroz mrežu. Postoje tri glavne faze virtualne veze koje će biti objašnjene u ovom potpoglavlju, to su uspostavljanje veze, prijenos podataka te prekid veze Uspostavljanje TCP veze Da bi dva proces mogla komunicirati pomoću protokola TCP prvo moraju uspostaviti vezu razmjenjujući poruke na način koji prikazuje Slika 1.4, poznat i kao trostruko rukovanje (engl. three-way handshake). 9
10 Slika 1.4 Uspostavljanje TCP veze Kao što Slika 1.4 prikazuje, uspostavljenje TCP veze između dva računala se sastoji od razmjene triju poruka. Čitajući dijagram odozgora prema dolje vidi se redoslijed slanja poruka. Računalo A inicira vezu slanjem TCP segmenta s postavljenim kontrolnim bitom SYN i sa svojim inicijalnim rednim brojem (engl. Initial Sequence Number, ISN) koji je na slici prikazan varijablom Ainit. Kao ISN svakog procesa svake TCP konekcije bira se nasumično odabrani broj za kojeg je važno da se u mreži ne nalazi već neki segment iste ove veze s tim ISN-om. Pri kreiranju veze poziva se generator ISN-a koji odabire novi 32- bitni broj. Generator je vezan za brojilo čiji se najniži bit uvećava svake 4 μs te iz tog razloga ISN ima period od približno 4,55 sata. Kako pretpostavljamo da segment ne može biti u mrežu dulje od MSL (engl. Maximum Segment Life) koji u pravilu iznosi oko 120 sekundi, možemo smatrati da je ISN jedinstven. Kada Računalo B primi TCP segment Računala A, obradi ga te šalje svoj odgovor koji ima postavljene kontrolne bitove SYN i ACK te sadrži svoj ISN, na slici prikazan kao varijabla Binit, te broj potvrde primljenog segmenta Računala A (na slici ANUM) koja je vrijednosti zadnjeg primljenog okteta +1, u slučaju na slici Ainit+1. Nakon što primi taj segment, Računalo A završava uspostavu veze slanjem novog segmenta s postavljenim kontrolnim bitom ACK, ali ovaj put bez postavljene zastavice SYN. Taj segment također sadrži svoj redni broj te radni broj potvrde. 10
11 Prijenos podataka Nakon što je veza uspostavljena i ISN-ovi razmijenjeni procesi mogu početi slati podatke preko logičke veze. Veliki dio razmatranja prijenosa podataka se bazira na proučavanju različitih tehnika kontrole toke i kontrole zagušenja veze što će biti detaljno objašnjeno u sljedećim potpoglavljima dok će ovdje biti navedena samo osnovna ideja. Jednostavna implementacija protokola TCP će prosljeđivati podatke protokolu IP koji će se zatim proslijediti prema protokolu sloja podatkovne poveznice te će se slati prema prijamniku kroz mrežu. TCP će prosljeđivati podatke dok ne popuni prozor za slanje čiju veličinu oglašava prijamnik u svojim odgovorima. Kada prijamnik primi segment on će ga obraditi te će poslati potvrdu predajniku, te će slati svoje podatke ako ima kakve. Predajnik će prema potvrdama znati je li potrebna retransmisija određenih podataka. Važno je napomenuti da TCP u većini izvedbi koristi kumulativnu potvrdu (engl. cumulative acknowledgment) gdje prijamnik šaljući potvrdu s određenim brojem označuje da je primio sve oktete do tog rednog broja, te redni broj potvrde označuje redni broj sljedećeg okteta kojeg prijamnik očekuje primiti. Ako nema nikakvih podataka za slanje TCP predajnik će biti u stanju mirovanja čekajući da mu aplikacija proslijedi podatke za slanje ili da primi podatke s drugog kraja veze. Ako podaci u redu za slanje dosegnu veličinu koja prelazi maksimalnu veličinu prozora kojeg prijamnik može primiti, predajnik mora stati sa slanjem te čekati potvrde podataka koje je poslao prije nego nastavi slati podatke iz reda. Ako potvrda ne dođe predajnik će pričekati istek brojila te će zatim pretpostaviti da su podaci izgubljeni te će ih ponovo poslati Raskidanje TCP veze Da bi se veza raskinula potrebna je razmjena četiri TCP segmenta kao što prikazuje Slika 1.5. Potrebna su četiri segmenta zato što je TCP full-duplex protokol što znači da se svaki kraj veze mora zatvoriti neovisno o drugom. 11
12 Slika 1.5 Raskidanje TCP veze Za razliku od uspostavljanja veze, za raskid veze se koriste kontrolni bitovi FIN. Kao što Slika 1.5 prikazuje, Računalo A pokreće raskidanje veze slanjem TCP segmenta s postavljenim kontrolnim bitovima FIN i ACK. Zastavica FIN je postavljena zato što Računalo A želi zatvoriti vezu a zastavica ACK zato što potvrđuje posljednje primljene podatke s obzirom da je do tog trenutka trajala komunikacija koja nije prikazana na slici. Na slici je također prikazan redni broj segmenta čija je vrijednost prikazana varijablom Ainit+n te broj potvrde, Binit+m. Kada Računalo B primi taj segment odmah ga potvrđuje segmentom s postavljenim kontrolnim bitom ACK, s time da zastavica FIN nije postavljena, te dojavljuje aplikacije zatvaranje veze. Kada aplikacija Računala B odluči zatvoriti vezu ono šalje TCP segment s postavljenim kontrolnim bitovima FIN i ACK, svoji rednim brojem i brojem potvrde kojim potvrđuje zadnji primljeni oktet. Računalo A potvrđuje primanje tog segmenta te je time TCP veza raskinuta. 12
13 1.4. Kontrola toka Kontrola toka je tehnika čija je primarna svrha usklađivanje brzine slanja podataka predajnika s mogućnostima obrade prijamnika. Važno je da je brzina slanja dovoljno velika da bi protokol pružao dobre performanse, ali ne prevelika da se prijamnik ne preoptereti podacima koje neće stići obraditi. Važno je napomenuti da kontrola toka nije isto što i kontrola zagušenja koja je prvenstveno orijentirana prema zagušenju u mreži i mrežnim komponentama poput usmjeritelja. TCP, u većini svojih izvedbi, koristi kontrolu toka kliznim prozorom (engl. sliding window) koja je već spominjana u ovom radu. Glavna ideja je korištenje prozora koji označuje maksimalan broj podataka koje predajnik može poslati prije nego primi potvrde za poslane podatke. Slika 1.6 Kontrola toka kliznim prozorom Slika 1.6 prikazuje jednostavan primjer [6] kontrole toka kliznim prozorom. Ovdje je prozor veličine 4 bita te klizi po podacima kako prima potvrde za njih. Prvo pošalje prva četiri bita, zatim primi potvrde za prva dva biti te šalje dodatna dva bita i tako nastavlja dalje. 13
14 1.5. Detekcija gubitka paketa Primarni način na koji TCP zaključuje da je došlo do gubitka paketa je istek vremenske kontrole retransmisije (engl. Retransmission Time-Out, RTO). Kasnije verzije metoda upravljanja zagušenjem pretpostavljaju gubitak i u slučaju primanja više dvostrukih potvrda, ali to će biti detaljnije obrađeno s metodama koje to koriste. Vremenska kontrola retransmisije postavlja se u trenutku slanja segmenta i briše u trenutku primanja potvrde za taj segment. Iako bi se logički dalo zaključiti da se RTO postavlja za svaki segment, u praksi se to svodi na jedan mjerač vremena koji se odnosi na zadnji nepotvrđeni segment. Ukoliko se do isteka RTO ne primi potvrda za odaslani segment TCP pretpostavlja da je taj segment izgubljen te se uz retransmisiju mijenjaju dodatni parametri objašnjeni u sljedećem potpoglavlju. S motrišta pošiljatelja gubitak paketa i gubitak potvrde izgleda isto, te je posljedica jednaka s obzirom da u oba slučaju RTO istekne. Ako bi RTO bio postavljen na vrijednost manju od vremena potrebnog da segment stigne do prijamnika i da se do predajnika vrati potvrda (engl. Round-Trip Time, RTT), on bi uzrokovao nepotrebne retransmisije. Isto tako, ako bi RTO bio postavljen na vrijednost znatno veću od RTT, uzrokovao bi nepotrebno čekanje predajnika na segmente koji su stvarno izgubljeni i koje treba što prije ponovo poslati. Iz tog razloga RTO ne može biti unaprijed postavljena, nepromjenjiva vrijednost nego se mora dinamički izračunavati vodeći računa o stanju u mreži. U današnjim izvedbama za izračun RTO se koristi izraz (1.1). = +4 (1.1) Gdje su: RTT - varijabla koja služi kao procjena prosječnog vremena obilaska do odredišta D - srednja devijacija RTT-a koja se računa kao = U izrazu (1.1) RTT se računa prema izrazu (1.2), uzimajući u obzir prethodno izračunatu srednju vrijednost RTT i iznos RTT izmjeren za prethodni paket. = _ (1.2) 14
15 Gdje su: RTT(t) - nova srednja vrijednost RTT(t-1) - prethodno izračunata srednja vrijednost RTT_izmjereno - izmjereni iznos RTT zadnjeg potvrđenog segmenta α - težinski koeficijent (0 α<1) RTT se mjeri kao diskretna varijabla, odnosno kao broj vremenskih jedinica otkucaja sata gdje je zrnatost otkucaja u pravilu 500 ms, iako se u nekim novijim verzijama koriste i satovi s manjim korakom. Koeficijent α utječe na brzinu osvježavanja RTT-a. Ako je α bliži jedinici na novi RTT najviše utječe prethodno izračunati RTT, tj. dugoročni prosjek. Ako je koeficijent α bliži nuli na novi RTT najveći utjecaj ima izmjerena vrijednost RTT-a. Time se može podesiti ovisnost RTT-a o kratkotrajnim promjenama, tj. brzina prilagodbe na promjene. RTO ima smisla računati samo za segmente koji su uspješno poslani iz prvog pokušaja zato što se u situaciji kada je potrebna retransmisija javlja problem ispravnog određivanja RTT-a. Problem se javlja zato što su izvorni i ponovno poslani segment identični pa predajnik ne može znati na koji od njih se odnosi potvrda, te bi se u slučaju pogrešnog povezivanja potvrde s prvim poslanim segmentom uzrokovalo nepotrebno povećanje RTTa, a u slučaju pogrešnog povezivanja potvrde s ponovno poslanim segmentom nepoželjno smanjivao RTT. Iz tog razloga se RTO u slučaju ponovnog slanja segmenta računa prema Karnovom algoritmu [7], tj. nova vrijednost RTO se računa množenjem prethodno izračunate vrijednosti faktorom γ (uobičajeno je γ = 2). Nakon što prvi sljedeći segment prođe bez retransmisije vrijednost RTO se računa na prije opisan način Osnovne metode kontrole zagušenjem Upravljanje zagušenjem u komunikacijskim mrežama je jedno od najproučavanijih područja telekomunikacija. Pojam upravljanja zagušenjem odnosi se na situaciju koju TCP interpretira kao zagušenje, a to je prvenstveno istek vremena RTO. U ovom potpoglavlju su opisane četiri osnovne metode kontrole zagušenjem protokola TCP koje je osmislio i predložio Van Jacobson u radovima [8] i [9] i koje su definirane u RFC 5681 [10]. Osnovna verzija protokola TCP, TCP Tahoe, koristi polagani početak, izbjegavanje zagušenja i brzu retransmisiju, dok sljedeća verzija, TCP Reno, koristi sve što i TCP Tahoe plus brzi oporavak. 15
16 Sve metode kontrole zagušenjem koriste sljedeće parametre: Najveća veličina segmenta (engl. Maximum Segment Size, MSS): najveći broj podatkovnih okteta koje pošiljatelj smije poslati u jednom TCP segmentu, on ovisi o mrežnoj tehnologiji i odgovara duljini podatkovnog polja okvira na sloju podatkovne poveznice umanjenoj za duljine IP i TCP zaglavlja Prozor primatelja (engl. receiver window, rwnd): broj okteta koje primatelj objavljuje da može primiti Prozor zagušenja (engl. congestion window, cwnd): inicijalno 1 MSS te se povećava sa svakom potvrdom prema metodama za upravljanje zagušenjem Prozor pošiljatelja (engl. sender window, swnd): najveći broj segmenata koje pošiljatelj smije poslati, definira se kao manja od vrijednosti rwnd i cwnd =, (1.3) Prag polaganog početka (engl slow start threshold, ssthresh) Upravljanje zagušenjem odvija se reguliranjem klizećeg prozora pošiljatelja, swnd, koji za računanje koristi spomenute parametre cwnd, rwnd i ssthres Spori početak i izbjegavanje zagušenja Na početku TCP veze prozor pošiljatelja swnd se inicira na vrijednost oglašenog prozora primatelja rwnd, dok se prozor zagušenja cwnd postavlja na neku veliku vrijednost te tako na početku ne utječe na brzinu slanja. Kada dođe do isteka RTO, tj. gubitka segmenta, prag polaganog početka ssthresh se inicijalizira postavljanjem na polovicu veličine prozora pošiljatelja swnd prije gubitka paketa, uz uvjet da ssthres ne smije biti manji od 2*MSS: h h=,2 (1.4) 2 Vrijednost prozora zagušenja cwnd se postavlja na 1 MSS. Nakon postavljanje tih vrijednosti pošiljatelj će postupno povećavati cwnd kako bi povećao brzinu slanja. Ta faza se naziva spori početak (engl Slow Start). Na početku te faze veličina cwnd je 1 MSS što znači da predajnik može poslati samo jedan segment i onda mora čekati potvrdu uspješnog primitka prije nastavka slanja. Po primitku potvrde predajnik povećava cwnd za 1 MSS i tako onda za svaki uspješno poslani segment. Tako je nakon uspješnog 16
17 slanja prvog segmenta cwnd = 1 +1 = 2 MSS i pošiljatelj šalje dva segmenta. Ako su i oni uspješno potvrđeni cwnd = = 4 MSS te se zatim šalju 4 segmenta. Ako su i oni uspješno potvrđeni cwnd se nastavlja eksponencijalno povećavati dok ne dosegne prag polaganog početka ssthresh. Nakon što cwnd dosegne vrijednost ssthres TCP prelazi u fazu izbjegavanja zagušenja (engl. Congestion Avoidance). U toj fazi prozor cwnd raste linearno te se povećava za maksimalno jedan segment po vremenu obilaska, tj. cwnd se povećava za _ đ _ _ _, tako da je faktor rasta cwnd: MSS za RTT ako se potvrdi svaki drugi segment 1 MSS za RTT ako se potvrdi svaki segment Linearni rast cwnd se može nastaviti najviše do veličine memorijskog spremnika. Slika 1.7 prikazuje ponašanje prozora zagušenja cwnd pri korištenju mehanizama spori početak i izbjegavanje zagušenja u slučaju isteka RTO u trenutcima 0 i 17. S obzirom da je cwnd bio veličine 20 u trenutku 16, nakon isteka RTO u trenutku 17 ssthresh se postavlja na polovicu te vrijednosti te TCP prelazi u fazu sporog početka. 17
18 Slika 1.7 Spori početak i izbjegavanje zagušenja Brza retransmisija i brzi oporavak Već je rečeno da nakon što predajnik pošalje onoliko okteta koliko mu je dopušteno ostaje blokiran do sljedeće potvrde ili do isteka RTO. S obzirom da se RTO udvostručava za izgubljeni paket, u slučaju čestih gubitaka predajnik može dugo čekati istek RTO što loše utječe na performanse protokola. Taj problem rješava brza retransmisija (engl. Fast Retransmit). Glavna ideja brze retransmisije je da se ne čeka istek RTO nego da se segment ponovo pošalje čim postoji naznaka njegovog gubitka, odnosno ako prijamnik počne primati dvostruke potvrde od pošiljatelja. Brza retransmisija se pokreće čim predajnik primi 3 dvostruke potvrde za redom. S obzirom da TCP koristi kumulativnu potvrdu ako se određeni paket izgubi a ostali paketi nakon njega dolaze do odredišta normalno on će slati potvrde s rednim brojem potvrde postavljenim na radni broj sljedećeg segmenta kojeg treba primiti, a to je upravo izgubljeni segment. Takve potvrde se nazivaju dvostruke potvrde (engl. duplicate acknowledgment, DUPACK). Dvostruke potvrde mogu značiti 18
19 gubitak segmenta, uz to da se segmenti nakon njega dostavljaju normalno ili poremećaj redoslijeda, tako da je segment isporučen više od tri mjesta dalje od svog očekivanog mjesta. Ako segmenti stižu uz koliko-toliko očuvan redoslijed nema nepotrebnih retransmisija jer je većina DUPACK-a uzrokovana gubicima. Nakon brze retransmisije predajnik se vraća u fazu sporog početka. Dakle sve varijable upravljanja tokom, RTO, cwnd, swnd, ssthresh, se postavljaju kao da je došlo do isteka RTO samo što predajnik ne čeka toliko dugo da ponovo pošalje izgubljeni paket. U praksi je ustanovljeno da vraćanje predajnika u fazu sporog početka rezultira nepotrebnim drastičnim usporavanjem prijenosa radi gubitka samo jednog segmenta. Kao rješenje tog problema uvodi se brzi oporavak (engl. Fast Recovery). Metoda brzog oporavka dodana je u kombinaciji s metodom brze retransmisije. Ideja brzog oporavka je omogućiti brži oporavak TCP veze tako da čim predajnik primi tri dvostruke potvrde napravi sljedeće korake: izračuna prag polaganog početka ssthresh prema izrazu (1.5) h h= 2,2 (1.5) napravi brzu retransmisiju izgubljenog segmenta i privremeno poveća cwnd tako da za svaku dvostruku potvrdu cwnd poveća za 1 MSS, da se nadoknade paketi koji su već stigli, tako će za ona tri segmenta koji su uzrokovali tri DUPACK-a cwnd biti povećan prema izrazu (1.6) = h h+3 (1.6) kada stigne nova potvrda koja potvrđuje dolazak novih podataka, znači da je gubitak nadoknađen, postavlja cwnd na vrijednost ssthresh (1.7) te prelazi u fazu izbjegavanja zagušenja = h h (1.7) Prednost brzog oporavka je to što je prozor zagušenja prepolovljen a nije vraćen na 1 MSS kao što bi se dogodilo bez brzog oporavka što ilustrira Slika
20 Slika 1.8 Brza retransmisija i brzi oporavak 1.7. Dodatne metode kontrole zagušenjem U ovom potpoglavlju su opisane ostale verzije protokola TCP. One se sve nadovezuju na osnovne metode iz prošlog potpoglavlja uvodeći nove funkcije i algoritme. Službene podatke o tome koja je verzija protokola TCP najčešće implementirana, odnosno koji mehanizam upravljanja zagušenjem se najčešće koristi nije bilo moguće naći. Prema mnogim izvorima TCP Reno je najčešće implementirana verzija protokola TCP, što se spominje u radovima [18], [19] i [20], iako neki drugi izvori kao najčešću implementaciju navode TCP New-Reno, na primjer rad [11], Također je sve češće podržan i TCP SACK, iako se da zaključiti da se znatno rjeđe koristi od Rena i New-Rena. 20
21 TCP Vegas TCP Vegas je modifikacija TCP Reno metode i predstavljen je u radu [12]. On uvodi novu strategiju retransmisije, u odnosu na TCP Reno, koja se bazira na mjerenju RTT-a pomoću sata s finijom granularnošću, te također nove metode otkrivanja zagušenja u fazama sporog početka i upravljanja zagušenjem. U radu [13] je također opisan rad metode TCP Vegas uz dodatni algoritam koji u fazi sporog početka pokušava zaključiti koliku propusnost dopušta mreža na osnovu razmaka dolazaka potvrda, ali taj algoritam je deklariran kao eksperimentalan te je isključen iz testiranja. TCP Vegas bilježi vrijednost sata za svaki odaslani segment te kada primi potvrdu računa novu vrijednost RTT-a koja je preciznija od vrijednosti koju računa TCP Reno jer je zrnatost sata TCP Vegasa finija u odnosu na sat koji koristi TCP Reno. Pomoću te preciznije vrijednosti RTT-a računa se RTO za svaki segment te se u slučaju dobivanja DUPACK-a provjerava istek RTO-a, te ako je istekao vrši se ponovno slanje bez čekanja još dva DUPACK-a. U slučaju primanja potvrde koja nije DUPACK, ali je prva ili druga potvrda nakon retransmisije, Vegas ponovo provjerava istek RTO-a te ako je to vrijeme isteklo ponovno šalje taj segment te će ta retransmisija uhvatiti pakete koji su izgubljeni prije prvog ponovnog slanja. Također, TCP Vegas smanjuje prozor zagušenja cwnd samo u slučaju kada je paket koji se ponovo šalje bio poslan nakon zadnjeg smanjenja prozora cwnd za razliku od TCP Reno gdje je moguće da se cwnd smanjih više puta ako se dogodi gubitak više paketa unutar jednog RTT. Glavna prednost metode Vegas u odnosu na Reno je to što je Reno reaktivna metoda koja zagušenje otkriva kada se ono već dogodilo, pomoću gubitaka segmenata, i ne može otkriti početna stanja zagušenja, dok je Vegas više proaktivna metoda koja pokušava predvidjeti zagušenje na temelju propusnosti koju dopušta mreža i to radi u fazi izbjegavanja zagušenja. Tu propusnost Vegas procjenjuje na temelju razlike očekivane i stvarne propusnosti. Očekivana propusnost se računa prema izrazu (1.8) gdje RTT base označava RTT nezagušene mreže (u praksi se uzima najmanja izmjerena vrijednost RTT-a). č = (1.8) Stvarna propusnost se računa prema izrazu (1.9), tj. kao omjer broja okteta poslanih unutar jednog RTT-a (N) i veličine tog RTT-a. Taj se izračun obavlja svaki RTT. 21
22 = (1.9) Kao što je rečeno Vegas računa razliku očekivane i stvarne vrijednosti, = č. Ako je Diff jako mali, tj. manji od zadanog praga koji označuje premali broj dodatnih podataka u mreži (Diff < α), Vegas će linearno povećavati cwnd u sljedećem RTT-u. Ako je Diff velik, tj. veći od zadanog praga koji označuje preveliki broj dodatnih podataka u mreži (Diff > β), Vegas će linearno smanjivati cwnd. U slučaju α < Diff < β cwnd se neće mijenjati. TCP Vegas također uvodi promjene u fazi sporog starta u odnosu na Reno. U toj fazi Vegas također pokušava procijeniti raspoloživu propusnost na sličan način kao u fazi izbjegavanja zagušenjem te povećava cwnd eksponencijalno svaki drugi RTT sve dok vrijednost stvarne propusnosti ne padne ispod vrijednosti očekivane i tada prelazi u fazu izbjegavanja zagušenja TCP New-Reno TCP New-Reno je modifikacija metode Reno koja je definiranu u RFC 6582 [14]. TCP New-Reno uvodi modifikaciju faze brzog oporavka metode Reno koja poboljšava efikasnost protokola. Kao što je već rečeno Reno će sa svakim gubitkom smanjiti prozor zagušenja cwnd za pola pri ulasku u fazu brzog oporavka te je time podložan velikom smanjenju cwnd u slučaju više gubitaka unutar istog prozora. Kao i Reno, New-Reno isto ulazi u fazu brze retransmisije nakon što primi dvostruke potvrde ali za razliku od Rena ne izlazi iz faze brzog oporavka dok svi podaci koji su poslani do vremena ulaska u fazu brzog oporavka ne budu potvrđeni. Kada New-Reno uđe u fazu brzog oporavka bilježi broj poslanih segmenata te kada dobije sljedeću potvrdu događa se jedan od dva moguća slučaja: ako potvrda potvrđuje sve segmente koji su poslani do trenutka ulaska u fazu brzog oporavka, izlazi iz faze brzog oporavka i postavlja cwnd na veličinu ssthresh te nastavlja s fazom izbjegavanja zagušenja ako je potvrda samo djelomična, tj. ne potvrđuje sve segmente koji su poslani do trenutka ulaska u fazu brzog oporavka tada zaključuje da je sljedeći segment izgubljen te ga ponovo šalje i postavlja broj dobivenih DUPACK-ova na nulu; izlazi iz faze brzog oporavka nakon što su svi poslani podaci potvrđeni 22
23 TCP SACK TCP SACK (engl. Selective Acknowledgment) [15] je proširenje metode TCP New-Reno koje omogućuje otkrivanje i ponovno slanje više izgubljenih segmenata u jednom RTT-u. SACK je znatno proširenje TCP logike s obzirom da uvodi novi mehanizam potvrđivanja paketa, koji za razliku od dosadašnje kumulativne potvrde, koja dopušta otkrivanje jednog izgubljenog segmenta, razmjenom dodatne informacije omogućuje otkrivanje više izgubljenih segmenata koji trebaju ponovno slanje. SACK koristi polje opcija u zaglavlju TCP segmenta u koje upisuje granice blokova paketa koje je slijedno primio. Svaki blok je definiran s dva 32-bitna cijela broja. Ti brojevi predstavljaju lijevi rub bloka, koji je prvi redni broj u bloku koji se potvrđuje i desni rub bloka, koji je prvi redni broj koji sljedeći dolazi nakon zadnjeg rednog broja bloka. Svaki blok predstavlja oktete koji su slijedno primljeni, tj. okteti koji se nalaze na radnim brojevima manjim od rednih brojeva bloka (lijevi rub - 1) i rednim brojevima većim od rednih brojeva bloka (desni rub) nisu primljeni. S obzirom da je polje opcija ograničeno na 40 okteta SACK može potvrditi najviše četiri bloka primljenih paketa, iako se to u praksi najčešće svodi na tri bloka zato što se polje opcija koristi i za druga poboljšanja performansi protokola TCP (kao na primjer timestamp). Predajnik ulazi u fazu brzog oporavka isto kao i u metodama Reno i New-Reno te postavlja cwnd na pola dosadašnje vrijednosti s razlikom da u ovoj metodi zna koliko je paketa nepotvrđeno te tu vrijednost sprema u varijablu pipe. Svaki put kada primi potvrdu za određeni segment vrijednost varijable pipe smanji za 1 te ako je ta vrijednost manja od cwnd provjeri koji su segmenti nepotvrđeni te ih ponovo šalje. Svaki put kada ponovno pošalje segment vrijednost varijable pipe povećava za 1. Iz faze brzog oporavka izlazi kada dobije potvrde za sve segmente poslane prije ulaska u tu fazu, isto kao i metoda New- Reno. Korištenje SACK metode se mora eksplicitno naglasiti pri uspostavljanju TCP veze te oba kraja te veze moraju podržavati SACK, u slučaju da to nije slučaj koristi se neka druga metoda kao na primjer New-Reno. 23
24 TCP FACK TCP FACK (engl. Forward Acknowledgment) [16] je nadogradnja metode SACK koja koristi mogućnosti koje pruža SACK te pomoću njih pruža precizniju kontrolu slanja podataka u fazi brzog oporavka. FACK algoritam uvodi dvije nove varijable stanja, snd.fack i retran_data, pomoću kojih prati točan broj odaslanih nepotvrđenih okteta. Varijabla snd.fack se osvježava tako da njena vrijednost označuje najveći redni broj okteta koje je prijamnik točno primio. U svim fazama osim faze brzog oporavka varijabla snd.fack se osvježava pomoću rednog broja potvrde te ima istu vrijednost kao varijabla snd.una, koja je definirana u protokolu TCP, u strukturi TCB (engl. Transmission Control Block), kao redni broj prvog okteta nepotvrđenog segmenta. U fazi brzog oporavka predajnik nastavlja osvježavati varijablu snd.una pomoću rednih brojeva potvrda, dok varijablu snd.fack osvježava pomoću podataka SACK metode. Kada je primljen SACK blok koji potvrđuje podatke sa rednim brojem većim od trenutne vrijednosti varijable snd.fack ona se osvježuje tako da sadrži najveći redni broj primljenih podataka plus jedan. Algoritmi predajnika koji se bave pouzdanošću protokola nastavljaju koristiti snd.una, dok su algoritmi koji se bave upravljanjem zagušenjem promijenjeni tako da koriste varijablu snd.fack. FACK definira dodatnu varijablu awnd koja označuje broj odaslanih okteta za koje predajnik nije dobio potvrdu (1.10). Varijabla snd.nxt je također jedna od varijabla definiranih u protokolu TCP i označuje redni broj prvog okteta segmenta koji je sljedeći na redu za slanje. =.. (1.10) U fazi brzog oporavka za računanje awnd se mora koristiti i broj ponovo poslanih podataka dan varijablom retran_data. Svaki put kada je neki segment ponovo poslan retran_data se poveća za veličinu tog segmenta te kada segment napusti mrežu (na primjer kada je potvrđen) retran_data se smanji za veličinu tog segmenta. Broj odaslanih okteta za koje predajnik nije dobio potvrdu se računa prema izrazu (1.11). =.. + _ (1.11) Dok je awnd < cwnd predajnik smije slati podatke dok u suprotnom mora čekati dok se vrijednost varijable awnd ne spusti ispod vrijednosti cwnd. FACK ne definira koji će se podaci slati nego to preuzima od metode SACK, najčešće se šalju najstariji podaci prvi. 24
25 2. Simulacija Sve su simulacije u ovom radu ređene pomoću mrežnog simulatora NS2 (engl. Network Simulator version 2). NS2 je open-source mrežni simulator čije se simulacije ne događaju u stvarnom vremenu nego su vođene događajima (engl. event-driven) te je vrlo koristan u proučavanju dinamičkog ponašanja komunikacijskih mreža [17]. NS2 pruža razne mogućnosti simuliranja žičnih i bežičnih mrežnih scenarija i protokola te zahvaljujući svojoj modularnoj građi dopušta stvaranje novih simulacijskih objekata. On se sastoji od osnovnih komponenti i same jezgre simulatora napisanih u programskom jeziku C++ te simulacijskih skripti koje se pišu u programskom jeziku Object Tcl (OTcl). OTcl je povezan sa jezgrom pisanom u C++ tako da se simulacije mogu definirati, mijenjati i izvoditi bez potreba za ponovnim kompajliranjem C++ dijela simulatora pri svakoj promjeni. NS2 rezultate simulacije zapisuje u izlazne datoteke koje definira korisnik te se koriste dodatni alati za analizu tih podataka i prikaz željenih rezultata. Najčešće korišteni dodatni alati su NAM (engl. Network Animator) koji služi za generiranje animacija na temelju simulacije, GNUPLOT ili Xgraph koji služe za generiranje grafova na temelju izlaznih datoteka te se također vrlo često koriste skripte pisane u programskom jeziku AWK koji služi za obradu velikih količina tekstualnih podataka te se u ovom radu koristi besplatna implementacija GAWK (GNU AWK) Simulacijsko okruženje U ovom radu će biti simulirane dvije vrste scenarija čiji će cilj biti prikaz i analiza ponašanja pojedinih mehanizama izbjegavanja zagušenja protokola TCP, objašnjenih u poglavljima 1.6 i 1.7, u idealnom slučaju te u situacijama pri interakciji više raznih TCP tokova, interakciji sa drugim podatkovnim tokovima te utjecajima određenih drugih parametara na protokol TCP kao što je povećana vjerojatnost pogreške i sl. U oba scenarija će se pratiti kako spomenute situacije utječu na protokol TCP prateći parametre propusnosti protokola (engl. throughput), prozora zagušenja (cwnd) te vremena povrata (RTT). 25
26 Mrežni model i parametri Oba simulacijska scenarija će koristiti istu mrežnu topologiju koju prikazuje Slika 2.1. Na slici je prikazana topologija koja se sastoji od šest čvorova povezanih duplex poveznicama. Čvorovi n0 i n1 generiraju promet te ga prosljeđuju prema čvoru n2. Poveznica n2-n3 simulira "usko grlo" veze, tj. na njoj će se stvarati zagušenje i događati gubici, dok su čvorovi n4 i n5 odredišni čvorovi. Slika 2.1 Mrežna topologija simulacijskih scenarija U oba scenarija poveznice n0-n2, n1-n2, n3-n4, n3-n5 imaju zadane iste parametre, maksimalnu propusnost 1000 Mb/s i kašnjenje 1 ms dok poveznica n2-n3 ima manju maksimalnu propusnost koja iznosi 100 Mb/s te veće kašnjenje iznosa 10 ms. Sve poveznice imaju istu vrstu reda čekanja Drop Tail, tj. svi se paketi tretiraju jednako te kada se red popuni novo pridošli paketi se odbacuju sve dok se u redu ne oslobodi mjesto za nove pakete, te je maksimalna veličina reda postavljena na 50 paketa. Oba scenarija koriste dva toka podataka na prikazanoj topologiji. U prvom scenariju se koristi TCP tok između čvorova n0 i n4 kojemu će se mijenjati mehanizam upravljanja zagušenjem i kojeg koristi aplikacija FTP (engl. File Transfer Protocol), te UDP tok između čvorova n1 i n5 kojeg koristi aplikacija CBR (engl. Constant Bit Rate). Određen je skup početnih parametara koji će se koristiti u tom scenariju te će biti naglašeno ako se pojedini parametri mijenjaju. Početni parametri TCP toka su: $tcp1 set fid_ 0 $tcp1 set window_ 1000 $tcp1 set windowinit_ 1 26
27 $tcp1 set overhead_ 0 $tcp1 set packetsize_ 1000 $tcp1 set maxburst_ 0 $tcp1 set maxrto_ 64 $tcp1 set slow_start_restart true $tcp1 set tcptick_ 0.1 $tcp1 set syn_ 1 UDP tok i parametri CBR aplikacije se neće mijenjati te oni glase: $cbr1 set packetsize_ 1000 $cbr1 set interval_ $cbr1 set rate_ 70Mb Sve simulacije prvog simulacijskog scenarija će trajati 60 sekundi i imati će stalna vremena početka i prekida slanja koja glase: $ns at 5.0 "$ftp1 start" $ns at 55.0 "$ftp1 stop" $ns at 15.0 "$cbr1 start" $ns at 35.0 "$cbr1 stop" U tom scenariju će biti prikazano ponašanje pojedinih mehanizama izbjegavanja zagušenja protokola TCP u interakciji sa UDP tokom te će svaki mehanizam biti ispitan izmjenom dodatnih parametara mreže. Gubitak paketa na poveznici n2-n3 je postignut procedurom errormod u kojoj je učestalost gubitaka definirana po uniformnoj distribuciji slučajne varijable, te se vjerojatnost gubitka mijenja ovisno o tome što se proučava simulacijom. Neke će simulacije biti provedene bez gubitaka, dok će druge sadržavati gubite te će vjerojatnost gubitaka uvijek biti naglašena. Jedinica gubitka je paket. 27
28 U drugom scenariju se koristite dva TCP toka, prvi između čvorova n0 i n4, te drugi između n1 i n5. Oba TCP toka imaju iste početne parametre kao TCP tok iz prvog scenarija i oba toka koristi instanca aplikacije FTP. Sve simulacije drugog simulacijskog scenarija će također trajati 60 sekundi i imat će stalna vremena početka i prekida slanja koja glase: $ns at 2.0 "$ftp0 start" $ns at 45.0 "$ftp0 stop" $ns at 15.0 "$ftp1 start" $ns at 58.0 "$ftp1 stop" Kao što je vidljivo iz gornjih vremena slanja, slanje dva TCP toka će se preklapati punih 30 sekundi, od 15. do 45. sekunde. U tom scenariju će biti ispitana interakcija dva različita mehanizama zagušenja te pravednost između njih Prikupljanje i prikaz rezultata Već je spomenuto da NS2 kao izlaz daje datoteke iz kojih se onda analizira simulacija. Izlazne datoteke definira korisnik te oba simulacijska scenarija sadrže dvije datoteke u kojima se prate sve aktivnosti u simulaciji. Prva služi da stvaranje animiranog prikaza simulacije (za prvi simulacijski scenarij to je datoteka outsim1nam.nam, a za drugi outsim2nam.nam) a druga (za prvi scenarij to je datoteka outsim1all.tr, a za drugi outsim2all.tr) se sastoji od detaljnih podataka o svim događajima u simulaciji upisanih u redove, gdje se svaki red sastoji od sljedećih informacija: 1. Identifikator tipa događaja: "+": ulazak paketa u red "-": izlazak paketa iz reda "r": paket je uspješno primljen "d": paket je izgubljen "c": sudar paketa na sloju podatkovne poveznice 2. Vremenski trenutak u simulaciji kada se događaj dogodio 3. Identifikacijski broj izvorišnog čvora (engl. source node) paketa 4. Identifikacijski broj odredišnog čvora (engl. destination node) paketa 28
29 5. Ime vrste paketa 6. Veličina paketa u oktetima 7. Polje od 7 bita koje označava zastavice, "-" označava neaktivnu zastavicu: 1. bit: "E" - ENC (engl. Explicit Congestion Notification) echo je uključen 2. bit: "P" - zastavica prioriteta u IP zaglavlju je aktivna 3. bit: nije u uporabi 4. bit: "A" - akcija zagušenja 5. bit: "E" - označuje događaj zagušenja 6. bit: "F" - koristi se TCP brzi početak 7. bit: "N" - ECN je uključen 8. Identifikacijski broj toka 9. Izvorišna adresa u formatu a.b gdje je a adresa, a b su vrata 10. Odredišna adresa u formatu a.b gdje je a adresa, a b su vrata 11. Redni broj (broj u nizu) 12. Jedinstveni identifikacijski broj paketa Valja napomenuti da je izgled izlazne datoteke pri simuliranju bežičnih scenarija nešto drugačiji od prikazanog, no s obzirom da se u radu koriste samo žični scenariji to nije toliko važno te se dodatne informacije o simulatoru NS2 mogu naći u [21]. Gore opisana datoteka služi za detaljnu analizu simulacije, te se iz nje mogu izvesti svi grafovi koji se koriste u analizi ali se zbog jednostavnosti koriste dodatne datoteke, te svaka ima definiranu metodu koja za vrijeme simulacije filtrira i računa željene parametre te određuje format datoteke, dok će se analiza gornje, sveobuhvatne, datoteke vršiti dodatnim AWK skriptama. 29
30 3. Rezultati simulacija i njihova analiza U ovom će poglavlju biti prikazani i analizirani rezultati simulacija. Potpoglavlja 3.1, 3.2, 3.3 i 3.4 će biti bazirana na prvom simulacijskom scenariju. Za svaku simulaciju će biti iscrtana dva grafa. Prvi graf će prikazivati propusnost protokola TCP crvenom bojom i propusnost protokola UDP zelenom bojom u Mbit/s, kroz vrijeme simulacije. Drugi graf će prikazivati promjenu veličine prozora zagušenja cwnd protokola TCP u paketima kroz vrijeme. Također će se za obradu rezultata simulacija koristiti AWK skripte, throusim1.awk, rttsim1.awk i cwndsim1.awk, koje će računati prosječnu propusnost protokola TCP, njegov prosječni RTT, te prosječnu veličinu prozora cwnd. Potpoglavlje 3.5 će biti bazirano na drugom simulacijskom scenariju. Također će za svaku simulaciju biti iscrtana dva grafa koji će prikazivati promjene propusnosti i veličine prozora cwnd oba TCP toka u vremenu simulacije. Za dodatnu obradu podataka će se također koristiti AWK skripte, throusim2.awk, cwnd1sim2.awk i cwnd1sim2.awk, koje će računati prosječnu propusnost oba protokola, te prosječnu veličinu prozora cwnd prvog i drugog toka tijekom cijele simulacije i u intervalu od 15. do 45. sekunde Rezultati referentnih simulacija U ovom su potpoglavlju dani rezultati referentnih simulacija, tj. simulacija s početnim parametrima koji su navedeni u potpoglavlju i koji predstavljaju idealne uvjete, tako da su ove simulacije provedene bez modula koji simulira pogreške na poveznici n2-n3. Kao što je već spomenuto slanje podataka protokolom UDP će se u svim simulacijama pokretati u isto vrijeme tako da svi mehanizmi izbjegavanja zagušenja imaju iste uvjete. 30
31 Slika 3.1 Tahoe propusnost, referentno Slika 3.2 Tahoe cwnd, referentno Slika 3.1 prikazuje propusnost protokola TCP Tahoe. Iz nje se odmah vidi jedna značajna veza između protokola UDP i TCP, a to je da kada aplikacija CBR, koja šalje preko protokola UDP, počne slati podatke ona zauzima sav kapacitet kanala koji može zauzeti, te se TCP tome prilagođava. Prosječna propusnost protokola TCP, od pete sekunde do pedesetpete, koliko traje njegovo slanje iznosi Mbit/s. Prosječna veličina prozora cwnd iznosi 121 paketa, te se usporedbom gornja dva grafa može vidjeti veza između prozora zagušenja cwnd i propusnosti protokola. Ta veza je u ovom simulacijskom scenariju tako naglašena zato što je oglašavani prozor primatelja rwnd postavljen na 1000 dok cwnd nikada ne doseže tu veličinu. Iz izraza (1.3) u potpoglavlju 1.6 znamo da je prozor pošiljatelja swnd jednak manjoj od te dvije vrijednosti, tj. u ovom će slučaju swnd biti uvijek jednak cwnd. Procjena prosječnog vremena obilaska, RTT, iznosi ms. Slika 3.3 Reno propusnost, referentno Slika 3.4 Reno cwnd, referentno Slika 3.3 prikazuje propusnost protokola TCP Reno te se iz nje može odmah uočiti da je propusnost veća nego kod protokola TCP Tahoe. Prosječna propusnost protokola TCP Reno iznosi Mbit/s zahvaljujući tome što se cwnd ne vraća na 1 tako često kao kod protokola TCP Tahoe. Samim time je i prosječna vrijednost prozora cwnd veća te iznosi 133 paketa. Prosječni RTTT iznosi ms. 31
32 Slika 3.5 Vegas propusnost, referentno Slika 3.6 Vegas cwnd, referentno Slika 3.5 prikazuje propusnost protokola TCP Vegas. S obzirom da su mehanizmi upravljanja zagušenjem objašnjeni i simulirani u ovom radu samo nadogradnja jedni drugih, za očekivati je da će se većim djelom slično ponašati. Uspoređujući referentne grafove protokola TCP Vegas s onom protokola TCP Reno i Tahoe odmah se uočava manji broj promjena veličine prozora cwnd, te samim time i manji broj promjena razine propusnosti. To je zahvaljujući mehanizmima opisanim u potpoglavlju koji omogućavaju protokolu TCP Vegas više proaktivnu ulogu, za razliku od ostalih mehanizama koji su više reaktivni, gdje može detektirati zagušenje i prije nego nastupe stvarni gubitci koji bi uzrokovali smanjenje veličine prozora cwnd, te samim time i smanjenje propusnosti. Prosječna propusnost protokola TCP Vegas iznosi Mbit/s, prosječna veličina prozora cwnd iznosi 161 paket dok je prosječni RTT ms. Slika 3.7 New-Reno propusnost, referentno Slika 3.8 New-Reno cwnd, referentno Propusnost protokola TCP New-Reno prikazuje Slika 3.7. S obzirom da je New-Reno, kao i Vegas, modifikacija protokola TCP Reno, njegova krivulja propusnosti je slična krivulji protokola Reno ali primjetno drugačija od protokola Vegas s obzirom da New-Reno uvodi drugačije promjene od Vegasa, objašnjene u potpoglavlju Iz krivulja se vidi da vrijednost prozora cwnd kod New-Rena još rjeđe pada na veličinu 1 nego kod Rena te je samim time i prosječna propusnost protokola TCP New-Reno veća i iznosi Mbit/s, te 32
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET Goran Stančić SIGNALI I SISTEMI Zbirka zadataka NIŠ, 014. Sadržaj 1 Konvolucija Literatura 11 Indeks pojmova 11 3 4 Sadržaj 1 Konvolucija Zadatak 1. Odrediti konvoluciju
DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović
DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović Novi Sad April 17, 2018 1 / 22 Teorija grafova April 17, 2018 2 / 22 Definicija Graf je ure dena trojka G = (V, G, ψ), gde je (i) V konačan skup čvorova,
INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.
INTEGRALNI RAČUN Teorije, metodike i povijest infinitezimalnih računa Lucija Mijić lucija@ktf-split.hr 17. veljače 2011. Pogledajmo Predstavimo gornju sumu sa Dodamo još jedan Dobivamo pravokutnik sa Odnosno
2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x
Zadatak (Darjan, medicinska škola) Izračunaj vrijednosti trigonometrijskih funkcija broja ako je 6 sin =,,. 6 Rješenje Ponovimo trigonometrijske funkcije dvostrukog kuta! Za argument vrijede sljedeće formule:
3.1 Granična vrednost funkcije u tački
3 Granična vrednost i neprekidnost funkcija 2 3 Granična vrednost i neprekidnost funkcija 3. Granična vrednost funkcije u tački Neka je funkcija f(x) definisana u tačkama x za koje je 0 < x x 0 < r, ili
Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1
Strukture podataka i algoritmi 1. kolokvij Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Predajete samo papire koje ste dobili. Rezultati i uvid u kolokvije: ponedjeljak,
18. listopada listopada / 13
18. listopada 2016. 18. listopada 2016. 1 / 13 Neprekidne funkcije Važnu klasu funkcija tvore neprekidne funkcije. To su funkcije f kod kojih mala promjena u nezavisnoj varijabli x uzrokuje malu promjenu
numeričkih deskriptivnih mera.
DESKRIPTIVNA STATISTIKA Numeričku seriju podataka opisujemo pomoću Numeričku seriju podataka opisujemo pomoću numeričkih deskriptivnih mera. Pokazatelji centralne tendencije Aritmetička sredina, Medijana,
Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto
Trigonometrija Adicijske formule Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto Razumijevanje postupka izrade složenijeg matematičkog problema iz osnova trigonometrije
7 Algebarske jednadžbe
7 Algebarske jednadžbe 7.1 Nultočke polinoma Skup svih polinoma nad skupom kompleksnih brojeva označavamo sa C[x]. Definicija. Nultočka polinoma f C[x] je svaki kompleksni broj α takav da je f(α) = 0.
( , 2. kolokvij)
A MATEMATIKA (0..20., 2. kolokvij). Zadana je funkcija y = cos 3 () 2e 2. (a) Odredite dy. (b) Koliki je nagib grafa te funkcije za = 0. (a) zadanu implicitno s 3 + 2 y = sin y, (b) zadanu parametarski
(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.
1 3 Skupovi brojeva 3.1 Skup prirodnih brojeva - N N = {1, 2, 3,...} Aksiom matematičke indukcije Neka je N skup prirodnih brojeva i M podskup od N. Ako za M vrijede svojstva: 1) 1 M 2) n M (n + 1) M,
Eliminacijski zadatak iz Matematike 1 za kemičare
Za mnoge reakcije vrijedi Arrheniusova jednadžba, koja opisuje vezu koeficijenta brzine reakcije i temperature: K = Ae Ea/(RT ). - T termodinamička temperatura (u K), - R = 8, 3145 J K 1 mol 1 opća plinska
ELEKTROTEHNIČKI ODJEL
MATEMATIKA. Neka je S skup svih živućih državljana Republike Hrvatske..04., a f preslikavanje koje svakom elementu skupa S pridružuje njegov horoskopski znak (bez podznaka). a) Pokažite da je f funkcija,
Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju
RAČUN OSTATAKA 1 1 Prsten celih brojeva Z := N + {} N + = {, 3, 2, 1,, 1, 2, 3,...} Osnovni primer. (Z, +,,,, 1) je komutativan prsten sa jedinicom: sabiranje (S1) asocijativnost x + (y + z) = (x + y)
Linearna algebra 2 prvi kolokvij,
Linearna algebra 2 prvi kolokvij, 27.. 20.. Za koji cijeli broj t je funkcija f : R 4 R 4 R definirana s f(x, y) = x y (t + )x 2 y 2 + x y (t 2 + t)x 4 y 4, x = (x, x 2, x, x 4 ), y = (y, y 2, y, y 4 )
Sortiranje prebrajanjem (Counting sort) i Radix Sort
Sortiranje prebrajanjem (Counting sort) i Radix Sort 15. siječnja 2016. Ante Mijoč Uvod Teorem Ako je f(n) broj usporedbi u algoritmu za sortiranje temeljenom na usporedbama (eng. comparison-based sorting
Matematička analiza 1 dodatni zadaci
Matematička analiza 1 dodatni zadaci 1. Ispitajte je li funkcija f() := 4 4 5 injekcija na intervalu I, te ako jest odredite joj sliku i inverz, ako je (a) I = [, 3), (b) I = [1, ], (c) I = ( 1, 0].. Neka
PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).
PRAVA Prava je kao i ravan osnovni geometrijski ojam i ne definiše se. Prava je u rostoru određena jednom svojom tačkom i vektorom aralelnim sa tom ravom ( vektor aralelnosti). M ( x, y, z ) 3 Posmatrajmo
Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo
Elektrotehnički fakultet univerziteta u Beogradu 7.maj 009. Odsek za Softversko inžinjerstvo Performanse računarskih sistema Drugi kolokvijum Predmetni nastavnik: dr Jelica Protić (35) a) (0) Posmatra
Kaskadna kompenzacija SAU
Kaskadna kompenzacija SAU U inženjerskoj praksi, naročito u sistemima regulacije elektromotornih pogona i tehnoloških procesa, veoma često se primenjuje metoda kaskadne kompenzacije, u čijoj osnovi su
1.4 Tangenta i normala
28 1 DERIVACIJA 1.4 Tangenta i normala Ako funkcija f ima derivaciju u točki x 0, onda jednadžbe tangente i normale na graf funkcije f u točki (x 0 y 0 ) = (x 0 f(x 0 )) glase: t......... y y 0 = f (x
Riješeni zadaci: Limes funkcije. Neprekidnost
Riješeni zadaci: Limes funkcije. Neprekidnost Limes funkcije Neka je 0 [a, b] i f : D R, gdje je D = [a, b] ili D = [a, b] \ { 0 }. Kažemo da je es funkcije f u točki 0 jednak L i pišemo f ) = L, ako za
Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.
Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika Monotonost i ekstremi Katica Jurasić Rijeka, 2011. Ishodi učenja - predavanja Na kraju ovog predavanja moći ćete:,
TRIGONOMETRIJSKE FUNKCIJE I I.1.
TRIGONOMETRIJSKE FUNKCIJE I I Odredi na brojevnoj trigonometrijskoj kružnici točku Et, za koju je sin t =,cost < 0 Za koje realne brojeve a postoji realan broj takav da je sin = a? Izračunaj: sin π tg
Operacije s matricama
Linearna algebra I Operacije s matricama Korolar 3.1.5. Množenje matrica u vektorskom prostoru M n (F) ima sljedeća svojstva: (1) A(B + C) = AB + AC, A, B, C M n (F); (2) (A + B)C = AC + BC, A, B, C M
M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost
M086 LA 1 M106 GRP Tema: CSB nejednakost. 19. 10. 2017. predavač: Rudolf Scitovski, Darija Marković asistent: Darija Brajković, Katarina Vincetić P 1 www.fizika.unios.hr/grpua/ 1 Baza vektorskog prostora.
III VEŽBA: FURIJEOVI REDOVI
III VEŽBA: URIJEOVI REDOVI 3.1. eorijska osnova Posmatrajmo neki vremenski kontinualan signal x(t) na intervalu definisati: t + t t. ada se može X [ k ] = 1 t + t x ( t ) e j 2 π kf t dt, gde je f = 1/.
RIJEŠENI ZADACI I TEORIJA IZ
RIJEŠENI ZADACI I TEORIJA IZ LOGARITAMSKA FUNKCIJA SVOJSTVA LOGARITAMSKE FUNKCIJE OSNOVE TRIGONOMETRIJE PRAVOKUTNOG TROKUTA - DEFINICIJA TRIGONOMETRIJSKIH FUNKCIJA - VRIJEDNOSTI TRIGONOMETRIJSKIH FUNKCIJA
Glava 3: Nivo transporta
Glava 3: Nivo a All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Ciljevi: Shvatiti principe na kojima počivaju servisi nivoa a: Multipleksiranje/ demultipleksiranje Pouzdan
Riješeni zadaci: Nizovi realnih brojeva
Riješei zadaci: Nizovi realih brojeva Nizovi, aritmetički iz, geometrijski iz Fukciju a : N R azivamo beskoači) iz realih brojeva i ozačavamo s a 1, a,..., a,... ili a ), pri čemu je a = a). Aritmetički
Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.
Pismeni ispit iz matematike 0 008 GRUPA A Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: λ + z = Ispitati funkciju i nacrtati njen grafik: + ( λ ) + z = e Izračunati
4. Nivo transporta. 4. Nivo transporta. Ciljevi: Shvatiti principe na kojima počivaju servisi nivoa transporta:
4. Nivo transporta Ciljevi: Shvatiti principe na kojima počivaju servisi nivoa transporta: Multipleksiranje/ demultipleksiranje Pouzdan prenos podataka Kontrola protoka Kontrola zagušenja Protokoli transportnog
Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.
Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. a b Verovatno a da sluqajna promenljiva X uzima vrednost iz intervala
Funkcije dviju varjabli (zadaci za vježbu)
Funkcije dviju varjabli (zadaci za vježbu) Vidosava Šimić 22. prosinca 2009. Domena funkcije dvije varijable Ako je zadano pridruživanje (x, y) z = f(x, y), onda se skup D = {(x, y) ; f(x, y) R} R 2 naziva
Teorijske osnove informatike 1
Teorijske osnove informatike 1 9. oktobar 2014. () Teorijske osnove informatike 1 9. oktobar 2014. 1 / 17 Funkcije Veze me du skupovima uspostavljamo skupovima koje nazivamo funkcijama. Neformalno, funkcija
5. Karakteristične funkcije
5. Karakteristične funkcije Profesor Milan Merkle emerkle@etf.rs milanmerkle.etf.rs Verovatnoća i Statistika-proleće 2018 Milan Merkle Karakteristične funkcije ETF Beograd 1 / 10 Definicija Karakteristična
radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}
Matematika 1 Funkcije radni nerecenzirani materijal za predavanja Definicija 1. Neka su D i K bilo koja dva neprazna skupa. Postupak f koji svakom elementu x D pridružuje točno jedan element y K zovemo funkcija
Glava 3: Nivo transporta
Glava 3: Nivo transporta Ciljevi: Shvatiti principe na kojima počivaju servisi nivoa transporta: Multipleksiranje/ Demultipleksiranje Pouzdan prenos podataka Kontrola protoka Kontrola zagušenja Protokoli
π π ELEKTROTEHNIČKI ODJEL i) f (x) = x 3 x 2 x + 1, a = 1, b = 1;
1. Provjerite da funkcija f definirana na segmentu [a, b] zadovoljava uvjete Rolleova poučka, pa odredite barem jedan c a, b takav da je f '(c) = 0 ako je: a) f () = 1, a = 1, b = 1; b) f () = 4, a =,
21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI
21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE 2014. GODINE 8. RAZRED TOČNI ODGOVORI Bodovanje za sve zadatke: - boduju se samo točni odgovori - dodatne upute navedene su za pojedine skupine zadataka
IZVODI ZADACI (I deo)
IZVODI ZADACI (I deo) Najpre da se podsetimo tablice i osnovnih pravila:. C`=0. `=. ( )`= 4. ( n )`=n n-. (a )`=a lna 6. (e )`=e 7. (log a )`= 8. (ln)`= ` ln a (>0) 9. = ( 0) 0. `= (>0) (ovde je >0 i a
Iskazna logika 3. Matematička logika u računarstvu. novembar 2012
Iskazna logika 3 Matematička logika u računarstvu Department of Mathematics and Informatics, Faculty of Science,, Serbia novembar 2012 Deduktivni sistemi 1 Definicija Deduktivni sistem (ili formalna teorija)
Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A
Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A Ime i prezime: 1. Prikazane su tačke A, B i C i prave a,b i c. Upiši simbole Î, Ï, Ì ili Ë tako da dobijeni iskazi
VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.
JŽ 3 POLAN TANZSTO ipolarni tranzistor se sastoji od dva pn spoja kod kojih je jedna oblast zajednička za oba i naziva se baza, slika 1 Slika 1 ipolarni tranzistor ima 3 izvoda: emitor (), kolektor (K)
PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,
PARCIJALNI IZVODI I DIFERENCIJALI Sama definicija parcijalnog ivoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, naravno, naučiti onako kako vaš profesor ahteva. Mi ćemo probati
( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4
UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET Riješiti jednačine: a) 5 = b) ( ) 3 = c) + 3+ = 7 log3 č) = 8 + 5 ć) sin cos = d) 5cos 6cos + 3 = dž) = đ) + = 3 e) 6 log + log + log = 7 f) ( ) ( ) g) ( ) log
2. Ako je funkcija f(x) parna onda se Fourierov red funkcije f(x) reducira na Fourierov kosinusni red. f(x) cos
. KOLOKVIJ PRIMIJENJENA MATEMATIKA FOURIEROVE TRANSFORMACIJE 1. Za periodičnu funkciju f(x) s periodom p=l Fourierov red je gdje su a,a n, b n Fourierovi koeficijenti od f(x) gdje su a =, a n =, b n =..
IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)
IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI) Izračunavanje pokazatelja načina rada OTVORENOG RM RASPOLOŽIVO RADNO
a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.
3 Infimum i supremum Definicija. Neka je A R. Kažemo da je M R supremum skupa A ako je (i) M gornja meda skupa A, tj. a M a A. (ii) M najmanja gornja meda skupa A, tj. ( ε > 0)( a A) takav da je a > M
Matematika 1 - vježbe. 11. prosinca 2015.
Matematika - vježbe. prosinca 5. Stupnjevi i radijani Ako je kut φ jednak i rad, tada je veza između i 6 = Zadatak.. Izrazite u stupnjevima: a) 5 b) 7 9 c). d) 7. a) 5 9 b) 7 6 6 = = 5 c). 6 8.5 d) 7.
SISTEMI NELINEARNIH JEDNAČINA
SISTEMI NELINEARNIH JEDNAČINA April, 2013 Razni zapisi sistema Skalarni oblik: Vektorski oblik: F = f 1 f n f 1 (x 1,, x n ) = 0 f n (x 1,, x n ) = 0, x = (1) F(x) = 0, (2) x 1 0, 0 = x n 0 Definicije
radni nerecenzirani materijal za predavanja
Matematika 1 Funkcije radni nerecenzirani materijal za predavanja Definicija 1. Kažemo da je funkcija f : a, b R u točki x 0 a, b postiže lokalni minimum ako postoji okolina O(x 0 ) broja x 0 takva da je
1 Promjena baze vektora
Promjena baze vektora Neka su dane dvije različite uredene baze u R n, označimo ih s A = (a, a,, a n i B = (b, b,, b n Svaki vektor v R n ima medusobno različite koordinatne zapise u bazama A i B Zapis
- pravac n je zadan s točkom T(2,0) i koeficijentom smjera k=2. (30 bodova)
MEHANIKA 1 1. KOLOKVIJ 04/2008. grupa I 1. Zadane su dvije sile F i. Sila F = 4i + 6j [ N]. Sila je zadana s veličinom = i leži na pravcu koji s koordinatnom osi x zatvara kut od 30 (sve komponente sile
Računarska grafika. Rasterizacija linije
Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem
Numerička matematika 2. kolokvij (1. srpnja 2009.)
Numerička matematika 2. kolokvij (1. srpnja 29.) Zadatak 1 (1 bodova.) Teorijsko pitanje. (A) Neka je G R m n, uz m n, pravokutna matrica koja ima puni rang po stupcima, tj. rang(g) = n. (a) Napišite puni
POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE
**** MLADEN SRAGA **** 011. UNIVERZALNA ZBIRKA POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE SKUP REALNIH BROJEVA α Autor: MLADEN SRAGA Grafički urednik: BESPLATNA - WEB-VARIJANTA Tisak: M.I.M.-SRAGA
PRIMJER 3. MATLAB filtdemo
PRIMJER 3. MATLAB filtdemo Prijenosna funkcija (IIR) Hz () =, 6 +, 3 z +, 78 z +, 3 z +, 53 z +, 3 z +, 78 z +, 3 z +, 6 z, 95 z +, 74 z +, z +, 9 z +, 4 z +, 5 z +, 3 z +, 4 z 3 4 5 6 7 8 3 4 5 6 7 8
Elementi spektralne teorije matrica
Elementi spektralne teorije matrica Neka je X konačno dimenzionalan vektorski prostor nad poljem K i neka je A : X X linearni operator. Definicija. Skalar λ K i nenula vektor u X se nazivaju sopstvena
MATEMATIKA Pokažite da za konjugiranje (a + bi = a bi) vrijedi. a) z=z b) z 1 z 2 = z 1 z 2 c) z 1 ± z 2 = z 1 ± z 2 d) z z= z 2
(kompleksna analiza, vježbe ). Izračunajte a) (+i) ( i)= b) (i+) = c) i + i 4 = d) i+i + i 3 + i 4 = e) (a+bi)(a bi)= f) (+i)(i )= Skicirajte rješenja u kompleksnoj ravnini.. Pokažite da za konjugiranje
2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =
( > 0, 0)!" # > 0 je najčešći uslov koji postavljamo a još je,, > 0 se zove numerus (aritmand), je osnova (baza). 0.. ( ) +... 7.. 8. Za prelazak na neku novu bazu c: 9. Ako je baza (osnova) 0 takvi se
TRIGONOMETRIJA TROKUTA
TRIGONOMETRIJA TROKUTA Standardne oznake u trokutuu ABC: a, b, c stranice trokuta α, β, γ kutovi trokuta t,t,t v,v,v s α,s β,s γ R r s težišnice trokuta visine trokuta simetrale kutova polumjer opisane
Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2.
Sume kvadrata Koji se prirodni brojevi mogu prikazati kao zbroj kvadrata dva cijela broja? Propozicija 1. Ako su brojevi m i n sume dva kvadrata, onda je i njihov produkt m n takoder suma dva kvadrata.
Pošto pretvaramo iz veće u manju mjernu jedinicu broj 2.5 množimo s 1000,
PRERAČUNAVANJE MJERNIH JEDINICA PRIMJERI, OSNOVNE PRETVORBE, POTENCIJE I ZNANSTVENI ZAPIS, PREFIKSKI, ZADACI S RJEŠENJIMA Primjeri: 1. 2.5 m = mm Pretvaramo iz veće u manju mjernu jedinicu. 1 m ima dm,
9. GRANIČNA VRIJEDNOST I NEPREKIDNOST FUNKCIJE GRANIČNA VRIJEDNOST ILI LIMES FUNKCIJE
Geodetski akultet, dr sc J Beban-Brkić Predavanja iz Matematike 9 GRANIČNA VRIJEDNOST I NEPREKIDNOST FUNKCIJE GRANIČNA VRIJEDNOST ILI LIMES FUNKCIJE Granična vrijednost unkcije kad + = = Primjer:, D( )
IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo
IZVODI ZADACI ( IV deo) LOGARITAMSKI IZVOD Logariamskim izvodom funkcije f(), gde je >0 i, nazivamo izvod logarima e funkcije, o jes: (ln ) f ( ) f ( ) Primer. Nadji izvod funkcije Najpre ćemo logarimovai
Otpornost R u kolu naizmjenične struje
Otpornost R u kolu naizmjenične struje Pretpostavimo da je otpornik R priključen na prostoperiodični napon: Po Omovom zakonu pad napona na otporniku je: ( ) = ( ω ) u t sin m t R ( ) = ( ) u t R i t Struja
SEMINAR IZ KOLEGIJA ANALITIČKA KEMIJA I. Studij Primijenjena kemija
SEMINAR IZ OLEGIJA ANALITIČA EMIJA I Studij Primijenjena kemija 1. 0,1 mola NaOH je dodano 1 litri čiste vode. Izračunajte ph tako nastale otopine. NaOH 0,1 M NaOH Na OH Jak elektrolit!!! Disoira potpuno!!!
konst. Električni otpor
Sveučilište J. J. Strossmayera u sijeku Elektrotehnički fakultet sijek Stručni studij Električni otpor hmov zakon Pri protjecanju struje kroz vodič pojavljuje se otpor. Georg Simon hm je ustanovio ovisnost
MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15
MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 Matrice - osnovni pojmovi (Matrice i determinante) 2 / 15 (Matrice i determinante) 2 / 15 Matrice - osnovni pojmovi Matrica reda
Ispitivanje toka i skiciranje grafika funkcija
Ispitivanje toka i skiciranje grafika funkcija Za skiciranje grafika funkcije potrebno je ispitati svako od sledećih svojstava: Oblast definisanosti: D f = { R f R}. Parnost, neparnost, periodičnost. 3
Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri
Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri 1 1 Zadatak 1b Čisto savijanje - vezano dimenzionisanje Odrediti potrebnu površinu armature za presek poznatih dimenzija, pravougaonog
Ĉetverokut - DOMAĆA ZADAĆA. Nakon odgledanih videa trebali biste biti u stanju samostalno riješiti sljedeće zadatke.
Ĉetverokut - DOMAĆA ZADAĆA Nakon odgledanih videa trebali biste biti u stanju samostalno riješiti sljedeće zadatke. 1. Duljine dijagonala paralelograma jednake su 6,4 cm i 11 cm, a duljina jedne njegove
Prikaz sustava u prostoru stanja
Prikaz sustava u prostoru stanja Prikaz sustava u prostoru stanja je jedan od načina prikaza matematičkog modela sustava (uz diferencijalnu jednadžbu, prijenosnu funkciju itd). Promatramo linearne sustave
IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f
IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f 2. Nule i znak funkcije; presek sa y-osom IspitivaƬe
VJEROJATNOST I STATISTIKA Popravni kolokvij - 1. rujna 2016.
Broj zadataka: 5 Vrijeme rješavanja: 120 min Ukupan broj bodova: 100 Zadatak 1. (a) Napišite aksiome vjerojatnosti ako je zadan skup Ω i σ-algebra F na Ω. (b) Dokažite iz aksioma vjerojatnosti da za A,
Dijagonalizacija operatora
Dijagonalizacija operatora Problem: Može li se odrediti baza u kojoj zadani operator ima dijagonalnu matricu? Ova problem je povezan sa sljedećim pojmovima: 1 Karakteristični polinom operatora f 2 Vlastite
Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.
auchyjev teorem Neka je f-ja f (z) analitička u jednostruko (prosto) povezanoj oblasti G, i neka je zatvorena kontura koja čitava leži u toj oblasti. Tada je f (z)dz = 0. Postoji više dokaza ovog teorema,
OSNOVE TEHNOLOGIJE PROMETA
OSNOVE TEHNOLOGIJE PROMETA MODUL: Tehnologija teleomuniacijsog rometa FAKULTET PROMETNIH ZNANOSTI Predavači: Doc.dr.sc. Štefica Mrvelj Maro Matulin, dil.ing. Zagreb, ožuja 2009. Oće informacije Konzultacije:
Funkcija gustoće neprekidne slučajne varijable ima dva bitna svojstva: 1. Nenegativnost: f(x) 0, x R, 2. Normiranost: f(x)dx = 1.
σ-algebra skupova Definicija : Neka je Ω neprazan skup i F P(Ω). Familija skupova F je σ-algebra skupova na Ω ako vrijedi:. F, 2. A F A C F, 3. A n, n N} F n N A n F. Borelova σ-algebra Definicija 2: Neka
POVRŠINA TANGENCIJALNO-TETIVNOG ČETVEROKUTA
POVRŠIN TNGENIJLNO-TETIVNOG ČETVEROKUT MLEN HLP, JELOVR U mnoštvu mnogokuta zanimljiva je formula za površinu četverokuta kojemu se istoobno može upisati i opisati kružnica: gje su a, b, c, uljine stranica
BIPOLARNI TRANZISTOR Auditorne vježbe
BPOLARN TRANZSTOR Auditorne vježbe Struje normalno polariziranog bipolarnog pnp tranzistora: p n p p - p n B0 struja emitera + n B + - + - U B B U B struja kolektora p + B0 struja baze B n + R - B0 gdje
Zavrxni ispit iz Matematiqke analize 1
Građevinski fakultet Univerziteta u Beogradu 3.2.2016. Zavrxni ispit iz Matematiqke analize 1 Prezime i ime: Broj indeksa: 1. Definisati Koxijev niz. Dati primer niza koji nije Koxijev. 2. Dat je red n=1
FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA
: MAKSIMALNA BRZINA Maksimalna brzina kretanja F O (N) F OI i m =i I i m =i II F Oid Princip određivanja v MAX : Drugi Njutnov zakon Dokle god je: F O > ΣF otp vozilo ubrzava Kada postane: F O = ΣF otp
INTELIGENTNO UPRAVLJANJE
INTELIGENTNO UPRAVLJANJE Fuzzy sistemi zaključivanja Vanr.prof. Dr. Lejla Banjanović-Mehmedović Mehmedović 1 Osnovni elementi fuzzy sistema zaključivanja Fazifikacija Baza znanja Baze podataka Baze pravila
Neka je a 3 x 3 + a 2 x 2 + a 1 x + a 0 = 0 algebarska jednadžba trećeg stupnja. Rješavanje ove jednadžbe sastoji se od nekoliko koraka.
Neka je a 3 x 3 + a x + a 1 x + a 0 = 0 algebarska jednadžba trećeg stupnja. Rješavanje ove jednadžbe sastoji se od nekoliko koraka. 1 Normiranje jednadžbe. Jednadžbu podijelimo s a 3 i dobivamo x 3 +
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΛΕΞΗ 3 ΔΙΔΑΣΚΩΝ: ΑΝΑΡΓΥΡΟΣ ΣΙΔΕΡΗΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΟΛΥΜΕΣΩΝ ΤΕΙ ΚΡΗΤΗΣ ΠΡΩΤΟΚΟΛΛΟ ΕΛΕΓΧΟΥ
Tranzistori s efektom polja. Postupak. Spoj zajedničkog uvoda. Shema pokusa
Tranzistori s efektom polja Spoj zajedničkog uvoda U ovoj vježbi ispitujemo pojačanje signala uz pomoć FET-a u spoju zajedničkog uvoda. Shema pokusa Postupak Popis spojeva 1. Spojite pokusni uređaj na
41. Jednačine koje se svode na kvadratne
. Jednačine koje se svode na kvadrane Simerične recipročne) jednačine Jednačine oblika a n b n c n... c b a nazivamo simerične jednačine, zbog simeričnosi koeficijenaa koeficijeni uz jednaki). k i n k
Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu
Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu Trigonometrijske jednačine i nejednačine. Zadaci koji se rade bez upotrebe trigonometrijskih formula. 00. FF cos x sin x
Transmission Control Protocol. Transmission Control Protocol
Transmission Control Protocol ρ. Κωνσταντίνος Σ. Χειλάς Transmission Control Protocol TCP δουλεύει στο επίπεδο µεταφοράς (transport layer) της σουίτας πρωτοκόλλων του TCP/IP Παρέχει αξιόπιστη (reliable)
Računarska grafika. Rasterizacija linije
Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem
I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa?
TET I.1. Šta je Kulonova sila? elektrostatička sila magnetna sila c) gravitaciona sila I.. Šta je elektrostatička sila? sila kojom međusobno eluju naelektrisanja u mirovanju sila kojom eluju naelektrisanja
2.2 Srednje vrijednosti. aritmetička sredina, medijan, mod. Podaci (realizacije varijable X): x 1,x 2,...,x n (1)
2.2 Srednje vrijednosti aritmetička sredina, medijan, mod Podaci (realizacije varijable X): x 1,x 2,...,x n (1) 1 2.2.1 Aritmetička sredina X je numerička varijabla. Aritmetička sredina od (1) je broj:
Unipolarni tranzistori - MOSFET
nipolarni tranzistori - MOSFET ZT.. Prijenosna karakteristika MOSFET-a u području zasićenja prikazana je na slici. oboaćeni ili osiromašeni i obrazložiti. b olika je struja u točki, [m] 0,5 0,5,5, [V]
Multipleksiranje i demultipleksiranje
Protokol transportnog sloja, obezbedjuje logicku komunikaciju izmedju procesa aplikacija koje se izvrsavaju na razlicitim racunarima. Pod logickom komunikacijom misli se na to da sa stanovista aplikacije
Osnovne teoreme diferencijalnog računa
Osnovne teoreme diferencijalnog računa Teorema Rolova) Neka je funkcija f definisana na [a, b], pri čemu važi f je neprekidna na [a, b], f je diferencijabilna na a, b) i fa) fb). Tada postoji ξ a, b) tako
FAKULTET PROMETNIH ZNANOSTI
SVUČILIŠT U ZAGU FAKULTT POMTNIH ZNANOSTI predmet: Nastavnik: Prof. dr. sc. Zvonko Kavran zvonko.kavran@fpz.hr * Autorizirana predavanja 2016. 1 Pojačala - Pojačavaju ulazni signal - Zahtjev linearnost
Konstruisanje. Dobro došli na... SREDNJA MAŠINSKA ŠKOLA NOVI SAD DEPARTMAN ZA PROJEKTOVANJE I KONSTRUISANJE
Dobro došli na... Konstruisanje GRANIČNI I KRITIČNI NAPON slajd 2 Kritični naponi Izazivaju kritične promene oblika Delovi ne mogu ispravno da vrše funkciju Izazivaju plastične deformacije Može doći i