Comunicación Cliente

14
INTRODUCCIÓN La comunicación a través de una red de ordenadores es una tarea compleja Resolver este problema de comunicación construyendo un único módulo monolítico de comunicación no es el diseño más adecuado Formatos de representación de datos de ambas máquinas puede ser diferentes Fiabilidad de la red de comunicaciones y control de errores naturaleza de la red de interconexión Control del flujo de transmisión, etc Se sigue un enfoque de diseño por capas, pudiéndose hablar por tanto de una arquitectura o pila de protocolos Cada capa utiliza servicios (funciones) de la capa inferior y ofrece servicios a la capa superior 1

description

Fiabilidad de la red de comunicaciones y control de errores  naturaleza de la red de interconexión

Transcript of Comunicación Cliente

Page 1: Comunicación Cliente

INTRODUCCIÓN

La comunicación a través de una red de ordenadores es una tarea compleja

Resolver este problema de comunicación construyendo un único módulo monolítico de comunicación no es el diseño más adecuado

Formatos de representación de datos de ambas máquinas puede ser diferentes

Fiabilidad de la red de comunicaciones y control de errores naturaleza de la red de interconexión

Control del flujo de transmisión, etc

Se sigue un enfoque de diseño por capas, pudiéndose hablar por tanto de una arquitectura o pila de protocolos Cada capa utiliza servicios (funciones) de la capa inferior y ofrece servicios a la capa superior

1

Page 2: Comunicación Cliente

COMUNICACIÓN CLIENTE – SERVIDOR

Cliente-Servidor es el modelo que actualmente domina el ámbito de comunicación, ya que descentraliza los procesos y los recursos. Es un Sistema donde el cliente es una aplicación, en un equipo, que solicita un determinado servicio y existe un software, en otro equipo, que lo proporciona.

Los servicios pueden ser;

a) Ejecución de un programa.

b) Acceso a una Base de Datos.

c) Acceso a un dispositivo de hardware.

Solo se requiere un medio físico de comunicación entre las máquinas y dependerá de a la naturaleza de este medio la vialidad del sistema.

Un servidor es una aplicación que ofrece un servicio a usuarios de Internet; un cliente es el que pide ese servicio. Una aplicación consta de una parte de servidor y una de cliente, que se pueden ejecutar en el mismo o en diferentes sistemas.

Los usuarios invocan la parte cliente de la aplicación, que construye una solicitud para ese servicio y se la envía al servidor de la aplicación que usa TCP/IP como transporte.

El servidor es un programa que recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una respuesta. Generalmente un servidor puede tratar múltiples peticiones (múltiples clientes) al mismo tiempo.

Algunos servidores esperan las solicitudes en puertos bien conocidos de modo que sus clientes saben a qué zócalo IP deben dirigir sus peticiones. El cliente emplea un puerto arbitrario para comunicarse. Los clientes que se quieren comunicar con un servidor que no usa un puerto bien conocido tienen otro mecanismo para saber a qué puerto dirigirse. Este mecanismo podría usar un servicio de registro como Portmap, que utiliza un puerto bien conocido.

2

Page 3: Comunicación Cliente

Los clientes identifican el servidor que los administra por el nombre del servidor o la dirección IP. Durante la instalación del servidor de Trend Micro Security (para Mac), el instalador identifica las direcciones IP de los equipos servidor y estas se muestran a continuación en la pantalla Comunicación cliente/servidor de la consola Web.

El servidor se comunica con los clientes a través del puerto de escucha que, de forma predeterminada, es el puerto 61617.

Si cambia el número del puerto, asegúrese de que no está en uso en ese momento a fin de evitar conflictos con otras aplicaciones y problemas de comunicación entre cliente y servidor.

Si el equipo servidor tiene un cortafuegos activo, asegúrese de que el cortafuegos no bloquea la comunicación entre cliente y servidor a través del puerto de escucha. Por ejemplo, si el cortafuego del cliente de OfficeScan se ha activado en el equipo, añada una excepción de política que permita el tráfico entrante y saliente a través del puerto de escucha.

Si necesita configurar las opciones de nombre de servidor/dirección IP, puerto de escucha y servidor proxy, configúrelas antes de instalar los clientes. Si ha instalado clientes y después ha cambiado alguna de estas configuraciones, los clientes perderán la conexión con el servidor y la única manera de restablecer la conexión será volver a implementar los clientes.

Para configurar la comunicación cliente/servidor:

ADMINISTRACIÓN > COMUNICACIÓN CLIENTE-SERVIDOR

1. Escriba las direcciones IP o el nombre del servidor, y el puerto de escucha.

o Si hay múltiples entradas en el campo Nombre del servidor (o Direcciones IP), el cliente selecciona una entrada de forma aleatoria. Asegúrese de que se puede establecer la conexión cliente-servidor utilizando todas las entradas.

2. Seleccione si los clientes van a conectarse al servidor a través de un servidor proxy.

a. Seleccione el protocolo del servidor proxy.

b. Escriba la dirección IP o el nombre del servidor proxy, y el número de puerto.

c. Si el servidor proxy requiere autenticación, escriba el nombre de usuario y la contraseña en los campos correspondientes.

