Client Raspberry Pi pentru infrastructuri virtuale de desktop [626552]
UNIVERSITATEA POLITEHNICA DIN BUCUREȘTI
Facultatea de Electronică, Telecomunicații și Tehnologia Informației
Specializarea Tehnologii și Sisteme de Telecomunicații
Client Raspberry Pi pentru infrastructuri virtuale de desktop
– PROIECT DE LICENȚĂ –
Coordonator i proiect:
Prof. Dr. Ing. Cristian N EGRE SCU
As. Drd. Ing. Victor P OPA
Absolvent: [anonimizat]
2
3
Cuprins
02/54
Listă figuri, tabele, grafice 03/54
Listă abrevieri 04/54
Scopul lucrării 05/54
Introducere 05/54
Sumar Raspberry Pi, Raspbian și virtualizarea sistemelor 05/54
Structura lucrării 10/54
Capitolul 1: Virtualizarea software 27/54
3.1 Tehnologia virtualizării software 28/54
3.2 Virtualizarea directă: hypervisor tip 1 30/54
3.3 Paravirtualizarea: hypervisor tip 2 31/54
Capitolul 2: Comparații între sisteme fizice și mașini v irtuale 33/54
Capitolul 1: Descrierea tipurilor de conexiuni 11/54
1.1 Introducere 12/54
1.2 Tipuri de conexiuni 15/54
1.2.1 VNC 15/54
1.2.2 Remote desktop 15/54
1.2.3 PC over IP 16/54
Capitolul 2: Raspberry PI + Raspbian 19/54
2.1 Raspberry PI 20/54
2.2 Raspbian 21/54
Capitolul 5: Implementarea sistemului Raspbian 39/54
5.1 Modificare software 40/54
5.2 Instalare și configurare 44/54
5.3 Instalare și configurare mașini virtuale 48/54
5.4 Accesarea și administrarea mașinilor virtuale 49/54
Listă Figuri:
Figura 1: Raspberry Pi 3 – Model B 05/54
Figura 2: Arhitectură conceptulă despre accesarea Hyper -V virtualization 06/54
4
Figura 3: Salesforce – prima companie ce a utilizat cu succes tehnologia cloud 07/54
Figura 4: Serviciile oferite de AWS (Amazon Web Services) 07/54
Figura 5: Compania Netflix utilizează serviciile cloud oferite de AWS 08/54
Figura 1.1: Arhitectura unui procesor x86 12/54
Figura 1.2: Arhitectura x86 – tehnologia de virtualizare I ntel-VTx 13/54
Figura 1.3: Arhitectura x86 – virtualizare AMD -V 14/54
Figura 1.4: Interfață BIOS 14/54
Figura 1.5: Operațiunile efectuate pentru realizarea virtualizării totale 15/54
Figura 1.6: Paravirtualizarea 16/54
Figura 1.7: Virtualizarea asistată hardware 16/54
Figura 2.1: Cloud computing (Rețeaua din nori) 20/54
Figura 2.2: Complexitatea cloud computing 21/54
Figura 2.3: Piramida serviciilor oferite de cloud 22/54
Figura 2.4: Resursele oferite de IaaS 23/54
Figura 2.5: Platforma ca serviciu (PaaS) 23/54
Figura 2.6: Aplicații ca serviciu (SaaS) 24/54
Figura 2.7: Public cloud 24/54
Figura 2.8: Private cloud 25/54
Figura 2.9: Hybrid cloud 25/54
Figura 3.1: Virtualiz area software 28/54
Figura 3.2: Migrarea unei mașini virtuale 29/54
Figura 3.3: Tipurile de hypervisor 29/54
Figura 3.4: Hypervisor tip 1 30/54
Figura 3.5: Hypervisor tip 2 31/54
Figura 5.1: Hypervisor tip 1 XenServer 40/54
Figura 5.2: Aplicație UNetbootin 40/54
Figura 5.3: Activarea tehnologiei Intel -VT în BIOS 41/54
Figura 5.4: Meniu inițial instalare XenServer 41/54
Figura 5.5: Configurare și instalare XenServer 42/54
Figura 5.6: Meniu XenServ er 42/54
Figura 5.7: Instalare manager XenServer 44/54
Figura 5.8: Interfață manager XenServer 44/54
Figura 5.9: Manager XenServer – Consola accesare mașină virtuala Linux 45/54
Figura 5.10: Manager XenServer – performanțe componente 45/54
Figura 5.11: PlăcuțăRaspberry PI2 46/54
Figura 5.12: Meniu instalare Raspbian 46/54
Figura 5.13: Configurare și instalare Raspbian 46/54
Figura 5.14: Instalare Remmina 47/54
Figura 5.15: Meniu Raspbian 47/54
Figura 5. 16: Meniul Raspbian după editare 48/54
Figura 5.17: Configurarea Mașinilor virtuale (Windows) 48/54
Figura 5.18: Activare access conexiuni remote la mașina virtuală 49/54
Figura 5.19: Inițiere conexiune RDP folosind Remmina 49/54
Figura 5. 20: Desktop sistem virtual după realizarea conexiunii 50/54
Listă Tabele:
Tabel 4.1: Date colectate cu ajutorul Novabench 34/54
5
Tabel 4.2: Resurse sisteme 34/54
Listă Grafice
Grafic 4.1: Performanțele procesorului 35/54
Grafic 4.2: Viteză de transfer a memoriei RAM 36/54
Grafic 4.3: Performanțele memoriei RAM Scor Novabench 36/54
Grafic 4.4: Performanțele spațiului de stocare (Hard -disk) 37/54
Grafic 4.5: Performanțele sistemelor fizice și virtuale 38/54
Lista abrevieri folosita :
SBC – Single board computer
RAM – Random Acess Memory
SoC – System on a chip
CPU – Central processing unit
GPU – Graphics processing unit
ARM (arhitectura) – Advanced RISC Machine
RISC – Reduced instruction set computing
PIXEL – Pi Improved Xwindows Environment, Lightweight
IaaS – Infrastructure -as-a-Service
PaaS – Platform -as-a-Service
SaaS – Software -as-a-Service
BIOS – Basic Input/Output System
BSD – Berkeley Software Distribution (Unix based operating system)
VDI – Virtual Desktop Infrastructure
RFB – Remote framebuffer
JPEG – Joint Photographic Experts Group
MPEG – Moving Picture Experts Group
VNC – Virtual Network Computing
RDP – Remote Deskt op
PCoIP – PC over IP
6
Introducere
Scopul lucrării
Proiectul presupune modificarea unui sistem de operare Raspbian ce va fi instalat pe un
Raspberry Pi 3 – Model B și va funcționa ca interfață grafică pentru a accesa cu un nod central ce
realizează managementul infrastructurii virtuale de desktop . Conexiun ile folosite pentru acces vor fi
VNC sau Remote Desktop pentru diverse tipuri de mașini (Linux based sau Windows based) .
Scopul final al lucrarii este utilizarea acestui tip de client în instalarea unui laborator în cadrul
Facultății Ele ctronică, Telecomunicații și Tehnologia Informației, folosind infrastructura deja
existentă. (Raspberry Pi 3 Model B și un server dedicat). Avantajele realizării sunt :
• Costuri reduse generate de infrastructura existent ă și de costurile reduse/mașină .
• Versatili tatea tehnologiei. Laboratorul poate fi schimbat doar prin configurarea unei singure
mașini virtuale și după propagarea modelului la numarul de clienți existenți.
• Siguranța datelor existente – lucrând în cloud, datele rămân pe server în cazul unui evenimen t
neprevăzut în locație.
• Scalabilitatea – numarul de sta ții virtuale poate fi mărit simplu prin colnarea unei mașini
virtuale pe server și adăugarea unui client nou în locație.
Raspberry PI
Raspberry Pi este un mic computer pe o singură placă (SBC) , dezvoltat origniar în Regatul
Unit de către Fundația Raspberry Pi, pentru a promova predarea informaticii de bază în școli și în
țările în curs de dezvoltare. Spre deosebire de un computer desktop sau un laptop, SBC -urile de multe
ori nu se bazează pe slotu ri de extensie pentru funcții periferice sau expansiune. Acestea au fost
construite folosind o gamă largă de microprocesoare. Avand d esign -uri simple, folosesc adesea
memorii RAM statice și procesoare low -cost cu 8 sau 16 biți. Principalele avantaje ale ac estora sunt:
dimensiunea, costul scăzut, portabilitatea. Câteva generații de Raspberry Pi au fost eliberate până în
prezent . (Model A – 2, Model B – 6, Pi Zero – 3, dar și 2 Modele de calcul). Toate modelele au un
sistem Broadcom pe un cip (SoC) cu o unita te centrală de procesare integrat (CPU) compatibilă cu
ARM și o unitate de procesare grafică on -chip (GPU). Modelul ales pentru implementare este un
Raspberry Pi 3, Model B și este penultima generație realizată de producător. Informațiile enunțate în
preze nta lucrare vor cuprinde specificațiile tehnice și funcționale de la acest model. [6]
7
Figura 1: Raspberry Pi 3 – Model B [1]
Raspbian
Raspbian este un sistem de operare bazat pe Debian pentru Raspberry Pi. Există mai multe
versiuni ale Raspbian : Wheezy, Stretch și Jessie. Prima versiune a fost Wheezy în anul 2012 și a fost
lansat ca un proiect independent de Mike Thompson și Peter Green . În momentul de față, ultima
versiune este compatibilă cu toate versiunile anterioare de Raspberry Pi. Sistemul este optimi zat
pentru procesoare ARM și rulează în condiții optime chiar și pe performațe reduse ale linei Raspberry
Pi.
Raspbian foloseste PIXEL, Pi Improved Xwindows Environment, Lightweight ca mediul de
lucru principal al desktop -ului. Acesta este alcătuit dintr -un mediu desktop modificat LXDE și
managerul de ferestre Openbox . Pentru operativitate, versiunea vine cu diverse facilități instalate,
dintre care și Chromium, varianta lite a browserului Chrome.
În cazul de față, sistemul va fi folosit doar ca un thin cl ient în modul Student și va fi doar o
interfață între ultilizatorul Raspberry -ului Pi și mașina virtuală de pe serverul instalat. În modul
Administrator va avea posibilitatea gestionării conexiunilor către diverse servere. [7]
Virtualizarea și cloud computin gul
Infrastructura modernă de „Cloud computing ” și-a început dezvoltarea în anii 90, când
folosirea computerelor virtuale a devenit populară. Fiind utilizat inițial pentru a adresa spațiile goale
dintre utilizatorul final și furnizoru l de servicii , Cloud Computing -ul a fost definit de către Ramnath
Chellapa , profesor la Universitatea Emory , ca o nouă „paradigmă a calculatoarelor unde limitele
acestora vor fi determinate de raționamente economice, spre deosebire de limitele tehnice ale
acestora”. O dată ce marile companii și universități au conștientizat adevărul enunțat de Chellap a au
angrenat specialiști în domeniu și au început să își adapteze infrastructura IT.
8
Exemple de mari companii ce au adoptat tehnologia precum :
• Salesforce – 1999 – prima companie care și -a adaptat sistemul de livrare a produsului
(software) direct la clienții ce aveau acces la internet.
• Amazon – în 2002 a adaptat serviciile de retail pentru web din cauza neutilizării
resurselor existente cu un randament bun (foloseau doar 10% din capacitatea
serverelor deținute) . Mai tarziu, în 2006, când a și inființat Amazon Web Services , ce
oferea servicii pentru alte site -uri sau clienți online.
• Google – în 2006 lansează serviciile Google Docs . Dupa achiziționarea companiei
Writely, le -a permi s să utilizeze tehnologia de a transfera documente compatibile
Microsoft Word în sistemul de blogging. Google Spread a fost cumparat de la 2Web
Tehnologies în 2005 ș i este folosit și astăzi pentru utilizarea online a spredsheet -urilor
ce sunt compatibile c u Microsoft Excel.
• În 2007, mai multe universități americane precum MIT, Standfor, Maryland, Berkeley
au facut parteneriate cu IBM și Google și au dezvoltat laboratoare de cercetare cu
servere ce implica procesare rapidă și seturi de date imense ( big data) .
• Tot în 2007 a fost lansat serviciul de streaming video Netflix , folosind serviciile
Amazon Web Services . Aceștia au folosit „binge -watching” (vizionarea în mod
streaming a mai multor seriale de televiziune ).
• În 2008, o platforma ce aparținea NASA, Open N ebula , a lansat primul software open –
source pentru cloud privat și hibrid, caracteristici necesare companiilor.
• Apple a lansat în 2011 I-Cloud. Serviciul oferă posibilitatea stocării de informații în
cloud și de a le accesa de pe orice dispozitiv conectat la internet.
• În 2012 Oracle introduce Oracle Cloud, serviciu ce are 3 caracteristici principale
pentru afaceri : IaaS (Infrastructura ca serviciu), PaaS (Platforma ca serviciu) și SaaS
(Aplicația ca serviciu). Acesta a devenit o alternativă la achiziționar ea de hardware și
software pentru a realiza același obiectiv și oferă companiei prestatoare întreaga
responsabilitate pentru : administrare, mentenanță, back -up și întreținere.
Serviciile oferite de către tipul de afacere Cloud sunt definite în 3 categori i:
• IaaS (infrastructura ca serviciu) – oferă capacitatea brută de calcul. IaaS este serviciul
de bază și oferă întreaga capacitate a unui server sau mai multe servere în Cloud, împreună
cu stocarea. Scopul principal este de a avea acces la putere de calc ul, fără grija menținerii
infrastructurii funcționale .
• PaaS (platforma ca serviciu) – oferă utilizatorilor posibilitatea de a să scrie software
pentru integrarea aplicațiilor existente sau să dezvolte aplicații dedicate. Mediul PaaS
permite dezvoltarea d e software prin tehnologii precum .NET, Java, Ruby on Rails , Python
etc. Codul este găzdui t, făcând disponibilă accesarea acestuia de către alți utilizatori. PaaS
este cea mai mică parte din piața de Cloud Computing, și este utilizată de către afaceri ce
doresc utilizarea infrastructur ii în Cloud .
9
• SaaS (aplicațiile ca serviciu) oferă software. Această parte este cea mai mare și
dezvoltată din Cloud. Este reprezentata de multitudinea de software -uri utilizate exclusiv
online .
După dezvoltarea tehnologiei cloud, securitatea a devenit principala preocupare, fiind vitală
pentru menținerea serviciilor sustenabile. În acest moment, securitatea oferită în mediul virtual este
comparabilă cu cea de pe sistemele tradiționale . În plus oferă servicii de protecție a datelor împotriva
erorilor de ștergere sau a furtului de date.
În acest moment , oricine poate dezvolta sisteme Cloud Privat, adaptate nevoilor lor în mod
particular. Se poate folosi Public Clouds sau o combinație a celor două denumită Hybrid Cloud.
Figura 2. Arhitectură conceptulă despre accesarea Hyper -V virtualization
Aceste Private Clouds sunt în esență centre de date ce utiliz ază tehnologiile de bază ale Cloud.
Pe lângă faptul că are aceeleaș i avantaje ca și Public Cloud, Private Cloud controleaz ă mul t mai bine
confidențialit atea datelor și securitatea acestora. Avantajul Public vs Private este prețul mai
mic/utilizator având în vedere scalabilitatea resurselor . Dezavantajul este că o sincopă care afectează
sistemul, blochează un numar mult mai mari de clienți . [8]
[4]
Alte surse :
Wikipedia
https://en.wikipedia.org/wiki/Raspberry_Pi
https://en.wikipedia.org/wiki/Raspbian
10
[1] Michael C. Daconta (2013) – The Great cloud migration
[2] Matthew Por tnoy (2016) – Virtualization Essentials: Edition 2
[3] K. Chandrasekaran (2015) – Essentials of CLOUD COMPUTING
[4] http://www.datacenterdynamics.com/content -tracks/colo -cloud/aws -suffers -a-five-hour-outage –
in-the-us/94841.fullarticle – ultima accesare 28.06 .2017
11
Capitolul 1:
Virtualizare utilizând software
1.1 Virtualiz area software:
12
Un sistem poate rula multiple sisteme de operare în același timp prin ajutorul virtualizării
software. Acela și lucru este valabil și pentru aplicațiile ce relează pe același sistem de operare prin
virtualizare.
Figura 1.1 Virtualizarea
Sursa poza : http://www.queboid.com/blog/virtualization/
Prin același proces se crește randamentul utilizării serverelo r. Ca exemplu, încercarea
companiei Dell de a limita costurile și a crea o nouă investiție întrun centru de date au dus la
identificarea faptului că 75% din serverele gestionate de aceștia înregistrau utilizarea sub 20% a
procesoarelor. Acest lucru se dato ra din cauza puținelor procese (aplicații) active pe fiecare server.
Astfel, au decis c ă virtualizarea serverelor ce nu foloseau resursele să folosească aproape de
maximum resurselor disponibile. Un singur server fizic găzduia 5 servere virtuale ce folosea u resurse
sub 20% din capacitatea mașinii fizice inițiale. [14]
Astfel, se reduce costul prin reducerea numarului de servere fizice, reducerea spa țiului de
amplasare a acestora și reducerea consumului necesar funcționării și menținerii centrelor de date l a
nivel optim de funcționare. În cazul companiei americane, s -a redus timpul de implemntare a
aplicațiilor de peste 11 ori, de la 45 de zile la doar 4 zile. Alte posibilități de utilizare tot în spiritul
eficientizării resurselor și minimizării costurilor :
• Testarea în paralel a diverselor aplicații prin intermediul interfețe lor de utilizator
• Realizarea în timp real a logar ii, concomitent cu executarea de teste
• Izolarea aplicațiilor prin r ularea de scenarii multiple ale aceluiași sistem de operare
• Software -uri compatibile doar cu anumite sisteme de operare pot funcționa pe cele
incompatibile prin virtualizare
Mașinile virtuale sunt ind ependente de sistemele fizice și pot fi mutate pe alte sisteme rapid .
Datorita hypervi sor-ului, mașina fizică devine irelev antă pentru mașina virtuală. Fiind izolate logic
între ele, mașinile virtuale ce se regăsesc pe aceelași terminal fizic , nu depind una de cealaltă. Orice
vulnerabilitate a unei mașini nu v -a afecta și alte mașini virtuale existente pe același sistem fizic ,
ducând la o securitate sporită a întregului angrenaj. Realizarea unei copii a mașinii virtuale pentru a
13
crea un back -up, nu necesita suspendarea funcționalității mașinii . Astfel, în cazul unui defect a mașinii
fizice, cea virtuală poate fi transferată pe un alt sistem. (figura 1.2)
Figura 1.2: Migrarea unei mașini virtuale (cautat alta poza)
În dorința de a implementa soluții cu un aport logistic uman mai scăzut, nu se folosește la
scară largă virtualizarea completă , fiind mai greu de întreținut, ci vi rtualizarea asistată hardware sau
paravirtualizarea.
Virtualizarea asistată hardware (directă) se realizează printrun hypervisor tip 1 . Acesta constă
într o aplicație instalată pe sistemul fizic și cu ajutorul tehnologiei de virtualizare hardware oferi tă
de procesoarele sistemelor fizice (Intel -VTx, AMD -V) permite virtualizarea sistemelor (XenServer,
Hyper -V, Vmware, KVM). Serverul ales pentru partea practică a prezentei lucrări este un laptop cu
XenServer 7.5 instalat.
14
Paravirtualizarea se realizează printrun hypervisor tip 2 – o aplicație software ce se instalează
peste sistemul de operare al unui echipament fizic (Qemu, Virtualbox, VMWare Workstation,
Parallels).
Figura 1.3: [12] Tipurile de hypervisor
(cauta poza)
1.2 Virtualizarea direct a: hypervisor tip 1 -XenServer, Hyper -V, Vmware
Virtualizarea prin intermediul unui sistem de tip Hypervisor tip 1 permite rularea
concomitent ă a mai multor sisteme de operare și eficientizează timpii de execuție a procesoarelor.
Fără opțiunea de virtualiz are hardware a procesorului, ce poate fi activată din BIOS , virtualizarea cu
ajutorul unui hypervisor tip 1 nu poate fi realizat ă. Aceasta nu necesită un sistem de operare deja
instalat.
Hypervisorul înlocuiește sistemul de operare ce intermediază conectar ea aplicațiilor cu
resursele fizice, izolând siste mele de operare de partea hardware a serverului. Prin intermediul
hypervisorului se crează mașini virtuale, cu sisteme de operare separate și aplicații specifice . Aceste
mașini au alocate resursele mașinii fizice în funcție de specificațiile administratorului serverului.
Astfel, se poate optimiza utilizarea resurselor.
15
Figura 3.4: Hypervisor tip 1 (alta poza)
Hypervisoare tip 1 :
• Hyper -V – este dezvoltat de Microsoft ce poate fi implementat direct din Windows
10. Spre deosebire de VMware sau Xen Server aplicații ce se instalează direct pe
sistemul fizic, Hyper -V se instalează ca un rol suplimentar al sistemului de
operare(Windows Server/8/10).
• VMware – este dezvoltat de compania Vmware subsidiară a DEL L Technologies, find
este cea mai răspândită soluție de virtualizare cu cele mai multe opțiuni pentru o
infrastructură virtuală.
• XenServer – software realizat de Citrix, este o aplicație open source mai puțin
răspândită decât Hyper -V sau Mare. Capabilită țile sale fiind mai reduse decât
versiunea plătită a VMware. [15]
1.3 Paravirtualizare – hypervisor tip 2 -Qemu, Virtualbox, VMWare, Parallels
Echipa proiectului Xen, a introdus o tehnologie efici entă de virtualizare adoptată ulterior de
toți furnizor ii de software de virtualizare. Aceasta a fost numită paravirtualizare și printr -o aplicație
software (hypervisor de tip 2) permite funcționarea mai multor sisteme de operare în același timp.
Tipul acesta de software necesită un sistem de operare instalat pe hardware -ul folosit.
Putând simula tehnologia de virtualizare a procesorului , o mașină virtuală realizată cu un
hypervisor tip 2 poate su sține instalarea unei mașini virtuale hypervisor tip 1.
Cu toate că p aravirtualizarea poate avea performanțe su perioare virtualizării directe , are o cotă
de utilizare în domeniu mai mică . Această oferă utilizatorului posibilitatea de a simula existența un ui
tip de infrastructură diferit de cel existent fizic. Aplicațiile ce se încadrează ca și Hypervisor tip 2
sunt:
• Parallels Workstation – utlizat în special pe sisteme dezvoltate de compania Apple,
acest software a fost adaptat și pentru sisteme Linux sau Windows
16
• Qemu – software openso urce ce poate virtualize și emula sisteme unix, dar poate rula
și alte sisteme de operare
• Virtualbox – hypervisor tip 2 ce poate virtualize diverse sisteme de operare precum
BSD, MS-Dos, Solaris, Unix(linux) și Windows. A fost dezvoltat de compania Oracle.
• VMWare Workstation – freeware pentru utiliza re personală, da r cu plată pentru
companii , acest hupervisor tip 2 oferă și suport pentru diverse tip -uri de sisteme de
operare.
Figura 3.5: Hypervisor tip 2 (alta poza)
.
17
Capitolul 2
Analiza comparativă a performanțelor unui sistem fizic în comparație
cu sisteme virtuale
18
În mod evident, diferențe între un sistem fizic și unul virtual există. Pentru a vedea cât de
multe sunt, cât de majore și în ce direcție înclină balanța aceste diferențe, am ales să fac o analiză
comparativă între performanțele unui sistem fiz ic și cinci sisteme virtuale, cu configurații diferite.
În primul rând, am avut ca reper un sistem fizic ce utilizează un procesor cu 4 nuclee și 8 GB
memorie RAM, ale cărui performanțe le -am comparat pe rând cu 5 mașini virtuale a căror configurație
a plecat de la un singur procesor cu unul, doua, patru sau opt nuclee, până la 4 procesoare cu două
nuclee, toate acestea având fie 4 GM memorie RAM, fie 8 GB memorie RAM.
Tabel nr. 2.1 – Sisteme alese pentru comparație
În al doilea rând, analiza perform anțelor sistemelor virtuale în raport cu sistemele fizice pe
care am efectuat -o are la bază utilizarea XenServer, un hypervisor tip 1, ale cărui performanțe au fost
interpretate cu ajutorul softului de testare Novabench.
Toate datele colectate și analizat e se regăsesc în tabelul și graficele prezentate pe parcursul
prezentului capitol.
Scorul Novabench este format după două criterii de performanțe tehnice, unul al procesorului,
iar celălalt fiind un agregat între viteza în MB/s a memoriei RAM și vitezele de scriere și de citire în
MB/s a Hard Disk -ului.
Procentual, scorul total Novabench pentru sitemul fizic avut ca reper în analiza pe care am
efectuat -o este dat în proporție de circa 61% de performanțele procesorului.
TIP SISTEM PROCESOARE NUCLEUMEMORIE
RAM GB
Sistem fizic 1 4 8
Mașină virtuală nr. 1 1 1 8
Mașină virtuală nr. 2 1 2 4
Mașină virtuală nr. 3 1 4 8
Mașină virtuală nr. 4 1 8 8
Mașină virtuală nr. 5 4 2 8
19
De partea cealaltă, ponderea perf ormanțelor sistemelor virtuale fluctuează între 46,5% și 69%
din scorul total Novabench. Aceste cifre sunt un prin indicator în funcție de care putem spune că, în
anumite circumstanțe, performanțele mașinilor virtuale le pot depăși pe cele ale sistemelor f izice.
Analizand în continuare performanțele CPU, trebuie subliniat faptul că sistemul fizic s -a
descurcat, în general, mai bine decât sistemele virtuale atunci când a venit vorba de numărul
operațiunilor realizate cu numere zecimale, în vreme ce sistemele virtuale au performat ușor mai bine
când s -au realizat operațiuni cu numere întregi.
Astfel, sistemul fizic a reușit să proceseze un număr de operațiuni cu numere zecimale mai
mare decât două din cele 5 sisteme virtuale, iar cu alte două a procesat un vol um relativ similar.
Raportat la performațele sistemului fizic, sistemele virtuale au avut un randament care a variat între
-71% și +130%, strict în ceea ce privește numărul de operațiuni realizate cu numere zecimale.
Lucrurile sunt un pic diferite, de data aceasta în favoarea sistemelor virtuale, atunci când vine
vorba de realizarea de operațiuni cu numere întregi. Pe scurt, raportat la performațele sistemului fizic
în materie de procesat operațiuni cu numere întregi, sistemele virtuale au avut un randa ment care a
variat între – 47% și +118%.
RAM
numărul de operațiuni
realizate cu numere
întreginumărul de operațiuni
realizate cu numere
zecimaleScor
Novabench Viteză RAM
MB/s Viteză de
scriere
MB/sViteză de
citire
MB/s
Sistem fizic 254069782 86327518 319 12166 73 75 520
Mașină virtuală nr.
1 133968728 25077675 218 16267 55 410 461
Mașină virtuală nr.
2286414748 50797117 341 17571 32 410 546
Mașină virtuală nr.
3406875473 96942870 478 16110 70 424 689
Mașină virtuală nr.
4133456217 199319772 434 17372 72 435 684
Mașină virtuală nr.
5555006053 100785618 551 17547 60 420 801CPU Hard Disk
TIP SISTEMScor total
Novabench0100000000200000000300000000400000000500000000600000000
Sistem fizic Mașină
virtuală nr. 1 Mașină
virtuală nr. 2Mașină
virtuală nr. 3Mașină
virtuală nr. 4Mașină
virtuală nr. 5Performanțe CPU
numărul de operațiuni realizate cu numere întregi
numărul de operațiuni realizate cu numere zecimale
20
Deoarece durata de îmbunătățire a resurselor este net superioră în cazul unei mașini virtuale,
comparativ cu îmbunătățirea performanțelor în cazul unui procesor fizic, putem trage concluzia că
sistemele virtuale su nt mult mai ușor pliabile pe diferite tipuri de operațiuni, în funcție de nevoile
utilizatorului. Din cifrele analizate reiese faptul că, în situația în care, spre exemplu, am avea nevoie
să executăm mai multe operațiuni cu numere zeciale, putem schimba co nfigurația sistemului virtual
astfel încât să reducem durata timpului de execuție cu circa 60%. În cazul în care este nevoie să se
execute mai multe operațiuni cu numere întregi, atunci configurația procesorului poate suferi
modificări în urma cărora vitez a de execuție să fie îmbunătățită cu până la 55 de procente.
Dacă ne raportăm la performanțele generale ale procesorului, atât pentru numărul de
operațiuni realizate cu numere întregi, cât și pentru numărul de operațiuni realizate cu numere
zecimale, obser văm că un sistem fizic, bazat pe un procesor cu 4 nuclee, tactat la 1,8 GHz, este nu
doar egalat, ci și ușor depășit de un sistem cu procesor virtual cu doua nuclee, tactat la 3,5 GHz. Ca
o scurtă concluzie intermediară, trebuie spus faptul că viteza mărit ă a procesorului din serverul fizic
pe care am instalat mașinile virtuale, ajut ă la realizarea mai multor operațiuni decât cel fizic, însă cu
un număr mai mic de nuclee.
O altă observație interesantă extrasă din cifrele analizate este legată de faptul că c el mai bun
scor Novabench realizat de un sistem virtual, strict pentru performanțele procesorului, este mai mare
decât scorul Novabench realizat în total de sistemul fizic pentru performanțele cumulate ale
procesorului, memoriei și hard disk -ului.
Dacă în cazul vitezei de calcul a procesorului, sistemul fizic înregistrează, pe alocuri,
performanțe mai bune decât sistemele virtuale, atunci când ne raportăm strict la viteza memoriei
RAM observăm că mașinile virtuale se prezintă net mai bine. Astfel, cea mai s labă performanță a
unui sistem virtual în materie de viteză a memoriei RAM este cu 29,5% mai mare decât parametrii
înregistrați de sistemul fizic. Dacă mutăm comparația către cel mai performant sistem virtual,
diferența acestuia față de sistemul fizic urcă până la +41,3%. Altfel spus, apelând la un sistem virtual
vom putea ajunge la aceleași rezultate ca și cu un sistem fizic, utilizând un număr mai redus de resurse
pentru anumite operațiuni.
21
În finalul analizei în funcție de viteza memoriei RAM trebui e spus că sistemul fizic a
înregistrat un scor Novabench mai bun decât un un singur sistem virtual. Pe de altă parte, toate
celelalte sisteme virtuale au realizat un scor similar unul față de celălalt.
Este important de menționat și că ponderea scorul Novabench înregistrat de viteza memoriei
RAM este de aproximativ 35% din totalul scorului Novabench realizat de sistemul fizic, pe când
majoritatea ponderilor asociate sistemelor virtuale sunt mult mai mici, fiind cuprinse intre circa 25%
și 29%. Excepție face o singură mașină virtuală, în cazul căreia scorul Novabench acumulat pentru
viteza memoriei RAM are o pondere de peste 42% din total.
Pentru o mai bun ă acurate țe a rezultatelor pe care le -am urm ărit în urma analizei, trebuie
menționat c ă cifrele au fost interpretate ținându-se cont și de faptul c ă mașinile virtuale au ca mare
dezavantaj gradul de încărcare a sistemelor. Pe măsură ce măsură ce mai multe mașin i virtuale
22
utilizează la maximum resursele disponibile, atunci și performanțele acestora riscă să varieze
semnificativ. Pentru a evita astfel de situații, în practică, se recomandă să se recurgă la migrarea unor
masini de pe un server fizic foarte încarcat către un alt server fizic cu un grad de ocupare mai redus,
dar care se află în aceeași colec ție de resurse. De asemenea, pentru a nu se ajunge la o supraîncărcare
pe un server se poate apela și la efectuarea de modificări în codurile de programare.
Legat de problemele generate de supraîncărcarea unui server, putem preciza că acestea își fac
simți tă prezența și în cazul performanțelor spatiului de stocare. Chiar dacă, în general, performanțele
unei resurse mai bune instalate pe un server fizic atrag după sine rezultate pozitive și pentru mașinile
virtuale, atunci când intervine problema supraîncarc ării serverului, componentele virtuale raportează
performanțe inferioare. Acest lucru se poate observa foarte clar în cazul mașinii virtuale numărul 2
care înregistrează performanțe la viteza de scriere cu până la 50% mai mici decât parametrii similari
de pe celelalte mașini virtuale care utilizează aceeași resursă fizică.
Dacă la viteza de scriere a Hard Disk -ului nicio mașină virtuală nu bate echipamentul fizic,
nu același lucru se poate spune în cazul vitezei de citire. Aici, vitezele echipamentelor v irtuale sunt
de peste șase ori mai mari, context în care nu ar mai fi foarte multe de zis.
În încheiere, ca o concluzie generală, putem trage concluzia, strict în baza paramerilor
analizați cu ajutorul softului de testare Novabench, că mașinile virtuale po t obține rezultate mult mai
bune decât un sistem fizic. Cu performanțe mai bune înregistrate, în general, pe toate cele trei
componente principale analizate – procesor, memorie RAM și Hard Disk – sistemele virtuale se
dovedesc mai utile atât per ansamblu, cât și atunci când avem nevoie doar de o anumita resursă
îmbunătățită pentru a realiza operatuni specifice.
0100200300400500600700800900
Sistem fizic Mașină
virtuală nr. 1 Mașină
virtuală nr. 2Mașină
virtuală nr. 3Mașină
virtuală nr. 4Mașină
virtuală nr. 5Performanțele Hard Disk -ului
Scor total Novabench
23
Capitolul 1: Descrierea tipurilor de conexiuni 11/54
1.1 Introducere 12/54
1.2 Tipuri de conexiuni 15/54
1.2.1 VNC 15/54
1.2.2 Remote desktop 15/54
1.2.3 PC over IP 16/54
Sursa : https://pdfs.semanticscholar.org/b6c5/d1731ed7672fd90eb92cf7d0ba27b7b4d538.pdf
, ultima accesare 28.06.2018
https://en.wikipedia.org/wiki/Remote_Desktop_Protocol
LATEST TRENDS on COMPU TERS (Volume II) – Performance analysis and comparison of
virtualization protocols, RDP and PCoIP
Introducere
24
O distribuție de virtualizare desktop este viitorul în consolidatea infrastructur ii IT. Acesta este
următorul pas logic pe care se bazează virtualizarea serverelor și oferă economii pentru utilizatori.
Având în vedere faptul că sarcina computațională este în mare parte transferată la server, este
posibil să se minimizeze performanța dispozitiv ului utilizat de client . Principalul avantaj este
reducerea semnificativă a consumului de energie. Astfel, se crează un ‘thin client’ – un client care a
fost modificat deliberat, micșorându -se parametrii computaționali și scăzând puterea consumată.
Această tehnologie utilizează în principiu două tipuri difer ite abordari :
• VDI – Virtual Desktop Infrastructure se bazează pe sisteme autonome separate. Imagini ale
sistemului de operare sunt stocate într -un depozit centralizat partajat cu resurse de stocare și
procesare prestabilite de administrator . In acest repoz itoriu, imaginea menționată este
virtualizată și pregătită conexiuni client. Accesând terminalul, thin client -ul se conecteaza la
server iar întreg transferul de date de la client este redirecționat către un sistem remote. Acest
proces este ascuns de utili zator și de sistemul creează impresia că rulează la nivel local.
• A doua abordare utilizează o singură operație sistem care apare ca gazdă. Cu fiecare client ce
solicită o conexiune la sistemul central, se crează o legătură. Din perspectiva utilizatorului,
este din nou un sistem local de același tip ca cel de pe echipamentul gazda și include doar
acele aplicații care sunt instalate pe mașina virtuală de pe server. Această abordare este
cunoscută sub numele de Terminal Services.
Protocoale de distribuție
Utilizatorii actuali sunt exigenți și în cazul instal ării de clinți virtuali , se așteaptă la același confort
oferit de un sistem instalat pe echipamentul local . Producătorii de instrumente de virtualizare au
realizat acest lucru și au implement at instrumentel e care asigură o experiență cu un grad mare de
satisfacție în sistemele și protocoalele lor. Aceste îmbunătățiri oferă utilizarea de hardware grafic de
pe thin client -ul local pentru procesarea grafic ă. Microsoft utilizează pentru Terminal Services RDP
(Remote Desktop Protocol). Ultima versiune a acestui protocol este etichetat ca RDP 10. Citrix a
implementat extensia HDX ( High Definition User Experience ) în distribuția a protocol ului ICA.
Vmware, împreună cu Teradici au creat un nou protocop numit PC -over-IP (pe scurt PcoIP). Această
tehnologie poate identifica automat dispozitivul local al utilizatorului și este capabil ă să aleagă
metoda optimă de livrare a datelor. PC-over-IP atinge rezultate excelente în transmiterea de grafică
și datele multimedia, dar trebuie remarcat faptul că în totalitate să exploateze capacitățile acestei
tehnologii este necesar utilizarea tehnologie i Teradici de suport hardware. Olivetti & Oracle Research
Lab din Cambridge au dezvoltat Virtual Network Computing (VNC) ca și protocol de remote desktop .
Acesta este bazat pe Remote Frame Buffer (RFB) . Transmite comenzile date la stația locală și întoarce
ecranul grafic de pe stația virtuală după procesarea acelor comenzi.
25
Sursă pcoip :
http://www.ms.sapientia.ro/~manyi/teaching/oop/ oop_romanian/curs9/curs9.html
https://en.wikipedia.org/wiki/Teradici
https://en.wikipedia.org/wiki/User_Datagram_Protocol
Cursul de Conexiuni pentru virtualizarea Desktop , 201 8, drd. Ing. Victor Popa
https://itknowledgeexchange.techtarget.com/virtualization -pro/pc -over-ip-remote -display –
technology -the-inner -workings -of-vmware -view -4/
PC over IP
PC over IP (PcoIP) este un protocol de remote desktop . PC over IP utilizează User Datagram
Protocol (UDP), o alternativă la TCP (Transmission Control Protocol). PcoIP -ul codează bitmapuri
(hărți de biți) pe server și apoi le transmite către client (thin client/ user) . În cazul în care informația
pe server se schimbă parțial, se transmite doar schimbarea efectuată (exemplu : se transmit date grafice
cu un ecran de desktop – vizulizăm ecranul mașin ii virtual e. Dup ă efec tuarea unei acțiuni ce se
reflectă în mașina virtuală, protocolul întoarce imaginea ce corespunde acțiunii – informația transmisă
fiind doar cea ce corespunde mișcărilor efectuate pe ecran ul mașinii ). Din punctul de vedere al
clientului, se vizualizează un clip cu ecranul mașinii virtuale accesate.
PcoIP gestionează aplicații grafice și multimedia, cu dezavantajul că folosește puterea
computațională a procesorului mașinii virtuale. Deci randarea grafică se realizează pe mașina virtuală
(procesat de server) . Cum PcoIP este un protocol multi -codec și adaptabil dinamic protocolul preia
imaginea compimată, o codeaz ă, iar sursa(thin client -ul) decriptează mesajul. Deoarece tehnicile de
comprimare a imaginilor video diferă în comparație cu cele pentru text , în fun cție de imagine, se
folosesc diverse codecuri pentru a coda pixelii expediați. Compoziția spațial ă superioară PCoIP
elimină posibilitatea de a crea artefacte de mișcare, texte incomprehensibile, culori incomplete și
26
imperfecte în conținut. Folosind algoritmi PCoIP, utilizatorii pot păs tra, de asemenea, claritatea
textului , mărind astfel textul și conținutul de culoare netedă și precisă pentru imaginile mărită.
Când mediul de transmisiune nu permite o bandă suficient de mare, se folosește o compresie
cu pierderi , pentru a livra imaginea rapid. Imaginea este rafinată prin informații sup limentare
transmise ulterior. Procesul este denumit “build to perceptually lossless” . Utilizarea compresiei fără
pierderi este realizat ă atunci c ând traficul informațional o permite ( rețeaua este necongestionat ă) sau
atunc i când protocolul este în aș a fel configurat – când fidelitatea imaginii este mai imp ortantă de cât
conservarea lățim ii de bandă .
Figura x sursa : https://itknowledgeexchange.techtarget.com/virtualization -pro/pc -over-ip-
remote -display -technolo gy-the-inner -workings -of-vmware -view -4/
Descriere fun cțional ă:
• este utilizat în soluția VMware
• ecranul este comprimat, criptat și transmis prin rețele IP
• Suportă accelerare pe bază de GPU
• Are supo rt pentru mouse, tastatură, USB, monitoare multiple, imprimante, interfețe
audio precum și o serie largă de alte opțiuni
• Este implementat și pe o serie de Zero Clients (decodarea și afiș area este făcută
hardware, ceea ce reduce semnificativ timpul de răspuns)
• Pixelii sunt reproduși exact de către client (lossless reproduction )
• Datele sunt transmise folosind protocolul UDP
În rețelele de calculatoare, UDP este unul dintre membrii de bază ai suitei de protocoale
Internet. Protocolul a fost proiectat de David P. Reed în 1980 și definit formal în RFC 768. Cu UDP,
aplicațiile computerizate pot trimite mesaje, în acest caz denumi te datagrame, altor gazde dintr -o rețea
27
IP (Internet Protocol). Comunicările anterioare nu sunt necesare pentru a configura canalele de
comunicații sau căile de date.
UDP utilizează un model simplu de comunicare fără conexiune cu un minim de mecanism de
protocol. Furniz ând sumele de control pentru integritatea datelor și numerele porturilor pentru
adresarea diferitelor funcții la sursa și destinația datagramei , acesta nu realizează un di alog între sursa
mesajului și receptor, astfel risc ând ca procesul de transmitere a datelor să înce apă fără ca receptorul
să le poată recepta. As tfel, se pierde fiabilitatea rețelei de bază , neexistand o garanție de comandă ,
livrare sau protecție dublă. Corectarea erorilor se realiz ează de obicei cu protocoale precu m TCP
(Transmission Control Protocol ) sau SCT P (Stream Control Transmission Protocol ) care sun t
proiectate pentru acest a spect. Protocolul UPD este util pentru transmisiuni în care corectarea erorilor
nu este necesară sau se realizează în alți paș i ai lan țului de comun icare . Se utilizează în aplicațiile
care neces ită rapiditate î n trans miterea pachetelor cu informații , deoar ece se prefer ă distrugerea
pachetelor față de aște ptarea pachetelor întarziate datorită retransmiterii . Caracteristica este necesară
în sisteme în timp real.
Beneficii P CoIP:
• Host rendering : procesarea la nivel de pixel implică rularea aplicațiilor la randament
maxim
• Decompuneare a și codarea multiplă optimă : se obține calitatea maximă pentru
imagine datorită implementării codării fără pierderi, totodată utilizând banda minimă
• Transmisiunea la nivel de pixel : doar pixelii sunt transmiși ceea ce înseamnă că datele
de pe server rămân în siguranță
• Independență de platformă : poate fi utilizat în infrastructuri cloud publice, private sau
hibride
Componente P CoIP:
• PCoIP Standard Agents (făr ă accelerare 3D, special conceput pentru infrastructuri
VDI) și PCoIP Graphics Agents (folosește OpenGL și DirectX pentru accelerare
grafică), ca și componentă a Cloud Access Software
• Clienți PCoIP software pentru macOS și Windows
• Clienți PCoIP pe mobil pentru sistemele de operare iOS, macOS, Android și Chrome
OS
• PCoIP Zero Client (client hardware)
• PCoIP Remote Workstation Card: oferă acces la distanță la stații de lucru fizic e,
deseori prin LAN (soluție concepută pentru rată mare a cadrelor)
Tehnologii suportate :
• Afișare : monitoare multiple cu topologi i diferite . Rezoluția maximă: 3840×2160 (4K)
28
• Audio In/Out: suportă stereo
• Imprimantă: fie prin rețea, fie prin USB
• Clipboard: partajat între client și server
• USB: suportă o gamă largă de dispozitive ce se pot conecta prin USB:
• Mouse și tastatură
• Imprimante, scanere
• HDD extern
• Webcam
Remote Desktop Protocol
https://support.microsoft.com/da -dk/help/186607/understanding -the-remote -desktop -protocol -rdp
Cursul de Conexiuni pentru virtualizarea Desktop , 201 8, drd. Ing. Victor Popa
https://en.wi kipedia.org/wiki/Remote_Desktop_Protocol
[30] https://vdocuments.site/cisco -5689125703d46.html ultima accesare 29.06.2018
Remote Desktop Connection (RDP) se bazează și extinde standardele internaționale a familiei
de pro tocoale ITU T.120. (se referă la comunicații punct -la-multipunct, teleconferință,
29
videoconferință, etc.), cu accentul pe ITU -T.125 ce se referă la protocoalele pentru serviciile de
comunicare de tip multipunct și pe ITU -T.129 ce se referă la partajare mult ipunct a aplicațiilor.
Conține și mecanismele de comunicație necesare pentru schimburi de date ce erau incluse în
Microsoft NetMeeting .
Fiind un protocol ce permite comunicarea pe mai multe canale vi rtuale separate, acesta
criptează mesaje le dintre cl ient și server . Orice dispozitiv poate fi client atât timp cât timp are monitor,
mouse, tastatură și conexiune la rețea . RDP suport ă până la 64 de mii de canale separat e.
La nivelul serverului , protocolul utilizează propriul driver vide o pentru a constitui imaginea
și formează pachete ce con țin informațiile de redare a mesajului original , pachete ce ajung prin rețea
la client. Clientul inter pretează pachetele de date în apelu ri API, propietare inter feței grafice a
dispozitiv elor M icrosoft Windows ( GDI – Graphical Device Interface ), cu date le de redare. În
consecință se vor folosi cei mai eficienți algoritmi de compresie și mecanisme de administrare a
imaginilor astfel încât să se minimizeze efortul computațional și banda utilizată . Driverul grafic RDP
comunic ă prin comenzi cu aplicația printr -o interfață . Instrucțiunile primite de către driverul RDP de
la GDI, va face ca acesta s ă redea e lemenul cerut de a plicație. Driverul RDP transmite date către
client, urmând apoi să se efectueze operațiile în sens invers pentru a se realiza afi șarea ecranului .
Informația dat ă de client interpretată prin intermediul mouse -ului și tastaturii sunt procesate de
driverul propriu de pe server . Pentru a optimiza grafica se :
• utilizează palete de culori: în loc sa se folosească 3 octeți (RGB) pentru fiecare pixel
se creează un tabel ce conține doar culorile utilizate în bitmap (1 octet); tabela este
transmisă clientului .
• transmit imaginil e animate prin mecan isme de caching
• folosesc lib răriile de font -uri locale de la client pentru transmiterea de text
• folosesc diverse mecanisme pentru desenarea bitma p-ului pentru a optimiza transferul
de date, cum ar fi pentru linii se transmite doar coordonatele de început și sfârșit,
culoarea și grosimea
Protocolul RDP utilizează cifrul RC4 al RSA Security pentru criptarea datelor. Acesta este
eficient în criptarea cantităților mici de date. Administratorii au posibilitatea de a cripta datele cu 2
tipuri de chei : pe 56 de bi ți sau pe 128 de biți . Semnăturile sunt obținute în urma unei combinații
dintre algoritmii MD5 și SHA -1 ce previne manipularea datelor . În plus stratul de securitate
coordonează transmisia de date de autentificare pentru utilizatori și licențele asoc iate.
30
Figura – Opera țiune MD5 sursa :
https://commons.wikimedia.org/wiki/File:MD5_algorithm.svg
În vederea dimin uării cantității de date transmise printr -o conexiune la rețea, RDP -ul
comprimă datele , cache -ul bitmapurilor, cac he-ul glifurilor și al fragmentelor în RAM. Cache -ul
bitmap persistent oferă o îmbunătățire s ubstanțial ă a performanței la lățimi de band ă reduse, mai ales
când sunt utilizate aplicații ce folosesc bitma puri mari.
De asemenea, RD P este proiectat pentru a suporta mai multe tipuri de topologii de rețea (cum
ar fi ISDN, POTS și multe protocoale LAN, cum ar fi IPX, NetBIOS, TCP / IP etc.). Versiunea actuală
a RDP se va difuza numai pe TCP / IP . Activitatea implicată în trimiterea și primirea datelor prin
stiva RDP este, în esență, aceeași ca și standardul OSI de șapte niveluri pentru rețele LAN comune.
Datele dintr -o aplicație sau servi ciu care urmează a fi transmise sunt transmise prin stivele de
protocol, secționate, direcționate către un canal (prin MCS ), criptate, înfășurate, încadrate,
împachetate în protocolul de rețea , adresate și expediate către client . Datele returnate funcționează în
același mod numai în sens invers, pachetul fiind dezbrăcat de adresa sa, apoi dezlegat, decriptat și așa
mai departe, până când datele sunt prezentate aplicației pentru utilizare. Porțiunile cheie ale
modificărilor stack -ului de protocol apar între straturile 4 și 7, unde datele sunt criptate, înfășurate și
încadrate, direcționate spre un canal și prioritizate.
31
Figure : Standardul OSI sursa: http://baskan.idai.co/networking -layers/
Un utilizator poate să se deconecteze manual de la o sesiune de comunicare remote , fără a
întrer upe funcționalitatea sistemului pe server . Utilizatorul este reconectat automat la sesiunea
deconectată atunci când se conectează înapoi la sistem, fie de la același dispozitiv, fie de la un alt
dispozitiv. Atunci când sesiunea unui utilizator este t erminată în mod neașteptat de o rețea sau un
eșec client, utilizatorul este deconectat, fără a închide sesiunea .
Utilizatorii pot transmite date între aplicații care rulează pe calculatorul local și cele care
rulează într -o sesiu ne de la distanță și între sesiuni. Aplicațiile care rulează în cadrul unei sesiuni de
la distanță pot accesa periferice atașate la dispozitivul client. Prin remote desktop, este p osibilă
diagnosticarea și rezolvarea unor probleme locale de la distanță .
Platformele client și server joacă un rol -cheie. Lățimea de bandă a rețelei poate fi redusă prin
comp rimare. Cu toate acestea, în cazul în care clientul este prea lent pentru a procesa fluxul de date
recepționat și pentru a -l cripta simultan, sesiunile nu vor funcționa fără probleme. Prin urmare,
optimizarea ratei de transmisie prin interzicerea fundaluri lor desktop sau a meniurilor animate nu este
de folos. RDP beneficiază de NLB ( Network Load Balancing ) , dacă este disponibilă.
RDP este utilizabil la o lățime de bandă de 20 kilobiți pe secundă (Kbps), și cel mai eficient
la 50 Kbps. Dacă există o lățime de bandă suficientă, protocolul RDP poate utiliza până la 500 Kbps .
[30] De exe mplu, utilizează mai multă lățime de bandă dacă un program produce rapid o serie mare
de imagini în serie și dacă este limitat doar de capacitatea canalului de ieșire.
În plus, RDP conține următoarele caracteristici:
• Suport pentru culoare pe 24 de biți.
• Performanță îmbunătățită față de conexiunile dial -up cu viteză redusă prin lățime de
bandă redusă.
• Autentificare cu cartela inteligentă prin intermediu l serviciilor Desktop la distanță.
• Comunicarea cu tastatură.
• Abilitatea de a direcționa combinații speciale de taste Windows, în modul ecran
complet, la computerul local sau la un computer la distanță.
• Sunet, unitate, port și rețea de redirecționare a impr imantei.
• Sunetele care apar pe computerul la distanță pot fi auzite pe computerul client care
execută clientul RDC, iar unitățile client locale vor fi vizibile pentru sesiunea de la
distanță.
Capabilități RDP versiunea 10.0:
• Culoarea pixelilor de 32, 24, 16, 15, și 8 biți
• Criptare pe 128 de biți folosind RC4
• Redirecționare audio către client
• Redirecționare sistemului de fișiere
• Redirecționarea imprimantelor și a port -urilor seriale și paralele locale
• Clipboard comun între client și server
32
• Network Level Authentication: se vor cere datele de autentificare înainte de a realiza
conexiunea (nume utilizator și parolă). O soluție mai sigură spre deosebire de situația
în care ne apare ecranul de logare de la mașina destinație (ast fel sunt prevenite o serie
de posibile atacuri asupra mașinii destinație)
• Suport pentru monitoare multiple
• RemoteFX: virtualizarea GPU la nivel de gazdă (placa grafică de la destinație este
virtualizată) pentru a îmbunătății redarea grafică considerabil.
• Suport pentru TLS 1.0 (Transport Layer Security) atât la server cât și la client
[31] https://www.hep.phy.cam.ac.uk/vnc_docs/howitworks.html
https://en.wikipedia.org/wiki/Virtual_Network_Computing
Virtual Network Computing
Protocolul VNC este un protocol simplu pentru accesul de la distanță la interfețe grafice de
către utilizator i. Se bazează pe conceptul de framebuffer la distanță sau RFB (remote framebuffer ).
Protocolul permite pur și simplu unui server să actualizeze framebuffer -ul afișat de un client .
Deoarece funcționează la nivelul framebuffer, este posibil să se aplice tuturor sistemelor de operare,
din această cauză fiind foarte versati l. Acestea includ X / Unix, Windows și Macintosh, dar pot
33
include și PDA -uri și, de fapt, orice dispozitiv cu o anumită formă de comunicare. Protocolul va
funcționa pe orice transport de încredere, cum ar fi TCP / IP.
Acesta este un protocol ‘thin client ’, fiind conceput pentru a utiliza pu ține resurse ale
clientului . În acest fel, clienții pot rula pe cea mai largă gamă de hardware, iar sarcina de a implementa
un client este făcută cât mai simpl ă posibil.
Partea afișată a protocolului se bazează pe o singură primitivă grafică: realizarea unui
dreptunghi de pixeli întrun sistem cart ezian x,y. Poate pare un mod ineficient de a reda componente
arbitrare de interfață , dar pentru că avem o varietate de scheme de codificare diferite pentru datele
pixelilor, putem selecta schema potrivită pentru fiecare dr eptunghi pe care îl trimitem . Astfel, se poate
controla lățimea de bandă a rețelei, viteza de afișaj a client ului și viteza de procesare a gazdei . Cea
mai simpl ă formă de transmitere este cea de codificare brută , unde dreptunghiul este un pixel . Aceștia
sunt trasmiși de la st ânga la dreapta de pe imaginea origina lă de pe server.
Toți clienții și serverele trebuie suport ă această codificare. Cu toate acestea, codificările
utilizate efectiv pe orice conexiune VNC dată pot fi negociate în funcție de abilitățile serverului,
clientul ui și conexiunea dintre cele două. Codificarea unei sec țiuni d reptunghiulare, este simpl ă și
eficient ă, și este utilizat ă când în cadrul fram ebufferului deja exista aceast ă informație. Serverul
trimite coordon atele X, Y ce indică poziția de la care clientul poate copia secțiunea dreptunghiulară
de pixeli . Asta aduce operațiuni precum mișcarea (dragging ) sau mișcare a unei ferestre (dragging a
wind ow), care implică modificări sub stanțiale ale ec ranului , să necesite doar ca țiva octeți de
informație. Majoritatea clienților suportă această codificare, fiind ușor de implementat . Totodată
lățimea de bandă ocupată este redusă. Un desktop tipic are suprafețe mari de culoare solidă și de text.
Unele din cele mai eficiente codificări ale protocolului VNC descrie fundalul cu culoare majoritar ă
și adaugă sec țiuni de d reptunghiuri mai mici de diferite culori. Dar exista și alte posibilită ți precum :
o codare JPEG pentru imagini statice sau codare MPEG pentru imagini în mișcare. O codificare care
folosește un fel de cache de date pixel ar fi bună pentru redarea textului, unde același caracter este
desenat de mai multe ori în același font. Aparițiile ulterioare ale aceluiași caracter ar fi codificate doar
prin referire la prima apariție. [31]
34
Figura x – Framebuffer Sursa :
http://groups.csail.mit.edu/graphics/classes/6.837/F98/Lecture4/FramBuff.html
Protocolul face o actualizare a f ramebuffer ului. O actualizare reprezintă o schimbare de la o
stare de framebuffer validă la alta, deci în unele moduri este similară cu un cadru de video, dar de
obicei este doar o mică zonă a framebuffer -ului care va fi afectată de o act ualizare. Fiecare secțiune
dreptunghiulară poate fi codificată folosind o schemă diferită. Serverul poate alege cea mai bună
codificare pentru conținutul specific de ecran care este transmis și disponibilitatea lărgimii de bandă
a rețelei. Actualizare este trimisă numai de server ca răspuns la o solicitare explicită din partea
clientului. Acest lucru conferă protocolului o calitate adaptivă. Cu cât este mai lent clientul și rețeaua,
cu atât este mai mic ă rata de actualizări. Fiecare actualizare include toate modificările aduse
"ecranului" de la ultima solicitare a clientului. Cu un client lent și /sau o rețea, starea tranzitorie a
framebuffer -ului este ignorată, rezultând un trafic redus în rețea și un “ecran ” redus pentru client.
Acest lucru îmbunătățește, de asemenea, viteza de reacție aparentă.
Partea de intrare a protocolului se bazează pe un model standard de stație de lucru pentru o
tastatură și un dispozitiv de indicare cu mai multe butoane. Evenimentele de intrare sunt trimise
serverului de către client ori de câte ori utilizatorul apasă o tastă sau un buton sau ori de câte ori
dispozitivul de indicare este mutat. Aceste evenimente de intrare pot fi, de asemenea, sintetizate de
la alte dispozitive I /O non -standard.
Atunci când conexiunea dintre un client și un server este inițial stabilită, serverul începe prin
a cere autentifica rea de la client folosind o schemă de răspuns -răspuns, care de obicei conduce la
solicitarea utilizatorului pentru o parolă la sfârșitul clientului. Serverul și clientul apoi schimbă
mesajele pentru a negocia dimensiunea desktopului, formatul pixelilor și schemele de codare care vor
fi utilizate. Clientul solicită apoi o actualizare pentru întregul ecran, iar sesiunea începe. Din cauza
naturii independente fizic față de serve r a clientului, ambele părți pot închide conexiunea în orice
moment, fără consecințe negative.
35
O descrire simpl ă a întregului lanț de conexiune este :
Clientul VNC
• Implementarea unui client este relativ simplă – cu orice software de vizualizare VNC
• Acesta are nevoie de o conexiune la rețea prin protocolul TCP/IP și de o modalitate de
afișare (fie direct prin scrierea î n framebuffer, fie prin afișarea într -o fereastră)
Serverul VNC
• Implementarea serverului este mai complexă deoarece se dorește ca partea de client să
fie cât mai simplă
• Serverul trebuie să fie capabil să transmită pixelii în formatul cerut de către client
• Pot fi pornite instanțe multiple pentru server
• În mod uzual acesta rulează pe porturile 5900 + n, unde n este numărul instanței
ecranului
• Pentru Linux există o serie largă de servere VNC: TurboVNC, ThightVNC,
TigerVNC, etc.
• Pentru Windows implementarea este mai dificilă deoarece există mai puține metode
de a obține rapid starea ecranului (ex. WinVNC)
• Conexiunile VNC nu sunt criptate (criptarea se poate face separat folosind SSH )
Figura x . Sursa: https://alexintutor.blogspot.com/2015/08 /how -to-
connect -to-vnc-server -over.html
Inițierea conexiunii
• Pentru realizarea conexiunii serverul va cere datele de autentificare ce constau, în mod
uzual într -un user și o parolă
• Urmează negocierea parametrilor de transmisie: r ezoluția ecranului, formatul pixelilor
și schema de codare utilizată
• Clientul cere apoi un update pentru tot ecranul și sesiunea este deschisă
• Încheierea conexiunii poate fi făcută fie de către server, fie de către client
36
Bibilografie:
[1] Michael C. Daconta (2013) – The Great cloud migration
[2] Matthew Por tnoy (2016) – Virtualization Essentials: Edition 2
[3] K. Chandrasekaran (2015) – Essentials of CLOUD COMPUTING
[4] https://www.raspberrypi.org/ ultima accesare 29.06.2018
[5] https://www.raspbian.org/ ultima accesare 29.06.2018
[6] https://en.wikipedia.org/wiki/Raspberry_Pi ultima accesare 29.06.2018
[7] https://en.wikipedia.org/wiki/Raspbian ultima accesare 29.06.2018
[8] http://www.datacenterdynamics.com/content -tracks/colo -cloud/aws -suffers -a-five-hour-outage –
in-the-us/94841.fullarticle – ultima accesare 28.06.2018 ultima accesare 29.06.2018
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Client Raspberry Pi pentru infrastructuri virtuale de desktop [626552] (ID: 626552)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
