Direcciones teredo
Una dirección Teredo consta de lo siguiente:
Prefijo Teredo
Los primeros 32 bits son para el prefijo Teredo, que es el mismo para todas las direcciones Teredo. Windows XP y Windows Server 2003 usaron inicialmente el prefijo 3FFE:831F::/32 Teredo. El prefijo definido para Teredo en RFC 4380 es 2001::/32 y es el prefijo usado por Teredo en Windows Vista y Windows Server 2008. Los equipos que ejecutan Windows XP y Windows Server 2003 usarán el prefijo Teredo 2001::/32 cuando se actualice con el Boletín de seguridad de Microsoft MS06-064.
Dirección IPv4 del servidor Teredo
Los siguientes 32 bits contienen la dirección pública IPv4 del servidor Teredo que ayudó a configurar esta dirección Teredo. Para obtener más información, vea "Configuración inicial para clientes Teredo" en este artículo.
Marcas
Los 16 bits siguientes para están reservados para las marcas teredo. En el caso de los clientes Teredo basados en Windows XP, la única marca definida es el bit de orden alto conocido como la marca Cone. La marca Cone se establece cuando el cliente teredo está detrás de una NAT de cono. La determinación de si la NAT conectada a Internet es una NAT de cono se produce durante la configuración inicial del cliente teredo. Para obtener más información, vea "Configuración inicial para clientes Teredo" en este artículo.
En el caso de los clientes Teredo basados en Windows Vista y Windows Server 2008, los bits sin usar dentro del campo Marcas proporcionan un nivel de protección frente a los exámenes de direcciones por parte de usuarios malintencionados. Los 16 bits dentro del campo Marcas para los clientes Teredo basados en Windows Vista y Windows Server 2008 constan de lo siguiente: CRAAAAUG AAAAAAAAAA. El bit de C es para la marca Cone. El bit de R está reservado para uso futuro. El bit U es para la marca Universal/Local (establecida en 0). El bit G es una marca individual o de grupo (establecida en 0). Los bits A se establecen en un número generado aleatoriamente de 12 bits. Mediante el uso de un número aleatorio para los bits A, un usuario malintencionado que ha determinado el resto de la dirección teredo capturando el intercambio de configuración inicial de paquetes entre el cliente teredo y el servidor Teredo tendrá que intentar hasta 4096 (212) direcciones diferentes para determinar la dirección de un cliente teredo durante un examen de direcciones.
Puerto externo oculto
Los siguientes 16 bits almacenan una versión oculta del puerto UDP externo correspondiente a todo el tráfico teredo para este cliente teredo. Cuando el cliente teredo envía su paquete inicial a un servidor Teredo, el puerto UDP de origen del paquete se asigna mediante nat a un puerto UDP externo diferente. El cliente teredo mantiene esta asignación de puertos para que permanezca en la tabla de traducción de NAT. Por lo tanto, todo el tráfico teredo del host usa el mismo puerto UDP externo asignado. El puerto UDP externo viene determinado por el servidor Teredo desde el puerto UDP de origen del paquete inicial entrante enviado por el cliente teredo y enviado de vuelta al cliente teredo.
El puerto externo está oculto por XORing el puerto externo con 0xFFFF. Por ejemplo, la versión oculta del puerto externo 5000 en formato hexadecimal es EC77 (5000 = 0x1388, 0x1388 XOR 0xFFFF = 0xEC77). Ocultar el puerto externo impide que los NAT traduzcan el puerto externo dentro de la carga de los paquetes que reenvían.
Dirección externa oculta
Los últimos 32 bits almacenan una versión oculta de la dirección IPv4 externa correspondiente a todo el tráfico teredo para este cliente teredo. Al igual que el puerto externo, cuando el cliente teredo envía su paquete inicial a un servidor Teredo, la dirección IP de origen del paquete se asigna mediante nat a una dirección externa (pública) diferente. El cliente teredo mantiene esta asignación de direcciones para que permanezca en la tabla de traducción de NAT. Por lo tanto, todo el tráfico teredo del host usa la misma dirección IPv4 externa, asignada y pública. La dirección IPv4 externa viene determinada por el servidor Teredo desde la dirección IPv4 de origen del paquete inicial entrante enviado por el cliente teredo y enviado de vuelta al cliente teredo.
La dirección externa está oculta por XORing la dirección externa con 0xFFFFFFFF. Por ejemplo, la versión oculta de la dirección IPv4 pública 131.107.0.1 en formato hexadecimal de dos puntos es 7C94:FFFE (131.107.0.1 = 0x836B0001, 0x836B0001 XOR 0xFFFFFFFF = 0x7C94FFFE). Ocultar la dirección externa impide que las NAT traduzcan la dirección externa dentro de la carga de los paquetes que están reenviando.