3. Haga clic en Guardar.4. Siga los pasos que se describen a continuación cuando se le solicite que reinicie

los servicios de Trend Micro Security para que surtan efecto los cambios realizados en la configuración:

a. Vaya a la <carpeta de instalación del servidor>.

b. Haga doble clic en restart_TMSM.bat. Espere hasta que se reinicien todos los servicios.

3

Page 4: Comunicación Cliente

 

COMUNICACIÓN CON LLAMADA A PROCEDIMIENTO REMOTO (RPC)

Creado por Bireel & Nelson en 1984. Permiten a los programas llamar procedimientos localizados en otras

máquinas. Un proceso X en una máquina A, puede llamar un procedimiento localizado

en una máquina B. Información puede llevarse del proceso invocador al invocado dentro de los

parámetros. Ningún mensaje u operación de E/S es visible para el programador. Problemas a resolver: ¾ Procedimiento invocador e invocado se ejecutan

en diferentes máquinas, i.e. diferentes direcciones y posiblemente diferentes arquitecturas. ¾ Ambas máquinas pueden fallar.

Otro paso en el diseño de un sistema operativo distribuido plantea las llamadas a procedimientos remotos o RPCs. Los RPC amplían la llamada local a procedimientos, y los generalizan a una llamada a un procedimiento localizado en cualquier lugar de todo el sistema distribuido. En un sistema distribuido no se debería distinguir entre llamadas locales y RPCs, lo que favorece en gran medida la transparencia del sistema.

Una de las dificultades más evidentes a las que se enfrenta el RPC es el formato de los parámetros de los procedimientos. Un ejemplo es la posibilidad de que en un sistema distribuido formado por diferentes tipos de ordenadores, un ordenador con formato little endian llamara a un procedimiento de otro ordenador con formato big endian, etc. Este problema se podría solucionar si tenemos en cuenta que ambos programas conocen el tipo de datos de los parámetros, o estableciendo un estándar en el formato de los parámetros, de forma que sea usado de forma única.

4

Page 5: Comunicación Cliente

Por último queda por solucionar la tolerancia a fallos. Una llamada a un procedimiento remoto puede fallar por motivos que antes no existían, como la pérdida de mensajes o el fallo del cliente o del servidor durante la ejecución del procedimiento.

La limitación del RPC más clara en los sistemas distribuidos es que no permite enviar una solicitud y recibir respuesta de varias fuentes a la vez, sino que la comunicación se realiza únicamente entre dos procesos. Por motivos de tolerancia a fallos, bloqueos, u otros, sería interesante poder tratar la comunicación en grupo.

Posibles Fallas en RPC

1. El cliente es incapaz de localizar al servidor.

2. El mensaje de petición del cliente al servidor se perdió.

3. El mensaje de respuesta del servidor al cliente se perdió.

4. El servidor falló (crashes) después de recibir una petición.

5. El cliente falló (crashes) después de enviar una petición.

5

Page 6: Comunicación Cliente

COMUNICACIÓN EN GRUPO

Un grupo es una colección de procesos que actúan juntos en cierto sistema o alguna forma determinada por el usuario.

La comunicación se clasifica de acuerdo al número de usuarios a los que se le a enviado el mensaje.

BROADCAST O DIFUSION FORZADA un nodo emite todos los escuchan y solo contesta a quien va dirigido el mensaje

MULTICAST se entrega el msj a todos los anfitriones HOST que están compuestos de ciertas características.

UNICAST o POINTCAST un nodo emite y otro recibe, solo escucha aquel a quien se dirigió el msj.

Una clasificación adicional es la realizada en base a grupos

LISTAS DE DESTINARIOS se tiene una lista de aquellos a los que se les enviara el mensaje.

IDENTIFICADOR DE GRUPO se forman grupos y el msj es dirigido solo a los miembros de ese grupo.

PREDICADOR DE PERTENENCIA se envía y otro recibe, solo escucha aquel a quien se dirigió el mensaje.

La propiedad fundamental de todos los grupos es que cuando un mensaje se envía al propio grupo, todos los miembros del grupo lo reciben.

Se trata de una comunicación uno - muchos (un emisor, muchos receptores), que se distingue de la comunicación puntual o punto a punto (un emisor, un receptor).

Los grupos son dinámicos: 

Se pueden crear y destruir.  Un proceso se puede unir a un grupo o dejar a otro  Un proceso puede ser miembro de varios grupos a la vez.

La implantación de la comunicación en grupo depende en gran medida del hardware:

En ciertas redes es posible crear una dirección especial de red a la que pueden escuchar varias máquinas:

6

Page 7: Comunicación Cliente

Cuando se envía un mensaje a una de esas direcciones se lo entrega automáticamente a todas las máquinas que escuchan a esa dirección.

Esta técnica se denomina multitransmisión. Cada grupo debe tener una dirección de multitransmisión distinta.

Las redes que no soportan multitransmisión operan con transmisión simple:

Significa que los paquetes que tienen cierta dirección se entregan a todas las máquinas.

Se puede utilizar para implantar los grupos, pero es menos eficiente que la multitransmisión.

