Saltar al contenido principal

Soporte de PDN IPv6 / Dual-Stack (IPv4v6)

Guía completa para operar conexiones PDN compatibles con IPv6 a través del OmniPGW (plano de control) y OmniUPF (plano de usuario). Esta página cubre cómo se negocia y señala el tipo de PDN, la configuración requerida en ambos nodos y cómo se logra la conectividad IPv6 del UE con enrutamiento dinámico.

Para el modelo detallado de grupo de direcciones UE (coincidencia de APN, asignación, manejo de colisiones), consulte Asignación de IP de UE. Para las interfaces PFCP y Gx en general, consulte PFCP/Sxb y Diameter Gx.

Tabla de Contenidos

Descripción General

Una conexión PDN puede ser IPv4, IPv6 o IPv4v6 (dual-stack). El tipo de PDN es solicitado por el UE/SGW en la Solicitud de Creación de Sesión GTPv2 y confirmado por el PGW-C en la respuesta. Proporcionar un PDN IPv6 de extremo a extremo requiere un comportamiento coordinado a través de tres interfaces y ambos nodos:

Nodo / InterfazResponsabilidad por IPv6
OmniPGW — S5/S8Negociar tipo de PDN; asignar dirección(es) de UE; devolver la Asignación de Dirección de PDN (PAA)
OmniPGW — GxTransmitir la dirección UE al PCRF: Framed-IP-Address (IPv4) para PDNs IPv4/IPv4v6, Framed-IPv6-Prefix para PDNs solo IPv6
OmniPGW — SxbSeñalar la dirección IPv6 del UE y el tipo de PDN al UPF a través de PFCP
OmniUPF — plano de datosProgramar la búsqueda de enlace descendente IPv6; reenviar/encapsular tráfico de usuario IPv6
OmniUPF — FRRAnunciar cada ruta de host IPv6 /128 del UE al enrutador de borde a través de OSPFv3

Referencias: 3GPP TS 29.274 (GTPv2-C), 3GPP TS 29.212 (Gx), 3GPP TS 29.244 (PFCP).

Tipos de PDN

ValorTipo de PDNUE recibeContenido de PAA (TS 29.274 §8.14)
1IPv4Dirección IPv4Dirección IPv4 de 4 bytes
2IPv6Prefijo IPv6 (/64)octeto de longitud de prefijo + dirección de 16 bytes
3IPv4v6Dirección IPv4 + prefijo IPv6octeto de longitud de prefijo + 16 bytes IPv6 + 4 bytes IPv4

El PGW-C deriva el tipo de PDN efectivo del IE de Tipo de PDN, recurriendo al tipo del IE de PAA si el IE de Tipo de PDN está ausente. El mismo tipo negociado impulsa el PAA devuelto al SGW, el IE de Tipo de PDN PFCP enviado al UPF, y qué familia/familias de direcciones son asignadas.

IPv4v6 sin grupo IPv6. Si se solicita un PDN IPv4v6 pero el APN coincidente no tiene un rango IPv6 configurado, el PGW-C no falla; degrada el PDN a solo IPv4 o lo rechaza, dependiendo de si el APN es un APN de emergencia (SOS). Consulte Solicitud IPv4v6 cuando el APN no tiene grupo IPv6.

Flujo de Fin a Fin

Una Solicitud de Creación de Sesión retransmitida (mismo número de secuencia) se maneja de manera idempotente y produce la misma respuesta.

Configuración de PGW-C

Grupo de Direcciones IPv6 de UE

Las direcciones de UE se extraen de grupos por APN bajo la clave ue.subnet_map en runtime.exs. Agregue un CIDR IPv6 junto al CIDR IPv4 para cualquier APN que deba ofrecer IPv6 o dual-stack. El grupo se analiza automáticamente por familia de direcciones.

