+ All Categories
Home > Documents > Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... ·...

Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... ·...

Date post: 20-Feb-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
52
1 Investeşte în oameni! FONDUL SOCIAL EUROPEAN Programul Operaţional Sectorial Dezvoltarea Resurselor Umane 2007 – 2013 Axa prioritară 1 „Educaţie şi formare profesională în sprijinul creşterii economice şi dezvoltării societăţii bazate pe cunoaştere” Domeniul major de intervenţie 1.5. „Programe doctorale şi post-doctorale în sprijinul cercetării” Titlul proiectului: Burse doctorale si postdoctorale pentru cercetare de excelenta Numărul de identificare al contractului: POSDRU/159/1.5/S/134378 Beneficiar: Universitatea Transilvania din Braşov Partener: Universitatea Transilvania din Brașov Școala Doctorală Interdisciplinară Departamentul de Electronică și Calculatoare Cosmin COSTACHE Contribuții la Managementul Rețelelor Definite Software Contributions to the Management of Software Defined Networks Conducător ştiinţific Prof.dr.ing. Florin SANDU BRASOV, 2015
Transcript
Page 1: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

1

Investeşte în oameni!

FONDUL SOCIAL EUROPEAN Programul Operaţional Sectorial Dezvoltarea Resurselor Umane 2007 – 2013 Axa prioritară 1 „Educaţie şi formare profesională în sprijinul creşterii economice şi dezvoltării societăţii bazate pe cunoaştere” Domeniul major de intervenţie 1.5. „Programe doctorale şi post-doctorale în sprijinul cercetării” Titlul proiectului: Burse doctorale si postdoctorale pentru cercetare de excelenta Numărul de identificare al contractului: POSDRU/159/1.5/S/134378 Beneficiar: Universitatea Transilvania din Braşov Partener:

Universitatea Transilvania din Brașov Școala Doctorală Interdisciplinar ă

Departamentul de Electronică și Calculatoare

Cosmin COSTACHE

Contribu ții la Managementul

Rețelelor Definite Software

Contributions to the Management of

Software Defined Networks

Conducător ştiin ţific

Prof.dr.ing. Florin SANDU

BRASOV, 2015

Page 2: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

2

MINISTERUL EDUCA ŢIEI ȘI CERCETĂRII ȘTIIN ȚIFICE

UNIVERSITATEA “TRANSILVANIA” DIN BRA ŞOV BRAŞOV, B-DUL EROILOR NR. 29, 500036, TEL. 0040-268-413000, FAX 0040-268-410525

RECTORAT

D-lui (D-nei) ..............................................................................................................

COMPONENŢA Comisiei de doctorat

Numită prin ordinul Rectorului Universităţii „Transilvania” din Braşov Nr. 7420 din 09.07.2015

PREŞEDINTE:

Conf.dr.ing. Carmen GERIGAN Decan - Fac. de Inginerie Electrică și Știința Calculatoarelor Universitatea „Transilvania” din Brașov

CONDUCĂTOR ŞTIINŢIFIC: Prof. univ. dr. ing. Florin SANDU Universitatea „Transilvania” din Brașov

REFERENŢI: Prof.dr.ing. Ion BOGDAN Universitatea Tehnică ”Gh. Asachi” Iași Prof.dr.ing. Tudor PALADE Universitatea Tehnică din Cluj-Napoca Prof.dr.ing. Mihai ROMANCA Universitatea "Transilvania" din Brașov

Data, ora şi locul susţinerii publice a tezei de doctorat: 26.09.2015, ora 9, sala NII-1 Eventualele aprecieri sau observaţii asupra conţinutului lucrării vă rugăm să le transmiteţi în timp util, pe adresa [email protected] Totodată vă invităm să luaţi parte la şedinţa publică de susţinere a tezei de doctorat. Vă mulţumim.

Page 3: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

3

CUPRINS

Pg.

teza

Pg.

rezumat

LISTA DE ABREVIERI 3 7

INTRODUCERE 5 8

1. VIRTUALIZARE ȘI MEDII DISTRIBUITE 10 12

1.1 Virtualizarea procesării 12 12

1.1.1 Virtualizarea completă 14 14

1.1.2 Para-virtualizare 19 14

1.1.3 Virtualizarea la nivelul sistemului de operare 21 15

1.2 Containere Linux 22 15

1.3 Cloud computing 27 16

1.4 Contribuție la interconectarea containerelor Linux prin intermediul rețelelor

virtuale

29 16

1.5 Concluzii 33 17

2. REȚELE DEFINITE SOFTWARE - SDN 35 18

2.1 Stadiul actual de dezvoltare al rețelelor definite software 39 19

2.2 Domenii de aplicare ale SDN 43 20

2.3 Protocolul OpenFlow 45 20

2.4 Contribuție la securizarea comunicațiilor industriale prin rețele definite

software

48 21

2.4 Concluzii 52 21

3. ANALIZA FLUXURILOR DE DATE – MANAGEMENTUL

REȚELELOR BAZAT PE CON ȚINUT

53 23

3.1 Stadiul actual al metodelor de analiză a pachetelor de date 55 23

3.2 Identificarea tiparelor în analiza pachetelor de date 59 23

3.3 Contribuție la discriminarea fluxurilor prin inspecția profundă a pachetelor

pe platforma ATCA

59 24

3.4 Concluzii 67 25

4. VIRTUALIZAREA EVENIMENTELOR PENTRU CONTROLUL PRI N

STARE

69 26

4.1 Procesarea evenimentelor complexe 69 26

4.2 Modele comportamentale – controlul pe bază de evenimente 71 26

4.3 Integrarea bazată pe containere a unei soluții de securizare prin controlul

evenimentelor

75 27

4.4 Concluzii 79 28

Page 4: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

4

5. ORIENTAREA PE SERVICII A COMUNICA ȚIILOR INDUSTRIALE 80 29

5.1 Abordarea orientată pe servicii 80 29

5.1.1 Standardele care definesc serviciile web 81 29

5.1.2 Serviciile web de tip REST 88 30

5.2 Arhitecturi orientate pe servicii 90 30

5.2.1 Orchestrarea serviciilor web 92 30

5.3 Contribuție la integrarea comunicațiilor industriale în mediul distribuit 96 31

5.4 Concluzii 105 32

6. REȚELE DEFINITE ONTOLOGIC – ÎN INTERNETUL OBIECTELOR 106 33

6.1 Ontologii și web-ul semantic 107 33

6.1.1 Resource Description Framework (RDF) 110 34

6.1.2 Web Ontology Language (OWL) 113 34

6.2 Rețele de senzori organizate semantic 114 34

6.2.1 Adnotarea semantică a datelor 116 35

6.2.2 Interconectarea multi-protocol a rețelelor de senzori 117 35

6.3 Concluzii 120 36

7. CONCLUZII GENERALE ȘI CONTRIBU ŢII ORIGINALE 122 37

BIBLIOGRAFIE 126 40

ANEXE

Scurt Rezumat (romana/engleza)

Curriculum Vitae

Page 5: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

5

CONTENTS

Pg.

teza

Pg.

rezumat

ACRONYM LIST 3 7

INTRODUCTION 5 8

1. VIRTUALIZATION AND DISTRIBUTED ENVIRONMENTS 10 12

1.1 CPU Virtualization 12 12

1.1.1 Full Virtualization 14 14

1.1.2 Para-virtualization 19 14

1.1.3 Virtualization at operating system level 21 15

1.2 Linux Containers 22 15

1.3 Cloud computing 27 16

1.4 Contribution to Linux containers interconnection through virtual networks 29 16

1.5 Conclusions 33 17

2. SOFTWARE DEFINED NETWORKS - SDN 35 18

2.1 Current development of software defined networks 39 19

2.2 Application domains for SDN 43 20

2.3 OpenFlow Protocol 45 20

2.4 Contribution to securing communications in industrial software defined

networks

48 21

2.4 Conclusions 52 21

3. DATA FLOW ANALYSIS – CONTENT DRIVEN NETWORK

MANAGEMENT

53 23

3.1 Methods for network packet analysis 55 23

3.2 Pattern matching in network packet analysis 59 23

3.3 Contribution to flow discrimination using deep packet inspection on ATCA

platforms

59 24

3.4 Conclusions 67 25

4. EVENT VIRTUALIZATION FOR STATE DRIVEN CONTROL 69 26

4.1 Complex event processing 69 26

4.2 Behavioural models – event driven control 71 26

4.3 Container based integration of an event driven security solution 75 27

4.4 Conclusions 79 28

5. SERVICE ORIENTED INDUSTRIAL COMMUNICATION 80 29

5.1 Service oriented approach 80 29

Page 6: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

6

5.1.1 Standards for web services 81 29

5.1.2 REST web services 88 30

5.2 Service oriented architecture 90 30

5.2.1 Web services orchestration 92 30

5.3 Contribution to industial communication in distributed environment 96 31

5.4 Conclusions 105 32

6. SEMANTIC DEFINED NETWORKS - IN THE INTERNET OF T HINGS 106 33

6.1 Ontologies and semantic web 107 33

6.1.1 Resource Description Framework (RDF) 110 34

6.1.2 Web Ontology Language (OWL) 113 34

6.2 Semantic sensor networks 114 34

6.2.1 Data semantic adnotation 116 35

6.2.2 Multi-protocol interoperability in semantic sensor networks 117 35

6.3 Conclusions 120 36

7. CONCLUSIONS AND ORIGINAL CONTRIBUTIONS 122 37

REFERENCES 126 40

ANEXE

Short abstract (romanian/english)

Curriculum Vitae

Page 7: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

7

Lista de abrevieri

Lista de acronime de mai jos conține termenii cei mai relevanți pentru activitatea de cercetare prezentată în lucrarea de față. Denumirile complete au fost lăsate și folosite în original pe parcursul lucrării, fiind preponderent în limba engleză. API Advanced Programming Interface ATCA Advanced Telecom Computing Architecture CEP Complex Event Processing CoAP Constrained Application Protocol DPI Deep Package Inspection ESP Event Stream Processing H2M Human to Machine GRE Generic Routing Encapsulation IaaS Infrastructure as a Service IDS Intrusion Detection System IoT Internet of Things IP Internet Protocol IPv4 Internet Protocol versiunea 4 IPv6 Internet Protocol versiunea 6 ISO International Standard Organization ISP Internet Service Provider JSON JavaScript Object Notation JSON-LD JavaScript Object Notation for Linked Data M2M Machine to Machine MB Middlebox MQTT MQ Telemetry Transport NI NFV

National Instruments Network Function Virtualization

NIST National Institute of Standards and Technology PaaS Platform as a Service PICMG PCI Industrial Computers Manufactures Group RDF Resource Description Framework SaaS Software as a Service SDN Software Defined Networking SSL Secure Socket Layer TLS Transport Layer Security URI Uniform Resource Identifier URL Uniform Resource Locator VISA VXI Instrument Software Architecture VI Virtual Instrument (LabVIEW) VMM Virtual Machine Monitor W3C World Wide Web Consortium WAN Wide Area Network

Page 8: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

8

Introducere O privire de ansamblu asupra ultimului deceniu ne arată o explozie tehnologică manifestată în aproape toate domeniile. În prezent suntem înconjurați de tehnologie care a ajuns să facă din ce în ce mai mult parte din viața noastră cotidiană. Domeniul care cunoaște cea mai dinamică evoluție este cel informatic iar creșterea exponențială a consumului de informație, este factorul care determină apariția continuă și accelerată de noi tehnologii. Se poate afirma că una dintre cele mai inovative tehnologii apărute în ultimul deceniu este reprezentată de tehnologia cunoscută sub denumirea de ”Cloud computing”. Această nouă tehnologie a fost definită de Institutul Naţional de Standarde și Tehnologie din Statele Unite (NIST), ca „un model de servicii de acces prin rețea la sisteme distribuite de resurse de calcul configurabile la cerere (servere, soluții de stocare de date și servicii), care pot fi puse rapid la dispoziție cu eforturi minime de management și intervenție din partea clientului și a furnizorului. Accesul se poate face de oriunde, convenabil, fără ca utilizatorul să fie nevoit să știe în detaliu locația sau configurația sistemelor care furnizează aceste servicii”. Cloud computing este un termen general ce implică livrarea de servicii găzduite pe Internet. S-au evidențiat trei categorii principale de servicii de tip Cloud: servicii de infrastructură (IaaS – Infrastructure as a Service), platformă (PaaS – Platform as a Service) și software (SaaS – Software as a Service). Dar tendința este de a expune cât mai multe resurse ca servicii de tip Cloud, mergând spre conceptul generic „totul” ca serviciu (XaaS – Everything as a Service). Aceasta tendință se observă și în domeniul comunicațiilor unde au apărut concepte noi cum ar fi Software Defined Networking (SDN) sau Network Function Virtualization (NFV) care au ca scop virtualizarea elementelor de rețea și expunerea acestora ca servicii (NaaS – Network as a Service). Titulatura Cloud computing a fost inspirată de către simbolul norului, utilizat frecvent în reprezentarea Internetului [78]. Este o tehnologie nouă, în plină dezvoltare, deși încă nedefinită prin standarde care să caracterizeze anumite modele de implementare și care generează încă numeroase controverse generate în special de temerile legate de securitatea datelor.

Serviciile de tip Cloud au condus la centralizarea unui număr impresionant de resurse, cum ar fi putere de procesare, stocare etc. sub forma unor centre de date. Această consolidare se bazează pe utilizarea pe scară largă a tehnologiilor de virtualizare, astfel pe o infrastructură hardware existentă, un număr mare de mașini virtuale flexibile, ușor de creat și gestionat au preluat rolul furnizării de servicii. Gestiunea mașinilor presupune și gestiunea conectării dintre acestea, care a dus la dezvoltarea de noi tehnologii și soluții software de conectare între mașinile virtuale. În acest context, se dezvoltă în paralel și noi tehnologii care să faciliteze schimbul de date la viteze din ce în ce mai mari, precum și noi metode de partajare a resurselor din infrastructurile de

Page 9: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

9

comunicație existente. Observăm astfel că tendința de virtualizare a resurselor de calcul și cea a virtualizării rețelelor și implicit a elementelor de rețea sunt complementare. Dezvoltarea masivă a infrastructurii de comunicații determinată de cererea în continua creștere de servicii, a afectat capacitatea de management a acesteia și implicit de utilizare a sa la capacitate maximă. Dispozitivele de rețea virtuale folosite pentru interconectarea mașinilor virtuale au complicat și mai mult situația existentă. Soluția care a apărut este de decuplare a părții decizionale (control plane) de cea de comutație (forwarding plane) în cadrul infrastructurii de rețea. Partea decizională este abstractizată și decuplată complet de componenta fizică a infrastructurii. Această soluție poartă numele de rețea definită prin software sau SDN – Software Defined Networking. Conceptul de rețea definită software este strâns legat de cel de Cloud computing și implicit de cel de virtualizare și reprezintă o tendință certă de viitor. Primele implementări comerciale de succes ce au adus tehnologia SDN în lumina reflectoarelor au fost: sistemul de management al traficului în WAN (Wide Area Network), dezvoltat de Google [76] și platforma de virtualizare a resurselor din rețea dezvoltată de Nicira, companie achiziționată de către VMware. În prezent, majoritatea marilor jucători din domeniul tehnologiei informației precum furnizori de servicii de tip Cloud, furnizori de Internet, producători de echipamente și companii de servicii financiare au format diverse consorții în cadrul cărora își concentrează eforturile în vederea dezvoltării tehnologiei SDN : Open Networking Foundation [7], Open Daylight [77]. Astfel, putem afirma faptul că în prezent se fac pași concreți către realizarea unui vis demult enunțat și anume crearea rețelelor de date cu adevărat programabile care pot să se adapteze fără probleme la dinamica serviciilor disponibile și accesate în ziua de azi prin Internet.

Oportunitatea temei Datorită dezvoltărilor recente în domeniul resurselor de calcul și a rețelelor de comunicații, sistemele de calcul tradiționale sunt înlocuite treptat de cele distribuite. Oportunitatea temei provine din contextul global de modernizare al infrastructurii rețelelor tradiționale și trecerea la noua paradigmă de rețele definite prin software. Firme importante de pe piața de servicii IT au făcut deja pasul către adoptarea acestei noi tehnologii. Centrele de date de la Google se bazează pe rețele definite software iar Amazon, Microsoft și IBM ca principali furnizori de servicii de tip Cloud au trecut parțial la noul model. De asemenea furnizorii de echipament de rețea oferă în produsele lor suport pentru o varietate de protocoale SDN. In prezent sunt mai multe proiecte de anvergură care utilizează un model arhitectural bazat pe protocoale specifice rețelelor definite software (OpenFlow). FIBRE (Future Internet Testbeds Experimentation Between Brazil and Europe) este un proiect de cercetare cofinanțat de către Consiliul pentru Dezvoltare Științifică și Tehnologică din Brazilia (CNPq) și Consiliul Europei. Obiectivul principal al acestui proiect este de a crea un spațiu comun între Uniunea Europeană și

Page 10: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

10

Brazilia pentru Internetul viitorului (FI – Future Internet) cercetarea experimentală în infrastructura de rețea și aplicații distribuite. Una dintre aplicațiile tehnologiei SDN considerată a fi cea mai importantă la ora actuală și pentru dezvoltarea căreia se alocă în prezent cele mai multe resurse, este platforma de virtualizare a resurselor rețelei. Această fază reprezintă următorul pas logic care este necesar a fi efectuat după apariția soluțiilor de virtualizare a puterii de calcul și a capacității de stocare. Coordonata principală a lucrării o constituie investigarea și propunerea de metode pentru îmbunătățirea managementului și securității în contextul rețelelor definite software.

