Conceptos Fundamentales de los Protocolos de Red
Los programas son, en última instancia, los iniciadores y receptores de las transmisiones de datos. El número de aplicaciones que envían y reciben datos se ha disparado en los últimos años.
Distinciones Clave
- Aplicación/Programa: Software que se comunica directamente con el usuario final.
- Servicio: Software que no se comunica directamente con el usuario final, sino con otros servicios.
- Protocolo: Conjunto de reglas que deben seguir los programas (ya sean servicios o aplicaciones) para intercomunicarse entre ellos.
Funciones Básicas de los Protocolos
Todas las aplicaciones en Internet se adhieren a protocolos definidos por organismos internacionales. En general, todos los protocolos cumplen una serie de funciones básicas:
- Formato de los mensajes.
- Instrucciones para la entrega.
- Inicio/cierre de sesión.
- Comunicación de errores.
- Interacción entre programas.
Para estandarizar el formato de los mensajes, se ha desarrollado UNICODE.
El Modelo Cliente/Servidor
En Internet, y en casi cualquier red, muchos programas funcionan de forma dividida:
- Servidor: Programa que espera peticiones, ejecuta tareas y devuelve resultados.
- Cliente: Programa que solicita tareas a un servidor especializado.
Servidores y Servicios: Aclaración de Términos
- Servidor (Hardware): Equipo físico (ordenador) destinado a proporcionar servicios.
- Servidor (Software): Programa que ofrece servicios (e-mail, HTTP, etc.). En UNIX, a menudo se denomina «daemon» o «demonio».
- Servicio: Se refiere exclusivamente al software que ofrece servicios.
Servicios Populares en Internet
- Mensajería instantánea (IM)
- Juegos
- DNS (Domain Name System)
- WWW (World Wide Web)
- Descargas
- Acceso remoto (Telnet y/o SSH)
- DHCP
E-mail: Componentes y Protocolos
El correo electrónico tiene dos componentes principales:
- MTA (Mail Transfer Agent): El programa servidor de correo. Escucha peticiones de:
- Envío de correo.
- Descarga de correo.
- MUA (Mail User Agent): El programa que usa el usuario para enviar y recibir correos (por ejemplo, Outlook, Thunderbird).
Proceso de envío de correo:
- Los MTA de un dominio (por ejemplo, gmail.com) buscan los servidores de los destinatarios (por ejemplo, hotmail.com).
- Preguntan si existe un destinatario con el nombre indicado.
- Si no existe, el MTA emisor recibe un mensaje de «destinatario inexistente».
- Si existe, el MTA emisor entrega el mensaje al MTA receptor.
- Cuando el destinatario se conecta, recibe el mensaje.
Protocolos de correo:
- SMTP (Simple Mail Transfer Protocol): Utilizado para la comunicación entre MTAs.
- POP3 (Post Office Protocol versión 3): Utilizado para la comunicación entre clientes MUA y servidores MTA. Descarga los mensajes al cliente.
- IMAP (Internet Message Access Protocol): Similar a POP3, pero permite ver la lista de mensajes antes de descargarlos individualmente.
Configuración de Agentes de Usuario (MUA)
- No todos los proveedores ofrecen correo descargable por POP.
- Se deben configurar:
- Uso de seguridad/cifrado.
- Servidor y puerto de correo entrante.
- Servidor y puerto de correo saliente (pueden ser los mismos).
Correo Web Integrado
Algunos clientes, como Thunderbird, permiten leer correo web directamente en el cliente.
Configuración de un Servidor de Correo
- Es posible enviar correo a una IP si tiene el puerto correspondiente abierto.
- Evitar el «relay» (reenvío de correos de parte de otros) para prevenir SPAM.
Mensajería Instantánea (IM)
- Los programas de IM suelen tener protocolos propietarios.
- XMPP (Extensible Messaging and Presence Protocol): Protocolo abierto para mensajería instantánea.
Juegos en Línea
- Algunos juegos utilizan TCP/IP.
- Otros juegos utilizan IPX/SPX (protocolos de Novell) para un mejor rendimiento.
WWW (World Wide Web) y HTTP
El protocolo HTTP se basa en:
- Petición: Solicitud del cliente.
- Respuesta: Respuesta del servidor.
Tipos de peticiones HTTP:
- GET: Solicita un recurso.
- PUT: Envía un recurso.
- POST: Envía parámetros de un formulario.
Apache: Configuración y Seguridad
Apache se configura mediante el archivo httpd.conf
. Hay tres grupos principales de directivas:
- Comportamiento interno.
- Sitio web principal.
- Hosts virtuales (sitios web adicionales en el mismo servidor).
Directivas importantes:
DocumentRoot
: Indica la raíz donde se almacenan los archivos HTML.
Verificación de la configuración:
- Ejecutar
httpd -t
en el directorioApache/bin
.
Seguridad:
- Se puede exigir autenticación (usuario y contraseña) para acceder a directorios específicos.
- Opciones:
- Sin cifrado: Comunicación más rápida, pero vulnerable a sniffers.
- Con cifrado: Mayor seguridad, pero comunicación potencialmente más lenta.
- Creación de usuarios y contraseñas con
htdigest
. - Configuración de la seguridad en
httpd.conf
(ejemplo proporcionado en el texto original).
DNS (Domain Name System)
DNS traduce nombres de dominio (como coca-cola.com) a direcciones IP (como 167.45.65.13).
Organización y Jerarquía
- Los proveedores de Internet ofrecen servidores DNS públicos (puerto 53 UDP/TCP).
- Los países ofrecen sus propios servidores de nombres.
- Las empresas suelen usar servidores caché.
- Jerarquía de resolución de nombres (ejemplo detallado en el texto original).
- Redirecciones: Un dominio puede apuntar a la IP de otro dominio.
BIND: Servidor DNS
- BIND es un servidor de nombres que se puede ejecutar localmente.
- Requiere un archivo de configuración (ejemplo en el texto original).
- Desinstalación: Ejecutar
BINDInstall
(Uninstall) enc:\windows\system32\dns\bin
. - Configuración: Cambiar la contraseña del usuario BIND, añadir el directorio de BIND al PATH y reiniciar.
FTP (File Transfer Protocol)
FTP es un protocolo para la transferencia de archivos, basado en una arquitectura cliente/servidor.
- Utiliza dos conexiones:
- Puerto 21 (TCP): Comandos.
- Puerto 20 (TCP): Transferencia de datos.
Comandos FTP Comunes
open
: Inicia una conexión. El usuario anónimo suele ser «anonymous».dir
: Muestra los archivos disponibles.get
: Descarga un archivo.mget
: Descarga múltiples archivos (admite comodines).bin
: Fuerza la transferencia en modo binario.close
,bye
,exit
: Cierra la conexión.- Acceso FTP desde el navegador:
ftp://usuario@direccion_ip