Redes de Computadoras I
Internet es la cosa más asombrosa que ha construido la humanidad en colaboración. Miles de millones de máquinas, hechas por cientos de fabricantes, en miles de países, hablando un idioma común. Esto es lo que vas a entender en este libro.
Cuando escribís https://google.com en tu navegador y aparece una página en menos de un segundo, una cantidad ridícula de cosas pasan por debajo: tu computadora habla con tu router; el router habla con tu ISP; el ISP rutea hacia el backbone; el backbone llega a un datacenter de Google; el datacenter te devuelve datos; tu computadora los reensambla; el navegador los pinta. Y todo eso sigue una pila de protocolos que son el tema de este libro.
Quién debería leer este libro
- Estudiantes de Sistemas en quinto ciclo (RED515 o equivalente).
- Programadores que quieren entender qué hace el
requests.get()por dentro. - DevOps, sysadmin, ciberseguridad — sus vidas son redes.
- Cualquier curioso por entender Internet desde adentro.
Prerrequisitos
| Materia | Por qué |
|---|---|
| Programación II | Vamos a escribir clientes y servidores de red. |
| Sistemas Operativos (recomendado) | Entender procesos, hilos, sockets es muy útil. |
Cómo está organizado
Cada capítulo cubre una capa del modelo de redes:
| # | Capítulo | Qué cubre |
|---|---|---|
| 1 | Modelos y capas | OSI, TCP/IP, encapsulamiento |
| 2 | Capa física y de enlace | Bits, Ethernet, MAC, switches |
| 3 | Capa de red | IP, routing, NAT |
| 4 | Capa de transporte | TCP, UDP, puertos |
| 5 | Capa de aplicación | HTTP, DNS, TLS, sockets |
Filosofía
Las redes se enseñan de abajo hacia arriba (física → aplicación) o de arriba hacia abajo (aplicación → física). Nosotros vamos abajo hacia arriba porque sigue la pila lógica. Pero cada capítulo arranca con una pregunta de aplicación ("¿cómo viaja un email?") y la respuesta termina aterrizando en la capa.
Proyecto-hilo
Vamos a construir progresivamente un mini servidor HTTP desde cero:
- Cap 2: entender el cable / WiFi por debajo (no escribimos código todavía).
- Cap 3: enviar paquetes IP raw.
- Cap 4: abrir socket TCP, hacer handshake.
- Cap 5: parsear pedidos HTTP y responder páginas.
Al final tenés un servidor mínimo que sirve HTML y entendés exactamente qué pasa al recibir un GET.
Herramientas que vamos a usar
ping,traceroute,dig,nslookup— diagnóstico.curl— cliente HTTP de línea de comandos.netcat(nc) — la "navaja suiza" de redes.tcpdump/ Wireshark — inspección de paquetes a nivel byte.- Python's
socket,http.server,requests— para los ejercicios.
Notación
| Sigla | Significado |
|---|---|
| OSI | Open Systems Interconnection (modelo de 7 capas) |
| TCP | Transmission Control Protocol |
| IP | Internet Protocol |
| UDP | User Datagram Protocol |
| HTTP | HyperText Transfer Protocol |
| DNS | Domain Name System |
| MAC | Media Access Control (dirección física) |
| ISP | Internet Service Provider |
| RFC | Request For Comments (los documentos estándar de Internet) |
Vamos.