Programación de redes en Rust
286 páginas
Spanish
PDF
4.5

Programación de redes en Rust

Programación de redes en Rust

Autor:

Año:

Resumen:

Introducción

El libro «Network Programming with Rust» (autor: Abhijit Gadgil, 2018, 286 páginas) es una guía práctica dedicada a la creación de aplicaciones de red en el lenguaje Rust. En una era donde el rendimiento y la seguridad de la memoria se vuelven factores críticos, Rust ofrece una combinación única de control de bajo nivel y garantías de seguridad. El autor se propone enseñar al lector no solo a escribir código de red, sino a hacerlo de manera eficiente, utilizando todas las fortalezas del lenguaje: el sistema de propiedad (ownership), préstamo (borrowing), lifetimes y el potente sistema de tipos.

De qué trata el libro

El libro cubre una amplia gama de temas, desde los fundamentos del trabajo con sockets hasta la construcción de servidores asíncronos de alta carga. Comienza con una introducción al ecosistema de Rust y los conceptos básicos de la comunicación en red (modelo OSI, TCP/UDP). Luego se examinan secuencialmente:

  • Trabajo con sockets bloqueantes y no bloqueantes;
  • Protocolos TCP y UDP, su implementación en Rust;
  • Creación de servidores y clientes HTTP utilizando crates populares (hyper, reqwest);
  • Programación asíncrona con tokio y async/await (en el momento de la publicación del libro, futures);
  • Seguridad: cifrado TLS/SSL, trabajo con certificados;
  • Interacción con bases de datos a través de la red (ejemplo con PostgreSQL);
  • Pruebas de aplicaciones de red y depuración.

Cada capítulo contiene ejemplos prácticos de código que se pueden ejecutar y modificar de inmediato.

Para quién es este libro

El libro está dirigido a desarrolladores que ya conocen los fundamentos de Rust (sintaxis, propiedad, traits). Si recién está comenzando a aprender el lenguaje, primero debería leer The Rust Programming Language (la guía oficial). También se asume una comprensión básica de los protocolos de red (TCP/IP, HTTP).

Público objetivo:

  • Desarrolladores backend que deseen migrar a Rust para crear servicios de alto rendimiento;
  • Programadores de sistemas que trabajan en demonios de red, proxies, balanceadores de carga;
  • Estudiantes e investigadores interesados en la programación segura de sistemas;
  • Desarrolladores de C/C++ que quieran ver cómo Rust resuelve los problemas de seguridad de memoria en el código de red.

Qué aprenderá el lector

Después de leer el libro, podrá:

  • Crear servidores y clientes TCP desde cero, manejando conexiones en modo multiproceso y asíncrono;
  • Implementar sus propios protocolos sobre UDP;
  • Escribir servidores HTTP utilizando el crate hyper y manejar solicitudes/respuestas;
  • Usar tokio para construir aplicaciones de red asíncronas con una sobrecarga mínima;
  • Añadir cifrado TLS a sus aplicaciones con native-tls o rustls;
  • Trabajar con bases de datos a través de controladores de red (por ejemplo, tokio-postgres);
  • Escribir pruebas unitarias y de integración para código de red, utilizando mocks y servidores de prueba;
  • Comprender el funcionamiento interno de los crates de red populares y elegir los adecuados para sus tareas.

Puntos fuertes

El libro se destaca por varias cualidades importantes:

  • Enfoque práctico. Cada concepto está respaldado por código funcional que se puede adaptar a sus propios proyectos.
  • Inmersión profunda en la asincronía. El autor explica detalladamente el modelo async/await (a través de futures) y muestra cómo evitar errores comunes (por ejemplo, bloquear el event loop).
  • Énfasis en la seguridad. Rust es conocido por su seguridad, y el libro demuestra consistentemente cómo el sistema de tipos previene clases enteras de vulnerabilidades (race conditions, use-after-free, desbordamiento de búfer).
  • Actualidad de los ejemplos. A pesar de ser de 2018, la mayoría de los ejemplos siguen siendo relevantes,

Recommendations