Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Descripción general de NAPT determinista para servicios de próxima generación

En Servicios de próxima generación con MX-SPC3, puede configurar los servicios DEterminísticos NAPT44 y NAPT64. Los servicios deterministas NAPT de próxima generación usan un algoritmo para asignar bloques de puertos de destino.

El servicio determinista de servicios de próxima generación NAPT44 garantiza que la dirección Y el puerto IPv4 originales de origen siempre se asignen al mismo rango de puertos y direcciones IPv4 posteriores a TDR, y que la asignación inversa de una dirección Y puerto IPv4 externos traducidos siempre se asignen a la misma dirección IPv4 interna.

El servicio determinista de servicios de próxima generación NAPT64 garantiza que la dirección IPv6 original y el puerto original siempre se asignen al mismo rango de puertos y direcciones IPv4 posteriores a TDR, y que la asignación inversa de una dirección Y puerto IPv4 externos traducidos siempre se asignen a la misma dirección IPv6 interna.

Para obtener información detallada sobre cómo configurar NAPT determinista, consulte Configurar NAPT determinista para servicios de próxima generación.

Beneficios de la NAPT determinista

  • Elimina la necesidad de registro de traducción de direcciones, ya que una dirección IP siempre se asigna al mismo rango de puertos y direcciones IP externas, y la asignación inversa de una dirección IP y un puerto externos traducidos siempre se asignan a la misma dirección IP interna.

Descripción de algoritmos NAPT deterministas

La efectividad de su implementación de NAPT determinista depende del análisis de sus requisitos de suscriptor. El tamaño de bloque que proporcione indica cuántos puertos estarán disponibles para cada dirección de suscriptor entrante del intervalo en la from cláusula especificada en la regla TDR correspondiente. El algoritmo de asignación calcula un valor de desplazamiento para determinar el puerto y la dirección IP de salida. Se utiliza un algoritmo inverso para derivar la dirección del suscriptor de origen.

Nota:

Para rastrear suscriptores sin usar registros, un ISP debe usar un algoritmo inverso para derivar una dirección de suscriptor (fuente) de una dirección traducida.

Las siguientes variables se utilizan en el cálculo hacia adelante (dirección IP del suscriptor privado a la dirección IP pública) y el cálculo inverso (dirección IP pública a dirección IP privada de suscriptor):

  • Pr_Prefix: cualquier dirección de suscriptor IPv4 anterior a TDR.

  • Pr_Port: cualquier puerto de protocolo previo a TDR.

  • Block_Size: número de puertos configurados para estar disponibles para cada Pr_Prefix.

    Si block-size se configura como cero, el método para calcular el tamaño del bloque se calcula de la siguiente manera:

    tamaño de bloque = int(64512/ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)])

    donde 64512 es el rango de puerto máximo disponible por dirección IP pública.

  • Base_PR_Prefix: primera dirección de suscriptor utilizable antes de TDR IPv4 en una from cláusula de la regla TDR.

  • Base_PU_Prefix: primera dirección de suscriptor después de TDR IPv4 configurada en el grupo TDR.

  • Pu_Port_Range_Start: primer puerto después de TDR utilizable. Este es 1024.

  • Pr_Offset: es el desplazamiento de la dirección IP anterior a TDR que se traduce de la primera dirección de suscriptor IPv4 que se puede utilizar antes de TDR en una from cláusula de la regla TDR. PR_Offset = Pr_Prefix, Base_Pr_Prefix.

  • PR_Port_Offset: desplazamiento de la dirección IP anterior a TDR multiplicado por el tamaño del bloque. PR_Port_Offset = Pr_Offset * Block_Size.

  • Pu_Prefix: dirección post-TDR para una Pr_Prefix determinada.

  • Pu_Start_Port: puerto de inicio post-NAT para un flujo desde un Pr_Prefix dado

  • Pu_Actual_Port: el puerto post-TDR se ve en un flujo inverso.

  • Nr_Addr_PR_Prefix— Número de direcciones de suscriptor IPv4 que se pueden utilizar antes de TDR en una from cláusula de la regla TDR.

  • Nr_Addr_PU_Prefix: número de direcciones IPv4 post-NAT utilizables configuradas en el conjunto TDR.

  • Rounded_Port_Range_Per_IP— Número de puertos disponibles para cada dirección IP post-NAT. Rounded_Port_Range_Per_IP = ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)] * Block_Size.

  • Pu_Offset: desplazamiento de la dirección IP post-TDR desde la primera dirección post-TDR utilizable. Pu_Offset = Base_Pu_Prefix Pu_Prefix.

  • Pu_Port_Offset— Desplazamiento del puerto post-TDR de 1024 agregado al producto del desplazamiento de la dirección IP post-TDR y la cantidad de puertos disponibles para cada dirección IP post-TDR. Pu_Port_Offset = (Pu_Offset * Rounded_Port_Range_Per_IP) + (Pu_Actual_Port – Pu_Port_Range_Start).

