Desa ollo de un en o no
de i ualización de edes con ines
docen es
Víc o Fe nández Duque
Di ec o - Juan Ca los Fabe o Jiménez
T abajo de in de g ado del G ado en
Ingenie ía del So wa e
Resumen 3
Palab as cla e 3
Abs ac 4
Keywo ds 4
1. In oducción 5
2. Requisi os 6
2.1 Redes de inidas po so wa e 6
2.2 Redes VLAN 7
2.3 Open Swi ch 9
2.4 El ges o de la base de da os o sdb-se e 10
2.5 El ges o de la aplicación o s- swi chd 11
2.6 Reglas QoS 15
2.7 Mi o ing 16
2.8 Tcl-Tk 17
3. O as soluciones simila es 17
3.1 OpenS ack 18
3.2 VMwa e 20
3.3 P oxmox 21
3.4 Conclusión 21
4. Nues a solución. A qui ec u a 21
4.1 Lenguaje 22
4.2 Me odología 25
4.3 Especi icación de equisi os 26
4.3.1 Capa de p esen ación 29
4.3.2 Capa de negocio 30
4.3.3 Capa de acceso a da os 31
4.4 Plan de ges ión de iesgos 32
(R02): A aso en las en egas. 32
(R03): Desconocimien os de las ecnologías necesa ias. 33
(R04): No dispone del iempo necesa io pa a el p oyec o 33
4.5 Con ol de e siones 33
4.6 Plani icación 34
5. Manual de usua io 34
5.1 Vis a p incipal 34
5.2 Menú a chi o 35
5.2 Menú limpia 40
1
5.3 Menú puen e 42
5.4 Menú in e aces 45
5.5 Menú Link 47
5.6 Menú pue o 50
5.7 Menú con ol 52
5.8 Caso de uso 56
6. Manual pa a un u u o desa ollo 58
7. Apo ación y conclusiones 59
8. Bibliog a ía 61
Documen ación 61
Imágenes 61
2
Resumen
El obje i o de nues o p oyec o es la c eación de un con olado pa a usa de
o ma sencilla opologías i uales de ed y el es udio de las edes de inidas po
so wa e
. Pa a ello es udiamos el p o ocolo OpenFlow y su implemen ación más
conocida Open Swi ch.
Pa a el desa ollo de nues a aplicación elegimos el lenguaje Tcl-Tk debido a la
acilidad pa a la c eación de la in e az g á ica y la simplicidad del lenguaje median e
sc ip
, pa a ello ue necesa io el es udio de sus peculia idades.
Nues a aplicación es capaz de gene a una opología de ed y la ges ión del lujo
de da os de es os median e la c eación, eliminación y ges ión de b idges
i uales,
in e aces ísicos, un ap
y enlaces link
. Además de ene la capacidad de gene a
a chi os pa a gua da y ca ga los es ados de la misma.
Po es as azones pensamos que el p oyec o cumple las expec a i as iniciales ya
que hemos en endido desde la base el uncionamien o de las edes de inidas po
so wa e
y hemos podido desa olla nues a aplicación pa a la c eación de nues os
en o nos i uales.
Palab as cla e
SDN, Open low, Open Swi ch, Tcl-Tk, b idge
, opología de ed, lujo de da os,
i ualización, p o ocolos de ed, con olado .
3
Abs ac
The pu pose o his p ojec is he c ea ion o a con olle o use i ual opologies
o ne wo k and he in es iga ion o he ne wo ks based and de ined by so wa e. Fo
ha ma e , we s udy he Open low p o ocol and i ’s mos known implemen a ion
Open Swi ch.
Fo his applica ion’s de elopmen we use he Tcl-Tk language, due o he
easiness o he c ea ion o g aphic in e aces and he simplici y o he language
h ough he use o sc ip s, and o ha was necessa y he s udy o i s peculia i ies.
Ou applica ion is capable o gene a e a ne wo k opology, he managemen o
da a low h ough he c ea ion, elimina ion and managemen o i ual b idges,
physical in e aces, un aps and Vlink links. Fu he mo e, ha ing he capaci y o
gene a ing iles in o de o sa e and load he s a es o i sel .
Because o ha easons, we conside he p ojec mee s he main expec a ions
due he ac ha we unde s ood since he beginning he pe o mance o he
ne wo ks de ined by so wa e and we ha e been able o de elop ou applica ion o
he c ea ion o ou i ual en i onmen s.
Keywo ds
SDN, Open low, Open Swi ch, Tcl-Tk, b idge, ne wo k opology, da a low,
i ualiza ion, ne wo k p o ocols, con olle .
4
1. In oducción
Nues o obje i o es la in es igación de las edes de inidas po so wa e
[1][2],
pa a es udia la c eación de edes y máquinas i ualizadas. Pa a ello nos
cen amos en el p o ocolo Open low [2] y en su implemen ación más popula Open
Swi ch [2], la cual nos pe mi e la c eación y ges ión de b idges
i uales y lujos de
da os.
La azón po la que se decidió hace es a in es igación es debido a que el alumno
no había ecibido ninguna asigna u a du an e la ca e a sob e es e ama de
conocimien o, y además, inconscien emen e, lle aba poniéndola en p ác ica du an e
los cua o años de la misma, median e un se ido que enía con a ado en F ancia
donde implemen ó odas las aplicaciones que u o que desa olla . En és e, pa a
e i a sob ecos es debido al poco p esupues o, se usa on sis emas de i ualización
de máquinas y edes pa a, de es a o ma, pode compa i cos es con o as
pe sonas.
Los sis emas que se usa on ue on VMwa e [3] y P oxmox [4], los cuales e an de
pago pe o pe mi ían p uebas pa a máquinas pequeñas. Es e ue el p incipio debido
a que aunque la ama de es udio del alumno es aba más ligada al so wa e
que a
edes despe ó cu iosidad en él pa a sabe en qué se basan es os complejos
sis emas de pago y cómo pod ía usa los él mismo empezando desde la base.
Po lo an o buscamos a un p o eso el cual pe mi ie a ealiza es e es udio y que
apo ase ayuda en oda la in es igación. Po eso nos pusimos en con ac o con el
p o eso Juan Ca los Fabe o Jiménez, el enca gado de guia nos du an e odo es e
año.
Hemos conseguido en ende la base de las edes de inidas po so wa e
, es udia
los inicios del p o ocolo Open low el cual quie e llega a con e i se en un es ánda
pa a odos los ab ican es, ya que és e no se limi a solo al ámbi o académico sino
que se aplica ambién al p o esional. Además hemos ap endido el uncionamien o
de Open Swi ch y odas las posibilidades que és e nos o ece.
Como ag egado, decidimos no p og ama nues a aplicación en un lenguaje
común de la ac ualidad pudiendo se Ja a, Py hon o C++ sino que es udiamos cómo
implemen a la median e Tcl-Tk [5], debido a su po abilidad, como explica emos
más adelan e.
5
Nues o obje i o queda cumplido ya que hemos conseguido sin e iza odo lo
ap endido c eando nues a aplicación, la cual acili a el uso de Open Swi ch
median e una in e az g á ica sencilla.
2. Requisi os
Desde el p incipio del p oyec o han exis ido di icul ades no ables. Los equisi os
p incipales ue on en ende bien qué es una SDN (So wa e De ined Ne wo ks
,
Redes de inidas po so wa e
). Después de en ende es o descub imos OpenFlow y
Open Swi ch. T as es udia es os dos concep os in es igamos sob e Tcl-Tk pa a
desa olla nues o con olado . El p oblema de lo an e io es que no ha sido un
obje i o de la ama in o má ica que ha cu sado el alumno po lo an o se ha
necesi ado bas an e iempo de es udio pa a comp ende odos los concep os, desde
hace en papel esquemas de opologías de ed, a es udia cómo unciona el
lenguaje Tcl-Tk.
2.1 Redes de inidas po so wa e
La p ime a p egun a que nos hacemos es qué son las SDN. Como hemos dicho
con an e io idad se denominan edes de inidas po so wa e
, median e las cuales se
sepa a la capa de con ol de la capa de encaminamien o. Pe mi en sepa a la
opología lógica de la in aes uc u a ísica. Las aplicaciones de usua io se
comunican median e la API (Applica ion P og amming In e ace
, in e az de
p og amación de aplicaciones) con la capa de con ol y és a median e el p o ocolo
OpenFlow, de ine la in aes uc u a o capa de da os. Aunque es á des inada a
emplea se en en o nos i uales ambién es compa ible con en o nos ísicos. Es e
sis ema puede se una buena opo unidad pa a un en o no educa i o debido a los
escasos ecu sos que son necesa ios.
6
Figu a 2.1 A qui ec u a SDN
En la igu a 2.1 mos amos lo de inido an e io men e, sepa amos la capa de
aplicación de la de con ol, nos comunicamos median e una API y con OpenFlow
c eamos oda la es uc u a de ed o capa de da os.
Un pun o impo an e po des aca , como comen amos con an e io idad, es que
las edes SDN ue on des inadas p incipalmen e a un en o no i ualizado, pe o la
g an en aja que o ecen a día de hoy es que muchos ab ican es lo han lle ado a
su ha dwa e po lo que se amplía bas an e el ámbi o de aplicación de es e
pa adigma.
2.2 Redes VLAN
En es e apa ado habla emos de las edes VLAN (Vi ual Local A ea Ne wo k
,
Red de á ea local i ual), las cuales clasi ican las máquinas po g upos. Cuando un
usua io manda un paque e a la ed, el adminis ado con igu a los pue os pa a
asigna a cada usua io una VLAN, es deci , solo pod án comunica se las máquinas
que se encuen an en la misma.
7
Figu a 2.2 Red VLAN
Po ello, end íamos un con ol de ed mayo , ya que aunque u ié amos a ias
máquinas en una misma ed ísica, pod emos elegi si es as pueden comunica se
en e sí. En la igu a 2.2, enemos cua o máquinas conec adas a dos VLAN, una
oja y o a e de. Es as máquinas sólo pod án comunica se con la que se encuen e
en su misma VLAN.
Todo es o se hace posible median e el p o ocolo 802.1Q
. Las máquinas
conec adas a una ed no ienen conocimien o de lo que ocu e. La ed es con olada
po un adminis ado , que es quien asigna el g upo al pue o donde se conec a el
usua io de iniendo, de es a o ma, la VLAN. Cuando en iamos un paque e de da os,
es e, al llega al p ime conmu ado modi ica la ama ag egando la e ique a de
VLAN.
A con inuación, mos a emos el uncionamien o del p o ocolo 802.1Q:
Figu a 2.3 T ama de da os de usua io.
Figu a 2.4 T ama de da os con e ique a 802.1Q.
En la igu a 2.3 emos la ama de da os que en ía el usua io po la ed.
En la igu a 2.4 podemos obse a la ama del usua io además de la e ique a
802.1Q
que añade el b idge
. Es a e ique a es á compues a po 32 bi s, los cuales
son:
●16 bi s pa a el campo de ipo, 0x8100.
●4 bi s pa a la p io idad.
●12 bi s pa a el iden i icado de la VLAN, pe mi e 4096 iden i icado es dis in os
(0...4095).
Las e ique as no cambian a lo la go de odo el eco ido. El úl imo conmu ado
elimina la e ique a y los disposi i os pueden ecibi la ama inicial.
VLAN es á limi ada, en o as palab as, pe mi e un núme o máximo de
ag upaciones y no iene con ol de los da os que pasan po la ed. OpenFlow
soluciona los p oblemas an e io es. Quie e con e i se en el p o ocolo es ánda en
la de inición de edes median e so wa e
, pe mi iendo la ges ión de b idges
de o ma
8
●Tabla 200 pa a los se ido es de la Facul ad.
●Tabla 210 pa a los se ido es de la Uni e sidad.
●Tabla 220 pa a la salida a In e ne .
Queda demos ado que es e sis ema nos da miles de combinaciones posibles
pa a c ea nues a ed y con ola odo lo que se mue e po ella, de una o ma
simple y e icien e.
2.6 Reglas QoS
Es posible limi a el ancho de banda mínimo y máximo asignado a cada pue o,
así como la p io idad y el amaño de á aga en e o os. Es o se hace median e la
de inición de colas median e o s- sc l
usando eglas QoS [6].
Figu a 2.14 Reglas QoS.
En la igu a 2.14 se mues a una in e az ísica la cual iene 1 Gbps de ancho de
banda, y a és a se conec an dos in e aces i uales, uml1.0 y uml2.0, a los que se
a a impone una limi ación de 10 Mbps y 20 Mbps espec i amen e. Open Swi ch,
median e eglas QoS, nos pe mi e con ola el ancho de banda de cada uno de las
in e aces.
Además, ambién nos pe mi e usa HTB, el cual es un algo i mo cuyas siglas
hacen e e encia a Hie a chical Token Bucke
. El concep o es muy sencillo: enemos
un elemen o llamado oken
, que se acili a a los usua ios conec ados a un ancho de
banda de e minado po el adminis ado . Si es os consumen ancho de banda a la
ez que lo eciben, no pod án jamás supe a el lími e suminis ado po el
adminis ado de la ed. Sin emba go, si el usua io no consume a la misma
elocidad que se le o o gan es os oken
, los ese a á y en un momen o de al a
demanda de ed pod á supe a la elocidad lími e asignada po el adminis ado
has a que se le acaben ( amaño de á aga).
Es e algo i mo pe mi e asegu a el se icio a odos los usua ios de la ed según
sus necesidades, así como el ancho de banda asignado. Dicho algo i mo pe mi e, a
15
su ez, el uso pun ual de más ecu sos de los asignados, siemp e que en p omedio
no se supe e.
Figu a 2.15 Funcionamien o HTB.
En la igu a 2.15 A, el usua io ecibe okens
a una elocidad mayo de los que él
es á consumiendo, po lo an o, és e los acumula pa a pode usa los en el momen o
que quie a. Los oken
no son ilimi ados: si supe a el amaño máximo de á aga,
es os “ ebosa án” y los pe de á. Es a limi ación debe se asignada po el
adminis ado .
En la igu a 2.15 B, el usua io es á en una si uación de mayo demanda y decide
u iliza los oken
pa a pode hace uso de un mayo ancho de banda y así
ap o echa lo que no u ilizó con an e io idad.
En la igu a 2.15 C, nos encon amos en la si uación en la que el usua io ha
gas ado odos sus oken
y uel e al lími e de ancho de banda asignado po el
adminis ado .
2.7 Mi o ing
El mi o ing consis e en un p oceso en el cual se copia el con enido de uno o más
pue os a uno de des ino, y que esul a ú il pa a la depu ación de nues a ed. A
eces, es con enien e inspecciona el á ico que ci cula po alguno de los pue os,
con el in de de ec a el á ico anómalo. Pa a ello, podemos usa p og amas como
Wi esha k
o algún IDS (In usion De ec ion Sys em
) como sno .
16
Figu a 2.16 Mi o ing median e Open Swi ch.
En la igu a 2.16 se puede e cómo odo el á ico de las máquinas uml1 y uml2
se copia al pue o de la máquina uml3. Como hemos comen ado con an e io idad,
és e nos puede se i pa a analiza las comunicaciones de nues os usua ios.
2.8 Tcl-Tk
En es e p oyec o, decidimos hace uso de Tcl-Tk
[5] debido a la sencillez pa a
c ea in e aces simples y uncionales. La en aja p incipal que nos o ece es que, al
se un lenguaje in e p e ado, pe mi e la p ueba de código de una o ma más ápida,
es deci , e i ando la compilación. Sin emba go, la di icul ad de es e lenguaje, ecae
p incipalmen e en ene una semán ica di e en e a los lenguajes de hoy en día,
como lo pueden se Ja a, Ja asc ip
o C++
.
3. O as soluciones simila es
A pesa de que en el me cado ya exis en opciones pa a pode ealiza odo lo
mencionado, el obje i o de es e p oyec o, aunque no o ezca inno ación, es
cons i ui un sis ema p opio, con el in de es udia el p oceso desde su base y pode
ap ende su uncionamien o. Las al e na i as p incipales que exis en, en e o as,
se ían Neu on
del p oyec o Opens ack, P oxmox, VMwa e
, e c.
A con inuación habla emos de cada uno de los es ejemplos expues os.
17
3.1 OpenS ack
OpenS ack [7][11] es un sis ema pa a la ges ión de se icios en la nube el cual
iene la posibilidad de con ola g andes g upos de ecu sos in o má icos,
almacenamien o y de ed en un CPD (Cen o de p oceso de da os). Todo es á
adminis ado desde un panel web, el cual b inda a los adminis ado es un con ol
absolu o y pe mi e a los usua ios ges iona sus se icios.
Se a a de so wa e
lib e y de código abie o, pe o és o no quie e deci que su uso
se limi e a en o nos de p ueba. OpenS ack iene ma cas muy g andes que con ían
en el p oyec o, ales como NASA ( undado es jun o a Rackspace
), IBM, O acle,
Canonical, Cisco,
e c. Con és o ol emos a a i ma que las SDN son, a día de hoy,
una opción muy in e esan e de es udio, g acias a las emp esas que sos ienen es a
ecnología. Po lo an o, OpenS ack posee un ecosis ema ue e, en el cual los
usua ios que busquen un sopo e come cial pueden elegi en e di e en es
p oduc os y se icios impulsados en el Ma ke place
(me cado de la comunidad).
La pa e de ed o ne wo king de OpenS ack se denomina Neu on [8], an e io men e
llamado Quan um
. Se a a de una API que pe mi e con igu a y de ini la
conec i idad de ed.
Neu on maneja la c eación y adminis ación de una in aes uc u a de ed i ual,
que incluye edes, conmu ado es, sub edes y encaminado es pa a disposi i os
adminis ados po el se icio de cómpu o OpenS ack
. También se pueden usa
se icios a anzados como los co a uegos o las edes p i adas i uales (VPN).
Es e se icio de ed posee el denominado se ido Neu on: Una base de da os pa a
almacenamien o pe sis en e y complemen os, los cuales p opo cionan o os
18
se icios como la in e az con mecanismos de ed Linux na i os, disposi i os
ex e nos o con olado es SDN.
OpenS ack Ne wo king es comple amen e independien e y se puede implemen a en
un hos dedicado. Neu on es á in eg ado po a ios componen es de OpenS ack
:
● El se icio OpenS ack Iden i y se usa pa a la au en icación y au o ización de
solici udes API.
● El se icio de Compu ación de OpenS ack se usa pa a conec a cada NIC
i ual en la VM a una ed en pa icula .
●OpenS ack Dashboa d es u ilizado po los adminis ado es y los usua ios
inquilinos pa a c ea y adminis a se icios de ed a a és de una in e az
g á ica basada en web.
A con inuación mos amos desglosado odo lo que aba ca:
● Sopo e de ed básico:
○ E he ne .
○ VLAN.
○ Subne s y ARP.
○ DHCP.
○ IP.
○ TCP/UDP/ICMP.
● Componen es de ed:
○B idges
.
○Rou e s
.
○Fi ewalls
.
○ Balanceado es de ca ga.
● P o ocolos pa a unel:
○ GRE (Gene ic ou ing encapsula ion,
encapsulado de encaminamien o
gené ico).
○ VXLAN (Vi ual ex ensible local a ea ne wo k
, Red i ual de á ea local
ex ensible)
● Espacio de nomb es de ed:
○ Espacio de nomb es de ed Linux.
○ VRF (Vi ual ou ing and o wa ding
, encaminamien o y een ío i ual)
● T aducción de di ecciones de edes:
○ SNAT.
19
○ DNAT.
○ One o one NAT.
3.2 VMwa e
VMwa e [3][12] es la pla a o ma líde del
me cado en i ualización pa a cons ui
in aes uc u as cloud
. Puede se
conside ada la opción de pago en
con aposición a OpenS ack,
además de
que pe mi e la i ualización de máquinas.
Nos o ece un panel sencillo de u iliza , en
el cual nos pe mi e conec a nos a nues o
se ido y ges iona odos los ecu sos
ísicos.
VMwa e Esxi es una aplicación que nos pe mi e la ges ión de máquinas i uales y
de ed. Respec o a las máquinas i uales, se puede con igu a odo: disco, CPU,
RAM, a je as de ed, e c. No no a emos que es amos en un sis ema i ualizado, es
deci , se asemeja a un en o no ísico. Con e e encia a la ed, la aplicación nos
apo a odas las unciones mencionadas con an e io idad: c eación de b idge
e
in e aces de ed i uales, pue os i uales, VLAN, balanceo de ca ga, e c. Cabe
des aca que ambién incluye un concep o muy in e esan e: IP ail o e
.
IP ail o e
nos o ece la posibilidad de con a a un paque e de IP, las cuales se
pueden asigna a nues as máquinas i uales median e la mac de sus in e aces de
ed. És a uncionalidad esul a ú il pa a usua ios que quie an compa i una máquina
con g andes ca ac e ís icas y di idi la de mane a lógica en acciones más
pequeñas pa a aho a cos es.
El incon enien e que supone el uso de VMwa e es que es una pla a o ma de pago,
po lo an o, puede que no es é al alcance de cualquie pe sona. Sin emba go, y de
mane a no p o esional, la pla a o ma dispone de una licencia de p ueba pa a
se ido es pequeños que no supe en los 64GB de RAM. Po ello, un pun o
in e medio en e las dos opciones an e io es se ía P oxmox, el cual in oducimos en
el siguien e apa ado.
20
3.3 P oxmox
P oxmox [4][13] es un so wa e
de
i ualización de código lib e y abie o
que ap o echa el sis ema na i o de i ualización de Linux, con enedo es KVM
(Ke nel-based Vi ual Machine
, máquina i ual basada en el núcleo), y, con
espec o a la ges ión de la ed, se ecu e a la u ilización del ke nel
de Linux,
b idge-u ils.
Po o a pa e, añade la uncionalidad de un b idge
, y además puede
u iliza Open Swi ch
, que es en lo que se basa es e p oyec o.
P oxmox posee una in e az web en la cual se puede ges iona oda la c eación
de máquinas i uales: discos, ed, CPU, RAM, e c. Todo es o se puede hace de
una o ma sencilla y desde cualquie disposi i o, g acias a que se a a de una
página web. Cabe des aca que posee ambién un sis ema de susc ipciones en el
cual es posible ecibi asis encia y ayuda como en OpenS ack
.
3.4 Conclusión
Se han mencionado es os es sis emas, y en p ime luga OpenS ack y Neu on,
debido a su g an uso en la indus ia. Po o a pa e, VMwa e y P oxmox han sido
empleados po el alumno en su uso académico.
Po lo an o, como podemos comp oba , exis en al e na i as a nues o es udio,
sin emba go que íamos in es iga desde la base odo lo elacionado con las SDN
c eando además un en o no sencillo en ocado en la docencia.
4. Nues a solución. A qui ec u a
En el p ime momen o que comp endimos odos los concep os de las SDN,
OpenFlow y en especial Open Swi ch, comenzamos a desa olla nues a p opia
solución, que debe sa is ace a ias condiciones:
● Se po able.
● Man enible.
● Fácil de usa .
● Tene una in e az sencilla.
21
4.1 Lenguaje
Después de algunas euniones, consolidamos la idea de desa olla la aplicación
en el lenguaje Tcl-Tk. Lo conside amos de es a o ma debido a su sencillez pa a
c ea in e aces uncionales y simples pe o, p incipalmen e, g acias a su po abilidad
de un sis ema ope a i o a o o. O a de las en ajas es que es un lenguaje
in e p e ado, es deci , pe mi e la p ueba de código de una o ma más ápida.
Pa a una mayo comp ensión, debemos de ini dos concep os:
● TUN/TAP,
que es una in e az de ed i ualizada.
● VETH/VLINK, el cual es un cable i ualizado que pe mi e conec a dos
pue os en e sí y además analiza el á ico que ci cula en él.
Pa a desa olla la p ác ica adqui imos los conocimien os del con olado Open
Swi ch. Todos sus comandos los hemos enunciado en la sección de equisi os, y a
con inuación, los enume amos y de inimos de o ma sencilla.
Los siguien es comandos los u ilizamos pa a le an a una in e az y pe mi i el
á ico del i ewall
pa a las máquinas y cables i uales:
●ip link se <nomb e> (Ej.: unk_0, b 0, uml1.0)up/down pa a encende o
apaga las in e aces.
●ip ables -I FORWARD -i <nomb e> (Ej.: uml+ es el que noso os usamos) -o
<nomb e> -j ACCEPT
●ip ables -I FORWARD -i <nomb e> (Ej.: unk+, el nomb e que usamos pa a
los E he ne
i uales) -o unk+ -j ACCEPT
Los comandos pa a gene a la opología de ed, que si en pa a c ea , elimina y
pone en modo STP un b idge
i ual:
●o s-o c l add-b <nomb e> (Ej.: b 0) c eamos un b idge
.
●o s-o c l del-b <nomb e> (Ej.: b 0) eliminamos un b idge
.
●o s-o c l se b idge <nomb e> (Ej.: b 0)s p_enable= ue habili a el
p o ocolo STP pa a e i a bucles en e b idges,
debido al b oadcas s o m
.
Los siguien es comandos si en pa a ag ega una in e az y un cable i ual:
●ip un ap add <nomb e> (Ej.: uml1.0) mode ap añadi una in e az i ual.
22
●ip link add <nomb e> (Ej.: unk0) ype e h pee name <nomb e> (Ej.:
unk1) c eamos los cables i uales pa a conec a nues os b idges.
El siguien e comando si e pa a conec a a un b idge
un elemen o:
●o s- sc l add po <b idge> <elemen o> asignamos a un pue o del p ime
campo el disposi i o del segundo.
Comando que se u iliza pa a cambia el núme o de pue o al que es á conec ado
un elemen o de un b idge
:
●o s- sc l se in e ace <nomb e> (Ej.: uml1.0)o po _ eques =<nume o>
(Ej.: 2) cambia el núme o de pue o OpenFlow
.
Comandos pa a mos a da os impo an es:
El siguien e comando mues a odas las conexiones de un b idge, o s-o c l
show <nomb e> (Ej.: b 0).
Pa a mos a una lis a de odos los b idges
,o s- sc l lis -b . Pa a mos a
odos los elemen os conec ados a un b idge
,o s- sc l lis -po s <nomb e> (Ej.:
b 0).
Con el siguien e comando mos amos el pue o OpenFlow al que es á conec ado
un elemen o a un b idge
: o s- sc l ge in e ace <nomb e> (Ej.: uml1.0) o po .
Comandos pa a el con ol de lujo. En es e pun o debemos explica a ias cosas
impo an es: el con ol de lujo se hace median e un campo ma ch
y o o campo
ac ions.
El p ime o si e pa a sabe a qué a ec a, y el segundo, qué acción oma:
● C i e ios que pueden o ma pa e del campo ma ch
:in_po (pue o de
en ada del b idge al que debe a ec a ), dl_s c(da a_link sou ce
,es la uen e
del que p o iene el paque e), dl_ds , dl_ lan, dl_ ype, ip, a p, icmp,
cp, udp, ip 6, icmp6, cp6, udp6.
● C i e ios que pueden o ma pa e del campo ac ions:
no mal, lood, all,
d op, esubmi , <pue o>, mod_ lan_ id, s ip_ lan, mod_dl_s c,
mod_dl_ds , mod_nw_s c, go o_ able.
Las eglas se pueden ag upa en ablas, los alo es pa a iden i ica las an desde
0 a 253 y se o denan po p io idad 0 a 65536.
23
Con el siguien e comando mos amos los lujos de inidos en un b idge
has a el
momen o: o s-o c l dump- lows <nomb e> (Ej.: b 0).
A con inuación mos amos algunos ejemplos pa a ag ega y elimina lujos:
●o s-o c l add- low b 0 “p io i y=100 in_po =1
ac ions= esubmi (,101)”. Es e comando pe mi e edi ecciona el á ico que
ecibe el pue o 1 a la abla 101 con p io idad 100.
●o s-o c l add- low b 0 “ able=101 p io i y=0 ac ions=d op”. Es e
comando bloquea el á ico de la abla 101 con p io idad 0, es deci , la
máxima.
●o s-o c l add- low b 0 “ able=101 p io i y=100 ip,nw_ds =192.168.1.1
ac ions=no mal”. Es e comando pe mi e un á ico no mal de los paque es a
la abla 101, con des ino a la IP asignada.
●o s-o c l del- lows b 0 “in_po =1”. Elimina la egla in_po =1 de b 0.
●o s-o c l del- lows b 0 “ able=101”. Elimina la egla able=101 de b 0.
Comando pa a eglas QoS. Pa a asegu a la calidad del se icio, con los
siguien es comandos c eamos las colas con el máximo de ancho de banda que les
p opo cionamos:
●o s- sc l c ea e queue o he -con ig:max- a e=1000. Ob enemos
a1c74455-5cb4-4379-9bb2-b7e79b47edb8.
●o s- sc l c ea e queue o he -con ig:max- a e=2000. Ob enemos
b918a5b-4d3 -4613-a299-cd338831c2da.
Es os comandos pe mi en la c eación de una cola pa a asigna un máximo de
ancho de banda: en el p ime caso 100MB y en el segundo 200MB.
Aho a c eamos la calidad del se icio de ipo HTB con un ancho de banda de
1Gbps, en el cual le asignamos las dos colas:
●o s- sc l c ea e qos ype=linux-h b o he -con ig:max- a e=100000
queues:10=a1c74455-5cb4-4379-9bb2-b7e79b47edb8
queues:20= b918a5b-4d3 -4613-a299-cd338831c2da. Ob enemos
3882a54d-859a-4 6 -9564-da31b36d9d5c.
●o s- sc l se po e h0 qos=3882a54d-859a-4 6 -9564-da31b36d9d5c.
Ag egamos la calidad de se icio a la in e az que es á conec ada a In e ne .
Se c ean los lujos pa a asigna las colas ecién c eadas:
24
me hod delPo { om o} {}
me hod delVlink { om} {}
me hod showIn o {} {}
me hod sa eTopology { ileName} {}
me hod sa eTopologyOld { ileName} {}
me hod loadTopology { ileName} {}
me hod loadTopologyOld { ileName} {}
me hod cleanTopology {} {}
}
Figu a 4.5 Capa de negocio, opología.
En la igu a 4.5 mos amos el módulo de opología de la capa de negocio. En él
se pueden e odas las unciones de las que hablamos en el apa ado de
especi icación de equisi os.
4.3.3 Capa de acceso a da os
Es a capa es la enca gada de comunica se con la base de da os de Open
Swi ch y con los iche os que c eamos pa a gua da y ca ga el es ado de nues a
aplicación.
oo::class c ea e daoTopology {
me hod addB idge {b idge} {
i {[ca ch {exec sudo o s- sc l add-b $b idge} e msg]} {
e u n 0
}
e u n 1
}
me hod addIn e ace {in e ace} {}
me hod addVlink { om o} {}
me hod addPo { om o} {}
me hod addPo a { om o} {}
me hod se O Po {in e ace o Po } {}
me hod upElemen {elemen } {}
me hod delB idge {b idge} {}
me hod delIn e ace {in e ace} {}
me hod delPo { om o} {}
me hod delVlink { om} {}
me hod downElemen {elemen } {}
me hod lis B {} {}
me hod lis Po {b idge} {}
me hod ge In e aceS a us {in e ace} {}
me hod ge Ve hConnec ion {in e ace} {}
31
me hod exis In e ace {in e ace} {}
me hod ge O Po {in e ace} {}
}
Figu a 4.6 Capa de acceso a da os, opología.
En la igu a 4.6 mos amos la capa de acceso a da os del módulo de opología.
Como ya comen amos an es, es á o almen e basada en la especi icación de
equisi os cumpliendo con odas las necesidades.
4.4 Plan de ges ión de iesgos
En es e apa ado habla emos del plan de ges ión de iesgos que hemos ealizado
en nues o p oyec o, así como los dos iesgos más g a es que pod ían a ec a a
nues a aplicación.
Lo p ime o que hicimos ue analiza cuáles e an los posibles iesgos que
pod íamos encon a nos a la ho a de ealiza el p oyec o, desde la in es igación, a
la elabo ación del código: ob u imos diez iesgos. Una ez iden i icados los
clasi icamos de dos o mas, la p ime a la p obabilidad que se die a y la segunda la
g a edad de que sucedie a.
De es a o ma, median e las ablas de SQAS-SEI (No mas de ce i icación)
ob enemos el impac o que pod ían p oduci en nues o abajo y los o denamos de
mayo a meno .
Nos basamos en el p incipio de Pa e o, el cual dice que el 80% del iesgo eal se
encuen a en el 20% de los analizados, po lo que cogimos dos iesgos más uno
pa a elabo a un plan en el caso de que se ol ie an ealidad. Son los siguien es:
(R02): A aso en las en egas.
Es el p incipal iesgo que e isamos desde el p incipio. El p oblema del p oyec o
es que se ealiza po una única pe sona, po lo an o exis en mayo es di icul ades ya
que no puede ecibi ayuda de un compañe o espec o a los lenguajes, memo ia,
c eación de código, e c. Po lo que es e iden e que puede ocasiona es os a asos.
La solución se á iden i ica las semanas de mayo abajo pa a e i a que coincida
con las demás asigna u as pa a así, de es a o ma, ob ene mayo iempo y pode
cumpli con las en egas del p o eso .
32
(R03): Desconocimien os de las ecnologías necesa ias.
O o de los iesgos más se ios que alo amos ue el p oblema de a qué
ecnologías nos en en amos. El conocimien o de las SDN y de Tcl-Tk es o almen e
nulo, po lo que es necesa io pa a e i a es e p oblema es udia los en p o undidad.
De es a o ma, in i iendo unos meses y g acias a la ayuda del p o eso y a nues a
p opia in es igación, pudimos supe a es e escalón.
(R04): No dispone del iempo necesa io pa a el p oyec o
Como comen amos en el iesgo “R02”, uno de los p oblemas e iden es es que el
p oyec o es desa ollado po una única pe sona, po lo que di icul a mucho el
abajo. Es e iesgo a a de la p obabilidad que enemos de no llega a iempo en la
en ega po no pode acaba nues o p oyec o. La solución a es e iesgo es
iden i ica la echa de en ega, habla con el p o eso sob e una en ega ealis a que
no se salga de nues as expec a i as y lógicamen e aumen a las ho as de abajo.
No podemos llega a es e pun o: El p oyec o debe en ega se.
4.5 Con ol de e siones
Pa a e i a el iesgo de la pé dida de da os, an o de la documen ación como el
código desa ollado, hemos ealizado odo el p oyec o median e dos pla a o mas: La
p ime a, pa a los documen os ha sido Google D i e, donde es án almacenados cada
uno de los cambios. La segunda pa a el código, la cual ha sido Gi hub [9] donde se
ha ac ualizado el código mien as se inalizaban los módulos. Lo mos amos en la
Figu a 4.7.
Figu a 4.7 Con ol de e siones, Gi hub y Google D i e.
33
4.6 Plani icación
La plani icación la hemos desa ollado median e el p og ama Planne en Debian,
median e el cual hemos ealizado una pequeña guía de las a eas que debíamos
hace en unos iempos ma cados, pa a así e i a e asos en las en egas, al como
mos amos en la Figu a 4.8.
Figu a 4.8 Plani icación, Planne
5. Manual de usua io
En es e apa ado mos a emos oda la aplicación y cuál es su o ma de uso.
I emos paso a paso po odas las unciones enseñando además un ejemplo g á ico
pa a pode guia nos.
5.1 Vis a p incipal
En la igu a 5.1 mos amos la is a p incipal de nues a aplicación. Como se
puede e iene es pa es, el menú con odas las unciones, la posición cen al
donde i emos mos ando cada una de las is as y el cuad o de ex o que mues a
las no i icaciones del p og ama.
Figu a 5.1 Vis a p incipal del con olado .
34
5.2 Menú a chi o
En es e apa ado comen a emos el menú de a chi o. Encon amos cua o
unciones: gua da opología, ca ga opología, gua da con ol, y ca ga con ol al
como mos amos en la igu a 5.2.
Figu a 5.2 Menú a chi o.
En la igu a 5.3 mos amos la is a de gua da opología. Nos apa ece un cuad o
de ex o en el cual debemos pone el nomb e de la ca pe a en la que que emos
gua da el es ado ac ual del p og ama.
Figu a 5.3 Vis a gua da opología.
35
En la igu a 5.4 mues a el esul ado al pulsa el bo ón de “Gua da opología”. La
aplicación ha gua dado den o de la ca pe a sa e
, en el di ec o io p incipal de la
aplicación, una nue a ca pe a llamada “ejemplo” en la cual se encuen an los da os
del es ado ac ual de la opología y cada uno de los lujos de con ol de los b idges
i uales.
Figu a 5.4 Vis a gua da opología, esul ado.
En las igu as 5.5 y5.6 mos amos el con enido que gene a el gua da el es ado
de la aplicación. En la p ime a emos que ha c eado es documen os los que
empiezan po “b ” son los es ados gua dados pa a el con ol de lujo de cada uno de
los b idges
i uales y el sa e es el que con iene la opología de ed, el cual es un
iche o Json
del que podemos e su o ma o en la segunda imagen.
Figu a 5.5 Con enido del gua dado.
" opologia":
{
" e h" : [{" e h1.0": " e h1.1"}],
" un ap" : ["uml1.0", "uml2.0", "uml2.1"],
"b idge" : [{"b 0" : ["b 0.nco s", {"uml1.0": 1}, {"uml2.0": 2},
{" e h1.0": 3}]}, {"b 1" : ["b 1.nco s", {"uml1.1": 1}, {"uml2.1": 2},
{" e h1.1": 3}]}]
}
Figu a 5.6 Con enido de sa e.nco s.
36
En la igu a 5.7 mos amos la is a de ca ga pa a busca un iche o donde
hayamos gua dado an e io men e el es ado del p og ama y pos e io men e ca ga lo.
Figu a 5.7 Vis a ca ga opología.
En la igu a 5.8 podemos obse a lo que ocu e al selecciona el a chi o, nos
mues a dónde es á si uado y además da como esul ado que se ha ca gado
co ec amen e. Después de es e comando es ecomendable i al menu “Puen e” y
u iliza la unción “Mos a puen es” pa a comp oba que se ha ealizado
co ec amen e.
Figu a 5.8 Vis a ca ga opología, esul ado.
37
En la igu a 5.9 mos amos la is a de gua da con ol de lujo, almacena el
es ado ac ual de un b idge en un iche o que de ina el usua io. Se desplega á un
menú pa a in oduci el nomb e del a chi o con el que que emos gua da lo.
Figu a 5.9 Vis a gua da con ol.
En la igu a 5.10 podemos obse a el esul ado que nos o ece al gua da el
con ol de lujo del b idge
“b 1” y nos mues a el iche o donde lo hemos gua dado.
El con enido del mismo se ía:
cookie=0x0, du a ion=44.593s, able=0, n_packe s=34 n_by es=4854, idle_age=12
p io i y=0 ac ions=no mal
Donde podemos e que el único lujo exis en e es á ico no mal con p io idad ce o.
Figu a 5.10 Vis a gua da con ol, esul ado.
38
En la igu a 5.11 mos amos la is a de ca ga lujo. Una ez hemos gua dado el
con ol de lujo de uno de nues os b idges
, podemos selecciona el a chi o pa a
ol e al es ado an e io . Además debe emos in oduci po ex o o po cuad o de
diálogos el nomb e del b idge
en el cual que emos olca el a chi o.
Figu a 5.11 Vis a ca ga con ol.
En la igu a 5.12 mos amos el esul ado que nos o ece el ca ga el con ol de
lujo sob e el b idge
“b 1”. El cuad o de diálogo nos mues a que se ha hecho de
o ma co ec a sob e el b idge
in oducido y qué iche o hemos usado.
Figu a 5.12 Vis a ca ga con ol, esul ado.
39
5.2 Menú limpia
En es e apa ado mos amos las unciones u ilizadas pa a elimina el es ado
ac ual de la aplicación o el con ol de lujo de un b idge
al como mos amos en la
igu a 5.13.
Figu a 5.13 Menú limpia .
En la igu a 5.14 emos el e en o que limpia oda la opología de ed que
enemos ac ualmen e. És a unción no iene pa e isual ya que sólo equie e de la
acción humana nada más in oca la. El esul ado que o ece es que se ha ealizado
co ec amen e po lo que ha bo ado odos los b idges
i uales de la aplicación.
Figu a 5.14 E en o limpia opología.
40
En la igu a 5.27 mos amos el esul ado al elimina la in e az c eada con
an e io idad. En nues o caso ol emos a in oduci “uml1.0” y el p og ama nos dice
que se ha ealizado con éxi o.
Figu a 5.27 Vis a elimina in e aces, esul ado.
5.5 Menú Link
En es e apa ado habla emos del menú Link, el cual usamos pa a c ea los
cables i uales pa a conec a nues os b idges
. Tenemos dos unciones: ag ega y
elimina Link, al y como mos amos en la igu a 5.28.
Figu a 5.28 Menú Link.
47
En la igu a 5.29 mos amos la is a pa a c ea un cable i ual pa a conec a dos
b idges
i uales. Pa a ello necesi amos el nomb e de los dos ex emos y pulsa
sob e el bo ón “c ea Link”.
Figu a 5.29 Vis a c ea Link.
En la igu a 5.30 mos amos el esul ado al pulsa sob e “c ea Link”, nos dice
que se ha c eado un cable i ual con dos ex emos “ link1.0” y “ link2.0”.
Figu a 5.30 Vis a c ea Link, esul ado.
48
En la igu a 5.31 mos amos la is a pa a elimina un cable i ual. Pa a ealiza
es a unción sólo necesi amos elimina uno de los ex emos y con és e se eliminan
los dos, po lo an o, debemos in oduci uno de ellos y pulsa sob e el bo ón
“elimina Link”.
Figu a 5.31 Vis a elimina Link.
En la igu a 5.32 mos amos el esul ado al pulsa sob e el bo ón “elimina Link”
hemos in oducido uno de los ex emos, “ link1.0”, y nos dice que se ha eliminado
sa is ac o iamen e.
Figu a 5.32 Vis a elimina Link, esul ado.
49
5.6 Menú pue o
En es e apa ado habla emos del menú pue o, el cual se u iliza pa a ag ega y
elimina componen es a un b idge
i ual. Disponemos de dos unciones: ag ega y
elimina pue o al como mos amos en la igu a 5.33.
Figu a 5.33 Menú pue o.
En la igu a 5.34 mos amos la is a de ag ega pue o, necesi amos el nomb e de
un b idge
y el componen e que que emos ag ega , pulsamos en el bo ón “c ea
pue o” pa a ejecu a el e en o.
Figu a 5.34 Vis a ag ega pue o.
En la igu a 5.35 obse amos el esul ado que nos o ece al pulsa en el bo ón
“c ea pue o”. Hemos in oducido el b idge
“b 1” y la in e az “uml1.0”, nos mues a
un mensaje que odo se ha ealizado co ec amen e.
50
Figu a 5.35 Vis a ag ega pue o, esuel o.
En la igu a 5.36 mos amos la is a de elimina un pue o a un b idge
. Pa a ello
necesi amos in oduci el nomb e del b idge
y el componen e que que emos
desconec a del mismo, po úl imo pulsa emos en el bo ón “elimina pue o”.
Figu a 5.36 Vis a elimina pue o.
51
En la igu a 5.37 mos amos el esul ado que ecibimos al pulsa en el bo ón
“elimina pue o”, hemos in oducido el b idge
“b 1” y el componen e “uml1.0”, nos
mues a un mensaje de que se ha desconec ado co ec amen e.
Figu a 5.37 Vis a elimina pue o, esul ado.
5.7 Menú con ol
En es e apa ado habla emos del menú con ol, en el cual se puede modi ica el
con ol de lujo de nues os b idges
i uales. Pa a ello poseemos las unciones
ag ega , elimina y mos a con ol de lujo, como se puede e en la igu a 5.38.
Figu a 5.38 Menú con ol.
52
En la igu a 5.39 mos amos la is a pa a ag ega un con ol de lujo a un b idge
.
Pa a ello necesi amos el nomb e del b idge
y el lujo que que emos ag ega le. Nos
podemos guia del apa ado 2 y 3 de la memo ia, donde explicamos cómo se
con igu a el lujo. Una ez in oducidos pulsamos en el bo ón “c ea lujo”.
Figu a 5.39 Vis a ag ega con ol.
En la igu a 5.40 mos amos el esul ado al pulsa sob e el bo ón “c ea lujo”. Se
ha añadido el b idge
“b 1” y un lujo de ejemplo el cual iene p io idad 100, que
a ec a a la abla 101, y que iene como uncionalidad no acep a ningún á ico. Po
úl imo indica que la ope ación se ha ealizado con éxi o.
Figu a 5.40 Vis a ag ega con ol, esul ado.
53
En la igu a 5.41 mos amos la is a pa a elimina un lujo. Pa a és e in,
necesi amos in oduci el nomb e de un b idge
y la pa e ma ch del lujo in oducido,
que se explica en el apa ado 3 de la memo ia, en la sin axis empleada. Después
pulsa emos sob e el bo ón “elimina lujo”.
Figu a 5.41 Vis a elimina con ol.
En la igu a 5.42 mos amos el esul ado que ob enemos al pulsa sob e el bo ón
“elimina con ol”. Hemos in oducido el b idge
“b 1” y en lujo la pa e ma ch
“ able=101”. Nos indica median e mensaje que se ha eliminado co ec amen e.
Figu a 5.42 Vis a elimina con ol, esul ado.
54
En la igu a 5.43 obse amos la unción mos a lujo, en la cual debemos
in oduci el nomb e de un b idge
y pulsa en el bo ón “mos a lujo”.
Figu a 5.43 Vis a mos a con ol.
En la igu a 5.44 mos amos el esul ado que ob enemos al pulsa sob e el bo ón
“mos a lujo” in oduciendo en el campo de ex o el b idge
“b 1”. Indica que iene un
con ol de lujo que es “p io idad ce o á ico no mal”.
Figu a 5.44 Vis a mos a con ol, esul ado.
55
5.8 Caso de uso
En es e apa ado ha emos un caso de uso pa a demos a cómo unciona nues a
aplicación median e un ejemplo.
Figu a 5.45 Caso de uso.
En la igu a 5.45 mos amos la opología de ed que amos a c ea median e
nues a aplicación. Pa a ello debemos c ea dos b idges
, un enlace Link
y cua o
in e aces de ed i ual pa a las máquinas UML pa a así, po úl imo, conec a los.
Pa a c ea los b idges i emos al menú “Puen e” y selecciona la opción “Ag ega
puen e”. Pa a c ea los simplemen e debemos in oduci los nomb es y después
pulsa sob e el bo ón “c ea puen e”. Ejemplo: b 0 y b 1.
En el caso de c ea el enlace Link
, debemos di igi nos al menú “ Link
” y
selecciona la opción “Ag ega Link
”. Debemos in oduci el nomb e de los dos
ex emos y pulsa sob e el bo ón “c ea Link”. Ejemplo: Link0 y Link1.
56