PowerPoint Presentation

Величина: px
Почињати приказ од странице:

Download "PowerPoint Presentation"

Транскрипт

1 Mrezno računarstvo glava Looking Up Internet Addresses 1

2 pojmovi node uređaj povezan na Internet host node koji je računar svaki host se identifikuje bar jednim jedinstvenim brojem koji se naziva Internet adresa ili IP adresa IPv4 adrese 4 bajta IPv6 adrese 16 bajtova (4 i 6 su verzije Internet Protokola, ne brojevi bajtova u adresi) adrese su uređeni nizovi bajtova, nisu brojevi 2

3 IPv4 adresa 4 neoznačena bajta, svaki sa vrednošću od 0 do 255. Bajtovi se razdvajaju tačkama (dotted quad format) 3

4 IPv6 adresa 8 blokova od po 4 heksadekadne cifre blokovi se razdvajaju dvotačkom 2001:0250:02FF:0210:0250:8BFF:FEDE:67C8 vodeće nule ne moraju se pisati 2001:250:2FF:210:250:8BFF:FEDE:67C8 uzastopna dvotačka, najviše jedna u adresi, ukazuje na pojavu višestrukih 0-blokova FEDC:0000:0000:0000:00DC:0000:7076:0010 FEDC::DC:0:7076:10 4

5 Mešovite IPv6 i IPv4 mreže poslednja 4 bajta IPv6 adrese se ponekad pišu kao IPv4 dotted quad adresa: FEDC:BA98:7654:3210:FEDC:BA98:7654 :3210 FEDC:BA98:7654:3210:FEDC:BA98: IPv6 je podržan od verzije Java 1.4 5

6 DNS Domain Name System (DNS) pridružuje IP adresama hostname-ove koje čovek može da upamti Većina host-ova ima bar jedan hostname Izuzetak su računari koji nemaju stalnu IP adresu. Pošto nemaju stalnu IP adresu, takvi računari se ne mogu koristiti kao serveri, pa nema potrebe da imaju ime jer im se niko neće obraćati Praviti razliku: IP adresa je uvek numerička, a hostname je humanreadable 6

7 DNS Neke mašine imaju veći broj imena. Npr. i helios.metalab.unc.edu, (Da li to vazi za i poincare.matf.bg.ac.rs?) se odnosi pre na web site nego na mašinu u prošlosti, kada se web site premeštao sa mašine na mašinu, ime je repridruživano novoj mašini tako da uvek pokazuje na tekući server sajta. Na ovaj način, URL-ovi širom sveta ne moraju se ažurirati samo zato što je neki sajt pomeren na novi host. 7

8 DNS povremeno, 1 ime se mapira na veći broj IP adresa. Tada je DNS server odgovoran da slučajno bira mašine da odgovore na svaki zahtev. Ovo se često koristi za dosta opterećene web sajtove, gde se opterećenje deli na veći broj sistema Svaki računar povezan na Internet treba da ima pristup mašini koja se zove domain name server, koja je u opštem slučaju pod Unix-om i izvršava poseban DNS software koji zna mapiranja između različitih hostname-ova i IP adresa 8

9 DNS Većina domain name servera zna samo adrese hostova u svojoj lokalnoj mreži i adrese nekoliko drugih domain name servera. Kada klijent traži adresu mašine izvan lokalnog domena, local domain server traži podatak od udaljenog domain servera i prosleđuje odgovor klijentu veći deo vremena koristimo hostname-ove i puštamo da DNS rukuje prevodom IP adresa. Za pokretanje primera iz knjige, neophodno je da računar bude povezan na Internet (i time bude u vezi sa bar jednim DNS-om) 9

10 klasa InetAddress java.net.inetaddress reprezentacija visokog nivoa IP adrese (IPv4, IPv6) Koristi je većina drugih mrežnih klasa, uključujući Socket, ServerSocket, URL, DatagramSocket, DatagramPacket... uključuje i hostname i IP adresu public class InetAddress extends Object implements Serializable (iz ove klase ne treba izvoditi svoje klase, a to nije ni moguće jer su svi konstruktori sa paketnim pravom pristupa) 10

11 Kreiranje novih InetAddress objekata ne postoje public konstruktori klase postoje 3 statička metoda koja vraćaju pogodno inicijalizovane InetAddress objekte public static InetAddress getbyname(string hostname) throws UnknownHostException public static InetAddress[] getallbyname(string hostname) throws UnknownHostException public static InetAddress getlocalhost() throws UnknownHostException 11

12 Kreiranje novih InetAddress objekata Sva 3 ova metoda mogu napraviti konekciju sa lokalnim DNS kako bi upotpunili informacije o InetAddress objektu, ako je neophodno Ovi metodi mogu izbaciti security izuzetke ako je zabranjena konekcija sa DNS-om Ključna stvar za zapamtiti jeste da ovi metodi prosto ne koriste svoje argumente kako bi postavili odgovarajuća polja objekta Oni zapravo prave mrežne konekcije kako bi dobili neophodne informacije Ostali metodi klase, poput getaddress() i gethostname() uglavnom rade sa informacijama koje su obezbedili ovi metodi. Ti metodi ne prave mrežne konekcije, a u retkim situacijama kada to rade, ne izbacuju izuzetke Samo ova 3 metoda idu izvan Jave i lokalnog 12 sistema kako bi obavili svoj posao

13 DNS pretrage mogu biti relativno skupe (reda veličine nekoliko sekundi po zahtevu koji ide preko nekoliko međuservera, ili zahtevu koji pokušava da razreši host koji nije dostupan) Zato klasa InetAddress kešira rezultate pretraga Ako ima adresu datog host-a, neće je tražiti ponovo, čak i ako se kreira novi InetAddress objekat za isti host. Sve dok se IP adrese ne menjaju za vreme izvršavanja, ovo ne predstavlja problem 13

14 greške tipa: host not found su neznatno problematičnije. Nije neuobičajeno da inicijalni pokušaj razrešenja host-a ne uspe, ali naredni koji neposredno sledi uspe. Ono što se obično dešava u ovoj situaciji je da prvi pokušaj istekne dok su informacije još u putu od DNS servera. Zatim informacija stiže do lokalnog servera i odmah je dostupna za sledeći zahtev. Zato, Java neuspešne zahteve kešira na 10 sekundi. postoje system properties kojima se može podesiti broj sekundi koliko se uspešne i neuspešne pretrage čuvaju u kešu 14

15 Osim lokalnog keširanja unutar klase InetAddress, local host, local domain name server i drugi DNS serveri gdegod na Internetu takođe mogu keširati rezultate različitih upita. Java nema kontrolu nad tim. Posledica je da može proći nekoliko sati dok informacija o promeni IP adrese ne prođe kroz Internet. U međuvremenu naši programi se mogu suočiti sa različitim izuzecima, uključujući UnknownHostException, NoRouteToHostException i ConnectException u zavisnosti od načinjene promene 15

16 2 metoda koja ne proveravaju svoje adrese kod lokalnog DNS servera prvi kreira InetAddress objekat sa zadatom IP adresom i bez hostname drugi kreira InetAddress objekat sa IP adresom i hostnameom public static InetAddress getbyaddress(byte[] address) throws UnknownHostException public static InetAddress getbyaddress(string hostname, byte[] address) throws UnknownHostException Za razliku od prethodna 3, ova 2 metoda ne garantuju da takav host uopšte postoji ili da je hostname korektno mapiran na IP adresu. Izbacuju izuzetak jedino ako je niz bajtova nekorektne veličine (nije 4 niti 16 bajtova) prosleđen kao argument address 16

