
Foundations of Python Network Programming, 3rd Edition
Brandon Rhodes, John Goerzen
- Editorial
- Apress
- Año
- 2014
- Páginas
- ~388
- Nivel
- Básico
De qué trata
Obra de referencia clásica escrita por Brandon Rhodes y John Goerzen, cuya tercera edición reescribió y actualizó íntegramente los ejemplos para Python 3 (incorporando las novedades introducidas hasta Python 3.4). El libro está orientado a desarrolladores de software, ingenieros de sistemas y administradores con experiencia previa en la sintaxis de Python que desean dominar el funcionamiento interno de las redes de comunicaciones y la construcción de clientes y servidores robustos, partiendo desde los fundamentos del transporte hasta capas de aplicación complejas.
El texto desglosa minuciosamente la pila de protocolos de Internet y las bibliotecas correspondientes en Python. En capas bajas, analiza sockets TCP y UDP mediante el módulo nativo `socket`, resolución de nombres y consultas DNS con `dnspython`, estructuración de paquetes binarios y manejo de errores de red, además del cifrado y autenticación de conexiones con TLS/SSL (`ssl`). En niveles superiores, enseña el desarrollo de clientes y servidores HTTP utilizando `requests`, `urllib` y `http.server`, la integración con WSGI y frameworks como Flask y Django, el procesamiento y envío de correo con `email`, `smtplib`, `poplib` e `imaplib`, así como administración remota y transferencia mediante Telnet, SSH con Paramiko, FTP (`ftplib`), llamadas RPC (XML-RPC y JSON-RPC), y almacenamiento en caché y colas de mensajes con Memcached y RabbitMQ. Asimismo, cubre la transición entre bucles de eventos manuales y el framework asíncrono nativo `asyncio`.
A través de una colección de servidores prototipo y el entorno de experimentación "Network Playground" (que recrea topologías con contenedores Docker en una sola máquina), el lector implementa diferentes arquitecturas de servidores: monoproceso, multihilo, multiproceso y orientadas a eventos. Su principal valor radica en la claridad conceptual y el rigor técnico con el que explica cómo viajan los datos y cómo evitar bloqueos de red o fugas de recursos antes de recurrir a abstracciones de alto nivel. Al publicarse en 2014, no abarca herramientas modernas de telemetría ni librerías de automatización de switches como Netmiko o Nornir, pero continúa siendo uno de los manuales fundacionales más sólidos para comprender la programación de red en Python.
- Python 3
- Sockets TCP y UDP
- Protocolos de red
- TLS/SSL
- asyncio
- HTTP y WSGI
- DNS y dnspython
- SSH y Paramiko
- Email (SMTP, IMAP)
- Arquitecturas de servidor
- Memcached y RabbitMQ
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

