Sunteți pe pagina 1din 12

Universidad de Guadalajara

Centro Universitario de Ciencias Exactas e Ingenieras


Divisin de Electrnica y Computacin
Departamento de Electrnica
Coordinacin de Ingeniera en Comunicaciones y Electrnica

ARQUITECTURA CLIENTE-SERVIDOR
SOCKET BSD

Monserrat Magdalena Landeros Sanchez

301410253
Monserrath.landeros@alumnos.udg.mx

Guadalajara, Jalisco. Mxico


Mayo de 2016
Contenido
PROLOGO ................................................................................................................................................... 4
AGRADECIMIENTOS ................................................................................................................................... 5
INTRODUCCION.......................................................................................................................................... 6
1. CARACTERISTICAS .................................................................................................................................. 6

2.COMPARACION DE LA ARQUITECTURA C/S CON OTRAS


ARQUITECTURAS DE RED. ... ERROR! BOOKMARK NOT DEFINED.
2.1. COMPARACION DE LAS REDES DE PARES................................... ERROR! BOOKMARK NOT DEFINED.
2.2. COMPARACION CON LA ARQUITECTURA CLIENTE- COLA -CLIENTE......... ERROR! BOOKMARK NOT
DEFINED.

3.ARQUITECTURAS MULTICAPAS ......... ERROR! BOOKMARK NOT


DEFINED.
3.1. VENTAJAS DE LAS ARQUITECTURAS N-CAPAS. ...................................... ERROR! BOOKMARK NOT DEFINED.
3.2. DESVENTAJAS DE LAS ARQUITECTURAS DE LA N-CAPAS. ......................... ERROR! BOOKMARK NOT DEFINED.
PONE MS CARGA EN LA RED, DEBIDO A UNA MAYOR CANTIDAD DE TRFICO DE LA RED.ES
MUCHO MS DIFCIL PROGRAMAR Y PROBAR EL SOFTWARE QUE EN ARQUITECTURA DE DOS
NIVELES PORQUE TIENEN QUE COMUNICARSE MS DISPOSITIVOS PARA TERMINAR LA
TRANSACCIN DE UN USUARIO. ...................................................... ERROR! BOOKMARK NOT DEFINED.
3.3. VENTAJAS ..................................................................................... ERROR! BOOKMARK NOT DEFINED.
3.4.DESVENTAJAS ................................................................................. ERROR! BOOKMARK NOT DEFINED.
3.5. DIRECCIN .................................................................................... ERROR! BOOKMARK NOT DEFINED.

4.COOPERACIN CLIENTE-SERVIDOR.. ERROR! BOOKMARK NOT


DEFINED.
4.1. MLTIPLE SERVER .......................................................................... ERROR! BOOKMARK NOT DEFINED.
4.1.2. COOPERACIN DE PROCESOS PARALELOS......................................... ERROR! BOOKMARK NOT DEFINED.
4.2COOPERACIN DE BASE DE DATOS ...................................................... ERROR! BOOKMARK NOT DEFINED.

5.COMPONENTES BSICOS DEL MODELO CLIENTE-SERVIDOR


................................................. ERROR! BOOKMARK NOT DEFINED.
6.PROGRAMACIN CLIENTE-SERVIDOR ...... ERROR! BOOKMARK
NOT DEFINED.
PROLOGO
AGRADECIMIENTOS
1. INTRODUCCION

1.1.INTERNET.
El internet (o, tambin, la internet)3 es un conjunto descentralizado de redes de
comunicacin interconectadas que utilizan la familia de protocolos TCP/IP, lo cual garantiza que
las redes fsicas heterogneas que la componen formen una red lgica nica de alcance
mundial. Sus orgenes se remontan a 1969, cuando se estableci la primera conexin
de computadoras, conocida como ARPANET, entre tres universidades en California (Estados
Unidos).
Uno de los servicios que ms xito ha tenido en internet ha sido la World Wide Web (WWW o
la Web), hasta tal punto que es habitual la confusin entre ambos trminos. La WWW es un
conjunto de protocolos que permite, de forma sencilla, la consulta remota de archivos
de hipertexto. Esta fue un desarrollo posterior (1990) y utiliza internet como medio de
transmisin.4
Existen, por tanto, muchos otros servicios y protocolos en internet, aparte de la Web: el envo
de correo electrnico (SMTP), la transmisin de archivos (FTP y P2P), las conversaciones en
lnea (IRC), la mensajera instantnea y presencia, la transmisin de contenido y comunicacin
multimedia telefona (VoIP), televisin (IPTV), los boletines electrnicos (NNTP), el acceso
remoto a otros dispositivos (SSH y Telnet) o los juegos en lnea.456
El uso de internet creci rpidamente en el hemisferio occidental desde la mitad de la dcada
de 1990, y desde el final de la dcada en el resto del mundo.7 En los 20 aos desde 1995, el
uso de internet se ha multiplicado por 100, cubriendo en 2015 a la tercera parte de la poblacin
mundial.89 La mayora de las industrias de comunicacin,
incluyendo telefona, radio, televisin, correopostal y peridicos tradicionales estn siendo
transformadas o redefinidas por el Internet, permitiendo el nacimiento de nuevos servicios
como correo electrnico] (email), telefona por internet, televisin por Internet, msica digital,
y video digital. Las industrias de publicacin de peridicos, libros y otros medios impresos se
estn adaptando a la tecnologa de los sitios web, o estn siendo reconvertidos en blogs, web
feeds o agregadores de noticias online (p. ej., Google Noticias). Internet tambin ha permitido o
acelerado nuevas formas de interaccin personal a travs de mensajera instantnea, foros de
Internet, y redes sociales como Facebook. El comercio electrnico ha crecido
exponencialmente para tanto grandes cadenas como para pequeos y mediana empresa o
nuevos emprendedores, ya que permite servir a mercados ms grandes y vender productos y
servicios completamente en lnea. Relaciones business-to-business y de servicios financieros
en lnea en internet han afectado las cadenas de suministro de industrias completas.