Obiectivele tezei Față de paradigmele clasice Cloud (SaaS, PaaS, IaaS – Software/Platform/Infrastructure – as a Service), trecând prin NFV (Network Function Virtualization) putem spune că un prim obiectiv este dezvoltarea ”rețelei-ca-serviciu” (NaaS – Network as a Service).

Comparativ cu managementul clasic orientat pe conexiune, un alt obiectiv este orientarea managementului pe conținut (de la procesarea de pachete până la ”rețele definite ontologic”).

Pornind de la controlul pe bază de evenimente (pe bază de întreruperi, pe bază de stare, etc.) un alt obiectiv este însuși ”controlul evenimentelor”.

Față de alte ”rețele ale informației” specificul soluțiilor originale prezentate ține în mare măsură de domeniul IoT (Internetul obiectelor), așa că teza e orientată, în general, pe comunicațiile industriale (M2M – mașină-mașină) al căror volum depășește deja comunicațiile om-la-om sau om-mașină, aducând și cerințe speciale de calitate a serviciilor (QoS).

Nu trebuie uitat că ”deschiderea” intrinsecă a domeniului Cloud aduce mari probleme de securitate. În acest context, un alt obiectiv al lucrării este utilizarea în securitatea cibernetică (”cyber security”) a inspecției profunde a pachetelor (DPI – Deep Packet Inspection) pe platforme ATCA – în completarea contribuțiilor la controlul evenimentelor care la rândul lor declanșează contra-măsurile de răspuns – modificarea dinamică a înseși politicilor de securitate.

Organizarea tezei În ceea ce privește structura, teza este organizată în 7 capitole, primele 6 capitole corespund câte unuia dintre obiectivele propuse iar ultimul este dedicat concluziilor generale și contribuțiilor originale.

- Introducerea prezintă oportunitatea și motivarea temei abordate, precum și obiectivele

propuse pentru rezolvare în cadrul activității de cercetare.

- Capitolul 1 intitulat ”Virtualizare și medii distribuite” cuprinde o analiză a

tehnologiilor și tendințelor din domeniul virtualizării resurselor. De asemenea va

introduce conceptul de containere Linux care au fost folosite extensiv în elaborarea

implementărilor experimentale. Va fi prezentată în acest capitol o propunere pentru

Page 11: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

11

interconectarea containerelor Linux folosind rețele virtuale. Modelul prezentat va sta

la baza scenariilor propuse în următoarele capitole.

- Capitolul 2 se concentrează asupra investigării tehnologiilor din domeniul rețelelor

definite software și pe prezentarea contribuțiilor aduse la securizarea comunicațiilor

industriale.

- Capitolul 3 având ca titlu ”Analiza fluxurilor de date – managementul rețelelor bazat

pe conținut” propune o nouă abordare în gestionarea rețelelor. În cadrul acestui

capitol vor fi prezentate principalele metode de analiză, identificare și clasificare a

fluxurilor de date. Va fi descrisă o metodă propusă pentru identificarea fluxurilor de

comunicație, dezvoltată pe platforma ATCA, care se bazează pe utilizarea de

procesoare speciale, dedicate analizei profunde de pachete în timp real din familia

Netlogic/Broadcom XLR.

- Capitolul 4 ”Virtualizarea evenimentelor pentru controlul prin stare” propune soluții

bazate pe procesarea de evenimente complexe aplicabile în cadrul rețelelor definite

software în optimizarea politicilor de securitate.

- Capitolul 5 intitulat ”Orientarea pe servicii a comunicațiilor industriale” descrie

paradigma SOA și principalele tehnologii aferente, concentrându-se apoi pe

prezentarea contribuțiilor aduse la integrarea sistemelor de instrumentație bazată pe

principiile SOA. În acest capitol este detaliată soluția dezvoltată pentru a permite

accesul de la distanța la instrumentație de tip VISA, precum și metode de agregare al

instrumentației aflată la distanță în scenarii complexe.

- Capitolul 6, având titlul ”Rețele definite ontologic” prezintă posibilitatea utilizării

ontologiilor în definirea și managementul rețelelor definite software

- Ultimul capitol al lucrării prezintă concluziile generale și contribuțiile originale,

modul de validare practică a acestor contribuții precum și diseminarea rezultatelor

cercetării.

Notă asupra terminologiei

Termenii și noțiunile de bază folosite în telecomunicații sunt în marea lor majoritate consacrați

ca neologisme tehnice folosite adesea ca atare în literatura de specialitate. Din acest motiv am

tradus în limba română termenii de specialitate la prima lor apariție în text și, totodată, am

încercat explicarea lor acolo unde nu ar fi fost intuitivă simpla traducere.

Page 12: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

12

Capitolul 1

VIRTUALIZARE ȘI MEDII DISTRIBUITE Acest prim capitol parcurge metode moderne de gestiune a resurselor trecând spre controlul software al agregării lor în mediu distribuit, prin tehnici avansate de comunicații în rețea. Virtualizarea ca termen general reprezintă tehnologia prin care resursele hardware ale unui server sunt abstractizate și partajate între multiple mașini virtuale. Prin virtualizare resursele hardware sunt transformate în resurse software, oferind astfel un nivel logic de abstractizare care eliberează sistemul de operare sau aplicațiile de resursele hardware fizice [1]. Un prim pas spre virtualizare a fost făcut în anul 1960 cu scopul de a partaja sistemele de tip „mainframe” mari, pentru o mai bună utilizarea acestora. În 1964, IBM a dezvoltat un mecanism numit Virtual Machine Monitor (VMM) care permitea rularea a diferite sisteme de operare pe sistemele mainframe, oferind astfel o modalitate de a împărți în mod logic aceste calculatoare mari în mașini virtuale separate. Aceste partiții au permis sistemelor de tip mainframe să execute mai multe aplicații și procese simultan. Motivația care a stat la baza dezvoltării acestui mecanism, a fost costul foarte ridicat al sistemelor mainframe. Cu toate acestea, odată cu dezvoltarea tehnologică și ieftinirea componentelor hardware, virtualizarea a pierdut din popularitate și a fost privită ca o relicvă a unei ere în care resursele de calcul au fost limitate. Acest lucru a fost reflectat în proiectarea de arhitecturi x86, care nu mai ofereau suficient sprijin pentru a implementa eficient virtualizarea acestora. Virtualizarea a fost oarecum abandonată în perioada anilor 1980 și 1990, atunci când aplicațiile client-server și servere ieftine bazate pe arhitectura x86 au dus la dezvoltarea conceptelor de calcul distribuit. Adoptarea largă a sistemului de operare Windows și apariția Linux folosite ca sisteme de operare pentru servere în 1990 a făcut ca arhitectura x86 să devină un standard în cadrul industriei. Datorită scăderii costului de achiziție a sistemelor de tip server precum și a creșterii în complexitate a aplicațiilor software care rulau pe servere, administratorii de sisteme a început să instaleze o aplicație per server. Această practică, devenită comună, oferea un mecanism simplu de izolare al aplicaților, pentru a preveni ca o aplicație să afecteze buna funcționare a celorlalte aplicații instalate pe același server. Totuși acest model presupune costuri ridicate iar echipamentele nu sunt utilizate la capacitatea maximă. S-a ajuns la cazuri în care anumite servere să aibă o utilizare medie între 5% și 15%. Astfel pe lângă costul echipamentelor de calcul se mai adaugă costuri suplimentare pentru spațiul de depozitare, alimentarea cu energie, răcire, etc ajungându-se la costuri substanțiale pentru gestiunea unui centru de date. S-a revenit la vechea problemă a subutilizării resurselor de calcul existente iar virtualizarea a devenit din nou o temă de actualitate și a schimbat dramatic abordarea “tradiționalistă”. Pentru furnizorii de servicii, virtualizarea a reprezentat o modalitate de consolidare a centrelor de date și de reducere a cheltuielilor. Prin consolidarea serverelor se poate diminua numărul de servere fizice necesare, reducându-se astfel cheltuielile necesare pentru spațiu, energie și administrare.

Page 13: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

13

Privită în esența ei, virtualizarea implică adăugarea de niveluri de abstractizare, care depind unul de celălalt. Putem distinge următoarele niveluri de abstractizare:

- virtualizarea la nivel de hardware care adaugă un nivel de abstractizare între sistemele de operare individuale și hardware-ul fizic pe care acestea sunt instalate. Acest nivel de abstractizare numit și hipervizor permite interacțiunea simultană a mai multor sisteme de operare cu același set de dispozitive fizice.

- virtualizarea la nivelul sistemului de operare. În acest caz se adaugă nivelurile de abstractizare peste un sistem de operare existent

- virtualizarea la nivel de aplicație mută nivelul de abstractizare la un nivel mai înalt, separând aplicațiile individuale.

- virtualizarea la nivel de rețea, similară celei la nivel hardware, adaugă un nivel de abstractizare peste infrastructura rețelei fizice existente. Cu ajutorul acestui nivel de abstractizare, o rețea fizică poate fi împărțită în multiple rețele virtuale care folosesc în comun infrastructura existentă.

În cadrul acestui capitol sunt descrise principalele tehnologii folosite pentru virtualizarea procesării urmând ca în capitolul următor să fie prezentate conceptele care stau la baza virtualizării rețelelor.

1.1 Virtualizarea proces ării Arhitectura x86 definește patru niveluri de protecție, care au rolul de a izola și controla execuția instrucțiunilor aferente sistemului de operare și respectiv a aplicațiilor utilizator. Nivelul 0 denumit și spațiu sistem sau modul nucleu (kernel) are privilegiile cele mai mari și este nivelul în care rulează în mod normal componentele care alcătuiesc nucleul sistemului de operare. Există o serie de componente ale sistemului de operare care rulează sub nivelul de protecţie 3, în așa numitul user space, alături de aplicațiile obişnuite utilizator. Un exemplu de astfel de componente sunt serviciile Windows (Service Processes). Virtualizarea arhitecturii x86 necesită plasarea unui nivel software adițional denumit hipervizor sub nivelul sistemului de operare (care se așteaptă să ruleze în nivelul cel mai privilegiat - nivelul 0) cu rolul de a partaja resursele sistemului și de a crea și gestiona mașini virtuale. Cu toate că, arhitectura x86 nu îndeplinește complet criteriile Popek și Goldberg pentru a realiza așa numita "virtualizare clasică", au fost găsite metode pentru a compensa aceste limitări. În prezent virtualizarea arhitecturii x86 se realizează prin două metode: virtualizare completă și paravirtualizare. Ambele creează iluzia de hardware fizic pentru a atinge obiectivul de independență a sistemului de operare față de hardware, dar prezintă unele compromisuri în performanță și complexitate. Suplimentar au fost definite mecanisme de virtualizare și la nivelul sistemului de operare, care permit partajarea nucleului sistemului de operare.

Page 14: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

14

1.1.1 Virtualizare completă

În cazul virtualizării complete, sistemului de operare gazdă i se alocă un set de resurse virtualizate (procesor, memorie, spațiu de stocare), acesta ”având impresia” că este singurul sistem de operare instalat pe serverul respectiv. Sistemul de operare gazdă nu necesita astfel nici un fel de modificări pentru a rula în mediul virtualizat. Virtualizarea completă este singura opțiune care nu necesită asistență hardware sau modificări în sistemul de operare pentru a virtualiza instrucțiuni sensibile sau privilegiate. Hipervizorul are rolul de a traduce toate instrucțiunile sistemului de operare în timp real și poate stoca rezultatele execuției instrucțiunilor pentru o utilizare viitoare, în timp ce instrucțiuni de nivel utilizator rulează nemodificate la viteză nativă. Aceasta este, probabil, cel mai comun tip de virtualizare a serverului.

În funcție de modul de implementare se disting mai multe tipuri de sisteme hipervizor: Hipervizor de tipul 1 - Cunoscută și sub numele de virtualizare nativă, aceasta este o tehnică în care stratul de abstractizare rezidă și rulează direct pe hardware-ul sistemului gazdă în nivelul de protecție 0. Sarcina acestui hipervizor este să gestioneze alocarea resurselor și a memoriei pentru mașinile virtuale. În plus oferă interfețe pentru administrarea și monitorizarea mașinilor virtuale. Hipervizor de tip 2 - Stratul de virtualizare rulează sub forma unei aplicații pe sistemul de operare gazda și se bazează pe sistemul de operare gazdă pentru accesul la resursele hardware. Hipervizor integrat - Stratul de virtualizare este încorporat în nucleul sistemului de operare gazdă și fiecare sistem de operare care rulează în mediul virtualizat are propriul său nucleu, cu restricția ca acesta să fie compilat pentru același hardware ca și nucleul în care rulează.

1.1.2 Paravirtualizare Paravirtualizarea este o altă abordare aplicată pentru virtualizarea serverelor. Prin această metodă hipervizorul nu are rolul de a ”imita” mediul fizic complet, ci adaugă doar un nivel intermediar, care asigură că toate sistemele de operare oaspete partajează resursele de sistem și rulează în mediu izolat. Paravirtualizarea, implică modificarea sistemului de operare pentru a înlocui instrucțiunile non-virtualizabile cu apeluri directe către hipervizor (care rămâne separat de sistemul de operare – spre deosebire de hipervizorul integrat prezentat anterior). Acesta oferă interfețe prin care sistemul de operare poate apela funcții specifice cum ar fi managementul memoriei sau tratarea întreruperilor. În cazul paravirtualizării, nucleul sistemului de operare care rulează în mediul virtualizat trebuie modificat pentru a putea rula pe hipervizor. Aceste modificări implică înlocuirea oricăror operațiuni privilegiate care ar trebui să fie executate numai în nivelul 0 al procesorului, cu apeluri la hipervizor (cunoscute sub numele de hiper-apeluri).

Page 15: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

15

1.1.3 Virtualizarea la nivelul sistemului de operare Sistemele de virtualizare ”clasice” ne permit să definim o mașină virtuală pentru care alocăm anumite resurse (procesor, memorie, spațiu de stocare etc.) și pe care instalăm sistemul de operare dorit. În felul acesta se obține izolarea resurselor, fiecare mașina virtuală ”având impresia” că deține acele resurse. Prețul pentru acest gen de soluții se măsoară pe de o parte în spațiu pe disc (pentru trei mașini virtuale instalăm trei sisteme de operare, deci ocupăm de trei ori mai mult spațiu, plus spațiul ocupat de sistemul de bază) și pe de altă parte în cantitatea de resurse alocate (memorie RAM, cicluri procesor). În plus mașina gazdă consumă și ea resurse pentru a administra celelalte mașini virtuale. Rezolvarea la aceste probleme poate veni de la o nouă tehnologie de virtualizare bazată pe containere. Prin introducerea unor noi capabilități de virtualizare în nucleul sistemului de operare (kernel) care permit izolarea memoriei alocate, containerele pot izola procesele permițând utilizarea în comun a nucleului sistemului de operare gazdă. Un dezavantaj care se poate observa de la început este faptul că se limitează folosirea containerelor doar la virtualizarea mașinilor cu același sistem de operare (în general Linux). Acesta este însă compensat de faptul că respectivele containere vor funcționa la viteza sistemului gazdă și vor consuma doar o cantitate limitată de resurse. Acest tip de virtualizare presupune ca nucleul sistemului de operare gazdă să permită rularea de aplicații sau procese în cadrul unor medii independente și izolate numite containere. În conformitate cu acest model de virtualizare, containerele utilizează în comun nucleul sistemului de operare gazdă dar totuși fiecare are container are propriul sistem de fișiere. Hipervizorul are funcționalitate foarte limitată, bazându-se pe sistemul de operare gazdă pentru accesul la resursele sistemului și gestiunea memoriei. Capacitățile de virtualizare sunt parte a sistemului de operare gazdă, care îndeplinește toate funcțiile unui hipervizor.

1.2 Containere Linux Containerele Linux reprezintă un mecanism de izolare al proceselor reprezentând servicii, aplicații sau chiar sisteme de operare Linux, de celelalte procese care rulează pe sistemul de operare gazdă. Pentru a realiza această izolare, fiecare container are alocate propriile resurse constând din sistem de fișiere, dispozitive de rețea, adrese IP, tabele de procese, etc. Tehnologia containerelor Linux reprezintă o altă abordare în comparație cu tehnologiile "clasice" de virtualizare cum ar fi KVM sau Xen. Procesele care rulează în interiorul containerelor sunt executate direct pe nucleul sistemului de operare gazdă, complet izolat de celelalte procese. Acest lucru permite eficientizarea alocării resurselor computaționale (CPU) și al accesului la resursele sistemului gazdă. Deoarece procesele sunt executate direct pe nucleul sistemului gazdă, acestea au acces la dispozitivele sistemului fără a mai fi nevoie de instalarea unor drivere. Tehnologiile "clasice" de virtualizare cum ar fi virtualizarea completă și containerele Linux pot

Page 16: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

16

fi văzute ca fiind complementare, o mașină virtuală clasică putând fi folosită pentru a găzdui containere Linux.

