You are on page 1of 7

 ARQUITECTURA

Arquitectura cliente-servidor o la arquitectura P2P

En una arquitectura cliente-servidor siempre existe un host activo, denominado servidor, que
da servicio a las solicitudes de muchos otros hosts, que son los clientes

Los clientes no se comunican directamente entre sí

La arquitectura cliente-servidor es que el servidor tiene una dirección tija y conocida,


denominada dirección IP (de la que hablaremos enseguida).

Entre las aplicaciones más conocidas que utilizan la arquitectura cliente-servidor se encuentran
las aplicaciones web, FTP, Telnet y de correo electrónico

En las arquitecturas cliente-servidor suele utilizarse una agrupación (cluster) de hosts

Los servicios de aplicaciones basadas en una arquitectura cliente-servidor a menudo precisan


una infraestructura intensiva, ya que requieren que los proveedores de servicios compren,
instalen y mantengan granjas de servidores.

En una arquitectura P2P existe una mínima (o ninguna) dependencia de una infraestructura de
servidores siempre activos

Algunas aplicaciones tienen arquitecturas híbridas que combinan elementos cliente-servidor y


P2P

Una de las características más convincentes de las arquitecturas P2P es su auto-escalabilidad.

Las arquitecturas P2P también presentan una buena relación coste-prestaciones

Las futuras aplicaciones P2P se enfrentan a tres retos importantes: orientadas al ISP, seguridad
e incentivos

 PROCESOS DE COMUNICACION

Un proceso puede interpretarse como un programa que se ejecuta dentro de un sistema


terminal.

Cuando los procesos se ejecutan en el mismo sistema terminal, pueden comunicarse entre sí
mediante la comunicación entre procesos aplicando las reglas gobernadas por el sistema
operativo del sistema terminal.

 Interfaz entre el proceso y la red de computadoras

Un proceso envía mensajes a la red y los recibe de la red a través de una interfaz software
denominada socket.

un socket es la interfaz entre la capa de aplicación y la capa de transporte de un host También


se conoce como Interfaz de programación de aplicaciones (API, Application Programming
Jnterface) que opera entre la aplicación y la red, ya que el socket es la interfaz de programación
con la que se construyen las aplicaciones de red
 Servicios de transporte disponibles para las aplicaciones

Si un protocolo proporciona un servicio de entrega de datos garantizado, se dice que


proporciona una transferencia de datos fiable.

 Tasa de transferencia
 Temporización
 Seguridad

2.1.4 Servicios de transporte proporcionados por Internet

Servicios TCP

El modelo de servicio TCP incluye un servicio orientado a la conexión y un servicio de


transferencia de datos fiable. Cuando una aplicación invoca TCP como su protocolo de
transporte, la aplicación recibe estos dos servicios de TCP.

Servicios UDP

UDP es un protocolo de transporte ligero simple que proporciona irnos servicios mínimos y no
está orientado a la conexión, por lo que no tiene lugar un procedimiento de negociación ames
de que los dos procesos comiencen a comunicarse. UDP proporciona un servicio de
transferencia de datos no fiable; es decir, cuando un proceso envía un mensaje a un socket UDP,
el protocolo UDP no ofrece ninguna garantía de que el mensaje vaya a llegar al proceso receptor.
Además, los mensajes que sí llegan al proceso receptor pueden hacerlo de manera desordenada.

 Direccionamiento de procesos

Para identificar al proceso de recepción, tienen que especificarse dos elementos de


información: (1) el nombre o dirección del host y (2) un identificador que especifique el
proceso de recepción en el host de destino.

 Protocolos de la capa de aplicación

un protocolo de la capa de aplicación define:

• Los tipos de mensajes intercambiados; por ejemplo, mensajes de solicitud y mensajes de


respuesta.

• La sintaxis de los diversos tipos de mensajes, es decir, los campos de los que consta el
mensaje y cómo se delimitan esos campos.

• La semántica de los campos, es decir, el significado de la información contenida en los


campos.

• Las reglas para determinar cuándo y cómo un proceso envía mensajes y responde a los
mismos.

 2 .2 La Web y HTTP

la World Wide Web


 2.2.1 Introducción a HTTP

El Protocolo de transferencia de hipertexto (HTTP, HyperText Transfer Protocol) es el protocolo


de la capa de aplicación de la Web y se encuentra en el corazón de la Web. Está definido en los
documentos [RFC 1945] y [RFC 2616].

HTTP se implementa en dos programas: un programa cliente y un programa servidor.

Formato de los mensajes HTTP

Las especificaciones HTTP [RFC 2616]) incluyen las definiciones de los formatos de los
mensajes HTTP. A continuación vamos a estudiar los dos tipos de mensajes HTTP existentes:
mensajes de solicitud y mensajes de respuesta.

Mensaje de solicitud HTTP

La primera línea de un mensaje de solicitud HTTP se denomina línea de solicitud y las


siguientes líneas son las líneas de cabecera

Mensaje de respuesta HTTP

Examinemos detenidamente este mensaje de respuesta. Tiene tres secciones: una línea de
estado inicial, seis líneas de cabecera y el cuerpo de entidad