1.2. PROTOCOLOS TCP/IP.


TCP/IP es un conjunto de protocolos que permiten la comunicacin entre los ordenadores
pertenecientes a una red. La sigla TCP/IP significa Protocolo de control de
transmisin/Protocolo de Internet y se pronuncia "T-C-P-I-P". Proviene de los nombres de
dos protocolos importantes incluidos en el conjunto TCP/IP, es decir, del protocolo TCP y del
protocolo IP.

En algunos aspectos, TCP/IP representa todas las reglas de comunicacin para Internet y se
basa en la nocin de direccin IP, es decir, en la idea de brindar una direccin IP a cada equipo
de la red para poder enrutar paquetes de datos. Debido a que el conjunto de protocolos TCP/IP
originalmente se cre con fines militares, est diseado para cumplir con una cierta cantidad de
criterios, entre ellos, dividir mensajes en paquetes, usar un sistema de direcciones, enrutar datos
por la red y detectar errores en las transmisiones de datos.

El conocimiento del conjunto de protocolos TCP/IP no es esencial para un simple usuario, de la


misma manera que un espectador no necesita saber cmo funciona su red audiovisual o de
televisin. Sin embargo, para las personas que desean administrar o brindar soporte tcnico a
una red TCP/IP, su conocimiento es fundamental.

Para poder aplicar el modelo TCP/IP en cualquier equipo, es decir, independientemente del
sistema operativo, el sistema de protocolos TCP/IP se ha dividido en diversos mdulos. Cada
uno de stos realiza una tarea especfica. Adems, estos mdulos realizan sus tareas uno
despus del otro en un orden especfico, es decir que existe un sistema estratificado. sta es la
razn por la cual se habla de modelo de capas.

El trmino capa se utiliza para reflejar el hecho de que los datos que viajan por la red atraviesan
distintos niveles de protocolos. Por lo tanto, cada capa procesa sucesivamente los datos
(paquetes de informacin) que circulan por la red, les agrega un elemento de informacin
(llamado encabezado) y los enva a la capa siguiente.

El modelo TCP/IP es muy similar al modelo OSI (modelo de 7 capas) que fue desarrollado por
la Organizacin Internacional para la Estandarizacin (ISO) para estandarizar las
comunicaciones entre equipos.

1.3. MODELO CLIENTE-SERVIDOR.


TCP es un protocolo orientado a conexin. No hay relaciones maestro/esclavo. Las
aplicaciones, sin embargo, utilizan un modelo cliente/servidor en las comunicaciones.

Un servidor es una aplicacin que ofrece un servicio a usuarios de Internet; un cliente es el que
pide ese servicio. Una aplicacin 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 aplicacin, que construye una solicitud para ese
servicio y se la enva al servidor de la aplicacin 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 mltiples
peticiones(mltiples clientes) al mismo tiempo.

El trmino ordenador local se utiliza para referirse al ordenador que el usuario utiliza para entrar
en la red Internet. Desde ese ordenador el usuario establece conexiones con otros ordenadores,
denominados ordenadores remotos, a los que solicita algn servicio. Estos ordenadores
remotos que ofrecen servicios reciben tambin el nombre de servidores o host.

La utilizacin de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo


al llamado modelo cliente-servidor.
Cuando se utiliza un servicio en Internet, como consultar una base de datos, transferir un fichero
o participar en un foro de discusin, se establece un proceso en el que entran en juego dos
partes. Por un lado, el usuario, quien ejecuta una aplicacin en el ordenador local: el
denominado programa cliente. Este programa cliente se encarga de ponerse en contacto con el
ordenador remoto para solicitar el servicio deseado. El ordenador remoto por su parte
responder a lo solicitado mediante un programa que est ejecutando. Este ltimo se denomina
programa servidor. Los trminos cliente y servidor se utilizan tanto para referirse a los
programas que cumplen estas funciones, como a los ordenadores donde son ejecutados esos
programas.

El programa o los programas cliente que el usuario utiliza para acceder a los servicios de Internet
realizan dos funciones distintas. Por una parte, se encargan de gestionar la comunicacin con
el ordenador servidor, de solicitar un servicio concreto y de recibir los datos enviados por ste;
y por otra, es la herramienta que presenta al usuario los datos en pantalla y que le ofrece los
comandos necesarios para utilizar las prestaciones que ofrece el servidor.

Algunos servidores esperan las solicitudes en puertos bien conocidos de modo que sus clientes
saben a que zcalo 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 podra usar
un servicio de registro como Portmap, que utiliza un puerto bien conocido.

1.4. TIPOS DE ARQUITECTURA CLIENTE-SERVIDOR.


Ahora que conocemos los fundamentos de la tecnologa cliente/servidor, debemos analizar la
interaccin entre sus componentes para poder establecer cmo implementarla de la forma ms
adecuada.

En este sentido, deberemos realizar un anlisis previo de los requerimientos en cuanto a los
eventos que pueden producirse y las restricciones a las que se ver sometida la instalacin, el
tipo y volumen de informacin que va a procesarse, el tipo de bases de datos a utilizar y su
tamao (si son necesarias), la estimacin sobre el trfico de la red y el tiempo de respuesta, la
ubicacin fsica tanto de los datos que se van a manejar como de los procesos que la van a
procesar, etc.

Para dar respuesta a estas situaciones, estableceremos dos tipos de clasificacin diferentes: El
primero atender al tamao del lado servidor comparado con el tamao del lado cliente. El
segundo har referencia al tipo de servicio que se ofrece.
1.4.1. Clasificacin segn el tamao del lado cliente y del lado servidor

Una de las caractersticas del modelo cliente/servidor es que permite balancear la potencia de
clculo aplicada hacia el lado servidor o hacia el lado cliente, segn convenga.

Por ejemplo, si el nmero de clientes fuese elevado, y la mayora del proceso se realizara en el
lado servidor, no necesitaramos clientes muy potentes, pero probablemente necesitaramos
ampliar la potencia de clculo del lado servidor y, como situacin complementaria, tendramos
que valorar el aumento de trfico en la red.

Por otro lado, con clientes ms potentes, buena parte del clculo puede realizarse en el lado
cliente, accediendo al servidor de forma espordica. Esto derivara en un servidor con menos
necesidades de recursos, un menor trfico en la red y un mayor coste de los equipos en el lado
cliente.

Por lo tanto, Como puede deducirse, disponemos de dos alternativas:

o Cliente pesado, servidor ligero (en ingls, Thick Client, Thin Server): Aqu, tanto el nivel

de presentacin como el nivel de aplicacin se ejecutan en el lado cliente. Incluso

podran procesarse contenidos multimedia con un alto consumo de recursos. El servidor

se utiliza para tareas como el hospedaje del SGBD (Sistema Gestor de Bases de Datos)

o incluso para otras tareas menores, como administrar las tareas de impresin. En este

tipo de esquemas, incluso podra interrumpirse de forma momentnea el servicio de red

sin perjudicar de forma significativa a los clientes.

o Servidor pesado, cliente ligero (en ingls, Thick Server, Thin Client): El lado cliente se

emplea slo para el nivel de presentacin (muchas veces utilizando simplemente un

navegador web) y el lado servidor se encarga de ejecutar la aplicacin. En este tipo de

esquemas podramos disponer, incluso, de clientes sin disco duro. Otra de las ventajas

de esta opcin es que ofrecen una mayor seguridad frente a intentos de acceso indebido.

Normalmente, la segunda alternativa presenta una mayor flexibilidad y un menor coste, siempre
que se hayan resuelto los posibles problemas que mencionbamos antes.
1.4.2. Clasificacin segn el tipo de servicio que se ofrece

Obviamente, son muchos los servicios que se pueden ofrecer en una arquitectura
cliente/servidor y sera muy extenso realizar una clasificacin detallada de los tipos de servidor
atendiendo a todos los servicios que pueden ofrecer. Por ese motivo, aqu nos limitaremos a
incluir slo los ms importantes:

Servidores de archivos: Se suelen utilizar para crear almacenes de documentos en un

lugar centralizado de la red (Copias de seguridad, imgenes, plantillas de documentos,

etc.)

