Sunteți pe pagina 1din 52

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
1
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 cosmin.costache@unitbv.ro

Totodată vă invităm să luaţi parte la şedinţa publică de susţinere a tezei de


doctorat.

Vă mulţumim.

2
CUPRINS
Pg. Pg.
teza 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 29 16
virtuale
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 48 21
software
2.4 Concluzii 52 21
3. ANALIZA FLUXURILOR DE DATE – MANAGEMENTUL 53 23
REȚELELOR BAZAT PE CONȚINUT
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 59 24
pe platforma ATCA
3.4 Concluzii 67 25
4. VIRTUALIZAREA EVENIMENTELOR PENTRU CONTROLUL PRIN 69 26
STARE
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 75 27
evenimentelor
4.4 Concluzii 79 28

3
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

4
CONTENTS
Pg. Pg.
teza 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 48 21
networks
2.4 Conclusions 52 21
3. DATA FLOW ANALYSIS – CONTENT DRIVEN NETWORK 53 23
MANAGEMENT
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 59 24
platforms
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

5
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 THINGS 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

6
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 National Instruments
NFV 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

7
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

8
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

9
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

10
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.

11
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.

12
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.

13
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).

14
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

15
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 intermediul


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

16
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.

17
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

18
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].

19
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).

20
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

21
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.

22
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

23
- 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 de 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ă

24
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.

25
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ă

26
- 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

27
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ă.

28
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

29
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.

30
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

31
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”.

32
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.

33
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

34
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.

35
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.

36
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

37
 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

38
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

39
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.

40
[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.”

41
[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]

42
[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,

43
“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

44
[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)

45
[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

46
[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

47
[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

48
[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

49
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).

50
Curriculum Vitae
Date personale

Nume / Prenume COSTACHE Cosmin


Locul nașterii: Brașov
Data nașterii: 26 mai 1982
Naționalitate: Română
E-mail: cosmin.costache@unitbv.ro

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

51
Curriculum Vitae
Personal Data

Full Name: COSTACHE Cosmin


Place of Birth: Brașov
Date of Birth: 26 may 1982
Nationality: Romanian
E-mail: cosmin.costache@unitbv.ro

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

52

S-ar putea să vă placă și