Relacion Funcional - P2P y Cliente - Servidor

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 14

Redes por relación funcional

Es aquella red que tiene relación con otras redes.


Las redes pueden organizarse o trabajar de acuerdo con dos tipos de planteamientos
funcionales:
Redes cliente-servidor. Un servidor es el ordenador central o más importante de una red.
Es el encargado de gestionar la información centralizada o corporativa (normalmente es el
que la almacena), así como de aplicar las normas de acceso a ella. También cumple la
función de gestionar la configuración propia de la red y del acceso a sus recursos y
dispositivos.
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.

El resto de los ordenadores de la red se denominan clientes o terminales y son los puestos
desde los cuales los usuarios se comunican con el ordenador central. Los ordenadores
clientes pueden ser terminales puros (solo tienen un monitor y un teclado/ratón; carecen de
unidad central) o, más frecuentemente, ordenadores personales (PC) autónomos que pueden
trabajar de forma independiente y conectarse a los recursos del servidor cuando sea
necesario.
Redes punto a punto. (También se denominan redes peer to peer o redes entre iguales).
En este tipo de redes, todos los nodos o estaciones de trabajo se comportan simultánea-
mente como clientes y como servidores. En general, las redes entre iguales suelen ser
modelos válidos en redes pequeñas y simples, con pocos datos, pocos recursos que
compartir y pocos usuarios (menos de diez).
ARQUITECTURA CLIENTE – SERVIDOR
La red Cliente/Servidor es aquella red de comunicaciones en la que todos los clientes están
conectados a un servidor, que puede ser cualquier computadora en el que se centralizan los
diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los
clientes cada vez que estos son solicitados. Estos servicios son programas que proporcionan
datos como la hora, archivos, una conexión, cliente de correo electrónico, etc.
La principal característica es que en este tipo de redes los roles están bien definidos y no se
intercambia; los clientes en ningún momento pueden tener el rol de servidores y viceversa.
Ventajas
o Centralización del control: los accesos, recursos y la integridad de los datos son
controlados por el servidor.
o Fácil mantenimiento: al estar distribuidas las funciones y responsabilidades entre
varios ordenadores independientes, es posible remplazar, reparar, actualizar, o
incluso trasladar un servidor.
Desventajas
o La congestión del tráfico ha sido siempre un problema en el paradigma de C/S
o El paradigma de C/S clásico no tiene la robustez de una red P2P.
o El software y el hardware de un servidor son generalmente muy determinantes.
o El cliente no dispone de los recursos que puedan existir en el servidor.
IGUAL A IGUAL (P2P)
Red descentralizada que no tiene clientes ni servidores fijos, sino que tiene una serie de
nodos que se comportan simultáneamente como clientes y servidores de los demás nodos
de la red. Cada nodo puede iniciar, detener o completar una transacción compatible.
Contrasta con el modelo cliente-servidor.
En la arquitectura igual a igual no hay un servidor exclusivo. Debido a esto, cada equipo en
dicha red hace las veces de servidor y de cliente al mismo tiempo. Esto significa que cada
equipo en la red puede compartir libremente sus propios recursos. Un equipo que esté
conectado a una impresora incluso podría compartirla para que los demás equipos puedan
tener acceso a ella a través de la red.
Desventajas de la arquitectura igual a igual
o Las redes igual a igual tienen diversas desventajas:
o El sistema no está centralizado y esto dificulta la administración
o Falta de seguridad
Por lo tanto, las redes igual a igual sólo son útiles para una pequeña cantidad de equipos (en
general cerca de 10) y sólo son adecuadas para aplicaciones que no requieran un nivel alto
de seguridad (no se aconseja para redes de negocios que posean datos confidenciales).
Ventajas de la arquitectura igual a igual
o Costos reducidos (los costos de dichas redes son de hardware, cableado y
mantenimiento)
o Simplicidad claramente demostrada.
RELACIÓN FUNCIONAL
1. Cliente-Servidor: es aquella red de comunicaciones en la que todos los clientes están
conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con
que se cuenta; y que los pone a disposición de los clientes cada vez que estos son
solicitados.

Esto significa que todas las gestiones que se realizan se concentran en el servidor, de
manera que en él se disponen los requerimientos provenientes de los clientes que tienen
prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos
que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc.

La principal característica es que en este tipo de redes los roles están bien definidos y no se
intercambian: los clientes en ningún momento pueden tener el rol de servidores y viceversa.