17 public static InetAddress getbyname(string hostname) throws UnknownHostException najčešće korišćen statički metod koji uzima hostname koji tražimo kao argument traži IP adresu tog hosta koristeći DNS. import java.net.*; (biće u svim programima) try{ InetAddress address = InetAddress.getByName(" System.out.println(address); }catch(unknownhostexception ex){ System.out.println("Could not find } primer1 u retkim prilikama želimo da se povežemo sa mašinom koja nema hostname. Moguće je proslediti String koji sadrži dotted quad ili heksadekadni oblik IP adrese kao argument getbyname() metoda 17

18 InetAddress ia = InetAddress.getByName(" "); kada se getbyname() poziva sa stringom u kome je IP adresa, on kreira InetAddress objekat za zadatu IP adresu bez provere DNSa. To znači da je moguće kreirati InetAddress objekte za host-ove koji ne postoje i nemoguće je konektovati se sa njima. DNS pretraga za odgovarajući hostname se vrši samo kada se hostname zahteva pozivom metoda gethostname() tostring() ne vrši potragu za hostname, pa host neće biti uključen u Stringreprezentaciju, osim ako je već poznat, bilo zato što je prosleđen kao argument metoda prilikom kreiranja InetAddress objekta ili zato što je pozivan metod gethostname() 18

19 IP adresa ili hostname? hostname-ovi su dosta stabilniji od IP adresa Neki servisi su živeli na istom hostname-u nekoliko godina a menjali su IP adrese nekoliko puta. Ako imate izbor između korišćenja hostname-a i IPadrese, uvek izaberite hostname i koristite IP adresu samo kada hostname nije dostupan. 19

20 public static InetAddress[] getallbyname(string hostname) throws UnknownHostException neki računari imaju više od jedne Internet adrese za zadati hostname, ovaj metod vraća niz koji sadrži sve adrese koje odgovaraju tom imenu primer2 vraća kompletnu listu IP adresa za " (sada ima samo jednu - > probati za " on ih ima više) host-ovi sa više od jedne adrese su pre izuzetak nego pravilo. Većina su veliki web serveri. Čak i tada retko je potrebno znati više od jedne njihove adrese 20

21 public static InetAddress getbyaddress(byte[] address) throws UnknownHostException public static InetAddress getbyaddress(string hostname, byte[] address) throws UnknownHostException kreiranje InetAddress objekta sa tačno zadatim argumentima. Ne vrši se domain name pretraga Ako je dužina niza različita od 4 ili 16 izbacuje se izuzetak korisno kada domain name server nije dostupan ili ima netačnu informaciju 21

22 public static InetAddress getlocalhost() throws UnknownHostException vraća InetAddress objekat za mašinu na kojoj se izvršava izbacuje UnknownHostException kada ne može da nađe adresu lokalne mašine (mada ovo ne bi trebalo da se desi) upotreba je pravolinijska InetAddress me = InetAddress.getLocalHost(); primer3 ako nismo konektovani na Internet i sistem nema fiksnu IP adresu ili domain name, verovatno ćemo videti localhost kao domain name i kao IP adresu 22

23 Security Issues Kreiranje novog InetAddress objekta od zadatog hostname smatra se potencijalno nebezbednom operacijom jer zahteva DNS pretragu apletu pod kontrolom podrazumevanog security manager-a jedino je dopušteno da dobije IP adresu hosta sa kog dolazi (svog codebase) i moguće local host-a. Nije dopušteno da kreira InetAddress objekat od bilo kog drugog hostname-a. Može od string oblika IP adrese jer se tada ne vrši DNS pretraga za takvom adresom 23

24 Nepoverljivom kodu nije dopušteno da vrši proizvoljne DNS pretrage za drugim host-ovima zbog zabrane pravljenja konekcija sa host-ovima osim codebase. Proizvoljne DNS pretrage otvorile bi tajne kanale kojim bi program mogao komunicirati sa ostalim host-ovima. (curenje informacija) Nepoverljivom kodu je dopušteno da zove InetAddress.getLocalHost(). Međutim, ovaj metod vraća hostname localhost i IP Ovaj specijalan hostname i IP zovu se loopback adresa. Bez obzira na to koja mašina se koristi, ovaj hostname i IP adresa uvek se odnose na tekuću mašinu. Nije neophodno DNS razrešenje. Razlog zabrane apletu da otkrije stvarni hostname i adresu je to što je računar na kome se aplet izvršava namerno skriven iza firewall-a. U tom slučaju, aplet ne sme biti kanal za informacije koje nema web server. 24

25 Kao i sve sigurnosne provere, zabrane DNS razrešenja mogu biti oslabljene za kod kome verujemo. metod klase SecurityManager kojim se proverava da li host može biti razrešen: public void checkconnect(string hostname, int port) kada je port -1, metod proverava da li se može pozvati DNS da razreši zadati host ako je port veći od -1, metod proverava da li je dopuštena konekcija sa imenovanim host-om na zadatom portu host može biti bilo hostname, bilo dotted quad IP adresa, bilo heksadekadna IPv6 adresa Ako je razrešenje/konekcija dopuštena, metod radi return, a inače izbacuje SecurityException apletu se može dodeliti pravo da razreši host-a korišćenjem Policy Tool primer 3a (InetAplet) + 3a_dodatna_uputstva.pdf 25

26 getter metodi klase InetAddress public String gethostname() public byte[] getaddress() public String gethostaddress() ne postoje odgovarajući set*() metodi nema načina da se izvan paketa java.net promene polja InetAddress objekta Java može garantovati da hostname i IP adresa odgovaraju jedno drugom InetAddress objekat je nepromenljiv i thread-safe 26

27 public String gethostname() vraća String koji je ime host-a sa IP adresom predstavljenom InetAddress objektom ako mašina nema hostname ili security manager sprečava određivanje imena, metod vraća dotted quad format numeričke IP adrese InetAddress machine = InetAddress.getLocalHost(); String localhost = machine.gethostname(); Nekad se vidi samo delimično kvalifikovano ime. To zavisi od načina na koji se DNS ponaša kada razrešava local hostname-ove primer4 27

28 public String gethostaddress() vraća String koji sadrži dotted quad format IP adrese primer5 28

29 public byte[] getaddress() (retko) IP mašine kao niz bajtova u mrežnom poretku. Bajt najveće težine(krajnje levi u dotted quad form) je prvi bajt u nizu, tj. element sa indeksom 0 Zbog IPv6 adresa, ne pretpostavljati ništa o dužini niza. Ako želimo da znamo tu dužinu, možemo iskoristiti polje length: InetAddress me = InetAddress.getLocalHost(); byte[] address = me.getaddress(); Vraćeni bajtovi su neoznačeni, što može uzrokovati problem. U Javi ne postoji tip neoznačeni bajt kao u C-u. Bajtovi sa vrednostima većim od 127 tretiraju se kao negativni brojevi. Ako želimo bilo šta da radimo sa bajtovima koje nam je vratio getaddress() metod, moramo ih kastovati u int-ove i prilagoditi ih. Jedan način je: int unsignedbyte = signedbyte < 0? signedbyte : signedbyte; Ovde signedbyte može biti pozitivan ili negativan Jedan od razloga da se dobije neobrađeni niz bajtova IP adrese je određivanje tipa adrese. Testiranjem broja bajtova koje je vratio getaddress() određuje se da li se radi sa IPv4 ili IPv6 adresom Primer6 29

30 Tipovi adresa Neke adrese imaju specijalno značenje je lokalna loopback adresa IPv4 adrese iz opsega do su multicast adrese koje šalju većem broju host-ova odjednom 10 metoda za testiranje da li InetAddress objekat zadovoljava neki od kriterijuma isanylocaladdress() isloopbackaddress() islinklocaladdress() issitelocaladdress()ismulticastaddress() ismcglobal() ismcnodelocal() ismclinklocal() ismcsitelocal() ismcorglocal() 30

31 public boolean isanylocaladdress() true ako je adresa wildcard adresa, a wildcard adresa odgovara proizvoljnoj adresi na lokalnom sistemu. Ovo je važno kada sistem ima nekoliko mrežnih interfejsa (nekoliko Ethernet karti ili Ethernet kartu i wireless konekciju). Obično je ovo bitno samo na serverima i gateway-ima. U IPv4 wildcard adresa je U IPv6 je 0:0:0:0:0:0:0:0 (ili ::) 31

