Fundamentos de Protocolos de Red y Programación de Servidores en Java

DNS: Resolución de Nombres

El objetivo principal de los nombres de dominio y del servicio DNS es traducir o resolver nombres (por ejemplo, www.dominio.es) en las direcciones IP (identificador binario) de cada equipo conectado a la red, con el propósito de poder localizar y direccionar estos equipos dentro de la red.

  • Permite que una misma dirección IP sea compartida por varios dominios.
  • Permite que un mismo dominio se corresponda con diferentes direcciones IP.
  • Permite que cualquier servicio de red pueda cambiar de nodo, y por tanto de IP, sin cambiar de nombre de dominio.

El Protocolo FTP

El protocolo FTP (Protocolo de Transferencia de Archivos) proporciona un mecanismo estándar de transferencia de archivos entre sistemas a través de redes TCP/IP.

  • Permite el intercambio de archivos entre máquinas remotas a través de la red.
  • Consigue una conexión y una transferencia de datos muy rápidas.
  • El servidor proporciona su servicio a través de dos puertos:
    • Puerto 20: Para transferencia de datos.
    • Puerto 21: Para transferencia de órdenes de control (conexión y desconexión).
  • El cliente se conecta al servidor haciendo uso de un puerto local mayor de 1024 y tomando como puerto destino del servidor el 21.

Correo Electrónico y Protocolo SMTP

El correo electrónico es un servicio que permite a los usuarios enviar y recibir mensajes y archivos rápidamente a través de la red. Algunas consideraciones importantes sobre el servicio de correo a través de SMTP:

  • El protocolo SMTP se encarga del transporte del correo saliente desde la máquina del usuario remitente hasta el servidor que almacena los mensajes de los destinatarios.
  • El usuario remitente redacta su mensaje y lo envía hacia su servidor de correo.
  • Desde allí se reenvía al servidor del destinatario, quien lo descarga del buzón en la máquina local mediante el protocolo POP3, o lo consulta vía web haciendo uso del protocolo IMAP.

Protocolo HTTP y Estructura de una URL

El protocolo HTTP (Protocolo de Transferencia de Hipertexto) es un conjunto de normas que posibilitan la comunicación entre servidor y cliente, permitiendo la transmisión de información (páginas HTML o páginas web). Es el método más común de intercambio de información en la World Wide Web.

Estructura de una URL

  • Protocolo: El protocolo que se usa para comunicar.
  • Nombre host: Nombre del host que proporciona el servicio o servidor.
  • Puerto: El puerto de red en el servidor para conectarse. Si no se especifica, se utiliza el puerto por defecto.
  • Ruta (Path): La ruta al recurso en el servidor.
  • Referencia: Fragmento que indica una parte específica dentro del recurso.

Métodos asociados: getProtocol(), getHost(), getPort(), getDefaultPort(), getFile(), getRef().

Ejemplos de Implementación en Java

// Configuro el logger y establezco el formato
fh = new FileHandler("c:\\MyLogFile.log", true);
logger.addHandler(fh);
logger.setLevel(Level.ALL);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);

// Añado un mensaje al log
logger.log(Level.WARNING, "Mi primer log");

Validación de DNI y Propiedades del Sistema

pat = Pattern.compile("[0-9]{8}-[a-zA-Z]");
mat = pat.matcher(dni_cliente);
if(mat.find()) {
    System.out.println("Correcto!! " + dni_cliente);
} else {
    System.out.println("El DNI está mal " + dni_cliente);
}

Servidor Multihilo (Socket)

class HiloDespachador extends Thread {
    public HiloDespachador(Socket socketCliente) {
        this.socketCliente = socketCliente;
    }

    public static void main(String[] args) {
        try {
            ServerSocket socServidor = new ServerSocket(puerto);
            while (true) {
                Socket socketCliente = socServidor.accept();
                new HiloDespachador(socketCliente).start();
            }
        } catch (IOException ex) {}
    }
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.