Uso de algoritmo: suponga las siguientes configuraciones:

Traducción directa

  1. Pr_Offset =Pr_Prefix ( Base_Pr_Prefix – brechas en el grupo de IP privadas

    Nota:

    Cuando la piscina de IP privadas está compuesta por varias piscinas que no son contiguas, la Pr_Offset debe contar solo las IP privadas en las piscinas. Así que es la suma de:

    • El desplazamiento dentro del conjunto en el que cae la IP.

    • El tamaño de los grupos con IP más bajas.

  2. Pr_Port_Offset = Pr_Offset * Block_Size

  3. Rounded_Port_Range_Per_IP = ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)] * Block_Size

  4. Pu_Prefix = Base_Public_Prefix + piso(Pr_Port_Offset / Rounded_Port_Range_Per_IP)

    Nota:

    Cuando la agrupación de IP públicas está compuesta por varias piscinas que no son contiguas, la Pu_Offset debe contar solo las IP públicas en las piscinas. Por lo tanto, la suma debe estar pensada como:

    • Si el valor floor(Pr_Port_Offset / Rounded_Port_Range_Per_IP) es mayor que el tamaño de la first Public IP pool, reste el tamaño de este primer grupo del valor. Luego, considere el segundo tamaño del grupo.

    • Repita el proceso hasta que el valor sea menor que el n-ésima agrupación.

  5. Pu_Start_Port = Pu_Port_Range_Start + (Pr_Port_Offset % Rounded_Port_Range_Per_IP)

Con la configuración de ejemplo y suponiendo un flujo de suscriptor procedente de 10.1.1.250:5000:

  1. Pr_Offset = 10.1.1.250 – 10.1.0.1 = 505

  2. Pr_Port_Offset = 505 * 249 = 125.745

  3. Rounded_Port_Range_Per_IP = ceil[(65, 533/254)] * 249 = 259 * 249 = 64.491

  4. Pu_Prefix = 203.0.113.1 + suelo (125.745 /64.491) = 203.0.113.1 +1 = 203.0.113.2

  5. Pu_Start_Port = 1024 + (125,745 % 64,491) = 62278

    • 10.1.1.250 se traduce a 203.0.113.2.

    • El puerto de partida es 62278. Hay 249 puertos disponibles para el suscriptor según el tamaño de bloque configurado. El rango de puertos disponible abarca los puertos 62278 a 62526 (incluidos).

    • El flujo específico 10.1.1.250:5000 asigna aleatoriamente cualquiera de los puertos de su rango porque se especificó la asignación aleatoria.