32 public boolean isloopbackaddress() loopback adresa se konektuje na isti računar direktno u IP sloju ne koristeći nikakav fizički hardware konektovanje na loopback adresu omogućuje testiranje i pomaže u detektovanju problema konektovanje na loopback adresu nije isto što i konektovanje na stvarnu IP adresu sa istog sistema. U IPv4 ova adresa je , a u IPv6 je 0:0:0:0:0:0:0:1 (::1) 32

33 Testing Reachability 2 metoda koja omogućuju aplikacijama da testiraju da li je određeni node dostupan tekućem host-u, tj. da li je moguće napraviti mrežnu konekciju Konekcije mogu biti blokirane iz više razloga, uključujući firewallove, proxy servere, pokvarene rutere i prekinute kablove ili jednostavno to što je udaljeni host isključen kada probamo da se konektujemo. public boolean isreachable(int timeout) throws IOException public boolean isreachable(networkinterface interface, int ttl, int timeout) throws IOException ovi metodi pokušavaju da se konektuju na echo port udaljenog host-a kako bi saznali da li je dostupan ako host odgovori za timeout milisekundi, metod vraća true izuzetak se izbacuje ako postoji mrežna greška time-to-live maksimalan broj mrežnih skokova koja konekcija pokuša pre odbacivanja local network interfejs od kog je napravljena konekcija u praksi, ovi metodi nisu vrlo pouzdani kroz globalni Internet. U lokalnom intranetu mogu se koristiti 33

34 metodi klase Object predefiniše sledeća 3 metoda public boolean equals(object o) public int hashcode() public String tostring() equals() objekat je jednak datom InetAddress objektu samo ako je i sam instanca klase InetAddress i ima istu IP adresu. Ne mora imati isti hostname primer7 34

35 public int hashcode() vraća int potreban kada se InetAddress objekti koriste kao ključevi u heš tabelama vrednost se računa samo na osnovu IP adrese, ne uzima u obzir hostname Ako dva InetAddress objekta imaju istu adresu, imaju isti hash code, čak i ako im se hostname-ovi razlikuju 35

36 public String tostring() hostname/dotted quad address nemaju svi InetAddress objekti hostname-ove. Ako neki objekat nema hostname, on se postavlja na prazan string. 36

37 Klase Inet4Address i Inet6Address final i izvedene iz InetAddress klase nisu potrebne u application sloju, gde se izvršavaju Java programi, ne moramo znati da li je adresa IPv4 ili IPv6, a čak i da moramo, brže je proveriti veličinu niza bajtova koje vrati getaddress() nego koristiti instanceof za testiranje koja potklasa je u pitanju 37

38 klasa NetworkInterface predstavlja lokalnu IP adresu to može biti fizički interfejs kao što je dodatna Ethernet karta (uobičajeno na firewall-ovima i ruterima) ili može biti virtualni interfejs vezan za fizički hardware kao što su druge IP adrese mašine ova klasa obezbeđuje metode za enumeraciju svih lokalnih adresa i kreiranje InetAddress objekata od njih ovi objekti se potom mogu koristiti za kreiranje soketa, server soketa itd. 38

39 metodi klase NetworkInterface pošto predstavljaju fizički hardware i virtualne adrese, ne mogu se proizvoljno konstruisati postoje statički metodi koji vraćaju NetworkInterface objekat pridružen određenom mrežnom interfejsu možemo dobiti NetworkInterface objekat pomoću IP adrese, imena ili enumeracije 39

40 public static NetworkInterface getbyname(string name) throws SocketException vraća NetworkInterface objekat koji predstavlja mrežni interfejs sa zadatim imenom. Ako nema interfejsa sa tim imenom, vraća null ako mrežni stek otkrije problem, izbacuje se izuzetak, ali nije puno verovatno da se to desi Format imena je platformski zavisan. Na tipičnom Unix sistemu, Ethernet interfejs imena su oblika eth0, eth1 itd. Lokalna loopback adresa se obično zove lo. Na Windows-u, imena su stringovi poput CE31 ili ELX100 izvedeni iz imena proizvođača i modela hardware-a za određeni mrežni interfejs. 40

41 public static NetworkInterface getbyinetaddress(inetaddress address) throws SocketException vraća NetworkInterface objekat koji predstavlja mrežni interfejs vezan za određenu IP adresu. Ako nema mrežnog interfejsa vezanog za tu IP adresu na lokalnom hostu, vraća null. Ako bilo šta krene naopako, izbacuje se izuzetak. primer8 41

42 public static Enumeration getnetworkinterfaces() throws SocketException vraća java.util.enumeration listu svih mrežnih interfejsa na lokalnom host-u. primer9 ignorisati broj adresa. to je broj bez značenja, ne stvarni broj IP adresa vezanih za svaki interfejs (u Java 7 taj broj se i ne prikazuje) 42

43 getter metodi kada imamo NetworkInterface objekat, možemo dobiti njegovu IP adresu i ime to je otprilike sve što sa njim možemo da radimo public Enumeration getinetaddresses() jedan mrežni interfejs može biti vezan za više od jedne IP adrese ovaj metod vraća enumeraciju koja sadrži InetAddress objekat za svaku IP adresu za koju je interfejs vezan public String getname() vraća ime određenog NetworkInterface objekta, poput eth0 ili lo public String getdisplayname() vraća čitljivije ime za određeni NetworkInterface 43

44 metodi klase Object equals(), hashcode(), tostring() NetworkInterface objekti su jednaki ako predstavljaju isti fizički mrežni interfejs (oba ukazuju na isti Ethernet port, modem ili wireless kartu) i imaju istu IP adresu. Inače su različiti NetworkInterface ne implementiraju Cloneable, Serializable ili Comparable interfejse 44

45 Neki korisni programi dva primera: jedan koji interaktivno postavlja upite domain name serveru, a drugi koji može poboljšati performanse web servera procesiranjem log fajlova offline 45

46 primer10: HostLookup konvertovanje hostname-ova u IP adrese i IP adresa u hostname-ove ima 2 moda: interaktivni i command-line ako se unese hostname u komandnu liniju, štampa se IP adresa tog host-a. ako se unese IP adresa u komandnu liniju, štampa se hostname ako u komandnoj liniji nema ni hostnamea ni IP adrese, ulazi se u interaktivni mod gde se čitaju hostname-ovi i IP adrese sa standardnog ulaza a ispisuju odgovarajuće IP adrese i hostname-ovi dok se ne unese exit. 46

47 primer 10, objašnjenja 3 metoda: main(), lookup() i ishostname() main() metod određuje ima li argumenata komandne linije ako ih ima, main() poziva lookup() za svaki od njih inače, olančava BufferedReader na InputStreamReader olančan na System.in i čita ulaz metodom readline() (ovde program čita iz konzole, ne iz mrežne konekcije) ako je linija exit, program se završava, a inače se linija prosleđuje metodu lookup() 47

48 lookup() metod koristi InetAdress.getByName() da odredi traženi host, bez obzira na format ulaza. getbyname() prihvata i ime i dotted quad address. lookup() poziva ishostname() da odredi da li je string hostname, dotted quad IPv4 adresa ili IPv6 adresa. ishostname() prvo traži dvotačke, koje ima svaka IPv6 adresa, a hostname nema. Ako nađe dvotačku, vraća false. Provera IPv4 adresa je komplikovanija jer ne sadrži nijedan karakter koji se ne može pojaviti u hostname. Metod gleda svaki karakter stringa pa ako su svi cifre i tačke, pretpostavlja da je string numerička IP adresa i vraća false. Inače, pretpostavlja da je string hostname i vraća true. Šta ako nije ni jedno ni drugo? getbyname() neće moći da ga reši pa će izbaciti izuzetak. Ako korisnik unese hostname, lookup() vraća odgovarajuću dotted quad ili heksadekadnu adresu koristeći gethostaddress(). Ako korisnik unese IP adresu, koristi se metod gethostname() za nalaženje odgovarajućeg 48 hostname-a.

