Los clientes de Teredo esencialmente envuelven un paquete IPv6 en un paquete UDP IPv4 y lo reenvían a un servidor de Teredo.
- El servidor de Teredo está ejecutando una dirección IPv4 de acceso público.
- El servidor reenvía el paquete IPv4 encapsulado en IPv6 a su destino.
- El cliente de Teredo utiliza el tráfico “keep alive” con el servidor.
- Esto mantiene el mapeo NAT entre el puerto de origen del cliente y la dirección IP pública (la IP pública del “cliente” o del router).
- Hay un intervalo de “refresco” en el que el cliente verifica que el puerto fuente sigue siendo válido.
- Este intervalo es variado aleatoriamente por el servicio de Teredo.
- Los puertos fuente pueden ser propensos a cambiar y es importante que el servidor de Teredo sepa cómo volver al cliente.
- Teredo actúa casi como un servicio de reenvío de puertos dinámico que mantiene un seguimiento tanto de la dirección IP pública _como del puerto fuente del cliente.
- Al mantener el seguimiento del puerto fuente y la IP esto permite al servidor de Teredo llegar directamente de vuelta al cliente, esencialmente pasando por alto NAT sin necesidad de ninguna configuración.
Teredo no parece jugar muy bien con NAT simétrico.
- El NAT simétrico cambia aleatoriamente el puerto de origen “exterior” por sesión
- Primero se cambia la dirección IP de la dirección no enrutada de la fuente a la dirección IP pública.
- Siguiente el puerto de origen se cambia aleatoriamente, existiendo el mapeo sólo en la memoria del enrutador.
- Cuando la comunicación se completa el puerto de origen ya no está en uso
- Se elige un nuevo puerto de origen aleatorio para la siguiente sesión.
De alguna manera Teredo en Windows Vista y más reciente supera esto, pero aún no he encontrado una explicación clara de cómo.
Por favor, lea la IETF RFC sobre Teredo para más detalles.
Nota: Me doy cuenta de que este tema es bastante antiguo, pero actualmente es el mayor éxito en la búsqueda interna de Superusuario de “Qué es Teredo Tunneling”. Quería dar una respuesta más genérica ya que eso es lo que estaba buscando cuando llegué aquí.