Traducción inversa

  1. Pr_Offset =Pr_Prefix ( Base_Pr_Prefix – brechas en el grupo de IP privadas

    Nota:

    Cuando la piscina de IP privadas está compuesta por varias piscinas que no son contiguas, la Pr_Offset debe contar solo las IP privadas en las piscinas. Así que es la suma de:

    • El desplazamiento dentro del conjunto en el que cae la IP.

    • El tamaño de los grupos con IP más bajas.

  2. Pu_Port_Offset = (Pu_Offset * Rounded_Port_Range_Per_IP) + (Pu_Actual_Port – Pu_Port_Range_Start)

  3. Subscriber_IP = Base_Pr_Prefix + piso(Pu_Port_Offset / Block_Size)

La traducción inversa se determina de la siguiente manera. Supongamos que un flujo vuelve a 203.0.113.2:62278.

  1. Pu_Offset = 203.0.113.2 – 203.0.113.1 = 1

  2. Pu_Port_Offset = (1 * 64.491) + (62.280 - 1024) = 125.747

  3. Subscriber_IP = 10.1.0.1 + piso (125.747 / 249) = 10.1.0.1 + 505 = 10.1.1.250

    Nota:

    En la traducción inversa, solo se puede derivar la dirección IP privada original y no el puerto original en uso. Esto es lo suficientemente detallado para los requisitos de las fuerzas del orden.

Cuando haya configurado NAPT determinista, puede usar los comandos y show services nat deterministic-nat nat-port-block para mostrar la show services nat deterministic-nat internal-host asignación hacia adelante e inverso. Sin embargo, las asignaciones cambiarán si reconfigura el tamaño de bloque de asignación de puerto determinista o la cláusula para la from regla TDR. Para proporcionar información histórica sobre las asignaciones, recomendamos que escriba scripts que puedan mostrar asignaciones específicas para configuraciones anteriores.

Restricciones de NAPT deterministas

Cuando configure NAPT determinista, tenga en cuenta lo siguiente:

  • Para la configuración de dirección de host DEterminista NAT64 de IPv6, admitemos el último cambio de 32 bits (4 byte) del prefijo de host IPv6. Esto significa que solo podemos configurar máscaras de prefijo /96 para la dirección IPv6, que admite un número máximo de dirección de 232 para un prefijo IPv6. La dirección de host se especifica en la [services nat source pool p1 port deterministic host] jerarquía de configuración.

  • Por lo general, el número de direcciones en el rango de host debe ser mayor que el número de direcciones del grupo.

  • Prácticas recomendadas:

    No recomendamos que el número de dirección de host se configure para superar el número total de recursos de bloque de puerto, ya que es posible que algunos hosts no reciban correctamente un recurso de bloqueo de puerto.

  • El tamaño de bloque mínimo para TDR determinista es 1. Si configura un tamaño de bloque más pequeño, se produce un error en la confirmación. Si el tamaño del bloque está configurado en 0, el tamaño del bloque se calculará automáticamente según el número de host y el número de dirección traducido. Si el tamaño de bloque calculado es menor que 1, se produce un error en la confirmación.

  • En el caso de NAPT determinista de servicios de última generación, puede configurar una combinación de direcciones de host IPv4 e IPv6 juntas en un conjunto TDR en una dirección de host o una lista de nombres de direcciones, sin embargo. el número total de prefijo de host no puede superar 1000.

  • No puede configurar un rango de direcciones o un nombre DNS en un nombre de libreta de direcciones de host.

  • El prefijo de dirección de host configurado y el nombre de la libreta de direcciones de host se combinan si sus prefijos se superponen. Puede usar el show services nat source deterministic comando operativo para mostrar los prefijos combinados.

  • Prácticas recomendadas:

    Recomendamos que las direcciones de host del suscriptor sean coherentes con varias reglas que coincidan con el prefijo de dirección de origen, si se utiliza el mismo conjunto de TDR determinista en varias reglas; de lo contrario, es posible que el tráfico de hosts que no estén configurados en el conjunto de TDR, incluso que coincida con la regla TDR, no asigne el puerto correctamente.

  • En el caso de los servicios NAPT de última generación, la cantidad total de direcciones de host configuradas debe ser mayor o igual que los bloques de puerto TDR deterministas disponibles.