Cada máquina debe verificar, mediante su software, si el paquete va dirigido a ella:En caso negativo se descarta, pero para analizarlo se generó una Interrupción y se dedicó ciclos de CPU.

Otra solución es implantar la comunicación en grupo mediante latransmisión por parte del emisor de paquetes individuales a cada uno de losmiembros del grupo:

En vez de un paquete se precisan “n” paquetes. Es menos eficiente que las soluciones anteriores. Es una solución válida particularmente con grupos pequeños. El envío de un mensaje de un emisor a un único receptor se llama

unitransmisión.

7

Page 8: Comunicación Cliente

TOLERANCIA A FALLOS

Que el sistema de archivos sea tolerante a fallos implica que el sistema debe guardar varias copias del mismo archivo en distintos ordenadores para garantizar la disponibilidad en caso de fallo del servidor original. Además, se ha de aplicar un algoritmo que nos permita mantener todas las copias actualizadas de forma consistente, o un método alternativo que sólo nos permita acceder al archivo actualizado, como invalidar el resto de copias cuando en cualquiera de ellas se vaya a realizar una operación de escritura. El uso de memorias cache para agilizar el acceso a los archivos también es recomendable, pero este caso requiere analizar con especial atención la consistencia del sistema.

Para que un sistema distribuido pueda ser tolerante a fallos, se ocupan las siguientes características: Disponibilidad Confiabilidad Seguridad Mantenimiento.

DisponibilidadEs definida por la propiedad de que el sistema está listo para ser usado, en otras palabras se entiende que el sistema está operando correctamente. ConfiabilidadUn sistema con alta disponibilidad es aquel que puede trabajar en cualquier tiempo. SeguridadSe refiere a la propiedad de que el sistema puede trabajar continuamente sin fallos, en contraste a la disponibilidad, la confiabilidad se refiere en lapsos de

8

Page 9: Comunicación Cliente

tiempo, en vez de momentos instantáneos. Un sistema con alta confiabilidad, es aquel que funciona por largos periodos de tiempo sin fallo alguno.Mantenimiento Se refiere a la situación en la que un sistema falla temporalmente, no pasa nada grave, ejemplo son algunos sistemas que controlan plantas nucleares, si algunos de esos sistemas fallan, pueden traer consecuencias catastróficas. Se refiere a que tan rápido puede ser reparado un sistema. Un sistema con alto grado de mantenimiento es aquel, que puede evitar o reparar fallas automáticamente.

CLASIFICACIÓN DE LAS FALLAS

FALLA DE PROCESOSAquí, la ejecución arroja un resultado incorrecto, los procesos provocan que el sistema se desvíe de las especificaciones y el proceso puede suspender su progreso. Por ejemplo interbloqueos, tiempo expirado, violación de protección, error en la entrada provista por el usuario, violaciones de consistencia.

FALLA DEL SISTEMAEs cuando el procesador falla en la ejecución. Esto es causado por errores de software y problemas de hardware, como por ejemplo errores de CPU, falla en la memoria principal, falla en el bus, falla de energía, etc.

Además una falla del sistema se puede clasificar como sigue:

Falla de amnesia: ocurre cuando se reinicia el sistema en un estado predefinido, y no depende del estado del sistema antes de la falla. No se conoce el estado que tenía el sistema antes de la falla. 

Falla de amnesia parcial: ocurre cuando se reinicia el sistema y se conoce parte

del estado que presentaba antes de ocurrir la falla.  Falla de pausa: ocurre cuando el sistema se reinicia al mismo estado en que se

encontraba antes de la falla. Falla de aborto (halting): ocurre cuando un sistema nunca se reinicializa. Falla en medio de almacenamiento secundario: es cuando los datos almacenados

no pueden ser accedido. Normalmente es provocada por error de paridad, daño a las cabezas lectoras, partículas de polvo depositadas en el medio. En caso de que

9

Page 10: Comunicación Cliente

ocurra esta falla, sus contenidos se encuentran alterados y deberían ser reconstruidos desde una versión del archivo.

Falla en los medios de comunicación: ocurre cuando un sitio no puede comunicarse con otro sitio operacional en la red. Esto es ocasionado por la falla del nodo de conmutación y/o por los enlaces de comunicación del sistema.

CONCLUSION

Dependiendo del sistema que se deba implementar, un modelo podrá ser válido para lograr unos objetivos y un cambio de los objetivos puede hacer válido otro modelo. En todos los paradigmas existe un objetivo común de ocultar, o facilitar, al usuario los detalles de las comunicaciones. Sin embargo, a medida que los sistemas se hacen más complejos, además de ocultarse los detalles del mismo, se adaptan a los requerimientos de programación del sistema.

10

Page 11: Comunicación Cliente

BIBLIOGRAFIA

http://neo.lcc.uma.es/evirtual/cdd/tutorial/aplicacion/cliente-servidor.html

http://cesistemas2.blogspot.mx/2012/05/211-comunicacion-cliente-servidor.html

http://www.tamps.cinvestav.mx/~vjsosa/clases/sd/RPC_ppt.pdf

11