Ejemplo 2
Retomemos de nuevo el escenario del hospital con el doctor PyC y nos vamos a centrar
en un ambiente P2P.
El doctor en este caso hará el papel de receptor y recibe por megafonía un mensaje
(archivo) pero la persona que está emitiendo el mensaje por el megáfono es muy
exigente y obliga al doctor que confirme la correcta recepción de cada palabra que se
emitió en el mensaje.
El mensaje que se está emitiendo emplea el siguiente contenido: Preséntese
inmediatamente al quirófano.
-La persona del megáfono emite la primera palabra (primera parte del archivo)
PRESENTESE
-El pobre doctor va corriendo a un teléfono, llama al tipo del megáfono y le dice que ha
recibido correctamente la palabra (fragmento del archivo) PRESENTESE
- La persona del megáfono emite la primera palabra (primera parte del archivo)
INMEDIATAMENTE
- El pobre doctor va corriendo a un teléfono, llama al tipo del megáfono y le dice que ha
recibido correctamente la palabra (fragmento del archivo) INMEDIATAMENTE
-Y así seguiremos hasta que el doctor confirme la llegada de la última palabra
QUIROFANO en ese momento el doctor (receptor) une todas las palabras (o todos los
fragmentos del archivo) y obtiene el mensaje (archivo) PRESENTESE
INMEDIATAMENTE EN EL QUIROFANO.
Como podemos ver la comunicación es 100% segura, el doctor confirma la llegada de
cada palabra, pero se ha invertido mucho tiempo y muchas llamaditas de confirmación.
Ejemplo 3
Doctor en un sistema UDP en un mundo P2P
En este caso el doctor PyC recibe el mensaje por megafonía pero la persona del
megáfono (emisor) es muy despreocupada y no le importa si el doctor PyC reciba o no el
mensaje.
-La persona del megáfono emite la primera palabra (primera parte del archivo)
PRESENTESE
-El doctor en teoría recibe la primera palabra (primera parte del fragmento del archivo)
PRESENTESE
- La persona del megáfono emite la segunda palabra (Segunda parte del fragmento del
archivo) INMEDIATAMENTE
El doctor en teoría recibe la primera palabra (primera parte del fragmento del archivo)
INMEDIATAMENTE
-Seguiríamos así hasta que el doctor en teoría recibe la última palabra (ultimo
fragmento del archivo) y en ese momento el doctor uniría todas las palabras (fragmentos
del archivo) obteniendo el mensaje completo (archivo).como podemos ver la
comunicación es mucho más rápida (nos ahorramos las confirmaciones) pero, si el doctor
estaba tomándose un café quizá prefiere acabárselo antes de acudir al quirófano (y
seguro que su paciente muere desangrado).
En el caso de la emisión de video por internet en tiempo real ya hemos dicho que no nos
importaba perder unos cuantos frames, pero en el caso de P2P queremos todos los
trocitos del archivo, y queremos que el doctor PyC no deje morir a su paciente ¿cómo lo
solucionamos si no queremos utilizar el sistema TCP?
Como podemos observar tenemos un problema: no queremos sobrecargar la red
telefónica del hospital confirmando cada palabra que recibimos, pero queremos
asegurarnos de reci9bir los mensajes completitos. Muy bien pues en este caso tendremos
que dotar a los intervinientes (la persona del megáfono y el doctor un poquito de
inteligencia)
A cada uno se le asociara un software se reúnen y después de un buen rato discutiendo
el problema llegan a una solución y deciden utilizar el protocolo UDP, pero cada
palabra emitida estará procedida de un número que la identifique (número de control).
Aquí viene lo interesante según lo pactado en cada palabra que se transmita debe lleva
un número, entonces seria de esta manera (uno-preséntese, dos-inmediatamente, tres-en
cuatro- el cinco-quirófano)
-La persona del megáfono emite la primera palabra (primera parte del archivo) UNO-
PRESENTESE
-El doctor en teoría recibe la primera palabra (primera parte del fragmento del archivo)
UNO-PRESENTESE
- La persona del megáfono emite la segunda palabra (Segunda parte del fragmento del
archivo) DOS-INMEDIATAMENTE
El doctor en teoría recibe la primera palabra (primera parte del fragmento del archivo)
DOS-INMEDIATAMENTE
-Seguiríamos así hasta que el doctor en teoría reciba la última palabra del mensaje. En
ese momento el software que tiene asociado el doctor comprobaría que tiene en su poder
las palabras y que no falta ninguna de ellas (gracias a este sistema se puede comprobar
ya que cada palabra tiene un numero identificativo) ¿pero cuál sería la ventaja de este
sistema? En caso que de que faltara alguna palabra el doctor PyC llamaría por teléfono
al emisor pidiéndole únicamente la palabra que falta. Como podemos ver, la conexión
sigue siendo UDP y estamos cargando un poco la red, pero gracias a que hemos dotado a
la persona del megáfono y al doctor con un software cada uno de ellos hemos conseguido
seguridad en la comunicación.
Nota: Una cosa es el tipo de protocolo que estamos utilizando para nuestras conexiones
(TCP o UDP e incluso ambas a la vez)y sus consecuencias sobre la red, pero una cosa
muy distinta es como programamos el software para mejorar el rendimiento de dichas
conexiones
Hemos visto que las carencias de seguridad del protocolo UDP (capa de transporte) han
sido salvadas gracias a como hemos programado el software (nivel de aplicación)