2. Con el siguiente resultado Netstat, un ingeniero de red nuevo sospecha que su equipo host ha sufrido un ataque exterior a los puertos 1070 y 1071. ¿Cómo respondería?
C:\> netstat -n Conexiones activas Protocolo TCP TCP C:\> | Dirección Local 127.0.0.1:1070 127.0.0.1:1070 | Dirección extranjera 127.0.0.1:1071 127.0.0.1:1070 | Estado ESTABLISHED ESTABLISHED |
3. Investigue cuál es la configuración de su equipo y rellene la tabla adjunta.
Dirección IP | |
Máscara de red | |
Puerta de enlace | |
Dirección MAC | |
DNS | |
Tipo de Adaptador |
SOLUCIÓN
1 Para rellenar la tabla con las conexiones entrantes y salientes se ejecutará el siguiente comando sobre la línea de comandos, si el equipo tiene el sistema operativo Windows, o bien desde una terminal si lo hace con el sistema operativo Linux: netstat
2 No ha sufrido ningún ataque exterior. De entrada, las conexiones establecidas son del mismo equipo, por lo que se entiende que se ha establecido una comunicación entre dos aplicaciones del mismo equipo.
3 Para rellenar la tabla con su configuración de red debe ejecutar los siguientes comandos:Para Windows: Ejecutar ipconfig sobre la línea de comandos de la siguiente forma: ipconfig /allPara Linux: Ejecutar ifconfig
4. Estructura Cliente/Servidor
Antes de explicar en qué consiste este modelo, es necesario presentar una serie de conceptos básicos para situarse en una perspectiva:
1 Sistema distribuido: la definición de sistema distribuido es algo compleja, ya que depende de qué aspecto se resalte dentro del sistema. Sin embargo, una buena definición podría ser: “sistema cuyos componentes hardware y software, conectados en red, establecen una comunicación y se coordinan para un fin concreto y además ofrecen una visión de sistema único”. Los objetivos que debe cumplir un sistema distribuido son:Facilitar el acceso de los usuarios a ciertos recursos remotos.Proporcionar transparencia de distribución.Soportar interconexión con otros sistemas.Proporcionar escalabilidad al sistema.
2 Arquitectura centralizada: es el modelo que siguen los sistemas distribuidos en los que los nodos solo pueden comunicarse a través de un nodo central.
3 Arquitectura descentralizada: es el modelo que siguen los sistemas distribuidos con una estructura en forma de árbol, donde existen nodos que actúan como nodos intermedios, que actúan a su vez como nodos centrales en un entorno local.
4 Arquitectura distribuida: se trata del modelo que siguen los sistemas distribuidos en el que todos los nodos pueden actuar como emisores y receptores a la vez.
El modelo cliente/servidor es un sistema distribuido que es evolución de un tipo de arquitectura centralizada, aunque sin llegar a serlo del todo. En este modelo, los nodos son procesos, entendidos como aplicaciones independientes.
Existen dos tipos de procesos: los clientes (front-end), que se encargan de solicitar peticiones de conexión para obtener información, y los servidores (back-end), que tratan esas peticiones, obtienen la información y la envían a los procesos clientes.
Las características básicas de una arquitectura cliente/servidor se pueden resumir en la siguiente lista:
1 El proceso cliente proporciona la interacción con el usuario y el resto del sistema, mientras que el servidor gestiona los recursos compartidos.
2 El proceso cliente y servidor tienen diferentes requisitos en cuanto a velocidad de cómputo, memoria, capacidad y la velocidad de disco, etc.
3 Los procesos clientes y servidor pueden ejecutarse en el mismo nodo.
4 Un servidor puede dar soporte a múltiples clientes.
5 Los clientes realizan peticiones y, por lo tanto, son agentes activos, mientras que los servidores actúan como pasivos en la comunicación.
6 La relación entre los clientes y los servidores se limita a la comunicación del mensaje.
7 La plataforma de hardware y el sistema operativo que dan soporte a los procesos pueden ser distintos.
8 Es un sistema escalable tanto horizontal (a nivel de clientes) como vertical (a nivel de servidores).
En función del servicio:
1 Servidores de archivos: NFS, SAMBA, etc.
2 Servidores de base de datos: el mensaje son peticiones SQL, Oracle, SQL Server.
3 Servidores de transacciones: el mensaje es la transacción (Conjunto de peticiones SQL), OLP, etc.
4 Servidores web: el mensaje son las peticiones HTTP.
La evolución del modelo cliente/servidor ha provocado que aparezca un tercer protagonista en este tipo de arquitecturas: el middleware. Se trata de un módulo o capa intermedia entre los clientes y los servidores. Esta capa proporciona una interfaz común que pueden usar los clientes para hacer las peticiones de servicio a los servidores, haciendo transparente la comunicación entre los nodos del sistema.
Definición
Middleware
Su definición más formal sería: conjunto de servicios y funciones reutilizables, expandibles, que permiten a muchas aplicaciones interactuar en un ambiente interconectado, ocultando la heterogeneidad y proporcionando un modelo de programación conveniente para los desarrolladores de aplicaciones.
Es un software que se basa en la reusabilidad y en los estándares para resolver problemas y tareas comunes que se encuentran en el ámbito del desarrollo de software.
Ejemplos: ODBC/JDBC, HTTP y SLL, CORBA, DCOM, JAVA RMI, etc.
5. Resumen
El tiempo ha colocado a TCP/IP en el puesto que le corresponde dentro de la computación de las comunicaciones. Basado en un buen modelo descriptivo, este le ha otorgado una longevidad poco usual en el mundo informático. Sin lugar a dudas, los conceptos que subyacen en el conjunto de estos protocolos son la pieza más importante para comprender correctamente cómo funciona Internet al nivel de detalle necesario por el administrador de servidores. Al mismo tiempo, establecen las reglas para definir nuevos servicios de acceso para los usuarios de internet y para los modelos de negocio que están por llegar.
La arquitectura cliente/servidor ofrece un nivel más abstracto sobre el funcionamiento de modelos de comunicación avanzados y a la misma vez da las claves para entenderlos. En la informática actual, este modelo es muy importante porque resuelve una gran cantidad de problemas muy comunes dentro del ámbito de la computación y lo hace de forma elegante.
Ejercicios de repaso y autoevaluación
1. Si tuviera que montar un servidor sobre un sistema operativo Linux, ¿qué distribución de Linux escogería y de qué dependería esa elección?
2. Durante mucho tiempo se estuvo investigando en descripciones conceptuales de comunicación entre elementos de una red, con el fin de elaborar un modelo de referencia que fuera lo suficientemente genérico para