49 Primer11: Processing Web Server Log Files web serveri prate koji hostovi pristupaju sajtu podrazumevano, registruju se IP adrese koje se konektuju na server međutim, često je moguće dobiti više informacija iz imena nego iz odgovarajuće IP adrese. Većina servera ima opciju da čuva hostname-ove umesto IP adresa, ali to može narušiti performanse jer server mora da traži DNS zahtev za svaku adresu. Mnogo je efikasnije logovati IP adrese i konvertovati ih u hostname-ove kasnije, kada server nije zauzet, ili čak na nekoj potpuno drugoj mašini Primer čita log fajl web servera i štampa linije u kojima je IP adresa konvertovana u hostname 49

50 The Common Log File Format Većina servera ima standardizovani format log fajla Tipična linija tog fajla izgleda ovako: unknown [17/Jun/2003:22:53: ] GET /bgs/greenbg.gif HTTP web browser na IP adresi zahteva fajl /bgs/greenbg.gif sa ovog web servera u 10:53 p.m. (i 58 sekundi) 17. juna fajl je pronađen (response code 200) i 50 bajtova podataka je uspešno preneto browser-u. 50

51 Prvo polje je IP adresa ili, ako je uključeno razrešenje DNS-a, hostname sa kog je napravljena konekcija. Za ovim sledi blanko Za naše svrhe, parsiranje log fajla je jednostavno: sve do prvog blanka je IP adresa, a sve posle toga ne treba menjati 51

52 Primer11, objašnjenja Ime fajla koji se procesuira prosleđuje se programu kao prvi argument komandne linije otvara se FileInputStream za taj fajl i na njega olančava InputStreamReader. On se baferiše olančavanjem na njega instance klase BufferedReader. Fajl se obrađuje linija po linija u while-petlji Svaki prolaz kroz petlju smešta jednu liniju u String promenljivu entry. entry se zatim deli u dva podstringa: ip koji sadrži sve pre prvog blanka therest sve nakon prvog blanka pozicija prvog blanka određuje se metodom indexof() ip se konvertuje u InetAddress koristeći getbyname() gethostname() zatim traži hostname konačno, hostname, blanko i ostatak linije se štampaju na std. izlaz 52

53 Program je efikasniji nego što bi se dalo očekivati. Većina web servera generiše višestruke unose u log fajlu za jednu stranicu, pošto postoji po unos, ne samo za stranicu, već i za svaku sliku na stranici mnogi posetioci traže veći broj strana sa sajta DNS pretrage su skupe i nema smisla tražiti svaki sajt svaki put kada se pojavi u log fajlu klasa InetAddress vrši keširanje traženih adresa. Ako se ista adresa traži ponovo, može se dohvatiti iz keša mnogo brže nego pomoću DNS-a 53

54 Primer12: Ubrzanje, thread pool Program može biti brži. obrada traje više od sekunde po unosu tačna brzina zavisi od brzine mrežne konekcije, brzine lokalnog i udaljenog DNS servera i opterećenja kada se izvršava program ogromne količine vremena program troši čekajući da se vrate zahtevi DNS-a ovo je upravo problem koji se rešava multithreadingom jedna glavna nit može čitati log fajl i prosleđivati pojedinačne unose drugim nitima na procesiranje 54

55 thread pool je ovde apsolutno neophodan za nekoliko dana čak i manje opterećeni web serveri mogu lako generisati log fajl sa stotinama hiljada linija pokušaj obrade fajla generisanjem nove niti za svaki unos nije rešenje, posebno pošto glavna nit može čitati unose mnogo brže nego što pojedinačne niti mogu razrešavati domain nameove. Dakle, reusing niti je ključna stvar. Broj niti se čuva u parametru numberofthreads tako da se može prilagoditi VM i mrežnom steku Pokretanje prevelikog broja simultanih DNS zahteva takođe može izazvati probleme 55

56 PooledWeblog klasa Program je podeljen u dve klase prva, PooledWeblog sadrži metod main() i processlogfile() takođe čuva resurse koji treba da budu deljeni od strane niti to su: pool, implementiran kao sinhronizovana LinkedList i izlazni log out implementiran kao BufferedWriter Pojedinačne niti imaju direktan pristup pool-u, ali moraju da prođu kroz metod log() kako bi pisale na izlaz. 56

57 Ključni je metod processlogfile() koji, kao i ranije, čita iz log fajla. međutim, svaki unos se smešta u pool entries umesto da se neposredno obrađuje. pošto je verovatno da se ovaj metod izvršava mnogo brže od niti koje pristupaju DNS-u, on radi yield nakon svakog unosa. Dalje, on ide da spava ako ima više unosa u pool-u nego niti koje su raspoložive za njihovo procesiranje. Količina vremena koje provede spavajući zavisi od broja niti. Kada se pročita poslednji unos, fleg finished se postavlja na true kako bi kazao nitima da mogu da umru nakon što završe svoj posao. 57

58 LookupThread klasa rukuje konvertovanjem IP adresa u hostname-ove u unosima log fajla konstruktor svakoj niti obezbeđuje referencu na pool entries iz kog uzima svoj posao i referencu na PooledWeblog objekat za koji radi druga referenca omogućava callback-ove tako da nit može upisati konvertovane unose u log fajl i proveriti da li je obrađen i poslednji unos. Ona vrši tu proveru pozivom metoda isfinished() kada je pool entries prazan (tj. veličina mu je 0) ni prazan pool ni isfinished() koji je vratio true nisu sami po sebi dovoljni. isfinished() vraća true kada se poslednji unos stavi u pool, a može proteći bar mala količina vremena dok se on iz njega ukloni. entries može biti prazan iako ima još mnogo unosa koje treba pročitati ako pojedinačne niti odrade posao brže nego što glavna nit čita log fajl Na ovaj način, korišćenjem niti, postižu se ogromne uštede u vremenu 10 do 50 puta brže od sekvencijalne verzije programa najveća mana: reorganizacija log fajla (nije nužno isti redosled unosa) 58

PowerPoint Presentation

PowerPoint Presentation УВОД Дa би рaчунaри нa мрежи могли међусобно да кoмуницирaју и рaзмeњују пoдaткe, пoтрeбнo je: дa сe увeду ПРOТOКOЛИ (утврђeна прaвилa и процедуре за комуникацију) да постоје АДРEСE кoje су jeдинствeнe

Више

Računarske mreže Čas 2 Ivana Tanasijević Matematički fakultet, Beograd 1

Računarske mreže Čas 2 Ivana Tanasijević   Matematički fakultet, Beograd 1 Računarske mreže Čas 2 Ivana Tanasijević e-mail: ivana@matf.bg.ac.rs Matematički fakultet, Beograd 1 Utvrđivanje gradiva sa prethodnog časa: popunjavanje adresne strukture, kreiranje soketa, privezivanje

Више

Mrežno računarstvo

Mrežno računarstvo MREŽNO RAČUNARSTVO Soketi za servere (iz glave 9,10 u 4. izdanju) 1 Soketi za servere klijenti programi koji otvaraju soket do servera koji osluškuje konekcije klijentski soketi nisu dovoljni klijenti

Више

Mrežno računarstvo

Mrežno računarstvo MREŽNO RAČUNARSTVO Soketi za klijente (iz 8. poglavlja u 4. izdanju) 1 Soketi za klijente podaci se šalju preko Interneta u paketima ograničene veličine, koji se nazivaju datagram-ima datagram ima header

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Niz (array) Nizovi Niz je lista elemenata istog tipa sa zajedničkim imenom. Redosled elemenata u nizovnoj strukturi je bitan. Konkretnom elementu niza pristupa se preko zajedničkog imena niza i konkretne

