Está en la página 1de 16

1 SERVIDORES

1.1 ¿Qué son servidores?


Los servidores son ordenadores, al igual que las estaciones de trabajo, aunque no están
orientados al uso directo por parte del usuario final. En cambio, de destinan a prestar uno o
más servicios a los clientes de una red.

También se llama servidor a cualquier tipo informático con un hardware determinado


que suministra la información que le soliciten otros ordenadores llamados clientes. La
capacidad de almacenamiento y de memoria en un servidor físico es superior a la de un equipo
normal, ya que tiene que responder de forma rápida y eficiente a las posibles demandas de
información que tenga en un momento dado por los clientes que se conectan al mismo. La
Imagen 1 describe los componentes de hardware que componen a un equipo servidor.

El funcionamiento de un equipo servidor es permanente, ya que tiene que estar


conectado las veinticuatro horas del día durante todos los días del año. En cuanto a su
elección, hay que tener en cuenta principalmente aspectos como el procesador instalado
(velocidad, núcleos, arquitectura, etc.), la memoria RAM (cantidad, tipo, velocidad, etc.) y el
sistema de ficheros (tecnología, capacidad, velocidad de transferencia, etc.), entre otros.

Imagen 1.
Componentes físicos de un servidor
Tomado de: Capacítate para el trabajo (2023)

1.2 Estructura cliente/servidor


En la terminología de las redes, un cliente es un ordenador o una aplicación que utiliza
un cierto servicio prestado por un servidor. De hecho, se suele llamar arquitectura cliente-
servidor al modelo de aplicaciones distribuidas en el que los servidores prestan un servicio y
los clientes hacen uso de él.

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:

• El proceso cliente proporciona la interacción con el usuario y el resto del sistema,


mientras que el servidor gestiona los recursos compartidos.
• El proceso cliente y servidor tiene diferentes requisitos en cuanto a velocidad de
cómputo, memoria, capacidad y la velocidad de disco, etc.
• Los procesos clientes y servidor pueden ejecutarse en el mismo nodo.
• Un servidor puede dar soporte a múltiples clientes.
• Los clientes realizan peticiones y, por tanto, son agentes activos, mientras que los
servidores actúan como pasivos en la comunicación.
• La relación entre los clientes y los servidores se limita a la comunicación del mensaje.
• La plataforma de hardware y el sistema operativo que dan soporte a los procesos
pueden ser distintos.
• Es un sistema escalable tanto horizontal (a nivel de clientes) como vertical (a nivel de
servidores).

En función del servicio:

• Servidores de archivos: NFS, SAMBA, etc.


• Servidores de base de datos: el mensaje son peticiones SQL, Oracle, SQL Server.
• Servidores de transacciones: el mensaje es la transacción (Conjunto de peticiones SQL),
OLP, etc.
• 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 estructuras: 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.

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.

1.3 Características deseables en un servidor.


• Estabilidad: debe poder soportar las peticiones que reciba sin llegar a un colapso, pues
en caso contrario, éste quedaría inaccesible.
• Administración fácil: el servidor debe poseer herramientas que faciliten el control y la
administración.
• Seguridad: el servidor debe estar suficientemente protegido ante posibles ataques,
brechas de seguridad, virus y cualquier situación que pueda comprometer los datos
que contenga.
• Características de software: el sistema operativo debe poder dar soporte a nuevas
herramientas de programación.
• Aplicaciones de terceros: las aplicaciones de tercero deben poder integrarse en el
sistema operativo.
• Escalable y actualizable: el servidor debe poder ser escalable, permitiendo ampliar
procesador, memoria RAM, almacenamiento, etc. También deberá ser actualizable
dejando aplicar parches de seguridad y actualizaciones.

1.4 Fundamento de TCP/IP


El auge de las redes y las ventajas que suponían su uso para las empresas provocó que
muchas se decantasen por desarrollar redes propietarias, diseñando mecanismos de
comunicación diferentes y haciendo un mercado completa- mente heterogéneo en ese sentido.
Surge la necesidad de comunicación entre empresas y aparece entonces el primer gran
problema de las comunicaciones: las empresas no usan el mismo “idioma”.