Este modelo de red Cliente/Servidor comenzó a utilizarse en la década de los noventa, y


actualmente está siendo muy utilizada en las empresas, especialmente en aquellas que se
manejan grandes volúmenes de datos. Uno de los motivos es que de esta manera se puede
mantener un control centralizado de la información, aportando con esto mayor seguridad y
mayor rendimiento a menores costos.

Ventajas

 Centralización del control: los accesos, recursos y la integridad de los datos son controlados
por el servidor de forma que un programa cliente defectuoso o no autorizado no pueda
dañar el sistema. Esta centralización también facilita la tarea de poner al día datos u otros
recursos (mejor que en las redes P2P).
 Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado.
Cualquier elemento puede ser aumentado (o mejorado) en cualquier momento, o se pueden
añadir nuevos nodos a la red (clientes y/o servidores).
 Fácil mantenimiento: al estar distribuidas las funciones y responsabilidades entre varios
ordenadores independientes, es posible reemplazar, reparar, actualizar, o incluso trasladar
un servidor, mientras que sus clientes no se verán afectados por ese cambio (o se afectarán
mínimamente). Esta independencia de los cambios también se conoce como encapsulación.
 Existen tecnologías, suficientemente desarrolladas, diseñadas para el paradigma de C/S que
aseguran la seguridad en las transacciones, la amigabilidad de la interfaz, y la facilidad de
empleo.

Desventajas

 La congestión del tráfico ha sido siempre un problema en el paradigma de C/S. Cuando una
gran cantidad de clientes envían peticiones simultáneas al mismo servidor, puede ser que
cause muchos problemas para éste (a mayor número de clientes, más problemas para el
servidor). Al contrario, en las redes P2P como cada nodo en la red hace también de
servidor, cuanto más nodos hay, mejor es el ancho de banda que se tiene.
 El paradigma de C/S clásico no tiene la robustez de una red P2P. Cuando un servidor
está caído, las peticiones de los clientes no pueden ser satisfechas. En la mayor parte de
redes P2P, los recursos están generalmente distribuidos en varios nodos de la red. Aunque
algunos salgan o abandonen la descarga; otros pueden todavía acabar de descargar
consiguiendo datos del resto de los nodos en la red.
 El software y el hardware de un servidor son generalmente muy determinantes. Un
hardware regular de un ordenador personal puede no poder servir a cierta cantidad de
clientes. Normalmente se necesita software y hardware específico, sobre todo en el lado del
servidor, para satisfacer el trabajo. Por supuesto, esto aumentará el coste.
 El cliente no dispone de los recursos que puedan existir en el servidor. Por ejemplo, si
la aplicación es una Web, no podemos escribir en el disco duro del cliente o imprimir
directamente sobre las impresoras sin sacar antes la ventana previa de impresión de los
navegadores.

2. Igual-a-Igual (p2p): Una red peer-to-peer (P2P) o red de


pares, es una red de computadoras en la que todos o algunas
propiedades funcionan sin clientes ni servidores fijos, sino que
son serie de nodos con un comportamiento igual entre sí. De allí
su nombre red de pares o iguales.

Esto quiere decir que actúan de manera simultánea como


clientes y servidores con respecto a los demás nodos que tiene la
red. Este tipo de funcionamiento permite el intercambio directo de información, en
cualquier formato, entre todas las computadoras interconectadas.

La particularidad de que mediante este sistema se pueda compartir e intercambiar


información directa entre dos o más usuario ha llevado a que los usuarios utilicen esta red
para intercambiar archivos cuyo contenido está sujeto a las leyes de copyright, lo que ha
provocado una gran polémica frente a este sistema.

Estas redes peer-to-peer aprovechan, administran y optimizan el uso del ancho de banda de
los restantes usuarios de la red a través de la conectividad que se da entre ellos, obteniendo
así conexiones y transferencias con más rendimiento que con métodos convencionales. Se
las utiliza para compartir ficheros o archivos de audio, de video, de software.

Ventajas

 Costos reducidos (los costos de dichas redes son de hardware, cableado y mantenimiento).
 Simplicidad claramente demostrada.

Desventajas

 Al no existir una administración de red centralizada, se dificulta determinar quién controla


los recursos de la red.
 Debido que no hay seguridad centralizada, cada computadora debe utilizar medidas de