1.3 Cloud Computing Cloud computing (informația accesată distribuit) este un termen general ce implică livrarea de servicii găzduite pe Internet, și constituie un puternic avans tehnologic curent în domeniul TIC (Tehnologia Informației și a Comunicațiilor). Așa cum am mai arătat titulatura Cloud computing (s-a încercat și traducerea ”nor de calcul”) a fost inspirată de către simbolul norului, utilizat frecvent în reprezentarea Internetului [78]. In ultimii ani, Cloud computing a devenit cel mai la modă concept din lumea Internetului și acoperă aproape tot ce ține de livrarea de servicii pe Internet. S-au evidențiat trei categorii principale de servicii de tip Cloud: servicii de infrastructură (IaaS – Infrastructure as a Service), platformă (PaaS – Platform as a Service) și software (SaaS – Software as a Service). Infrastructura ca serviciu (IaaS – Infrastructure as a Service) este un model de servicii furnizate clienților, în care resursele fundamentale de calcul (procesare, stocare, etc.) sunt puse la dispoziția acestora. Aceste resurse oferite relativ nestructurat pot fi gestionate de utilizatori prin intermediul unor programe dedicate pentru control și management. Infrastructura ca serviciu reprezintă nivelul de bază în structura ofertei as-a-Service. Platforma ca serviciu, de multe ori menționată sub numele PaaS (Platform as a Service), reprezintă o categorie a serviciilor de Cloud computing în care resursele se oferă relativ structurat (grupate ca într-un calculator) împreună cu un mediu de dezvoltare aferent sub forma unui serviciu, pentru a permite dezvoltatorilor construirea de noi aplicații și servicii. PaaS poate fi definit ca un set de unelte de dezvoltare software găzduite pe infrastructura furnizorului de servicii, iar accesul se face prin intermediul unor portaluri web sau elemente de program instalate local. Modelul software ca serviciu sau SaaS (Software as a Service) este cel mai complet și complex model de servicii Cloud computing. În acest caz furnizorul pune la dispoziția clientului un produs complet, ce conține infrastructura (de data aceasta transparentă), modalitatea de acces și metode software (expuse ca API – Application Programming Interface) împreună cu licențele aferente, liber pentru configurare și exploatare.

1.4 Contribu ție la interconectarea containerelor Linux prin inte rmediul rețelelor virtuale În această secțiune este descris un mecanism de interconectare a containerelor Linux de tipuri diferite (LXC sau Docker) aflate pe servere distincte. Acest mecanism facilitează implementarea aplicațiilor folosind modelul arhitectural bazat pe micro-servicii. Acest model presupune

Page 17: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

17

dezvoltarea de componente independente, scalabile care comunică prin intermediul unor protocoale standard. Aplicațiile utilizează aceste micro-servicii pentru a implementa diverse funcționalități. Modelul micro-serviciilor este o abordare similară cu arhitectura orientată pe servicii (SOA) cu diferența că în acest model se încearcă dezvoltarea de componente elementare izolate care comunică prin mecanisme standard, de regulă expunând interfețe programabile și care pot fi cu ușurință scalate. Aceste micro-servicii pot rula în interiorul containerelor care oferă posibilitatea de a fi create, pornite sau oprite în mod dinamic în funcție de cerințele aplicației. Configurația simplificată folosită pentru exemplificarea metodei cuprinde două servere pe care au fost instalate distribuțiile Linux Ubuntu 14.04 LTS și respectiv Ubuntu 15.04. Serverele beneficiază de procesoare Intel cu suport 64 bit, minim 4Gb memorie RAM și 30 Gb spațiu de stocare. Se pot folosi de asemenea mașini virtuale în care vor fi instalate sisteme de operare Linux. Pe fiecare server au fost instalate bibliotecile software necesare pentru LXC și respectiv Docker. În contextul SDN pe fiecare server a fost configurat câte un switch virtual folosind soluția open-source numită Open vSwitch. În practică metoda poate fi aplicată pentru realizarea de configurații complexe care implică un număr mare de servere și containere, organizate în subrețele sau chiar rețele private. Comunicația între containere aflate de pe servere diferite se realizează prin atașarea acestora la switchuri virtuale, care la rândul lor sunt interconectate cu ajutorul tehnologiei GRE (Generic Routing Encapsulation). Soluția propusă de interconectare a containerelor Linux eterogene - atât ca tip cât și ca găzduire (pe servere diferite) - va sta la baza scenariilor și contribuțiilor descrise în următoarele capitole.

1.5 Concluzii Dezvoltarea tehnologiilor de virtualizare au permis consolidarea centrelor de date și eficientizarea utilizării resurselor fizice ale serverelor, fiind propulsorul care a facilitat apariția unei paradigme foarte populare la ora actuală, cea de Cloud computing. Containerele Linux oferă flexibilitate și scalabilitate, permițând dezvoltarea de soluții modulare bazate pe conceptul de micro-servicii. Arhitectura bazată pe micro-servicii presupune dezvoltarea aplicațiilor distribuite folosind componente independente și scalabile, ”slab cuplate” și care comunică între ele folosind protocoale standard. Fiecare componentă este disponibilă în cele mai multe cazuri sub forma unui serviciu, care poate fi scalat independent de celelalte componente care alcătuiesc aplicația distribuită. Aceste componente – niște micro-servicii - pot fi distribuite sub forma containerelor Linux. Soluția de interconectare prezentată permite distribuirea acestor containere pe mai multe servere și interconectarea acestora sub formă de aplicații distribuite. În cadrul acestui capitol au fost prezentate pe scurt principalele tehnologii de virtualizare ale procesării și evoluția acestora. Am propus o soluție pentru interconectarea containerelor Linux distribuite pe servere multiple și am descris pașii necesari pentru implementarea acesteia.

Page 18: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

18

Capitolul 2

REȚELE DEFINITE SOFTWARE - SDN Odată cu dezvoltarea și răspândirea modelelor de Cloud computing, lumea comunicațiilor prin Internet cunoaște o efervescență tot mai crescută. Explozia dispozitivelor mobile, a virtualizării serverelor şi evoluţia serviciilor în Cloud sunt aspecte de actualitate în domeniul IT, care au determinat reexaminarea arhitecturilor tradiţionale de reţea. Arhitectura reţelelor convenţionale nu mai este potrivită pentru domeniul computaţional dinamic şi nevoile de stocare ale centrelor de date, ale campusurilor sau ale mediilor în care oamenii îşi desfăşoară activitatea de zi cu zi. Rețelele virtuale au apărut ca o necesitate generată de tendințele de virtualizare a resurselor de calcul și de dezvoltarea serviciilor de tip Cloud computing. Acestea presupun adăugarea unui nivel de abstractizare peste o infrastructură fizică existentă. Astfel pe aceeași infrastructură pot coexista mai multe rețele similar virtualizării sistemelor fizice în care pe un server fizic pot rula mai multe mașini virtuale. Abstractizarea infrastructurii fizice se realizează prin separarea planului de control (prin software) al rutării de cel al comutației fluxurilor de date, această abordare fiind cunoscută în literatura de specialitate ca Software Defined Networking (SDN) – rețele definite prin software. Rețelele definite software reprezintă o noua paradigmă care promite să aducă un plus de flexibilitate în configurarea și gestionarea rețelelor. Așa cum am arătat, conceptul de rețea definită software presupune o separare a funcțiilor de comutație de cele de control [2]. Astfel, nodurile de rețea (routere, switchuri) vor conține doar funcțiile de comutație, partea de control fiind disponibilă într-un punct central numit nod de control. Funcțiile decizionale sunt centralizate în module software care pot rula pe computere normale sau chiar în Cloud. Nodurile de rețea vor implementa doar funcțiile de bază de comutație, regulile de comutație fiind generate de către nodul de control și transmise nodului de comutație prin intermediul unei interfețe software standardizate (de ex. OpenFlow) [3].

Figura 1 – Arhitectura tipică a unei rețele SDN

Modelul tipic pentru o arhitectură SDN reprezentat în Figura 1 este format din 3 straturi. Stratul superior include aplicații care furnizează servicii. Aceste aplicații interacționează cu nivelul

Page 19: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

19

intermediar, reprezentat de controlerul SDN, care facilitează managementul automatizat al rețelei. Nivelul de bază este reprezentat de rețeaua fizică. Elementele de rețea sunt simplificate și se concentrează doar pe funcțiile de comutație. Toate deciziile, determinare de rute și politicile de securitate sunt implementate de către nivelul de control [4].

Expunerea funcțiilor de control a rețelei prin intermediul interfețelor programabile (API) permite abstractizarea serviciilor de rețea, rețeaua în sine devenind programabilă [6]. În funcție de regulile furnizate de către nodul de control, un element de comutație bazat pe protocolul OpenFlow își poate modifica modul de funcționare, putând prelua diverse roluri în cadrul rețelei.

2.1 Stadiul actual de dezvoltare al re țelelor definite software Din punct de vedere istoric se evidențiază mai multe faze în dezvoltarea rețelelor programabile:

O prima etapă este reprezentată de perioada dintre mijlocul anilor '90 și începutul anilor 2000, în care s-au pus bazele conceptului de rețea activă prin introducerea de funcții programabile în arhitectura rețelelor de calculatoare. În această perioadă apar inițiative cum ar fi Open Signaling, Active Networking și DCAN A doua perioadă în evoluția SDN se întinde până în anul 2007 și în această perioada apare pentru prima dată vehiculată ideea de separare a planului de comutație a datelor de cel de control. Proiecte ca NetConf sau Ethane încearcă să definească interfețe specializate de comunicație între cele două planuri. Ultima perioadă, începând cu anul 2007 când apare tehnologia OpenFlow reprezintă începutul dezvoltării rețelelor definite software. Primele implementări comerciale de succes care au adus tehnologia SDN în lumina reflectoarelor au fost sistemul de management al traficului WAN (Wide Area Network) dezvoltat de Google [76] și platforma de virtualizare a resurselor din rețea dezvoltată de Nicira, companie achiziționată de către VMware. În prezent, majoritatea marilor companii din domeniul tehnologiei informației precum furnizori de servicii de tip Cloud, furnizori de Internet, producători de echipamente și companii de servicii financiare au format diverse consorții în cadrul cărora își concentrează eforturile în vederea dezvoltării tehnologiei SDN (Open Networking Foundation [7], Open Daylight [77]). Astfel, putem afirma faptul că în prezent se fac pași concreți către realizarea unui vis demult enunțat și anume crearea rețelelor de date cu adevărat programabile care pot să se adapteze la dinamica serviciilor disponibile și accesate în ziua de azi prin Internet. Printre beneficiile aduse de noul model arhitectural putem enumera: controlul dinamic al accesului utilizatorilor în rețea, virtualizarea resurselor rețelei, distribuirea eficientă a încărcării serverelor și a nodurilor de rețea, posibilitatea de migrare automată a mașinilor virtuale între servere fără întreruperea serviciilor [8].

Page 20: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

20

2.2 Domenii de aplicare ale SDN Avantajele aduse de SDN au fost rapid recunoscute, modelul rețelelor definite software fiind în prezent adoptat în diverse domenii printre care se pot enumera:

- Dezvoltarea și testarea de noi protocoale destinate rețelei Internet - Creșterea securității rețelelor - Reducerea complexității de operare prin automatizarea proceselor de management al

rețelelor - Mobilitatea mașinilor virtuale.

2.3 Protocolul OpenFlow OpenFlow reprezintă cel mai popular protocol pentru interfațarea planului de comutație al datelor cu cel de control. Acesta folosește noțiunea de flux, reprezentând o colecție de pachete care respectă un set predefinit de reguli. Spre deosebire de rutarea clasică, unde deciziile se luau la nivel de pachet, în cadrul rețelelor definite prin software, deciziile de rutare se iau la nivel de flux. Elementul esențial al acestei abordări este reprezentat de către tabela de fluxuri care conține informații referitoare la setul de date care străbate fiecare element de comutație în parte. Pe lângă informațiile de identificare, tabela de fluxuri conține și acțiunea care trebuie executată de către elementul de comutație atunci când un pachet este identificat ca făcând parte dintr-un anumit flux de date. Protocolul OpenFlow permite accesul direct și controlul echipamentelor de comutație existente în infrastructura de rețea, controlerul putând adăuga, actualiza și șterge înregistrările stocate în tabela de fluxuri a acestora, atât reactiv cât și proactiv.

Figura 2 - Modelul arhitectural definit de protocolul OpenFlow [7]

În modelul arhitectural definit de OpenFlow, reprezentat în Figura 2, se pot identifica două tipuri de elemente: noduri de control și dispozitive de comutație. Dispozitivele de comutație pot fi echipamente hardware sau soluții software destinate comutației de pachete (exemplu Open vSwitch).

Page 21: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

21

2.4 Contribu ție la securizarea comunica țiilor industriale prin re țele definite software În condițiile digitizării avansate a proceselor și echipamentelor industriale, devine din ce în ce mai importantă integrarea datelor prin intermediul rețelelor locale. Sistemele de comunicații industriale se deosebesc de cele destinate birourilor prin prisma condițiilor speciale pe care acestea trebuie să le îndeplinească. Pe lângă condițiile speciale mecano-climatice și electromagnetice în care trebuie sa funcționeze, acestea trebuie să asigure o funcționare sigură, cu rată redusă de erori și latență mică. Sistemele de tip firewall de ultimă generație combină metode de recunoaștere a aplicațiilor cu inspecția profundă de pachete pentru a oferi companiilor mai mult control asupra aplicațiilor în același timp cu detectarea și blocarea amenințărilor de securitate. În timp ce majoritatea soluțiilor din industrie sunt implementări fizice de switch-uri industriale cu capabilități firewall, am propus o implementare a unei soluții de securizare a rețelelor bazată pe noduri intermediare (middlebox) distribuite în cadrul rețelei. Aceste noduri intermediare pot lua forma unor containere Linux conținând aplicațiile necesare pentru analiza traficului de date, și care pot fi instanțiate, configurate și plasate în mod dinamic în cadrul rețelei. Deoarece este dificilă implementarea instrumentelor de securitate pe toate nodurile rețelei, soluția ar fi dezvoltarea unui sistem de tip firewall distribuit, capabil să identifice servicii și să analizeze traficul de date cu ajutorul elementelor middlebox distribuite. Un nod de tip middlebox este definit ca orice dispozitiv intermediar care efectuează în cadrul unei rețele de comunicații alte funcții decât cele normale, standard ale unui element de comutație. Cu ajutorul middleboxes, traficul poate fi analizat în detaliu și deciziile de rutare pot fi luate pe baza conținutului pachetelor transportate. Soluția propusă este reprezentată de utilizarea unor elemente de tip middlebox virtualizate, bazate pe containere Linux (LXC sau Docker), care pot fi instanțiate și configurate la cerere. În cazul rețelelor SDN, prin intermediul interfețelor programabile existente la nivelul platformei de control, se pot modifica dinamic fluxurile de date din cadrul rețelei pentru a acomoda sistemele middlebox. Implementarea extinde metoda de interconectare a containerelor Linux descrisă în capitolul anterior și adaugă un nivelul suplimentar de management prin intermediul platformei de control SDN. Modelul de integrare al elementelor de tip middlebox în cadrul rețelelor este prezentat in Figura 3.

Figura 3 – Model de integrare al elementelor de tip middlebox

Page 22: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

22

Elementele de tip middlebox atașate rețelei aflate sub observație, pot conține aplicații destinate identificării și clasificării fluxurilor de date sau detectării traficului de tip malware sau a încercărilor de intruziune în cadrul rețelei. Pentru testarea soluției propuse am configurat multiple containere Linux conținând diverse soluții pentru detectarea intruziunilor (IDS - Intrusion Detection System) existente pe piață, printre care și două dintre cele mai populare sisteme IDS și anume Snort și Suricata. Sistemele de tip IDS pot detecta pe baza unor tipare predefinite fluxuri de date sau comportament care pot pune în pericol securitatea rețelei. Evenimentele generate de către sistemele de detecție sunt captate și analizate fiind luate decizii pe baza unor reguli prestabilite de tratare a evenimentelor. Spre exemplu platforma de control poate fi programată să intrerupă transmisia fluxului de date, sau poate redirecționa acest flux către alte componente specializate în vederea analizei suplimentare sau a capturării acestuia pentru analiză ulterioară. Dezvoltarea unei aplicații destinată analizei fluxurilor de date prin inspecția profundă de pachete este descrisă detaliat în capitolul 3. Prezența elementelor de detecție în cadrul rețelei permite generarea de evenimente, analiza și corelarea acestora în vederea luării unor decizii de modificare a fluxurilor de date pentru securizarea rețelei. Controlul rețelei pe baza evenimentelor este descris in capitolul 4.

2.5 Concluzii Rețelele definite software realizează o centralizare a informațiilor în planul de control pentru a oferi posibilitatea luării deciziilor în mod centralizat și informat. Un avantaj al acestei abordări este faptul că echipamentele din rețea pot fi mult simplificate deoarece acestea nu mai trebuie să implementeze o gamă largă de protocoale întrucât toate deciziile sunt luate de către entitatea de control a rețelei. Singura cerință pentru aceste echipamente este ca ele să accepte și să execute instrucțiuni provenite de la entitatea de control. În ceea ce privește granularitatea de reprezentare a datelor, în rețelele definite software se folosește noțiunea de flux ce identifică unic pachete de date care respectă un set predefinit de reguli. Spre deosebire de rutarea clasică, programarea funcționării rețelei la nivelul fluxurilor de date oferă un control granular, ce permite infrastructurii să răspundă în timp real la toate schimbările ce apar datorită dinamicității aplicațiilor. În cadrul acestui capitol am propus o soluție flexibilă care permite securizarea rețelelor de comunicații prin intermediul unor elemente de tip middlebox inserate în cadrul rețelei și care conțin aplicații de inspecție profundă a pachetelor pentru identificarea și clasificarea fluxurilor de date sau aplicații specializate în detectarea intruziunilor. Informațiile despre fluxurile de date sunt colectate și evaluate la nivelul platformei de control a rețelei unde se vor lua decizii referitor la modul de tratare al acestora.