config :pgw_c,
ue: %{
subnet_map: %{
# Nombre de APN => lista de cadenas CIDR (IPv4 y/o IPv6)
default: [
"100.64.16.0/24",
"2001:db8:6f85:70::/64"
]
}
}
ParámetroTipoRequeridoPredeterminadoDescripción
ue.subnet_mapMapa-Mapea un nombre de APN (o :default) a una lista de cadenas CIDR. :default es el respaldo cuando no hay una entrada específica de APN que coincida.
(entradas de lista)Cadena (CIDR)-Un prefijo IPv4 (por ejemplo, 100.64.16.0/24) o IPv6 (por ejemplo, 2001:db8:6f85:70::/64). La familia de direcciones se detecta a partir de la cadena. Las direcciones IPv6 de UE se extraen del prefijo configurado y se señala un /64 al UE.

Para coincidencia de expresiones regulares de APN, múltiples subredes por APN, direcciones estáticas y el algoritmo de asignación, consulte Asignación de IP de UE.

Un APN con ambos un CIDR IPv4 y un CIDR IPv6 admite PDNs IPv4, IPv6 y IPv4v6; el PGW-C asigna de la familia/familias que el tipo de PDN negociado requiere (para IPv4v6, una dirección de cada uno).

Gx (Framed-IPv6-Prefix)

No se requiere configuración adicional para Gx. El PGW-C establece el AVP de dirección enmarcada Gx a partir de la dirección UE por familia:

  • PDN solo IPv6 — el prefijo IPv6 del UE se transmite utilizando el Framed-IPv6-Prefix AVP (RFC 3162 §2.3), no Framed-IP-Address (que solo transporta IPv4).
  • PDNs IPv4 e IPv4v6 — la dirección IPv4 del UE se transmite en Framed-IP-Address. Para IPv4v6, el prefijo IPv6 no se transporta en Gx (los AVPs de dirección enmarcada del CCR se derivan de la dirección IPv4); el prefijo IPv6 aún se señala al UPF a través de PFCP y al UE en el PAA.

Para un suscriptor solo IPv6, el PCRF debe estar provisionado y ser capaz de procesar Framed-IPv6-Prefix; de lo contrario, la Solicitud de Control de Crédito se descarta y la sesión falla — consulte Solución de Problemas.

Plano de Usuario (OmniUPF)

Para que un PDN IPv6 transporte tráfico, el OmniUPF debe estar habilitado para IPv6, programar la búsqueda de enlace descendente IPv6 desde la sesión PFCP que envía el PGW-C, y anunciar cada ruta de host IPv6 /128 del UE al enrutador de borde (a través de OSPFv3) para que el tráfico de enlace descendente sea atraído al UPF.

Esas son preocupaciones del plano de usuario configuradas en el OmniUPF, no en el PGW-C. Consulte la guía de IPv6 / Dual-Stack de OmniUPF para configuraciones del kernel, el grupo de UE del UPF y la publicidad de rutas OSPFv3. Desde la perspectiva del PGW-C, el único requisito es que el UPF seleccionado soporte IPv6 — el PGW-C señala la dirección IPv6 del UE y el tipo de PDN a través de PFCP (consulte PFCP/Sxb).

Tablas de Referencia

Asignación de Dirección de PDN (PAA) — TS 29.274 §8.14

Tipo de PDNDiseño del campo de dirección
IPv44 octetos: dirección IPv4
IPv61 octeto de longitud de prefijo + 16 octetos de prefijo/dirección IPv6
IPv4v61 octeto de longitud de prefijo + 16 octetos IPv6 + 4 octetos IPv4

AVPs de Dirección Enmarcada Gx

AVPCódigoFamiliaFormatoReferencia
Framed-IP-Address8IPv4dirección de 4 bytesRFC 4005
Framed-IPv6-Prefix97IPv6octeto reservado + longitud de prefijo + prefijoRFC 3162 §2.3

IE de Tipo de PDN PFCP — TS 29.244

ValorSignificado
1IPv4
2IPv6
3IPv4v6

Solución de Problemas

El CCR de Gx se agota para sesiones IPv6

Síntomas: Las sesiones IPv4 para un suscriptor tienen éxito, pero las sesiones IPv6/IPv4v6 devuelven la causa remote_peer_not_responding; la Solicitud de Control de Crédito Gx se agota.

Causas posibles:

  • El PCRF no puede procesar el AVP Framed-IPv6-Prefix y descarta silenciosamente la solicitud.
  • El suscriptor no está provisionado para IPv6 en el PCRF/HSS.

