12. Ejemplos y ejercicios prácticos

La mejor forma de aprender los protocolos de capa de red es observarlos en acción. Este tema recopila ejercicios concretos que puedes replicar en tu entorno o en simuladores para reforzar los conceptos vistos.

12.1 Análisis de un ping y traceroute

Objetivo: verificar conectividad y observar la ruta que siguen los paquetes.

  1. Abre PowerShell y ejecuta:
    Test-Connection reddit.com -Count 4 |
      Select-Object Address, ResponseTime, IPV4Address
  2. Registra los tiempos de respuesta y compáralos entre diferentes horarios.
  3. Utiliza traceroute:
    Test-NetConnection reddit.com -TraceRoute |
      Select-Object -ExpandProperty TraceRoute
  4. Identifica cuántos saltos recorre el tráfico y detecta posibles puntos de congestión.

Usa Wireshark para ver el intercambio ICMP (Echo Request/Reply) y cómo disminuye el TTL en cada salto.

12.2 Observación del proceso ARP

Objetivo: comprender cómo se resuelven direcciones IP en MAC dentro de la red local.

  1. Vacía la caché ARP:
    arp -d *
  2. Realiza un ping a un host dentro de la misma red.
  3. Consulta la tabla para ver la nueva entrada:
    arp -a
  4. Opcional: usa Wireshark con el filtro arp y observa la solicitud “Who has” y la respuesta correspondiente.

Documenta la MAC obtenida y el tiempo que permanece en caché antes de expirar.

12.3 Configuración de DHCP y NAT en un entorno simulado

Objetivo: practicar la entrega automática de direcciones y la traducción para acceso a Internet.

  1. En Cisco Packet Tracer o GNS3, crea una topología con:
    • Un router conectado a la “nube” (Internet simulada).
    • Un switch y varios PCs en la LAN (192.168.10.0/24).
  2. Configura un pool DHCP en el router:
    ip dhcp pool LAN
     network 192.168.10.0 255.255.255.0
     default-router 192.168.10.1
     dns-server 1.1.1.1
  3. Habilita NAT sobrecargado (PAT):
    access-list 1 permit 192.168.10.0 0.0.0.255
    ip nat inside source list 1 interface GigabitEthernet0/0 overload
    interface GigabitEthernet0/0
     ip nat outside
    interface GigabitEthernet0/1
     ip nat inside
  4. Verifica con los PCs que reciben IP vía DHCP y tienen salida a Internet simulada.

Anota las traducciones NAT con show ip nat translations para entender cómo se asignan puertos externos.

12.4 Cálculo manual de subredes

Objetivo: afianzar el subneteo sin depender de calculadoras.

  1. Toma la red 192.168.50.0/24.
  2. Divide en subredes /27 (32 direcciones, 30 hosts útiles).
  3. Completa una tabla con:
    • Dirección de red.
    • Primer y último host.
    • Broadcast.
  4. Comprueba los resultados con Python:
    from ipaddress import ip_network
    
    for subred in ip_network("192.168.50.0/24").subnets(new_prefix=27):
        hosts = list(subred.hosts())
        print(f"{subred} - {hosts[0]} a {hosts[-1]} - Broadcast: {subred.broadcast_address}")

Este ejercicio fortalece la intuición sobre cuántos hosts ofrece cada prefijo y cómo documentarlos.

12.5 Ejercicio extra: monitoreo de latencias

Objetivo: automatizar la medición de latencias con Python para detectar variaciones.

import subprocess
import statistics

def latencia_promedio(host, repeticiones=5):
    comando = ["ping", "-4", host, "-n", str(repeticiones)]
    resultado = subprocess.run(comando, capture_output=True, text=True, check=True)
    tiempos = []
    for linea in resultado.stdout.splitlines():
        linea = linea.lower()
        if "time=" in linea:
            parte = linea.split("time=")[1]
        elif "tiempo=" in linea:
            parte = linea.split("tiempo=")[1]
        else:
            continue
        valor = parte.split("ms")[0].strip()
        try:
            tiempos.append(float(valor))
        except ValueError:
            continue
    if tiempos:
        return statistics.mean(tiempos)
    raise RuntimeError("No se pudieron obtener tiempos de ping")

if __name__ == "__main__":
    print(f"Latencia: {latencia_promedio('cloudflare.com'):.2f} ms")

Ejecuta el script cada cierto tiempo y grafica los resultados para evaluar la estabilidad de tu enlace.

12.6 Conclusión

Estos ejercicios conectan la teoría con la práctica y te preparan para diagnosticar redes reales. Ajusta los escenarios (tamaños de subred, cantidad de routers, servicios publicados) según tus necesidades.

En el próximo y último tema sintetizaremos los aprendizajes de la capa de red y presentaremos los siguientes pasos en el estudio de redes.