1.4.1 El modelo OSI


Se trata de un modelo conceptual basado en una arquitectura de siete capas. Como se
muestra en la Imagen 2, capa está compuesta de varios protocolos, que usan los servicios que
implementa la capa inferior, mientras que proporcionan servicios para la capa superior.

Imagen 2.
Capas del modelo OSI

Tomado de: Instalación y configuración de servidores (2016)

En este modelo, la información se compone de un flujo de datos que puede viajar


desde la capa más alta a la más baja (envío) o bien, desde la capa más baja a la más alta
(recepción).
1.4.2 Capas
Las funciones dentro de cada capa son la clave para que el mensaje llegue a su destino.
A continuación, se enumeran brevemente cuáles son las más importantes dentro de cada nivel.

• Capa 7: nivel de aplicación

La capa de aplicación es la de mayor nivel en el modelo de referencia y la única que


proporciona el medio por el cual una aplicación puede establecer una comunicación. No
proporciona servicios a ninguna otra capa y sirve como punto de acceso a la red para las
aplicaciones de usuario. En resumen, proporciona los protocolos que utilizan las aplicaciones
para intercambiar información.

• Capa 6: nivel de presentación

La capa de presentación se encarga de la representación de la información,


convirtiendo el mensaje a un formato común que sea entendible por los demás protocolos de
red, y eliminando las posibles representaciones internas del mensaje debido a la plataforma
subyacente.

• Capa 5: nivel de sesión

La capa de sesión es la responsable de la gestión de las sesiones dentro de la


comunicación: apertura, mantenimiento y cierre de la sesión; y la concurrencia entre ellas.
Además, se encarga de establecer el tipo de comunicación: síncrona o asíncrona, así como de
mantener la integridad de la transacción en caso de fallo en la comunicación.

• Capa 4: nivel de transporte

Es la capa encargada de la segmentación del mensaje en unidades denominadas


“paquetes”, y su posterior ensamblaje en destino, además de mantener el flujo en la red y de
proporcionar un transporte seguro independiente de la red. Existen dos tipos de servicios para
esta capa, orientado y no orientado a la conexión. El servicio orientado a la conexión se basa
en el establecimiento de la comunicación antes del envió del mensaje, y liberación de la
conexión cuando se ha recibido la totalidad del mensaje. El servicio no orientado a la conexión
trata los “paquetes” como unidades individuales de conexión y no hace falta esperar a que el
destino haya aceptado la comunicación.

• Capa 3: nivel de red


Es la capa que se encarga del enrutamiento de los “paquetes” entre dos dispositivos
ubicados en redes geográficamente distintas. Existen dos mecanismos de funcionamiento
interno en esta capa: uso de datagramas, o bien, circuitos virtuales. Los datagramas son
unidades que se encaminan individualmente sin necesidad de establecimiento de la conexión.
Los circuitos virtuales, por el contrario, necesitan empezar estableciendo una conexión, y
además una reserva de los recursos necesarios para controlar la ruta de comunicación.

El proceso de enrutamiento de paquetes depende en gran medida del estado de la red,


por lo que paquetes que tienen el mismo destino pueden seguir caminos distintos según
criterios como: velocidad, retardo, seguridad, etc.

• Capa 2: nivel de enlace de datos

El objetivo principal de esta capa es conseguir que la información fluya sin errores
entre dos máquinas conectadas a la misma red o subred. La unidad de transmisión se
denomina trama. Sincroniza el envió de tramas en el medio físico, controla la congestión de la
red y regula el control del flujo de las tramas.

• Capa 1: nivel físico

Esta capa es la responsable de las conexiones físicas de los dispositivos en la red, en lo


que se refiere al tipo de medio que se utilizará en la comunicación (cable coaxial, cable de par
trenzado, fibra óptica, radio, etc.) y en lo que se refiere a las características del medio (tipos de
antenas, tipo de cable, etc.), además de controlar aspectos como nivel de voltaje, distancias de
transmisión máximas, etc.