Више

UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke o

UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke o UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke od tih jezičkih razlika su: Java kod se prevodi u.class

Више

Microsoft PowerPoint - JavaP9_2019

Microsoft PowerPoint - JavaP9_2019 Programski jezik JAVA PREDAVANJE 9 2019 www.etf.ac.me Datoteke u Javi U paketu java.io nalaze se klase za rad sa datotekama i direktorijumima. Funkcionalnost koju omogućavaju te klase sastoji se od kreiranja,

Више

Повезивање са интернетом

Повезивање са интернетом Драгана Стопић Интернет Интернет је најпознатија и највећа светска мрежа која повезује рачунаре и рачунарске мреже у једну мрежу, у циљу сарадње и преноса информација употребом заједничких стандарда. INTERnational

Више

PowerPoint Presentation

PowerPoint Presentation Java konkurentno programiranje Životni ciklus niti i problemi sinhronizacije resursa Multitasking Multithreading Životni ciklus niti http://www.roseindia.net/java/thread/lifecycle-of-threads.shtml Životni

Више

PowerPoint Presentation

PowerPoint Presentation TRANSPORTNI SLOJ Predmet: Aktivni mrežni uređaji Predavač: dr Dušan Stefanović ENKAPSULACIJA DATA SEGMENT S.P / D.P. / S.N. / Ack # / DATA IPv / HLEN / Flag / S. IP / D. IP / PACKET DATA (SEGMENT) Frame

Више

Funkcije predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić Funkcije predavač: Nadežda Jakšić funkcije delovi programa koji izvršavaju neki zadatak, celinu; dele na ugrađene, korisničke i main funkciju ugrađene funkcije printf,scanf... da bi se one izvršile potrebno

Више

Slide 1

Slide 1 Funkcionalno programiranje Interoperabilnost jezika Scala i Java, 2019. Prevođenje u Java bajt kod Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući

Више

Повезивање са интернетом

Повезивање са интернетом Драгана Стопић Сваки рачунар на интернету има своју адресу која је јединствена у свету. Ове адресе се називају IP адресе јер их користи IP протокол (интернет ниво) из фамилије TCP/IP. IP адресе представљају

Више

R u z v e l t o v a 5 5, B e o g r a d, t e l : ( ) , m a i l : c o n t a c p s i t. r s, w w w. p s i t. r s

R u z v e l t o v a 5 5, B e o g r a d, t e l : ( ) , m a i l : c o n t a c p s i t. r s, w w w. p s i t. r s UPUTSTVO ZA BRZO UMREŽAVANJE PROGRAMA MPP2 Da bi program MPP2 radio u mrežnom okruženju po sistemu klijent-server, potrebno je da se na računarima koji su mrežno povezani instalira: serverska verzija programa

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Obeležene petlje Obeležene petlje Obeležavanje petlje nekim identifikatorom omogućava da se programski tok usmeri na mesto u programu specificirano tim identifikatorom. Ako se iza naredbi break ili continue

Више

POSLOVNI INFORMACIONI SISTEMI I RA^UNARSKE

POSLOVNI INFORMACIONI SISTEMI  I RA^UNARSKE ZNAČAJ RAČUNARSKIH KOMUNIKACIJA U BANKARSKOM POSLOVANJU RAČUNARSKE MREŽE Računarske mreže su nastale kombinacijom računara i telekomunikacija dve tehnologije sa veoma različitom tradicijom i istorijom.

Више

Microsoft PowerPoint - 06 Uvod u racunarske mreze.ppt

Microsoft PowerPoint - 06 Uvod u racunarske mreze.ppt Uvod u računarske mreže v.as.mr. Samir Lemeš slemes@mf.unze.ba Univerzitet u Zenici - 2008 Uvod u računarske mreže Terminologija Primjer povezivanja dva računara Pojam protokola OSI referentni model Protokoli

Више

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Brkić SI 29/15 Zrenjanin 2018. Softversko inženjerstvo

Више

PowerPoint Presentation

PowerPoint Presentation Visoka škola strukovnih studija za informacione i komunikacione tehnologije MVC - Modeli Školska 2017/18. Dr Nenad Kojić, dipl. inž. Luka Lukić, struk. inž. Danijela Nikitin, spec.stuk.inž MVC.htaccess

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra

Више

Microsoft PowerPoint - vezbe 4. Merenja u telekomunikacionim mrežama

Microsoft PowerPoint - vezbe 4. Merenja u telekomunikacionim mrežama Merenja u telekomunikacionim mrežama Merenja telefonskog saobraćaja Primer 1 - TCBH Na osnovu najviših vrednosti intenziteta saobraćaja datih za 20 mernih dana (tabela), pomoću metode TCBH, pronaći čas

Више

Microsoft Word - MySQL_3.doc

Microsoft Word - MySQL_3.doc 7. Data Manipulation Language (DML) Jezik za rad sa podacima (Data Manipulation Language (DML)) služi za umetanje, brisanje i ažuriranje podataka u bazi. 7.1. Umetanje novih redova u tabelu INSERT sintaksa

Више

P11.3 Analiza zivotnog veka, Graf smetnji

P11.3 Analiza zivotnog veka, Graf smetnji Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи

Више

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode] Programski jezik C organizacija izvornog programa Prevođenje Pisanje programa izvorni program Prevođenje programa izvršni program Izvršavanje programa rezultat Faze prevođenja Pretprocesiranje Kompilacija

Више

Računarski praktikum I - Vježbe 09 - this, static

Računarski praktikum I - Vježbe 09 - this, static Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 09 - this, static v2018/2019. Sastavio: Zvonimir Bujanović Pokazivač this Kako funkcija članica

Више

ZIS

ZIS DIGITALNA FORENZIKA prof. dr Saša Adamović sadamovic@singidunum.ac.rs Forenzička istraga operativnih sistema Operativni sistem Pruža softversku platformu za pokretanje drugih programa. OS je odgovoran

Више

DIGITALNA OBRADA SLIKE

DIGITALNA OBRADA SLIKE PRAKTIKUM IZ RAČUNARA - OSNOVI MREŽNE KOMUNIKACIJE - Transportni sloj Transportni sloj je zadužen da omogući prenos podataka između dva korisnička procesa koji se nalaze na udaljenim računarima. Zbog toga