seguridad individuales para la protección de los datos.
 La red resulta más compleja y difícil de administrar a medida que aumenta la cantidad de
computadoras en la red.
 Es posible que no haya un almacenamiento centralizado de los datos, por lo que se deben
conservar individualmente copias de seguridad de los datos. Esta responsabilidad recae en
los usuarios individuales.

Utilidad de las aplicaciones cliente/servidor

Las aplicaciones cliente/servidor, permiten realizar diferentes tipos de tareas de manera


remota, es decir, ofrecen la posibilidad de trabajar desde un terminal con comodidad y sin
complicaciones.

Aplicaciones cliente/servidor

Una aplicación cliente/servidor, es un programa que cuenta con un frontend que establece
una conexión directa a través de una red, con un servidor que aloja el programa, servicio o
desarrollo informático al cual deseamos acceder.

Una vez establecida la conexión, el mismo cliente (software que se ejecuta del lado del
usuario), despliega una interfaz de trabajo que permite al usuario realizar la tarea de manera
cómoda y eficiente.

Directamente desde el terminal y en tiempo real, envía toda la información suministrada


por el usuario al servidor en donde se ejecuta la acción y el mismo servidor regresa el
resultado a la máquina cliente, desde donde se ha ingresado los datos, mostrando por
pantalla toda la información que ha sido procesada.
Utilidades de una aplicación cliente/servidor

Entre las principales utilidades que le podemos asignar a las aplicaciones cliente/servidor
destacan las siguientes:

 Ligereza impresionante, ya que toda la carga y consumo de recursos se hace


directamente en el servidor.
 Facilidad de mantenimiento, ya que se hace mantenimiento general en el código
principal en el servidor.
 Posibilidad de realizar trabajos dinámicos y en grupo.
 Servicio de trabajo incluso en zonas remotas, gracias a Internet.
 Posibilidad de ser desarrolladas en diversos lenguajes de programación.
 Capacidad de trabajar, por lo general, en diferentes plataformas de manera
simultánea.
P2P
Lo primero que vamos a hacer, es definir qué son las redes P2P
o Peer-to-Peer por sus siglas en inglés. Este tipo de redes de
computadoras, por lo general, se desenvuelve sin servidores
fijos y funcionan por medio de nodos, los cuales tienen un
funcionamiento parecido entre sí.

De esta manera, los nodos actúan como cliente o como


servidor, dependiendo del rol que cumpla el nodo en la comunicación de red o en la
transferencia de archivos que puedan establecerse entre los integrantes de la red P2P.

Importancia de las redes P2P

Las redes P2P, son importantes dentro del mundo de la informática, ya que ofrecen la
posibilidad de transferir e intercambiar archivos libremente y con eficiencia, entre los
diferentes miembros de la red. Así, el flujo de información es constante e independiente de
cualquier navegador web, por lo tanto, la descarga de archivos se hace directamente desde
los discos que lo alojan hasta el disco del ordenador que pide el archivo.

Otra de las características relevantes de las redes P2P, es que administran y optimizan el
ancho de banda del resto de los usuarios de la red, realizando una conectividad entre los
mismos miembros (especie de red privada). De esta manera, se logra una transferencia de
archivos mucho más eficiente y se acelera la velocidad de descarga, lo que beneficia a
todos los usuarios de la red P2P.
Aplicaciones de las redes P2P

Entre las principales aplicaciones que pueden darse a las  redes P2P, están las
siguientes:

 Son utilizadas para abaratar costos de ancho de banda y almacenamiento.


 Intercambio y búsqueda de archivos de todo tipo.
 Pueden ser utilizadas como sistemas de ficheros distribuidos.
 Para realizar llamadas telefónicas por Internet.
 Como fuente para la distribución de películas por parte de las compañías
cinematográficas.
 Han sido utilizadas como redes de procedimientos bio-informáticos.
 Como fuente de datos para investigaciones médicas y científicas.

Como podemos ver, las redes P2P pueden tener múltiples usos productivos. En la segunda
parte de este artículo, comentaremos sobre los tipos de redes P2P y los clientes P2P.
Cliente-Servidor

Es aquella red de comunicaciones en la que todos los clientes están conectados a un


servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y
que los pone a disposición de los clientes cada vez que estos son solicitados.

Esto significa que todas las gestiones que se realizan se concentran en el servidor, de
manera que en él se disponen los requerimientos provenientes de los clientes que tienen
prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos
que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc.