1.5 El protocolo TCP/IP


TCP/IP es un conjunto de protocolos que siguen la especificación del modelo OSI y que
se usan para establecer una comunicación de datos entre dispositivos conectados a través de
una o varias redes.

El modelo OSI es una descripción conceptual mientras que TCP/IP es una especificación
de un conjunto de protocolos. TCP/IP se divide en cuatro capas o niveles. Y aunque son muchos
los protocolos que pertenecen a alguna de estas capas, son el protocolo TCP y el protocolo IP
los más famosos y, por eso, los que dan nombre al conjunto. La Imagen 3, muestra la
equivalencia de las capas de modelo OSI reflejadas en las capas de la suite de protocolos
TCP/IP.
Imagen 3
Modelo OSI y TCP/IP

Tomado de: Instalación y configuración de servidores (2016)

1.5.1 Capa de aplicación


En contraste con el modelo OSI, la capa de aplicación de TCP/IP es plenamente
responsabilidad de la aplicación que usa la comunicación mediante este conjunto de
protocolos. Cada aplicación implementaría su propio protocolo de aplicación y usaría según le
convenga el conjunto de servicios que proporciona la capa de transporte. Esto implica mayor
flexibilidad por parte de los desarrolladores sobre el software que realiza las comunicaciones.
Ejemplos muy conocidos de protocolos de aplicación serían: HTTP, SMTP, POP, FTP, TELNET, etc.

1.5.2 Capa de transporte


Esta capa está compuesta de dos protocolos únicamente: TCP y UDP, pero su
importancia es vital para las comunicaciones. Es la primera capa responsable de la
comunicación extremo a extremo. El uso de estos protocolos puede ser simultáneo por parte
de múltiples protocolos de aplicación. La capa de transporte proporciona dos servicios distintos
para definir una comunicación.

El servicio debe ser elegido en función del tipo de aplicación que esté desarrollando,
así como los requisitos que dicho software establezca para las comunicaciones: un primer
servicio, que permite establecer comunicaciones seguras y fiables; y otro, que permite rápidas
transferencias con tolerancia a la pérdida de información.

A continuación, se explican con más profundidad dos mecanismos.

1.5.2.1 TCP
TCP (Transmission Control Protocol) es el protocolo de transporte más usado por las
aplicaciones. Se utiliza para proporcionar una comunicación libre de errores y fiable. Es un
protocolo orientado a la conexión, lo que significa que la comunicación se lleva a cabo en tres
fases: establecimiento de conexión, transmisión de datos y finalización de la conexión.

La unidad de transmisión para este protocolo es la de paquete. La información a


transmitir al destino es dividida en paquetes de un tamaño fijo. El protocolo marca cada
paquete con un número de secuencia y lo envía después de haber establecido la conexión con
el destino.

Para establecer la conexión, el protocolo envía al destino un paquete de tipo SYN, el


destino interpreta este paquete como intento de establecer la conexión y, acto seguido, si todo
va bien, envía un paquete de tipo SYN ACK. Finalmente, el cliente envía un paquete ACK y, a
continuación, los paquetes correspondientes al mensaje. A este tipo de mecanismo se lo
conoce como negociación a tres pasos.

La finalización de la conexión se produce en cuatro pasos. El cliente o el servidor


pueden en cualquier momento solicitar la finalización. Para ello, el emisor envía un paquete de
tipo FIN y el receptor confirma su llegada enviando un paquete de tipo ACK.

Acto seguido, el que actuó como receptor lo hará como emisor enviando un paquete
FIN y el que actúo como emisor devolverá un paquete ACK, completando la finalización de la
conexión. Este mecanismo se conoce como negociación a cuatro pasos.

1.5.2.2 UDP

UDP es un protocolo no orientado a la conexión, lo que significa que no hace falta un


