Soporte para 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 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 la piscina de direcciones del UE (coincidencia de APN, asignación, manejo de colisiones), consulte Asignación de IP del UE. Para las interfaces PFCP y Gx en general, consulte PFCP/Sxb y Diameter Gx.
Tabla de Contenidos
- Descripción General
- Tipos de PDN
- Flujo de Fin a Fin
- Configuración del PGW-C
- Plano de Usuario (OmniUPF)
- Tablas de Referencia
- Solución de Problemas
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 / Interfaz | Responsabilidad por IPv6 |
|---|---|
| OmniPGW — S5/S8 | Negociar tipo de PDN; asignar dirección(es) del UE; devolver la Asignación de Dirección de PDN (PAA) |
| OmniPGW — Gx | Transmitir la dirección del UE al PCRF: Framed-IP-Address (IPv4) para PDNs IPv4/IPv4v6, Framed-IPv6-Prefix para PDNs solo IPv6 |
| OmniPGW — Sxb | Señalar la dirección IPv6 del UE y el tipo de PDN al UPF a través de PFCP |
| OmniUPF — plano de datos | Programar la búsqueda de bajada de IPv6; reenviar/encapsular tráfico de usuario IPv6 |
| OmniUPF — FRR | Anunciar 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
| Valor | Tipo de PDN | UE recibe | Contenido de PAA (TS 29.274 §8.14) |
|---|---|---|---|
| 1 | IPv4 | Dirección IPv4 | Dirección IPv4 de 4 bytes |
| 2 | IPv6 | Prefijo IPv6 (/64) | octeto de longitud de prefijo + dirección de 16 bytes |
| 3 | IPv4v6 | Dirección IPv4 + Prefijo IPv6 | octeto de longitud de prefijo + 16 bytes IPv6 + 4 bytes IPv4 |
El PGW-C deriva el tipo de PDN efectivo del IE Tipo de PDN, retrocediendo al tipo del IE PAA si el IE Tipo de PDN está ausente. El mismo tipo negociado impulsa el PAA devuelto al SGW, el IE Tipo de PDN PFCP enviado al UPF, y qué familia/familias de direcciones son asignadas.
IPv4v6 sin piscina 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 piscina 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 del PGW-C
Piscina de Direcciones IPv6 del UE
Las direcciones del UE se extraen de piscinas 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. La piscina se analiza automáticamente por familia de direcciones.
config :pgw_c,
ue: %{
subnet_map: %{
# Nombre del APN => lista de cadenas CIDR (IPv4 y/o IPv6)
default: [
"100.64.16.0/24",
"2001:db8:6f85:70::/64"
]
}
}
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
|---|---|---|---|---|
ue.subnet_map | Mapa | Sí | - | Mapea un nombre de APN (o :default) a una lista de cadenas CIDR. :default es la opción de respaldo cuando no coincide ninguna entrada específica del APN. |
| (entradas de lista) | Cadena (CIDR) | Sí | - | 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 del UE se extraen dentro 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 del UE.
Un APN con tanto un CIDR IPv4 como 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 del UE por familia:
- PDN solo IPv6 — el prefijo IPv6 del UE se transmite utilizando el
Framed-IPv6-PrefixAVP (RFC 3162 §2.3), noFramed-IP-Address(que solo lleva IPv4). - PDNs IPv4 e IPv4v6 — la dirección IPv4 del UE se transmite en
Framed-IP-Address. Para IPv4v6, el prefijo IPv6 no se lleva en Gx (los AVPs de dirección enmarcada del CCR se derivan de la dirección IPv4); el prefijo IPv6 todavía 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 bajada de IPv6 desde la sesión PFCP que envía el PGW-C, y anunciar cada ruta de host
IPv6 /128 al enrutador de borde (a través de OSPFv3) para que el tráfico de bajada
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, la piscina 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 PDN | Diseño del campo de dirección |
|---|---|
| IPv4 | 4 octetos: dirección IPv4 |
| IPv6 | 1 octeto de longitud de prefijo + 16 octetos de prefijo/dirección IPv6 |
| IPv4v6 | 1 octeto de longitud de prefijo + 16 octetos de IPv6 + 4 octetos de IPv4 |
AVPs de Dirección Enmarcada Gx
| AVP | Código | Familia | Formato | Referencia |
|---|---|---|---|---|
Framed-IP-Address | 8 | IPv4 | dirección de 4 bytes | RFC 4005 |
Framed-IPv6-Prefix | 97 | IPv6 | octeto reservado + longitud de prefijo + prefijo | RFC 3162 §2.3 |
IE Tipo de PDN PFCP — TS 29.244
| Valor | Significado |
|---|---|
| 1 | IPv4 |
| 2 | IPv6 |
| 3 | IPv4v6 |
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-Prefixy descarta silenciosamente la solicitud. - El suscriptor no está provisionado para IPv6 en el PCRF/HSS.
Resolución:
- Confirme que el suscriptor esté provisionado y habilitado en el PCRF/HSS.
- Verifique que el PCRF acepte
Framed-IPv6-Prefixpara Gx CCR-I. - 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 bajada 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 al 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á en ejecución/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 enue.subnet_map. - La piscina IPv6 configurada está agotada.
Resolución:
- Agregue un CIDR IPv6 a la entrada del APN en
ue.subnet_map(consulte Configuración del PGW-C). - Confirme que la piscina tenga direcciones libres.
Solicitud IPv4v6 cuando el APN no tiene piscina 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 como solo IPv4 o es rechazada.
Comportamiento: El asignador de IPv6 informa que no hay piscina IPv6 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 APN | Resultado | Lo 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 del UE 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 Regular | Rechazar — la sesión no se degrada silenciosamente; {:error, :no_ipv6_pool} se presenta 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
piscina 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 una piscina IPv6. La ruta de degradación SOS mantiene las llamadas de emergencia (por ejemplo, 911/112) conectadas en un despliegue solo IPv4.
Resolución:
- Para un APN regular que debería ofrecer dual-stack, agregue un CIDR IPv6 a la entrada del APN
en
ue.subnet_map(consulte Configuración del PGW-C). - Para un APN de emergencia (SOS) en un despliegue solo IPv4, no se requiere ninguna acción — la degradación a solo IPv4 es intencionada. Agregue un CIDR IPv6 solo si tiene la intención de que los PDNs SOS sean dual-stack.