SERVICIOS DE COMUNICACIÓN

15
SERVICIOS DE COMUNICACIÓN Servicios y programas destinados a transmitir información por medio de diversos métodos, tales como el teléfono, el fax, el correo terrestre y aéreo, el correo electrónico y otros sistemas informáticos (servicios de telefonía, servicios de teletipos, servicios de teletexto, proveedores de acceso a Internet), incluyendo a aquellas personas que proporcionan estos servicios. RPC ( Llamada a Procedimiento Remoto ) El mecanismo general para las aplicaciones cliente-servidor se proporciona por el paquete Remote Procedure Call (RPC). RPC fue desarrollado por Sun Microsystems y es una colección de herramientas y funciones de biblioteca. Aplicaciones importantes construidas sobre RPC son NIS, Sistema de Información de Red y NFS, Sistema de Ficheros de Red Un servidor RPC consiste en una colección de procedimientos que un cliente puede solicitar por el envío de una petición RPC al servidor junto con los parámetros del procedimiento. El servidor invocará el procedimiento indicado en nombre del cliente, entregando el valor de retorno, si hay alguno. Para ser independiente de la máquina, todos los datos intercambiados entre el cliente y el servidor se convierten al formato External Data Representation (XDR) por el emisor, y son reconvertidos a la representación local por el receptor. RPC confía en sockets estandard UDP y TCP para transportar los datos en formato XDR hacia el host remoto. Sun amablemente a puesto RPC en el dominio público; se describe en una serie de RFCs. A veces las mejoras en una aplicación RPC introducen cambios incompatibles con la interfaz de llamada a procedimientos. Por supuesto, simplemente cambiando el servidor hará que no funcionen todas las aplicaciones que todavía esperen el comportamiento original. Por lo tanto, los programas RPC tienen números de versión asignados, casi siempre empezando por 1, y con cada nueva versión de la interfaz RPC, este contador se incrementa. A menudo, un servidor puede ofrecer varias versiones simultáneamente; entonces los clientes indican a través del número de versión en la petición que implementación del servicio quieren usar. La comunicación entre servidores RPC y clientes es un tanto peculiar. Un servidor RPC ofrece una o más colecciones de procedimientos; cada conjunto se llama un programa y es idenficado de forma única por un número de programa. Una lista que relaciona nombres de servicio con números de programa se mantiene usualmente en /etc/rpc, un extracto del cual se ve en Ejemplo 12-4. En redes TCP/IP , los autores de RPC se enfrentan al problema del mapeo de números de programa con servicios genéricos de red. Diseñaron cada servidor para proveer ambos puertos TCP y UDP para cada programa y cada versión. Generalmente, las aplicaciones RPC usan UDP cuando envían datos, y vuelven a TCP sólo cuando los datos a transferir no caben en un solo datagrama UDP. Por supuesto, los programas cliente necesitan averiguar a qué puerto se refiere un número de programa. Usar un fichero de configuración para esto podría ser demasiado inflexible; debido a que las aplicaciones RPC no usan puertos reservados, no hay garantía de que un puerto originalmente usado por nuestra aplicación de base de datos, no haya sido tomado por cualquier otro proceso. Por lo tanto, las aplicaciones RPC toman cualquier puerto que puedan obtener y lo registran con un programa especial llamado eldemonio portmapper[4]. El mapeador de puertos actúa como un intermediario para todos los servidores RPC ejecutándose en su máquina. Un cliente que desea contactar con un servicio con un número de programa dado primero pregunta al mapeador de puertos en el host del servidor, el cuál devuelve el número de puerto TCP y UDP en donde el servicio puede ser alcanzado. Este método introduce un solo punto de fallo, similar a como el demonio inetd hace para los servicios estándar de Berkeley. Sin embargo, este caso es aún un poco peor porque cuando el mapeador de puertos muere, toda la información de los puertos RPC se pierde; esto a menudo significa que debe reiniciar todos los servidores RPC manualmente o reiniciar la máquina.

Transcript of SERVICIOS DE COMUNICACIÓN

SERVICIOS DE COMUNICACIÓN