diálogo entre el origen y el destino previo al envío del mensaje. A diferencia de TCP, se trata de
un protocolo tolerante a fallos, sin control de flujo ni ordenamiento de las secuencias de bytes.
Además, el coste computacional del procesamiento de un datagrama UDP es mucho menor
que el de un datagrama TCP, por lo que está especializado en conexiones donde el retardo de
los datagramas a través de la red es crítico. En la transmisión mediante UDP puede existir
pérdida de datagramas en la red y debe ser la aplicación la encargada del control sobre esa
pérdida de información. Ejemplos de aplicaciones que usan este protocolo son aquellas que
deben recibir y/o enviar un flujo de información constante en el tiempo y donde una pequeña
pérdida de información no altera el mensaje global que se transmite: aplicaciones de
videostreaming o de VozIP.

1.5.2.3 Puertos

Para conseguir establecer la comunicación entre aplicaciones es necesario conocer, no


solo el dispositivo al que hay que conectarse, sino además qué programa, de todos los que en
ese momento están en ejecución, puede responder a esa comunicación. Esto se consigue con
el concepto de puerto, y es gestionado a nivel de la capa de transporte de TCP/IP. En concreto,
cada aplicación que puede recibir comunicación de la red se asigna a un puerto, de forma que,
si llegan datos a ese puerto, la capa de transporte devolverá esos datos a la aplicación
correspondiente.

Los puertos van desde el 0 al 65536. Los puertos dentro del rango 1 al 1024 son
puertos que ya están asignados a aplicaciones que usan protocolos de aplicación importantes y
no pueden ser reasignados. La imagen 4 muestra los puertos asignados a los servicios comunes
provistos en la red.
Imagen 4.
Puertos de red.

Tomado de: Capacítate para el empleo (2023)

1.5.3 Capa de Internet


Esta capa contiene los protocolos IP (Internet Protocol) e ICMP (Internet Control
Message Protocol). La capa de Internet tiene como principal objetivo el encaminamiento de los
paquetes hacia la red destino. En esta capa se hace necesario un concepto de direccionamiento
a la misma vez que una manera de permitir identificar un destino lógico. Ese concepto es el de
dirección IP.
1.5.3.1 IP

IP es el protocolo que se encarga del enrutamiento de los datagramas entre dos redes
que no se encuentran en la misma ubicación geográfica. Para que exista conexión a este nivel
se debe conocer cuál es la dirección IP del destino al que se quiere enviar el mensaje. Es un
protocolo no orientado a la conexión y sin comprobación de errores. Estas funciones serán
objetivo de las capas superiores.

Por lo tanto, el protocolo IP añade información de encaminamiento al datagrama para


que este sea capaz de seguir una ruta que alcance su destino a través de la red.

1.5.3.2 ICMP

ICMP es un protocolo de la capa de Internet pero tiene la particularidad de que


depende directamente del protocolo IP, por lo tanto se podría ver como un peldaño por encima
en la jerarquía de protocolos. ICMP se desarrolló principalmente para monitorizar el estado de
la red y, por lo tanto, para enviar mensajes de control de flujo, detección de destinos
inalcanzables, redireccionamiento de rutas, etc. Pero también, se puede usar como
herramienta para probar la conectividad de una red.

1.5.4 Capa de red

La capa de red es la que se encuentra conectada de forma directa al medio físico de


transmisión. Esta capa se encarga de transformar el datagrama que suministra la capa IP en
una trama de bits. Además, es la capa que añade la información necesaria para traducir la
dirección IP de la máquina en la dirección física, (MAC), necesaria para dirigir el mensaje a la
interfaz de red de la máquina destino. Esta capa está compuesta de los protocolos que se
encargan de establecer las características físicas para que el mensaje se transmita por el medio
físico. Ejemplos: ETHERNET, FDDI, etc.

1.5.4.1 ARP

Cuando un datagrama llega a la red que contiene el equipo de destino, necesita saber
identificar cuál es la máquina del extremo de la comunicación. El protocolo ARP se encarga de
obtener la dirección MAC a partir de la dirección IP del datagrama mediante una consulta a
todas las máquinas conectadas a la red. Una vez conseguida la MAC, el datagrama es enviado a
la red y la interfaz de red correspondiente se hará cargo del datagrama.
1.6 Configurando TCP/IP
Para el uso del protocolo TCP/IP es necesario la configuración del software específico
que permita al equipo informático acceder a los mecanismos que posibilitan una comunicación
a través de la red.