Algunos de los códigos de estado y sus fiases asociadas son:

• 2 0 0 o k : La solicitud se ha ejecutado con éxito y se ha devuelto la información en el


mensaje de respuesta.

• 3 0 1 M o v e d P e r m a n e n t l y : El o b j e to s o l i c i t a d o h a s id o m o v id o d e f o rm
a p e rm a n e n t e ; e l n u e v o URL s e e s p e c i f i c a e n l a l ín e a d e c a b e c e r a L o c a t i
o n : d e l m e n s a j e d e r e s p u e s t a . El s o f tw a r e c l i e n t e r e c u p e r a r á a u to m á
t i c a m e n t e e l n u e v o URL.

• 400 Bad Request: Se trata de un código de error genérico que indica que la solicitud no ha
sido comprendida por el servidor.

404 Not F o u n d : El documento solicitado no existe en este servidor.

• 505 HTTP Versión Not Supported: La versión de protocolo HTTP solicitada no es soportada
por el servidor.
2.2.5 Almacenamiento en caché web

Una caché web, también denominada servidor proxy, es una entidad de red que satisface
solicitudes HTTP en nombre de un servidor web de origen.

Observe que una caché es a la vez un servidor y un cliente. Cuando recibe solicitudes de y
envía respuestas a un navegador, se comporta como un servidor. Cuando envía solicitudes a y
recibe respuestas de un servidor de origen, entonces actúa como un cliente.

La primera razón es que una caché web puede reducir sustancialmente el tiempo de respuesta
a la solicitud de un cliente, especialmente si el ancho de banda cuello de botella entre el
cliente y el servidor de origen es mucho menor que el ancho de banda cuello de botella entre
el cliente y la caché.

las cachés web pueden reducir sustancialmente el tráfico en el enlace de acceso a Internet de
una institución. Reduciendo el tráfico=reducción coste

2.2.6 GET condicional

Afortunadamente, HTTP dispone de un mecanismo que permite a la caché verificar que sus
objetos están actualizados. Este mecanismo se denomina GET condicional. Un mensaje de
solicitud HTTP se denomina también mensaje GET condicional si (1) el mensaje de solicitud
utiliza el método GE T y (2) el mensaje de solicitud incluye una línea de cabecera i f - M o d
ified -S in c e :. Para ilustrar cómo

2 .3 Transferencia de archivos: FTP

FTP utiliza dos conexiones TCP paralelas para transferir un archivo, una conexión de control y
una conexión de datos.

comandos para modificar el directorio remoto y comandos para “introducir” (PUT) y “extraer”
(GET) archivos. La conexión de datos se utiliza para enviar un archivo. Puesto que FTP utiliza
una conexión de control separada, se dice que FTP envía su información de control fuera de
banda.

FTP tiene que mantener un estado del usuario.

HTTP, por el contrario, es un protocolo sin memoria del estado (no tiene que recordar el
estado de los usuarios).

2.3.1 Comandos y respuestas de FTP

Vamos a terminar esta sección con una breve explicación de algunos de los comandos y
respuestas de FTP más comunes. Los comandos, del cliente al servidor, y las respuestas, del
servidor al cliente, se envían a través de la conexión de control en formato ASCII de 7 bits.

Por tanto, al igual que los comandos HTTP, las personas pueden leer los comandos FTP. Para
separar los comandos, sucesivos se añade un retomo de carro y un salto de línea al final de
cada comando. Cada comando consta de cuatro caracteres ASCH en letras mayúsculas y
algunos emplean argumentos opcionales. Algunos de los comandos más comunes son los
siguientes:

• user noir\bre_de_us-aario: se utiliza para enviar la identificación del usuario al servidor.

• PASS c o n tra s e ñ a ; se utiliza para enviar la contraseña del usuario al servidor.


• LIST: se utiliza para pedir al servidor que devuelva una lista de todos los archivos existentes
en el directorio remoto actual. La lista de archivos se envía a través de una conexión de datos
(nueva y no persistente), en lugar de a través de la conexión de control TCP.

• RETR noiabre_de_archivo: se utiliza para recuperar (es decir, extraer) un archivo del
directorio actual del host remoto. Este comando hace que el host remoto inicie una conexión
de datos y envíe el archivo solicitado a través de la conexión de datos.

• STOR nombre__de_archivo: se utiliza para almacenar (es decir, introducir) un archivo en el


directorio actual del host remoto.

Existe una correspondencia uno a uno entre el comando que ejecuta el usuario y el comando
FTP enviado a través de la conexión de control. Cada comando va seguido de una respuesta,
enviada desde el servidor al cliente. Las respuestas son números de tres dígitos, con un
mensaje opcional que sigue al número. Esta estructura es similar a la del código de estado y la
frase explicativa de la línea de estado en los mensajes de respuesta HTTP. Algunas respuestas
típicas, junto con sus posibles frases, son las siguientes:

• 331 Username OK, password required

• 125 Data connection already open; transfer starting

• 425 Can't open data connection

• 452 Error writing file

Los lectores que estén interesados en obtener más información acerca de otros comandos FTP
y sus respuestas Ies animamos a leer el documento RFC 959.