Servicios y programas destinados a transmitir información por medio de diversos métodos, tales como el teléfono, el fax, el correo terrestre y aéreo, el correo electrónico y otros sistemas informáticos (servicios de telefonía, servicios de teletipos, servicios de teletexto, proveedores de acceso a Internet), incluyendo a aquellas personas que proporcionan estos servicios. RPC ( Llamada a Procedimiento Remoto ) El mecanismo general para las aplicaciones cliente-servidor se proporciona por el paquete Remote Procedure Call (RPC). RPC fue desarrollado por Sun Microsystems y es una colección de herramientas y funciones de biblioteca. Aplicaciones importantes construidas sobre RPC son NIS, Sistema de Información de Red y NFS, Sistema de Ficheros de Red Un servidor RPC consiste en una colección de procedimientos que un cliente puede solicitar por el envío de una petición RPC al servidor junto con los parámetros del procedimiento. El servidor invocará el procedimiento indicado en nombre del cliente, entregando el valor de retorno, si hay alguno. Para ser independiente de la máquina, todos los datos intercambiados entre el cliente y el servidor se convierten al formato External Data Representation (XDR) por el emisor, y son reconvertidos a la representación local por el receptor. RPC confía en sockets estandard UDP y TCP para transportar los datos en formato XDR hacia el host remoto. Sun amablemente a puesto RPC en el dominio público; se describe en una serie de RFCs. A veces las mejoras en una aplicación RPC introducen cambios incompatibles con la interfaz de llamada a procedimientos. Por supuesto, simplemente cambiando el servidor hará que no funcionen todas las aplicaciones que todavía esperen el comportamiento original. Por lo tanto, los programas RPC tienen números de versión asignados, casi siempre empezando por 1, y con cada nueva versión de la interfaz RPC, este contador se incrementa. A menudo, un servidor puede ofrecer varias versiones simultáneamente; entonces los clientes indican a través del número de versión en la petición que implementación del servicio quieren usar. La comunicación entre servidores RPC y clientes es un tanto peculiar. Un servidor RPC ofrece una o más colecciones de procedimientos; cada conjunto se llama un programa y es idenficado de forma única por un número de programa. Una lista que relaciona nombres de servicio con números de programa se

mantiene usualmente en /etc/rpc, un extracto del cual se ve en Ejemplo 12-4.

En redes TCP/IP , los autores de RPC se enfrentan al problema del mapeo de números de programa con servicios genéricos de red. Diseñaron cada servidor para proveer ambos puertos TCP y UDP para cada programa y cada versión. Generalmente, las aplicaciones RPC usan UDP cuando envían datos, y vuelven a TCP sólo cuando los datos a transferir no caben en un solo datagrama UDP. Por supuesto, los programas cliente necesitan averiguar a qué puerto se refiere un número de programa. Usar un fichero de configuración para esto podría ser demasiado inflexible; debido a que las aplicaciones RPC no usan puertos reservados, no hay garantía de que un puerto originalmente usado por nuestra aplicación de base de datos, no haya sido tomado por cualquier otro proceso. Por lo tanto, las aplicaciones RPC toman cualquier puerto que puedan obtener y lo registran con un programa especial llamado

eldemonio portmapper[4]. El mapeador de puertos actúa como un intermediario para todos los servidores

RPC ejecutándose en su máquina. Un cliente que desea contactar con un servicio con un número de programa dado primero pregunta al mapeador de puertos en el host del servidor, el cuál devuelve el número de puerto TCP y UDP en donde el servicio puede ser alcanzado. Este método introduce un solo punto de fallo, similar a como el demonio inetd hace para los servicios estándar de Berkeley. Sin embargo, este caso es aún un poco peor porque cuando el mapeador de puertos muere, toda la información de los puertos RPC se pierde; esto a menudo significa que debe reiniciar todos los servidores RPC manualmente o reiniciar la máquina.

En Linux, el mapeador de puertos se llama /sbin/portmap, o a veces /usr/sbin/rpc.portmap. Una vez que se cerciora de que se inicia desde sus guiones de inicio de red, el mapeador de puertos no requiere ninguna configuración.