Више

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1.

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1. I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz 3 2 1 4 5 14 Analiza: 1. Odredimo zbir svih 5 unesenih brojeva (i sačuvamo u

Више

Rad u mrežnom okruženju Osnove informatike s primjenom računala

Rad u mrežnom okruženju Osnove informatike s primjenom računala Rad u mrežnom okruženju DHCP 1/2 DHCP (Dynamic Host Configuration Protocol) je mrežni protokol koji omogućava automatiziranu dodjelu IP adresa računalu prema parametrima kao što su: mrežna maska koja će

Више

Funkcije predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić Funkcije predavač: Nadežda Jakšić do sada su korišćene "gotove" funkcije iz standardnih biblioteka (cin, cout...) one su pozivane iz main funkcije koja je glavna funkcija u programu jer izvršavanje programa

Више

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstrirana upotreba konstruktora, svojstava, metoda klase,

Више

Uvod u Python

Uvod u Python Uvod u mrežno programiranje Slavica Tomović (slavicat@ucg.ac.me) Elektrotehnički fakultet, Podgorica Univerzitet Crne Gore 2 Programiranje soketa cilj: naučiti kako se razvijaju klijent/server aplikacije

Више

Microsoft Word - DNS_DHCP.doc

Microsoft Word - DNS_DHCP.doc DNS Domain Name System DNS sadrži kopije tekstualnih adresa i njihove 32-bitne prezentacije Svaki sajt izvršava protokol koji pristupa distributivnoj bazi podataka poznatoj kao Domain Name System Bez DNS-a,

Више

PowerPoint Presentation

PowerPoint Presentation Visoka škola strukovnih studija za informacione i komunikacione tehnologije Grupisanje ruta i patterni Školska 2017/18. Dr Nenad Kojić, dipl. inž. Luka Lukić, struk. inž. Danijela Nikitin, spec.stuk.inž

Више

Упутство за пријављивање испита путем интернета Да би студент могао да пријави испит путем интернета мора прво да се пријави. Пријављивање се врши у п

Упутство за пријављивање испита путем интернета Да би студент могао да пријави испит путем интернета мора прво да се пријави. Пријављивање се врши у п Упутство за пријављивање испита путем интернета Да би студент могао да пријави испит путем интернета мора прво да се пријави. Пријављивање се врши у посебном дијалог-прозору до кога се долази линком есервис

Више

Slide 1

Slide 1 Web site development using MCMS 2002 Koncept Autori: Multiautorsko okruženje sa podijeljenim ulogama Autori ne moraju imati tehnička predznanja Veza sa MicrosoftWord Developeri: Integracija sa VS.NET Integracija

Више

Biz web hosting

Biz web hosting BIZ WEB HOSTING KORISNIČKO UPUTSTVO WWW.OBLACI.RS SADRŽAJ PRISTUP KORISNIČKOM PORTALU... 2 KUPOVINA BIZ WEB HOSTING SERVISA... 4 PRISTUP PLESK WEB KONTROLNOM PANELU... 14 PORTALI I DOMENI... 14 FAJL MENADŽER...

Више

Microsoft PowerPoint - 07-DinamickeStrukturePodataka

Microsoft PowerPoint - 07-DinamickeStrukturePodataka Динамичке структуре података листа, стек, ред Програмирање 2: глава 6 Динамичке структуре података Динамичка алокација и динамичке структуре података Најзначајније динамичке структуре података листе и

Више

Programski jezik C

Programski jezik C SPR, 2016 Rad sa datotekama Komunikacija sa OS Rad sa datotekama Vrste datoteka Otvaranje / zatvaranje datoteka Pristup datotekama za upis / čitanje Funkcije za rad sa datotekama Ulazno / izlazni tokovi

Више

Орт колоквијум

Орт колоквијум II колоквијум из Основа рачунарске технике I - 27/28 (.6.28.) Р е ш е њ е Задатак На улазе x, x 2, x 3, x 4 комбинационе мреже, са излазом z, долази четворобитни BCD број. Ако број са улаза при дељењу

Више

OpenDNS Family Shield CERT.hr-PUBDOC

OpenDNS Family Shield CERT.hr-PUBDOC OpenDNS Family Shield CERT.hr-PUBDOC-2019-6-381 Sadržaj 1 UVOD... 3 2 INSTALACIJA USLUGE OPENDNS FAMILY SHIELD... 5 2.1 KONFIGURACIJA NA OPERACIJSKOM SUSTAVU WINDOWS 10... 5 2.2 KONFIGURACIJA NA KUĆNOM/UREDSKOM

Више

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc Konstrukcija i analiza algoritama 2 (prvi kolokvijum, smer R) 1. a) Konstruisati AVL stablo od brojeva 100, 132, 134, 170, 180, 112, 188, 184, 181, 165 (2 poena) b) Konkatenacija je operacija nad dva skupa

Више

Microsoft Word - Uputstvo za upotrebu studentskih servisa.doc

Microsoft Word - Uputstvo za upotrebu studentskih servisa.doc Упутство за пријаву на студентске сервисе и пријаву испита Адреса на којој се налазе студенски сервиси је https://student.vps.ns.ac.rs/ У питању је интернет страница заштићена SSL 3.0 протоколом који изискује

Више

Глава 7, URL, наставак презентације 7.2 Класе URLEncoder и URLDecoder Карактери у URL-овима могу бити: - велика и мала слова енглеске абецеде А-Z, a-z

Глава 7, URL, наставак презентације 7.2 Класе URLEncoder и URLDecoder Карактери у URL-овима могу бити: - велика и мала слова енглеске абецеде А-Z, a-z Глава 7, URL, наставак презентације 7.2 Класе URLEncoder и URLDecoder Карактери у URL-овима могу бити: - велика и мала слова енглеске абецеде А-Z, a-z - цифре 0-9 - знаци интерпункције - _.! ~ * ' ( )

Више

Microsoft Word - 11 Pokazivaci

Microsoft Word - 11 Pokazivaci Pokazivači U dosadašnjem radu smo imali prilike da koristimo promenljive koje smo deklarisali na početku nekog bloka. Prilikom deklaracije promenljiva dobija jedinstveni naziv i odgovarajući prostor u

Више

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode] OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 5 OBJEKTI U INTERAKCIJI Miloš Kovačević Đorđe Nedeljković 1 /25 OSNOVNI KONCEPTI - Abstrakcija - Modularizacija - Objektne reference - Klasni dijagram - Objektni

Више

sv-lncs

sv-lncs Стручни рад UDK:621.3.015.53:004.771:004.455.2 BIBLID:0350-8528(2018),28.p.59-66 doi:10.5937/zeint28-19605 Израда централизоване серверске маске за мрежну комуникацију и контролу уређаја за мониторинг

Више

DIGITALNA OBRADA SLIKE

DIGITALNA OBRADA SLIKE PRAKTIKUM IZ RAČUNARA - OSNOVI MREŽNE KOMUNIKACIJE - Organizacija kursa Predavanja: sreda 10-12, sala 1 Lola neparnim nedeljama Lab: sreda 10-12, sala 70 parnim nedeljama 4 lab vežbe Sajt: tnt.etf.rs/~oe4pir

Више

Microsoft Word - Uputstvo za upotrebu studentskih servisa.doc

Microsoft Word - Uputstvo za upotrebu studentskih servisa.doc Упутство за пријаву на студентске сервисе и пријаву испита Адреса на којој се налазе студенски сервиси је https://student.unibl.org У питању је интернет страница заштићена SSL 3.0 протоколом који изискује

Више

PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji

PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji podrška za IBM DB2, Oracle, Ingres, MySQL, PostgreSQL,

Више

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode] Организација извршног програма (Марић, Јаничић: Програмирање 1, 9.3.3) Извршавање програма После успешног превођења (претпроцесирања, компилације, повезивања) програм може да се изврши Извршавање се захтева

Више

Препоруке безбедности мрежних сервиса Copyright 2015 АМРЕС

Препоруке безбедности мрежних сервиса Copyright 2015 АМРЕС Copyright 2015 АМРЕС Историја верзија документа Верзија Датум Иницијали аутора Опис промене 1.0 2009. год Душан Пајин (РЦУБ), Ратко Бучић (ЈУНИС), Владимир Илић (АРМУНС) Прва верзија документа у оквиру

Више

08 RSA1

08 RSA1 Преглед ЗАШТИТА ПОДАТАКА Шифровање јавним кључем и хеш функције RSA алгоритам Биће објашњено: RSA алгоритам алгоритам прорачунски аспекти ефикасност коришћењем јавног кључа генерисање кључа сигурност проблем

Више

PowerPoint Presentation

PowerPoint Presentation Fakultet za kompjuterske nauke, Univerzitet Megatrend Uvod u računarske sisteme Odabrana poglavlja iz računarskih mreža Nemanja Maček 1 Sadržaj Uvodne napomene ISO OSI referentni model TCP/IP skup protokola

Више

Primenjeno programiranje - vezbe GUI i baze podataka

Primenjeno programiranje - vezbe GUI i baze podataka Primenjeno programiranje - Vežbe Java i NetBeans IDE 6.5 Kreiranje korisničkog interfejsa Primer jednostavne aplikacije: 1. Odabrati opciju File > New Project 2. Meñu kategorijama odabrati Java i podkategoriju

Више

УПУТСТВО ЗА КОРИСНИКА Приступ локацији часописа Српски архив за целокупно лекарство добија се преко internet adrese: Након