1.6.1 Ping
Ping es una utilidad de diagnóstico que comprueba el estado de la comunicación de
una máquina con uno o varios equipos remotos de una red TCP/IP.

Ping trabaja a nivel de capa de red. El programa usa el envío de paquetes ICMP para
comprobar la comunicación. En muchas ocasiones, se suele usar para medir la latencia de la
red entre dos puntos remotos.

Imagen 5.
Ejecución comando ping.

Tomado de: Autoría propia (2023)

1.6.2 Tracert y Traceroute


Tracert y Traceroute son dos programas que permiten seguir la pista de los paquetes
que llegan desde otro equipo de la red. Muestra datos sobre latencias y estimación de
distancias de las máquinas involucradas en la transmisión. Tracert es la herramienta de
Windows, mientras que Traceroute es la propia de Linux.

La diferencia entre ambas herramientas radica en que Tracert envía paquetes ICMP
para capturar la información de los nodos intermedios, mientras que Traceroute envía
segmentos UDP con puertos destino aleatorios. Se envían tres paquetes que son
monitorizados.

Imagen 6.
Ejecución comando tracert.

Tomado de: Autoría propia (2023)

1.6.3 Netstat
Netstat es una herramienta que proporciona un listado con las conexiones activas en
un equipo, tanto entrantes como salientes.

Imagen 7.
Ejecución comando netstat.
La primera columna indica el protocolo usado para la conexión, después se indican las
direcciones y puertos usados en los dos extremos de la conexión. La última columna muestra el
estado en el que se encuentra la conexión. El estado de una conexión puede ser alguno de los
siguientes:

• ESTABLISHED. El socket tiene una conexión establecida.


• SYN_SENT. El socket está intentando iniciar una conexión.
• SYN_RECV. Una petición de conexión fue recibida por la red.
• FIN_WAIT1. El socket está cerrado, y la conexión está finalizándose.
• FIN_WAIT2. La conexión está cerrada, y el socket está esperando que finalice la
conexión remota.
• TIME_WAIT. El socket está esperando después de cerrarse a que concluyan los
paquetes que siguen en la red.
• CLOSED. El socket no está siendo usado.
• CLOSE_WAIT. La conexión remota ha finalizado, y se espera que se cierre el socket.
• LAST_ACK. La conexión remota ha finalizado, y se espera que se cierre el socket.
Esperando el acknowledgement.
• LISTEN. El socket está esperando posibles conexiones entrantes.
• CLOSING. Ambos sockets han finalizado pero aún no fueron enviados todos los datos.
UNKNOWN. El estado del socket no se conoce.
• DELETE_TCB. Se está eliminando el búfer del control de transmisión (TCB) para la
conexión TCP.

1.6.4 Ipconfig e Ifconfig


Ipconfig muestra información sobre el tipo de adaptador de red, así como la dirección
IP, máscara de subred y puerta de enlace usados por el adaptador en las comunicaciones y
otros muchos datos. Ipconfig /all este comando enumera información de IP para cada
adaptador de red en tu sistema.
Imagen 8.
Ejecución comando ipconfig en el símbolo del sistema.

Tomado de: Autoría propia (2023)


Bibliografía

Villada Romero, J. L. (2016). Instalación y configuración del software de servidor web


(UF1271).. IC Editorial. https://elibro-
net.bdigital.sena.edu.co/es/ereader/senavirtual/44160?page=2

Carvajal Palomares, F. (2017). Instalación y configuración del software de servidor Web:


UF1271.. Editorial CEP, S.L. https://elibro-
net.bdigital.sena.edu.co/es/ereader/senavirtual/51181?page=1
Capacítate para el empleo. (s/f). Capacitateparaelempleo.org. Recuperado el 28 de
agosto de 2023, de https://capacitateparaelempleo.org/cursos/view/135

También podría gustarte