Resolución:

  1. Confirme que el suscriptor esté provisionado y habilitado en el PCRF/HSS.
  2. Verifique que el PCRF acepte Framed-IPv6-Prefix para Gx CCR-I.
  3. Compare con una sesión IPv4 para el mismo suscriptor para aislar el comportamiento específico de IPv6.

La sesión IPv6 es aceptada pero el tráfico de enlace descendente no llega al UE

Síntomas: La Respuesta de Creación de Sesión lleva un PAA IPv6, el enlace ascendente funciona, pero el tráfico de la red hacia el UE se pierde.

Esta es una preocupación del plano de usuario (OmniUPF) — el PGW-C ya ha asignado la dirección y la ha señalado a través de PFCP. La causa habitual es que la ruta de host /128 del UE no está llegando al enrutador de borde (OSPFv3 no está ejecutándose/adyacente en el UPF, o retraso de convergencia). Consulte la guía de IPv6 / Dual-Stack de OmniUPF para la configuración de publicidad de rutas y solución de problemas.

No se asigna ninguna dirección IPv6

Síntomas: Se rechaza una solicitud de PDN IPv6, o no se devuelve ningún PAA IPv6.

Causas posibles:

  • El APN coincidente (o :default) no tiene un CIDR IPv6 en ue.subnet_map.
  • El grupo IPv6 configurado está agotado.

Resolución:

  1. Agregue un CIDR IPv6 a la entrada del APN en ue.subnet_map (consulte Configuración de PGW-C).
  2. Confirme que el grupo tenga direcciones libres.

Solicitud IPv4v6 cuando el APN no tiene grupo IPv6

Síntomas: Un UE solicita un PDN IPv4v6 contra un APN que solo tiene un CIDR IPv4 configurado en ue.subnet_map (sin rango IPv6). Dependiendo del APN, la sesión se establece solo en IPv4 o es rechazada.

Comportamiento: El asignador de IPv6 (AddressRegistry.register_new_ipv6/1) devuelve {:error, :no_ipv6_pool} cuando el APN coincidente tiene una lista IPv6 vacía, en lugar de hacer que el proceso de sesión falle. El procedimiento de sesión luego elige por tipo de APN (según TS 29.274 / manejo de portadora de dirección única / degradación de tipo de PDN):

Tipo de APNResultadoLo que ve el UE / PCRF / UPF
APN de Emergencia (SOS)Degradar a solo IPv4 — asignar la dirección IPv4, limpiar la dirección IPv6, establecer el tipo de PDN negociado a IPv4.PAA, Tipo de PDN PFCP y IP de UE PFCP son solo IPv4; Gx lleva Framed-IP-Address. El P-CSCF aún se devuelve en el PCO para que el registro IMS de emergencia pueda proceder. Se registra una advertencia.
APN RegularRechazar — la sesión no se degrada silenciosamente; {:error, :no_ipv6_pool} se muestra para que la mala configuración (o solicitud genuinamente no soportada) sea visible. Se registra un error.La Creación de Sesión falla con una causa no exitosa.

Un APN de emergencia se identifica por su nombre: el APN contiene "sos" (por ejemplo, sos, sos.mnc410.mcc310.gprs). Las solicitudes solo IPv6 contra un APN sin grupo IPv6 también son rechazadas.

En la práctica, el MME normalmente degrada la solicitud IPv4v6 de un suscriptor regular a su IPv4 suscrito antes de que la solicitud llegue al PGW-C, por lo que la ruta de rechazo es un respaldo para una solicitud IPv4v6 que realmente llega sin un grupo IPv6. La ruta de degradación SOS mantiene las llamadas de emergencia (por ejemplo, 911/112) conectadas en un despliegue solo IPv4.

Resolución:

  1. Para un APN regular que debe ofrecer dual-stack, agregue un CIDR IPv6 a la entrada del APN en ue.subnet_map (consulte Configuración de PGW-C).
  2. Para un APN de emergencia (SOS) en un despliegue solo IPv4, no se requiere ninguna acción — la degradación solo IPv4 es intencionada. Agregue un CIDR IPv6 solo si tiene la intención de que los PDNs SOS sean dual-stack.