Temario Maestro de Redes de Computadores
Teoría completa desde cero para el examen extraordinario · 1º Ingeniería Informática (UAX) · Todos los cálculos verificados con Python (ipaddress)
1. Cómo viaja la información
2. Modelo OSI y modelo TCP/IP
3. Dirección MAC vs dirección IP
4. La trama Ethernet, campo a campo
5. Switches y tablas MAC
6. ARP paso a paso
7. Direccionamiento IPv4: clases, máscara y CIDR
8. Subnetting paso a paso
9. VLSM (máscaras de longitud variable)
10. Fragmentación IPv4
11. Enrutamiento y tablas de rutas
12. TCP, UDP y puertos
13. DNS, DHCP e ICMP
14. Enrutamiento dinámico: RIP
15. Nivel físico: medios, tiempos y capacidad
16. Chuletario final
1. Cómo viaja la información (la idea global)
Cuando un ordenador envía datos a otro, la información no viaja de golpe: se trocea y se va «envolviendo» en capas, como una carta dentro de sobres. Cada capa añade su propia cabecera (unos bytes con información de control) delante de los datos. A eso se le llama encapsulación:
- La aplicación genera datos (por ejemplo, una petición web).
- La capa de transporte (TCP o UDP) los convierte en un segmento (añade puertos).
- La capa de red (IP, Internet Protocol, protocolo de Internet) lo convierte en un paquete o datagrama (añade direcciones IP de origen y destino).
- La capa de enlace (Ethernet) lo convierte en una trama (añade direcciones MAC y una comprobación de errores).
- La capa física lo transmite como bits (señales eléctricas, luz o radio).
10.20.0.34 envía un paquete al servidor 10.20.1.10, que está en otra red, pasando por dos routers. En los tres tramos el paquete IP lleva siempre origen 10.20.0.34 y destino 10.20.1.10. En cambio, la trama del primer tramo lleva MAC destino = la del primer router; en el segundo tramo, la del segundo router; y en el último, la del servidor. IP = destino final; MAC = siguiente salto.2. Modelo OSI y modelo TCP/IP
El modelo OSI (Open Systems Interconnection, interconexión de sistemas abiertos) es un modelo teórico de 7 capas que describe qué hace falta para que dos sistemas se comuniquen. El modelo TCP/IP es el modelo práctico de Internet, con 4 capas que agrupan las de OSI.
| Capa OSI | Qué hace | Unidad de datos (PDU) | Dispositivos / protocolos |
|---|---|---|---|
| 7. Aplicación | Servicios al usuario (web, correo, nombres) | Mensaje / datos | HTTP, DNS, DHCP, SMTP |
| 6. Presentación | Formato, cifrado, compresión | Datos | TLS, JPEG |
| 5. Sesión | Abrir/mantener/cerrar diálogos | Datos | — |
| 4. Transporte | Comunicación proceso a proceso, fiabilidad, puertos | Segmento | TCP, UDP |
| 3. Red | Direccionamiento lógico (IP) y enrutamiento extremo a extremo | Paquete / datagrama | Router, IP, ICMP |
| 2. Enlace | Entrega dentro del mismo medio, direcciones MAC, detección de errores | Trama | Switch, Ethernet, ARP |
| 1. Física | Transmitir bits por el medio | Bits | Hub, repetidor, cables, fibra |
3. Dirección MAC vs dirección IP
AA:AA:AA:AA:00:34. Los 3 primeros bytes identifican al fabricante (OUI, Organizationally Unique Identifier). Solo tiene sentido dentro de la red local: no cruza routers.10.20.0.34. Identifica al equipo en toda la red (extremo a extremo) y contiene información de a qué red pertenece (gracias a la máscara).| MAC | IP | |
|---|---|---|
| Capa | 2 (enlace) | 3 (red) |
| Tamaño | 48 bits (6 bytes) | 32 bits (4 bytes) |
| Alcance | Solo la red local (un tramo) | Todo el trayecto (extremo a extremo) |
| ¿Cambia por el camino? | Sí, en cada salto | No |
| Broadcast | FF:FF:FF:FF:FF:FF | Última dirección de la subred (p. ej. 10.20.0.255 en un /24) |
4. La trama Ethernet, campo a campo
Ethernet es la tecnología de red local (LAN, Local Area Network) dominante. Su unidad es la trama:
- Preámbulo (7 B) + SFD (Start Frame Delimiter, delimitador de inicio, 1 B): patrón de bits alternos para que el receptor se sincronice. No se cuentan en el tamaño de la trama.
- MAC destino (6 B): a quién va dirigida en este tramo. Es el primer campo tras el SFD para que el switch pueda decidir cuanto antes.
- MAC origen (6 B): quién la envió en este tramo. Los switches la usan para aprender.
- Tipo/Longitud (2 B): si vale ≥ 1536 (0x0600) es un EtherType: indica el protocolo encapsulado (
0x0800IPv4,0x0806ARP,0x86DDIPv6). Si vale ≤ 1500 es la longitud del payload (formato IEEE 802.3). - Datos (46–1500 B): el paquete IP (u otro protocolo). Si los datos ocupan menos de 46 B se añade relleno (padding) hasta 46. El máximo, 1500 B, es la MTU (Maximum Transmission Unit, unidad máxima de transmisión) de Ethernet.
- FCS (Frame Check Sequence, secuencia de comprobación de trama, 4 B): un CRC-32 (Cyclic Redundancy Check, comprobación de redundancia cíclica). El receptor lo recalcula: si no coincide, descarta la trama. Solo detecta errores, no los corrige ni retransmite (recuperar los datos es trabajo de capas superiores, p. ej. TCP).
0x05DC = 1500 ≤ 1500 → es una Longitud (IEEE 802.3), no un EtherType.5. Switches y tablas MAC
Un switch (conmutador) une equipos dentro de la misma red local y trabaja en capa 2. Mantiene una tabla MAC (tabla de direcciones) que asocia cada dirección MAC con el puerto por el que se alcanza. Funciona así:
- Aprende: cuando entra una trama, apunta «la MAC de ORIGEN de esta trama vive en este puerto».
- Reenvía: busca la MAC de DESTINO en la tabla. Si la conoce → envía la trama solo por ese puerto.
- Inunda (flooding): si la MAC de destino no está en la tabla, o es broadcast (
FF:FF:FF:FF:FF:FF), envía la trama por todos los puertos excepto el de entrada. - El switch no modifica la trama (no toca las MAC ni las IP). Cada puerto de un switch es un dominio de colisión separado (un hub, en cambio, comparte uno solo). Los switches no separan dominios de difusión (broadcast); eso lo hacen los routers.
AA...34 → puerto 1, CC...10 → puerto 3. Llega por el puerto 2 una trama con origen BB...77 y destino CC...10. El switch (1) aprende BB...77 → puerto 2; (2) como conoce CC...10, reenvía la trama solo por el puerto 3. Si el destino hubiera sido EE...99 (desconocido), la habría inundado por los puertos 1, 3, 4... (todos menos el 2).6. ARP paso a paso
10.20.0.34/24) quiere enviar a 10.20.1.10. Compara: 10.20.1.10 no está en 10.20.0.0/24 → hay que ir por el gateway 10.20.0.1. PC-A pregunta por ARP «¿quién tiene 10.20.0.1?» (no por la .10), recibe la MAC del router y envía la trama con IP destino 10.20.1.10 pero MAC destino la del router.7. Direccionamiento IPv4: clases, máscara y CIDR
Una dirección IPv4 tiene 32 bits divididos en dos partes: parte de red (común a todos los equipos de la misma red) y parte de host (identifica al equipo dentro de ella). La frontera la marca la máscara de red.
Notación CIDR
/n tras la IP significa «los n primeros bits son de red». Ejemplo: /24 = los 24 primeros bits (3 octetos) son de red y quedan 32−24 = 8 bits para hosts → máscara 255.255.255.0. La máscara son n unos seguidos de ceros: /26 = 11111111.11111111.11111111.11000000 = 255.255.255.192.Clases históricas (por el primer octeto)
| Clase | Primer octeto | Máscara por defecto | Ejemplo |
|---|---|---|---|
| A | 1 – 126 | /8 (255.0.0.0) | 10.20.0.34 |
| B | 128 – 191 | /16 (255.255.0.0) | 172.16.0.1 |
| C | 192 – 223 | /24 (255.255.255.0) | 192.168.24.5 |
| D (multicast) | 224 – 239 | — | 224.0.0.9 (lo usa RIP v2) |
Direcciones especiales: 127.0.0.1 = loopback (el propio equipo). Rangos privados (no válidos en Internet, definidos en RFC 1918): 10.0.0.0/8, 172.16.0.0/12 (172.16–172.31), 192.168.0.0/16.
Red, broadcast y rango útil
- Dirección de red: todos los bits de host a 0. Identifica la subred; no se asigna a ningún equipo.
- Dirección de broadcast (difusión): todos los bits de host a 1. Llega a todos los equipos de la subred; tampoco se asigna.
- Rango útil: de red+1 a broadcast−1. Hosts útiles = 2bits de host − 2.
192.168.24.77/27. Bits de host = 32−27 = 5 → bloque = 25 = 32. Los múltiplos de 32 en el último octeto son 0, 32, 64, 96... El 77 cae entre 64 y 95 → red = 192.168.24.64, broadcast = 192.168.24.95, rango útil .65 – .94, hosts útiles = 32−2 = 30. Máscara: 255.255.255.224.8. Subnetting (dividir una red en subredes) paso a paso
Subnetting = tomar prestados bits de la parte de host para crear varias subredes más pequeñas. Método del bloque, en 5 pasos:
- ¿Cuántas subredes necesito? Tomo s bits tales que 2s ≥ nº de subredes. (¿Cuántos hosts por subred? Dejo h bits tales que 2h−2 ≥ hosts.)
- Nueva máscara = máscara original + s bits. Ej.: /24 en 4 subredes → s=2 → /26.
- Tamaño del bloque = 2bits de host = 256 − último octeto de la máscara. Para /26: bloque 64 (máscara .192, 256−192=64).
- Enumerar subredes: desde la red original, saltando de bloque en bloque: .0, .64, .128, .192.
- Para cada subred: red = inicio del bloque; broadcast = red + bloque − 1; rango útil = entre ambos; hosts = bloque − 2.
10.20.3.0/24 en 4 subredes iguales: s=2 (2²=4) → nueva máscara /26 (255.255.255.192), bloque 64, hosts útiles por subred 62.①
10.20.3.0/26 (broadcast .63) ② 10.20.3.64/26 (broadcast .127) ③ 10.20.3.128/26 (broadcast .191) ④ 10.20.3.192/26 (broadcast .255).9. VLSM: máscaras de longitud variable
10.20.4.0/24 entre: Dpto-1 (100 hosts), Dpto-2 (50), Dpto-3 (20) y un enlace entre routers (2).① 100 hosts → 27−2=126 → /25 →
10.20.4.0/25 (.0–.127).② 50 hosts → 26−2=62 → /26 →
10.20.4.128/26 (.128–.191).③ 20 hosts → 25−2=30 → /27 →
10.20.4.192/27 (.192–.223).④ 2 hosts → 2²−2=2 → /30 →
10.20.4.224/30 (.224–.227).Queda libre desde .228. Ninguna subred se solapa (verificado con
ipaddress).10. Fragmentación IPv4
Cada enlace tiene una MTU (Maximum Transmission Unit): el tamaño máximo de paquete IP que admite (Ethernet: 1500 B). Si un router debe reenviar un datagrama más grande que la MTU de salida, lo trocea en fragmentos. Cada fragmento es un datagrama IP completo con su propia cabecera (normalmente 20 B). Los campos implicados de la cabecera IPv4:
- Identification (identificación, 16 bits): el mismo valor en todos los fragmentos de un datagrama; permite al destino saber qué piezas van juntas.
- Flags (3 bits): DF (Don't Fragment, no fragmentar): si vale 1 y hay que fragmentar, el router descarta el paquete y devuelve un error ICMP «Fragmentation needed». MF (More Fragments, hay más fragmentos): vale 1 en todos los fragmentos salvo el último (0).
- Fragment Offset (desplazamiento, 13 bits): posición de los datos del fragmento dentro de los datos originales, medida en bloques de 8 bytes.
Receta de cálculo
- Datos a enviar = Total Length − cabecera (normalmente −20).
- Payload máximo por fragmento = ⌊(MTU − 20) / 8⌋ × 8 (redondear hacia abajo a múltiplo de 8).
- Nº de fragmentos = ⌈datos / payload⌉.
- Offset del fragmento k = bytes acumulados antes de él ÷ 8. MF=1 en todos menos el último.
- Total Length de cada fragmento = sus datos + 20. El reensamblado lo hace solo el destino final, nunca los routers intermedios.
11. Enrutamiento y tablas de rutas
Un router (encaminador) une redes distintas. Al recibir un paquete mira la IP de destino y consulta su tabla de rutas, cuyas filas tienen: red de destino (con máscara), siguiente salto (next hop: la IP del router vecino, o «directa» si la red está conectada a él) e interfaz de salida.
- Longest prefix match (coincidencia de prefijo más largo): si varias filas encajan con la IP destino, gana la de máscara más larga (la más específica).
- Ruta por defecto
0.0.0.0/0: encaja con cualquier destino; se usa solo si ninguna otra fila encaja (su prefijo, 0, es el más corto). Es el «si no sé adónde, por aquí». - Siguiente salto: siempre una IP directamente alcanzable (del mismo enlace). El router hace ARP por ella para poner la MAC destino de la nueva trama, decrementa el TTL (Time To Live, tiempo de vida) en 1, recalcula el checksum y reenvía. Si TTL llega a 0, descarta y avisa con ICMP.
10.20.1.0/24 directa, 10.20.0.0/24 → 172.16.0.1, 10.20.2.0/24 → 172.16.0.6, 0.0.0.0/0 → 203.0.113.2. Llega un paquete para 10.20.2.77: encajan 10.20.2.0/24 (prefijo 24) y 0.0.0.0/0 (prefijo 0). Gana /24 → siguiente salto 172.16.0.6. Para 8.8.8.8 solo encaja la default → 203.0.113.2.12. TCP, UDP y puertos
La capa de transporte comunica procesos (aplicaciones), no solo máquinas. Para ello usa puertos (números de 16 bits): el servidor escucha en un puerto conocido y el cliente usa un puerto efímero (alto, p. ej. 52344).
| TCP (Transmission Control Protocol) | UDP (User Datagram Protocol) | |
|---|---|---|
| Conexión | Orientado a conexión (handshake de 3 pasos) | Sin conexión |
| Fiabilidad | Fiable: confirma (ACK), reordena, retransmite | No fiable: envía y olvida |
| Cabecera | 20 bytes | 8 bytes |
| Usos | HTTP/HTTPS (80/443), correo, FTP | DNS (53), DHCP (67/68), streaming, voz |
- Establecimiento (three-way handshake): cliente → SYN (seq=x); servidor → SYN-ACK (seq=y, ack=x+1); cliente → ACK (ack=y+1). El SYN consume un número de secuencia.
- Números de secuencia y ACK: el seq numera el primer byte del segmento; el ACK indica el siguiente byte que se espera recibir = seq recibido + bytes recibidos.
- MSS (Maximum Segment Size, tamaño máximo de segmento) = MTU − 20 (IP) − 20 (TCP). Con MTU 1500 → MSS 1460.
- Cierre: intercambio de FIN/ACK en ambos sentidos.
13. DNS, DHCP e ICMP
DNS
DNS (Domain Name System, sistema de nombres de dominio): traduce nombres (www.uax.es) a direcciones IP. Las consultas normales usan UDP puerto 53. Sin DNS habría que memorizar las IP de cada servidor.
DHCP
DHCP (Dynamic Host Configuration Protocol, protocolo de configuración dinámica de hosts): asigna automáticamente a un equipo su IP, máscara, gateway y servidor DNS. Usa UDP puertos 67 (servidor) y 68 (cliente) y el diálogo DORA: Discover (el cliente pregunta en broadcast), Offer (el servidor ofrece una IP), Request (el cliente la pide), Ack (el servidor confirma y fija el tiempo de cesión o lease).
ICMP
ICMP (Internet Control Message Protocol, protocolo de mensajes de control de Internet): mensajes de error y diagnóstico de la capa de red: «destino inalcanzable», «TTL agotado» (lo usa traceroute), «fragmentación necesaria». El comando ping usa ICMP Echo Request / Echo Reply para comprobar si un equipo responde. En la cabecera IPv4, el campo Protocol indica qué va dentro: 1 = ICMP, 6 = TCP, 17 = UDP.
14. Enrutamiento dinámico: RIP
Las rutas pueden configurarse a mano (estáticas) o aprenderse solas con un protocolo de enrutamiento dinámico. RIP (Routing Information Protocol, protocolo de información de enrutamiento) es el más simple, de tipo vector de distancias:
- Métrica = número de saltos (routers atravesados). Máximo 15; 16 = infinito (red inalcanzable).
- Cada router envía su tabla a los vecinos cada 30 segundos.
- Problema: converge lento y puede formar bucles (count-to-infinity, contar hasta infinito) cuando cae una red.
- Mitigaciones: split horizon (horizonte dividido: no anunciar una ruta por la misma interfaz por la que se aprendió), poison reverse (anunciarla con métrica 16), triggered updates (avisar inmediatamente de los cambios).
15. Nivel físico: medios, tiempos y capacidad
Elección del medio
| Medio | Alcance orientativo | Cuándo usarlo |
|---|---|---|
| Par trenzado (cobre, UTP/F/UTP) | ≤ 100 m | Cableado horizontal de planta; apantallado (F/UTP, S/FTP) si hay interferencias electromagnéticas (EMI) |
| Fibra multimodo | cientos de metros | Backbone entre plantas/edificios cercanos |
| Fibra monomodo | kilómetros | Enlaces entre sedes, largas distancias |
Tiempos
ttx (transmisión) = tamaño en bits / ancho de banda. tprop (propagación) = distancia / velocidad de propagación (≈2·108 m/s en cable). El último bit llega en ttx + tprop. ¡Ojo con pasar bytes a bits (×8)!
Capacidad del canal
Nyquist (canal sin ruido, M niveles de señal): C = 2·B·log2(M). Shannon (canal con ruido): C = B·log2(1 + S/N), pasando antes los decibelios a lineal: S/N = 10dB/10. Shannon es el techo absoluto: no se supera añadiendo niveles.
16. Chuletario final
| Prefijo | Máscara | Bloque | Hosts útiles |
|---|---|---|---|
| /24 | 255.255.255.0 | 256 | 254 |
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 14 |
| /29 | 255.255.255.248 | 8 | 6 |
| /30 | 255.255.255.252 | 4 | 2 |
- Viaje del paquete: IP no cambia; MAC = siguiente salto; ARP por el gateway; 1 ARP por tramo; TTL −1 en cada router.
- Trama: 64 mín / 1518 máx; payload 46–1500; umbral 1536 = 0x0600; 0x0800 IPv4, 0x0806 ARP; FCS = CRC-32, solo detecta.
- Fragmentación: payload = ⌊(MTU−20)/8⌋×8; nº = ⌈datos/payload⌉; offset en unidades de 8; MF=1 salvo el último; reensambla el destino.
- Rutas: longest prefix match; 0.0.0.0/0 = default; next hop = IP vecina directamente alcanzable.
- Transporte: MSS = MTU−40; ACK = seq + bytes recibidos; DNS UDP 53; DHCP UDP 67/68 (DORA); HTTP 80; HTTPS 443; Protocol IP: 1 ICMP, 6 TCP, 17 UDP.
- RIP: saltos, 16 = ∞, actualiza cada 30 s, split horizon.
- Físico: cobre ≤100 m; EMI → apantallado; km → monomodo; ttx=bits/BW; tprop=d/v; Nyquist 2·B·log₂M; Shannon B·log₂(1+S/N), dB→10dB/10.