Page 23: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

23

Capitolul 3

ANALIZA FLUXURILOR DE DATE – MANAGEMENTUL REȚELELOR BAZAT PE CON ȚINUT

Internetul cunoaște o dezvoltare accelerată, un studiu efectuat de Gartner estimează un număr de peste 200 milioane de terminale conectate la Internet până în anul 2020. Această creștere determină noi cerințe în ceea ce privește lățimea de bandă și viteza de acces la Internet, precum și apariția unor noi riscuri de securitate. Pentru a putea face fața cerințelor crescute de servicii de date, furnizorii de servicii precum și companiile private încearcă extinderea infrastructurii rețelelor de comunicații în același timp cu eficientizarea procesării și gestionării fluxurilor de date.

Inspecția profundă de pachete - DPI (Deep Packet Inspection) reprezintă o soluție hardware sau software care analizează atât informațiile cuprinse în antetul pachetelor de date, cât și conținutul acestora. Astfel se pot monitoriza fluxurile de date într-o rețea de comunicații și se pot identifica protocoale de comunicație, aplicațiile care generează fluxurile de date, încercări de pătrundere neautorizată în rețea precum și activitatea unor agenți software de tip malware. De asemenea analiza de pachete poate fi folosită de către furnizorii de servicii pentru a aplica politici de securitate sau a oferi utilizatorilor diferite niveluri de acces la servicii. În general analiza de pachete încearcă să ofere următoarele soluții:

- analiza și identificarea protocoalelor de comunicație și a aplicațiilor - protecție anti-virus și anti-malware - detectarea intruziunilor în rețea (IDS – Intrusion Detection System) - filtrarea traficului de date.

3.1 Stadiul actual al metodelor de analiz ă a pachetelor de date Identificarea și clasificarea corectă a traficului de date este un element important în proiectarea, managementul și securitatea rețelelor de comunicații [115]. Odată cu evoluția traficului pe Internet, atât în ceea ce privește numărul și tipul de aplicații, tehnicile tradiționale de clasificare, cum ar fi cele bazate pe numere de port binecunoscute sau analiza superficială a conținutului pachetelor de date, nu mai sunt suficient de eficiente pentru a identifica și clasifica corect toate tipurile de trafic de date. Pentru clasificarea fluxurilor de date au fost dezvoltate în timp diverse metode, cele mai des folosite fiind:

- Analiza superficială a pachetelor (SPI - Shallow Packet Inspection) - Identificarea fluxurilor de date pe baza analizei antetului pachetelor de date

Page 24: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

24

- Inspecție medie a pachetelor (MPI - Medium Packet Inspection) - se bazează pe folosirea de noduri intermediare (middleboxes) plasate în rețea, care au rolul de intermediar (proxy). Pe aceste noduri intermediare rulează aplicații specializate pentru identificarea unor anumite tipuri de pachete sau fluxuri de date. Pentru identificare se folosesc informații extrase din antetul pachetelor cât și parțial informații din conținutul acestora.

- Inspecția profundă a pachetelor (DPI – Deep Packet Inspection) - Identificarea fluxurilor pe baza analizei conținutului pachetelor de date ”fără despachetare”

- Identificarea fluxurilor folosind metode de învățare automată.

3.2 Identificarea tiparelor în analiza pachetelor d e date Dezvoltarea unui algoritm eficient pentru identificarea tiparelor este încă o problemă dificil ă în cercetare. Sunt trei tipuri de algoritmi folosiți de obicei pentru a rezolva această problemă: (1) algoritmul Filtru Bloom; (2) Aho-Corasick (AC); și (3) algoritmul Boyer-Moore (BM). O altă abordare ar fi metoda de comparație bazată pe dicționare (DBSM – Dictionary Based String Matching). In această metodă fiecare flux de date preluat de pe interfața de rețea este comparat cu un dicționar de modele pentru a găsi toate cazurile de potențială suprapunere. O soluție ideală ar trebui să aibă următoarele caracteristici: 1) eficiență foarte mare în utilizarea memoriei, de preferabil 1 byte per caracter, permițând astfel o implementare cu costuri relativ reduse. 2) viteză mare de procesare. Soluții DPI cu rată mare de procesare sunt necesare în cazul interfețelor Ethernet de mare viteză (de exemplu, Gigabit Ethernet). 3) performanță garantată în cel mai rău caz, în ceea ce privește utilizarea memoriei și viteza de procesare, făcând astfel sistemul DBSM robust și mai puțin sensibil la atacurile de tip Denial-Of-Service (DoS).

3.3 Contribu ție la discriminarea fluxurilor prin inspec ția profund ă a pachetelor pe platforma ATCA Piața pentru soluții de analiză profundă a pachetelor (DPI – Deep Packet Inspection) era estimată la 1,5 miliarde dolari în 2014 [30]. DPI devine o tehnologie critică pentru operatorii de telecomunicații, în scopul de a monetiza și gestiona mediul de transmisie utilizat. De asemenea analiza profundă a pachetelor permite dezvoltarea de soluții care să asigure securitatea rețelelor și să prevină răspândirea programelor tip virus sau malware. Identificarea și clasificarea corectă a fluxurilor de date, reprezintă cerința de baza pentru o nouă a abordare în rutarea fluxurilor de date și anume rutarea bazată pe conținut [128]. Această paradigmă presupune modificarea dinamică a rutelor pentru un anumit flux de date în funcție de conținutul pachetelor care alcătuiesc fluxul. Spre exemplu se poate modifica dinamic prioritatea și calea pe care o urmează un flux către destinație pentru a asigura calitatea serviciilor sau, dacă

Page 25: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

25

se detectează un pericol de securitate, fluxul poate fi izolat și redirecționat către un nod special din cadrul rețelei unde se poate realiza o analiză detaliată a acestuia. În acest subcapitol este prezentă o metodă de identificare a fluxurilor de date prin inspecția profundă în timp real a pachetelor de date folosind capabilitățile platformei ATCA (Advanced Telecom & Computing Architecture) și a procesoarelor dedicate inspecției de pachete, Broadcom XLR732. Accentul este pus pe capacitățile avansate de prelucrare de pachete, cu detalii asupra mediului de dezvoltare construit specific, configurația, fluxul de dezvoltare și problemele practice ale DPI. Pentru dezvoltare, am integrat un sistem complet bazat pe SDK RMI/Netlogic/Broadcom dublat de un mediu de emulare folosind simulatorul pentru procesoare XLR și utilitarul denumit Pretender care permite testarea completă prealabilă instalării aplicației pe platforma ATCA și, totodată, preluarea vectorilor de test și a șabloanelor de verificare. ATCA reprezintă o platformă cu putere de calcul înaltă, produsă în ultimul deceniu [90]. Baza performanței transferului de date constă în standardul construcției unui back-plane conform cu reglementările PIGMG (PCI Industrial Computers Produceri Group) [31], caracteristică fiind o magistrală comună "InfiniBand" de 40 Gbps (switching fabric). Această matrice de interconectare (fabric) este esențialul arhitecturii ultra-rapide ATCA constituind un avantaj în fața conectării prin adaptoare suplimentare, predispuse la blocaje. Platforma ATCA permite instalarea unor module de extensie care oferă diferite funcționalități.

3.4 Concluzii În cadrul acestui capitol am prezentat principalele tehnologii destinate analizei fluxurilor de date, accentul fiind pus pe metodele de inspecție profundă a pachetelor de date. În această direcție am demonstrat modul de implementare al unei aplicații destinată inspecției profunde a pachetelor de date, dezvoltată pentru a rula pe procesoare specializate de tipul Broadcom XLR. Deoarece prelucrarea de pachete și discriminare fluxurilor devine o capacitate necesară pentru orice operator telecom, integrarea sistemelor de tip ATCA va deveni mai frecventă. Studiul prezentat împreună cu dezvoltarea și integrarea practică a unei aplicații, au demonstrat posibilitatea de discriminare trafic într-un scenariu industrial. Tehnica prezentată poate fi aplicată cu succes, de asemenea, pentru colectare de statistici, control, filtrare, alocarea de resurse, etc. Platforma integrată poate fi utilizată pentru soluții avansate de investigare a traficului. Traficul poate fi emulat (cu modulul FM40 – switch de mare viteză) sau poate fi preluat din exterior, pentru a fi inspectat în timp real, fără despachetare prin DPI (inspecția profundă a pachetelor) – una din cele mai spectaculoase aplicații ale procesoarelor de pachete XLR732 RMI-NetLogic-Broadcom de pe modulul PP50. Fluxurile pot fi investigate, fără a fi afectată integritatea informațiilor transmise. Indiferent de tipul de trafic de intrare (specific, de exemplu SGSN, GGSN, reţelei de control radio, sau reţelei de bază – Core Network), acesta poate fi dirijat, preluat și investigat în același fel - doar aplicația de analiză a conţinutului trebuie să fie dotată cu decodificatoarele corespunzătoare tipului de trafic inspectat.

Page 26: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

26

Capitolul 4

VIRTUALIZAREA EVENIMENTELOR PENTRU CONTROLUL PRIN STARE

Un eveniment poate fi definit conform [79] ca fiind o întâmplare de orice natură care are loc într-un anumit sistem sau domeniu, ceva ce s-a întâmplat sau este observat/considerat ca fiind întâmplat în acel domeniu. Termenul de eveniment este deseori folosit și pentru a defini o structură de date care este folosită pentru a reprezenta o astfel de întâmplare într-un sistem informatic.

Evenimentele pot fi simple (spre exemplu trecerea sistemului dintr-o stare în alta, depășirea limitei impuse pentru utilizarea anumitor resurse, etc.) sau compuse rezultate din corelarea mai multor evenimente simple sau alte evenimente compuse. Astfel evenimentele simple pot fi generate prin observarea individuală a unui senzor, pot fi evenimente temporale, etc. Evenimentele compuse în schimb rezultă în urma procesării, corelării sau agregării mai multor evenimente.

4.1 Procesarea evenimentelor complexe Procesarea evenimentelor complexe (CEP – Complex Event Processing) urmărește analiza, corelarea și sinteza evenimentelor de diverse tipuri în evenimente noi care pot fi utilizate pentru controlul prin stare. Pot fi sintetizate astfel evenimente virtuale sau chiar meta-evenimente între care există relații temporale, cauzale sau spațiale și care nu au în mod obligatoriu același tip.

Modelul aplicațiilor pentru procesarea evenimentelor complexe se bazează pe modelul de sistem detecție-decizie-răspuns [79] urmărindu-se a fi realizate următoarele obiective principale:

- observația evenimentelor sau achiziția de date - diseminarea informației - diagnosticarea activă - procesarea predictivă.

Arhitectura tipică a unui sistem pentru procesarea evenimentelor se bazează pe conceptele introduse în [82]. Astfel, o aplicație CEP este construită în jurul unei rețele de procesare a evenimentelor în care există legături între producătorii de evenimente, agenții de procesare și consumatorii evenimentelor, legături asigurate prin intermediul unor canale de comunicație.

4.2 Modele comportamentale – controlul pe baz ă de evenimente Metodele de management al reţelelor de comunicații pot fi clasificate în:

- metode orientate pe Protocol - de exemplu SNMP (Simple Network Management Protocol), cu procesare preponderent centralizată

Page 27: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

27

- metode bazate pe modelul Client/Server - sisteme distribuite (descentralizate) de obiecte

software (de exemplu CORBA - Common Object Request Broker Architecture)

- metode bazate pe Agenţi Mobili specializaţi (cu logica de management) reprezentând procese care migrează în nodurile administrate

- metode specifice TMN (Telecommunications Management Networks): pentru controlul

reţelelor mari şi distribuite de telecomunicaţii, prin managementul evenimentelor

Modelele comportamentale (”behavioral models” - ”white box models”) asociate claselor software (reprezentabile și cu UML - Universal Modeling Languages) de management al rețelelor sunt, în esență, Automate cu Stări Finite sau ASM - Mașini Algoritmice de Stare. Se pune problema unor meta-evenimente - dacă păstram principiul controlului prin stare este necesară o ierarhizare: evenimentele declanșatoare propriu zise la nivel inferior și la nivel superior evenimentele asociate interpretării conținutului (detecție, depășire praguri de corelație, observare comportamente). Ierarhizarea controlului cuprinde:

- nivelul de management Business: analiza evoluţiei comerciale (inclusiv cu predicţie financiară), a calităţii, a aspectelor direct implicate în modelul “facturare” – extins la înregistrarea şi evaluarea tuturor evenimentelor din reţea;

- nivelul de management al Serviciilor: crearea, administrarea şi contorizarea serviciilor; - nivelul de management al Reţelei: alocarea resurselor distribuite - configurare,

monitorizare şi control; - nivelul de management al Elementelor de Reţea: comanda nodurilor de reţea –

transmiterea, colectarea şi procesarea informaţiilor (înregistrări) de stare (inclusiv alarme) în vederea automatizării gestiunii hardware şi software.

4.3 Integrarea bazat ă pe containere a unei solu ții de securizare prin controlul evenimentelor Având în vedere mecanismele oferite de către rețelele definite software, prin care acestea pot fi programate și reconfigurate în mod dinamic, am propus o soluție de securizare a rețelelor bazată pe procesarea și controlul evenimentelor. Mă voi referi în prima fază doar la evenimentele de securitate detectate în cadrul rețelei. Aceste evenimente pot reprezenta spre exemplu detectarea unui flux de date conținând cod sau aplicații de tip malware sau viruși, încercări de intruziune în rețea, cereri de acces la diferite resurse din cadrul rețelei, accesul neautorizat la resurse, etc. Toate aceste evenimente sunt captate prin intermediul unor sisteme pe care le vom denumi senzori de rețea sau sisteme de detecție a intruziunilor. Soluția propusă constă în implementarea unui sistem de prelucrare în timp real a evenimentelor dintr-o rețea pentru detectarea posibilelor probleme de securitate. Sistemul se bazează pe

Page 28: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

28

evenimentele generate de către componentele de detecție a intruziunilor plasate în cadrul rețelei. Un sistem scalabil de mesagerie are rolul de a colecta evenimentele provenind de la surse multiple, care sunt apoi centralizate și analizate. Sistemele de detecție a intruziunilor sau IDS (Intrusion Detection System) pot identifica traficul de date care prezintă potențial pericol folosind tehnici bazate pe generarea și compararea semnăturilor sau detectarea anomaliilor în fluxul de date [141]. Arhitectura sistemului propus se compune din patru niveluri:

- Nivelul de detecție compus din componentele dedicate detectării intruziunilor sau analizei de fluxuri, distribuite în cadrul rețelei

- Nivelul de colectare a evenimentelor reprezentat de un sistem scalabil de mesagerie, care are rolul de a colecta evenimentele generate de componentele din nivelul inferior. Acest sistem trebuie să fie scalabil pentru a putea face față unui număr foarte mare de evenimente generate simultan. Sistemul de mesagerie funcționează pe principiul publicație/subscripție, în care componentele de detecție publică evenimente, iar componentele implicate în procesarea evenimentelor pot realiza o subscripție-abonare pentru a primi evenimentele de care sunt interesate.

- Nivelul de analiză în timp real a evenimentelor. Acest nivel centralizează evenimentele aflate în sistemul de mesagerie în vederea procesării. Procesarea evenimentelor presupune activități de filtrare, transformare, adăugare de meta-date, corelare, etc.

- Nivelul de control responsabil pentru luarea deciziilor de modificare a modului de tratare a fluxurilor de date pe baza evenimentelor primite de la nivelul de analiză. În cazul rețelelor SDN acest nivel va interacționa cu platforma de control a rețelei, determinând modificarea fluxurilor de date din cadrul rețelei. Interacțiunea se realizează prin intermediul interfețelor programabile (API) disponibile în cadrul platformei de control.

4.4 Concluzii Paradigma rețelelor definite software prin separarea planului de control de planul de comutație permite programarea rețelei în mod dinamic. Aplicațiile de rețea pot interacționa prin intermediul interfețelor programabile cu platforma de control și în felul acesta pot manipula în mod direct modul de tratare a fluxurilor de date în cadrul rețelei. Pe aceste caracteristici ale rețelelor definite software se bazează soluția de securitate prezentată în acest capitol. Soluția propusă vizează securizarea rețelelor definite software prin controlul bazat pe evenimente. Componente active de inspecție și monitorizare a traficului sunt integrate în cadrul rețelei și au rolul de a analiza proactiv traficul de date cu scopul de a detecta anomalii sau tentative de intruziune. Aceste componente generează evenimente care sunt analizate, corelate și care determină manipularea fluxurilor de date în conformitate cu strategia de securitate implementată.

Page 29: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

29

Capitolul 5

ORIENTAREA PE SERVICII A COMUNICA ȚIILOR INDUSTRIALE Folosirea paradigmei orientării pe servicii reprezintă o direcție inovatoare și actuală în eforturile de a dezvolta noi tehnologii pentru integrarea resurselor de calcul în sistemele eterogene distribuite în contextul Cloud computing.

