Documente Academic
Documente Profesional
Documente Cultură
Cosmin COSTACHE
Contribuții la Managementul
Rețelelor Definite Software
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
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
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ă.
7
Introducere
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.
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.
Î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
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.
Obiectivele tezei
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.
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.
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.
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.
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ă
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.
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.
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.
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.
15
fi văzute ca fiind complementare, o mașină virtuală clasică putând fi folosită pentru a găzdui
containere Linux.
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).
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.
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
Î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ț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].
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.
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:
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.
Î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
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.
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
Î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
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.
Pentru clasificarea fluxurilor de date au fost dezvoltate în timp diverse metode, cele mai des
folosite fiind:
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ă.
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).
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.
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.
26
- metode bazate pe modelul Client/Server - sisteme distribuite (descentralizate) de obiecte
software (de exemplu CORBA - Common Object Request Broker Architecture)
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).
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].
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.
28
Capitolul 5
ORIENTAREA PE SERVICII A COMUNICAȚIILOR INDUSTRIALE
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.
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.
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.
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.
Î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.
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.
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).
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”.
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.
5.4 Concluzii
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.
32
Capitolul 6
REȚELE DEFINITE ONTOLOGIC - ÎN INTERNETUL OBIECTELOR
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.
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.
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ă.
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.
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.
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.
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].
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.
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.
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.
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.
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
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.
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.
38
pot integra astfel diverse aplicații pentru identificarea și clasificarea de fluxuri sau aplicații de
monitorizare a traficului.
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”.
39
Bibliografie
Lucrări ale autorului
[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
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.
[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
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
Educație și formare
Experiență profesională
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
51
Curriculum Vitae
Personal Data
Education
Professional experience
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