2 .4 Correo electrónico en Internet

el correo electrónico es un medio de comunicación asincrono (tes personas envían y leen ios
mensajes cuando les conviene, sin tener que coordinarse con las agendas de otras personas).

vemos que existen tres componentes principales: agentes de usuario, servidores de correo y el
Protocolo simple de transferencia de correo (SMTP, Simple Mail Transfer ProtocoT).

Los agentes de usuario permiten a los usuarios leer, responder, reenviar, guardar y componer
mensajes.

Los servidores de correo forman el núcleo de la infraestructura del correo electrónico.

SMTP es el principal protocolo de la capa de aplicación para el correo electrónico por Internet.
Utiliza el servicio de transferencia de datos fiable de TCP para transferir el correo desde el
servidor de correo del emisor al servidor de correo del destinatario.

En primer lugar, HTTP es principalmente un protocolo pulí (protocolo de extracción): alguien


carga la información en un servidor web y los usuarios utilizan HTTP para extraer la
información del servidor cuando desean. En concreto, la máquina que desea recibir el archivo
inicia la conexión TCP. Por el contrario, SMTP es fundamentalmente un protocolo push
(protocolo de inserción): el servidor de conreo emisor introduce el archivo en el servidor de
correo receptor. En concreto, la máquina que desea enviar el archivo inicia la conexión TCP.
Una segunda diferencia, a la que hemos aludido anteriormente, es que SMTP requiere que
cada mensaje, incluyendo el cuerpo de cada mensaje, esté en el formato ASCII de 7 bits. Si el
mensaje contiene caracteres que no corresponden a dicho formato (como por ejemplo,
caracteres acentuados) o contiene datos binarios (como por ejemplo un archivo de imagen),
entonces el mensaje tiene que ser codificado en ASCII de 7 bits. Los datos HTTP no imponen
esta restricción.

Una tercera diferencia importante tiene que ver con cómo se maneja un documento que
conste de texto e imágenes (junto con posiblemente otros tipos multimedia). Como hemos
visto en la Sección 2.2, HTTP encapsula cada objeto en su propio mensaje de respuesta HTTP.
El correo Internet incluye todos los objetos del mensaje en un mismo mensaje.

una cabecera que contiene la información administrativa antecede al cuerpo del mensaje. Esta
información se incluye en una serie de líneas de cabecera, que están definidas en el
documento RFC 5322. Las líneas de cabecera y el cuerpo del mensaje se separan mediante una
línea en blanco

Protocolo especial de acceso al correo que permita transferir los mensajes del servidor de
correo de Benito a su PC local. Actualmente existen varios protocolos de acceso a correo
electrónico populares, entre los que se incluyen el Protocolo de oficina de correos versión 3
(POP3, Post Office Protocol—Versión 3), el Protocolo de acceso de correo de Internet (IMAP,
Internet Mail Access Protocol) y HTTP.

2 .5 DNS: servicio de directorio de Internet

hay dos formas de identificar un host, mediante un nombre de host y mediante una dirección
IP.

2.5.1 Servidos proporcionados por DNS

Esta es la tarea principal que lleva a cabo el Sistema de nombres de dominio (DNS, Domain
Ñame System) de Internet. DNS es (1) una base de datos distribuida implementada en una
jerarquía de ser-vidores DNS y (2) un protocolo de la capa de aplicación que permite a los
hosts consultar la base de datos distribuida

DNS proporciona algunos otros servicios importantes además de la traducción de los nombres
de host en direcciones IP:

Alias de host

Alias del servidor de correo.

Distribución de carga.

DNS se envían dentro de datagramas UDP al puerto 53.

FTP: File Transfer Protocol. Este protocolo permite la transferencia de archivos de un programa
de aplicación que esté corriendo en una computadora a otro que esté corriendo en una
computadora remota. SMTP : Simple Mail Transfer Protocol. Es el protocolo que permite la
transferencia de correo electrónico entre dos sistemas TCP / IP . TELNET : Este protocolo
permite a un sistema TCP / IP emular una terminal de otro sistema. SNMP : Simple Network
Management Protocol. Este protocolo se utiliza para administrar, monitorear y controlar una
red de comunicaciones. NFS : Network File System. Sistema de manejo de archivos. TCP :
Transpon Control Protocol. Es el protocolo de transporte orientado a conexión de la familia de
protocolos TCP / IP . UDP : User Datagram Protocol. Es un protocolo de transporte no
orientado a conexión. IP : Internet Protocol. Es el protocolo de ruteo de paquetes de la capa
de red. Conjuntamente con TCP / IP , da nombre a esta fami lia de protocolos.

ICMP : Internet Control Message Protocol. Es el protocolo de la familia TCP / IP empleado para
diagnosticar y probar redes TCP / IP y para reportar errores ocurridos en la red. ARP : Address
Resolution Protocol. Este protocolo se usa para traducir direcciones IP a direcciones MAC de la
red LAN . RARP : Reverse Address Resolution Protocol. Es un protocolo empleado para
traducir direcciones físicas en la LAN a direcciones IP .

You might also like