Upload
ismaelasir2015
View
253
Download
4
Embed Size (px)
DESCRIPTION
Autor: Ismael Martínez Agra
Citation preview
Aspectos básicos de la
mensajería instantánea
Sala de chat
Canal
Network Centralita
Mensaje
Openfire
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 2/ 17 30/01/2015
Índice de contenido1.Introducción ...................................................................................................................................................................3
2.Historia ...........................................................................................................................................................................3
3.Protocolos.......................................................................................................................................................................4
3.1.IRC......................................................................................................................................................................... 4
3.1.1.Elementos del protocolo IRC.................................................................................................................. .......5
3.1.2.Funcionamiento del protocolo IRC.......................................................................................................... ......5
3.1.3.Principales comandos de IRC.........................................................................................................................6
3.2. Protocolo MSN.................................................................................................................................................... .7
3.2.1.Elementos del protocolo MSN.......................................................................................................................7
3.2.2.Funcionamiento del protocolo MSN...................................................................................................... .......8
3.3. XMPP.................................................................................................................................................................. ..8
3.3.1.Funcionamiento del protocolo XMPP............................................................................................................8
3.3.2.Compatibilidad con otros protocolos..................................................................................................... .......9
3.3.3.Seguridad en la comunicación XMPP..................................................................................................... .......9
3.4. OSCAR.................................................................................................................................................................10
3.4.1.Elementos del protocolo OSCAR…...............................................................................................................10
3.4.2.Funcionamiento del protocolo OSCAR.................................................................................................... ....10
4.Guias y tutoriales..........................................................................................................................................................11
4.1. Instalación de una sala de chat Kide en Joomla................................................................................................. 11
4.2. Instalación de un servidor de mensajería OpenFire........................................................................................... 13
5.Conclusiones.................................................................................................................................................................17
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 3/ 17 30/01/2015
Índice de ilustracionesIlustración 1: Computadora CTSS ......................................................................................................................................4
Ilustración 2: Smartphone actual ......................................................................................................................................4
Ilustración 3: Sala de chat en oriente................................................................................................................................4
Ilustración 4: Simbología de una red IRC...........................................................................................................................5
Ilustración 5: Arquitectura de una red IRC .......................................................................................................................6
Ilustración 6: Sala de chat IRC ..........................................................................................................................................7
Ilustración 7: Logotipo de MSN .........................................................................................................................................7
Ilustración 8: Arquitectura de una red MSNP ...................................................................................................................8
Ilustración 9: Arquitectura de una red XMPP...................................................................................................................9
Ilustración 10: Comunicación entre protocolos distintos a través de puertas de enlace ................................................9
Ilustración 11: Arquitectura de una red AIM...................................................................................................................11
Ilustración 12: Descarga de "kide chat" desde la web ...................................................................................................11
Ilustración 13: Subiendo los ficheros de Kide a Joomla 3.0............................................................................................12
Ilustración 14: Configuración del módulo de chat "Kide" ...............................................................................................12
Ilustración 15: Kide chat funcionando en el sitio web....................................................................................................13
Ilustración 16: Ventana de estado de Openfire..............................................................................................................13
Ilustración 17: Configuración del servidor Openfire I ....................................................................................................14
Ilustración 18: Configuración del servidor Openfire II ...................................................................................................14
Ilustración 19: Pantalla de acceso a la Consola de Administración Openfire ................................................................15
Ilustración 20: Listado de puertos empleados por el servidor Openfire........................................................................15
Ilustración 21: Listado de usuarios de Openfire.............................................................................................................16
Ilustración 22: Inicio de sesión en Spark ........................................................................................................................16
Ilustración 23: Pantalla principal del cliente Spark.........................................................................................................16
Ilustración 24: Listado de Sesiones activas en el servidor Openfire...............................................................................16
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 4/ 17 30/01/2015
Ilustración 1: Computadora CTSS
1. Introducción
La mensajería instantánea es un conjunto de tecnologías de comunicación utilizadas para transmitir texto entre dos
o mas usuarios a través de Internet a tiempo real.
En este tipo de comunicación, la información es enviada en forma de mensajes de texto de forma casi sincrónica
entre los interlocutores. Lo cual la diferencia del resto de medios de comunicación surgidos hasta ahora en Internet,
como foros o correos electrónicos.
Los clientes de mensajería instantánea se fueron desarrollando para agregar también otras funciones, como el
almacenamiento de conversaciones previas, inicios de sesión con usuario y contraseña, gestión de lista de contactos,
trasferencia de archivos e incluso funciones de video-llamada.
La mensajería instantánea marcó un antes y un después en las comunicaciones de usuarios en todo el mundo y a
continuación repasaremos su historia.
2. Historia
1960: El origen de la mensajería instantánea, utilizada por primera vez en sistemas multiusuario como "CTSS" y
"Multics". Usada para notificar eventos de la maquina y posteriormente para mensajes entre usuarios. 1970: Se crea el protocolo "p2p" que permite a los usuarios enviar y recibir
mensajes privados al conectarse en el mismo ordenador.
1980: Aparece "CB Simulator", el primer servicio de chat en línea.
1984: Surge "Playnet", un servicio en línea para Commodore64 que permite
intercambiar mensajes entre usuarios.
1989: Se diseña el protocolo IRC (Internet Relay Chat), creando un entorno de
comunicación instantánea a través de canales multiusuario.
1990: IRC ayudó a superar el apagón mediático que sufrió por aquel entonces la
Unión Soviética. Muchos desarrolladores de software se percataron del
potencial que tenía IRC y comenzaron a imitar sus funciones.
1996: Aparece "ICQ" un sistema de mensajería instantánea gratuito, el cual sentó las bases de la mayoría de
aplicaciones que surgieron mas adelante.
1997: América On Line (AOL) presenta el programa "AIM", una aplicación de mensajería instantánea que
incluye tanto salas de chat como trasferencia de archivos.
1998: AOL adquiere la compañía que produce el sistema ICQ y patenta la tecnología que permite que los
usuarios de su programa se vean y hablen entre sí cuando están conectados.
1999: Microsoft lanza "MSN Messenger", en sus inicios, esta aplicación permitía intercambiar mensajes y
conversar con los usuarios de AIM así como personalizar y mantener una lista de contactos.
2000: Aparece "Jabber", un protocolo de código abierto que daría lugar en un futuro al protocolo "XMPP",
necesario para realizar una comunicación entre clientes con diferentes protocolos. 2002: Yahoo! y AOL presentan una solución a la mensajería instantánea para móviles que funciona sobre una
interfaz SMS.
2005: Google lanza "Google Talk", cliente que pone su énfasis
en la interpolaridad gracias al protocolo XMPP, además
de estar integrado a Gmail. 2009: Dos ex-empleados de Yahoo! fundan "WhatsApp",
compañía que mas adelante lanzaría una aplicación de
mensajería con el mismo nombre.
2011: Facebook lanza su propia aplicación de mensajería
para móviles. Mas tarde, Blackberry también contaría con
su propia versión.
2012: Windows live Messenger y Skype se combinan en un
mismo servicio.
2013: Google abandona el uso de XMPP, empleando protocolos privativos en su nueva aplicación, "Hangouts".
Ilustración 2: Smartphone actual
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 5/ 17 30/01/2015
En la actualidad, mas de 300 millones de personas utilizan Windows Live Messenger (ahora integrado en Skype). El
40% de los cuales inician sesión a diario, generando mas de 1500 millones de conversaciones y 9000 millones de
mensajes. WhatsApp por su parte trasfiere alrededor
de 10.000 millones de mensajes al día.
El impacto de la mensajería instantánea es tal que se
estima que en 2016 existirán mas de 4,3 BILLONES de
cuentas alrededor del mundo.
Pero todo el éxito recaudado por los diferentes
programas y clientes a lo largo de la historia, no habría
sido posible sin los diferentes protocolos desarrollados
y empleados para hacer realidad la mensajería
instantánea.
3. Protocolos
3.1. IRC Conocido como Internet Relay Chat, IRC (RFC 1459) es un protocolo de comunicación perteneciente a la capa de
aplicación OSI, cuya función es la difusión de mensajes de texto a tiempo real en multiusuario. Este protocolo
emplea el modelo de cliente-servidor, de forma que en un mismo servidor se pueden conectar multitud de
clientes o incluso a otros servidores de forma simultanea, generando una red.
3.1.1. Elementos del protocolo IRC
▪ Servidores: Forman la columna vertebral de la red IRC, proporcionando un punto al que los
clientes pueden conectarse para poder comunicarse y un punto para que a su vez, otro servidor
pueda conectarse y formar así la red.
▪ Clientes: Los elementos conectados al servidor que pueden tomar parte en una comunicación.
Cada cliente se distingue de los demás por un nombre de usuario o “Nickname” de una longitud
máxima de 9 caracteres. Además, al conectarse cada servidor obtiene de sus clientes el
auténtico nombre del host donde se conectan, el nombre de usuario del cliente en ese host y el
nombre del servidor donde el cliente está conectado.
▪ Operadores IRC: Son una clase especial de clientes, encargados de realizar labores de
administración y mantenimiento de la red IRC. Sus principales funciones son: solventar
problemas de enrutamiento, conectar o desconectar servidores e incluso tienen potestad sobre
las conexiones de los clientes; pudiendo cortar la conexión entre cualquier cliente y servidor si se
diera el caso. ▪ Canales: Un canal es un grupo dentro de la red IRC formado por uno o mas clientes. Los
mensajes que generan los clientes son transmitidos por el canal donde se encuentran hasta los
demás miembros del mismo canal
pudiendo atravesar uno o varios servidores
en su camino. Los canales son creados de
forma implícita por los clientes cada vez
que uno de ellos accede a él por primera
vez, y se destruyen en cuanto el último
cliente lo abandona.
▪ Operador de canal: No es mas que el
cliente responsable de la creación de un canal(identificado por una '@' al inicio de su Nickname),
o lo que es lo mismo, el primer cliente que accedió a él. Este hecho le otorga al operador de
canal ciertos poderes que puede realizar para administrar el canal en el que se encuentra, tales
como expulsar a un usuario del canal, invitar a usuarios, exigir contraseñas para poder acceder o
cambiar el tema del canal. De cualquier forma sigue siendo un usuario y está a merced de las
decisiones o medidas que tomen los operadores IRC.
Ilustración 3: Sala de chat en oriente
Ilustración 4: Simbología de una red IRC
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 6/ 17 30/01/2015
▪ Mensaje: Es la información recibida y/o envidada entre cliente y servidor, dichos mensajes
pueden o no generar una respuesta por parte del receptor. El código de caracteres empleado
por los mensajes es USASCII y se ordenan internamente en conjuntos de 8 bits; un mensaje
puede estar compuesto por cualquier número de estos octetos pero, algunos valores son usados
internamente por los servidores como limitadores de mensajes y códigos de control. Cada
mensaje tiene una estructura formada por el prefijo (nick del emisor), los comandos que se
apliquen al mensaje (máximo 15) y el cuerpo del mensaje.
3.1.2. Funcionamiento del protocolo IRC Como se ha comentado anteriormente, el funcionamiento del protocolo IRC se basa en una estructura de
cliente-servidor, mediante la cual los mensajes son transmitidos vía TCP (capa de red OSI) entre los
diferentes nodos. Cuando un cliente desea establecer una conexión, envía una petición al servidor con su
Nickname, versión de cliente y autenticación (si es requerida). El servidor recibe y comprueba esta
información, estableciendo la conexión y devolviendo una respuesta con el MOTD del servidor, una
confirmación del Nickname empleado y el número de usuarios del servidor. Cuando se cierra una conexión,
el cliente genera un mensaje 'quit' ligado al nombre de usuario que solicita la desconexión.
En el caso de una conexión entre servidores, el servidor que solicita la conexión envía un paquete que
contiene el password y el servidor al que se desea conectar. El servidor que lo recibe comprueba que la
autenticación es correcta y devuelve a su vez otro paquete con el password y el nombre del servidor que le
solicitó la petición.
Los usuarios conectados pueden acceder a uno o varios canales o como hemos visto anteriormente, crear el
suyo propio. A la hora de enviar o recibir mensajes el sistema de la red IRC es trasparente al usuario, desde
su punto de vista los mensajes solo viajan de un usuario a otro dentro de un mismo canal sin importar la
cantidad de servidores que dicho mensaje deba atravesar.
Ilustración 5: Arquitectura de una red IRC
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 7/ 17 30/01/2015
3.1.3. Principales comandos de IRC
▪ /server 'servidor' 'puerto': Nos conecta al servidor IRC especificado.
▪ /join #canal: Nos permite acceder al canal especificado.
▪ /invite 'nick' #canal: Invita a otro usuario al canal en el que nos encontremos.
▪ /list: Nos presenta una lista de los canales disponibles, podemos filtrar el número maximo y
mínimo de usuarios con los modificadores '-min' y '-max'.
▪ /msg 'nick': Envía un mensaje privado al usuario especificado.
▪ /part #canal: Abandona el canal especificado.
▪ /quit: Cierra la conexión con el servidor IRC.
▪ /whois 'nick': Muestra información sobre el usuario solicitado.
▪ /kick #canal 'nick': Explulsa al usuario indicado del canal establecido, comando limitado a
operadores.
▪ /topic #canal: Cambia el tema o mensaje explicativo del canal, dicho mensaje se verá cada vez
que los usuarios hagan un '/list'.
▪ /oper 'nick' 'password': Obtiene privilegios de operador.
▪ /kill 'nick' 'comentario: Cierra la conexión entre un cliente y el servidor, limitado a operadores.
▪ /ping 'server1' 'server2': Comando utilizado para comprobar la conexión entre servidores.
3.2. Protocolo MSN
Conocido como “MicroSoft Notification Protocol”, MSNP(capa de aplicación OSI) es un
protocolo de comunicaciones instantáneas propiedad de Microsoft y su principal logro
fue dar vida al que fue el programa de mensajería mas famoso de su tiempo “Windows Live Messenger”. Actualmente en uso gracias a “Skype”, MSNP se caracteriza por ser un
protocolo de estructura cliente-servidor en el que tanto la comunicación, como las
diferentes funciones de los clientes, dependen de distintos tipos servidores con
prestaciones y objetivos claramente diferenciados.
Ilustración 6: Sala de chat IRC
Ilustración 7: Logotipo de MSN
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 8/ 17 30/01/2015
3.2.1. Elementos del protocolo MSN
▪ Cliente: Interfaz entre el usuario y las funciones de los distintos servidores. Una vez autenticado
con éxito, el cliente mostrará al usuario información sobre su perfil, el perfil de los contactos, la
posibilidad de intercambiar mensajes con ellos, transferir archivos, enviar mensajes de audio...
▪ Dispatch Server (Servidor de consignación): Es el primer servidor con el que contacta el cliente
tras iniciarse, su función es la de redirigir al cliente a uno de los servidores de notificación
disponibles para que el cliente pueda iniciar sesión. Cuando el cliente tenga almacenada
previamente la dirección del servidor de notificación, podrá conectarse a él directamente,
pasando por alto al Dispatch Server. Pero en caso de que dicha conexión se pierda, el Dispatch Server le asignará al cliente uno nuevo.
▪ Notification Server (Servidor de notificacion): Este es el servidor principal dentro del protocolo
MSN. Una vez conectado y autenticado, el cliente recibirá información sobre su lista de
contactos y sus respectivos estados. Una de las funciones de este servidor es seguir un registro
del estado del cliente (online, ocupado, ausente...) y trasmitirlo al resto de clientes en los que
aparezca como contacto. Aunque su principal función se manifiesta cuando dos clientes solicitan
iniciar una conversación, es entonces cuando el Notification Server asigna a dichos clientes un
servidor de centralita.
▪ Switchboard Server (Servidor de centralita): Es el servidor encargado de trasmitir los mensajes
entre los clientes conectados a él a través de un servidor de notificación. También se ocupa de
notificar cuando se está escribiendo un mensaje o cuando dicho mensaje ha sido recibido; así
como todo tipo de información inherente al mensaje (fuente, color de letra, emoticonos...)
3.2.2. Funcionamiento del protocolo MSN
El funcionamiento del protocolo MSN depende de la interconexión y las funciones que ejercen los distintos
servidores que componen la red MSN. El cliente al iniciarse, pero antes de iniciar sesión en el servicio, se
conecta al dispatch server o servidor de consignación, es entonces cuando el cliente le envía una serie de
información referente a la versión del protocolo que usa,
la localización de el cliente, el correo electrónico que
usará para iniciar sesión y hasta la versión del sistema
operativo que emplea. Entonces el dispatch server le
asigna al cliente una dirección de notification server o servidor de notificación, desde la que puede hacer login.
Una vez en el notification server, el cliente vuelve a
otorgarle información sobre la versión del protocolo. Es
entonces cuando el cliente envía una solicitud de inicio
de sesión con los datos del usuario (nickname, correo
electrónico y clave de usuario) al notification server, este
analiza y compara la información recibida y si todo es
correcto responderá al cliente con una confirmación de
conexión. Para el usuario, este es el momento en el que
iniciamos sesión y accedemos a la pantalla principal de
“Messenger”, con nuestro estado y lista de contactos.
En el momento en que el cliente desee iniciar una
conversación, el notification server enlaza a ambos
interlocutores a un mismo swtichboard server o servidor de centralita mediante una serie de ordenes que
contendrán la dirección de correo electrónico de los interlocutores, sus nombres de usuario y la dirección
del switchboard server asignado. Una vez conectados, los clientes podrán comenzar a enviar y recibir
mensajes entre ellos, será el switchboard server el encargado de transmitir los mensajes e informar a los
interlocutores del estado de los mismos.
Ilustración 8: Arquitectura de una red MSNP
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 9/ 17 30/01/2015
3.3. XMPP XMPP ( eXtensible Messaging and Presence Protocol) es un protocolo perteneciente a la capa de aplicación OSI,
basado en el estándar XML para el intercambio en tiempo real de mensajes y presencia entre dos puntos en
Internet. La fortaleza de este protocolo anteriormente conocido como “Jabber”, radica en que es de código
abierto, libre, extensible (se puede modificar para agregar funciones personalizadas) y descentralizado. Esto
último significa que cualquiera puede montar su propio servidor de XMPP sin coste alguno. Respecto a la
seguridad, XMPP se apoya en los protocolos TSL (capa de transporte OSI) y SASL (capa de sesión OSI).
3.3.1. Funcionamiento del protocolo XMPP XMPP hace uso de una estructura cliente-servidor descentralizada, no existe un servidor central, por lo
tanto cualquiera puede crear su propio servidor y unirlo a la “Red Jabber”; pero gracias a las funciones del
protocolo XML es posible establecer una
comunicación directa (P2P) entre pares de
clientes.
Cuando enviamos un mensaje a algún contacto,
el cliente se conecta a nuestro servidor XMPP, y
este a su vez se conecta directamente al
servidor XMPP al que pertenece el contacto con
el que deseamos comunicarnos. Esta conexión
se realiza de forma directa entre servidores
mediante TCP, otorgando mucha mas seguridad
y previniendo la suplantación de identidad y el
spam.
Para que todo este proceso de comunicación y
conexión sea posible, tanto clientes como
servidores deben tener una dirección que los
identifique, aquí es cuando entra en juego la
llamada “JabberID” (JID). Cada cliente o servidor
dentro de una Red Jabber posee una JID que lo identifica inequívocamente, pero el éxito de este sistema de
nomenclatura radica en su familiar estructura que separa “usuario” de “dominio” mediante el símbolo “@”,
como si se tratase de una cuenta de correo electrónico (por ejemplo “[email protected]”). Este
sistema fomenta la interpolaridad y ese es otro de los puntos fuertes de XMPP, aunque los clientes sean
programas distintos, gracias a su JID podrán identificarse e intercambiar mensajes dentro de la Red Jabber.
3.3.2. Compatibilidad con otros protocolos Una de las funciones mas llamativas del protocolo XMPP es la posibilidad de poder establecer una conexión
con un cliente que emplee un protocolo completamente distinto y poder comunicarse. Esta proeza se realiza
mediante las puertas de enlace o “gateways”. Estas puertas de enlace operan a nivel de servidor,
proporcionando la información necesaria para poder iniciar sesión en una red que use un protocolo distinto
y realizando una traducción de paquetes para que sean compatibles con dicho protocolo. Por lo tanto, para
un cliente XMPP sería posible conectarse y conversar con clientes en redes de MSN, ICQ, Yahoo! o incluso
mediante el envío de correo electrónico. La única salvedad que posee este sistema es que el cliente debe
suministrar sus datos personales, como usuario y contraseña, para poder iniciar sesión en la red de destino y
esto puede dar lugar a problemas de privacidad y seguridad.
Ilustración 9: Arquitectura de una red XMPP
Ilustración 10: Comunicación entre protocolos distintos a través de puertas de enlace
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 10/ 17 30/01/2015
3.3.3. Seguridad en la comunicación XMPP Como ya se comentó anteriormente, la seguridad en las comunicaciones con el protocolo XMPP se presenta
en forma del protocolo TSL (Transport Layer Security) que opera en la capa de transporte OSI y el protocolo
SASL (Simple Authentication and Security Layer), que se aplica en la capa de sesión OSI.
El protocolo TSL se emplea para establecer una conexión segura entre cliente y servidor, o entre dos
servidores. Este protocolo es capaz de autenticar ambos lados de la comunicación y crear una conexión
cifrada entre ellos. La principal propiedad del protocolo TSL es garantizar la privacidad e integridad de los
datos; este protocolo a su vez está compuesto por dos capas, el TSL Record Protocol y el TSL HandShake Protocol. El primero ofrece seguridad en las conexiones, mientras que el segundo es utilizado para la
encapsulación de varios protocolos de nivel superior.
SASL provee a XMPP de un método generalizado para la autenticación, para ello se aplican una serie de
normas, tales como:
▪ Si la autenticación SASL se da entre los dos servidores, la comunicación no se establecerá hasta
que cada uno se asegure de la autenticidad del DNS del otro.
▪ Si quien quiere autenticarse soporta SASL, deberá incluir la versión del protocolo soportada en la
cabecera del mensaje inicial.
▪ Si el servidor soporta SASL deberá informar al cliente de sus tipos de autenticaciones antes de
realizar la conexión.
▪ Durante la negociación SASL, ninguno de los integrantes en la conexión deberá enviar algún
carácter en blanco como separación entre elementos, ayudando así a asegurar la precisión a
nivel de byte.
Gracias a estas medidas SASL proporciona al protocolo XMPP un sistema robusto y fiable con el fin de evitar
suplantaciones o intromisiones de terceros.
3.4. OSCAR OSCAR (Open System of Communication in Realtime) es un protocolo de desarrollo propietario empleado en
programas como “AIM” o “ICQ”, por lo tanto no ofrece facilidades para conocer su código interno. Su
funcionamiento es similar al del protocolo MSNP, empleando varios servidores con diferentes funciones y al
igual que en el protocolo de Microsoft, los clientes son los que se conectan a los servidores y estos son los
responsables de llevar a cabo la comunicación.
3.4.1. Elementos del protocolo OSCAR
▪ Servidor de Autorización: Este será siempre el primer servidor al que se conecta el cliente, su
función es la de autenticar y ofrecer acceso al servidor principal, denominado “BOSS”. Una vez el
cliente ha sido redirigido a dicho servidor, la conexión con el Servidor de Autorización se cierra.
▪ Servidor BOSS (Basic OSCAR Service Server): Es el servidor principal, empleado para iniciar
sesión en la red de comunicaciones del protocolo. El acceso a estas redes de comunicaciones
dependerá siempre de la información que reciba del Servidor de Autorización. El Servidor BOSS
gestiona y controla todas las necesidades del cliente, como por ejemplo la lista de contactos, el
envío y recepción de mensajes, la trasferencia de ficheros...
▪ Frames: Son conexiones realizadas entre varios servidores BOSS con el fin de establecer una
comunicación entre clientes. La función de los Frames es similar a la de los canales en el
protocolo IRC, pero los Frames están mas orientados a comunicaciones entre pares. El servidor
BOSS también hace uso de los Frames para enviar diferentes mensajes de sistema, como códigos
de error y avisos de desconexión entre otros.
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 11/ 17 30/01/2015
3.4.2. Funcionamiento del protocolo OSCAR Como hemos visto en el apartado anterior, el protocolo OSCAR hace uso de una arquitectura clásica de
cliente-servidor. El primer paso que realiza el cliente al iniciar sesión es conectarse al servidor de
autorización, el cual reconocerá el nombre de cuenta del cliente y le otorgará una clave de autenticación y
acceso al servidor BOSS.
En este momento es cuando el cliente accede a la red de comunicaciones del protocolo y es cuando para él
se ha iniciado sesión en el programa (AIM o ICQ). Una vez establecida la conexión, el cliente solicitará al
servidor BOSS una lista de los contactos almacenados y sus respectivos estados y podrá dar comienzo la
comunicación a través de los citados “Frames”.
4. Guias y tutoriales
4.1. Instalación de una sala de chat Kide en Joomla
Una vez aprendidos los fundamentos y protocolos mas emblemáticos que ofrece la mensajería instantánea,
realizaremos un tutorial para agregar una sala de chat a nuestro sitio web Joomla. Para ello emplearemos el
módulo “Kide”, una forma sencilla y efectiva de poner en marcha nuestra propia sala de chat. El primer paso
consiste en descargar e instalar el módulo Kide, para ello nos dirigiremos a la página web de extensiones de
Joomla, localizamos la extensión “Kide Chat” y la descargamos en nuestro ordenador.
Ilustración 12: Descarga de "kide chat" desde la web
Ilustración 11: Arquitectura de una red AIM
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 12/ 17 30/01/2015
Descomprimimos el archivo descargado y acto seguid accedemos al panel de administración de nuestro sitio
web. Entonces seleccionamos: “Extensiones > Gestor de extensiones > Seleccionar archivo” y seleccionamos
los archivos referentes a la extensión para subirlos e instalarlos en el servidor web. Un detalle a tener en cuenta
es el orden en el que dichos archivos deben ser subidos, primero deberemos seleccionar los referentes a
“joomla 3.0” (nuestra versión de joomla) y subiremos primer o el archivo “mod_kide_j30.zip” seguido del
“com_kide_j30.zip”. Cada vez que seleccionemos uno de estos archivos pulsaremos el botón “Subir e Instalar” y
el servidor joomla se encargará de prepararlos para su uso.
El siguiente paso a seguir es configurar el módulo para ponerlo en funcionamiento, para ello nos dirigiremos a:
“Extensiones > Gestor de módulos” y seleccionaremos el “mod_kide” recién instalado, accediendo así a la
pantalla de configuración. Kide es un módulo bastante sencillo de configurar, simplemente deberemos cambiar
su estado a “Publicado”, ocultar el título y elegir la posición en la que deseamos que aparezca la ventana de chat
cuando visitamos la web. En resumen, la configuración quedaría tal y como aparece en la siguiente captura:
Ilustración 14: Configuración del módulo de chat "Kide"
Ilustración 13: Subiendo los ficheros de Kide a Joomla 3.0
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 13/ 17 30/01/2015
Finalmente y tras haber guardado los cambios, accedemos a nuestra web, esta vez como visitante y
comprobaremos que nuestro nuevo chat aparecerá instalado, configurado y listo para poder usarse.
4.2. Instalación de un servidor de mensajería OpenFire Openfire es un sistema de mensajería instantánea programado en java que emplea el protocolo XMPP. Es de
código abierto, gratuito y de instalación sencilla, brindando así la posibilidad de que cualquiera pueda instalar y
configurar su propio servidor de mensajería instantánea.
El primer paso para obtener nuestro servidor es bajarnos el instalador de Openfire desde su página web:
www.igniteraltime.org. Una vez descargado seguimos el sencillo asistente de instalación hasta que finalmente
accedemos a la ventana de estado de Openfire, la cual nos permitirá iniciar la configuración inicial del servidor.
Ilustración 15: Kide chat funcionando en el sitio web
Ilustración 16: Ventana de estado de Openfire
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 14/ 17 30/01/2015
Openfire se configura desde una intuitiva interfaz web a la que también podemos acceder por el puerto “9090”.
El primer paso será elegir el idioma por defecto para el servidor, acto seguido estableceremos el domino al que
el servidor formará parte, en nuestro caso será “localhost”.
En la siguiente ventana estableceremos el origen de datos para el servidor, seleccionaremos “Conexión estándar”, lo cual nos permitirá definir nuestra propia base de datos para que el servidor la emplee en sus
funciones. La siguiente ventana consiste efectivamente en definir esa base de datos, para nuestro caso,
contando que tenemos el servicio instalado, emplearemos una base de datos de “Mysql” que debemos haber
creado previamente. Para este caso, hemos diseñado una base de datos denominada “openfire”. Como
dirección de la base de datos ingresamos “localhost” y “openfire” en los campos correspondientes, al igual que
el usuario “root”, tal y como se aprecia en la captura de pantalla.
Ilustración 17: Configuración del servidor Openfire I
Ilustración 18: Configuración del servidor Openfire II
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 15/ 17 30/01/2015
A continuación deberemos establecer los parámetros de la cuenta de administración: nombre de usuario, correo
electrónico y contraseña. Esta cuenta será la encargada de administrar las funciones del servidor una vez esté
configurado. Si hemos seguido correctamente los pasos del
asistente de configuración, deberemos encontrarnos ante la
pantalla de acceso a la consola de administración de
Openfire.
Ingresamos el ID del administrador que creamos
anteriormente y su respectiva contraseña y accedemos a la
pantalla principal del servidor Openfire. Lo que
principalmente llama la atención de esta pantalla es un
listado de los diferentes puertos de comunicaciones que
emplea el servidor, siendo el más importante de ellos el
puerto “5222” que es el que deberemos abrir en el router para que las aplicaciones cliente puedan conectarse al
servidor.
Ahora debemos dar de alta a los usuarios que deseamos que se conecten a nuestro servidor, para ello nos dirigimos
a la pestaña “Usuarios/Grupos”, seleccionamos “Crear nuevo usuario” e ingresamos los datos correspondientes al
usuario que queremos dar de alta. Una vez aceptados los cambios podemos observar que el nuevo usuario aparece
en el listado junto al usuario “admin”; dicho listado nos permite editar los perfiles de los usuarios, administrar sus
diversas opciones e incluso eliminarlos.
Ilustración 19: Pantalla de acceso a la Consola de
Administración Openfire
Ilustración 20: Listado de puertos empleados por el servidor Openfire
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 16/ 17 30/01/2015
Llegados a este punto ya deberíamos ser capaces de ofrecer servicio a nuestros clientes,
para comprobarlo debemos descargar el programa “Spark”, que no es mas que un
cliente de mensajería para nuestro servidor Openfire. Pero antes de comenzar a recibir
conexiones, debemos garantizar la identificación de nuestro servidor a través de
Internet (contar con un servicio de DNS dinámico como “NoIp” será suficiente).
Una vez instalado e iniciado nuestro cliente Spark debemos ingresar los datos del
usuario que hemos creado previamente en el servidor, así como la dirección del propio
servidor. Si todo tiene éxito deberíamos poder conectarnos y acceder a la pantalla
principal y la lista de contactos de Openfire.
Nuestro servidor de mensajería instantánea Openfire, también ofrece servicios de
seguimiento de aquellos usuarios que están online. Si accedemos a la ventana del
servidor mientras el cliente Spark está conectado y seleccionamos la pestaña
“Sesiones”, obtendremos un listado con información relevante sobre nuestros usuarios,
su estado actual e incluso la dirección IP desde la que acceden al servidor.
Como hemos podido comprobar, Openfire es una solución sencilla, gratuita y eficiente
de contar con nuestro propio servidor de mensajería instantánea; el cual cuenta con
muchas más funciones de las que hemos podido contemplar durante esta guía de
instalación.
Ilustración 21: Listado de usuarios de Openfire
Ilustración 22: Inicio de sesión en
Spark
Ilustración 24: Pantalla principal
del cliente Spark
Ilustración 23: Listado de Sesiones activas en el servidor Openfire
Mensajería instantánea Curso 2014/2015 IES Las Espeñetas
Ismael Martínez Agra 17/ 17 30/01/2015
5. Conclusiones
A lo largo de este documento, hemos podido descubrir que la mensajería instantánea lleva existiendo desde hace
mas tiempo de lo que pensábamos. Desde los titánicos sistemas informáticos de los años 70 hasta los diminutos
smartphones actuales, pasando multitud de variantes y equipos de sobremesa. La historia de la mensajería
instantánea se sigue escribiendo y continuará evolucionando en el futuro.
El protocolo IRC ayudó mucho inicialmente a esta expansión, permitiendo la comunicación de múltiples usuarios
gracias a sus canales y salas de chat y la red de servidores en las que opera. Dicha red es el núcleo del servicio, ya
que permite comunicar multitud de nodos de una forma completamente transparente para el usuario.
MSNP fue otro protocolo que causó un gran impacto en las comunicaciones del usuario medio, el protocolo
empleado por los programas “Messenger” y “Skype” abrieron el mundo de las comunicaciones instantáneas al gran
público gracias a su simplicidad de uso y su interfaz amigable. Internamente este servidor funciona mediante una red
de servidores especializados en diversas funciones (Notification Server, Dispatch Server...), se podría decir que
emplea un sistema de delegación de tareas, en el cual cada servidor cumple un función específica.
Si los protocolos anteriores hacen referencia al pasado y al presente, XMPP es un protocolo que apunta hacia el
futuro de las comunicaciones. Este protocolo de código abierto aboga por la interpolaridad y la interconexión. Dicho
de otro modo, da igual que cliente uses para comunicarte, mientras la comunicación sea realizada mediante XMPP.
Existe una gran variedad de clientes; lamentablemente el uso de este protocolo no esta muy extendido, aunque sea
usado por una de las plataformas de mensajería instantánea mas importante de los últimos años: “Whatsapp”.
En contraposición al anteriormente mencionado XMPP encontramos a OSCAR, el protocolo propietario de AIM e
ICQ. La estructura de este protocolo es similar a la empleada por el protocolo de Microsoft, empleando una
estructura diferenciada de servidores. Lamentablemente las aplicaciones que emplean MSNP y XMPP son cada vez
mas comunes, relegando al protocolo OSCAR a una posición de minoría y muy probablemente al desuso.
Este documento también aporta un par de tutoriales que nos han permitido adentrarnos en el mundo de la
mensajería instantánea de forma práctica. El primero de ellos consistió en la puesta en marcha de un chat “Kide” en
nuestra página web gracias a los módulos de Joomla. Mientras que el segundo tutorial abordó la puesta en marcha
de nuestro propio servidor de mensajería instantánea Openfire, el cual emplea el protocolo XMPP. Mediante unos
sencillos pasos fuimos capaces de instalar, configurar y comprobar el funcionamiento de un auténtico servidor.
La mensajería instantánea existe desde antes incluso que la propia Internet, pero no fue hasta la aparición de salas
de chat y aplicaciones como “Messenger” o “Whatsapp” que este servicio saltó a la popularidad. A día de hoy
cualquiera que tenga acceso a un ordenador o un smartphone puede disfrutar de una conversación fluida e
“instantánea” con sus amigos y familiares gracias a estos programas, en cierto sentido han pasado a formar parte de
nuestra vida diaria. Pero la existencia de tantas aplicaciones y tantas redes de mensajería también acarrea sus
problemas. En más de una ocasión los usuarios se ven forzados a emplear más de un programa de mensajería, ya
que sus amigos o familiares pueden emplear programas distintos, los cuales funcionan con protocolos distintos. La
solución a este problema sería que todos los programas de mensajería instantánea que usamos actualmente
convergiesen en una misma y única red, usando un mismo protocolo libre, extensible y que permitiese la
interpolaridad entre programas; dicho protocolo ya existe, se llama XMPP. Como hemos podido observar a lo largo
de este documento, XMPP permitiría a todos los usuarios comunicarse entre ellos independientemente del
programa que deseen usar, quizás no sea ese el auténtico futuro de la mensajería instantánea , pero sería el futuro
que debería tomar.