17
Aspectos básicos de la mensajería instantánea Sala de chat Canal Network Centralita Mensaje Openfire

Aspectos básicos de la mensajería instantánea

Embed Size (px)

DESCRIPTION

Autor: Ismael Martínez Agra

Citation preview

Page 1: Aspectos básicos de la mensajería instantánea

Aspectos básicos de la

mensajería instantánea

Sala de chat

Canal

Network Centralita

Mensaje

Openfire

Page 2: Aspectos básicos de la mensajería instantánea

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

Page 3: Aspectos básicos de la mensajería instantánea

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

Page 4: Aspectos básicos de la mensajería instantánea

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

Page 5: Aspectos básicos de la mensajería instantánea

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

Page 6: Aspectos básicos de la mensajería instantánea

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

Page 7: Aspectos básicos de la mensajería instantánea

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

Page 8: Aspectos básicos de la mensajería instantánea

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

Page 9: Aspectos básicos de la mensajería instantánea

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

Page 10: Aspectos básicos de la mensajería instantánea

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.

Page 11: Aspectos básicos de la mensajería instantánea

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

Page 12: Aspectos básicos de la mensajería instantánea

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

Page 13: Aspectos básicos de la mensajería instantánea

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

Page 14: Aspectos básicos de la mensajería instantánea

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

Page 15: Aspectos básicos de la mensajería instantánea

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

Page 16: Aspectos básicos de la mensajería instantánea

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

Page 17: Aspectos básicos de la mensajería instantánea

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.