УПУТСТВО ЗА КОРИСНИКА Приступ локацији часописа Српски архив за целокупно лекарство добија се преко internet adrese:   Након УПУТСТВО ЗА КОРИСНИКА Приступ локацији часописа Српски архив за целокупно лекарство добија се преко internet adrese: http://www.srpskiarhiv.rs/ Након тога се на екрану појављује форма за пријаву на часопис

Више

COMARC/A Format

COMARC/A Format COMARC/A 856 856 ELEKTRONSKA LOKACIJA I PRISTUP Polje možemo da koristimo u normativnim zapisima za obezbeđivanje dodatnih (elektronskih) informacija o entitetu za koji je zapis kreiran. Polje sadrži podatke

Више

Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности подата

Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности подата Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности података и операције над њима Дефиниција класе садржи само

Више

Програмирај!

Програмирај! Листе Поред појединачних вредности исказаних бројем или ниском карактера, често је потребно забележити већи скуп вредности које су на неки начин повезане, као, на пример, имена у списку путника у неком

Више

Microsoft PowerPoint - 1. Zend_1 - Instalacija frameworka

Microsoft PowerPoint - 1. Zend_1 - Instalacija frameworka Instalacija Zend framework-a Preuzimanje framework-a Sa zvaničnog sajta Zend-a, preuzeti jednu od verzija framework-a (sada koristiti verziju 1.12.0 ) http://framework.zend.com/downloads/latest Raspakivanje

Више

Računarske mreže i mrežne tehnologije 10. termin 1. TRANSPORTNI SLOJ Transportni sloj nije još samo jedan od mnogih slojeva jer je njegova uloga sama

Računarske mreže i mrežne tehnologije 10. termin 1. TRANSPORTNI SLOJ Transportni sloj nije još samo jedan od mnogih slojeva jer je njegova uloga sama Računarske mreže i mrežne tehnologije 10. termin 1. TRANSPORTNI SLOJ Transportni sloj nije još samo jedan od mnogih slojeva jer je njegova uloga sama srž hijerarhije protokola. On treba da obezbedi pouzdan

Више

Microsoft PowerPoint - 6. CMS [Compatibility Mode]

Microsoft PowerPoint - 6. CMS [Compatibility Mode] Visoka škola strukovnih studija za informacione i komunikacione tehnologije Beograd WEB TEHNOLOGIJE Drupal CMS(Content Managment System) Školska 2012/13. Marko M. Spasojević, spec. inž. Dr Nenad Kojić,

Више

PuTTY CERT.hr-PUBDOC

PuTTY CERT.hr-PUBDOC PuTTY CERT.hr-PUBDOC-2018-12-371 Sadržaj 1 UVOD... 3 2 INSTALACIJA ALATA PUTTY... 4 3 KORIŠTENJE ALATA PUTTY... 7 3.1 POVEZIVANJE S UDALJENIM RAČUNALOM... 7 3.2 POHRANA PROFILA KORISNIČKIH SJEDNICA...

Више

Microsoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode]

Microsoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode] Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 03 Zvonimir Bujanović Slaven Kožić Vinko Petričević Mrežno programiranje: SocketAPI Programiramo u aplikacijskom sloju, za ostale se brinu

Више

KATALOG ZNANJA IZ INFORMATIKE

KATALOG ZNANJA IZ INFORMATIKE KATALOG ZNANJA IZ INFORMATIKE Nacionalni savjet za obrazovanje je na 27. sjednici održanoj 17. marta 2014. godine utvrdio izmjene predmetnoga programa INFORMATIKA za I razred gimnazije. Na zahtijev Pedagoško-psihološke

Више

JMBAG Ime i Prezime Mreže računala Završni ispit 16. veljače Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter.

JMBAG Ime i Prezime Mreže računala Završni ispit 16. veljače Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Mreže računala Završni ispit Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Predajete samo papire koje ste dobili. Rezultati, uvid u ispit i upis ocjena:... Zadatak

Више

Увод у организацију и архитектуру рачунара 1

Увод у организацију и архитектуру рачунара 1 Увод у организацију и архитектуру рачунара 2 Александар Картељ kartelj@matf.bg.ac.rs Напомена: садржај ових слајдова је преузет од проф. Саше Малкова Увод у организацију и архитектуру рачунара 2 1 Секвенцијалне

Више

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, 5.06.019. godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekstenzija se najčešće koristi za tekstualne datoteke? a)

Више

R u z v e l t o v a 5 5, B e o g r a d, t e l : , e - m a i l : p r o d a j p s i t. r s, w w w. p s i t. r s

R u z v e l t o v a 5 5, B e o g r a d, t e l : , e - m a i l : p r o d a j p s i t. r s, w w w. p s i t. r s R u z v e l t o v a 5 5, 1 1 0 0 0 B e o g r a d, t e l : + 3 8 1 0 1 1 7 8 5 0 3 6 1, e - m a i l : p r o d a j a @ p s i t. r s, w w w. p s i t. r s Instalacija izmena i dopuna programa MPP2 Izmene i

Више

Microsoft PowerPoint - 14 ISP.ppt

Microsoft PowerPoint - 14 ISP.ppt ISP v.as.mr. Samir Lemeš slemes@mf.unze.ba Univerzitet u Zenici - 2009 ISP ISP Dial-up ISDN DSL Wireless Kablovski Internet Veliki korisnici Proxy 1 ISP Internet Service Provider Firma koja pruža usluge

Више

User's Manual

User's Manual WEB aplikacija za korisnike prava ERC ZIPO razvojni tim: Delila Bećiragić Duraković Emir Cerić 30.04.2013. Revizija dokumenta Revizijski protokol Autor Datum Opis revizije Delila B. 12.04.2012 Draft verzija

Више

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan realan broj od 0 i 1. Na standardni izlaz ispisati

Више

PROMENLJIVE, TIPOVI PROMENLJIVIH

PROMENLJIVE, TIPOVI PROMENLJIVIH PROMENLJIVE, TIPOVI PROMENLJIVIH Šta je promenljiva? To je objekat jezika koji ima ime i kome se mogu dodeljivati vrednosti. Svakoj promenljivoj se dodeljuje registar (memorijska lokacija) operativne memorije

Више

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode]

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode] Osnove programiranja Funkcije - Metode http://www.introprogramming.info/english-intro-csharp-book/read-online/ Sadržaj Funkcije Metode Definisanje Pozivanje Povratne vrednosti Parametri Metode (1) Metoda

Више

Slide 1

Slide 1 predmet Inženjerska informatika Operativni sistem dr Anica Milošević Koji operativni sistemi postoje? Microsoft Windows Linux Suse Red Hat Ubuntu Unix 26.1.2018. 2 Šta je Windows operativni sistem? Operativni

Више

OVO JE ZVANIČAN RCUB TEMPLATE: Normal