5.1 Abordarea orientat ă pe servicii Noțiunile de serviciu, e-serviciu sau serviciu web sunt utilizate frecvent pentru a denumi o componentă software autonomă care este identificată în mod unic și care poate fi accesată folosind protocoale standard Internet cum SOAP sau HTTP sau cele bazate pe XML. Serviciile web au simplificat într-o foarte mare măsura procesul de integrare a numeroaselor componente software și au facilitat orientarea către o arhitectură orientată pe servicii. Conceptul de serviciu web a apărut în urma necesității de a interconecta diversele aplicații care rulează la nivel de organizație printr-o modalitate rapidă și flexibil ă. Scopul principal urmărit prin folosirea serviciilor web este interoperabilitatea. Aceasta permite ca sisteme sau aplicații eterogene, rulând pe platforme diferite, sa poată comunica între ele într-un mod standardizat. Interacțiunea dintre consumatori (clienți) și furnizorul de servicii se realizează printr-un schimb de mesaje în format standardizat. Serviciile web pot fi grupate în două categorii principale: servicii bazate pe protocolul SOAP și servicii de tip REST.

5.1.1 Standardele care definesc serviciile web

Autoritatea care reglementează standardele legate de serviciile web este organizația World Wide Web Consortium (W3C). Pe lângă standardele de bază folosite pentru serviciile web cum ar fi WSDL, SOAP sau UDDI, organizația W3C a mai definit o serie de standarde ce iau în considerare aspecte precum securitatea serviciilor web, managementul, tranzacțiile, parametrii referitori la calitatea serviciilor (QoS), modalitățile de adresare, publicarea politicilor unui serviciu, compunerea și orchestrarea serviciilor web. Toate aceste standarde se bazează pe XML și folosesc XML Schema pentru a limita formatul datelor în cadrul documentelor XML. Acest subcapitol tratează în detaliu protocoalele de bază pentru servicii web, cum ar fi WSDL, SOAP și UDDI.

5.1.2 Serviciile web de tip REST

Serviciile web de tip REST au apărut ca o alternativă la serviciile web bazate pe protocolul SOAP. Termenul REST este o abreviere pentru Representational State Transfer și a fost folosit

Page 30: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

30

pentru prima dată în lucrarea de doctorat "Architectural Styles and the Design of Network- based Software Architectures" scrisă de Roy Fielding, unul din principalii autori a specificațiilor protocolului HTTP. REST se referă strict la o colecție de principii arhitecturale care definesc felul în care sunt definite și adresate resursele. În mod uzual o resursă reprezintă o entitate care poate fi stocată într-un computer şi poate fi reprezentată printr-un șir de biți: un document, un rând dintr-o bază de date, sau rezultatul rulării unui algoritm. Fiecare resursă are atașat un identificator global unic (un URI - Uniform Resource Identifier). Într-un context mai puțin riguros, REST descrie orice interfață care manipulează date folosind metodele definite de protocolul HTTP. Principiile REST stabilesc o corelare între operațiile de creare, citire, actualizare sau ștergere (CRUD – Create, Read, Update, Delete) a unei resurse și metodele HTTP.

5.2 Arhitecturi orientate pe servicii Arhitectura orientată pe servicii (SOA – Service Oriented Architecture) este un model arhitectural care presupune dezvoltarea aplicațiilor software pe baza unor componente reutilizabile numite servicii. SOA impune un model bazat pe un set de servicii interconectate care comunică prin interfețe și protocoale standardizate. Deseori arhitectura orientată pe servicii este văzută ca o evoluție a programării distribuite. Capacitatea de reutilizare a serviciilor în cadrul aplicațiilor reprezintă caracteristica principală a acestui model arhitectural. Datorită avantajelor oferite, programarea orientată pe servicii s-a impus pe piață ca un model fiabil de dezvoltare software. SOA permite construirea diverselor sisteme informatice într-o manieră care să permită cooperarea (interoperabilitatea, integrarea) eficientă între ele. Principiile SOA recomandă ca noile servicii să fie dezvoltate prin combinarea și reutilizarea serviciilor deja existente, dar în același timp componentele sistemului trebuie sa își păstreze un grad ridicat de independență. De asemenea un alt principiu important este utilizarea și descoperirea serviciilor în mod dinamic.

5.2.1 Orchestrarea serviciilor web

În cadrul organizațiilor, folosirea serviciilor web se poate încadra în două mari categorii: integrare de aplicații (EAI – Enterprise Application Integration) sau integrare de parteneri externi în scenarii de tip Business-to-Business (B2B). În fiecare din aceste categorii, serviciile web pot varia din punct de vedere al complexității, de la servicii simple de tip cerere-răspuns până la interacțiuni complexe implicând tranzacții între mai multe entități și care pot să se întindă pe o durată mai lungă de timp. Scenariile complexe impun agregarea și orchestrarea mai multor servicii web sub forma unui proces. Serviciile web pot fi integrate în doua moduri diferite : orchestrare sau coregrafie.

Page 31: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

31

Orchestrarea serviciilor (uneori numită și compunere sau coordonare) precizează modul în care vor fi apelate mai multe servicii care cooperează pentru îndeplinirea unui obiectiv complex. În acest caz există o entitate centrală, denumită proces, care deține controlul asupra execuției și coordonează apelarea diverselor operații ale serviciilor web. Coregrafia serviciilor în contrast cu orchestrarea, nu se bazează pe un punct central de control ci fiecare serviciu web implicat în coreografie știe când trebuie execute anumite operații și care sunt serviciile cu care trebuie să interacționeze. BPEL (Business Process Execution Language) sau BPEL4WS (BPEL for Web Services) este un limbaj de modelare a proceselor dezvoltat de către organizația OASIS. Standardul BPEL a rezultat în urma procesului de contopire a două limbaje predecesoare: Web Services Flow Language (WSFL) dezvoltat de către IBM și a limbajului XLANG dezvoltat de către Microsoft. BPEL combină concepte preluate de la cele două limbaje și pune la dispoziție un vocabular bogat pentru descrierea de procese. Un proces BPEL specifică ordinea în care serviciile web participante la orchestrare trebuie invocate precum și mesajele care sunt trimise la fiecare serviciu în parte. Într-un scenariu simplu, un proces BPEL primește o cerere de la un consumator (client), apelează serviciile web conform logicii definite în proces și returnează rezultatul clientului.

5.3 Contribu ție la integrarea comunica țiilor industriale în mediul distribuit Comunicațiile industriale sunt influențate de evoluția tehnologiilor de tip Cloud, fiind din ce în ce mai mult orientate spre servicii. Modelul de acces la infrastructură tinde spre abstractizare și generalizare urmând modelul introdus de VISA (Virtual Instrumentation Software Architecture). Putem vorbi de o orientare spre servicii și introducerea unei noi paradigme ”măsurare ca serviciu”. Acest subcapitol prezintă o metodă pentru expunerea sub formă de servicii web a capabilităților instrumentației de tip VISA, cu controlabilitate IVI (Interchangeable Virtual Instrumentation) printr-un model comportamental de control pe bază de atribute (prin drivere standard). Agregarea unor configurații în care nu contează distanța are la bază un model de integrare cu BPEL și ESB (Enterprise Service Bus). Utilizarea de la distanță a dispozitivelor VISA aduce posibilitatea de a integra instrumente de măsurare distribuite în cadrul proceselor industriale. Tendința din ultimul deceniu în direcția instrumentelor virtuale (VI) - "software-ul este instrumentul" - a devenit recent "serviciul este instrumentul". Contribuția prezentată reprezintă o metodă de a expune, prin intermediul serviciilor web, instrumentele VISA, care pot fi incluse în diverse configurații de testare, având la bază pe

Page 32: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

32

orchestrarea cu ajutorul limbajului BPEL. Configurațiile rezultate pot fi și ele la rândul lor expuse ca servicii, ajungând la conceptul de ”experiment ca serviciu”. Serviciul web implementat denumit ”WBService” (Workbench Service) pune la dispoziție următoarele operații: - Interogarea instrumentelor disponibile (prin intermediul operației ”getInstrumentList”) - Executare unei comenzi VISA pe un instrument specificat (prin intermediul operației ”executeCommand”). Cele două operații implementate permit interogarea listei de dispozitive VISA disponibile și executarea de instrucțiuni VISA pe aceste instrumente. Utilizarea serviciilor web ne permite să automatizăm descoperirea și agregarea instrumentației. Se pot dezvolta astfel scenarii complexe de testare, doar prin definirea instrumentelor participante și a fluxului de date și instrucțiuni schimbate între acestea. Orchestrarea și controlul acestor scenarii se realizează prin intermediul unor limbaje specializate cum ar fi BPEL. Expunerea instrumentelor industriale avansate folosind tehnologii standard, cum ar fi servicii web, oferă posibilitatea de a decupla clienții de hardware/platforme eliminând necesitatea de a instala medii de execuție suplimentare pe partea de client și permite compoziția și orchestrarea pentru a crea scenarii industriale complexe. Domeniul serviciilor de instrumentație industrială modelate ca procesele abstracte prin utilizarea unor limbaje de modelare de nivel înalt – BPEL sau BPMN (Business Process Model and Notation) - reprezintă o abordare științifică nouă, care are drept scop transferul echipamentelor industriale și al proceselor aferente spre Cloud.

5.4 Concluzii În cadrul acestui capitol am arătat posibilitatea orientării pe servicii a comunicațiilor industriale. Arhitecturile orientate pe servicii s-au impus de ceva vreme ca standard în cazul dezvoltării de sisteme distribuite. Prin contribuțiile aduse am dorit să aplic conceptele și tehnologiile serviciilor web în contextul comunicațiilor industriale. Expunerea instrumentației de tip VISA sub forma unor servicii web standardizate, a permis în primul rând eliberarea de platforme și protocoale proprietare (ex. mediul de dezvoltare și execuție LabVIEW) și a deschis noi posibilități de dezvoltarea de aplicații și scenarii complexe de interacțiune între dispozitive aflate la distanță. Pe baza serviciilor web implementate, am dezvoltat un scenariu complex de măsurare de la distanță care presupunea interacțiuni multiple cu dispozitivele de instrumentație din cadrul standului virtual de lucru. Prin această contribuție am demonstrat posibilitatea orientării pe servicii a comunicațiilor industriale, precum și fiabilitatea acestei abordări. Serviciul web din cadrul platformei Virtual Electro-Lab a universității a constituit fundamentul dezvoltării ulterioare de noi servicii și scenarii de măsurare sau experimente. Am adus astfel în lumină conceptul de ”experiment ca serviciu” ca o completare a paradigmei de ”instrument ca serviciu”.

Page 33: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

33

Capitolul 6

REȚELE DEFINITE ONTOLOGIC - ÎN INTERNETUL OBIECTELOR În ultimele două decenii o atenție deosebită a fost acordată microsistemelor digitale, a dispozitivelor încorporate (embedded) acestea devenind cu adevărat necesare în viața de zi cu zi. Alături de sistemele de calcul de dimensiuni medii şi mari, cu putere computaţională sporită, dispozitivele încorporate îşi demonstrează utilitatea în majoritatea domeniilor de activitate deşi aceste dispozitive au de multe ori resurse mai puţine decât sistemele de calcul clasice. Din categoria aparte a sistemelor încorporate fac parte şi reţelele de senzori care au beneficiat de o mai mare atenţie în ultimii 10 poate chiar 15 ani. Rețelele de senzori pot fi găsite într-o gamă largă de aplicaţii precum sisteme domotice, sisteme de monitorizare a mediului, sisteme de securitate, sisteme de detecţie a incendiilor, sisteme robotizate de intervenţie în caz de calamităţi, aplicaţii militare, platforme robotice. O reţea de senzori este alcătuită în principal de microsisteme încorporate (noduri), fixe sau mobile, de obicei slabe ca resurse hardware, cu alimentare în special limitată, pe baterie, cu capacităţi senzoriale superioare și de asemenea cu capacitate de comunicare fără fir. Comunicarea la nivelul unei reţele de senzori este realizată prin intermediul unei stive de protocoale ierarhizate pe nivele. Conform multor modele în acest sens această stivă conține protocoale specializate pe accesul la mediu (protocoale MAC), corecţia şi detecţia erorilor, rutarea informaţiei etc. Interesul în creștere pentru paradigma de Internet al obiectelor – IoT (Internet of Things) - a dus la o serie de implementări de subrețele extinse de senzori, în care coexistă soluții eterogene de comunicații: de la tehnologii de acces cum ar fi GSM, WiFi, ZigBee sau Bluetooth, la protocoale de rutare ad-hoc multi-hop ad-hoc de tip MANET. Dat fiind modul alternativ, dar similar, de transmisie a informație față de setul TCP/IP, există protocoalele IoT specifice sau utilizate predilect, dintre acestea cele mai cunoscute fiind:

- MQTT (MQ Telemetry Transport); - CoAP (Constrained Application Protocol); - XMPP (Extensible Messaging and Presence Protocol) - tot mai răspândit în reţele sociale; - REST API (Representational state transfer) – comunicație uni-direcțională, stilul

arhitectural REST este cel mai bine reprezentat de World Wide Web.

6.1 Ontologii și web-ul semantic O definiție a Web-ului semantic a fost dată de Tim Berners-Lee, creatorul sistemului web inițial, ca fiind "o extensie a web-ului existent, în care informația conține un sens bine definit, permițând oamenilor și calculatoarelor să lucreze împreună”. Ideea este ca web-ul să conțină date și nu documente, transformându-se astfel într-o bază de cunoștințe imensă, a cărei exploatare va fi făcută atât de oameni cât și de calculatoare.

Page 34: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

34

Termenul „Semantic Web” este de multe ori utilizat în referință cu principalele formate, standarde și tehnologii care asigură o descriere formală a conceptelor și relațiilor dintre ele în cadrul unui domeniu de cunoștințe dat.

6.1.1 Resource Description Framework (RDF)

Inițial, RDF (un „cadru pentru descrierea resurselor”) a fost creat ca un model de reprezentare a metadatelor, dar acum este folosit ca o metodă generală de modelare conceptuală a informațiilor din resursele web. Ideea este de a face afirmații despre resursele web sub forma unor expresii subiect-predicat-obiect (atribut). Subiectul denotă resursa și este identificat printr-un URI (Uniform Resource Identifier); predicatul este de asemenea o resursă identificată de asemenea printr-un URI și face legătura între subiect și obiect; obiectul (atributul) poate fi o resursă sau o valoare. RDF (Resource Description Framework) are un limbaj bazat pe sintaxa XML ce utilizează un model de reprezentare a grafurilor pentru a exprima fapte despre resurse identificate prin URI. URI reprezintă pentru RDF corespondentele cheilor primare din modelele relaționale prin faptul că un URI va identifica în mod unic o resursă.

6.1.2 Web Ontology Language (OWL)

Diferite limbaje de definire ale ontologiilor oferă diferite facilități. Cea mai recentă dezvoltare în limbajele standard de definire a ontologiilor este OWL, produs de consorțiul World Wide Web (W3C). La fel ca și RDF, OWL face posibilă descrierea conceptelor dar, în plus, oferă multe alte facilități. Are un set mai bogat de operatori (de exemplu: și, sau, negare). Folosind OWL, conceptele complexe pot fi definite într-o maniera ierarhică pornind de la concepte simple. OWL extinde practic RDF adăugând posibilitatea de a folosi instrumente de inferență pe datele din ontologie și pune la dispoziție elemente pentru a construi taxonomii (ierarhii de clase). Taxonomiile pot fi folosite pentru a descoperi dinamic relațiile.

6.2 Rețele de senzori organizate semantic Cantitatea de informații disponibile în spațiul World Wide Web crește spectaculos prin apariția IoT. Centrul de greutate al înțelegerii și interpretării conținutului WWW se va deplasa spre abordarea semantică directă de către ”mașini” – calculatoare, instrumentație, echipament industrial sau domotic. În această perspectivă voi arăta cum managementul rețelelor bazat nu (numai) pe conexiuni (ci și) pe informația propriu-zisă vehiculată – Web-ul semantic – poate permite și ”mașinilor” interconectate în Internet ca, programatic (pe bază de software dedicat), să poată înțelege și utiliza date din WWW pentru a-şi îndeplini quasi-independent de factorul uman, misiunea (încredinţată de acesta). Conform direcției inaugurate de Tim Berners-Lee, pregătirea / completarea informației brute pentru utilizarea ei în Web-ul Semantic, constă în ”adnotarea” cu

Page 35: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

35

meta-date dedicate cooperării mașină-mașină sau om-mașină. Conceptualizarea ontologică în Internetul obiectelor modelează relații și atribute în forma unui graf format din noduri - reprezentând concepte - și muchii - reprezentând relații între concepte. Am aplicat aceste principii la Rețeaua Semantică de Senzori (”Semantic Sensor Web”) ca sinergie între reţelele de senzori și Web-ul Semantic [83]. În această direcție, am implementat un serviciu destinat comunicației în IoT între rețele de senzori care folosesc local protocoale de comunicație diferite. Informațiile vehiculate în cadrul rețelelor de senzori au fost adnotate semantic, fiind astfel posibilă interpretarea uniformă a datelor provenite de la senzori. Dezvoltarea soluției presupune două etape importante și anume definirea modului de adnotare a datelor și stabilirea unei ontologii și respectiv implementarea unei aplicații care să permită schimbul de date între noduri care folosesc protocoale diferite de comunicație.

