Implementari de politici QoS n ret ,ele programabile prin [628990]
Universitatea POLITEHNICA din Bucures ,ti
Facultatea de Electronic a, Telecomunicat ,ii s ,i Tehnologia Informat ,iei
Implementari de politici QoS ^ n ret ,ele programabile prin
software
Lucrare de licent , a
Prezentat a ca cerint , a part ,ial a pentru obt ,inerea
titlului de Inginer
^ n domeniul Electronic a, Telecomunicat ,ii s ,i Tehnologia Informat ,iei
programul de studii Electronic a Aplicat a
Conduc ator s ,tiint ,ic Absolvent: [anonimizat]. Valentin-Gabriel Voiculescu
S.l. Dr. ing. S ,erban ObrejaVictor Buruntia
Anul 2019
Cuprins
Lista gurilor : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : v
Lista tabelelor : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : vii
Lista acronimelor : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : viii
1. Introducere : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1
2. Tehnologii folosite : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2
2.1. Limbajul Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2. Virtualizare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2.1. Descriere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2.2. Evolut ,ia virtualizarii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2.3. Cum se foloses ,te virtualizarea . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.4. Tipuri de virtualizare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.5. Mas ,ini virtuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Software Dened Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3.1. Arhitectura SDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.2. Cum funct ,ioneaza SDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.3. Beneciile SDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4. OpenFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5. Quality of Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5.1. Descriere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5.2. Tipuri de erori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.6. Mininet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6.1. Descriere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6.2. Limitari Mininet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6.3. FlowVisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.7. Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3. Instalare si congurare : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10
3.1. Instalare Mininet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2. Instalare FlowVisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3. Prezentarea aplicat ,iilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3.1. Cazul 1. ^Imp art ,irea ret ,elei ^ n doua slice-uri: upper s ,i lower . . . . . . . . 12
3.3.1.1. Creare slice-uri s ,i congurare . . . . . . . . . . . . . . . . . . . 12
3.3.1.2. Ad augare
owspace upper . . . . . . . . . . . . . . . . . . . . . 13
3.3.1.3. Ad augare
owspace lower . . . . . . . . . . . . . . . . . . . . . 14
3.3.2. Cazul 2. Separarea tracului video de restul tracului din ret ,ea . . . . . 15
3.3.2.1. Creare slice-uri s ,i congurare . . . . . . . . . . . . . . . . . . . 16
3.3.2.2. Ad augare
owspace . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.3. Cazul 3. Separarea tracului ^ n trei categorii . . . . . . . . . . . . . . . 21
3.3.3.1. Creare slice-uri s ,i congurare . . . . . . . . . . . . . . . . . . . 22
4. Testare s ,i vericare : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28
4.0.1. Testare s ,i vericare caz 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.0.2. Testare s ,i vericare caz 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.0.3. Testare s ,i vericare caz 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5. Concluzii : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 34
Bibliograe : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 35
Anexa A. Cod topo.py : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 36
Anexa B. Cod topo1.py : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 38
Anexa C. Cod Flowspace complet caz 3 : : : : : : : : : : : : : : : : : : : : : : : : 40
ii
Lista gurilor
2.1. Arhitectura virtuala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2. Arhitectura generala a SDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3. Aplicarea politicilor QoS asupra tracului din ret ,ea . . . . . . . . . . . . . . . . 7
2.4. Arhitectura generala FlowVisor . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1. Topologia folosita la primele 2 cazuri . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2. Topologia folosita la caz 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3. Slice-urile upper s ,i lower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4. Congurare switch 1 pentru slice-ul upper . . . . . . . . . . . . . . . . . . . . . 13
3.5. Congurare switch 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.6. Congurare switch 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.7. Congurare switch 1 pentru slice-ul lower . . . . . . . . . . . . . . . . . . . . . . 15
3.8. Congurare switch 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.9. Congurare switch 4 pentru slice-ul lower . . . . . . . . . . . . . . . . . . . . . . 16
3.10. Imaginea de ansamblu a topologiei . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.11. Slice-uri video s ,i non-video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.12. Congurarea switch 1 si host-uri . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.13. Congurarea switch 4 si host-uri . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.14. Congurarea slice video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.15. Congurarea slice non-video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.16. Imaginea de ansamblu a topologiei in cazul 2 . . . . . . . . . . . . . . . . . . . 21
3.17. Slice-urile video, non-video, game . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.18. Congurare switch 1 s ,i hosturi . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.19. Congurare switch 4 s ,i hosturi . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.20. Congurare slice video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.21. Congurare slice non-video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.22. Congurare slice game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.23. Imaginea de ansamblu a topologiei ^ n cazul 3 . . . . . . . . . . . . . . . . . . . 27
4.1. Switch-urile conectate ^ n ret ,ea ^ n cazul 1 . . . . . . . . . . . . . . . . . . . . . . 28
4.2. Test conectivitate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3. Test conectivitate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.4. Test conectivitate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.5. Test conectivitate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.6. Switch-urile conectate ^ n ret ,ea ^ n cazul 2 . . . . . . . . . . . . . . . . . . . . . . 30
4.7. Switch-urile conectate ^ n ret ,ea ^ n cazul 2 . . . . . . . . . . . . . . . . . . . . . . 30
4.8. M asurarea vitezei video pe server ^ n cazul 2 . . . . . . . . . . . . . . . . . . . . 30
4.9. M asurarea vitezei video pe client ^ n cazul 2 . . . . . . . . . . . . . . . . . . . . 31
4.10. M asurarea vitezei non-video pe server ^ n cazul 2 . . . . . . . . . . . . . . . . . 31
4.11. M asurarea vitezei non-video pe client ^ n cazul 2 . . . . . . . . . . . . . . . . . . 32
4.12. M asurarea vitezei non-video pe server ^ n cazul 3 . . . . . . . . . . . . . . . . . 32
4.13. M asurarea vitezei non-video pe client ^ n cazul 3 . . . . . . . . . . . . . . . . . . 32
iii
4.14. M asurarea vitezei game pe server ^ n cazul 3 . . . . . . . . . . . . . . . . . . . . 32
4.15. M asurarea vitezei game pe client ^ n cazul 3 . . . . . . . . . . . . . . . . . . . . 33
4.16. M asurarea vitezei video pe server ^ n cazul 3 . . . . . . . . . . . . . . . . . . . . 33
4.17. M asurarea vitezei video pe client ^ n cazul 3 . . . . . . . . . . . . . . . . . . . . 33
iv
Lista tabelelor
v
Lista acronimelor
CLI=Command Line (linie de comand a)
hx=Host-ul x
ICMP=Internet Controll Messaging Protocol
IP=Internet Protocol
IT=Information Tehnology (Tehnologia informat ,iei)
OF=OpenFlow
QoS=Quality of Service(Calitatea serviciilor)
SDN=Software dened network (Retea programabila prin software)
sx=Switch-ul x
VM=Virtual Machine (masina virtuala)
vi
1
Capitolul 1
Introducere
^In ziua de azi, s ,tiint ,a s ,i tehnologia se dezvolta ^ ntr-un ritm alert, d^ and astfel posibilitatea
test arii ideilor teoretice prin aplicarea tehnicilor de simulare ^ ntr-un timp cat mai scurt.
Potrivit Cisco's Visual Networking Index pana ^ n 2022, 82 % din tracul IP va video com-
parativ cu 75% ^ n anul 2017. Aceasta cres ,tere va aduce de la sine o multitudine de probleme,
provoc ari (l at ,ime de banda, timp de as ,teptare, prioritizare a tracului) c arora furnizorii de
servicii trebuie sa le g aseasc a solut ,ii.
Cerint ,ele de scalabilitate s ,i granularitate ^ n ret ,elele moderne sunt la un nivel foarte ridicat astfel
^ nc^ at abordarea tradit ,ionala din ret ,ea, ^ n care echipamentele luau decizii de rutare independente
s,i rulau mai multe protocoale au devenit un factor limitator ^ n ceea ce prives ,te dezvoltarea ^ n
industrie.Ret ,elele din prezent nu au fost construite pentru a r aspunde necesit at ,ilor de ret ,ea din
urm atorii ani. Tendint ,a este de a renunt ,a la echipamente scumpe de ret ,ea s ,i de a folosi echi-
pamente virtuale.Aici intervine SDN, reprezent^ and o noua abordare a ret ,elelor de calculatoare
ce permite operatorilor de ret ,ele, produc atorilor de echipamente s ,i furnizorilor de servicii de
telecomunicat ,ii sa inoveze s ,i sa implementeze noi competente ^ ntr-un ritm rapid.
Lucrarea de fat ,a este structurata ^ n 3 p art ,i, ecare prezent^ and o modalitate de delimitare
a tracului din ret ,ea cu ajutorul QoS.
Capitolul 1 se ocup a cu prezentarea tehnologiilor folosite ^ n aceasta lucrare ^ ncep^ and de la con-
cepte teoretice s ,i prezentarea aplicat ,iilor folosite. ^In acest capitol vor prezentate conceptele
de virtualizare, SDN, OpenFlow, QoS dar s ,i aplicat ,iile Mininet s ,i FlowVisor.
^In capitolul 2 se prezint a instalarea aplicat ,iilor, congurarea lor s ,i implementarea topologiilor
de test.
Capitolul 3 va prezenta rezultatele testelor f acute pe topologiile implementate.
Lucrarea se ^ ncheie prin prezentarea concluziilor personale obt ,inute ^ n urma studiului concep-
tului de SDN, a implement arii unei ret ,ele virtuale s ,i a politicilor QoS.
2
Capitolul 2
Tehnologii folosite
2.1 Limbajul Python
Este un limbaj de programare interpretat, adic a transformarea din codul scris de programator
^ n cod mas ,ina se efectueaz a de ecare data la momentul rul arii, spre deosebire de limbajele
compilate ce presupun ^ nt^ ai compilarea ^ ntr-un s ,ier executabil, executarea propriu-zisa ind
un pas separat. Avantajul ^ n acest caz al unui limbaj interpretat este acela ca putem rula
codul foarte us ,or pe orice platforma pentru ca nu interpretorul de cod va produce cod mas ,ina
special pentru sistemul de operare pe care rulam. Dezavantajul fata de un limbaj compilat,
apare atunci c^ and rulam acelas ,i program f ar a a face modic ari, acesta av^ and un num ar mare
de instruct ,iuni, deoarece timpul este mereu acelas ,i, codul mas ,ina ind reprodus, des ,i nu exista
modic ari de la ultima rulare.
2.2 Virtualizare
2.2.1 Descriere
Virtualizarea este un mecanism prin care se creaz a o entitate care prezint a majoritatea carac-
teristicilor unei entit at ,i zice, f ar a ca aceasta sa existe zic, cum ar un sistem de operare, un
server, un dispozitiv de stocare sau echipamente de ret ,ea. Probabil s ,tit ,i un pic despre virtua-
lizare dac a at ,i ^ mp art ,it vreodat a un hard disk ^ n partit ,ii diferite. O partit ,ie este divizia logica
ale unui hard disk extern pentru a crea, ^ ntr-adev ar,dou a unit at ,i hard disk separat.
Figura 2.1: Arhitectura virtuala
2.2.2 Evolut ,ia virtualizarii
Virtualizarea sistemului de operare este folosirea unei aplicat ,ii care permite unei singure p art ,i de
hardware s a ruleze mai multe imagini de sisteme de operare ^ n acelas ,i timp.Aceasta tehnologie
a ^ nceput sa e utilizata ^ n marile companii cu zeci de ani ^ n urma scutind administratorii de
folosirea unor echipamente cu o putere de procesare mai mare,reduc^ and costurile.
3
2.2.3 Cum se foloses ,te virtualizarea
Virtualizarea descrie o tehnologie ^ n care o aplicat ,ie, un sistem de operare virtual sau un
spat ,iu de stocare sunt abstractizate de partea hardware. Una din cele mai folosite virtualiz ari
este virtualizarea serverelor care foloses ,te un nivel software numit hypervisor pentru a imita
componentele hardware.De obicei aceste hardware sunt memoria CPU, porturi I/O s ,i tracul
de ret ,ea.Sistemul de operare virtual, de obicei interact ,ioneaz a cu componentele hardware, dar
^ n acest caz acesta interact ,ioneaz a cu o emularea f acut a prin aplicat ,ie a acestor componente
s,i acesta nu are nicio informat ,ie ca interact ,ioneaz a cu componente hardware virtuale. ^In timp
ce performant ,a sistemului virtual nu este egala cu cea a unui sistem de operare care ruleaz a
pe componente hardware reale, conceptul de virtualizare funct ,ioneaz a deoarece majoritatea
sistemelor de operare virtuale s ,i majoritatea aplicat ,iilor nu au nevoie de ^ ntreaga putere de
calcul a componentelor hardware.Din aceasta cauza s-au improvizat
exibilitatea, controlul
s,i izolat ,ia prin ^ nl aturarea dependentei de o platforma hardware data. ^In timp ce init ,ial a fost
g^ andit pentru virtualizarea serverelor, conceptul de virtualizarea s-a ^ ntins spre aplicat ,ii, ret ,ele,
date, s ,i stat ,ii de munca.
2.2.4 Tipuri de virtualizare
Exista s ,ase arii ale IT ^ n care virtualizarea avanseaz a rapid:
1.Virtualizarea ret ,elei este o metoda de a combina resursele disponibile^ ntr-o ret ,ea prin^ mp art ,irea
l argimii de banda disponibila ^ n canale de banda,ecare ind independent s ,i care poate alocat
sau realocat c atre un server sau echipament particular ^ n timp real.Ideea este ca virtualizarea
ascunde adev arata complexitate a ret ,elei prin separarea ^ n part ,i mai us ,or de administrat, la fel
cum partit ,ionarea hard-disk-ului ^ t ,i face mai us ,oar a accesibilitatea s ,ierelor.
2.Virtualizarea spat ,iului de stocare este acumularea de depozitare zica de la mai multe dispo-
zitive de stocare din ret ,ea ^ n ceea ce pare a i un dispozitiv de stocare unic care este gestionat de
o consola centrala.Virtualizarea spat ,iului de stocare este frecvent utilizata ^ n ret ,elele de spat ,iu
de stocare.
3.Virtualizarea serverelor este ascunderea resurselor serverului, cum ar num arul s ,i identitatea
ec arui server zic, procesoare s ,i sisteme de operare, de utilizatorii serverului. Nivelul software
care permite aceasta abstractizare este de regula numit hypervisor.Cel mai ^ nt^ alnit hypervi-
sor este tipul 1(type 1).Acest hypervisor ruleaz a direct pe componentele hardware ale hostului
pentru a controla s ,i a administra sistemul de operarea virtual.
Tipul 2 (type 2) de hypervisor ruleaz a pe un sistem de operare al hostului.Sistemul de
operare virtual este v azut ca un proces ^ n sistemul de operare al hostului.Exemple VMWare
Workstation, VirtualBox.
4.Virtualizarea datelor este abstractizarea informat ,iilor tradit ,ionale despre date s ,i gestionarea
datelor cum ar locat ,ia, performant ,a sau format ^ n detrimentul unei acces mai larg.
5.Virtualizare workstation.Aceasta permite utilizatorului sa acceseze calculatorul de la distanta,
de obicei utiliz^ and un thin client -este un calculator care a fost optimizat pentru a stabili cone-
xiunea intre utilizator s ,i workstation-.Workstation-ul ruleaz a ^ ntr-un server al data center-ului
acest lucru f ac^ and ca accesul sa e mai securizat s ,i mai portabil.
6.Virtualizarea aplicat ,iei abstractizeaz a nivelul aplicat ,ie fata de sistemul de operare. ^In acest
mod aplicat ,ia poate rula ^ ntr-o forma ^ ncapsulata f ar a sa e dependenta de sistemul de operare
de pe echipament.Acest lucru permite ca o aplicat ,ie Windows sa poat a rula pe Linux,MacOS
s,i viceversa, ad aug^ and s ,i un nivel de izolare.
4
Virtualizarea poate v azuta ca o tendint ,a generala ^ n mediul IT care include Autonomic
Computing, un scenariu ^ n care mediul IT va putea s a se gestioneze singur prin activitatea
perceputa s ,i Utilty Computing, ^ n care puterea de procesare a calculatorului este v azuta ca o
utilitate ^ n care clientul poate pl ati doar de cat are nevoie.Scopul uzual al virtualiz ari este de a
centraliza comenzi adminstrative ^ n timp ce improvizeaz a scalabilitatea s ,i volumul de munca.
2.2.5 Mas ,ini virtuale
Termenul uzual ^ n industrie pentru un computer virtual este mas ,ina virtuala.Un container
software izolat cu un sistem de operare s ,i aplicat ,ii.Fiecare mas ,ina virtuala este independenta.Av^ and
mai multe mas ,ini virtuale pe un singur calculator permite ca pe un singur server zic sau host
sa ruleze mai multe sisteme de operare sau aplicat ,ii.
Mas ,inile virtuale au urm atoarele caracterisitici care ofer a anumite benecii:
Partit ,ionare
Rularea mai multor sisteme de operare pe un singur dispozitiv zic Divizarea resurselor siste-
mului intre mas ,inile virtuale.
Izolare
Asigura izolarea, securitate s ,i defectelor la nivel de componente hardware. Asigura performanta
cu control avansat al resurselor.
^Incapsulare
Starea mas ,ini virtuale este salvata ca un s ,ier. Mutarea s ,i copiere mas ,inilor virtuale este la fel
de us ,oara ca cea a s ,ierelor.
Independenta hardware
Mas ,inile virtuale pot rula pe orice computer.
2.3 Software Dened Network
Software dened networking(SDN) este un concept ce ofer a operatorilor de ret ,ea s ,i centrelor de
date
exibilitate ^ n administrarea echipamentelor de ret ,ea prin intermediul aplicat ,iilor software
ce ruleaz a pe servere externe. Scopul SDN este de a ^ mbun at at ,i controlul ret ,elei facilit^ and
companiilor s ,i furnizorilor de servicii de a r aspunde rapid la schimb arile din mediul online.
^Intr-o ret ,ea SDN un administrator poate direct ,iona tracul de la o consol a central a de control
f ar a a trebui sa intre ^ n contact cu switch-urile individuale din ret ,ea.Controller-ul SDN central
gestioneaz a switch-urile din ret ,ea pentru a livra serviciile necesare acolo unde trebuie f ar a sa
tina cont de conexiunile dintre server s ,i echipamente.Acest proces este o ^ ndep artare de la
arhitectura tradit ,ionala a unei ret ,ele ^ n care echipamentele individuale din ret ,ea iau decizii ^ n
leg atura cu tracul ret ,elei pe baza tabelelor de rutare congurate. Open Networking Foundation
(ONF) este grupul cel mai implicat ^ n crearea s ,i standardizarea SDN, iar denit ,ia oferit a de
aces ,tia este urm atoarea:"SDN este o arhitectur a ^ n curs de dezvoltare, dinamic a, us ,or de
administrat, ecient a din punct de vedere al costurilor s ,i adaptabil a, f ac^ and-o ideal a pentru
dimensiunea mare band a necesar a naturii dinamice a aplicat ,iilor din ziua de azi. Aceast a
arhitectur a desprinde funct ,iile de control de funct ,iile de expediere, permit ,^ and astfel controlul
ret ,elei s a e programabil direct s ,i structura de sub acesta s a e abstractizat a pentru aplicat ,ii
s,i servicii. Protocolul OpenFlow este elementul fundamental ^ n crearea de solut ,ii SDN."[1]
5
2.3.1 Arhitectura SDN
O reprezentare tipica a arhitecturii SDN include 3 mari nivele: nivelul aplicat ,ie,nivelul de
control s ,i nivelul infrastructurii.
Figura 2.2: Arhitectura generala a SDN
La nivelul de aplicat ,ie se a
a aplicat ,iile nite ce ajung la utilizatori, precum aplicat ,ii pentru
video conferint ,e sau management-ul relat ,iilor cu client ,ii. Nivelul de control reprezinta controller
centralizat SDN care act ,ioneaz a ca s ,i creierul SDN.Acest controller gestioneaz a politicile s ,i
ow-
urile tracului ^ n ^ ntreaga ret ,ea. Infrastructura este alc atuit a din echipamentele ^ n sine, aici
reg asindu-se o gam a diferit a de modalit at ,i de gestionare a acestora ^ n funct ,ie de necesitatea
s,i scopul ret ,elei. Exist a astfel: -Switch pur SDN – toate funct ,iile de control ale unui switch
tradit ,ional (protocoalele de rutare sunt folosite ^ n crearea bazei de expediere a informat ,iei) sunt
rulate de un controller central, astfel funct ,ionalitatea switch-ului este restr^ ans a strict la planul
6
de date. -Switch-ul hibrid – este un switch pe care ruleaz a, simultan, protocoalele de rutare
tradit ,ionale s ,i tehnologiile SDN). Un administrator de ret ,ea poate congura controller-ul SDN
pentru a descoperi s ,i controla anumite
uxuri de trac, ^ n timp ce protocoalele tradit ,ionale
continu a s a distribuie tracul prin ret ,ea. -Ret ,ea hibrid a { este ret ,eaua ^ n care se reg asesc at^ at
switch-uri tradit ,ionale, pur SDN sau hibride funct ,ioneaz a ^ n acelas ,i sistem
2.3.2 Cum funct ,ioneaza SDN
SDN cuprinde mai multe tipuri de tehnologii, inclusiv separarea funct ,ional a, ret ,ea de virtu-
alizare s ,i automatizare prin programare. Init ,ial, tehnologie SDN s-a concentrat exclusiv pe
separare a planului de control al ret ,elei de planul de date. ^In timp ce planul de control ia
decizii despre cum pachetele ar trebui s a curg a prin intermediul ret ,elei, planul de date de fapt
mut a pachete din loc ^ n loc. ^Intr-un scenariu de SDN clasic, un pachet ajunge la un switch
de ret ,ea, este analizat de controller,s ,i pe baza regulilor setate ^ n controller acesta va transmite
switch-ului unde se poate transmite pachetul respectiv. Acest lucru are ca scop obt ,inerea unui
control centralizat asupra tracului din ret ,ea.
2.3.3 Beneciile SDN
^In ret ,eaua SDN un administrator poate schimba orice regula din aceasta c^ and este nevoit:
prioritizare deprioritizare sau chiar blocarea unor anumite tipuri de pachete cu un nivel foarte
mare de securitate s ,i de granularitate. Asta ofer a administratorului posibilitatea sa foloseasc a
switch-uri mai ieftine s ,i sa aibe mai mult control asupra
uxului de trac din ret ,ea. Un alt
beneciu al SDN este gestionarea ret ,elei s ,i vizibilitatea end-to-end.Administratorul de ret ,ea
lucreaz a doar cu controller-ul centralizat pentru a distribui politicile c atre switch-urile conectate
^ n loc sa congureze manual ecare switch^ n parte.Aceasta capabilitate este totodat a un avantaj
din punct de vedere al securit at ,ii deoarece controller-ul poate monitoriza tracul s ,i implementa
politici de securitate. Sdn virtualizeaz a componente hardware s ,i servicii care ^ nainte erau
realizate de componente hardware dedicate rezult^ and ^ n mai put ,ine dispozitive zice s ,i un cost
operat ,ional mai sc azut.
2.4 OpenFlow
OpenFlow (OF) este considerat unul dintre primele standarde de ret ,ea (SDN) denite de
software. Acesta a denit init ,ial protocolul de comunicat ,ie ^ n mediile SDN care permite
controller-ului SDN s a interact ,ioneze direct cu planul de redirect ,ionare a dispozitivelor de ret ,ea,
cum ar switch-urile s ,i ruterele, at^ at zice, c^ at s ,i virtuale (bazate pe hypervisor), pentru a
se adapta mai bine cerint ,elor de afaceri ^ n schimbare. Pentru a lucra ^ ntr-un mediu OF, orice
dispozitiv care dores ,te s a comunice cu un controler SDN trebuie s a accepte protocolul Open-
Flow. Prin intermediul acestei interfet ,e, controlerul SDN ^ mpinge modic arile la tabela de
ux
a switch-ului / ruterului, permit ,^ and administratorilor de ret ,ea s a partit ,ioneze tracul, s a con-
troleze
uxurile pentru o performant , a optim a s ,i s a ^ nceap a testarea unor congurat ,ii s ,i aplicat ,ii
noi. OpenFlow este un protocol de comunicare standard. Acesta permite accesul la planul de
expediere a unui switch sau router, facilit^ and un management mai sosticat al tracului, ^ n spe-
cial pentru mediile de virtualizare s ,i cloud. Acest protocol nu specic a un mecanism particular
de tunelare, ^ n schimb, permite extensii pentru realizarea oric arui protocol de tunelare dorit.
^Intr-un ruter sau switch clasic, planul de date s ,i cel de control se a
a pe aparat. OpenFlow
permite diferitelor platforme din ret ,ea, de diferite tipuri, s a comunice cu un plan de control co-
mun, numit controller a
at pe un server extern. Tradit ,ional planul de control se ocup a doar de
procesele de rutare s ,i direct ,ionare. Avantajul real al utiliz arii OpenFlow const a ^ n potent ,ialele
7
aplicat ,ii pe care le poate activa. Forme noi ale aplicat ,iilor tradit ,ionale pentru securitate s ,i,
chiar aplicat ,ii noi, ce pot realizate cu ajutorul acestor controllere Deciziile planului de con-
trol pentru
uxuri sunt stabilite de controller, iar celelalte decizii s ,i controlul datelor este, ^ n
continuare, decis de router.
2.5 Quality of Service
2.5.1 Descriere
Quality of service a devenit necesar ^ n aplicat ,iile moderne de internet. Majoritatea solut ,iilor
QoS sunt realizate la nivelului 3 din stiva OSI (network). Pentru a putea realiza o transmisie
end-to-end QoS folses ,te s ,i nivelul 2. Calitatea serviciilor ofer a prioritate ^ n funct ,ie de aplicat ,ia
dorit a de utilizator,
uxuri de date. ^In plus, garanteaz a un anumit nivel de performant , a. Cel
mai frecvent domeniu pentru QoS este la comunicat ,iile de voce s ,i video. Furnizeaz a datele
cu o vitez a mic a, reduce bruiajele, ameliorarea pierderilor pachetelor. Quality of service (QoS
sau ^ n limba rom^ an a calitatea serviciilor) reprezint a performant ,a unei ret ,ele telefonice sau de
calculatoare, ^ n particular performant ,a v azut a de utilizatorul acelei ret ,ele.
Figura 2.3: Aplicarea politicilor QoS asupra tracului din ret ,ea
2.5.2 Tipuri de erori
Pentru a putea efectua m asur atori ale calit at ,ii serviciilor de ret ,ea trebuie s a lu am ^ n calcul mai
multe tipuri de eroare ce pot ap area frecvent ^ n topologie.
Erori date de rata de transmisie Band a Throughput ^Int^ arzierea transmisiuni Jitter
Erorile date de rata de transmisie pot ap area datorit a ratei de transfer a bit ,ilor sau a
compresiei de date. O alt a cauz a a acestei erori poate dat a s ,i de aparatele ce realizeaz a
conexiunea. De exemplu, un aparat este nou s ,i are o vitez a de transfer foarte mare, iar altul are
o vitez a mic a. Apare o problem a de transfer. Aceasta se rezolv a prin aducerea aparatului rapid
la o vitez a suportat a de cel lent. Banda de internet este denit a ca ind spat ,iul de frecvent ,e
alocat comunicat ,iilor pentru internet. Aceast a band a este mare, dar doar o port ,iune din aceasta
este utilizabil a. Aceast a port ,iune se numes ,te throughput. ^Int^ arzierea transmisiunii reprezint a
timpul necesar pentru a trimite pachetele de bit ,i de la surs a la destinat ,ie. Cu alte cuvinte
este ^ nt^ arzierea cauzat a de rata de date a ret ,elei. Aceasta nu are leg atur a cu distant ,a dintre
dou a noduri. Acest tip de ^ nt^ arziere este proport ,ional cu lungimea pachetelor de bit ,i ce trebuie
8
transmis ,i. Jitter-reprezint a variat ,ii ale ^ nt^ arzierii transmisiunii. De obicei, are o referint , a de
ceas pentru a putea m asurat. Jitter-ul este foarte periculos ^ n ret ,ea deoarece variaz a s ,i este
dicil de realizat o predict ,ie a acestuia. Spre deosebire de ^ nt^ arzierea transmisiunii, care este
us,or de determinat. Transferul de date random se refer a la posibilitatea pachetelor de a avea
trasee diferite. Dou a trasee nu sunt identice ca distant , a ,de aici putem avea mici ^ nt^ arzieri s ,i
astfel pachetele pot ajunge ^ n alt a ordine fat , a de cea ^ n care au plecat. Erorile pachetelor pot
date s ,i de pachetele corupte. Aceast a cauza este eroarea de bit. Aceste tipuri de erori sunt
produse de zgomot s ,i de alte interferent ,e. De obicei apar interferent ,e ^ n comunicat ,iile f ar a r.
La cele de cupru apar atunci c^ and lungimea rului este foarte mare. Datoria receptorului este
s a detecteze acest lucru, iar dac a pachetul se pierde receptorul poate solicita o nou a trimitere
a pachetului.
2.6 Mininet
2.6.1 Descriere
Mininet creeaz a o ret ,ea virtuala realistica, rul^ and un nucleu, switch s ,i aplicat ,ii pe o singur a
mas ,ina ( VM sau cloud) ^ n c^ ateva secunde, cu o singura comanda:
Mininet este un emulator de ret ,ea.Acesta poate rula end-host, switch-uri, ruter, link-uri
pe un singur nucleu Linux.Un host Mininet se comporta la fel ca un echipament real, te pot ,i
conecta pe el s ,i rula o suita de programe.Aceste programe vor trimite pachete prin o interfat ,a
care se comporta la fel ca interfat ,a reala Ethernet.Pachetele vor procesate de switch s ,i ruter.
Echipamentele din Mininet sunt creeate cu ajutor software s ,i ^ n ceea mai mare parte
funct ,ionarea acestora este similara cu echipamentele reale. ^In ziua de azi este destul de us ,or
sa creezi o ret ,ea Mininet care sa se asemene cu o ret ,ea reala s ,i o ret ,ea reala care sa se asemene
cu o ret ,ea Mininet s ,i ambele sa ruleze aceleas ,i aplicat ,ii.
2.6.2 Limitari Mininet
-Rularea pe un singur sistem este convenabil, dar impune limite de resurse, aceste resurse vor
trebui s a e echilibrate s ,i partajate ^ ntre host-urile virtuale s ,i switch-uri -Mininet foloses ,te
un singur nucleu Linux, acest lucru ^ nseamn a c a nu putet ,i rula software-ul care depinde de
Windows sau alte sisteme de operare. -Spre deosebire de un simulator, Mininet nu are o
not ,iune puternica de timp virtual; Aceasta ^ nseamn a c a m asur atorile de sincronizare se vor
baza pe timp real s ,i c a rezultatele mai rapide dec^ at ^ n timp real (de exemplu, ret ,elele de 100
Gbps) nu pot us ,or emulate.
9
2.6.3 FlowVisor
FlowVisor este un controler experimental denit de ret ,ea (SDN) care permite virtualizarea
ret ,elei prin ^ mp art ,irea unei ret ,ele zice ^ n mai multe ret ,ele logice. FlowVisor asigur a c a ecare
controler atinge numai comutatoarele s ,i resursele care^ i sunt atribuite. De asemenea, ea^ mparte
resursele de l at ,ime de band a s ,i tabelul de
ux pe ecare comutator s ,i le atribuie acelor partit ,ii
controlorilor individuali.
Figura 2.4: Arhitectura generala FlowVisor
2.7 Ubuntu
Ubuntu este un sistem de operare bazat pe Linux ind folosit at^ at pentru utilizatorul de r^ and,
put^ and instalat pe orice laptop obis ,nuit, cat s ,i pentru servere ^ n marile companii.
10
Capitolul 3
Instalare si congurare
3.1 Instalare Mininet
^Incepem cu Mininet deoarece el sta la baza a tot ce vom construi ulterior. Instalarea Mininet
se poate face ^ n 2 metode: Prima metoda presupune desc arcarea unei mas ,ini virtuale care are
instalata predenit aplicat ,ia Mininet s ,i o suita de programe auxiliare. Aceasta se poate des-
carca de la urm atoarea adresa: https://github.com/mininet/mininet/wiki/Mininet-VM-Images
A doua metoda presupune instalarea de la sursa peste un sistem de operare existent: Pentru
^ nceput va trebui sa copiem codul sursa : git clone git://github.com/mininet/mininet Dup a
ce am copiat codul sursa comanda de instalare este urm atoarea: mininet/util/install.sh -a
^In aceasta lucrarea s-a folosit prima metoda, mas ,ina virtuala aleasa ruleaz a Mininet 2.2.2 pe
sistemul de operare Ubuntu.Versiunea Ubuntu este 14.04 LTS pe 64 bit ,i.
3.2 Instalare FlowVisor
Instalarea FlowVisor se face folosind codul sursa de la adresa:
git clone git://github.com/OPENNETWORKINGLAB/
owvisor.git Se va intra ^ n directorul
owvisor s ,i se vor da succint comenzile:
cd
owvisor
make
make install
Congurare FlowVisor
Pentru a putea folosi FlowVisor va trebui sa se genereze un s ,ier de congurat ,ie de ^ nceput,
acest lucru ind posibil cu urm atoarea comanda:
sudo -u mininet fvconfig generate /etc/flowvisor/config.json
Pentru a putea modica s ,ierul de congurat ,ie, va trebuie pornit controller-ul FlowVi-
sor,pornirea acestuia se va face prin rularea comenzii:
sudo /etc/init.d/flowvisor start
Pentru a nu^ nt^ ampina nicio o problema^ n modicarea s ,ierului de congurat ,ie al FlowVisor
este recomandat schimbarea permisiunilor:
sudo chmod -R 777 /usr/local/etc/flowvisor
sudo chown mininet -R /usr/local/etc/flowvisor
sudo chgrp mininet -R /usr/local/etc/flowvisor
11
3.3 Prezentarea aplicat ,iilor
Aceasta lucrare va prezenta trei cazuri pentru a exemplica diferite metode de izolare s ,i apli-
carea a politicilor QoS.Cele trei cazuri sunt bazate pe doua topologii scrise ^ n limbajul de
programare Python. Primele doua cazuri sunt bazate pe topologia topo.py:
Figura 3.1: Topologia folosita la primele 2 cazuri
Aceasta topologie are ^ n componenta sa patru hosturi: h1, h2, h3, h4 s ,i patru switch-uri s1,
s2 ,s3, s4.Host-urilor li se va atribui IP din clasa 10.0.0.0/8 iar switch-urilor li se va atribui un
datapathid(dpid) Conexiunile host-urilor vor urm atoarele: Host-urile h1 s ,i h2 vor conectate
la s1 ^ n porturile 3, respectiv 4. Host-urile h3 s ,i h4 vor conectate la s4 ^ n porturile 3, respectiv
4. Conexiunile switch-urilor vor urm atoarele: s1 va conectat la switch-urile s2 s ,i s3 astfel:
portul 1 al s1 ^ n portul 1 al s2 s ,i portul 2 al s1 ^ n portul 1 al s3. s4 va conectat la switch-urile
s2 s ,i s3 astfel: portul 1 al s4 ^ n portul 2 al s2 s ,i portul 2 al s4 ^ n portul 2 al s3.
Cel de-al treilea caz este bazat pe topologia topo1.py:
Figura 3.2: Topologia folosita la caz 3
Aceasta topologie are ^ n componenta sa sase hosturi: h1, h2, h3, h4, h5, h6 s ,i cinci switch-
uri s1, s2 ,s3, s4, s5.Host-urilor li se va atribui IP din clasa 10.0.0.0/8 iar switch-urilor li se va
atribui un datapathid(dpid).
Conexiunile host-urilor vor urm atoarele: Host-urile h1, h2 s ,i h3 vor conectate la s1
^ n porturile 4, 5, respectiv 6. Host-urile h4, h5 s ,i h6 vor conectate la s4 ^ n porturile 4, 5
respectiv 6.. Conexiunile switch-urilor vor urm atoarele: s1 va conectat la switch-urile s2,
s3 s ,i s5 astfel: portul 1 al s1 ^ n portul 1 al s2, portul 2 al s1 ^ n portul 1 al s3 s ,i portul 3 al s1
^ n portul 1 al s5. s4 va conectat la switch-urile s2,s3 s ,i s5 astfel: portul 1 al s4 ^ n portul 2 al
s2,portul 2 al s4 ^ n portul 2 al s3 s ,i portul 3 al s4 ^ n portul 2 al s5.
12
Pentru a porni aplicat ,ia Mininet cu topologiile prezentate mai sus se dau urm atoarele co-
menzi:
sudo mn {custom /
owvisor scripts/topo.py {topo fvtopo {link tc {controller remote {mac
{arp
sudo mn {custom /
owvisor scripts/topo1.py {topo fvtopo {link tc {controller remote {mac
{arp
Parametrul custom specica Mininet ca se va folosi o topologie implementata de c atre
utilizator.
Parametrul {link tc seteaz a caracteristicile link-urilor din ret ,ea.(Delay aleator)
Parametrul controller remote specica Mininet ca se va folosi un controller la distanta ( ^ n cazul
lucr arii de fata acesta la va r aspunde la adresa ip localhost 127.0.0.1) s ,i nu va folosi controller-ul
default din suita Mininet.
Parametrul mac atribuie aleator mac address tuturor echipamentelor din ret ,ea.
3.3.1 Cazul 1. ^Imp art ,irea ret ,elei ^ n doua slice-uri: upper s ,i lower
^In acesta topologie de test se va implementa o izolare a ret ,elei dup a cum urmeaz a: 2 slice-uri
numite upper s ,i lower. Printr-un folosirea unui slice se dores ,te o ^ mp art ,irea echipamentelor din
ret ,ea ^ n part ,i mai mici de ret ,ele pentru a mai us ,or de administrat. Slice-ul upper va cont ,ine
echipamentele h1,s1,s2,s4,h3 astfel ^ nc^ at comunicarea intre h1 s ,i h3 va posibila s ,i comunicarea
cu celelalte host-uri va blocata, iar slice-ul lower va cont ,ine echipamentele h2,s1,s3,s4,h4 care
va permite comunicarea intre h2 s ,i h4 s ,i blocarea comunic arii cu celelalte host-uri.
3.3.1.1 Creare slice-uri s ,i congurare
Comanda generica pentru a putea crea un slice este prezentata mai jos:
fvctl add-slice [numele slice-ului] [controller url] [admin-email]
Dup a cum putem observa pe l^ ang a numele slice-ului si al controller-ului care r aspunde
de acesta ^ n comanda de mai sus trebuie precizat si o adresa de email, aceasta adresa este
username-ul folosit dup a crearea slice-ului pentru administrare ^ n cazul ^ n care este o problema
cu slice-ul ulterior.
Comenzi pentru ad augarea celor 2 slice-uri prezentate:
fvctl add-slice upper tcp:localhost:10001 admin@upperslice
fvctl add-slice lower tcp:localhost:10002 admin@lowerslice
Putem verica dac a aceste slice-uri au fost create corect,se vor as ,a toate slice-urile cu
comanda urm atoare:
fvctl list-slices
Figura 3.3: Slice-urile upper s ,i lower
13
3.3.1.2 Ad augare
owspace upper
^In continuare se vor adaug a
owspace-urile. Flowspace este un set de regulile dup a care se
realizeaz a transmiterea
ow-urilor ^ n ret ,ea. Comanda generala pentru a adaug a un
owspace:
fvctl add-
owspace [
owspace-name] [dpid] [priority] [match] [slice-permission]
Se va adaug a o regula ^ n
owspace cu numele dpid1-port1 care permite tracului sa treac a
prin portul 1 al switch-ului 1 cu prioritate 1.
fvctl add-
owspace dpid1-port1 1 1 in port=1 upper=7
Adaug am o regula ^ n
owspace cu numele dpid1-port3 care permite tracului sa treac a prin
portul 3 al switch-ului 1 cu prioritate 1.
fvctl add-
owspace dpid1-port3 1 1 in port=3 upper=7
Figura 3.4: Congurare switch 1 pentru slice-ul upper
14
Adaug am o regula ^ n
owspace cu numele dpid2 care permite tracului sa treac a prin toate
porturile switch-ului fvctl add-
owspace dpid2 2 1 any upper=7
Adaug am o regula ^ n
owspace cu numele dpid4-port1 care permite tracului sa treac a prin
portul 1 al switch-ului 4 cu prioritate 1.
fvctl add-
owspace dpid4-port1 4 1 in port=1 upper=7
Figura 3.5: Congurare switch 2
Adaug am o regula ^ n
owspace cu numele dpid4-port3 care permite tracului sa treac a prin
portul 3 al switch-ului 4 cu prioritate 1.
fvctl add-flowspace dpid4-port3 4 1 in_port=3 upper=7
Figura 3.6: Congurare switch 4
3.3.1.3 Ad augare
owspace lower
Se adaug a regula ^ n
owspace cu numele dpid1-port2 care permite tracului sa treac a prin
portul 2 al switch-ului 1 cu prioritate 1.
fvctl add-flowspace dpid1-port2 1 1 in_port=2 lower=7
Se adaug a regula ^ n
owspace cu numele dpid1-port4 care permite tracului sa treac a prin
portul 4 al switch-ului 1 cu prioritate 1.
15
Figura 3.7: Congurare switch 1 pentru slice-ul lower
fvctl add-flowspace dpid1-port4 1 1 in_port=4 lower=7
Se adaug a o regula ^ n
owspace cu numele dpid3 care permite tracul pe toate porturile
switch-ului 3.
fvctl add-flowspace dpid 3 3 1 any lower=7
Se adaug a o regula ^ n
owspace cu numele dpid4-port2 care permite tracul pe portul 2 al
switch-ului 4 cu prioritate 1
fvctl add-flowspace dpid4-port2 4 1 in_port=2 lower=7
Figura 3.8: Congurare switch 3
Se adaug a o regula ^ n
owspace cu numele dpid4-port4 care permite tracul pe portul 4 al
switch 4 cu prioritate 1.
fvctl add-flowspace dpid4-port4 4 1 in_port=4 lower=7
3.3.2 Cazul 2. Separarea tracului video de restul tracului din
ret ,ea
^In acest caz se va implementa o topologie ^ n care tracul video va separat de c atre restul
tracului din ret ,ea.Pentru a putea putea face aceasta izolare se vor crea doua slice-uri numite
16
Figura 3.9: Congurare switch 4 pentru slice-ul lower
generic: video s ,i non-video.Cele doua slice-uri vor avea caracteristici diferite, tracul din slice-ul
video va avea la dispozit ,ie o l argime de banda de 10Mb/s, iar restul tracului din ret ,ea va avea
la dispozit ,ie o l argime de banda de 1Mb/s.
3.3.2.1 Creare slice-uri s ,i congurare
La fel ca s ,i ^ n cazul anterior se vor crea cele doua slice-uri cu comanda:
fvctl add-slice video tcp:localhost:10001 admin@videoslice
fvctl add-slice non-video tcp:localhost:10002 admin@nonvideoslice
Se va verica dac a aceste slice-uri au fost create
fvctl list-slices
3.3.2.2 Ad augare
owspace
^In cazul acesta ad augarea de
owspace va avea un grad de dicultate mai ridicat deoarece
switch-urile care sunt conectate la host vor trebuie s a separe tracul ^ n funct ,ie de tipul acestuia.
Acest lucru va posibil set^ and priorit at ,i diferite astfel: slice-ul video va avea o prioritate
ridicata, valoarea setata ind 100, iar slice-ul non-video va avea o prioritate sc azuta, valoarea
setata ind 1. Slice-ul video va administra tracul care va avea ca sursa sau destinat ,ie portul
9999, iar slice-ul non-video va administra tracul de pe toate celelalte porturi. Se va ^ ncepe prin
a realiza conexiunea intre switch-uri s ,i host-uri.Se vor adaug a
owspace-urile pentru a realiza
conexiunea intre s1 s ,i h1 cu urm atoarele comenzi.
fvctl add-flowspace dpid1-port3-video-src 1 100
in_port=3,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid1-port3-video-dst 1 100
in_port=3,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid1-port3-non-video 1 1 in_port=3 non-video=7
Aceste comenzi permit tracului sa treac a prin portul 3 al s1 c atre h1.Se adaug a doua
owspace pentru slice-ul video numite astfel dpid1-port3-video-src respectiv dpid1-port3-video-
dst,care vor avea prioritatea 100. Aceste doua
owspace-uri vor permite trecerea tracului mai
departe dac a acesta va veni de la portul 9999 sau spre portul 9999.Parametrii dl type=0x0800
s,i nw proto=6 fac parte din standardul OpenFlow s ,i trebuie specicat ,i pentru ca controller-ul
17
Figura 3.10: Imaginea de ansamblu a topologiei
Figura 3.11: Slice-uri video s ,i non-video
sa s ,tie ca se va realiza o conexiune TCP. Se adaug a
owspace-ul dpid1-port3-non-video cu
prioritate 1, care va permite ca restul tracului sa treac a ^ n portul 3 al s1.
Similar se vor adaug a
owspace-uri pentru a realiza conexiunea intre s1 s ,i h2:
fvctl add-flowspace dpid1-port4-video-src 1 100
in_port=4,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid1-port4-video-dst 1 100
in_port=4,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid1-port4-non-video 1 1 in_port=4 non-video=7
18
Figura 3.12: Congurarea switch 1 si host-uri
Se va realiza conexiunea intre s4 si h3:
fvctl add-flowspace dpid4-port3-video-src 4 100
in_port=3,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid4-port3-video-dst 4 100
in_port=3,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid4-port3-non-video 4 1 in_port=3 non-video=7
Se va realiza conexiunea intre s4 s ,i h4:
fvctl add-flowspace dpid4-port4-video-src 4 100
in_port=4,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid4-port4-video-dst 4 100
in_port=4,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid4-port4-non-video 4 1 in_port=4 non-video=7
19
Figura 3.13: Congurarea switch 4 si host-uri
Conexiunea intre switch-uri.
Se va realiza conexiunea intre s1,s3 s ,i s4. Se va adaug a un
owspace numit dpid1-port2-
video, cu prioritate 100 care va permite tracului ^ n portul 2 al s1 sa treac a doar dac a este de
tip video cu urm atoarea comanda:
fvctl add-flowspace dpid1-port2-video 1 100 in_port=2 video=7
Similar se va adaug a un
owspace numit dpid4-port2-video cu prioritate 100, care va permite
tracului sa treac a ^ n portul 2 al s4 doar dac a este de tip video:
fvctl add-flowspace dpid4-port2-video 4 100 in_port=2 video=7
Pentru s3 se va adaug a un
owspace dpid3-video care va permite tracului sa treac a pe
toate porturile sale dac a acesta este de tip video.
fvctl add-flowspace dpid3-video 3 100 any video=7
20
Figura 3.14: Congurarea slice video
Se va adaug a un
owspace numit dpid1-port1-non-video, cu prioritate 1 care va permite
tracului ^ n portul 1 al s1 sa treac a cu urm atoarea comanda:
fvctl add-flowspace dpid1-port1-non-video 1 1 in_port=1 non-video=7
Se va adaug a un
owspace numit dpid4-port1-non-video, cu prioritate 1 care va permite
tracului ^ n portul 1 al s4 sa treac a cu urm atoarea comanda:
fvctl add-flowspace dpid4-port1-non-video 4 1 in_port=1 non-video=7
Pentru s2 se va adaug a un
owspace dpid2-non-video care va permite tracului sa treac a
pe toate porturile sale cu urm atoarea comanda:
fvctl add-flowspace dpid2-non-video 2 1 any non-video=7
Figura 3.15: Congurarea slice non-video
21
Figura 3.16: Imaginea de ansamblu a topologiei in cazul 2
3.3.3 Cazul 3. Separarea tracului ^ n trei categorii
^In acest caz se va implementa o topologie ^ n care tracul din ret ,ea va separat ^ n trei cate-
gorii.Pentru a putea putea face aceasta izolare se vor crea trei slice-uri numite generic: video,
non-video s ,i game.Cele trei slice-uri vor avea caracteristici diferite, tracul din slice-ul video
va avea la dispozit ,ie o l argime de banda de 10Mb/s, tracul din slice-ul non-video va avea la
dispozit ,ie o l argime de banda de 1Mb/s, iar tracul din slice-ul game va avea avea la dispozit ,ie
o l argime de banda de 5Mb/s.
22
3.3.3.1 Creare slice-uri s ,i congurare
La fel ca s ,i ^ n cazul anterior se vor crea cele trei slice-uri cu comanda:
fvctl add-slice video tcp:localhost:10001 admin@videoslice fvctl add-slice non-video tcp:localhost:10002
admin@nonvideoslice fvctl add-slice game tcp:localhost:10003: admin@gameslice
Figura 3.17: Slice-urile video, non-video, game
Se vor adaug a
owspace-urile care vor permite tracului sa treac a prin portul 4 al s1:
fvctl add-flowspace dpid1-port4-video-src 1 100
in_port=4,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid1-port4-video-dst 1 100
in_port=4,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid1-port4-non-video 1 1 in_port=4 non-video=7
fvctl add-flowspace dpid1-port4-game-src 1 50
in_port=4,dl_type=0x0800,nw_proto=6,tp_src=5555 game=7
fvctl add-flowspace dpid1-port4-game-dst 1 50
in_port=4,dl_type=0x0800,nw_proto=6,tp_dst=5555 game=7
Se vor adaug a
owspace-urile care vor permite tracului sa treac a prin portul 5 al s1:
fvctl add-flowspace dpid1-port5-video-src 1 100
in_port=5,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid1-port5-video-dst 1 100
in_port=5,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid1-port5-non-video 1 1 in_port=5 non-video=7
fvctl add-flowspace dpid1-port5-game-src 1 50
in_port=5,dl_type=0x0800,nw_proto=6,tp_src=5555 game=7
fvctl add-flowspace dpid1-port5-game-dst 1 50
in_port=5,dl_type=0x0800,nw_proto=6,tp_dst=5555 game=7
Se vor adaug a
owspace-urile care vor permite tracului sa treac a prin portul 6 al s1:
fvctl add-flowspace dpid1-port6-video-src 1 100
in_port=6,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
23
fvctl add-flowspace dpid1-port6-video-dst 1 100
in_port=6,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid1-port6-non-video 1 1 in_port=6 non-video=7
fvctl add-flowspace dpid1-port6-game-src 1 50
in_port=6,dl_type=0x0800,nw_proto=6,tp_src=5555 game=7
fvctl add-flowspace dpid1-port6-game-dst 1 50
in_port=6,dl_type=0x0800,nw_proto=6,tp_dst=5555 game=7
Figura 3.18: Congurare switch 1 s ,i hosturi
24
Se vor adaug a
owspace-urile care vor permite tracului sa treac a prin portul 4 al s4:
fvctl add-flowspace dpid4-port4-video-src 4 100
in_port=4,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid4-port4-video-dst 4 100
in_port=4,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid4-port4-non-video 4 1 in_port=4 non-video=7
fvctl add-flowspace dpid4-port4-game-src 4 50
in_port=4,dl_type=0x0800,nw_proto=6,tp_src=5555 game=7
fvctl add-flowspace dpid4-port4-game-dst 4 50
in_port=4,dl_type=0x0800,nw_proto=6,tp_dst=5555 game=7
Se vor adaug a
owspace-urile care vor permite tracului sa treac a prin portul 5 al s4:
fvctl add-flowspace dpid4-port5-video-src 4 100
in_port=5,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid4-port5-video-dst 4 100
in_port=5,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid4-port5-non-video 4 1 in_port=6 non-video=7
fvctl add-flowspace dpid4-port5-game-src 4 50
in_port=5,dl_type=0x0800,nw_proto=6,tp_src=5555 game=7
fvctl add-flowspace dpid4-port5-game-dst 4 50
in_port=5,dl_type=0x0800,nw_proto=6,tp_dst=5555 game=7
Se vor adaug a
owspace-urile care vor permite tracului sa treac a prin portul 6 al s4:
fvctl add-flowspace dpid4-port6-video-src 4 100
in_port=6,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid4-port6-video-dst 4 100
in_port=6,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid4-port6-non-video 4 1 in_port=6 non-video=7
fvctl add-flowspace dpid4-port6-game-src 4 50
in_port=6,dl_type=0x0800,nw_proto=6,tp_src=5555 game=7
fvctl add-flowspace dpid4-port6-game-dst 4 50
in_port=6,dl_type=0x0800,nw_proto=6,tp_dst=5555 game=7
Se va adaug a
owspace-ul care va permite tracului sa treac a prin portul 2 al s1:
fvctl add-flowspace dpid1-port2-video 1 100 in_port=2 video=7
Se vor adaug a
owspace-ul care va permite tracului sa treac a prin toate porturile s3:
fvctl add-flowspace dpid3-video 3 100 any video=7
Se va adaug a
owspace-ul care va permite tracului sa treac a prin portul 2 al s4:
fvctl add-flowspace dpid4-port2-video 4 100 in_port=2 video=7
25
Figura 3.19: Congurare switch 4 s ,i hosturi
Se va adaug a
owspace-ul care va permite tracului sa treac a prin portul 1 al s1:
fvctl add-flowspace dpid1-port1-non-video
1 in_port=1 non-video=7
Se vor adaug a
owspace-ul care va permite tracului sa treac a prin toate porturile s2:
fvctl add-flowspace dpid2-non-video 2 1 any non-video=7
fvctl add-
owspace dpid2-non-video 2 1 any non-video=7
Se va adaug a
owspace-ul care va permite tracului sa treac a prin portul 1 al s4:
fvctl add-flowspace dpid4-port1-non-video 4 1 in_port=1 non-video=7
26
Figura 3.20: Congurare slice video
Figura 3.21: Congurare slice non-video
Se va adaug a
owspace-ul care va permite tracului sa treac a prin portul 3 al s1:
fvctl add-flowspace dpid1-port3-game 1 50 in_port=3 game=7
Se vor adaug a
owspace-ul care va permite tracului sa treac a prin toate porturile s5:
fvctl add-flowspace dpid5-game 5 50 any game=7
Se va adaug a
owspace-ul care va permite tracului sa treac a prin portul 3 al s4:
fvctl add-flowspace dpid4-port3-game 4 50 in_port=3 game=7
27
Figura 3.22: Congurare slice game
Figura 3.23: Imaginea de ansamblu a topologiei ^ n cazul 3
28
Capitolul 4
Testare s ,i vericare
4.0.1 Testare s ,i vericare caz 1
^In cazul unu s-a urm arit izolarea ret ,elei ^ n 2 slice-uri: upper si lower astfel ^ nc^ at pe slice-ul
upper sa existe conectivitate doar intre h1 si h3, iar pe slice-ul lower sa existe conectivitate
intre h2 si h4. Pentru a verica conexiunea trebuie sa vedem dac a avem switch-urile conectate
la Flowvisor.Acest lucru se face cu urm atoarea comanda
fvctl list-datapaths
Rezultatul acestei comenzi:
Figura 4.1: Switch-urile conectate ^ n ret ,ea ^ n cazul 1
^In continuare se va testa conectivitatea intre h1 si h3. Se vor trimite 3 ping-uri intre host-
uri.Ping-ul trimite mesaje ICMP de tip echo request si as ,teapt a de la destinatar mesaje ICMP
de tip echo reply. Dac a echo reply nu soses ,te la emit , ator comunicarea intre cele doua host-uri
are probleme sau este blocata. Pentru a testa conectivitatea se va da urm atoarea comanda din
CLI Mininet: h1 ping -c3 h3 S ,i ca rezultat vom avea :
Figura 4.2: Test conectivitate
^In imaginea de sus se observ a ca rata de transmisie a mesajelor a fost de 100% cu o medie
de timp de 13.989 ms. Pentru a testa conectivitatea cu h2 si h4: h1 ping -c3 h2 h1 ping -c3 h4
^In imaginea de mai sus se observ a ca rata de transmisie este 0%, comunicarea ind total
blocata.
29
Figura 4.3: Test conectivitate
Figura 4.4: Test conectivitate
Se va testa s ,i conectivitatea ^ ntre h2 s ,i h4 : h2 ping -c3 h4
^In imaginea de mai sus se poatea observa ca rata de transmisie este 100% cu o medie de
timp de 27.832 ms. Similar se va ^ ncerca si conectivitatea ^ ntre h2 s ,i h1,h3 h2 ping -c3 h1 h2
ping -c3 h3
Figura 4.5: Test conectivitate
4.0.2 Testare s ,i vericare caz 2
^In al doilea caz s-a urm arit izolarea ret ,elei ^ n doua slice-uri, dup a tipul de trac din ret ,ea.Au
fost create doua slice-uri: video s ,i non-video, care delimitau tracul video de restul tracului
din ret ,ea.Totodat a slice-ul video va avea la dispozit ,ie o l at ,ime de banda de 10Mb/s, ^ n timp
ce tracul alocat administrat de slice-ul non-video va avea la dispozit ,ie o l at ,ime de banda de
1Mb/s.
Ca s ,i ^ n cazul anterior vom verica dac a switch-urile sunt conectate la FlowVisor.
fvctl list-datapaths
30
Figura 4.6: Switch-urile conectate ^ n ret ,ea ^ n cazul 2
Vom testa conectivitatea intre host-uri.Din CLI Mininet se va da comanda: pingall Rezul-
tatul ind:
Figura 4.7: Switch-urile conectate ^ n ret ,ea ^ n cazul 2
Se observa ca am avem conectivitate intre host-uri.Se va testa dac a tracul comunica la
viteza la care a fost setat: Pentru a putea verica viteza tracului vom folosi tool-ul iperf.Iperf
este un tool care m asoar a viteza maxima pe care o poate obt ,ine un link^ n ret ,ele IP. Se va verica
dac a tracul video comunica la viteza de 10Mb/s. Se va seta ca server h2 prin comanda: iperf
-s -p 9999
Figura 4.8: M asurarea vitezei video pe server ^ n cazul 2
iar h4 se va seta ca s ,i client cu urm atoarea comanda: iperf {c 10.0.0.2 {p 9999 {t 10 {i 2
Din pozele de mai sus se observa ca serverul comunica cu o viteza medie de 9.56Mb/s iar
clientul are valori apropiate de valoarea de 10Mb/s.
Pentru a m asura viteza tracului non-video vom seta ca server h1 cu urm atoarea comanda:
iperf {s {p 3242
iar host 3 va setat ca s ,i client cu urm atoarea comanda: iperf {c 10.0.0.2 {p 7676 {t 10 {i
2
Din rezultatul testelor se observa ca viteza serverului nu dep as ,es,te valoarea de 1Mb/s iar
cea a clientului este ^ n jurul valorii de 1Mb/s.
31
Figura 4.9: M asurarea vitezei video pe client ^ n cazul 2
Figura 4.10: M asurarea vitezei non-video pe server ^ n cazul 2
4.0.3 Testare s ,i vericare caz 3
^In al treilea caz s-a urm arit izolarea ret ,elei ^ n trei slice-uri, dup a tipul de trac din ret ,ea.Au
fost create trei slice-uri: video, non-video s ,i game, care avea ca scop segregarea tracului ^ n
trac video, trac de gaming, s ,i restul tracului numit generic la fel ca ^ n exemplul anterior
non-video.Totodat a slice-ul video va avea la dispozit ,ie o l at ,ime de banda de 10Mb/s, slice-ul
game va avea la dispozit ,ie o l argime de banda de 5Mb/s,^ n timp ce tracul administrat de
slice-ul non-video va avea la dispozit ,ie o l at ,ime de banda de 1Mb/s.
Pentru m asurarea vitezei^ n slice-ul non-video s-a setat ca server h2 cu urm atoarea comanda:
iperf -s -p 5747
iar h3 a fost setat ca s ,i client cu urm atoarea comanda: iperf -c 10.0.0.3 -p 5747 -t 10 -i 2
Pentru m asurarea vitezei ^ n slice-ul game a fost setat ca server h1 iperf -s -p 5555
iar h3 ca s ,i client prin comanda: iperf -c 10.0.0.1 -p 5555 -t 10 -i 2
Pentru m asurarea vitezei ^ n slice-ul video s-a setat h2 ca server prin comanda: iperf -s -p
9999
iar h4 ca s ,i client: iperf -c 10.0.0.2 -p 9999 -t 10 -i 2
32
Figura 4.11: M asurarea vitezei non-video pe client ^ n cazul 2
Figura 4.12: M asurarea vitezei non-video pe server ^ n cazul 3
Figura 4.13: M asurarea vitezei non-video pe client ^ n cazul 3
Figura 4.14: M asurarea vitezei game pe server ^ n cazul 3
33
Figura 4.15: M asurarea vitezei game pe client ^ n cazul 3
Figura 4.16: M asurarea vitezei video pe server ^ n cazul 3
Figura 4.17: M asurarea vitezei video pe client ^ n cazul 3
34
Capitolul 5
Concluzii
Aceasta lucrare a avut ca scop prezentarea conceptelor de SDN,QoS dar s ,i implementarea di-
feritelor modalit at ,i de delimitare a tracului. Ret ,elele actuale de calculatoare sunt complexe
s,i dicil de administrat. Unul din motive ^ l constituie faptul c a planurile de control s ,i de date
sunt integrate zic ^ n acelas ,i dispozitiv s ,i sunt specice ec arui furnizor de echipamente. De
asemenea, implementarea unui nou serviciu la nivelul ^ ntregii ret ,ele presupune congurarea
ec arui echipament al acesteia pentru a suporta serviciul respectiv. Aceasta lucrare a prezen-
tat avantajele folosiri unei retele virtuale dar s ,i limit arile sale. ^In primul r^ and s-a demonstrat
ca putem crea o ret ,ea virtuala cu funct ,ionalitatea unei ret ,ele reala, f ar a a folosi echipamente
specice. ^In al doilea r^ and s-au prezentat diferite modalit at ,i de delimitarea a tracului, de la
separarea propriu-zisa descrisa ^ n cazul1, pana la segregarea tracului ^ n funct ,ie de tipul aces-
tuia, descrisa ^ n cazurile 2 s ,i 3.Totodat a ^ n aceste cazuri s-a prezentat faptul ca se poate decide
l argimea de banda cu care va funct ,iona ret ,eaua ^ n funct ,ie de tipul de trac. Implementarea
unei astfel de topologii permite prioritizarea tracului ^ n funct ,ii de aplicat ,iile lui, de exemplu
tracul pentru o conferint ,a video primes ,te o ruta separata de tracul pentru mesageria interna
a unei companii. Totodat a acest mod de ^ mp art ,ire a rutelor ^ n funct ,ie de cantitatea de date
asigura s ,i o separare a datelor transmise, ceea ce implica funct ,ionarea unei aplicat ,ii de tip
mesagerie chiar dac a video conferint ,ele au c azut.
35
Bibliograe
[1]
36
Anexa A
Cod topo.py
#!/usr/bin/python
from mininet.topo import Topo
class FVTopo(Topo):
def __init__(self):
# Initialize topology
Topo.__init__(self)
# Create template host, switch, and link
hconfig = {'inNamespace':True}
http_config = {'bw': 1}
video_config = {'bw': 10}
host_config = {}
# Create switch nodes
for i in range(4):
sconfig = {'dpid': "%016x" % (i+1)}
self.addSwitch('s%d' % (i+1), **sconfig)
# Create host nodes
for i in range(4):
self.addHost('h%d' % (i+1), **hconfig)
# Add switch links
self.addLink('s1', 's2', **http_config)
self.addLink('s2', 's4', **http_config)
self.addLink('s1', 's3', **video_config)
self.addLink('s3', 's4', **video_config)
# Add host links
self.addLink('h1', 's1', **host_config)
self.addLink('h2', 's1', **host_config)
self.addLink('h3', 's4', **host_config)
self.addLink('h4', 's4', **host_config)
topos = { 'fvtopo': ( lambda: FVTopo() ) }
37
38
Anexa B
Cod topo1.py
#!/usr/bin/python
from mininet.topo import Topo
class FVTopo(Topo):
def __init__(self):
# Initialize topology
Topo.__init__(self)
# Create template host, switch, and link
hconfig = {'inNamespace':True}
http_config = {'bw': 1}
game_config={'bw': 5}
video_config = {'bw': 10}
host_config = {}
# Create switch nodes
for i in range(5):
sconfig = {'dpid': "%016x" % (i+1)}
self.addSwitch('s%d' % (i+1), **sconfig)
# Create host nodes
for i in range(6):
self.addHost('h%d' % (i+1), **hconfig)
# Add switch links
self.addLink('s1', 's2', **http_config)
self.addLink('s2', 's4', **http_config)
self.addLink('s1', 's3', **video_config)
self.addLink('s3', 's4', **video_config)
self.addLink('s1', 's5', **game_config)
self.addLink('s4', 's5', **game_config)
# Add host links
self.addLink('h1', 's1', **host_config)
self.addLink('h2', 's1', **host_config)
self.addLink('h5', 's1', **host_config)
self.addLink('h3', 's4', **host_config)
self.addLink('h4', 's4', **host_config)
39
self.addLink('h6', 's4', **host_config)
topos = { 'fvtopo': ( lambda: FVTopo() ) }
40
Anexa C
Cod Flowspace complet caz 3
fvctl add-flowspace dpid1-port4-video-src 1 100 in_port=4,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid1-port4-video-dst 1 100 in_port=4,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid1-port4-non-video 1 1 in_port=4 non-video=7
fvctl add-flowspace dpid1-port4-game-src 1 50 in_port=4,dl_type=0x0800,nw_proto=6,tp_src=5555 game=7
fvctl add-flowspace dpid1-port4-game-dst 1 50 in_port=4,dl_type=0x0800,nw_proto=6,tp_dst=5555 game=7
fvctl add-flowspace dpid1-port5-video-src 1 100 in_port=5,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid1-port5-video-dst 1 100 in_port=5,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid1-port5-non-video 1 1 in_port=6 non-video=7
fvctl add-flowspace dpid1-port5-game-src 1 50 in_port=5,dl_type=0x0800,nw_proto=6,tp_src=5555 game=7
fvctl add-flowspace dpid1-port5-game-dst 1 50 in_port=5,dl_type=0x0800,nw_proto=6,tp_dst=5555 game=7
fvctl add-flowspace dpid1-port6-video-src 1 100 in_port=6,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid1-port6-video-dst 1 100 in_port=6,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid1-port6-non-video 1 1 in_port=6 non-video=7
fvctl add-flowspace dpid1-port6-game-src 1 50 in_port=6,dl_type=0x0800,nw_proto=6,tp_src=5555 game=7
fvctl add-flowspace dpid1-port6-game-dst 1 50 in_port=6,dl_type=0x0800,nw_proto=6,tp_dst=5555 game=7
fvctl add-flowspace dpid4-port4-video-src 4 100 in_port=4,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid4-port4-video-dst 4 100 in_port=4,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid4-port4-non-video 4 1 in_port=4 non-video=7
fvctl add-flowspace dpid4-port4-game-src 4 50 in_port=4,dl_type=0x0800,nw_proto=6,tp_src=5555 game=7
fvctl add-flowspace dpid4-port4-game-dst 4 50 in_port=4,dl_type=0x0800,nw_proto=6,tp_dst=5555 game=7
fvctl add-flowspace dpid4-port5-video-src 4 100 in_port=5,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid4-port5-video-dst 4 100 in_port=5,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid4-port5-non-video 4 1 in_port=6 non-video=7
fvctl add-flowspace dpid4-port5-game-src 4 50 in_port=5,dl_type=0x0800,nw_proto=6,tp_src=5555 game=7
fvctl add-flowspace dpid4-port5-game-dst 4 50 in_port=5,dl_type=0x0800,nw_proto=6,tp_dst=5555 game=7
fvctl add-flowspace dpid4-port6-video-src 4 100 in_port=6,dl_type=0x0800,nw_proto=6,tp_src=9999 video=7
fvctl add-flowspace dpid4-port6-video-dst 4 100 in_port=6,dl_type=0x0800,nw_proto=6,tp_dst=9999 video=7
fvctl add-flowspace dpid4-port6-non-video 4 1 in_port=6 non-video=7
fvctl add-flowspace dpid4-port6-game-src 4 50 in_port=6,dl_type=0x0800,nw_proto=6,tp_src=5555 game=7
fvctl add-flowspace dpid4-port6-game-dst 4 50 in_port=6,dl_type=0x0800,nw_proto=6,tp_dst=5555 game=7
fvctl add-flowspace dpid1-port2-video 1 100 in_port=2 video=7
fvctl add-flowspace dpid3-video 3 100 any video=7
fvctl add-flowspace dpid4-port2-video 4 100 in_port=2 video=7
fvctl add-flowspace dpid1-port1-non-video
1 in_port=1 non-video=7
fvctl add-flowspace dpid2-non-video 2 1 any non-video=7
fvctl add-flowspace dpid4-port1-non-video 4 1 in_port=1 non-video=7
fvctl add-flowspace dpid1-port3-game 1 50 in_port=3 game=7
fvctl add-flowspace dpid5-game 5 50 any game=7
fvctl add-flowspace dpid4-port3-game 4 50 in_port=3 game
41
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Implementari de politici QoS n ret ,ele programabile prin [628990] (ID: 628990)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