La principal característica es que en este tipo de redes los roles están bien definidos y no se
intercambian: los clientes en ningún momento pueden tener el rol de servidores y viceversa.

Este modelo de red Cliente/Servidor comenzó a utilizarse en la década de los noventa, y


actualmente está siendo muy utilizada en las empresas, especialmente en aquellas que se
manejan grandes volúmenes de datos. Uno de los motivos es que de esta manera se puede
mantener un control centralizado de la información, aportando con esto mayor seguridad y
mayor rendimiento a menores costos.

Arquitectura Cliente servidor.


Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa
(el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se
ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario
distribuido a través de una red de computadoras. La interacción cliente-servidor es el
soporte de la mayor parte de la comunicación por redes. Ayuda a comprender las bases
sobre las que están construidos los algoritmos distribuidos.

El servidor debe negociar con su Sistema Operativo un puerto (casi siempre bien conocido)
donde esperar las solicitudes. El servidor espera pasivamente las peticiones en un puerto
bien conocido que ha sido reservado para el servicio que ofrece. El cliente también solicita,
a su sistema operativo, un puerto no usado desde el cual enviar su solicitud y esperar
respuesta. Un cliente ubica un puerto arbitrario, no utilizado y no reservado, para su
comunicación.
En una interacción se necesita reservar solo uno de los dos puertos, asignados un
identificador único de puerto para cada servicio, se facilita la construcción de clientes y
servidores.
Los servidores por lo general son más difíciles de construir que los clientes pues, aunque se
implantan como programas de aplicación deben manejar peticiones concurrentes, así como
reforzar todos los procedimientos de acceso y protección del sistema computacional en el
que corren, y protegerse contra todos los errores posibles. El cliente y el servidor pueden
interactuar en la misma máquina.

Partes que componen el sistema


Cliente: Programa ejecutable que participa activamente en el establecimiento de las
conexiones. Envía una petición al servidor y se queda esperando por una respuesta. Su
tiempo de vida es finito una vez que son servidas sus solicitudes, termina el trabajo.
Servidor: Es un programa que ofrece un servicio que se puede obtener en una red. Acepta
la petición desde la red, realiza el servicio y devuelve el resultado al solicitante. Al ser
posible implantarlo como aplicaciones de programas, puede ejecutarse en cualquier sistema
donde exista TCP/IP y junto con otros programas de aplicación. El servidor comienza su
ejecución antes de comenzar la interacción con el cliente. Su tiempo de vida o de
interacción es “interminable”.
Los servidores pueden ejecutar tareas sencillas (caso del servidor hora día que devuelve una
respuesta) o complejas (caso del servidor ftp en el cual se deben realizar operaciones antes
de devolver una respuesta). Los servidores sencillos procesan una petición a la vez (son
secuenciales o interactivos), por lo que no revisan si ha llegado otra petición antes de enviar
la respuesta de la anterior.

Los más complejos trabajan con peticiones concurrentes aun cuando una sola petición lleve
mucho tiempo para ser servida (caso del servidor ftp que debe copiar un archivo en otra
máquina). Son complejos pues tienen altos requerimientos de protección y autorización.
Pueden leer archivos del sistema, mantenerse en línea y acceder a datos protegidos y a
archivos de usuarios. No puede cumplir a ciegas las peticiones de los clientes, deben
reforzar el acceso al sistema y las políticas de protección. Los servidores por lo general
tienen dos partes:
Programa o proceso que es responsable de aceptar nuevas peticiones: Maestro o Padre.
Programas o procesos que deben manejar las peticiones individuales: Esclavos o Hijos.

Características de la arquitectura Cliente-Servidor


 Combinación de un cliente que interactúa con el usuario, y un servidor que
interactúa con los recursos a compartir. El proceso del cliente proporciona la
interfaz entre el usuario y el resto del sistema. El proceso del servidor actúa como
un motor de software que maneja recursos compartidos tales como bases de datos,
impresoras, Módem, etc.
 Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto a
recursos de cómputo como velocidad del procesador, memoria, velocidad y
capacidades del disco e input-output devices.
 Se establece una relación entre procesos distintos, los cuales pueden ser ejecutados
en la misma máquina o en máquinas diferentes distribuidas a lo largo de la red.
 Existe una clara distinción de funciones basadas en el concepto de “servicio”, que se
establece entre clientes y servidores.
 La relación establecida puede ser de muchos a uno, en la que un servidor puede dar
servicio a muchos clientes, regulando su acceso a los recursos compartidos.
 Los clientes corresponden a procesos activos en cuanto a que son estos los que
hacen peticiones de servicios. Estos últimos tienen un carácter pasivo, ya que
esperan peticiones de los clientes.
 No existe otra relación entre clientes y servidores que no sea la que se establece a
través del intercambio de mensajes entre ambos. El mensaje es el mecanismo para la
petición y entrega de solicitudes de servicios.
 El ambiente es heterogéneo. La plataforma de hardware y el sistema operativo del
cliente y del servidor no son siempre los mismos. Precisamente una de las
principales ventajas de esta arquitectura es la posibilidad de conectar clientes y
servidores independientemente de sus plataformas.
 El concepto de escalabilidad tanto horizontal como vertical es aplicable a cualquier
sistema Cliente-Servidor. La escalabilidad horizontal permite agregar más
estaciones de trabajo activas sin afectar significativamente el rendimiento. La
escalabilidad vertical permite mejorar las características del servidor o agregar
múltiples servidores.
Ventajas del esquema Cliente-Servidor
Existencia de plataformas de hardware cada vez más baratas. Esta constituye a su vez una
de las más palpables ventajas de este esquema, la posibilidad de utilizar máquinas mucho
más baratas que las requeridas por una solución centralizada, basada en sistemas grandes
(mainframes). Además, se pueden utilizar componentes, tanto de hardware como de
software, de varios fabricantes, lo cual contribuye considerablemente a la reducción de
costos y favorece la flexibilidad en la implantación y actualización de soluciones.

 Facilita la integración entre sistemas diferentes y comparte información,


permitiendo por ejemplo que las máquinas ya existentes puedan ser utilizadas, pero
utilizando interfaces más amigables el usuario. De esta manera, se puede integrar
PCs con sistemas medianos y grandes, sin necesidad de que todos tengan que
utilizar el mismo sistema operativo.
 Al favorecer el uso de interfaces gráficas interactivas, los sistemas construidos bajo
este esquema tienen una mayor y más intuitiva con el usuario. En el uso de
interfaces gráficas para el usuario, presenta la ventaja, con respecto a uno
centralizado, de que no siempre es necesario transmitir información gráfica por la
red pues esta puede residir en el cliente, lo cual permite aprovechar mejor el ancho
de banda de la red.
 La estructura inherentemente modular facilita además la integración de nuevas
tecnologías y el crecimiento de la infraestructura computacional, favoreciendo así la
escalabilidad de las soluciones.
 Contribuye además a proporcionar a los diferentes departamentos de una
organización, soluciones locales, pero permitiendo la integración de la información.

Desventajas
 El mantenimiento de los sistemas es más difícil pues implica la interacción de
diferentes partes de hardware y de software, distribuidas por distintos proveedores,
lo cual dificulta el diagnóstico de fallas.
 Cuenta con muy escasas herramientas para la administración y ajuste del
desempeño de los sistemas.
 Hay que tener estrategias para el manejo de errores y para mantener la consistencia
de los datos.
 El desempeño (performance), problemas de este estilo pueden presentarse por
congestión en la red, dificultad de tráfico de datos, etc.
Funciones de cliente - servidor

Cliente

El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos al


servidor, se le conoce con el término front-end.

El cliente normalmente maneja todas las funciones relacionadas con la manipulación y


despliegue de datos, por lo que están desarrollados sobre plataformas que permiten
construir interfaces gráficas de usuario, además de acceder a los servicios distribuidos en
cualquier parte de una red.
Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes puntos:

 Administrar la interfaz de usuario.


 Interactuar con el usuario.
 Generar requerimientos de bases de datos.
 Recibir resultados del servidor.
 Formatear resultados.

Servidor

Es el proceso encargado de atender a múltiples clientes que hacen peticiones de algún


recurso administrado por él. Al proceso servidor se le conoce con el término back-end.

El servidor normalmente maneja todas las funciones relacionadas con la mayoría de las
reglas del negocio y los recursos de datos.

Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes puntos:

 Aceptar los requerimientos de bases de datos que hacen los clientes.


 Procesar requerimientos de bases de datos.
 Formatear datos para trasmitirlos a los clientes.
 Procesar la lógica de la aplicación y realizar validaciones a nivel de bases de datos.

También podría gustarte