6.2.1 Adnotarea semantică a datelor

Deoarece senzorii reprezintă în general dispozitive cu resurse limitate (memorie, putere de calcul, baterie, etc.) metodele clasice de reprezentare al informațiilor semantice bazate pe XML cum ar fi RDF sau OWL nu sunt potrivite. Alternativa aleasă a fost standardul JSON-LD (JavaScript Object Notation for Linked Data) care reprezintă o extensie a formatului JSON pentru reprezentarea de informații semantice [85]. JSON este un format de reprezentare și interschimb de date între aplicații informatice în format text, inteligibil pentru oameni, utilizat pentru reprezentarea obiectelor și a altor structuri de date și este folosit în special pentru a transmite date structurate prin rețea. JSON-LD reprezintă un standard care folosește un vocabular predefinit pentru a descrie diverse entități (informațiile de bază + metadate) folosind formatul JSON [86]. Informațiile semantice adaugă o definiție a datelor și specifică în același timp modul de interpretare al acestora. În cele mai multe cazuri, din cauza resurselor limitate, senzorii transmit doar informațiile achiziționate, interpretarea corectă a acestora fiind în responsabilitatea consumatorilor. Pentru a procesa corect datele, consumatorii au nevoie în avans de informații suplimentare referitoare la structura și tipul datelor recepționate.

6.2.2 Interconectarea multi-protocol a rețelelor de senzori

Având definite modurile de reprezentare și adnotare semantică a datelor, pasul următor este dezvoltarea unei aplicații care să realizeze interconectarea multi-protocol a rețelelor de senzori. Pentru dezvoltarea acestei aplicații am folosit ca bază bibliotecile software din cadrul proiectului Eclipse Ponte [87], definite sub forma unor module JavaScript pentru platforma node.js. Aplicația pentru interconectarea multi-protocol a rețelelor de senzori are o arhitectură modulară, fiind implementate componente specializate de comunicație pentru fiecare protocol în parte.

Page 36: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

36

Toate aceste componente folosesc în comun, un nivel de persistență destinat stocării mesajelor în vederea garantării nivelurilor de calitate a serviciului (QoS) specificate de fiecare protocol. Nivelul de persistență poate fi reprezentat de o bază de date non-relațională cum ar fi de exemplu MongoDB sau Redis. Sunt implementate în prezent componente pentru următoarele protocoale HTTP, MQTT și CoAP. Protocolul HTTP este utilizat pentru a efectua apeluri de tip REST.

6.3 Concluzii În anul 1991 Mark Weiser prezenta paradigma “ubiquitous computing” ca fiind tehnologia computerelor predominantă în toate aspectele vieții, concept revoluționar în acea perioadă. Între timp, ideile emise de Weiser par familiare astăzi: dispar computerele sub formă de produse vizibile amplasate pe birourile noastre și apar sub forma a numeroase obiecte folosite în viața de zi cu zi. În prezent majoritatea dispozitivelor pe care la utilizăm cum ar fi camerele foto, telefoanele mobile, autoturismele, etc. sunt toate controlate de computere miniaturale, denumite și sisteme încorporate. De asemenea aproape toate aceste dispozitive sunt conectate la Internet. Cu toate acestea schimbul de informație între dispozitive este limitat din diverse motive cum ar fi protocoale incompatibile, de cele mai mule ori proprietare, medii de comunicare diferite, etc. Demersul prezentat în acest capitol - de a îmbunătăți interoperabilitatea în IoT - reprezintă un prim pas spre funcționalitatea de raționament-interpretare (înțelegere și posibilitate de interogare orientată pe sens și similitudine a datelor produse și/sau vehiculate) și spre funcționalitatea decizională (asupra modului de organizare / administrare). Acest capitol a prezentat conceptele propuse de paradigma rețelelor semantice, în acest context fiind descrise tehnologiile și limbajele utilizate pentru definirea ontologiilor. Rețelele semantice presupun adnotarea datelor și reprezentarea acestora într-un limbaj independent de platformă și care să poată fi procesat automat pentru calculul inferențelor logice. Din acest motiv cele mai populare limbaje cum ar fi RDF sau OWL presupun reprezentarea datelor în format XML. Procesarea acestui tip de documente se dovedește a fi foarte costisitoare din punct de vedere al resurselor de calcul necesare, fiind din acest motiv nepotrivită pentru reprezentarea datelor în cadrul sistemelor integrate respectiv al rețelelor de senzori. Contribuția prezentată în cadrul acestui capitol propune folosirea formatului JSON-LD pentru reprezentarea datelor și adnotarea semantică a acestora. Adnotarea semantică a datelor se bazează pe ontologia IOTDB special concepută pentru a reprezenta entitățile conectate în cadrul Internetului obiectelor. Un alt aspect important este reprezentat de interoperabilitatea între dispozitive eterogene cum ar fi senzori, actuatori, etc., care folosesc protocoale diferite de comunicație. Contribuția adusă reprezintă realizarea unei soluții de interconectare a dispozitivelor care folosesc protocoalele MQTT, CoAP sau HTTP (REST) pentru comunicație. Soluția realizată se bazează pe utilizarea proiectului Eclipse Ponte.

Page 37: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

37

Capitolul 7

CONCLUZII GENERALE ȘI CONTRIBUȚII ORIGINALE Acest capitol însumează principalele concluzii ale lucrării şi grupează contribuțiile aduse la managementul și securitatea rețelelor definite software. Am încadrat rezultatele stagiului meu de doctorat în activitatea colectivelor de cercetare ale universității, în conformitate cu direcțiile planului său strategic de cercetare-dezvoltare.

În cadrul Echipei de Rețele Inteligente de la Centrul de cercetare C13 din Institutului PRO-DD al Universității Transilvania din Brașov am pus la punct sistemul de procesare

de pachete (cu DPI – inspecția profundă a pachetelor).

Am integrat un sistem complet de dezvoltare (cu SDK RMI/NetLogic/Broadcom, consola Linux cu acces de la distanță) dublat de un mediu de emulare off-line ”Packet Pretender” care permite testare completă prealabilă instalării serviciului (”deployment”) pe platforma ATCA și, totodată, preluarea vectorilor de test și a șabloanelor de verificare.

Cercetările în eLearning reprezintă un domeniu prestigios de activitate al Facultății de Inginerie Electrică și Știința Calculatoarelor, coordonatoare a unei Rețele Trans-Naționale ” VET-TREND” (”Valorisation of an Experiment-based Training System through a Transnational Network Development”). În această arie de preocupări, comunicațiile industriale au specificul unor tehnologii avansate de acces concurent de la distanță la care am contribuit cu o serie de

soluții originale privind ”măsurarea ca serviciu” – un aport personal deosebit fiind programarea BPEL al tele-măsurării de pe ”thin clients” (telefoane mobile, tablete etc). Specificul soluțiilor pe care le-am propus e încărcarea computațională minimă la nivel

client (motiv pentru care și terminale mobile obișnuite – nu neapărat dispozitive avansate – pot fi folosite în accesul de la distanță la Internetul obiectelor).

Una din direcțiile de cercetare a fost evaluarea tehnologiei containerelor Linux, în contextul soluțiilor de virtualizare existente pe piață. La momentul începerii cercetărilor doctorale, această tehnologie era încă în plină dezvoltare. În prezent containerele Linux, prin intermediul implementării Docker au devenit o alternativă viabilă la tehnologiile clasice de virtualizare. Datorită dimensiunilor reduse și a flexibilității în crearea și interconectarea lor, containerele Linux au reușit să se impună, tehnologia fiind adoptată de către principalii furnizori de servicii Cloud. Adoptarea pe scară largă a acestei tehnologii, validează actualitatea și oportunitatea cercetărilor pe care le-am efectuat în această direcție. Am decis folosirea aceste tehnologii în cercetările doctorale privind virtualizarea și am adus o serie de contribuții la

Page 38: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

38

interconectarea containerelor Linux (inclusiv de pe servere diferite) și utilizarea acestora în soluțiile speciale pe care le-am dezvoltat pentru rețelele definite software (contribuții prezentate în capitolele 1 și 2) – în principal găzduirea de aplicații pentru analiza traficului în timp real.

Una dintre temele permanent în actualitate este reprezentată de securitatea rețelelor. Capitolul 3 prezintă contribuțiile aduse pentru

identificarea fluxurilor de date folosind inspecția profundă de pachete (DPI) - soluție implementată pe platforma ATCA, utilizând funcționalitățile puse la dispoziție de procesoarele dedicate pentru analiză de pachete XLR732.

Am demonstrat astfel că platforma integrată ATCA poate fi utilizată pentru soluții avansate de investigare a traficului. Traficul poate fi emulat (cu modulul FM40 – switch de mare viteză) sau poate fi preluat din exterior, pentru a fi inspectat în timp real, fără despachetare prin DPI (inspecția profundă a pachetelor) – una din cele mai spectaculoase aplicații ale procesoarelor de pachete XLR732 RMI-NetLogic-Broadcom de pe modulul PP50. Fluxurile pot fi investigate, fără a fi afectată integritatea informațiilor transmise. Indiferent de tipul de trafic de intrare (specific, de exemplu SGSN, GGSN, reţelei de control radio, sau reţelei de bază – Core Network), el poate fi dirijat, preluat și investigat în același fel - doar aplicația de analiză a

conţinutului trebuie să fie dotată cu decodificatoarele corespunzătoare tipului de trafic

inspectat. Aceste contribuții se înscriu în managementul pe bază de conținut al rețelelor definite software ca ”re țele ale informației” – depășind astfel abordările clasice ale gestiunii ”orientate pe conexiune”. Pornind de la aplicația de identificare și discriminare a fluxurilor de date, am propus și prezentat în capitolul 4

o soluție de securizare a rețelelor definite software prin control bazat pe evenimente. Componente active de inspecție și monitorizare a traficului sunt integrate în cadrul rețelei și au rolul de a analiza proactiv traficul de date cu scopul de a detecta anomalii sau tentative de

intruziune. Aceste componente generează evenimente care sunt procesate – analizate și corelate – și care determină manipularea fluxurilor de date în conformitate cu strategia de securitate implementată. Sistemul a fost implementat cu ajutorul unor platforme open-source care oferă performanțe ridicate și scalabilitate, cum ar fi Apache Kafka pentru colectarea și transmiterea evenimentelor sau Apache Storm care permite procesarea în timp real a evenimentelor. Controlul bazat pe evenimente – pe care am suprapus un nivel superior de sinteză a înseși

evenimentelor – are avantajul posibilității integrării cu ușurință de noi componente în sistem. Se

Page 39: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

39

pot integra astfel diverse aplicații pentru identificarea și clasificarea de fluxuri sau aplicații de monitorizare a traficului. Modelul propus are avantajele de a fi non invaziv, și de a nu necesita efectuarea de modificări în

infrastructura fizică a rețelei. Containerele Linux în care rulează diferitele componente ale soluției sunt atașate rețelei, interconectarea acestora realizându-se prin intermediul platformei de

control SDN. În cadrul capitolului 5 am arătat posibilitatea orientării pe servicii a comunicațiilor industriale. Arhitecturile orientate pe servicii s-au impus de ceva vreme ca standard în cazul dezvoltării de sisteme distribuite. Prin contribuțiile aduse am urmărit o abordare nouă: aplicarea conceptelor

și tehnologiilor serviciilor web în contextul comunicațiilor industriale.

Expunerea instrumentației sub forma unor servicii web standardizate, a permis în primul rând eliberarea de platforme și protocoale proprietare (ex. mediul de execuție LabVIEW) și a deschis noi posibilități de dezvoltarea de aplicații și scenarii complexe de interacțiune între dispozitive aflate la distanță. Contextul tehnologic avansat a fost reprezentat de VISA [ VXI (VME – Versa Module Eurocard (instruments) eXtensions for Instrumentation) Instrument Software Architecture ] / [ Virtual Instrumentation Software Architecture ].

Validarea acestei importante contribuții s-a făcut prin extinderea infrastructurii ”Virtual Electro-Lab” dezvoltată la Universitatea ”Transilvania” și ”publicată” pentru accesul de la distanță la standurile de instrumentație incluse în Rețeaua Trans-națională ”VET-TREND”. Pe baza serviciilor web implementate, am dezvoltat un scenariu complex de tele-măsurare care presupune interacțiuni multiple de la distanța cu echipamentele de instrumentație automatizată din cadrul standului de lucru. Acest serviciu a fost oferit în cadrul ”VET-TREND”, fiind testat de partenerii din Germania și Italia și verificat în cadrul unui audit de calitate coordonat de filiala Iași a Academiei Române. Am demonstrat astfel posibilitatea orientării pe servicii a

comunicațiilor industriale, precum și fiabilitatea acestei abordări. Serviciul web din cadrul platformei ”Virtual Electro-Lab” a constituit fundamentul dezvoltării ulterioare de noi servicii și scenarii de măsurare sau experimente. Am adus astfel în lumină conceptul de ”experiment ca serviciu” ca o completare a paradigmei de ”instrument ca

serviciu”.

Capitolul 6 a continuat proiectarea soluțiilor dezvoltate în domeniul IoT, abordând rețele de senzori organizate semantic (SSN). Cercetările au încununat orientarea pe conținut prin abordarea ontologică a informației vehiculate în rețea.

Am implementat un serviciu destinat comunicației între sub-rețele de senzori care folosesc local protocoale de comunicație diferite (în particular MQTT și CoAP) cu intermediere semantică – pentru aceasta am folosit standardul JSON-LD și am extins ontologiile IOTDB și schema.org într-o ontologie specifică Internetului obiectelor (IoT) pentru comunicații M2M

Page 40: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

40

Bibliografie Lucr ări ale autorului Articole indexate ISI

[Cos1] C.Costache, F.Sandu, T.Balan, A.Nedelcu, A.Covei – ”Business Integration of

Industrial Communications with Cloud Computing” – Proceedings of the IEEE Conference COMM 2014, București, 29-31 mai 2014, pp. 407-411, ISBN 978-1-4799-2385-4

[Cos2] R.Curpen, T.Balan, F.Sandu, C.Costache, C.Cerchez – ”Demonstrator for Voice

Communication over LTE” – Proceedings of the IEEE Conference COMM 2014, București, 29-31 mai 2014, pp. 355-359, ISBN 978-1-4799-2385-4v

Articole în publicații clasificate B+ de CNCSIS

[Cos3] A.Balica, C. Costache, F.Sandu, D.Robu – ”Deep Packet Inspection for M2M

Flow Discrimination, Integration on an ATCA Platform” – Bulletin of the Air-Force Academy „Henri Coandă” Brașov, Vol XII, No 2 (26) 2014, pag.85-90, ISSN-L: 1842-9238

[Cos4] C.Costache, O.Machidon, A.Mladin, F.Sandu, R.Bocu – ”Software-Defined

Networking of Linux Containers” – Proceedings of the 13th RoEduNet IEEE International Conference, 11-13 Sept 2014, Chișinău

Articole publicate în volumele unor conferințe internaționale

[Cos5] D. Robu, C.Costache, A.Balica, T. Balan, F. Sandu - "Packet Processing for

Streaming Filtering on ATCA Platforms" - 6th Győr Symposium and 3rd Hungarian-Polish and Hungarian-Romanian Joint Conference on Computational Intelligence, Széchenyi István University, Győr, Ungaria, 15-18 septembrie 2014

[Cos6] C. Costache, T. Balan, F. Sandu, D. Robu - "Software-Defined Networks for Secure

Distributed Industrial Communications " - 6th Győr Symposium and 3rd Hungarian-Polish and Hungarian-Romanian Joint Conference on Computational Intelligence, Széchenyi István University, Győr, Ungaria, 15-18 septembrie 2014

[Cos7] F.Sandu, C.Costache, T.C.Bălan, A.N.Balica – ”Packet Processing on an ATCA

40G Platform” – Proceedings of the 4th International Conference on Recent Achievements in Mechatronics, Automation, Computer Science and Robotics (MACRo2013), Editura Scientia, 2013, ISSN: 2247 – 0948, pp. 251-258; 4-5 octombrie 2013, Târgu Mureş, România.

Page 41: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

41

[Cos8] F.Sandu, D.N.Robu, C.Costache – ”BPEL Implementation of QoS-based Management in Multi-modal Mobile Communications” – Proceedings of the International Conference on Development and Application Systems (DAS 2010), 27-29 May 2010, Suceava, Romania, ISSN 1844-5039, pag 191-196.

Capitole în monografii publicate în țară și în străinătate [Cos9] E. Kayafas , F. Sandu, A. V. Nedelcu, C. Costache, D. N. Robu, M. Demeter–

”Tele-measurement Services for m-Learning" - capitol in monografia „Service

Delivery Platforms: Developing and Deploying Converged Multimedia Services” - Editori: Syed A. Ahson, and Mohammad Ilyas – CRC Press Auerbach - ISBN: 9781439800898 / ISBN 10: 1439800898 – Data publicării: 16 martie 2011

[Cos10] Capitol în monografia "Advanced Technologies for e-Learning", Ediţia 1-a, 420

pag. – Editori: S.Moraru, F.Sandu, P.Borza - Editura Lux Libris (cod CNCSIS 201), Brașov, 2008, ISBN 978-973-131-045-96.

[Cos11] Capitol in monografia „Advanced Technologies for e-Learning” - Ediţia 2-a, Vol.2 –

