Académique Documents
Professionnel Documents
Culture Documents
DEF: Stil arhitekture opisuje komponente, njihove meu-veze, puteve podataka i kako su
konfigurisane u jedan DS
3. ta je servis/server?
DEF: Server je proces koji implementira odreeni servis za neki skup klijenata
Iterativni server sastoji se od jednog procesa koji redom opsluuje sve klijentske zahteve
Konkurentni server obradu zahteva klijenata prosleuje posebnim nitima ili procesima
4. ta je endpoint?
Endpoint opisuje taku pristupa preko koje klijenti komuniciraju sa serverom
5. Endpoint vs superserver?
Pristupi za reavanje problema nalaenja servera:
Endpoint server lako dostupan na poznatom endpointu, klijentima prua uslugu nalaenja
traenih servisa, tj. njihovih endpoint-a
Superserver jedan proces koji oslukuje na svim konfigurisanim endpointima, na zahtev
klijenta fork-uje eljeni proces (fork = kreiranje novog procesa za obradu zahteva)
2. OSI vs TCP/IP?
Slinosti:
Sastoje se od slojeva
Imaju aplikativni sloj
Imaju prenosne i mrene slojeve
Razlike:
TCP/IP kombinuje gornja tri OSI sloja u svoj aplikativni
TCP/IP kombinuje donja dva OSI sloja u svoj pristupni sloj
TCP/IP jednostavniji zbog manjeg broja slojeva
UDP ne garantuje isporuku kod TCP/IP kod OSI prenosnog sloja je to uvek garantovano
7. Streaming?
U sistemima gde je pravovremena isporuka poruka od veeg znaaja od isporuke kompletnih
informacija se primenjuje data streaming(audio, video). esto korien(i) protokol(i) za
streaming: Real-time Transport Protocol (RTP)
Out-of-band upravljanje i nadzor preko RTP Control Protocol (RTCP)
Sinhronizacija
1. ta je sinhronizacija?
DEF: Sinhronizacija je vid koordinacije dogaaja u sistemu i omoguava neometanu saradnju
inioca sistema
DEF: Sinhronizacija omoguava da vie procesa dogovore redosled korienja deljenog
resursa (npr. tampa). Tipovi sinhronizacije:
Na osnovu apsolutnog vremena
Na osnovu relativnog redosleda dogaaja
3. Vreme i raunari?
Raunari sadre brojae (engl. timer) bazirane na upotrebi precizno obraenih kristala koji
osciluju. Broja sadri dva registra:
Counter, tj. registar brojaa broj oscilacija od poslednjeg reseta brojaa
Holding register (registar broja oscilacija) unapred podeena konstantna vrednost
Raunari sadre CMOS sa baterijom pa brojai rade i kad se iskljue iz struje. Zbog malih
razlika u oscilacijama kristala, sekunda ne mora da traje isto na dva razliita raunara.
5. Logiki asovnik?
Logiki asovnik omoguava odreivanje redosleda dogaaja u DS na kojem moze isto da se
bazira sinhronizacija. Jedan primer logikog asovnika je Lamport-ov. Dva procesa koja ne
komuniciraju ne mogu imati sinhronizovane Lamportove asovnike.
7. Izbor koordinatora?
Mnogi DS zahtevaju postojanje koordinatora ili drugog tipa vora specijalne namene. Zadatak
algoritama za izbor koordinatora je da dodele specijalne role vorovima koji su inherentno
ravnopravni u DS. Pretpostavka ovih algoritama je da svaki proces poznaje identifikatore
drugih procesa.
Bully algoritam - Proces A pokree izbor kad primeti da koordinator K ne odgovara na
zahteve. Proces A alje poruku o izboru svim procesima sa veim identifikatorom. Ako niko
ne odgovori, onda proces A dobija izbore i postaje koordinator. Ako poruku o izboru dobije
proces B, koji ima vei identifikator od A, onda vraa OK i dobija izbore.
Ako se u DS pokrene novi proces, onda on pokree izbore, koje dobija ako ima najvei
identifikator.
Algoritam prstena Procesi su sortirani i formiraju prsten(bez tokena). Proces A pokree
izbor kad primeti da koordinator K ne odgovara na zahteve. Proces A kreira poruku IZBOR i
prosleuje je sledeem voru. Ako se sledei proces B ne izvrava, onda se preskae. Svaki
proces koji se izvrava dodaje svoj identifikator u poruku IZBOR, praktino nominujui sebe.
Kada se izborna poruka vrati u proces A, selektuje se proces sa najveim identifikatorom,
tip poruke se menja na KOORDINATOR i ponovo se alje samo onim vorovima koji su se
nominovali u prvom krugu izbora.
Konzistencija i replikacija
5. Tipovi replika?
Stalne (permanentne) replike - ine poetni skup replika u distribuiranom skladitu
podataka(ima ih malo). Replike locirane na istoj geografskoj lokaciji (cluster) i replike locirane
na veem geografskom prostoru (mirroring)
Server inicirane replike - prave se dinamiki na inicijativu vlasnika skladita podataka.
Smanjenje optereenja servera. Migracija podataka blizu klijentima u skladu sa optereenjem
Klijent inicirane replike - kopije se prave dinamiki na inicijativu klijenta (ke (client cache)).
Nalazi se na pojedinanim raunarima ili centralnom raunaru u mrei (proxy). Upotrebljava
se kada se keirani podaci retko menjaju u skladitu podataka. Ima specificirano vremensko
trajanje, posle kojeg se obnavlja ili brie. Pogodno je da isti ke deli vie klijenata i tada se
obino poveava broj pogodaka (engl. cache hit).
6. Propagiranje promena?
Promena izazvana operacijom upisa se propagira u sve replike.
Propagacija obavetenja o nastalim promenama:
Navodi se koji deo podataka je promenjen
Radi dobro kod velikog broja promena Read/Write je malo
Moe da optereti mreu zbog velikog broja dojava
Prenose se podaci sa kopije na kopiju:
Korisno je kada je Read/Write veliko
Belei promenjene podatke i njih alje u replike
Pogodno je pakovanje vie promena u jednu poruku
Lease model:
Server obeava klijentima (tj. replikama) da e im poslati promene za zadato vreme
propagacije
Kada lease istekne, klijent ga obnavlja ili nastavlja sa pull modelom
Epidemic:
Akcenat je na minimalnom broju poruka koje se razmenjuju. Tipino, sve promene se pakuju
u jednu poruku i alju drugom serveru. Princip poput irenja zaraze: A push promene ka B,
A pull promene od B. Kombinacija Push-Pull modela. Slabost ovog algoritma je da neki
serveri mogu da ostanu nezaraeni
Sigurnost i bezbednost
1. Sigurnost vs bezbednost?
Sigurnost (security) - DEF: Forma zatite kojom se razdvaja resurs od pretnje. Odnosi se na:
resurs, osobu, organizaciju, zajednicu, naciju
Bezbednost (safety) - DEF: Stanje zatienosti od otkaza, tete, greke, nezgode, povrede.
Vrste: fizika, socijalna, spiritualna, finansijska, politika, emotivna, radnog mesta, itd.
3. Elementi sigurnosti?
Pretnja (threat) - skup okolnosti koji moe dovesti do nastanka neke tete
Slabost, podlonost napadu (vulnerability) - slabost u sistemu sigurnosti koja moe dovesti
do tete
Mere bezbednosti (control) - slabost sistema se smanjuje merom bezbednosti i tako se
otklanja pretnja
Napad (attack) - entitet koji iskoristi slabost sistema za postizanje nekog cilja
Rizik (risk) - stepen verovatnoe da se neki napad desi
Poverenje (trust) - stepen poverenja koji korisnik ima u sigurnost i bezbednost sistema
5. Pretnje?
Presretanje (interception) - neautorizovana stranka dobije pristup podacima ili servisima. U
ovu grupu spada i ilegalno kopiranje podataka
Ispad (interruption) - servis ili podatak postane nedostupan, neupotrebljiv ili uniten
Modifikacija (modification) - neautorizovana izmena podataka ili servisa, koji posle vie nisu u
skladu sa njihovim specifikacijama
Fabrikacija (fabrication) - generisanje dodatnih podataka ili aktivnosti koji ne bi postojali u
normalnim situacijama
6. Malware?
Malware = malicious software. Programski kod ciljano pisan za neki vid napada.
Malware po tipu nosica: Samostalni: crv
Potreban nosilac: virus, backdoor, trojanac
Malware po nainu propagacije: Replicirajui: virus, crv
Nereplicirajui: backdoor, trojanac
7. Kompleksne pretnje?
Rootkit - maliciozan softver za dobijanje administratorskih prava na sistemu, prikriva drugi
malware
Botnet - mrea uhakovanih raunara(zombiji), trojanac + backdoor
Zero day - zivotni vek slabosti nekog softverskog sistema
Watering hole - Neki tip malware-a se instalira na popularan web sadraj - ciljani korisnici
posete zaraen web sadraj - iskoristi se slabost na njihovim sistemima i zaraze se
Tolerantnost na otkaze
2. Tipovi otkaza?
Ispad servisa (crash failure) - element DS postane prevremeno nedostupan, iako je do tog
trenutka radio pouzdano
Otkaz tipa izostanak odgovora (omission failure) - servis ne odgovori na zahtev
Vremenski otkaz (timing failure) - odgovor na zahtev se kreira izvan predvienog vremenskog
okvira
Nevalidan odgovor (response failure) - izlaz servisa je nevalidan
Arbitraran ili Vizantijski otkaz je najtei tip otkaza u kojem element DS u sluajnom
vremenskom trenutku pree u neoekivano stanje i generie neoekivani izlaz
DEF: Oporavak je proces u kojem se proces vraa u validno stanje nakon njegovog otkaza
Oporavak unazad (backward recovery) na osnovu poznatog, ranijeg stanja DS. Oporavak
unapred (forward recovery) je mogu ako su poznati svi mogui tipovi greaka u DS i
razvijene su adekvatne mere za njihovo prevazilaenje
DEF: Beleenje poruka (message logging) je mera koja omoguava restauraciju stanja DS
nakon otkaza nekog elementa
Proces siroe (orphan process) je proces koji je preiveo otkaz drugog elementa DS (npr.
procesa) od kojeg zavisi. Tokom oporavka se beleenje poruka koristi u kombinaciji sa
checkpointima.
5. Nenamerne greke?
DEF: Nenamerne greke u kodu programa dovode do invalidnih memorijskih operacija
procesa
DEF: Neadekvatna validacija ulaza je nenamerna softverska greka u kojoj tokom izvravanja
neka funkcija primi nepredvienu vrednost ulaza
DEF: Bafer (buffer) je memorijski prostor zadate veliine
DEF: Buffer overflow je upis podataka van prostora zauzetog od strane procesa
DEF: Buffer over-read je itanje podataka van prostora zauzetog od strane procesa
Provera i upotreba - redosled operacija u modernim raunarima moe da bude drugaiji od
oekivanog(konkurentno izvravanje, optimizacije u operativnom sistemu)
Otkrivanje kritinih informacija (npr. parovi korisnickih imena i lozinki)
Nadzor i upravljanje
3. Upravljanje komunikacijama?
Praenje optereenja i odziva (ping) komunikacionih kanala daje uvid u stanje
komunikacionih kanala u DS. Podaci o statusima komunikacija omoguavaju adekvatne
reakcije: ne-adekvatno iskorieni kanali se mogu zameniti slabijima, preoptereeni kanali se
proiruju dodatnim kapacitetima.
4. Upravljanje replikama?
Cilj upravljanja replikama je odravanje adekvatnog nivoa kvaliteta usluga DS (performanse).
5. Upravljanje konfiguracijama?
DEF: Upravljanje konfiguracijama u DS omoguava izmene uz ouvanje zadatih funkcija,
atributa i performansi.
DEF: Upravljanje verzijama je jedan vid upravljanja konfiguracijom DS u kojem se planski
propagiraju novije verzije elemenata DS
6. Reakcija na incidente?
Monitoring podaci omoguavaju detekciju i reakciju na incidente. Ako je incident naruio
stanje DS, onda se izvravaju neke od sledeih akcija:
Neutralizacija izvora incidenta, npr. gaenje komunikacionog kanala
Oporavak dela ili celog stanja DS na osnovu checkpoint-a i/ili beleenih poruka
Prijava incidenta nadlenim organima je obavezna ak iako incident nije naruio stanje (tj.
konzistentnost) DS. Autentinost logova ne sme da se dovede u pitanje (eng. nonrepudiation)
- digitalno potpisivanje logova, ova mera je neophodna zarad dokazivanja krivice na sudu
(ako doe do toga)
3. Algoritam talasa?
DEF: Algoritam talasa (wave algorithm) omoguava procesu P da prikupi informacije od svih
procesa u DS
Ciljevi algoritma talasa: detekcija zavretka distribuirane obrade, nalaenje putanja, tj.
rutiranje, izbor koordinatora
Osnovni nain rada: proces P pokree talas, talas obie ceo DS i prikupljene informacije
se vrate u P, P donosi odluku
DEF: Algoritam obilaska (Tarry algoritam) je centralizovani algoritam talasa u kojem proces P
inicira talas slanjem token-a kroz sistem. Token se nakon obilaska sistema vraa u P, gde se
donosi odluka. DFS je specijalan sluaj Tarry algoritma.
DEF: Eho algoritam (engl. echo algorithm) je centralizovani algoritam talasa koji se
upotrebljava za prikupljanje informacija u DS modeliranim neusmerenim grafom
5. Meusobna iskljuivost?
Osnovni nain rada: proces P dobija privilegiju pristupa resursu R, proces P ulazi u kritinu
sekciju (engl. critical section), tj. blok izvornog koda iz kojeg pristupa R, nakon zavrenog
pristupa R, proces P izlazi iz kritine sekcije.
Centralizovani algoritam koordinator, rezervisi, dozvoli, oslobodi
Logiki asovnik - u sistemu postoji logiki asovnik, vreme logikog asovnika se poveava za
svaki zahtev pristupa deljenom resursu, svaki proces P je svestan ostalih procesa u grupi.
Nain rada: proces P poalje svim ostalim procesima zahtev za pristup resursu R, ostali
procesi odobravaju zahtev ako u datom trenutku ne koriste resurs R, proces Q moe odbije
pristup ako koristi R stavlja P u red za ekanje i nakon izlaska iz kritine sekcije alje dojavu
Token-ring algoritam token, prsten...
Raymond algoritam token, procesi formiraju usmereno stablo, svaki proces odrava red
ekanja na deljeni resurs R, kada je procesu P potreban pristup R stavlja sebe u svoj red
ekanja, ako se promeni prvi u redu ekanja, onda se o tome informie nadreeni vor Q
6. Izbor koordinatora?
Bully algoritam - proces A pokree izbor kad primeti da koordinator K ne odgovara na
zahteve, proces A alje poruku o izboru svim procesima sa veim identifikatorima,a ko niko
ne odgovori, onda proces A dobija izbore i postaje koordinator, ako poruku o izboru dobije
proces B, koji ima vei identifikator od A, onda vraa OK i dobija izbore.
Algoritam prstena - proces A pokree izbor kad primeti da koordinator K ne odgovara na
zahteve, proces A kreira poruku IZBOR i prosleuje je sledeem voru, ako se sledei proces B
ne izvrava, onda se preskae, svaki proces koji se izvrava dodaje svoj identifikator u poruku
IZBOR, praktino nominujui sebe, kada se izborna poruka vrati u proces A, selektuje se
proces sa najveim identifikatorom, tip poruke se menja na KOORDINATOR i ponovo se alje
samo onim vorovima koji su se nominovali u prvom krugu izbora
8. Asimetrina kriptografija?
DEF: U sistemima za asimetrinu kriptografiju se koriste razliiti kljuevi za kodiranje i
dekodiranje(K - - tajni kljuc, K+ - javni kljuc). RSA
11. Autorizacija?
DEF: Autorizacija je proces dodele prava pristupa elementima DS
MAC = Mandatory Access Control = Obavezna provera prava pristupa. Entiteti u MAC
modelu autorizacije: subjekti - koji iniciraju akcije, objekti - nad kojima se akcije iniciraju,
atributi - dodatne informacije asocirane subjektima (operacije se dozvoljavaju ili odbijaju na
osnovu provere atributa)
DAC = Discretionary Access Control = Bazirana na vlasnitvu resursa u DS. Entiteti u DAC
modelu autorizacije: objekti resursi DS kojima se dozvoljava pristup, vlasnici objekata
odravaju pravila pristupa objektima, subjekti elementi DS koji koriste objekte. Omoguava
decentralizovanu administraciju prava pristupa u DS.
RBAC = Role Based Access Control = Bazirana na ulogama koje su dodeljene elementima DS
Skupovi entiteta u RBAC modelu: USERS korisnici, tj. subjekti koji direktno koriste usluge DS
OBS objekat, fiziki i logiki element DS koje je potrebno zatititi, OPERATIONS operacije,
tj. akcije koje korisnici izvravaju nad objektima, PRMS permisija (dozvola), pravo korienja
odreenog objekta, ROLES radno mesto ili druga uloga elementa u DS
Faza pripreme - koordinator transakcije ima sledee zadatke: alje svim ostalim serverima
poruku tipa PREPARE i oekuje njihove odgovore, u sluaju ponitavanja alje svim serverima
ROLLBACK i ponitava transakciju u celini. Proces P primi poruku PREPARE, utvruje da li se
njegov deo transakcije moe potvrditi i alje odgovor tipa ROLLBACK ili PREPARED, ako dobije
poruku tipa ROLLBACK, onda ponitava svoj deo transakcije i alje potvrdu da je u tome
uspeo.
Faza realizacije - na fazu realizacije zavretka globalne transakcije se prelazi ako koordinator
dobije pozitivan odgovor (PREPARED) od svih servera u stablu. Zadaci koordinatora u fazi
realizacije: alje se svim procesima poruka COMMIT, ako dobije pozitivne odgovore od svih
onda potvruje transakciju u celini, ako dobije ijedan negativan odgovor, alje svim
procesima poruku ROLLBACK i ponitava transakciju u celini.
3PC:
Algoritam primene globalne transakcije u tri faze reava problem ispada procesa tokom faze
primene (tj. druge faze 2PC)
Nain rada: proces P alje poruku PROVERA i eka potvrdu od svih podreenih procesa.
Transakcija se prekida ako se ne prime sve potvrde za zadato vreme (timeout), po prijemu
svih potvrda P alje poruku PRIPREMA svim podreenim procesima. Transakcija se nastavlja
ako se ne dobiju sve potvrde za zadato vreme. Po prijemu svih potvrda ili isteka timeout-a P
alje poruku PRIMENA. Po prijemu svih potvrda se transakcija primenjuje. Ako na nekom
podreenom procesu doe do isteka timeout-a, transakcija se prekida
3. Imena?
DEF: Address Resolution Protocol (ARP) slui za preslikavanje IP adresa na mrene adrese,
npr. Media Access Control (MAC) adrese
DEF: Domain Name System (DNS) je hijerarhijski, distribuirani sistem imena raunara, servisa
ili bilo kog resursa konektovanog na Internet(ime na IP adresu).
Najee koriena simbolika imena su: Uniform Resource Locator (URL) ,E-mail adresa,
Jabber adresa slino email adresi, jedinstvena adresa resursa
DEF: Uniform Resource Locator (URL) je putanja do dokumenta na Web-u(protokol + dns ime
servera + ime dokumenta)
4. Sinhronizacija?
Redni broj poruka kod TCP/IP obezbeuje pravilan redosled prijema poruka i sastavljanje
veih sadraja. Sinhronizacija vremena raunara sa atomskim asovnikom. Zimsko i letnje
raunanje vremena.
5. Replikacija i konzistencija?
Replikacija web hosting sistema, tj. servera HTTP dokumenata(#1: estimacija optereenja, #2:
detekcija anomalija, tj. kada i kako kreirati/ukloniti replike?, #3: implementacija mera, tj.
izmene u replikama)
6. Otpornost na otkaze?
Otkaz komunikacionih kanala i/ili rutera(reenje: algoritmi za nalaenje putanja su otporni na
viestruke ispade). Otkaz servera(reenje: replikacija baza podataka, aplikativnih servera i
servera dokumenata, i automatsko prekljuivanje na replike u trenutku ispada). Otkaz
klijenta(reenje: restart procesa).
7. Sigurnost i bezbednost?
Transliranje mrenih adresa (engl. Network Address Translation (NAT)) korienje privatnih
mrea unutar korporativnih i univerzitetskih informacionih sistema. Blokiranje neeljenog
sadraja(firewall). Kodiranje komunikacionih kanala(TLS, PGP, WPA). Zatita od zlonamernog
softvera i anomalija ponaanja sistema(antimalware i anti-virus, Intrusion Detection System
(IDS) , Security Information (and Event) Management - SI(E)M, pravila i heuristika, tj. samo-
obuavajui sistemi detekcije anomalija)
8. Primeri Web baziranih sistema: peer-to-peer, content delivery network, online plaanje,
bitcoin?
Peer-to-peer - nain rada: komunikacija se ostvaruje preko BitTorrent ili sl. protokola,
korisnici (peer/seed) se povezuju odreen broj korisnika, ne svi sa svima. Korisnik je ujedno
i klijent i server.
Content delivery network vise servera opsluzuje razlicite racunare(ne jedan kao ranije)
Online plaanje - nain rada: kupac sastavlja korpu, unosi podatke kartice i klikne na dugme
za plaanje, web prodavnica prodavca prosleuje kodirane podatke kartice kroz sledei niz:
servis plaanja -> sistem kreditnih kartica -> banka kupca, sredstva se rezerviu na raunu
kupca i vraa se odgovor web prodavnici, sredstva se isplauju prodavcu po slanju poiljke
do tada su rezervisana. Bezbedne komunikacije: podaci kreditne kartice se kodiraju u
browser-u kupca, komunikacioni kanali izmeu uesnika su kodirani(TLS, AES). Provera kupca
DEF: Bitcoin je Web bazirani sistem digitalnog novca - nain rada: kupac na berzi pretvori
novac u bitcoin, kupac realizuje transakciju (kupi robu ili berzu kod prodavca), transakcija
ulazi u globalnu knjigu transakcija, globalnu knjigu transakcija odravaju kopai, kopai za
odravanje transakcija dobijaju (nove) bitcoin-e.
Kritine infrastrukture
Smart Grid
3. Oprema?
Infrastruktura pametnih meraa (IPM) je podsistem u distribuciji. IPM sastoji se od velikog
broja pametnih meraa i pomonih sistema.
IED = Intelligent Electronic Device - slanje podataka, prijem komandi, minimalna lokalna
obrada
RTU = Remote Terminal Unit, MTU = Master Terminal Unit - prijem podataka iz procesnog
postrojenja, konverzija i slanje podataka u PLC/MTU/SCADA, prijem komandi iz centrale i
slanje na fieldbus
PLC = Programmable Logic Controller - programabilni industrijski raunar(zamenjuje releje)