PB001: ´ Uvod do informaˇcn´ıch technologi´ı
Ludˇek Matyska a Eva Hladk´a podzim 2019
Obsah pˇredn ´aˇsky
Multim ´edia v s´ıt´ıch Bezdr ´atov´e s´ıtˇe
Distribuovan ´e syst ´emy Client-server model Mobiln´ı syst ´emy
Multim ´edia v s´ıt´ıch
Multimedi ´aln´ı syst ´emy
C´ıl: pˇrenos zvuku a obrazu po poˇc´ıtaˇcov´e s´ıti
Poˇzadavky na kvalitu (vlastnosti) spojen´ı vˇcasn ´e doruˇcen´ı
nepˇr´ıliˇs velk´y rozptyl doruˇcen´ı paket ˚u Spojovan ´e s´ıtˇe (telefony)
jednoduˇsˇs´ı ˇreˇsen´ı
nedostateˇcn ´a koncov´a kapacita
potenci ´aln´ı pl ´ytv´an´ı p ´asmem (mus´ı b ´yt vyhrazeno, i kdyˇz mlˇc´ıte)
Multim ´edia v s´ıt´ıch
Multim ´edia – podpora v IP s´ıt´ıch
Pˇrep´ınan ´e s´ıtˇe
mohou dobˇre vyuˇz´ıt multicast vyˇzaduj´ı kvalitu sluˇzby: rezervace moˇzn ´a ˇreˇsen´ı
overprovision (dostatek kapacity bez ohledu na poˇzadavky) dedikovan ´e okruhy ( `a la telefony): VPN
rezervace pro kaˇzd ´y tok zvl ´aˇst’: RSVP
agregace tok˚u, rezervace (statick´a) pro agregace: DiffServ pro souˇcasn ´y Internet vhodn ´e posledn´ı ˇreˇsen´ı
Multim ´edia v s´ıt´ıch
Multimedi ´aln´ı aplikace
Streaming
zp ˚usob doruˇcen´ı multimedi ´aln´ıho obsahu klient ˚um prostˇrednictv´ım s´ıtˇe
live streaming
multimedi ´aln´ı obsahu vznik´a ˇzivˇe bˇehem streamov´an´ı Video on Demand vs. pasivn´ı pˇr´ıjem
pasivn´ı pˇr´ıjem obvykle pro pˇr´ıjem ˇziv´ych stream ˚u moˇzn ´e streamovat i multimedi ´aln´ı archivy Videokonference
jednoznaˇcn ´y poˇzadavek na interaktivitu obousmˇern ´y provoz
Bezdr ´atov´e s´ıtˇe
Bezdr ´atov´e s´ıtˇ e
C´ıl: umoˇznit pˇr´ıstup k v´ypoˇcetn´ım a komunikaˇcn´ım zdroj ˚um z mobiln´ıch zaˇr´ızen´ı
s infrastrukturou: buˇnkov´a s´ıt’
bez infrastruktury: ad-hoc s´ıtˇe Hlavn´ı charakteristiky:
podstatnˇe vyˇsˇs´ı chybovost
oprava pˇr´ımo na spojen´ı, ne ve vyˇsˇs´ıch vrstv´ach ˇcasto kombinov´ano s redundanc´ı
optick´e s´ıtˇe (infra, laser)
silnˇe z´avisl ´e na vnˇejˇs´ıch podm´ınk´ach (mlha) radiov´e
kapacita z´avisl ´a na frekvenci, kvalita na k ´odov´an´ı a vyz´aˇren ´e
Bezdr ´atov´e s´ıtˇe
Buˇ nkov´a s´ıt’
z´akladov´e stanice pokr ´yvaj´ı ´uzem´ı sign ´alem z´akladny jsou propojen ´e dr ´atovou s´ıt´ı
veˇsker ´a komunikace mobiln´ıch agent ˚u je smˇeˇrov´ana pˇres z´akladov´e stanice
mobiln´ı agent m ˚uˇze plynule pˇrech ´azet mezi z´akladov´ymi stanicemi
Bezdr ´atov´e s´ıtˇe
Ad-hoc s´ıtˇ e
Motivace: vytvoˇrit s´ıt’ pˇri absenci infrastruktury ˇziveln ´e katastrofy, nedostatek financ´ı/ˇcasu vyuˇz´ıv´a pouze s´ıt’ov´e vlastnosti ´uˇcastn´ık˚u Princip
kolekce autonomn´ıch uzl ˚u komunikuj´ıc´ıch skrze decentralizovanou multi-hop s´ıt’
kaˇzd ´y uzel z´aroveˇn koncov´ym uzlem i s´ıt’ov´ym smˇerovaˇcem dynamick´a topologie s´ıtˇe
ˇr´ızen´ı s´ıtˇe rozdˇeleno mezi jednotliv´e uzly
Bezdr ´atov´e s´ıtˇe
Ad-hoc s´ıtˇ e
V´yhody
rychl ´e vybudov´an´ı
odolnost – neobsahuj´ı single point of failure efektivn´ı vyuˇz´ıv´an´ı r ´adiov´eho spektra
Nev´yhody
omezen ´y dosah bezdr ´atov´e komunikace
komplikovan ´e ˇr´ızen´ı s´ıtˇe d´ıky neexistenci centr ´aln´ı entity zmˇeny v topologii pˇri pohybu mobiln´ıch uzl ˚u
Aplikace
z´achrann ´e operace pˇri pˇr´ırodn´ıch katastrof ´ach
zas´ıt’ov´an´ı osobn´ıch zaˇr´ızen´ı (hodinky, PDA, medic´ınsk´e pˇr´ıstroje...)
vojensk´e operace senzorov´e s´ıtˇe
Bezdr ´atov´e s´ıtˇe
Mobiln´ı poˇc´ıt ´an´ı
Moˇzn ´e realizace:
always on – bezdr ´atov´e s´ıtˇe
pˇrenos prostˇred´ı – realizovan ´e softwarovˇe Mobilita s pˇrenosem prostˇred´ı
napˇr. ˇcten´ı poˇsty pˇres webov´y prohl´ıˇzeˇc probl ´emy
r ˚uznost klientsk´ych syst ´em ˚u bezpeˇcnost – autentizace uˇzivatele
vn´ıman ´a kvalita z´avisl ´a na kvalitˇe pˇripojen´ı
Distribuovan ´e syst ´emy
Distribuovan ´e syst ´emy
Poˇc´ıtaˇc: nˇekolik vz´ajemnˇe propojen ´ych komponent Co se stane, kdyˇz nˇekter ´e z propojen´ı nahrad´ıme s´ıt´ı?
Vznikne distribuovan ´y syst ´em Definice:
Syst ´em, kter ´y je tvoˇren dvˇema nebo v´ıce nez ´avisl ´ymi poˇc´ıtaˇci propojen ´ymi s´ıt´ı a komunikuj´ıc´ımi formou pˇred ´av ´an´ı zpr ´av.
Distribuovan ´y syst ´em tvoˇr´ı nez´avisl ´e poˇc´ıtaˇce, kter ´e se uˇzivateli jev´ı jako jeden celek [Tanenbaum].
Distribuovan ´e syst ´emy
Pˇr´ıklady
Internet
Telefonn´ı syst ´em (automatick´e ´ustˇredny)
Multimedi ´aln´ı syst ´emy (videokonference, e-Learning) Mobiln´ı syst ´emy
Clustery Gridy
Peer-to-peer syst ´emy Cloud
Distribuovan ´e syst ´emy
Probl ´emy distribuovan´ych syst ´em ˚u I
Heterogenita jednotliv´ych sloˇzek
Middleware: skr ´yv´a heterogenitu (CORBA, Globus) Mobiln´ı k ´od (Java)
Otevˇrenost/interoperabilita Nezbytn ´e vyuˇzit´ı standard ˚u Bezpeˇcnost
Autentizace, autorizace, soukrom´ı Zpracov´an´ı v´ypadk˚u
Detekce, maskov´an´ı, tolerance Rozˇsiˇritelnost
Distribuovan ´e syst ´emy
Probl ´emy distribuovan´ych syst ´em ˚u II
Paralelismus
Nebezpeˇc´ı napˇr.
”smrteln ´eho objet´ı“ (deadlock) Z´avislosti (synchronn´ı pohled)
Transparence Pˇr´ıstup M´ısto Replikace Selh ´an´ı
Mobilita/pˇrenositelnost V´ykon
Distribuovan ´e syst ´emy
Gridy
Motivace: sd´ılen´ı v´ypoˇcetn´ıch zdroj ˚u za ´uˇcelem zv´yˇsen´ı efektivity inspirace z elektrick´e rozvodn ´e s´ıtˇe (power grid)
Vlastnosti
rozs ´ahl ´e distribuovan ´e syst ´emy heterogenn´ı
geograficky rozs ´ahl ´e
dynamick´e (z pohledu uˇzivatele) velk´y v´ykon (des´ıtky tis´ıc procesor ˚u) velk´e datov´e objemy (PB a v´ıce)
Distribuovan ´e syst ´emy
Gridy – pˇr´ıklady
Data Gridy – zpracov´an´ı velk´ych objem ˚u dat, generovan ´ych zaˇr´ızen´ımi ˇc ´asticov´e fyziky
radioteleskopy anal ´yzou genomu 3D sn´ımky (mozek)
V´ypoˇcetn´ı Gridy – n ´aroˇcn ´e v´ypoˇcty astronomie
vlastnosti materi ´al ˚u
pˇredpovˇed’ poˇcas´ı (t ´eˇz Data Grid) struktura a chov´an´ı molekul
Distribuovan ´e syst ´emy
Cloud Computing
Nov´y pˇr´ıstup k nab´ıdce v´ypoˇcetn´ıch a ´uloˇzn ´ych sluˇzeb Postaven na virtualizaci zdroj ˚u
Ta umoˇzˇnuje nab´ıdnout poˇc´ıtaˇc nebo celou skupinu poˇc´ıtaˇc ˚u (cluster, grid) pˇri zachov´an´ı spravovatelnosti (manageability) Uˇzivatel dost ´av´a
”hol ´y“ syst ´em, kter ´y s ´am spravuje Jednoduch ´y pˇr´ıstup, zpravidla pˇres webov´e rozhran´ı Pay per use, tj. ˇz ´adn ´e poˇc ´ateˇcn´ı investiˇcn´ı n ´aklady
Distribuovan ´e syst ´emy
Cloud Computing – pˇr´ıklad
Amazon Elastic Cloud
pˇr´ıstup pˇres webov´e rozhran´ı platba kreditn´ı kartou
souˇc ´ast´ı nab´ıdky i ´uloˇzn ´y prostor (Amazon S3)
nestrukturovan ´e objekty (upload/douwnload), blokov´y syst ´em (hol ´y disk), filesyst ´em
platba i za pˇrenos dat z/do S3, nikoliv za intern´ı pˇresuny dat
Distribuovan ´e syst ´emy
Cloudy – shrnut´ı
Cloudy nab´ız´ı flexibiln´ı kapacity
Je moˇzn ´e okamˇzitˇe dokoupit dalˇs´ı zdroje
Virtualizace podporuje navyˇsov´an´ı v´ykonu poskytnut´ım kopi´ı Potenci ´al pro odolnost proti v´ypadku
Otevˇren ´e bezpeˇcnostn´ı probl ´emy
Nejistota, kde jsou skuteˇcnˇe data uloˇzena
Data i v´ypoˇcty de-facto outsourcov´any – ztr ´ata kontroly Vhodn ´e zejm ´ena tam, kde bezpeˇcnost nen´ı kritick´a a nen´ı moˇzn ´e pˇredem odhadnout skuteˇcnou potˇrebu zejm ´ena v´ypoˇcetn´ıho v´ykonu (a ta silnˇe kol´ıs ´a v ˇcase)
Client-server model
Client-server model
Distribuovan ´e poˇc´ıt ´an´ı
Vyuˇzit´ı prvk˚u (poˇc´ıtaˇce) propojen ´ych poˇc´ıtaˇcovou s´ıt´ı Dekompozice ´ulohy na pod ´ulohy
Paraleln´ı vykon ´av´an´ı pod ´uloh
Na r ˚uzn ´ych syst ´emech propojen ´ych s´ıt´ı Client-server model
Speci ´aln´ı pˇr´ıpad distribuovan ´eho poˇc´ıt ´an´ı V´ıce strukturovan ´e
Asymetrick´e: klient pos´ıl ´a poˇzadavek na zpracov´an´ı serveru Server pro jednoho klienta m ˚uˇze b ´yt klientem pro jin ´y server.
Client-server model
Vlastnosti modelu client-server
Klient a server samostatn ´e procesy Na stejn ´em nebo r ˚uzn ´ych poˇc´ıtaˇc´ıch Intern´ı informace je
”soukrom ´a“ pro kaˇzd ´y proces
Klient i server se mohou vz´ajemnˇe prok´azat (autentizace) Komunikuj´ı duplexn´ım protokolem
Komunikace m ˚uˇze b ´yt ˇsifrovan ´a
Client-server model
Poˇzadovan ´e vlastnosti
Interoperabilita
Klient a server mohou bˇeˇzet na zcela odliˇsn ´ych syst ´emech Portabilita
Staˇc´ı zajistit u klient ˚u Integrace
Transparence
Klient vid´ı jen „sv˚uj“ server, nikoliv jeho dalˇs´ı komunikaci Bezpeˇcnost
Autentizace klienta i serveru Sifrovan ´a komunikaceˇ D ˚uvˇeryhodn ´y server
Client-server model
Pˇr´ıklady
telnet, ssh
X Window syst ´em na Unixu
Svˇetov´a pavuˇcina (World Wide Web)
Distribuovan ´e syst ´emy soubor ˚u (AFS, NFS, Samba/CIFS)
Client-server model
Tˇr´ıvrstevn´y model klient-server architektury
Z´akladn´ı rozˇclenˇen´ı Data
Logika Prezentace
Sousedn´ı moˇzno kombinovat/rozdˇelit (tj. napˇr. Logika m ˚uˇze b ´yt souˇc ´ast´ı datov´e i prezentaˇcn´ı vrstvy, a to i souˇcasnˇe)
Client-server model
” Tlust´y“ a
” tenk´y“
Plat´ı pro server i klient, podstatn ´e zejm ´ena v souvislosti s klienty
”Tlust ´y“ (fat) klient:
Znaˇcn ´a spotˇreba lok´aln´ıch zdroj ˚u (CPU, pamˇet’, disk) Komplexn´ı proveden´ı i instalace
Pˇr´ıklad: Mozilla
”Tenk´y“ (thin) klient:
Jednoduˇsˇs´ı
Snadn ´a spr ´ava a pˇrenositelnost
Menˇs´ı ˇsk´alovatelnost (pˇr´ıliˇs mnoho pr ´ace dˇel ´a server) Zpravidla vyˇsˇs´ı n ´aroky na propustnost s´ıtˇe
Client-server model
Middleware
Software zajiˇst’uj´ıc´ı funkcionalitu distribuovan ´ych syst ´em ˚u
”Zkratka“ v r ´amci protokol ˚u
Stoj´ı „nad“ operaˇcn´ım syst ´emem, ale „pod“ aplikac´ı Propojuje oddˇelen ´e komponenty distribuovan ´eho syst ´emu Dovoluje aplikac´ım komunikaci pˇr´ımo na vyˇsˇs´ı abstraktn´ı ´urovni Realizuje jednu (RPC) nebo v´ıce (DCE) funkc´ı
Client-server model
Middleware – pˇr´ıklady
Primitivn´ı: pˇrenos soubor ˚u
Z´akladn´ı: RPC (Remote Procedure Call)
Integrovan ´e: DCE (Distributed Computing Environment) Distribuovan ´e objektov´e sluˇzby: CORBA, OGSA (Open Grid Service Architecture), Web Services
Client-server model
CORBA
Common Object Request Broker Architecture
Z´akladem ORB: vrstva, kter ´a zprostˇredkov´av´a komunikaci (middleware pro middleware)
Kompomenty:
Rozhran´ı (ˇretˇezce)
Umoˇz ˇnuj´ı vol ´an´ı procedur mezi klientem a serverem Pojmenov´an´ı (naming service)
”Obchodn´ı“ sluˇzba (trader)
Vyhled ´av ´an´ı vhodn ´eho serveru A mnoho dalˇs´ıch
Client-server model
Webov´e sluˇzby
Vyuˇz´ıvaj´ı standardn´ı protokoly zavedne ´e v r ´amci WWW konsorica (W3C)
Urˇceny pro interakci mezi poˇc´ıtaˇci pˇres poˇc´ıtaˇcovou s´ıt’
WSDL (Web Services Description Language) Popisuje rozhran´ı sluˇzby
SOAP (Simple Object Access Protocol) Protokol pro v´ymˇenu zpr ´av
XML (eXtensible Markup Language)
Znaˇckovac´ı jazyk pouˇz´ıvan ´y pro popis objekt ˚u a vlastn´ı komunikaci
Client-server model
Peer-to-peer (P2P) syst ´emy
decentralizovan ´y distribuovan ´y syst ´em: klient-klient
tvoˇren vz´ajemnˇe komunikuj´ıc´ımi identick´ymi entitami (peery) opak modelu klient-server
kaˇzd ´y peer je z´aroveˇn serverem i klientem poskytuje sluˇzby ostatn´ım peer ˚um – role serveru vyuˇz´ıv´a sluˇzby ostatn´ıch peer ˚u – role klienta Pˇr´ıklady
Skype – pˇrenos hlasu a obrazu v re ´aln ´em ˇcase BOINC – platforma pro distribuovan ´e v´ypoˇcty BitTorrent – sd´ılen´ı dat
BitCoin – digit ´aln´ı mˇena
Client-server model
Vlastnosti P2P syst ´em ˚u
distribuovan ´e ˇr´ızen´ı – neexistence centr ´aln´ı entity samoorganizace
heterogenita – peerov´e bˇeˇz´ı na r ˚uzn ´ych platform ´ach ˇsk´alovatelnost – nehroz´ı pˇret´ıˇzen´ı centr ´aln´ı entity dynamika – topologie syst ´emu se velmi rychle mˇen´ı
sd´ılen´ı zdroj ˚u – kaˇzd ´y peer se sv´ymi zdroji pod´ıl´ı na fungov´an´ı P2P syst ´emu
Client-server model
Klient-Server vs. Peer-to-Peer I
N ´aroˇcnost zbudov´an´ı
K-S vyuˇz´ıv´a jednoduch ´ych model ˚u komunikace P2P vyˇzaduje komplexn´ı interakce
Spravovatelnost
spr ´ava K-S syst ´emu je pˇrehlednˇejˇs´ı d´ıky koncentraci komunikace v jednom bodˇe
Sk´alovatelnostˇ
K-S model limitov´an HW parametry serveru – vyuˇz´ıv´a se vyvaˇzov´an´ı z´atˇeˇze mezi nˇekolika fyzick´ymi stroji
P2P syst ´em ˇsk´aluje z principu – s rostouc´ım poˇctem peer ˚u roste kapacita syst ´emu
Client-server model
Klient-Server vs. Peer-to-Peer II
Bezpeˇcnost
v K-S modelu je za bezpeˇcnost zodpovˇedn ´y server
v P2P syst ´emu je zodpovˇednost rozloˇzena mezi peery – nutnost komplexnˇejˇs´ıch bezpeˇcnostn´ıch protokol ˚u
Spolehlivost
K-S syst ´em je z´avisl ´y na bˇehu serveru – single point of failure P2P syst ´em je do velk´e m´ıry redundantn´ı – jednu funkcionalitu poskytuje z´aroveˇn v´ıce peer ˚u
Mobiln´ı syst ´emy
Mobiln´ı syst ´emy
Inherentnˇe distribuovan ´e
Pˇrimˇeˇrenˇe mal ´a zaˇr´ızen´ı pˇren ´aˇsen ´a uˇzivateli Trvale nebo obˇcas pˇripojen ´a do s´ıtˇe
Omezen ´a procesn´ı kapacita
Klient/server nebo peer to peer model
Klient/server l ´epe pˇrizp ˚usobiteln ´y dostupn ´emu v´ykonu mobiln´ıch zaˇr´ızen´ı
Nutno oˇsetˇrit pr ´aci v odpojen ´em stavu
Vyvaˇzov´an´ı mezi kvalitou pˇripojen´ı a lok´alnˇe dostupn ´ym v´ykonem Konvergence
R ˚ust v´ykonu mal ´ych zaˇr´ızen´ı (smartphones) Dostupnost a kvalita s´ıtˇe
Sd´ılen´ı aplikac´ı
Mobiln´ı syst ´emy
Senzorov´e s´ıtˇ e
Mal ´a (mobiln´ı) zaˇr´ızen´ı sleduj´ıc´ı jist ´e parametry okol´ı Teplota okol´ı (poˇz ´ary)
Tlak, vlhkost, ...(budovy, stavby obecnˇe, ale i sledov´an´ı osob) Komunikaˇcn´ı z´atˇeˇz
Omezen ´a kapacita baterie
Nutn ´e protokoly, kter ´e garantuj´ı „pˇrimˇeˇrenou” konektivitu, ale nezatˇeˇzuj´ı baterie
Cena v´ypoˇctu (vlastnost algoritmu/protokolu) vyj ´adˇrena ve Wattech, nikoliv poˇctu instrukc´ı
Bezpeˇcnostn´ı aspekty
Senzoru se m ˚uˇze ´utoˇcn´ık fyzicky zmocnit Kompromitace senzoru nesm´ı ohrozit celou s´ıt’