El Remote Procedure Call (RPC) (del inglés, Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar código en otra máquina remota sin tener que preocuparse por las comunicaciones entre ambos. El protocolo es un gran avance sobre los sockets usados hasta el momento. De esta manera el programador no tenía que estar pendiente de las comunicaciones, estando éstas encapsuladas dentro de las RPC.

Las RPC son muy utilizadas dentro del paradigma cliente-servidor. Siendo el cliente el que inicia el proceso solicitando al servidor que ejecute cierto procedimiento o función y enviando éste de vuelta el resultado de dicha operación al cliente.

Hay distintos tipos de RPC, muchos de ellos estandarizados como pueden ser el RPC de Sun denominado ONC RPC (RFC 1057), el RPC de OSF denominado DCE/RPC y el Modelo de Objetos de Componentes Distribuidos de Microsoft DCOM, aunque ninguno de estos es compatible entre sí. La mayoría de ellos utilizan un lenguaje de descripción de interfaz (IDL) que define los métodos exportados por el servidor.

Hoy en día se está utilizando el XML como lenguaje para definir el IDL y el HTTP como protocolo de red, dando lugar a lo que se conoce como servicios web. Ejemplos de éstos pueden serSOAP o XML-RPC.

Tipos de semántica

Semántica tal-vez

Procedimiento remoto puede ejecutarse una vez o ninguna vez.

El cliente puede recibir una respuesta o ninguna.

Funcionamiento

1. El cliente envía una petición y se queda a la espera un tiempo determinado.

2. Si no llega la respuesta dentro del tiempo de espera, continúa su ejecución.

3. El cliente no tiene realimentación en caso de fallo (no sabe que pasó).

Sólo admisible en aplicaciones donde se tolere la pérdida de peticiones y la recepción de respuestas con retraso (fuera de orden).

Semántica al-menos-una-vez

Procedimiento remoto se ejecuta una o más veces.

El cliente puede recibir una o más respuestas.

Funcionamiento

1. El cliente envía una petición y queda a la espera un tiempo.

2. Si no llega respuesta o ACK dentro del tiempo de espera, repite la petición.

3. El servidor no filtra peticiones duplicadas (el procedimiento remoto puede ejecutarse repetidas veces).

4. El cliente puede recibir varias respuestas.

Sólo es aplicable cuando se usan exclusivamente operaciones idempotentes (repetibles). Nota: Una operación es idempotente si se puede ejecutar varias veces resultando el mismo efecto que si se hubiera ejecutado sólo una. En ocasiones una operación no idempotente puede implementarse como una secuencia

de operaciones idempotentes. Admisible en aplicaciones donde se tolere que se puedan repetir invocaciones sin afectar a su funcionamiento.

Semántica como-máximo-una-vez

El procedimiento remoto se ejecuta exactamente una vez o no llega a ejecutarse ninguna.

El cliente recibe una respuesta o una indicación de que no se ha ejecutado el procedimento remoto.

Funcionamiento

1. El cliente envía la petición y queda a la espera un tiempo.

2. Si no llega respuesta o ACK dentro del tiempo de espera, repite la petición.

3. El servidor filtra las peticiones duplicadas y guarda historial con las respuestas enviadas (servidor con memoria). El procedimiento remoto sólo se ejecuta una vez.

4. El cliente sólo recibe una respuesta si la petición llegó y se ejecutó el procedimiento,si no recibe informe del error.

Las llamadas de procedimiento remoto (RPC) permiten a los programas de un ordenador la ejecucion de programas en un segundo ordenador. Se utilizan habitualmente para acceder a servicios de red tales como la comparticion de archivos en NFS. Diversas vulnerabilidades originadas por brechas de RPC son explotadas de forma activa. Existe una evidencia convincente que la mayor parte de los ataques distribuidos de denegacion de servicio efectuados durante 1999 y principios del 2000 fueron ejecutados por sistemas a los que se habia comprometido debido a sus vulnerabilidades en programas RPC. El ataque -exitoso- general contra los sistemas del ejercito de los EE.UU. ocurrido en el incidente 'Solar Sunrise' utilizo igualmente un error en un programa RPC presente en cientos de sistemas del departamento de defensa americano.

FTP Protocolo de Transferencia de Archivos

FTP (siglas en inglés de File Transfer Protocol) en informática, es un para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.

El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos.

Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el paquete SSH, que permiten transferir archivos pero cifrando todo el tráfico.

El Modelo FTP

En el modelo, el intérprete de protocolo (IP) de usuario inicia la conexión de control en el puerto 21. Las órdenes FTP estándar las genera el IP de usuario y se transmiten al proceso servidor a través de la conexión de control. Las respuestas estándar se envían desde la IP del servidor la IP de usuario por la conexión de control como respuesta a las órdenes.

Estas órdenes FTP especifican parámetros para la conexión de datos (puerto de datos, modo de transferencia, tipo de representación y estructura) y la naturaleza de la operación sobre el sistema de archivos(almacenar, recuperar, añadir, borrar, etc.). El proceso de transferencia de datos (DTP) de usuario u otro proceso en su lugar, debe esperar a que el servidor inicie la conexión al puerto de datos especificado (puerto 20 en modo activo o estándar) y transferir los datos en función de los parámetros que se hayan especificado.

Vemos también en el diagrama que la comunicación entre cliente y servidor es independiente del sistema de archivos utilizado en cada computadora, de manera que no importa que sus sistemas operativos sean distintos, porque las entidades que se comunican entre sí son los PI y los DTP, que usan el mismo protocolo estandarizado: el FTP.

También hay que destacar que la conexión de datos es bidireccional, es decir, se puede usar simultáneamente para enviar y para recibir, y no tiene por qué existir todo el tiempo que dura la conexión FTP. Pero tenía en sus comienzos un problema, y era la localización de los servidores en la red. Es decir, el usuario que quería descargar algún archivo mediante FTP debía conocer en qué máquina estaba ubicado. La única herramienta de búsqueda de información que existía era Gopher, con todas sus limitaciones.

Servidor FTP

Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado a Internet (aunque puede estar conectado a otros tipos de redes, LAN, MAN, etc.). Su función es permitir el intercambio de datos entre diferentes servidores/ordenadores.

Por lo general, los programas servidores FTP no suelen encontrarse en los ordenadores personales, por lo que un usuario normalmente utilizará el FTP para conectarse remotamente a uno y así intercambiar información con él.

Las aplicaciones más comunes de los servidores FTP suelen ser el alojamiento web, en el que sus clientes utilizan el servicio para subir sus páginas web y sus archivos correspondientes; o como servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una empresa. Para ello, existen protocolos de comunicación FTP para que los datos se transmitan cifrados, como el SFTP (Secure File Transfer Protocol).

Cliente FTP

Cuando un navegador no está equipado con la función FTP, o si se quiere cargar archivos en un ordenador remoto, se necesitará utilizar un programa cliente FTP. Un cliente FTP es un programa que se instala en el ordenador del usuario, y que emplea el protocolo FTP para conectarse a un servidor FTP y transferir archivos, ya sea para descargarlos o para subirlos.

Para utilizar un cliente FTP, se necesita conocer el nombre del archivo, el ordenador en que reside (servidor, en el caso de descarga de archivos), el ordenador al que se quiere transferir el archivo (en caso de querer subirlo nosotros al servidor), y la carpeta en la que se encuentra.

Algunos clientes de FTP básicos en modo consola vienen integrados en los sistemas operativos, incluyendo Microsoft Windows, DOS, GNU/Linux y Unix. Sin embargo, hay disponibles clientes con opciones añadidas e interfaz gráfica. Aunque muchos navegadores tienen ya integrado FTP, es más confiable a la hora de conectarse con servidores FTP no anónimos utilizar un programa cliente.

Acceso anónimo

Los servidores FTP anónimos ofrecen sus servicios libremente a todos los usuarios, permiten acceder a sus archivos sin necesidad de tener un 'USER ID' o una cuenta de usuario. Es la manera más cómoda fuera del servicio web de permitir que todo el mundo tenga acceso a cierta información sin que para ello el administrador de un sistema tenga que crear una cuenta para cada usuario.

Si un servidor posee servicio 'FTP anonymous' solamente con teclear la palabra «anonymous», cuando pregunte por tu usuario tendrás acceso a ese sistema. No se necesita ninguna contraseña preestablecida, aunque tendrás que introducir una sólo para ese momento, normalmente se suele utilizar la dirección de correo electrónico propia.

Solamente con eso se consigue acceso a los archivos del FTP, aunque con menos privilegios que un usuario normal. Normalmente solo podrás leer y copiar los archivos que sean públicos, así indicados por el administrador del servidor al que nos queramos conectar.

Normalmente, se utiliza un servidor FTP anónimo para depositar grandes archivos que no tienen utilidad si no son transferidos a la máquina del usuario, como por ejemplo programas, y se reservan los servidores de páginas web (HTTP) para almacenar información textual destinada a la lectura en línea.

Acceso de usuario

Si se desea tener privilegios de acceso a cualquier parte del sistema de archivos del servidor FTP, de modificación de archivos existentes, y de posibilidad de subir nuestros propios archivos, generalmente se suele realizar mediante una cuenta de usuario. En el servidor se guarda la información de las distintas cuentas de usuario que pueden acceder a él, de manera que para iniciar una sesión FTP debemos introducir

una autentificación (en inglés: login) y una contraseña (en inglés: password) que nos identifica

unívocamente.

Cliente FTP basado en Web

Un «cliente FTP basado en Web» no es más que un cliente FTP al cual podemos acceder a través de nuestro navegador web sin necesidad de tener otra aplicación para ello. El usuario accede a un servidor web (HTTP) que lista los contenidos de un servidor FTP. El usuario se conecta mediante HTTP a un servidor web, y el servidor web se conecta mediante FTP al servidor FTP. El servidor web actúa de intermediario haciendo pasar la información desde el servidor FTP en los puertos 20 y 21 hacia el puerto 80 HTTP que ve el usuario.

Siempre hay momentos en que nos encontramos fuera de casa, no llevamos el ordenador portátil encima y necesitamos realizar alguna tarea urgente desde un ordenador de acceso público, de un amigo, del trabajo, la universidad, etc. Lo más común es que no estén instaladas las aplicaciones que necesitamos y en muchos casos hasta carecemos de los permisos necesarios para realizar su instalación. Otras veces estamos detrás de un proxy o cortafuegos que no nos permite acceder a servidores FTP externos.

Al disponer de un cliente FTP basado en Web podemos acceder al servidor FTP remoto como si estuviéramos realizando cualquier otro tipo de navegación web. A través de un cliente FTP basado en Web podrás, crear, copiar, renombrar y eliminar archivos y directorios. Cambiar permisos, editar, ver, subir y descargar archivos, así como cualquier otra función del protocolo FTP que el servidor FTP remoto permita.

Acceso de invitado

El acceso sin restricciones al servidor que proporcionan las cuentas de usuario implica problemas de seguridad, lo que ha dado lugar a un tercer tipo de acceso FTP denominado invitado (guest), que se puede contemplar como una mezcla de los dos anteriores.

La idea de este mecanismo es la siguiente: se trata de permitir que cada usuario conecte a la máquina mediante su login y su password, pero evitando que tenga acceso a partes del sistema de archivos que no necesita para realizar su trabajo, de esta forma accederá a un entorno restringido, algo muy similar a lo que sucede en los accesos anónimos, pero con más privilegios.

Modos de conexión del cliente FTP

FTP admite dos modos de conexión del cliente. Estos modos se denominan activo (o Estándar, o PORT,

debido a que el cliente envía comandos tipo PORT al servidor por el canal de control al establecer la

conexión) y pasivo (o PASV, porque en este caso envía comandos tipo PASV). Tanto en el modo Activo como

en el modo Pasivo, el cliente establece una conexión con el servidor mediante el puerto 21, que establece el canal de control.

Modo activo

Modo activo.

En modo Activo, el servidor siempre crea el canal de datos en su puerto 20, mientras que en el lado del cliente el canal de datos se asocia a un puerto aleatorio mayor que el 1024. Para ello, el cliente manda un comando PORT al servidor por el canal de control indicándole ese número de puerto, de manera que el servidor pueda abrirle una conexión de datos por donde se transferirán los archivos y los listados, en el puerto especificado.

Lo anterior tiene un grave problema de seguridad, y es que la máquina cliente debe estar dispuesta a aceptar cualquier conexión de entrada en un puerto superior al 1024, con los problemas que ello implica si

tenemos el equipo conectado a una red insegura como Internet. De hecho, los cortafuegos que se instalen en el equipo para evitar ataques seguramente rechazarán esas conexiones aleatorias. Para solucionar esto

se desarrolló el modo pasivo.

Modo pasivo

Modo pasivo.

Cuando el cliente envía un comando PASV sobre el canal de control, el servidor FTP le indica por el canal de control, el puerto (mayor a 1023 del servidor. Ejemplo:2040) al que debe conectarse el cliente. El cliente inicia una conexión desde el puerto siguiente al puerto de control (Ejemplo: 1036) hacia el puerto del

servidor especificado anteriormente (Ejemplo: 2040).1

Antes de cada nueva transferencia tanto en el modo Activo como en el Pasivo, el cliente debe enviar otra vez un comando de control (PORT o PASV, según el modo en el que haya conectado), y el servidor recibirá esa conexión de datos en un nuevo puerto aleatorio (si está en modo pasivo) o por el puerto 20 (si está en modo activo). En el protocolo FTP existen 2 tipos de transferencia en ASCII y en binarios.

Tipos de transferencia de archivos en FTP

Es importante conocer cómo debemos transportar un archivo a lo largo de la red. Si no utilizamos las opciones adecuadas podemos destruir la información del archivo. Por eso, al ejecutar la aplicación FTP, debemos acordarnos de utilizar uno de estos comandos (o poner la correspondiente opción en un programa con interfaz gráfica):

Tipo ASCII

Adecuado para transferir archivos que sólo contengan caracteres imprimibles (archivos ASCII, no archivos resultantes de un procesador de texto), por ejemplo páginas HTML, pero no las imágenes que puedan contener.

Tipo Binario

Este tipo es usado cuando se trata de archivos comprimidos, ejecutables para PC, imágenes, archivos de audio...

Ejemplos de cómo transferir algunos tipos de archivo dependiendo de su extensión

Introducción al protocolo FTP

El protocolo FTP (Protocolo de transferencia de archivos) es, como su nombre lo indica, un protocolo para transferir archivos.

La implementación del FTP se remonta a 1971 cuando se desarrolló un sistema de transferencia de archivos

(descrito en RFC141) entre equipos del Instituto Tecnológico de Massachusetts (MIT, Massachusetts Institute of Technology). Desde entonces, diversos documentos de RFC (petición de comentarios) han mejorado el protocolo básico, pero las innovaciones más importantes se llevaron a cabo en julio de 1973.

Actualmente, el protocolo FTP está definido por RFC 959 (Protocolo de transferencia de archivos (FTP) - Especificaciones).

La función del protocolo FTP

El protocolo FTP define la manera en que los datos deben ser transferidos a través de una red TCP/IP.

El objetivo del protocolo FTP es:

permitir que equipos remotos puedan compartir archivos

permitir la independencia entre los sistemas de archivo del equipo del cliente y del equipo del servidor

permitir una transferencia de datos eficaz

El modelo FTP

El protocolo FTP está incluido dentro del modelo cliente-servidor, es decir, un equipo envía órdenes (el cliente) y el otro espera solicitudes para llevar a cabo acciones (el servidor).

Durante una conexión FTP, se encuentran abiertos dos canales de transmisión:

Un canal de comandos (canal de control)

Un canal de datos

Por lo tanto, el cliente y el servidor cuentan con dos procesos que permiten la administración de estos dos tipos de información:

DTP (Proceso de transferencia de datos) es el proceso encargado de establecer la conexión y de

administrar el canal de datos. El DTP del lado del servidor se denomina SERVIDOR DE DTP y el DTP del lado

del cliente se denomina USUARIO DE DTP.

PI (Intérprete de protocolo) interpreta el protocolo y permite que el DTP pueda ser controlado mediante

los comandos recibidos a través del canal de control. Esto es diferente en el cliente y el servidor:

El SERVIDOR PI es responsable de escuchar los comandos que provienen de un USUARIO PI a través del

canal de control en un puerto de datos, de establecer la conexión para el canal de control, de recibir

los comandos FTP del USUARIO PI a través de éste, de responderles y de ejecutar el SERVIDOR DE DTP.

El USUARIO PI es responsable de establecer la conexión con el servidor FTP, de enviar los comandos FTP, de recibir respuestas del SERVIDOR PI y de controlar al USUARIO DE DTP, si fuera necesario.

Cuando un cliente FTP se conecta con un servidor FTP, el USUARIO PI inicia la conexión con el servidor de acuerdo con el protocolo Telnet. El cliente envía comandos FTP al servidor, el servidor los interpreta, ejecuta su DTP y después envía una respuesta estándar. Una vez que se establece la conexión, el servidor PI proporciona el puerto por el cual se enviarán los datos al Cliente DTP. El cliente DTP escucha el puerto

especificado para los datos provenientes del servidor. Es importante tener en cuenta que, debido a que los puertos de control y de datos son canales separados, es posible enviar comandos desde un equipo y recibir datos en otro. Entonces, por ejemplo, es posible transferir datos entre dos servidores FTP mediante el paso indirecto por un cliente para enviar instrucciones de control y la transferencia de información entre dos procesos del servidor conectados en el puerto correcto.

En esta configuración, el protocolo indica que los canales de control deben permanecer abiertos durante la transferencia de datos. De este modo, un servidor puede detener una transmisión si el canal de control es interrumpido durante la transmisión.

Las respuestas FTP

Las respuestas FTP garantizan la sincronización entre el cliente y el servidor FTP. Por lo tanto, por cada comando enviado por el cliente, el servidor eventualmente llevará a cabo una acción y sistemáticamente enviará una respuesta.

Las respuestas están compuestas por un código de 3 dígitos que indica la manera en la que el comando enviado por el cliente ha sido procesado. Sin embargo, debido a que el código de 3 dígitos resulta difícil de leer para las personas, está acompañado de texto (cadena de caracteres Telnet separada del código numérico por un espacio).

Los códigos de respuesta están compuestos por 3 números, cuyos significados son los siguientes:

El primer número indica el estatuto de la respuesta (exitosa o fallida)

El segundo número indica a qué se refiere la respuesta.

El tercer número brinda un significado más específico (relacionado con cada segundo dígito).

SERVICIOS DE RED

Las aplicaciones de las computadoras requieren varias combinaciones de datos, capacidad de procesamiento, y dispositivos de entrada/salida para completar sus tareas. Los servicios de red permiten a las computadoras compartir recursos usando aplicaciones especiales. Todas estas interactúan con las aplicaciones del usuario, las aplicaciones de la red desarrollan servicios en el background. Muchas de las aplicaciones que proveen los servicios de la red son combinadas en un solo sistema operativo de red.

Los sistemas operativos de red son específicamente diseñados para administrar y proveer múltiples servicios de red para aplicaciones de las computadoras conectadas a ella.

Cuando seleccionamos un sistema operativo de red, se toma especial atención para cada servicio de red que uno necesita. También existe una amplia variedad de servicios existentes, entre los más comunes son:

• De archivo

• De impresión

• De mensajería

• De aplicación

• De base de datos

ARCHIVO

Los servicios de archivo incluyen aplicaciones de red diseñadas para almacenar, recuperar o mover datos de archivo eficientemente. Los servicios de archivo permiten leer, escribir, controlar el acceso y mantenimiento de datos.

Los servicios de archivos nos ayudan para:

• Mover archivos rápidamente de un lugar a otro.

• Eficientar el uso de hardware de almacenamiento.

• Manejar múltiples copias del mismo archivo.

• Respaldo de datos importantes.

Debido a que los servicios de archivo de la red nos permiten el eficiente almacenamiento y recuperación de los datos de la computadora, estos son de los primeros servicios de red ofrecidos en redes de computadoras.

Algunos servicios de archivo son:

• Transferencia de archivos.

• Almacenamiento y migración de datos de archivo.

• Sincronización de actualizaciones de archivos.

• Almacenamiento de archivos.

IMPRESION

Los servicios de impresión son aplicaciones de la red que controlan y administran el acceso a impresoras y equipo de fax. Los servicios de impresión aceptan solicitudes de trabajos de impresión, interpretan los formatos de trabajos de impresión y configuración de impresoras, administran las colas de impresión e interactúan con impresoras de red y equipos de fax para los clientes de la red.

Los servicios de impresión de red nos ayudan para:

• Reducir el número de impresoras que la organización necesita.

• Colocar las impresoras donde se considere más conveniente.

• Las colas de trabajos de impresión reducen el tiempo que la computadora espera para enviar el trabajo de impresión.

• Compartir impresoras especializadas eficientemente.

• Procesa la transmisión y recepción de faxes.

Servicio de Fax en Red

Los fax de red permiten a los usuarios enviar y recibir faxes usando hardware y software especial de red. Este servicio ha sido popularmente incrementado porque reduce el tiempo y el manejo normal de papel involucrado en el tradicional envío de faxes.

Las máquinas tradicionales de fax usan computadoras, módems, scanners y tecnologías de impresión para enviar un documento o imagen digital a oficinas remotas; los sistemas de fax de red usan la misma tecnología para redes de computadoras para integrarlo al ambiente de la red.

MENSAJERÍA

Los servicios de mensajería incluyen el almacenamiento, acceso y entrega de texto, gráficas, video digital y audio. Los servicios de mensajes son similares a los servicios de archivo. Sin embargo los servicios de archivo difieren de los servicios de mensajería en que distribuyen activamente con las interacciones de comunicación entre los usuarios. Los servicios de mensajería transportan los datos punto a punto y notifican al usuario la espera de un mensaje.

Los servicios de mensajería de red nos ayudan para:

• Pasar notas y archivos generados por computadora entre usuarios.

• Integrar correo electrónico con sistemas de correo de voz.

• Operar software orientado a objetos con objetos distribuidos a través de la red.

• Direccionar y compartir datos usando flujos de trabajo y ligar objetos.

• Organizar y mantener los directorios de información de usuarios y dispositivos.

Correo Electrónico.

El correo electrónico o E-mail, se refiere a la transferencia electrónica de mensajes y datos entre dos o más computadoras que trabajen en la red. Debido a que las redes de computadoras nos pueden proveer de una ruta abierta de comunicación, el explosivo crecimiento del E-mail no es sorprendente.

Originalmente, sólo mensajes basados en texto eran enviados a través del correo electrónico. Hoy en día los mensajes del correo electrónico pueden incluir una variedad de texto digital, gráficas, video y audio. Los servicos de correo electrónico público o privado, han tomado un camino muy popular para comunicarse con otras computadoras alrededor del mundo.

Correo de Voz Integrado

Los servicios de mensajería que integran correo electrónico y correo de voz son también desarrollos existentes. El correo de voz es un servicio ofrecido por hardware y software que contesta las llamadas telefónicas y graba los mensajes de audio. Debido a que el sistema de correo de voz es simplemente especializado este se pueden incorporar dentro de redes de computadoras.

Servicios de Directorio

Los servidores de mensajería están constantemente enviando y actualizando directorios para identificar la dirección actual de cualquier computadora o entidad. La función completa de mantener y actualizar los directorios es llamada “servicios de directorios” (o sincronización de directorios). Los servicios de directorios pueden ser compartidos para permitir a aplicaciones de la red encontrar y comunicarse con otras aplicaciones.

APLICACIONES

Los servicios de aplicación son servicios de red que corren software para clientes de red. Estos son diferentes a los servicios de archivo debido a que estos permiten a las computadoras el compartir el poder de procesamiento, no sólo compartir los datos.

Quizás los mejores servicios del servidor de aplicaciones es que ellos pueden emplear equipo especializado para incrementar la velocidad, integridad de los datos y seguridad. Típicamente los servidores de aplicaciones tienen más poder de cómputo que las estaciones de trabajo de los usuarios y ellos normalmente usan sistemas operativos especiales que tienden a optimizar y a realizar operaciones específicas.

Los servicios de aplicación de red también pueden proveer organización con formas de actualización relativamente baratos. Si se requiere más poder computacional, sólo se actualizará el servidor de aplicaciones de la red. Los beneficios de escalabilidad y crecimiento dependen de la habilidad para usar el mismo sistema operativo en una nueva computadora o la misma aplicación en un sistema operativo nuevo.

BASES DE DATOS

Los servicios de bases de datos de la red proveen bases de datos basados en servidor (datos o información), almacenamiento y recuperación que permite a los clientes de la red controlar la manipulación y presentación de los datos. Un término especial ha sido creado para describir aplicaciones de base de datos que permiten a los clientes pedir datos desde servidores especializados: bases de datos cliente-servidor.

Las aplicaciones de bases de datos cliente-servidor dividen y optimizan las tareas relacionadas en solicitar y proveer datos. Dependiendo del objetivo del diseño (incrementar transacciones por segundo, reducir el tráfico de la red, etc), al cliente se le da una porción de tareas relacionadas en formular la solicitud o requerimiento y procesar la respuesta, mientras que el servidor de base de datos evalúa la llegada de solucitudes y bases de datos.

Servicios de Bases de Datos de Red:

• Optimizar las computadoras las cuales almacenan, buscan y recuperan registros de las bases de datos.

• Controlar donde los datos son almacenados geográficamente.

• Organizar datos lógicamente entre departamentos organizacionales.

• Proveer seguridad de los datos.

• Reducir tiempo de acceso de la base de datos del cliente.

Redes. Servicios de red.

La finalidad de una red es que los usurarios de los sistemas informáticos de una organización puedan hacer

un mejor uso de los mismos mejorando de este modo el rendiimiento global de la organización Así las

organizaciones obtienen una serie de ventajas del uso de las redes en sus entornos de trabajo, como pueden

ser:

Mayor facilidad de comunicación.

Mejora de la competitividad.

Mejora de la dinámica de grupo.

Reducción del presupuesto para proceso de datos.

Reducción de los costos de proceso por usuario.

Mejoras en la administración de los programas.

Mejoras en la integridad de los datos.

Mejora en los tiempos de respuesta.

Flexibilidad en el proceso de datos.

Mayor variedad de programas.

Mayor facilidad de uso. Mejor seguridad.

Para que todo esto sea posible, la red debe prestar una serie de servicios a sus usuarios, como son:

Acceso.

Ficheros.

Impresión.

Correo.

Información.

Otros.

Para la prestación de los servicios de red se requiere que existan sistemas en la red con capacidad para

actuar como servidores. Los servidores y servicios de red se basan en los sistemas operativos de red.

Un sistema operativo de red es un conjunto de programas que permiten y controlan el uso de dispositivos

de red por múltiples usuarios. Estos programas interceptan las peticiones de servicio de los usuarios y las

dirigen a los equipos servidores adecuados. Por ello, el sistema operativo de red, le permite a ésta ofrecer

capacidades de multiproceso y multiusuario. Según la forma de interacción de los programas en la red,

existen dos formas de arquitectura lógica:

Cliente-servidor.

Este es un modelo de proceso en el que las tareas se reparten entre programas que se ejecutan en

el servidor y otros en la estación de trabajo del usuario. En una red cualquier equipo puede ser el

servidor o el cliente. El cliente es la entidad que solicita la realización de una tarea, el servidor es

quien la realiza en nombre del cliente. Este es el caso de aplicaciones de acceso a bases de datos,

en las cuales las estaciones ejecutan las tareas del interfaz de usuario (pantallas de entrada de

datos o consultas, listados, etc) y el servidor realiza las actualizaciones y recuperaciones de datos en

la base.

En este tipo de redes, las estaciones no se comunican entre sí.

Las ventajas de este modelo incluyen:

Incremento en la productividad.

Control o reducci�n de costos al compartir recursos.

Facilidad de adminsitraci�n, al concentrarse el trabajo en los servidores.

Facilidad de adaptaci�n.

Redes de pares (peer-to-peer).

Este modelo permite la comunicación entre usuarios (estaciones) directamente sin tener que pasar

por un equipo central para la transferencia. Las principales ventajas de este modelo son:

Sencillez y facilidad de instalación, administración y uso.

Flexibilidad. Cualquier estación puede ser un servidor y puede cambiar de papel, de proveedor a usuario según los servicios.

Acceso.

Los servicios de acceso a la red comprenden tanto la verificación de la identidad del usuario para

determinar cuales son los recursos de la misma que puede utilizar, como servicios para permitir la

conexión de usuarios de la red desde lugares remotos.

Control de acceso.

Para el control de acceso, el usuario debe identificarse conectando con un servidor en el cual se

autentifica por medio de un nombre de usuario y una clave de acceso. Si ambos son correctos, el

usuario puede conectarse a la red.

Acceso remoto.

En este caso, la red de la organización está conectada con redes públicas que permiten la conexión

de estaciones de trabajo situadas en lugares distantes. Dependiendo del método utilizado para

establcer la conexión el usuario podrá acceder a unos u otros recursos.

Ficheros. El servicio de ficheros consiste en ofrecer a la red grandes capacidades de almacenamiento para

descargar o eliminar los discos de las estaciones. Esto permite almacenar tanto aplicaciones como

datos en el servidor, reduciendo los requierimientos de las estaciones. Los ficheros deben ser

cargados en las estaciones para su uso.

Impresión. Permite compartir impresoras de alta calidad, capacidad y coste entre múltiples usuarios,

reduciendo así el gasto. Existen equipos servidores con capacidad de almacenamiento propio

donde se almacenan los trabajos en espera de impresión, lo cual permite que los clientes se

descarguen de esta información con más rapidez.

Una variedad de servicio de impresión es la disponibilidad de servidores de fax, los cuales ponen al servicio de la red sistemas de fax para que se puedan enviar éstos desde cualquier estación. En ciertos casos, es incluso posible enviar los faxes recibidos por correo electrónico al destinatario.

Correo. El correo electrónico es la aplicación de red más utilizada. Permite claras mejoras en la

comunicación frente a otros sistemas. Por ejemplo, es más cómodo que el teléfono porque se

puede atender al ritmo determinado por el receptor, no al ritmo de los llamantes. Además tiene un

costo mucho menor para transmitir iguales cantidades de información. Frente al correo

convencional tiene la clara ventaja de la rapidez.

Información. Los servidores de información pueden bien servir ficheros en función de sus contenidos como

pueden ser los documentos hipertexto, como es el caso de esta presentación. O bien, pueden servir

información dispuesta para su proceso por las aplicaciones, como es el caso de los servidores de

bases de datos.

Otros. Las redes más modernas, con grandes capacidades de transmisión, permiten transferir contenidos

diferentes de los datos, como pueden ser imágenes o sonidos. Esto permite aplicaciones como:

Estaciones integradas (voz y datos).

Telefonía integrada.

Sevidores de imágenes.

Videoconferencia de sobremesa.