OVO JE ZVANIČAN RCUB TEMPLATE: Normal Korisničko uputstvo za instalaciju i podešavanje securew2 programa za pristup eduroam servisu Termin supplicant se koristi u IEEE 802.1X standardu. U širem značenju, ovaj termin predstavlja entitet (korisnik

Више

Microsoft PowerPoint - 01 Uvod u operativne sisteme.ppt

Microsoft PowerPoint - 01 Uvod u operativne sisteme.ppt Uvod u operativne sisteme v.as.mr. Samir Lemeš slemes@mf.unze.ba Univerzitet u Zenici 2009 Operativni sistemi i mreže: način realizacije vježbi Tokom semestra 3 periodična testa (Operativni sistemi, Mrežni

Више

PHP kod

PHP kod PHP kod Fajl test.txt kreiran u Notepad-u Ugrađene funkcije u php-u fopen() otvara datoteku fclose() zatvara datoteku Primjer pokazuje kako se može najprije otvariti datoteka "test.txt" za čitanje, zatim

Више

Računarski praktikum I - Vježbe 07 - Podstrukture, const, reference

Računarski praktikum I - Vježbe 07 - Podstrukture, const, reference Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 07 - Podstrukture, const, reference v2018/2019. Sastavio: Zvonimir Bujanović Podstrukture Član

Више

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić projektni zadatak projektovanje programa (algoritmi) pisanje programskog koda, izvorni kod,

Више

УПУТСТВО ЗА КОРИСНИКА Приступ локацији часописа Српски архив за целокупно лекарство добија се преко internet adrese: Након

УПУТСТВО ЗА КОРИСНИКА Приступ локацији часописа Српски архив за целокупно лекарство добија се преко internet adrese:   Након УПУТСТВО ЗА КОРИСНИКА Приступ локацији часописа Српски архив за целокупно лекарство добија се преко internet adrese: http://www.srpskiarhiv.rs/ Након тога се на екрану појављује форма за пријаву на часопис

Више

Recuva CERT.hr-PUBDOC

Recuva CERT.hr-PUBDOC Recuva CERT.hr-PUBDOC-2019-5-379 Sadržaj 1 UVOD... 3 2 INSTALACIJA ALATA RECUVA... 4 3 KORIŠTENJE ALATA RECUVA... 7 4 ZAKLJUČAK... 13 Ovaj dokument izradio je Laboratorij za sustave i signale Zavoda za

Више

UPUTSTVO ZA PODEŠAVANJE MOBILNIH UREĐAJA ZA MMS

UPUTSTVO ZA PODEŠAVANJE MOBILNIH UREĐAJA ZA MMS UPUTSTVO ZA PODEŠAVANJE MOBILNIH UREĐAJA ZA MMS Sadržaj AUTOMATSKO PODEŠAVANJE... 3 PODEŠAVANJE PUTEM MTS VODIČA... 3 PODEŠAVANJE PUTEM SMS PORUKE... 3 PODEŠAVANJE PUTEM USSD MENIJA... 3 MANUELNO PODEŠAVANJE

Више

Primenjeno programiranje - Vežbe

Primenjeno programiranje - Vežbe VISOKA POSLOVNA ŠKOLA STRUKOVNIH STUDIJA NOVI SAD Primena integrisanih razvojnih alata Java i NetBeans IDE 7.0 vežba 9 i 10 Kreiranje desktop aplikacije sa konekcijom na bazu Pokrenuti NetBeans, u kartici

Више

Дистрибуирани софтверски системи Технички факултет "Михајло Пупин" Зрењанин, Универзитет у Новом Саду Практикум за лабораторијске вежбе #07 [нерецензи

Дистрибуирани софтверски системи Технички факултет Михајло Пупин Зрењанин, Универзитет у Новом Саду Практикум за лабораторијске вежбе #07 [нерецензи Генерисање одзива на Веб серверу У овој вежби су обрађене следеће теме: 1. Редирекција корисника на одређену Веб страницу помоћу сервлета. Редирекција се врши помоћу методе sendredirect из HttpServletResponse.

Више

IEP - Projekat 2018/2019

IEP - Projekat 2018/2019 Elektrotehnički fakultet u Beogradu Katedra za računarsku tehniku i informatiku Predmet: Infrastruktura za elektronsko poslovanje SI3IEP Veb portal za tehničku podršku - projekat - Osnovni cilj projekta

Више

Introduction to Programming

Introduction to  Programming SQL Indeksi Uloga Indeksa o Kako baza postaje sve veća dizajn baze postaje sve važniji o Indeksi igraju značajnu ulogu u brzini rada same baze jer pomažu DBMS da brže pronađe ono što tražimo o Slični su

Више

Microsoft Word - IP_Tables_programski_alat.doc

Microsoft Word - IP_Tables_programski_alat.doc 1. IP Tables alat (pregled naredbi) 1.1. Osnovne IP Tables naredbe za filtriranje paketa U ovom poglavlju opisane su osnovne IP Tables naredbe korištene za filtriranje paketa. S programskim paketom IP

Више

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode] Osnove programiranja Funkcije - Metode Prenos parametara Po vrednosti Po referenci Po izlazu Sadržaj Opseg važenja promenljive u drugim strukturama Rekurzije Prenos parametara Metoda može vratiti isključivo

Више

Писање и превођење модула

Писање и превођење модула Писање и превођење модула ЦИЉ Научити како се пишу и преводе модули. ИСХОД Након ове вежбе ћете моћи да: Напишете кернел модул са неколико могућности, укључујући параметре Приступите кернелу из вашег модула

Више

Microsoft Word - IWT0906R.doc

Microsoft Word - IWT0906R.doc Elektronski fakultet Katedra za elektroniku Predmet: Internet i Web tehnologije Smer: Multimedijalne tehnologije 30.09.2006. TEST PITANJA i ZADACI 1. (5 poena) Komunikacioni protokol je skup pravila koja

Више

Generated by Foxit PDF Creator Foxit Software For evaluation only. Operativni sistem U računarstvu, operativni sistem (OS

Generated by Foxit PDF Creator Foxit Software   For evaluation only. Operativni sistem U računarstvu, operativni sistem (OS Operativni sistem U računarstvu, operativni sistem (OS) je kompleksan programski sistem koji kontroliše i upravlja uređajima i računarskim komponentama i obavljanje osnovne sistemske radnje. Operativni

Више

4 dan - DWeb

4 dan - DWeb Data Webhouse (Document-Driven DSS) DW 1 Namena data warehouse sistema je da transformiše podatke dobijene iz postojećeg transakcionog sistema, u oblik pogodan za sprovoñenje analiza i obradu nekim od

Више

06 Poverljivost simetricnih algoritama1

06 Poverljivost simetricnih algoritama1 ЗАШТИТА ПОДАТАКА Симетрични алгоритми заштите поверљивост симетричних алгоритама Преглед биће објашњено: коришћење симетричних алгоритама заштите како би се заштитила поверљивост потреба за добрим системом

Више

LAB PRAKTIKUM OR1 _ETR_

LAB PRAKTIKUM OR1 _ETR_ UNIVERZITET CRNE GORE ELEKTROTEHNIČKI FAKULTET STUDIJSKI PROGRAM: ELEKTRONIKA, TELEKOMUNIKACIJE I RAČUNARI PREDMET: OSNOVE RAČUNARSTVA 1 FOND ČASOVA: 2+1+1 LABORATORIJSKA VJEŽBA BROJ 1 NAZIV: REALIZACIJA

Више

NAPOMENA: Studenti na ispit donose kod urađenog zadatka

NAPOMENA: Studenti na ispit donose kod urađenog zadatka Пројекат из предмета Интернет програмирање за августовски и септембарски испитни рок школске 2018/19. године Коришћењем PHP технологије, технологије AJAX и MySQL базе података, реализовати следећу веб

Више

Uputstvo za upotrebu studentskih servisa - gef

Uputstvo za upotrebu studentskih servisa - gef Упутство за пријаву на студентске сервисе и пријаву испита Адреса на којој се налазе студенски сервиси је https://student.gef.bg.ac.rs У питању је интернет страница заштићена SSL 3.0 протоколом који изискује

Више

UPUTSTVO ZA KRETANJE KROZ EON KORISNIČKI INTERFEJS 1

UPUTSTVO ZA KRETANJE KROZ EON KORISNIČKI INTERFEJS 1 1 Dobrodošli u EON svijet! SADRŽAJ: 1. EON korisnički interfejs...3 1.1 Početna...3 1.2 Kanali...3 1.2.1 Upravo na TV-u...3 1.2.2 TV kanali...4 1.2.3 Radio kanali...4 1.3 Video klub...5 1.4 Moji sadržaji...5

Више

Apache Maven Bojan Tomić

Apache Maven Bojan Tomić Bojan Tomić tomicb@fon.rs Kako se pravi Java projekat (build) Osnovni koraci (skraćena procedura bez testiranja) 1)Preuzimanje *.java fajlova sa početne destinacije (obično src folder) 2)Preuzimanje odgovarajućih

Више