Servidores de bases de datos: Normalmente estn asociados a la utilizacin de

aplicaciones cliente/servidor donde un proceso cliente requiera datos al servidor de

bases de datos.

Lgicamente, el acceso a los datos ser compartido por diferentes clientes de forma simultnea
(aplicndose los mecanismos de proteccin necesarios sobre los datos ante la concurrencia de
diferentes clientes y la existencia de distintos niveles de privilegio).

Este tipo de estructuras suelen basarse en el concepto de transaccin.

Servidores de impresin (Print Server): Facilitan la comparticin de impresoras y

administra los trabajos de impresin en la red. De esta forma se permite a los clientes

que utilicen una impresora sin importar su ubicacin fsica. Un servidor de impresin

utiliza una cola para almacenar, de forma ordenada, los trabajos que recibe. Esta cola

puede ser administrada con diferentes privilegios en funcin del cliente que realice la

solicitud. Es comn que un servidor de impresin englobe tambin a un servidor de fax,

ya que se gestionan de forma similar.

Servidores de transacciones: Aplican el concepto de transaccin mencionado en las

bases de datos a la llamada de funciones o mtodos almacenados en el servidor, de

modo que el intercambio a travs de la red se limita a un solo mensaje de solicitud o

respuesta. De esta forma, se agrupan una o ms acciones en una unidad lgica que se
ejecuta como un todo, garantizndose la integridad del proceso. Estas aplicaciones

pretenden dar soporte a procedimientos y reglas en sistemas de misin crtica y se

denominan OLTP (Online transaction processing, Procesamiento de transacciones en

lnea).

Por ejemplo, un cajero automtico es un buen ejemplo de aplicacin de procesamiento

de transacciones.

Servidores de objetos: Dan soporte al procesamiento distribuido. Una determinada

aplicacin puede estar construida por diferentes objetos que pueden estar hospedados

en diferentes puntos de la red. De esta forma, un objeto puede hacer uso de los mtodos

de otros objetos sin importar dnde estn almacenados. La comunicacin entre objetos

se realiza mediante un componente llamado Object Request Broker (ORB), que sirve de

intermediario entre las solicitudes y los resultados obtenidos.

Servidores web: Su funcin consiste en devolver un determinado documento cuando un

cliente lo solicita. La comunicacin utiliza el protocolo HTTP (que est basado en RPC).

1.5. SOCKET BSD.

Un socket es un resumen de software que simula una toma de hardware que vemos en nuestra
vida diaria. A utilizar el canal de comunicacin, un programa de aplicacin (cliente o servidor)
necesita solicitar el sistema operativo para crear un socket. El programa de aplicacin puede
entonces conectar en la toma para enviar y recibir datos. Para la comunicacin de datos que se
produzca, un par de sockets, cada uno en un extremo de la comunicacin, es necesario. Figura
17.5 simula esta abstraccin mediante la toma y el enchufe que utilizamos en nuestra vida diaria
(por telfono, por ejemplo), y en el Internet una toma es una estructura de datos de software
como veremos en breve.
La distribucin de comunicados de Berkeley Software (BSD) fueron producidos y distribuidos
por el Grupo de Investigacin en Informtica de Sistemas (CSRG) de la Universidad de
California en Berkeley, BSD 4.2 fue lanzado en 1983 y en 1986 4.3BSD. Ambas versiones
corriendo en la minicomputadora VAX. El lanzamiento siguiente, 4.3BSD Tahoe en 1988,
tambin corri en una minicomputadora particular llamado la Tahoe. Esto fue seguido en 1990
con la versin 4.3BSD Reno (El libro de Leffler et al [1989] describe la liberacin Tahoe BSD
4.3.).; 4.3BSD Reno apoy muchas de las caractersticas POSIX.1.

Los sistemas BSD originales contenan propia AT & T cdigo fuente y estaban cubiertas por las
licencias de AT & T. Para obtener el cdigo fuente para el sistema BSD que tena que tener una
licencia de cdigo UNIX de AT & T. Esto cambi a medida que ms y ms el cdigo fuente de
AT & T fue sustituido en los ltimos aos con los no-AT & T y el cdigo fuente ya que muchas
de las nuevas caractersticas aadidas al sistema de Berkeley fueron derivados de la falta de
fuentes de AT & T.

En 1989, Berkeley identific la mayor parte del cdigo no AT & T de origen en la liberacin
4.3BSD Tahoe y lo puso a disposicin del pblico como el software de red BSD, la versin 1.0.
Esto fue seguido en 1991 con la versin 2.0 del software de red BSD, que se deriva de la versin
4.3BSD Reno. La intencin era que la mayora, si no todos, de que el sistema 4.4BSD sera
libre de toda AT & T restricciones de la licencia, por lo que el cdigo fuente al alcance de todos.