„Middleware. Integration”, 260 pag. –Editori: S.Moraru, F.Sandu, P.Borza - Editura Lux Libris (cod CNCSIS 201), Braşov, 2009, ISBN 978-973-131-066-46.

Bibliografie și Web-grafie [1] Buyyaa R., Yeoa C.S., Venugopala S., Broberga J., Brandicc I. „Cloud Computing and

emerging IT platforms: Vision, hype, and reality for delivering computing as the 5th utility.” Future Generation Computer Systems Volume 25 (2009)

[2] T., Nadeau. SDN - Software Defined Networks. O'Reilly, 2013. [3] Nygren A., Pfa B., Lantz B., Heller. „OpenFlow Switch Specification version 1.3.3.”

2013. [4] Jain R., Paul S. „Network virtualization and software defined networking for Cloud

computing: a survey.” IEEE Communications Magazine 51.11 (fără an): pp.24-31 [5] Bakshi, K. „Considerations for Software Defined Networking (SDN): Approaches and

use cases.” IEEE Aerospace Conference (2013): pp.1-9 [6] ONF, Open Networking Foundation. „”Software-Defined Networking: The New Norm

for Networks". White paper.” 2012 [7] Open Network Foundation. https://www.opennetworking.org/ [8] N.Feamster, J. Rexford, E. Zegura. „The Road to SDN: An Intellectual History of

Programmable Networks.” ACM SIGCOMM Computer Communications Review (Aprilie 2014)

[9] de Oliveira Silva, Flavio, și alții. „Enabling future Internet architecture research and experimentation by using software-defined networking.” European Workshop on Software-Defined Networking (EWSDN) (2012): 73-78

[10] A. Gember, P. Prabhu, Z. Ghadiyali, A. Akella. „Toward Software-Defined Middlebox Networking.”

Page 42: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

42

[11] Gopalakrishnan, Abhilash. „Applications of Software Defined Networks in Industrial Automation.” http://www.academia.edu/2472112

[12] Moore, Andrew W. și Denis Zuev. „Internet Traffic Classification Using Bayesian Analysis Techniques.” SIGMETRICS (2005)

[13] Freescale Semiconductor, Inc. DPI Solutions for Telecom Networks . Verlag Dr. Mueller e.K., 2008

[14] H.Holma, A.Toskala, K.Ranta-aho, J.Pirskanen. „High-Speed Packet Access Evolution in 3GPP Release 7.” IEEE Communications Magazine 45.12 (2007): 29-35

[15] GmbH, Ipoque. „Smart Traffic Management Policy Control and Charging in Converging IP Networks.” 2012

[16] Erman, Jeffrey, Anirban Mahanti și Martin Arlitt. „Internet Traffic Identification using Machine Learning.”

[17] Internet Assigned Numbers Authority. IANA. [18] Fernandes, Natalia Castro și Otto Carlos Muniz Badeira Duarte. „XNetMon: A Network

Monitor for Securing Virtual Networks.” [19] Hasan, Shaddi, și alții. „Enabling Rural Connectivity with SDN.” Proceedings of the 3rd

ACM Symposium on Computing for Development (2013): 49-51 [20] Mann, Vijay, Anikumar Vishnoi și Kalapriya Kannan. „Seamless VM mobility across

data centers through software defined networking.” Network Operations and Management Symposium (NOMS). (2012): 88-96

[21] Sandu, F., Costache, C., Balan, T.C., Balica, A.N. „Packet Processing on an ATCA 40G Platform.” Proceedings of the 4th International Conference on Recent Achievements in Mechatronics, Automation, Computer Science and Robotics (MACRo2013) (2013): 227-238

[22] VMware Whitepaper, “Understanding Full Virtualization, Para-virtualization, and Hardware Assist” – www.vmware.com/resources/ techresources/1008, Retrieved May 2014

[23] Kolyshkin K. – “Virtualization in Linux” – OpenVZ Technical Report, September 2006 – http://download.openvz.org/doc/ openvz-intro.pdf, Retrieved May 2014

[24] Xavier M., Neves M., Rossi F., Ferreto T., Lange T., De Rose C. – “Performance

evaluation of container-based virtualization for high performance computing environments,” in Parallel, Distributed and Network-Based Processing (PDP), 2013 21st Euromicro International Conference, 2013, pp. 233–240

[25] M. Casado, M. J. Freedman, J. Pettit, J. Luo, N. McKeown, S. Shenker, „Ethane: taking control of the enterprise”, SIGCOMM, 2007

[26] Jain R., Paul S., „Network virtualization and software defined networking for Cloud computing: a survey”, IEEE Communications Magazine, vol.51, no.11, pp.24-31

[27] Zurawski, R., „Industrial Communication Technology Handbook”, Second Edition, CRC Press 2014, 1756 pag., ISBN 978-1-4822-0732-3

[28] Open Modus library: http://libmodbus.org/ [29] Open IEC61850 library: http://libiec61850.com/libiec61850/ [30] Radisys, „Partnering For DPI Deployment”, FierceMarkets custom publishing.

Available:http://go.radisys.com/rs/radisys/images/ebook-atca-partnering-for-dpi deployment.pdf [accesat: aprilie 2014]

Page 43: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

43

[31] Bergstrom, E., „Advanced TCA: A Force of One in Telecom & Datacom Applications”, Crystal Cube Consulting, 2013

[32] Sandu, F., Balica, A.N., Robu, D.N., Svab, S.R., „Remote Access to an Advanced Telecommunications Platform for Educational Purpose”, Proceedings of the 7th International Conference on Virtual Learning (ICVL), Bucharest University Press, ISSN 1844-8933, pag. 413-420, 2012

[33] Machidon, O.M., Sandu, F., Balica, A.N., Robu, D.N., Cazacu V., „Remote Project Integration on an ATCA Platform”, Proceedings of the 11th International Conference: Networking in Education and Research, RoEduNet ISSN: 2068-1038, Print ISBN: 978-1-4673-6114-9 – ISI Proceedings, 2013

[34] Sandu, F., Costache, C., Balan, T.C., Balica, A.N. “Packet Processing on an ATCA 40G Platform” 2013, Proceedings of the 4th International Conference on Recent Achievements in Mechatronics, Automation, Computer Science and Robotics (MACRo2013), Scientia publishing house, 2013, ISSN: 2247 – 0948, pp. 227-238 / 239-250 / 251-258; 4-5 October, 2013, Tirgu Mures, Romania

[35] M. Palmer, „SDN market size to exceed $35b in 2018”, Site oficial: http://www.sdncentral.com/sdn-blog/sdn-market-sizing/2013/04/ [accesat: mai 2014]

[36] PLEXXI, LIGHTSPEED, SDNCentral. „SDN market sizing”. Site oficial: http://cdn.sdncentral.com/wp-content/uploads/2013/04/sdn-market-sizing-report-0413.pdf [accesat: mai 2014]

[37] FIBRE. FIBRE Project - Future Internet Testbeds Experimentation Between Brazil and Europe. Site oficial: http://www.fibre-ict.eu/ [accesat: mai 2014]

[38] A. Doria, J. H. Salim, R. Haas, H. Khosravi, W. Wang, L. Dong, R. Gopal, and J. Halpern, “Forwarding and Control Element Separation (ForCES) Protocol Specification,” Internet Engineering Task Force, Site oficial: http://www.ietf.org/rfc/rfc5810.txt

[39] B. Pfaff and B. Davie, “The Open vSwitch Database Management Protocol,” RFC 7047 (Informational), Internet Engineering Task Force, Dec. 2013. Site oficial: http://www.ietf.org/rfc/rfc7047.txt

[40] H. Song, “Protocol-oblivious Forwarding: Unleash the power of SDN through a future-proof forwarding plane,” in Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, ser. HotSDN ’13. New York, NY, USA: ACM, 2013, pp.127–132.

[41] H. Song, J. Gong, J. Song, and J. Yu, “Protocol Oblivious Forwarding (POF),” 2013. Site oficial: http://www.poforwarding.org/

[42] M. Smith, M. Dvorkin, Y. Laribi, V. Pandey, P. Garg, and N. Weidenbacher, “OpFlex Control Protocol,” Internet Draft, Internet Engineering Task Force, April 2014. Site: http://tools.ietf.org/html/draft-smith-opflex-00

[43] G. Bianchi, M. Bonola, A. Capone, and C. Cascone, “OpenState: Programming platform-independent stateful OpenFlow applications inside the switch,” SIGCOMM Comput. Commun. Rev., vol. 44, no. 2, pp.44–51, Apr. 2014.

[44] M. Sune, V. Alvarez, T. Jungel, U. Toseef, and K. Pentikousis, “An OpenFlow implementation for network processors,” in Third European Workshop on Software Defined Networks, 2014

[45] D. Parniewicz, R. Doriguzzi Corin, L. Ogrodowczyk, M. Rashidi Fard, J. Matias, M. Gerola, V. Fuentes, U. Toseef, A. Zaalouk, B. Belter, E. Jacob, and K. Pentikousis,

Page 44: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

44

“Design and implementation of an OpenFlow hardware abstraction layer,” in Proceedings of the 2014 ACM SIGCOMM Workshop on Distributed Cloud Computing, ser. DCC ’14. New York, NY, USA: ACM, 2014, pp. 71–76.

[46] B. Belter, D. Parniewicz, L. Ogrodowczyk, A. Binczewski, M. Stroinski, V. Fuentes, J. Matias, M. Huarte, and E. Jacob, “Hardware abstraction layer as an SDN-enabler for non-OpenFlow network equipment,” in Third European Workshop on Software Defined Networks, 2014

[47] B. Belter, A. Binczewski, K. Dombek, A. Juszczyk, L. Ogrodowczyk, D. Parniewicz, M. Stroinski, and I. Olszewski, “Programmable abstraction of datapath,” in Third European Workshop on Software Defined Networks, 2014

[48] R. Enns, M. Bjorklund, J. Schoenwaelder, and A. Bierman, “Network Configuration Protocol (NETCONF),” RFC 6241 (Proposed Standard), Internet Engineering Task Force, Jun. 2011. Site: http://www.ietf.org/rfc/rfc6241.txt

[49] J. Vasseur and J. L. Roux, “Path Computation Element (PCE) Communication Protocol (PCEP),” RFC 5440 (Proposed Standard), Internet Engineering Task Force, Mar. 2009. Site: http://www.ietf.org/rfc/rfc5440.txt

[50] D. Harrington, R. Presuhn, and B. Wijnen, “An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks,” Internet Engineering Task Force, dec 2002.

[51] Y. Rekhter, T. Li, and S. Hares, “A Border Gateway Protocol 4 (BGP-4),” RFC 4271, Internet Engineering Task Force, Ian. 2006.

[52] R.Kuhlmann, „ATCA: Advanced Telecom Computing Architecture - Die Plattform der Zukunft für Telekommunikationssysteme”, Franzis Verlag GmbH, 2007 – ISBN 9-7837-7234-1298

[53] Bergstrom E., „Advanced TCA: A Force of One in Telecom & Datacom Applications”, Crystal Cube Consulting, 2003

[54] M. Rings, “Customizing a PXI-based Hardware-In-The-Loop Test System with LabVIEW,” Procs. of SAE 2010 World Congress and Exhibition, pp. 14-20, 2010

[55] Introducing High-Performance Multicore NI CompactRIO, http://www.ni.com/white-paper/13046/en

[56] LabVIEW Web Services, http://www.ni.com/white-paper/7747/en [57] A. Wasule, M. S. Panse, “A Telemedicine Monitor Based On LabVIEW Web Services,”

International Journal of Engineering Research and Applications, vol. 3(1), pp.1051-1053, 2013

[58] S. Tumkor, S. K. Esche, C. Chassapis, “Design of Remote Laboratory Experiments Using LabVIEW Web Services,” International Mechanical Engineering Congress ASME 2012, vol. 5, pp. 171-179, 2012

[59] A. Bosin, B. Madusudhanan, B. Pes, “A SOA-Based Environment Supporting Collaborative Experiments in e-Science,” International Journal of Web Portals, vol. 3(3), pp. 12-26 , 2011

[60] L. Chen, W. Emmerich, B. Wassermann, ”Grid Services Orchestration with OMII-BPEL”, in Grid computing: infrastructure, service, and applications, CRC Press, pp. 191-222, 2009

Page 45: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

45

[61] W. Tan, P. Missier, R. Madduri, I. Foster, “Building Scientific Workflow with Taverna and BPEL: A Comparative Study in caGrid,” Lecture Notes in Computer Science, vol. 5472, pp. 118-129, 2009

[62] P. Coelho, R. Sassi, E. Cardozo, E. Guimarães, L. Faina, R. Pinto, and A. Lima, "A Web Lab for Mobile Robotics Education," Proc. IEEE Int'l Conf. Robotics and Automation (ICRA '07), pp. 1381-1386, 2007

[63] M. Sonntag et. al., “Using Services and Service Compositions to Enable the Distributed Execution of Legacy Simulation Applications,” Lecture Notes in Computer Science, vol. 6994, pp. 242-253, 2011

[64] E.B. Fernandez, N.Yoshioka, H.Washizaki, „Two patterns for distributed systems: Enterprise Service Bus (ESB) and Distributed Publish/Subscribe”, 18th Conference on Pattern Languages of Programs - Oct 2011

[65] A.Hoing, „Orchestrating SecureWorkflowsfor Cloud and Grid Services”, Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften, Technische Universitat Berlin, 2010

[66] T. Berners-Lee, J. Hendler, O. Lassila, "The Semantic Web", Scientific American, 5, 2001

[67] D. Brickley et al., ABC: A Logical Model for Metadata Interoperability, Harmony Project, Working Paper, 1999

[68] S. Buraga, „Semantic Web. Fundamente şi aplicaţii”, Matrix Rom, Bucureşti, 2004 [69] M. Genesereth, R. Fikes, Knowledge Interchange Format. Version 3.0. Reference

Manual, Technical Report Logic-92-1, Stanford University, 1992 [70] M. Smith et al. (eds.), OWL Web Ontology Language Guide, W3C Recommendation,

2004: http://www.w3.org/TR/owl-guide/ [71] J. Sowa, "Ontologia şi reprezentarea cunoştinţelor", în G. Constandache, Ş. Trăuşan-Matu

(coord.), Hermeneutica şi ontologia calculatoarelor, Editura Tehnică, Bucureşti, 2001 [72] D. Tufiş, "BalkaNet: ontologie lexicală multilingvă", în Ş. Trăuşan-Matu, C. Pribeanu

(coord.), Lucrările Conferinţei Naţionale de Interacţiune Om-Calculator – RoCHI 2004, Printech, Bucureşti, 2004

[73] M. Bansal, J. Mehlman, S. Katti, and P. Levis, “Openradio: A programmable wireless dataplane,” in Proceedings of the First Workshop on Hot Topics in Software Defined Networks, ser. HotSDN’12. New York, NY, USA: ACM, 2012, pp. 109–114.

[74] L. Li, Z. Mao, and J. Rexford, “Toward software-defifned cellular networks,” in Software Defined Networking (EWSDN), 2012 European Workshop on, 2012.

[75] R. Sherwood, M. Chan, A. Covington, G. Gibb, M. Flajslik, N. Handigol, T.-Y. Huang, P. Kazemian, M. Kobayashi, J. Naous, S. Seetharaman, D. Underhill, T. Yabe, K.-K. Yap, Y. Yiakoumis, H. Zeng, G. Appenzeller, R. Johari, N. McKeown, and G. Parulkar, “Carving research slices out of your production” Comput. Commun. Rev., vol. 40.

[76] S. Jain, A. Kumar, S. Mandal, J. Ong, L. Poutievski, A. Singh, S. Venkata, J. Wanderer, J. Zhou, M. Zhu, J. Zolla, U. Hlzle, S. Stuart, and A. Vahdat. „B4: Experience with a globally deployed software defined WAN”, ACM SIGCOMM, Aug. 2013.

[77] Open Daylight, http://www.opendaylight.org/ [78] Margaret Rouse, Cloud Computing, SearchCloudComputing Magazine, 21 Dec 2010, Sit

oficial http://searchCloudcomputing.techtarget.com/definition/Cloud-computing (accesat iunie 2014)

Page 46: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

46

[79] O. Etzion and P. Niblett, ”Event Processing in Action”, 1st ed. Greenwich, CT, USA: Manning Publications Co., 2010

[80] P. Rosales, K. Oh, K. Kim, and J.-Y. Jung, ”Leveraging business process management through complex event processing for rfid and sensor networks”, in 40th International Conference on Computers and Industrial Engineering (CIE), july 2010, pp. 1-6.

[81] J. Dunkel, ”On Complex Event Processing for Sensor Networks”, International Symposium on Autonomous Decentralized Systems, March 2009, pp. 1-6.

[82] D. C. Luckham, ”The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems”. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc., 2001

[83] O. Corcho - "Semantic Social Sensor Networks" – Lectures at SSSW'12, the 9th Summer School on Ontology Engineering and the Semantic Web, July 8 - 14, 2012. Cercedilla – Madrid – Spain

[84] Michelson, B.M., ”Event-Driven Architecture Overview: Event-Driven SOA is Just Part of the EDA Story”, Patricia Seybold Group, 2006

[85] W3C JSON-LD Specification, http://www.w3.org/TR/json-ld/ [86] Markus Lanthaler,”Creating 3rd Generation Web APIs with JSON-LD and Hydra”,

Proceedings of the Proceedings of the 22nd International World Wide Web Conference (WWW2013), pp. 35-37. Rio de Janeiro, Brazil: ACM Press

