IDNe
F amewo k de conexión P2P
de bases de da os
dis ibuidas e independien es
Lo enzo José de la Paz Suá ez
Juan Mas Aguila
Di ec o : José Luis Vázquez Pole i
T abajo Fin de G ado en Ingenie ía In o má ica
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
Cu so 2017/2018
Au o ización de di usión
Los abajo i man es, ma iculados en el G ado de Ingenie ía In o má ica de la Facul ad de
In o má ica, au o iza a la Uni e sidad Complu ense de Mad id (UCM) a di undi y u iliza
con ines académicos, no come ciales y mencionando exp esamen e a sus au o es el p esen e
T abajo Fin de G ado: “IDNe : F amewo k de conexión P2P de bases de da os dis ibuidas
e independien es”, ealizado du an e el cu so académico 2017-2018 bajo la di ección de José
Luis Vázquez-Pole i en el Depa amen o de A qui ec u a de Compu ado es y Au omá ica,
y a la Biblio eca de la UCM a deposi a lo en el A chi o Ins i ucional E-P in s Complu ense
con el obje o de inc emen a la di usión, uso e impac o del abajo en In e ne y ga an iza
su p ese ación y acceso a la go plazo.
Juan Mas Aguila
Lo enzo José de la Paz Suá ez
Mad id, 28 de Mayo de 2018
A José Luis Vázquez Pole i po su incansable dedicación y es ue zo. Sin sus espues as
a nues os co eos a las dos de la mad ugada y la can idad de ideas y mo i ación que nos
ha apo ado no hubiésemos sacado adelan e el p oyec o.
1
Dedica o ia
A nues as amilias, po es a ahí en odo momen o y anima nos incluso cuando es ábamos
us ados y no en endían po qué ni cómo esol e lo.
A nues os compañe os, po que esos momen os en la ca e e ía le le an an el ánimo a
cualquie a. Gen e que compa e lo mismo que ú y siemp e e apoya.
2
Índice gene al
Índice i
Lis a de Figu as i
Resumen 1
1. In oducción 3
2. Mo i ación 4
3. Es ado del a e 6
3.1. To oDB ...................................... 7
3.2. F eeNe ...................................... 7
3.3. AllianceP2P ................................... 7
4. Desc ipción gene al 8
4.1. Ven ajas...................................... 8
4.2. Ca ac e ís icas écnicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2.1. NodoClien e ............................... 9
4.2.2. NodoGa eKeepe ............................. 9
5. A qui ec u a 10
5.1. A qui ec u a in e na del Clien e . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.1.1. IDNe So wa e .............................. 12
5.1.2. IDNe Daemon............................... 15
5.2. A qui ec u a in e na en la Nube . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2.1. NodoGa eKeepe ............................. 17
5.2.2. A qui ec u a en AWS . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.2.3. Basededa osIDNe ........................... 22
5.3. P o ocolo de comunicación de mensajes . . . . . . . . . . . . . . . . . . . . . 23
5.3.1. Mensaje001................................ 23
5.3.2. Mensaje002................................ 25
5.3.3. Mensaje003................................ 26
5.3.4. Mensaje004................................ 27
5.3.5. Mensaje005................................ 28
5.3.6. Mensaje006................................ 31
5.3.7. Mensaje010................................ 32
5.3.8. Mensaje011................................ 33
i
Abs ac
“IDNe ” is a ne -based amewo k consis ing on he c ea ion o Pee - o-Pee (P2P) ne -
wo ks o connec independen and dis ibu ed da abases. In o he wo ds, wi hou he need o
di e en ia e he in e nal s uc u e and wi hou being logically o geog aphically cen alized.
The p o o ype is designed o c ea e Vi ual O ganiza ions, in which use s would be able
o ob ain da a om hei neighbou s’ da abases. By his means, use s would be able o
make que ies be ween he da abases p e iously e e enced. Sensi i e da a will pass h ough
a a ie y o secu i y p o ocols buil in he co e o he applica ion o a oid i s con en o be
e ealed.
The ne wo k is buil on o a Cloud s uc u e. Al hough we chose Amazon Web Se ices
as ou Cloud Se ice P o ide , he endo lock-in is minimal o le he use choose his
p o ide eely. Cloud compu ing p o ides us wi h an ou s anding lexibili y. We use Docke
con aine s o isola e he node and make i s po abili y easie o e e yone.
Figu a 2:Applica ion Logo[7]
Keywo ds
Da abases, Pee - o-Pee , Vi ual O ganiza ions, Cloud, Docke
Capí ulo 1
In oducción
Con el a ance de las comunicaciones nos p esen amos an e una nue a sociedad “hipe co-
nec ada”. Las emp esas y adminis aciones públicas hacen un uso masi o de In e ne y las
endencias de me cado implican un olcado casi absolu o sob e el mismo. Se icios online,
alojamien o, en as... Todo se desa olla aho a de ca a a la ed y explo a sus capacidades y
bondades.
No obs an e, exis e una excepción a es a egla. Las in aes uc u as c í icas no son capaces
de ap o echa es a inmensidad de ecu sos disponibles. Es o es debido a la sensibilidad de su
in o mación o al emo de que alguien se in il e en sus sis emas de i al impo ancia. Muchas
de ellas se aislan comple amen e de In e ne con el obje i o de secu iza se aun más. Pe o
es o es, en nues a opinión, un despe dicio. Los da os que se gene an pod ían se compu ados
a mayo es elocidades y con mayo e iciencia u ilizando muchos de los componen es de la
ed. Incluso el me o hecho de que dos cen os puedan in e cambia da os ya se ía una g an
a ance.
Con esa idea hemos c eado IDNe . Un F amewo k pa a que dos bases de da os puedan
conec a se de o ma au ónoma e in e cambia in o mación de o ma independien e, dis i-
buida y, sob e odo, segu a. Lo conside amos como un p ime paso pa a i a esos mu os sin
comp ome e la segu idad de los da os.
3
Capí ulo 2
Mo i ación
Ac ualmen e nos encon amos limi ados. El “aislamien o” de las bases de da os es un he-
cho po no habla de las incompa ibilidades en e bases de da os con misma es uc u a pe o
dis in o desa ollado (ej. O acle, MySQL, Ma iaDB, e c). Nues o abajo p e ende ma ca
un p eceden e y ab i un nue o canal de comunicación y ansmisión de la in o mación.
No es a o encon a se con que exis en a ias bases de da os indi iduales en dis in os
sec o es de una en idad (emp esa, adminis ación, e c) pe o llegado un momen o, an e la
necesidad de abaja con odas ellas jun as, se necesi a c ea de nue o una mac obase
de da os que aúne las an e io es. La solución más sencilla pa a es e ipo de casos, se ía
man ene el mismo ipo de base de da os ( an o es uc u a in e na como desa ollado ),
de o ma que las ablas y las conexiones puedan maneja se con acilidad. No obs an e, es a
ap oximación al p oblema no pe mi e a una en idad adecua sus sis emas de almacenamien o
a las ca ac e ís icas de sus dis in os pe iles ( olumen de da os, ca ac e ís icas de los mismos,
ni el de segu idad, empo alidad).
Si hablamos de es uc u as c í icas, el ema se uel e más espinoso. La segu idad de la
que deben dispone es su ac o más limi an e. El sis ema más segu o es aquel que, de
o ma o al y absolu a no enga acceso a la Red. Es o es á basado en un hecho econocido
abie amen e: In e ne no ue hecho pa a se segu o.
Ha sido con el paso del iempo que se ha demos ado la necesidad de secu iza los p o-
ocolos ya es ablecidos. Es o, que puede se i pa a mejo a la segu idad de los da os de
un na egan e común, es del odo insu icien e pa a en idades que a en da os sensibles de
cualquie índole. Es po ello que no pueden a iesga se a usa pla a o mas que amplia ían
eno memen e sus capacidades y acele a ían sus p ocesos. Hablamos, po ejemplo, de un hos-
pi al que pudie a accede a las in es igaciones y expedien es de los cen os de in es igación
de e e encia con una sola pe ición. Emp esas que puedan usa indis in amen e bases de
da os SQL y NoSQL en unción de los da os que necesi an usa en sus dis in os ámbi os sin
miedo a aisla los. Comisa ías de Policía que pudie an usa bases de da os independien es y
consul a las como si ue an una. Y odo ello de o ma dis ibuida geog á icamen e y segu a.
4
Con es e p oyec o que emos inicia un p ime ace camien o pa a pode abo da es e p o-
blema an complicado. Todo ello ap o echando el impulso de las nue as endencias de
compu ación a g an escala como el Cloud. Es e úl imo, escogido po su elas icidad y o-
bus ez.
5
Capí ulo 3
Es ado del a e
A a és de es e capí ulo se a a p esen a el es udio inicial del me cado ealizado pa a
encon a qué aplicaciones p esen an simili ud con nues o p oyec o. Todo ello con el in de
encon a las en ajas y des en ajas que subyacen en ellas, y pa a pode ob ene aquellas
ca ac e ís icas que nos puedan ayuda en la consecución de nues o p oyec o.
IDNe busca saca p o echo de ales p oyec os en los ámbi os en los que se encuen a:
bases de da os SQL y NoSQL, a qui ec u as Pee - o-Pee , O ganizaciones Vi uales, Cloud
y Docke . IDNe busca ges iona bases de da os, an o SQL como NoSQL, con el in de
compa i in o mación sob e ellas a a és de la ed. También, busca o ma una ed anónima
en la que los nodos pe enecien es a ella solo conozcan los nodos adyacen es a sí mismo.
Con es a asociación de ecinos, se busca que se c een O ganizaciones Vi uales en las que
los usua ios engan una ca ac e ís ica en común, como puede se el ámbi o es a al en el
que se encuen en, po ejemplo una ed de hospi ales. Y, po úl imo, se busca el uso de las
ecnologías pun as exis en es en el mundo ac ual, más conc e amen e, el uso de con enedo es
Docke y de su despliegue en Cloud.
Figu a 3.1:Diag ama de la aplicación
6
T as analiza a ias aplicaciones llegamos a la conclusión de que no había ninguna apli-
cación que engloba a las uncionalidades p e is as. Únicamen e pudimos ob ene ideas ela-
cionadas de cada uno de los ámbi os mencionados.
3.1. To oDB
To oDB es una ecnología diseñada pa a la elación de ba-
ses de da os SQL con bases de da os NoSQL o ien adas a do-
cumen os, como po ejemplo MongoDB. In e namen e, eplica
documen os en MongoDB en Pos g eSQL, una base de da os
elacional. Es a ecnología se asemeja mucho a nues a idea de
ges iona an o bases de da os SQL como NoSQL, pe o nos limi a
la capacidad de usa o as bases de da os SQL como MySQL.
Más in o mación en la siguien e URL: h ps://www. o odb.
com/
3.2. F eeNe
F eeNe es una pla a o ma Pee - o-Pee diseñada
pa a una comunicación esis en e a la censu a, con el
in de que los usua ios puedan compa i in o mación
de o ma anónima. En es a aplicación, la in o mación
se encuen a descen alizada a a és de los nodos que
la componen. Sin emba go, F eeNe es á cen ada en
la compa ición de in o mación de cualquie índole,
mien as que noso os buscamos compa i in o ma-
ción elacionada con da os sensibles pe enecien es a
bases de da os. Más in o mación en la siguien e URL:
h ps:// eene p ojec .o g/
3.3. Alliance P2P
Alliance P2P es un so wa e que pe mi e c ea edes P2P p i adas y
con acceso con olado (necesi as pe miso pa a en a a la ed). Mayo i a-
iamen e pensada y usada pa a la compa ición de a chi os en In e ne .
Es e so wa e in e p e a muy bien nues a idea de c ea O ganizaciones
Vi uales ( edes P2P p i adas) pe o no se cen an en la compa ición
segu a de in o mación sensible ni ienen compa ibilidad con bases de da-
os. El so wa e se puede desca ga de sou ce o ge en la siguien e URL:
h p://alliancep2p.sou ce o ge.ne /
7
Figu a 5.2:Diag ama de módulos IDNe So wa e
Como se puede e en la igu a 5.2, se ha modula izado IDNe So wa e de la siguien e
o ma:
IDNe So wa e: con iene la clase p incipal de la aplicación. Además, con iene odas
aquellas clases que son en anas y diálogos de la aplicación. Un ejemplo de es as clases
mencionadas son: MainWindow, AddDa abaseDialog, Usua iosOVDialog...
Connec ion Lib a y: con iene la clase Clien , enca gada de ealiza las conexiones
de clien e hacia los se ido es de los ecinos.
Message Lib a y: módulo esponsable de la c eación de mensajes y del pa seo de
los mensajes ecibidos. La clase exclusi a del módulo es Message.
C yp o Lib a y: la clase p incipal del módulo, C yp o, es la enca gada de la c ip o-
g a ía de la aplicación.
Pos Box Lib a y: es la enca gada de ac ua como si de un buzón se a a a. Se
enca ga de a a y p ocesa los mensajes, po ello u iliza los módulos Message Lib a y
y C yp o Lib a y.
13
Da abase Lib a y: módulo enca gado de odo lo conce nien e a las bases de da os.
En p ime luga , ges iona la in o mación ela i a a las bases de da os p opias del nodo
Clien e. Po o a pa e, maneja la in o mación ela i a a las bases de da os de los
ecinos. Po úl imo, se enca ga de la comunicación con la base de da os emo a de
IDNe .
P ocess Lib a y: módulo que ac úa de in e media io en e el módulo Pos Box Li-
b a y y Da abase Lib a y.
Con e ion Lib a y: módulo enca gado de la con e sión de ipos en la aplicación.
Simpli ica el p ocesamien o y libe a ca ga de abajo en los demás módulos.
Cons an s Lib a y: su clase p incipal, Cons an s, con iene odas las a iables y
mé odos cons an es ela i os a la aplicación.
Fiche os de sopo e
IDNe So wa e se ale de cua o iche os undamen ales de con igu ación pa a su desem-
peño.
in o.con : iche o enca gado de ob ene la in o mación sob e el usua io. Se ob iene
as inicia sesión en la aplicación. Es uc u a del a chi o:
Figu a 5.3:Es uc u a a chi o in o.con
da abases.con : iche o enca gado de almacena la in o mación conce nien e a las
bases de da os p opias au o izadas desde la aplicación. Es uc u a del a chi o:
Figu a 5.4:Es uc u a a chi o da abases.con
neighbou s.con : iche o que almacena la in o mación sob e los ecinos de la aplica-
ción. Es uc u a del a chi o:
Figu a 5.5:Es uc u a a chi o neighbou s.con
14
neighbou sDa abases.con : iche o que almacena la in o mación sob e los ecinos
y sus bases de da os. El iche o se a c eando según se an ealizando comunicaciones
con dis in os ecinos. Es uc u a del a chi o:
Figu a 5.6:Es uc u a a chi o neighbou sDa abases.con
Puedes encon a ejemplos de es os a chi os de con igu ación mencionados en el apéndice
B.
5.1.2. IDNe Daemon
Como bien se ha comen ado, IDNe Daemon es un se ido ejecu ado en backg ound
enca gado de lle a a cabo la esolución de odas las pe iciones con des ino el nodo Clien e.
Dado que no necesi a que la aplicación del Clien e es é ac i a, es capaz de esponde a odas
las pe iciones que le lleguen. Pensamos que independiza los dos p ocesos a o ece ía a la
ed.
Siguiendo el esquema gene al de la ed de la igu a 5.1, cuando un nodo Clien e se co-
munica con o o nodo Clien e, el IDNe Daemon del nodo ecep o Clien e se enca ga de
esponde a odas las pe iciones del IDNe So wa e del nodo emiso Clien e. Resumiendo su
uncionalidad, ac úa como el “po a oz” del nodo Clien e.
In e namen e, las unciones que ealiza IDNe Daemon son las siguien es:
Regis o del nodo Clien e en la aplicación. Pa a ello, en ía la solici ud de egis o
al nodo Ga eKeepe que iene asignado. En la sección 5.3.7 se explica la es uc u a
del mensaje en iado.
Es ablecimien o de la conexión con el ecino. In e ac úa con el IDNe So wa e
del nodo Clien e emiso .
Ges ión de la conexión con las bases de da os p opias. Sólo se enca ga á de
aquellas bases de da os que hayan sido asignadas po el IDNe So wa e.
Pa a la ealización de ales unciones, se ha diseñado el siguien e diag ama.
15
Figu a 5.7:Diag ama de módulos IDNe Daemon
El diag ama an e io p esen a los siguien es módulos:
IDNe Daemon: con iene la clase p incipal. La ejecución de la clase p incipal sólo
se puede ealiza median e mono-se ice. Pa a mayo in o mación acuda a la sección
6.1.2.
Connec ion Lib a y: con iene dos clases p incipales: Se e yRegis e Clien . La
p ime a es el se ido enca gado de escucha a los clien es ecinos, mien as que la
segunda clase es la enca gada de egis a al nodo Clien e en la aplicación.
Message Lib a y: módulo simila al de la sección 5.1.1.
C yp o Lib a y: módulo simila al de la sección 5.1.1.
16
Pos Box Lib a y: módulo simila al de la sección 5.1.1.
Plugins Lib a y: p esen a simili ud con espec o al módulo Da abaseLib a y de
IDNe So wa e. La di e encia es á en que, en luga de maneja la in o mación ela i a
a las bases de da os, es la enca gada de conec a se a ellas y de ob ene la in o mación
pe inen e. P esen a dos Plugins p incipales: PluginMongo y PluginMySQL.
P ocess Lib a y: módulo simila al de la sección 5.1.1
Con e ion Lib a y: módulo simila al de la sección 5.1.1
Cons an s Lib a y: módulo simila al de la sección 5.1.1
Fiche os de sopo e
IDNe Daemon se ale de dos iche os undamen ales de con igu ación pa a su desempeño.
in o.con : simila a los usados po IDNe So wa e.
da abases.con : simila a los usados po IDNe So wa e.
5.2. A qui ec u a in e na en la Nube
Una de las pa es más c í icas de la aplicación es la pa e co espondien e al Cloud.
No solo dependemos de un p o eedo ex e no (aunque in en amos minimiza al máximo el
endo locking) sino que además, la segu idad es uno de los aspec os undamen ales a ene
en cuen a. Es o choca di ec amen e con la de inición que enemos del Cloud ac ualmen e.
Po lo an o, hemos desa ollado una a qui ec u a de nodos en Cloud con la segu idad como
uno de los p incipales obje i os.
5.2.1. Nodo Ga eKeepe
Los nodos que se enca gan de ansmi i el mensaje a a és de la ed y alojados en
Cloud son los denominados Ga eKeepe (GK en adelan e). Es a nomencla u a no es aza osa
sino que ejempli ica pe ec amen e el abajo que desempeña.
17
Figu a 5.8:Esquema Gene al de la dis ibución de los Ga eKeepe en la ed
Las unciones ac uales de los GK son las siguien es:
Ac úan como en ada y salida de los mensajes a la ed Cloud. Cada uno de los nodos
Clien e es án asignados a un GK y se comunican con él y sólo con él.
C ea una abla de u as con los demás GK pa a es ablece el encaminamien o de los
mensajes. Se u iliza un mé odo de encaminamien o po ec o es de dis ancias pa ecido
a RIP.
Comp ueba la legi imidad de los Clien es conec ados a a és de él a la ed.
Anonimiza los mensajes que pasan a a és de él.
Pa a consegui es e compo amien o, el GK iene una es uc u a in e na de se ido /clien e
con hilos pa alelos siguiendo un modelo como el ejempli ica el diag ama de clases del Apén-
dice C (C.3).
El GK se compone de un demonio ejecu ándose en backg ound que lanza es g andes hilos
de ejecución. Uno de ellos se co esponde con el se ido que escucha las pe iciones que le
llegan desde o o GK ecino (pue o 12000). El segundo ejecu a las pe iciones p o enien es
de un nodo Clien e (pue o 11000); mien as que el e ce o se enca ga de anuncia pe ió-
dicamen e (ac ualmen e cada es minu os) la abla de u as a sus ecinos de la ed. Es e
modelo mul i h ead pe mi e la ejecución pa alela de a ios abajos sin bloquea el es o de
ope aciones.
A con inuación pasa emos a de alla el compo amien o del GK en unción de las pe icio-
nes que le llegan.
18
Compo amien o de un Ga eKeepe con espec o a un Nodo Clien e
Como hemos mencionado an e io men e. El GK si e como pue a de en ada del nodo
Clien e a la ed. Pa a hace e ec i a es a uncionalidad se p opusie on los siguien es obje i os:
Debía habe un p o ocolo de conexión del nodo Clien e al GK. Es deci , cada
ez que el nodo Clien e se ac i a a (la pa e clien e), el GK debía de e i ica que ese
nodo es ealmen e un nodo de la ed.
A la ho a de ansmi i un mensaje en la ed, es a ansmisión debía se segu a.
Es deci , pa a el GK, la di ección IP de en ada debía se i ele an e. Es o choca
di ec amen e con el obje i o an e io .
El GK debe ía in o ma al nodo clien e de los nodos con los que se puede comunica .
Es os obje i os con apues os suponían un e o de diseño pa a la a qui ec u a in e na del
nodo.
Dado que la segu idad e a uno de los p incipales obje i os de es e p oyec o, p ime o se
abo dó el segundo obje i o. La espues a ue más o menos sencilla: un cola anonimizado a.
El GK ecibe los mensajes p o enien es del pue o 11000 y los encola pa a un a amien o
pos e io . Es o puede supone un cuello de bo ella al endimien o del nodo po lo que se se
puede ecu i a balanceado es de ca ga pa a minimiza el impac o. El GK no conside a la
ip de o igen pa a een ia el paque e, solo la de des ino. No obs an e, ¿cómo se asegu a de
que ese paque e p ocede de un clien e legí imo? En es e momen o es dónde en a en juego
el p ime obje i o desc i o an e io men e.
Median e el p o ocolo de conexión, el GK se asegu a de la exis encia de un clien e conc e o.
Cuando un usua io inicia la aplicación de IDNe en su o denado , debe ealiza un p oceso
de login. Dicho login co eja los da os con una base de da os de la aplicación alojada en la
nube y gene a un código alea o io. Ese código se á el que se use en los mensajes de conexión
pa a e i ica la iden idad del nodo. A pa i de ese momen o, el GK se asegu a que ese
nodo exis e y lo egis a en su abla de u as.
No obs an e, el p oblema sigue pe sis iendo, el GK no debe ía a a con la IP de o igen
di ec amen e. Pa a ello usamos alias pa a los nodos clien e. Con cada mensaje los pa áme o
de o igen y des ino no se a an con di ecciones IP, sino con alias. Solo los GK conocen la
elación en e un alias y su IP y solo lo consul an una ez. De es a o ma podemos e i a
a aques de ipo MITM al mismo iempo que el GK e i ica la iden idad sin comp ome e al
clien e.
19
Po úl imo, pe o no menos impo an e y como medida ex a de segu idad, el nodo Clien e
no dispone de di ecciones IP de ningún o o nodo. Simplemen e sus alias. De es a o ma,
du an e el p o ocolo de conexión en e un clien e y un GK, una ez e i icada la iden idad del
clien e, el GK in o ma al susodicho de los nodos con los que puede comunica se. No obs an e,
solo le apo a los alias. Como hemos mencionado an e io men e, solo el GK debe ía conoce
la elación en e una IP y su alias.
Compo amien o del Ga eKeepe con espec o a mensajes de o os Ga eKeepe
En es e sen ido se nos p esen an dos casos de uso:
Anunciamien o de ablas de u as.
Re ansmisión de un mensaje.
El nodo escucha las pe iciones de o os GK po el pue o 12000. De la misma o ma que
con el clien e, el nodo ecep o no conside a la di ección de o igen, sino la de des ino. En
caso de que la di ección de des ino sea él mismo, signi ica que es un mensaje de p opagación
de ablas de u as y usiona la abla ecibida con la que suya p opia. En caso de que la
di ección de des ino sea o a dis in a, comp ueba el siguien e paso en la abla de u as. Si
es un nodo conec ado a él mismo, lo en ega di ec amen e al clien e; si no, lo een ía a o o
GK.
Fiche os de sopo e
El GK se ale de dos iche os undamen ales pa a su desempeño.
neighbou s.xml
ou es.xml
Ambos iche o xml son i ales pa a las comp obaciones, el encaminamien o y el p o ocolo
de in e cambio y cálculo de u as.
El uncionamien o del p o ocolo de encaminamien o es simple. Un nodo ecibe un men-
saje de odos los nodos ecinos en los que el nodo ecep o igu a en su abla de ecinos
(neighbou s.xml). En dicho mensaje igu a la abla de u as del nodo emiso . Dicha abla
es á diseñada de o ma que no se en íen los nodos cuya di ección de “hop” sea igual a la del
nodo ecep o . De es a o ma se e i an bucles en el encaminamien o. Igualmen e, odas las
dis ancias que se en ían es án inc emen adas en una unidad (po que se ía un sal o más).
El nodo ecep o p ocesa la abla y en base a las dis ancias decide si un camino es más
con enien e que o o y eesc ibe su abla de u as.
20
P o ocolo de encaminamien o po ec o es de dis ancias
Los nodos disponen de un iche o ou es.xml. Dicho iche o almacena la in o mación de
cada uno de los nodos Clien e exis en es en la ed. Pa a cada nodo Clien e el Ga eKeepe
almacena su di ección IP (la cual solo usa pa a esol e el alias), el p opio alias, la di ección
del p óximo GK a a és del cual se a a comunica con el nodo Clien e y la dis ancia
(nodos) en e el GK y el Clien e des ino. La es uc u a del iche o se ía la mos ada en la
igu a. Véase Figu a 5.9
Figu a 5.9:Fiche o ou es.xml del Ga eKeepe
Cuando un nodo GK ecibe un mensaje de o o nodo GK que a di igido a él mismo,
lo iden i ica como un mensaje de p opagación de u as. A pa i de es e momen o, el nodo
ecep o compa a cada una de las u as de la nue a abla con la que ya enía almacenada
p e iamen e. Si ecibe la u a de un nodo Clien e que no conoce, lo inco po a a su iche o
de u as. Si ya exis e ese clien e, compa a las dis ancias, elige la meno y ac ualiza an o la
dis ancia como la di ección de sal o.
Igualmen e, el p opio nodo e ansmi e su p opia abla de u as. Pa a ello gene a una
abla pa a cada uno de los nodos exis en es en neighbou s.xml. Pos e io men e, elimina las
en adas cuya di ección de sal o es el nodo al que a a en ia la abla. Finalmen e las en ía
a sus des inos. Es e p oceso se epi e pe iódicamen e.
La es uc u a del iche o neighbou s.xml es la mos ada en la igu a. Véase Figu a 5.10
Figu a 5.10:Fiche o neighbou s.xml del Ga eKeepe
21
5.2.2. A qui ec u a en AWS
Hemos elegido Amazon Web Se ices como p o eedo Cloud pa a desplega los Ga eKee-
pe en la ed. No obs an e, pa a hace el despliegue más sencillo usa emos además Docke .
Es a ecnología nos pe mi e encapsula el nodo en un en o no de ejecución p opio que luego
pod emos clona y desplega sob e las máquinas de Amazon de o ma ápida y sencilla.
Du an e el desa ollo del p oyec o hemos epa ado en que, posiblemen e, los Ga eKeepe
puedan se obje o de a aques de denegación de se icio (DoS o DDoS). Además, aunque no
hubie a a aques, p esen an un cla o cuello de bo ella en cuan o al endimien o de la ed.
La elección de AWS nos pe mi e ambién esol e es e cuello de bo ella ya que nos da la
posibilidad de mon a balanceado es de ca ga sob e los nodos en la ed y pode ges iona
de o ma elás ica las pe iciones.
5.2.3. Base de da os IDNe
Pa a el almacenamien o de los usua ios de la aplicación disponemos de una base de
da os MySQL alojada en el p o eedo Amazon Web Se ices g acias al se icio Amazon
RDS (Se icio de bases de da os elacionales), el cuál nos pe mi e una al a disponibilidad,
una segu idad inhe en e y una mayo accesibilidad a la base de da os.
La base de da os es á compues a po una abla llamada “usua iosIDNe ” que con iene los
siguien es campos:
code: código alea o io gene ado en el IDNe Daemon y almacenado desde la c eación
del usua io.
use : nomb e de usua io.
passwo d: con aseña.
Como bien se comen a á en la sección 5.4.2, las con aseñas no se encuen an almacenadas
en ex o plano.
El acceso a la base de da os IDNe lo ealizan los dos nodos de la aplicación, es deci ,
an o el nodo Clien e –solo IDNe So wa e– como el nodo Ga eKeepe .
Den o del nodo Clien e, IDNe So wa e es el enca gado de inse a en la base de da os los
usua ios egis ados, además de comp oba los usua ios exis en es en el inicio de sesión.
Po o o lado, el nodo Ga eKeepe comp ueba que los mensajes ecibidos po el pue o del
clien e se hagan po un clien e legí imo, es deci , po un usua io que se encuen e en la base
de da os IDNe .
22
Figu a 5.19:Mensaje 005 pa a MySQL
29
Figu a 5.20:Mensaje 005 pa a MongoDB
Los campos de los mensajes son:
Message ype: ipo de mensaje.
Sou ce: nodo clien e ecep o .
Des ina ion: nodo clien e emiso .
Enc ip ed: con iene odos los siguien es campos:
•Db name: nomb e de la base de da os.
•Db ype: ipo de base de da os.
30
•Body: en el cue po del mensaje nos encon amos con el esquema de la base de
da os.
En el apéndice Apuedes encon a ejemplos conc e os de mensajes 005.
5.3.6. Mensaje 006
Es e mensaje es en iado po el clien e ecep o IDNe Daemon como espues a al mensaje
003 en iado po el clien e emiso IDNe So wa e. Tiene la unción p incipal de esponde
con los esul ados de la consul a eque ida en el mensaje 003. Análogamen e al mensaje 005,
se enc ip a simé icamen e g an pa e del mensaje. Ve Figu as 5.21 y5.22.
Figu a 5.21:Mensaje 006 pa a MySQL
31
Figu a 5.22:Mensaje 006 pa a MongoDB
Como se puede comp oba en las imágenes, enemos los siguien es campos:
Message ype: ipo de mensaje.
Sou ce: nodo clien e ecep o .
Des ina ion: nodo clien e emiso .
Enc ip ed: con iene los siguien es campos:
•Db name: nomb e de la base de da os.
•Db ype: ipo de base de da os.
•Body: en el cue po del mensaje nos encon amos con los esul ados de la consul a
a la base de da os.
En el apéndice Apuedes encon a ejemplos conc e os de mensajes 006.
5.3.7. Mensaje 010
El mensaje 010, jun o con el mensaje 011, pe enecen a la comunicación con los nodos
Ga ekeepe .
El mensaje 010 es en iado po el clien e emiso IDNe Daemon al nodo Ga ekeepe que iene
32
asignado, con el in de en ia al nodo Ga ekeepe la in o mación conce nien e al egis o en
la aplicación de dicho clien e. Ve Figu a 5.23.
Figu a 5.23:Mensaje 010
Con iene los siguien es campos:
Message ype: ipo de mensaje.
Sou ce: nodo clien e emiso .
IP: di ección IP del nodo clien e emiso .
Des ina ion: nodo Ga ekeepe .
Code: código numé ico alea o io en iado al clien e. Es e código es el mismo que queda
egis ado en la base de da os del se ido de la aplicación. El Ga ekeepe comp oba á
in e namen e es a condición mencionada.
En el apéndice Apuedes encon a ejemplos conc e os de mensajes 010.
5.3.8. Mensaje 011
El mensaje 011 es en iado po el clien e emiso IDNe So wa e al nodo Ga ekeepe que
iene asignado, con el in de solici a al nodo Ga ekeepe la in o mación conce nien e a los
ecinos de la aplicación. Ve Figu a 5.24.
Figu a 5.24:Mensaje 011
El mensaje con iene los siguien es campos:
Message ype: ipo de mensaje.
33
Sou ce: nodo clien e emiso .
IP: di ección IP del nodo clien e emiso .
Des ina ion: IP del nodo Ga ekeepe asignado.
5.3.9. Mensaje 012
El mensaje 012 es en iado po el Ga eKeepe en espues a al nodo Clien e que se acaba
de conec a e iden i ica . De uel e cada uno de los nodos Clien e de la ed con los que el
clien e con el que se es á comunicando puede con ac a . Ve Figu a 5.25.
Figu a 5.25:Mensaje 012
El mensaje con iene los siguien es campos:
ou es: Nodo Raíz.
ou e: Indica una Ru a (o o clien e en la ed).
name: Nomb e del clien e.
5.4. Secu ización de las a qui ec u as
A a és de las secciones 5.1 y5.2 hemos is o las a qui ec u as in e nas, an o del nodo
clien e como en la nube. Los pun os c í icos de es as a qui ec u as se encuen an en los
mensajes in e cambios en e los nodos que componen nues a ed. Po ello, amos a e qué
medidas se han omado pa a secu iza los mensajes in e cambiados. Po o o lado, se an a
hace mención o as medidas de segu idad implan adas en el p oyec o.
5.4.1. Secu ización en el p o ocolo de comunicación
Las medidas omadas pa a la secu ización del p o ocolo de comunicación en elación a
los mensajes en e nodos clien e son las siguien es:
Enc ip ación con c ip og a ía asimé ica: en los p ime os mensajes de una co-
municación se compa en las cla es públicas, de al mane a que una ez compa idas
las cla es puedan empeza a en ia in o mación sensible. En los mensajes 001a y 004a
34
se ealiza al in e cambio. Los mensajes 001b y 004b son enc ip ados con las cla es
públicas del ecep o ; son desenc ip ados con las cla es p i adas del clien e ecep o .
La in o mación sensible se encuen a den o de la e ique a XML <enc ip ed>. En
elación a la implemen ación, se ha usado el algo i mo de ci ado asimé ica RSA.
Enc ip ación con c ip og a ía simé ica: una ez se haya ealizado la enc ip ación
asimé ica mencionada, es la ho a de pasa la in o mación necesa ia pa a que los pos-
e io es mensajes sean enc ip ados con c ip og a ía simé ica. Pa a ello, en el mensaje
001b se ansmi e an o la cla e como el ec o de inicialización pa a las u u as enc ip-
aciones simé icas. Los es an es mensajes, es deci , los mensajes 002,003,004,005 y
006, ienen enc ip ada la in o mación sensible den o de la e ique a XML <enc ip ed>,
de o ma simila que en la c ip og a ía asimé ica. En elación a la implemen ación, se
ha usado el algo i mo de ci ado simé ico Rijndael, comúnmen e conocida como AES.
Doble enc ip ación: no solo los mensajes con end án odos los elemen os XML den-
o del elemen o <enc ip ed>, sino que el p opio elemen o <sou ce> se enc ip a asi-
mé icamen e. Po lo an o, en los mensajes 002, 003, 004, 005 y 006 hay una pa e
enc ip ada simé icamen e y o a asimé icamen e, llegando a ealiza una c ip og a ía
híb ida.
Es as medidas omadas nos p opo cionan las siguien es en ajas pa a una comunicación
segu a:
P o ección de in o mación sensible: den o de la e ique a <enc ip ed>. In-
o mación ela i a a nomb e de base de da os, ipo de bases de da os, esquema de una
base de da os y alo es eales de esas bases de da os.
P o ección con a a aques MITM 1: median e la enc ip ación asimé ica y si-
mé ica e i amos que una e ce pe sona sea capaz de ob ene in o mación sob e el
mensaje y suplan e la iden idad de uno de ellos.
Anonimización de la uen e de comunicación: de es a o ma ni los p opios Ga-
eKeepe conocen de dónde iene el mensaje, ni ampoco aquellos que in e cep en el
mensaje.
En la siguien e imagen se puede e un ejemplo de la c ip og a ía híb ida an e io men e
mencionada.
Figu a 5.26:C ip og a ía híb ida
1Man in he Middle
35
5.4.2. Secu ización de la base de da os IDNe
La base de da os de IDNe , como se ha comen ado en la sección 5.2.3, se encuen a alojada
en Amazon Web Se ices g acias al se icio Amazon RDS. Es e se icio nos p opo ciona
la ejecución de nues a ins ancia de la base de da os en Amazon Vi ual P i a e (Amazon
VPC), pe mi iéndonos aisla nues a ins ancia en una ed i ual p i ada.
Una medida de segu idad de la base de da os es la sal agua da de con aseñas con la
unción Hash SHA-256. El p oceso es el siguien e:
1. El nodo clien e IDNe So wa e en el momen o de egis a se su con aseña es hasheada.
Tan o la con aseña, como los campos del nomb e de usua io y el código, se inse an
median e una consul a en la base de da os.
2. A la ho a de inicia sesión, se ci a de nue o la con aseña en el nodo clien e ID-
Ne So wa e con el in de comp oba que coincide an o la con aseña hasheada como
la con aseña almacenada en la base de da os.
3. En ningún momen o se puede ol e a ob ene la con aseña en ex o plano de la base
de da os, ya que la unción Hash nos ga an iza la in eg idad de la con aseña.
En la siguien e imagen se puede e un ejemplo de una ila de la base de da os.
Figu a 5.27:Ejemplo de una ila de la base de da os
5.4.3. P o ección de in o mación de las BBDD en local
Como se ha comen ado en la sección elacionada con la a qui ec u a in e na del clien e
(5.1), ges ionamos la in o mación necesa ia pa a conec a nos a las bases de da os exis en es,
gua dándola en un iche o de con igu ación. Un campo de es a in o mación es la con aseña,
solo en aquellos casos en el que el acceso a la base de da os se haga median e un usua io
y con aseña. Po ello, se ha uel o a usa c ip og a ía simé ica pa a ci a la con aseña,
e i ando que se encuen e en ex o plano.
36
Capí ulo 6
Tecnologías
En las siguien es secciones se enume an las ecnologías u ilizadas y desca adas, así como
las azones pa a llega a ales conclusiones.
6.1. Tecnologías u ilizadas
A con inuación amos a enume a las ecnologías empleadas en el p oyec o.
6.1.1. C#
Nos decan amos po usa es e lenguaje de p og amación debido a la
amplia gama de lib e ías que se pueden usa con es e lenguaje. Además,
los in eg an es del p oyec o que íamos ap ende un lenguaje nue o y
de es a o ma amplia nues os conocimien os. En endemos que es un
lenguaje sólido y, usando el F amewo k .Ne [8], pod íamos desa olla
ácilmen e la aplicación.
6.1.2. Mono
Mono es un p oyec o de código abie o basado en GNU/Linux, compa ible con .NET e
independien e de la pla a o ma. El p oyec o decidimos desa olla lo en Linux po que imos
que los adminis ado es de sis emas usaban es e sis ema ope a i o pa a adminis a sus bases
de da os. Po odo ello, hemos usado Mono pa a desa olla en Linux nues o amewo k.
Además, pa a desa olla el so wa e en sí nos hemos ayudado de un en o no de desa ollo
llamado MonoDe elop.
37
A con inuación de ealiza cualquie con igu ación, se mos a á un mensaje in o ma i o
sob e el éxi o de ella. (Figu a 7.4)
Figu a 7.4:Ejemplos de mensajes in o ma i os
7.2. Ob ención de la in o mación de una base de da os
Nues o usua io de e e encia quie e ob ene in o mación ela i a a una base de da os del
Hospi al Ramón y Cajal, po ejemplo, quie e ob ene los pacien es egis ados del hospi al.
Pa a ello, pa iendo del menú p incipal (Figu a 7.6) debe á conec a se p ime o a dicho e-
cino (Figu a 7.7), pa a pos e io men e solici a el esquema de la base de da os “Pacien es”
(Figu a 7.9).
De o ma simila al caso de uso an e io , se dispone de un ba a de iconos dedicada exclu-
si amen e a la conexión, solici ud del esquema y a la ealización de una consul a. (Figu a
7.5)
Figu a 7.5:Ba a de iconos pa a las comunicaciones en la ed
43
Figu a 7.6:Menú P incipal
Figu a 7.7:Diálogo pa a solici a conexión a un ecino
44
Figu a 7.8:Resul ado de la conexión
Figu a 7.9:Dialogo pa a solici a el esquema de la Base de Da os
45
Figu a 7.10:Selección de la Base de Da os
Una ez ob enido el esquema de la base de da os y medi ado qué in o mación quie e
ob ene , se dispone a ealiza una consul a. (Figu a 7.11).
Figu a 7.11:Diálogo pa a inicia una consul a
46
Figu a 7.12:Diálogo pa a de ini la consul a
Finalmen e, ob iene la in o mación eque ida (Figu a 7.13).
Figu a 7.13:Resul ado de la Consul a
47
Capí ulo 8
Conclusiones
Nues o obje i o p incipal ha sido pe mi i el in e cambio de in o mación en e bases
de da os a a és de un ed anónima que asegu e la in eg idad y p i acidad de los da os
ansmi idos. Los usua ios pod án ealiza consul as a o as bases de da os sin emo a que
dichos da os puedan se expues os o in e cep ados po un agen e e ce o.
Exis en muchas ecnologías que ya a o ecen el in e cambio de in o mación —F eene po
ejemplo— pe o ninguna que se a en u e a abo da la comunicación di ec a en e bases de
da os de dis in a índole. Es po eso que noso os hemos que ido da es e p ime paso en es a
di ección.
IDNe es una p ime a ap oximación a es a p oblemá ica. Con él, que emos ab i las in a-
es uc u as c í icas y a o ece que puedan ap o echa los nume osos ecu sos que In e ne
puede pone a su disposición. En es a e sión dejamos el camino p epa ado pa a que IDNe
pueda es ablece O ganizaciones Vi uales, conexiones a a és de VPN, e c.
Pe sonalmen e, nos sen imos o gullosos de pode “inicia ” es a línea de abajo. El p o-
yec o nos ha sa is echo an o pe sonal como écnicamen e y conside amos que, aunque el
p oyec o es á inalizado, dejamos allanado el camino pa a que pueda c ece y pode sopo a
muchas más uncionalidades. Desde nues o pun o de is a, conside amos que ha sido muy
p o echoso. Hemos ap endido a usa .NET y su e sión lib e, Mono. También hemos ap en-
dido a maneja con enedo es Docke y a c ea p ocesos independien es e in e elacionados
que puedan unciona en un en o no de P oducción adecuado.
48
Conclusions
Du ing his p ojec , we aimed o allow he in o ma ion exchange be ween da abases h-
ough an anonymous ne wo k while gua an eeing he in eg i y and p i acy o he ansmi -
ed da a. Use s will be able o que y o he da abases wi hou ea ing da a o be exposed o
in e cep ed by any hi d agen .
The e al eady exis many o he echnologies which assis he in o ma ion exchange —e.g.,
F eene — bu no one es ablishes di ec communica ion be ween di e en kinds o da abases.
Tha is why we wan ed o ake he i s s ep in his di ec ion.
IDNe is he i s app oxima ion o his p oblem. Wi h i , we wan o open c i ical in as-
uc u es and allow hem o ake ad an age o he huge numbe o esou ces ha In e ne
can p o ide hem. The e o e, his e sion le s he pa h opened o IDNe o g ow e en mo e
by adding new unc ionali ies such as Vi ual O ganiza ions, VPN connec ions, e c.
Pe sonally, we eel p oud o s a ing his wo king line. The p ojec has sa is ied us bo h,
pe sonally and p o essionally. We conside ha , al hough he p ojec is al eady inished, i
s ill has a lo o po en ial. F om ou poin o iew, we hink ha i has been ui ul. We
ha e lea n how o use .NET and i s open e sion, Mono. Mo eo e , we ha e also lea n
abou Docke con aine s and c ea ing independen and in e ela ed p ocesses which could
wo k wi hin a p ope P oduc ion en i onmen .
49
Capí ulo 9
Ampliación u u a
A a és del p esen e capí ulo se an a de alla aquellas mejo as que se pueden aplica
al p oyec o en el u u o. Muchas de ellas nos han ido su giendo du an e el desa ollo del
p oyec o y o as han sido u o de un azonamien o pos e io al desa ollo.
9.1. C eación de O ganizaciones Vi uales
Pa a es e abajo no ha sido posible es ablece un p o ocolo cla o y una implemen ación
p ecisa de las O ganizaciones Vi uales. No obs an e, sí que ue una de las ideas o iginales
del p oyec o y uno de los pun os que más pod ían e o za la aplicación.
Cuando hablamos de O ganizaciones Vi uales nos e e imos básicamen e a edes p i adas
de acceso es ingido. Es o a o ece el uso con olado de la ed y el aislamien o de la misma.
Es a ca ac e ís ica es á especialmen e pensada pa a, po ejemplo, in aes uc u as c í icas
u o ganizaciones que a en da os de ca ác e sensible. Mucha gen e conside a que, en un
mundo hipe conec ado como el que enemos hoy en día, la o ma más e icaz de p o ege
nues os da os es no ene acceso a In e ne . Si yo no engo acceso a In e ne , In e ne
no iene acceso a mí. Como es lógico dejamos a un lado las ulne abilidades analógicas,
humanas y a ni el ha dwa e pues se encuen an más allá del ámbi o de es e abajo.[5]
Sin emba go, nues a idea es pe mi i ap o echa la in o mación. Median e las o gani-
zaciones i uales somos capaces de comunica los nodos sin que es os deban expone se
di ec amen e In e ne . Li e almen e es amos c eando un en o no “sandbox” p i ado pa a
que puedan comunica se de o ma segu a.
Al se una de las ideas iniciales del p oyec o, la opología de la ed y la a qui ec u a de
los nodos es án p epa ados pa a sopo a las. Po o a pa e, es o plan ea nue os e os que
explica emos a con inuación.
50
Capí ulo 11
Código Fuen e
El código uen e de la implemen ación de IDNe se ha almacenado en un eposi o io
público en Gi hub. En la siguien e di ección web apa ece la página de in o mación sob e el
p oyec o:
h ps://lo enpaz.gi hub.io/IDNe /
En la siguien e di ección web se encuen a el código de la implemen ación:
h ps://gi hub.com/lo enpaz/IDNe / eleases
56
Bibliog a ía
[1] Inc Amazon Web Se ices. Documen acion de aws ecs. h ps://aws.amazon.com/es/
documen a ion/ecs/. Accessed: 2018-05-09.
[2] Mikael Chudino . Connec c o mysql. h ps://www.codep ojec .com/A icles/
43438/Connec -C- o-MySQL. Accessed: 2018-05-09.
[3] Mikael Chudino . Demonisa ion o a .ne mono applica ion on linux. h p://blog.
chudino .ne /demonisa ion-o -a-ne -mono-applica ion-on-linux/. Accessed:
2018-05-09.
[4] Rubén Fe nández. Tu o ial mongodb y c: Cone-
xión a la base de da os. h p://cha lascylon.com/
2013-10-23- u o ial-mongodb-y-c-conexion-a-la-base-de-da os. Accessed:
2018-05-09.
[5] Ian Fos e , Ca l Kesselman, and S e en Tuecke. “The Ana omy o he G id”. Technical
epo , In o ma ion Science Ins i u e, 05 2001.
[6] Inc. MongoDB. C# ecosys em o mongodb. h ps://docs.mongodb.com/ecosys em/
d i e s/csha p/. Accessed: 2018-05-09.
[7] Smashicons.com. Licencias de los iconos de la aplicación diseñadas po smashicons desde
la icon. h ps://smashicons.com/. Accessed: 2018-05-09.
[8] Bill Wagne , Olp od, OpenLozaliza ionSe ice, and Saisang Cai. C# p og amming gui-
de. h ps://docs.mic oso .com/es-es/do ne /csha p/p og amming-guide/. Ac-
cessed: 2018-05-09.
57
Apéndice A
Ejemplos de mensajes de comunicación
Pa a los ejemplos de mensajes de comunicación, se a a supone el siguien e escena io:
Tenemos un nodo Clien e que ha iniciado sesión con el usua io “Hospi al Jiménez Díaz”.
En la aplicación enemos a es usua ios apa e del an e io mencionado:
Hospi al Ramón y Cajal: con una base de da os mysql llamada “Pacien es” y o a
“En e me os”.
Hospi al Niño Jesús.
Hospi al La Paz.
En los siguien es mensajes se a a pode comp oba como el usua io solici a in o mación
a un ecino de la aplicación.
58
Mensajes 001
Mensaje 001a
Figu a A.1:Ejemplo de mensaje 001a
Mensaje 001b
Figu a A.2:Ejemplo de mensaje 001b
59
Mensaje 002
Figu a A.3:Ejemplo de mensaje 002
Mensajes 003
Mensaje 003 o ma o MySQL
Figu a A.4:Ejemplo de mensaje 003 pa a MySQL
60
Mensaje 003 o ma o MongoDB
Figu a A.5:Ejemplo de mensaje 003 pa a MongoDB
Mensajes 004
Mensaje 004a
Figu a A.6:Ejemplo de mensaje 004a
61
Mensaje 004b
Figu a A.7:Ejemplo de mensaje 004b
62
Mensajes 005
Mensaje 006 pa a MySQL
Figu a A.8:Ejemplo de mensaje 005 pa a MySQL
63
Fiche os de la a qui ec u a en la Nube
Ejemplo iche o neighbou s.xml
Figu a B.5:Ejemplo de iche o de con igu ación neighbou s.xml
Ejemplo iche o ou es.xml
Figu a B.6:Ejemplo de iche o de con igu ación ou es.xml
70
Apéndice C
Diag amas de Clases y de módulos
Figu a C.1:Diag ama de módulos IDNe So wa e
71
Figu a C.2:Diag ama de módulos IDNe Daemon
72
Figu a C.3:Esquema Gene al de la a qui ec u a in e na de los Ga eKeepe
73
Apéndice D
Manual de usua io
La ejecución de la aplicación se ealiza ejecu ando el sc ip launch.sh, el cuál lanza
IDNe So wa e. IDNe Daemon se lanza sólo si no ha sido lanzado en p e ias ejecuciones.
A con inuación, después de la en ana in o ma i a del p oyec o (Figu a D.1), apa ece á el
login de la aplicación (Figu a D.2).
Figu a D.1:Ven ana in o ma i a sob e el p oyec o
74
Figu a D.2:Login de la aplicación
Adicción de una base de da os en la aplicación
Pa a añadi una base de da os en la aplicación, en p ime luga se debe de accede al
diálogo de adicción de una base de da os. El acceso al diálogo mencionado se puede ealiza
median e la ba a de iconos (Figu a D.3) o median e el menú supe io .
En el dialogo (Figu a 7.2) se debe án ellena los campos:
Nomb e de la base de da os
Tipo de base de da os
Usua io (Opcional)
Con aseña (Opcional)
Figu a D.3:Icono de adicción
Como se puede e en la igu a 7.4, se mos a á en el cuad o de mensajes si se ha ealizado
con éxi o la adicción de la base de da os.
75
Bo ado de una base de da os en la aplicación
Pa a el bo ado una base de da os en la aplicación, en p ime luga se debe de accede al
diálogo de bo ado de una base de da os. El acceso al diálogo mencionado se puede ealiza
median e la ba a de iconos (Figu a D.4) o median e el menú supe io .
En el dialogo (Figu a 7.3) se debe án ellena los campos:
Nomb e de la base de da os
Tipo de base de da os
Figu a D.4:Icono de bo ado
Como se puede e en la igu a 7.4, se mos a á en el cuad o de mensajes si se ha ealizado
con éxi o el bo ado de la base de da os.
Ac ualización del es ado de los se ido es de la aplicación
Debido a que las bases de da os añadidas en la aplicación deben de es a disponibles, se
comp ueban si exis en dichas bases de da os en sus de e minados se ido es.
Pulsando en el icono de Ac ualización de la ba a de iconos (Figu a D.5), se pod á ealiza
la ac ualización del es ado de los se ido es, a isando la aplicación al usua io del esul ado
de la acción (Figu a D.6)
Figu a D.5:Icono de ac ualización
Figu a D.6:Mensaje in o ma i o de la ac ualización del es ado de los se ido es
76
Conexión a un ecino
Desde el menú p incipal (Figu a 7.6), selecciona al ecinos de la lis a “Vecinos OV”
si uada en la pa e in e io cen al de la aplicación clickeando dos eces. A con inuación
apa ece á un cuad o de diálogo simila al de la igu a D.7. O a o ma de llega al cuad o
de diálogo es acudiendo a la ba a de he amien as y pulsa en el icono simila a la igu a
D.8, habiendo an e io men e pulsando en el ecino.
Figu a D.7:Diálogo de conexión a un ecino
Figu a D.8:Icono de conexión
A con inuación pulsa en el bo ón “Conexión a la base de da os”, al y como en la igu a
7.7.
Una ez ealizado, apa ece á la in o mación conce nien e a las bases de da os del ecino
en la lis a si uada abajo a la de echa.
En la igu a 7.8 podemos e las bases de da os disponibles del ecino.
Solici ud del esquema de una base de da os
Pa a solici a un esquema de la base de da os, se equie e p e iamen e la conexión con
el ecino que posea dicha base de da os.
(Figu a 7.6), selecciona al ecinos de la lis a “Vecinos OV” si uada en la pa e in e io
cen al de la aplicación clickeando dos eces. A con inuación apa ece á un cuad o de diálogo
simila al de la igu a D.7. O a o ma de llega al cuad o de diálogo es acudiendo a la
77
ba a de he amien as y pulsa en el icono simila a la igu a D.9, habiendo an e io men e
pulsando en el ecino.
Figu a D.9:Icono pa a la solici ud del esquema de la base de da os
A con inuación selecciona “Solici a Esquema de la BBDD” y se mos a á el esquema de
la base de da os eque ida. (Figu a 7.9)
In o mación sob e los mensajes ansmi idos
Tan o los mensajes en iados como ecibidos a a és de la aplicación pueden se is os
g acias a nues a en ana in o ma i a de mensajes.
Pa a el acceso a dicha en ana, solo se iene que acudi al menú supe io y pulsa en
“OV”, pa a a con inuación pulsa en “Mensajes” . Una ez se haya ealizado, apa ece á una
en ana con odos los mensajes que han a a esado la ed, siendo o igen o des ino el p opio
usua io que ha iniciado sesión.
En la igu a D.10 se mues a la en ana de mensajes jun o con un ejemplo de la isuali-
zación de un de e minado mensaje. Es os ejemplos se co esponden con las igu as D.11 y
D.12.
78
Figu a D.10:Ven ana in o ma i a de mensajes
Figu a D.11:In o mación sob e un mensaje ansmi ido: 001a
79