[87] Proiectul Eclipse Ponte, http://www.eclipse.org/ponte/ [88] N. Feamster, “The case for separating routing from routers”, Proceedings of the ACM

SIGCOMM workshop on Future directions in network architecture. ACM, 2004 [89] Continuous Computing, „FlexPacket ATCA PP50 Packet Processor, User Manual”,

CC06786-11B, 2011 [90] Bergstrom, E., „Advanced TCA: A Force of One in Telecom & Datacom Applications”,

Crystal Cube Consulting, 2011 [91] Radisys, „Partnering For DPI Deployment”, FierceMarkets Custom Publishing, aprilie

2014, Site oficial http://go.radisys.com/rs/radisys/images/ebook-atca-partnering-for-dpi-deployment.pdf (accesat iulie 2014)

[92] National Semiconductor, „Precision centigrade temperature sensor”, Site oficial www.national.com/mpf/LM/LM35.html (accesat iulie 2014)

[93] Commission of the European Communities (2009-06-18), „Internet of Things – An action plan for Europe”, COM (2009) 278, Sit oficial http://cordis.europa.eu (accesat august 2014)

[94] A.C. Stanca, V. Sandu, R. Vaduva, O. Nemeth, „Distributed system for indoor temperature control”, Proceedings of the IEEE International Conference on Applied and Theoretical Electricity - 11th edition - ICATE 2012, pp.6.3.1-6, 2012

[95] B. Li, J. Yu, „Research and application on the smart home based on component technologies and Internet of Things”, Volume 15 of the Procedia Environmental Sciences Journal, pp. 2087 – 2092, 2011

[96] Message Queue Telemetry Transport, Sit oficial http://mqtt.org (accesat iulie 2014) [97] A. Broering, T. Foerster, S. Jirka, C. Priess, „An intermediary layer for linking sensor

networks and the sensor web”, Proceedings of the 1st International Conference on Computing for Geospatial Research & Application, “COM.Geo 2010”, ICPS - ACM International Conference Proceeding Series, Article 12, pp. 12:1-12:8, 2010

Page 47: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

47

[98] K. Ashton, „That 'Internet of Things' Thing”, RFID Journal, iulie 2009, Sit oficial www.rfidjournal.com/article/view/4986 (accesat iulie 2014)

[99] D. Uckelmann, M. Harrisson, F. Michahelles (editors), „Architecting the Internet of Things”, Springer, 2011

[100] S. Sean Dodson, R. Van Kranenburg, „The Internet of Things - A critique of ambient technology and the all-seeing network of RFID”, Institute of Network Cultures, 2009

[101] Cameron Scott, „General Electric Expands Internet of Things to More Industrual Equipment”, Singularitu HUB, 10 octombrie 2013, Site oficial http://www.qualcomm.com/media/releases/2013/01/07/qualcomm-and-att-support-Internet-everything-development-platform (accesat aprilie 2014)

[102] Qualcomm and AT&T Support Internet of Everything Development Platform, Qualcomm Press Release, January 07, 2013, Site oficial http://www.qualcomm.com/media/ releases/ 2013/01/07/qualcomm-and-att-support-Internet-everything-development-platform (accesat martie 2014)

[103] Zheng Xingming, „ZOOMs: An Optimized Operation and Management Solution”, ZTE, octombrie 2010, Sit oficial http://wwwen.zte.com.cn/endata/magazine/ztetechnologies/ 2010/no8/articles/201008/t20100816_ 188656.html (accesat martie 2014)

[104] Arye Zacks, Things I Saw at Israel’s “Internet of Things” Conference, AMDOCS Blogs, decembrie 2013, Sit oficial http://blogs.amdocs.com/insightfuel/2013/12/19/things-i-saw-at-israels-Internet-of-things-conference (accesat martie 2014)

[105] CISCO, "Cisco Connections Counter: dynamic, online widget displays the number of connections being made at any one moment in time”, Site oficial http://newsroom.cisco.com/feature-content?type=webcontent&articleId=1208342 (accesat martie 2014)

[106] ABI Research, „More Than 30 Billion Devices Will Wirelessly Connect to the Internet of Everything in 2020”, Site oficial http://www.abiresearch.com/press/more-than-30-billion-devices-will-wirelessly-conne (accesat martie 2014)

[107] AXIe Standard, „AXIe: AdvancedTCA Extensions for Instrumentation and Test, Overview”, AXIe Consortium, Inc, 2013, Sit oficial http://www.axiestandard.org/images/ AXIe_Overview_FEB2013.pdf (accesat iulie 2014)

[108] J. Postel, „User Datagram Protocol, Request for Comments (RFC) no. 768”, the Internet Engineering Task Force (IETF), 1980

[108] D.E. Comer, „Internetworking with TCP/IP: Principles, Protocols, and Architecture”, 5th Edition, Prentice-Hall, New Jersey, USA, 2006, ISBN 9780131876712

[109] National Instruments, Tutorial on Development of Wireless Measurement Systems, Sit oficial http://zone.ni.com/devzone/cda/tut/p/id/3247 (accesat iulie 2014)

[110] Verlag Dr. Mueller e.K., 2007 – ISBN 9-7838-3642-9764 Freescale Semiconductor, Inc - DPI Solutions for Telecom Networks – 2008

[111] Gartner Press Release, „Gartner Says Worldwide Public Cloud Services Market to Total $131 Billion”, Gartner, February 28, 2013, Sit oficial http://www.gartner.com/newsroom/ id/2352816 (accesat iunie 2014)

[112] Farzad Sabahi, „Cloud computing security threats and responses”, Communication Software and Networks (ICCSN), 2011 IEEE 3rd International Conference on, pages 245–249. IEEE, 2011

Page 48: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

48

[113] Subharthi Paul, Jianli Pan, and Raj Jain. „Architectures for the future networks and the next generation Internet: A survey”, Computer Communications, 34(1):2–42, 2011

[114] Michael Papazoglou „Web services: principles and technology”, Pearson Education, 2008 [115] Florin Ogigău-Neamțiu, „Cloud computing security issues”, Journal of Defense

Resources Management (JoDRM), (02):141–148, 2012 [116] Matthias Hovestadt, Odej Kao, and Alexander Stanik, „Hardware as a service (haas):

Physical and virtual hardware on demand”, Proceedings of the 2012 IEEE 4th International Conference on Cloud Computing Technology and Science (CloudCom), pages 149–154. IEEE Computer Society, 2012.

[117] Marius Ghercioiu, „Cloud Instrumentation. The Instrument is in The Cloud”, REE-Revue

de llectricite et de llectronique, (2):56, 2011 [118] Benjamin Fabian, „Secure name services for the Internet of Things”, Humboldt-

Universitaet zu Berlin, Wirtschaftswissenschaftliche Fakult¨at, 2008 [119] Wolfgang Emmerich, „Software engineering and middleware: a roadmap”, Proceedings

of the Conference on The future of Software engineering, pages 117–129. ACM, 2000 [120] J. Höller, V. Tsiatsis, C. Mulligan, S. Karnouskos, S. Avesand, D. Boyle, „From

Machine-to-Machine to the Internet of Things: Introduction to a New Age of Intelligence”, Elsevier, 2014

[121] T. Luo, H. P. Tan, and T.Q. S. Quek, „Sensor OpenFlow: Enabling Software-Defined Wireless Sensor Networks”, IEEE Comms Letters, vol 16, No 11, pp 1896-1899, 2012

[122] R. Sommer, V. Paxson, “Enhancing Byte-Level Network Intrusion Detection Signatures with Context”, ACM conf. on Computer and Communication Security, 2003, pp. 262--271.

[123] M. Roesch, “Snort: Lightweight intrusion detection for networks”, Systems Administration Conference (LISA), November 1999

[124] S. Antonatos, et al, “Generating realistic workloads for network intrusion detection systems”, ACM Workshop on Software and Performance, 2004.

[125] Fang Yu, et al., “Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection”, UCB tech. report, EECS-2005-8.

[126] J. Moscola, et al, “Implementation of a content-scanning module for an Internet firewall”, IEEE Workshop on FPGAs for Custom Computing Machines, Napa, CA, USA, April 2003.

[127] S. Dharmapurikar, et al, “Deep Packet Inspection using Parallel Bloom Filters”, IEEE Hot Interconnects 12, August 2003.

[128] Seungmin Baek, "Application Detection using DPI", Technical paper, Samsung Electronics, South Korea, 2010

[129] S. Sen, O. Spatscheck, and D. Wang., "Accurate, scalable in-network identification of p2p traffic using application signatures”, Proceedings of World Wide Web Conference, NY, USA, May 2004

[130] McGregor, A., Hall, M., Lorier, P., Brunskill, J.: "Flow Clustering Using Machine Learning Techniques", Barakat, C., Pratt, I. (eds.) PAM 2004. LNCS, vol. 3 015, pp. 2 05-214. Springer, Heidelberg (2004)

[131] Roni Bar-Yanai, Michael Langberg, David Peleg, and Liam Roditty, "Real time Classification for Encrypted Traffic", SEA 2 010, LNCS 6049, pp. 373-385, 2010

Page 49: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

49

[132] Jun Li, Shunyi Zhang, Cuilian Li, Junrong Van., "Composite lightweight traffic classification system for network management", Int. Journal of Network Management, 2010: 85-105

[133] G.Gu, P. Porras, V. Yegneswaran, M. Fong, and W. Lee., "BotHunter: Detecting Malware Infection through IDS-Driven Dialog Correlation", USENIX Security, 2007.

[134] R. Perdisci, W. Lee, and N. Feamster, "Behavioral clustering of http-based malware and

signature generation using malicious network traces", USENIX NSDI, 2010 [135] K. Vieira, A. Schulter, C. Westphall, C. Westphall, "Intrusion detection for grid and

cloud computing”, IT Professional, vol.12, no. 4, pp. 38-43, July/August 2010. [136] S. Yoon, B. Kim, J. Oh, "High-Performance stateful intrusion detection system",

International Conference on Computational Intelligence and Security (ICCIAS), 2007. [137] T. AbuHmed, A. Mohaisen, D. Nyang, "Deep packet inspection for intrusion detection

systems: A survey”, Magazine of Korea Telecommunication Society, vol. 24, No. 11, pages 25-36, November 2007

[138] C. Kruegel, F.Valeur, G. Vigna, R. Kemmerer, "Stateful Intrusion Detection for High-Speed Networks”, IEEE Symposium on Security and Privacy - S&P, 2005.

[139] H. Tipton, M. Krause, "Deep Packet Inspection Technologies", Information Systems Security, Auerbach Publications, 2009

[140] C. Gerber, "Deep Security: DISA beefs up network security with deep packet inspection of IP transmissions”, Military Information Technology, Issue 8, Volume 12, September 2008

[141] M. Rash, A. D. Orebaugh, G. Clark, B. Pinkard, and J. Babbin, "Intrusion Prevention and Active Response: Deploying Network and Host IPS”, Syngress, 2005

[142] Gruber. T.R., "A translation approach to portable ontologies", Knowledge Acquisition, 5(2):199-220, 1993

[143] Guarino, N., Giaretta, P., "Ontologies and Knowledge Bases: Towards a Terminological Clarification". In N. Mars (ed.) Towards Very Large Knowledge Bases: Knowledge Building and Knowledge Sharing 1995. IOS Press, Amsterdam: 25-32, 1995

[144] Uschold, M., "Building Ontologies: Towards a Unified Methodology". Proc. Expert Systems 96, Cambridge, December 16-18th., 1996

Page 50: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

50

Rezumat

Scopul tezei de doctorat „Contribu ții la managementul rețelelor definite software” este de a propune și implementa noi metode pentru îmbunătățirea managementului și securității în contextul rețelelor definite software. Am implementat o metodă de interconectare a containerelor Linux aflate pe servere diferite, care facilitează dezvoltarea aplicațiilor distribuite bazate pe micro-servicii. Această metoda poate fi utilizată pentru securizarea rețelelor definite software, prin găzduirea de aplicații destinate analizei traficului de date în containere Linux și interconectarea acestora în mod dinamic în cadru rețelelor. Comparativ cu managementul clasic orientat pe conexiune, am propus orientarea managementului pe conținut. Am dezvoltat aplicații pentru identificarea fluxurilor de date folosind inspecția profundă de pachete (DPI) – soluție implementată pe o platformă ATCA utilizând funcționalitățile puse la dispoziție de procesoarele dedicate analizei de pachete Broadcom/NetLogic XLR732. Pornind de la identificarea și discriminarea fluxurilor de date am propus o soluție de securizare a rețelelor definite software prin controlul bazat pe evenimente. În urma studiului clasificării și a modelelor de implementare a serviciilor de tip Cloud am identificat modelul de integrare as-a-Service ca unul fiabil pentru integrarea instrumentației în contextul comunicațiilor industriale. În această direcție am propus și implementat soluții originale privind expunerea instrumentației sub forma unor servicii web, pe baza cărora am dezvoltat scenarii complexe prin programarea BPEL a tele-măsurării, demonstrând astfel conceptul de ”experiment ca serviciu” ca o completare a paradigmei ”instrument ca serviciu”. Cercetările au completat orientarea pe conținut prin abordarea ontologică a informației vehiculate în rețea. În această direcție am implementat un serviciu destinat medierii comunicației între sub-rețele de senzori care folosesc protocoale de comunicație diferite (în particular MQTT și CoAP) cu intermediere semantică.

Abstract

The main goal of the PhD thesis titled "Contributions to the Management of Software Defined Networks" is to propose and implement new methods that aim to improve the management and security of software defined networks. I have implemented a method to interconnect Linux containers hosted on remote servers, enabling the development of distributed applications based on the microservices architecture. This method can be applied to secure software defined networks by hosting traffic analysis applications inside Linux containers that can be dinamicaly attached to the network. As an alternative to the classical network management based on connection, I have proposed a content driven management approach. In this respect I have developed applications for network flow discrimination using deep packet inspection (DPI). The applications were implemented on an ATCA platform leveraging the advanced features available in the Broadcom/NetLogic XLR732 packet processors. Using the flow identification and classification as starting point, I have proposed a security solution for software defined networks based on network events aquisition and control. Following the study on classifying the services and implementation models, I identified the „as-a-Service” paradigm as a reliable integration model for instrumentation in the context of industirial communications. I proposed and implemented an original solution to expose instrumentation as web-services. Based on the created web-services, I have developed complex tele-measurement scenarios using BPEL programming, introducing the „experiment as a service” concept in addition to the „instrument as a service” paradigm. The conducted research extended further the content driven approach by applying semantic annotations to the data flowing in the network. In this research area I have implemented a service to mediate the communication between sensor networks that use different comunication protocols (in particular MQTT and CoAP).

Page 51: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

51

CCuurrrriiccuulluumm VViittaaee

Date personale Nume / Prenume COSTACHE Cosmin Locul nașterii: Brașov Data nașterii: 26 mai 1982 Naționalitate: Română E-mail: [email protected]

Educație și formare

2012 - 2015 Doctorand cu frecvență Universitatea Transilvania din Brașov Facultatea de Inginerie Electrică și Stiința Calculatoarelor

2007 - 2009 Diplomă de Master în Rețele de Comunicații Digitale Universitatea Transilvania din Brașov Facultatea de Inginerie Electrică și Stiința Calculatoarelor

2001-2005 Diplomă de Licență în Informatică Universitatea Transilvania din Brașov

Facultatea de Matematică-Informatică

Experiență profesională 2010 - prezent IBM Romania / IBM GBS Germania J2EE Technical Lead / IT Specialist 2007 - 2010 Siemens PSE / Siemens Medical USA J2EE Technical Lead 2005 - 2007 Siemens PSE (România, Austria) J2EE Developer Certific ări

IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0

Limbi cunoscute Română: limbă maternă

Engleză: avansat Germană: avansat Competențe și aptitudini

Limbaje de programare: Java, C, C++, JavaScript Sisteme de operare: Unix/Linux, Windows

Technologii: J2EE (EJB, JPA, JMS, JSP, JSF), XML, SOA

Page 52: Universitatea Transilvania din Bra șovold.unitbv.ro/Portals/31/Sustineri de doctorat... · 2015-09-07 · pe utilizarea pe scar ă larg ă a tehnologiilor de virtualizare, astfel

52

CCuurrrriiccuulluumm VViittaaee

Personal Data Full Name: COSTACHE Cosmin Place of Birth: Brașov Date of Birth: 26 may 1982 Nationality: Romanian E-mail: [email protected]

Education

2012 - 2015 Doctoral Studies Transilvania University of Brașov Faculty of Electrical Engineering and Computer Science

2007 - 2009 Masters in Digital Communication Networks Transilvania University of Brașov Faculty of Electrical Engineering and Computer Science

2001-2005 Dipl.inf. in Computer Science Transilvania University of Brașov

Faculty of Matematics and Computer Science

Professional experience 2010 - present IBM Romania / IBM GBS Germany J2EE Technical Lead / IT Specialist 2007 - 2010 Siemens PSE / Siemens Medical USA J2EE Technical Lead 2005 - 2007 Siemens PSE (Romania, Austria) J2EE Developer Certificates

IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0

Languages

Romanian: mother tongue English: fluent German: fluent Computer skills

Programming languages: Java, C, C++, JavaScript Operating systems: Unix/Linux, Windows

Technologies: J2EE (EJB, JPA, JMS, JSP, JSF), XML, SOA


Recommended