La explosión y control del tráfico Diameter en LTE e IMS
Autor: Ramón Jesús Millán Tejedor
Publicado en Conectrónica nº 192, GM2 Publicaciones Tecnicas, 2016
Introducción
La migración a redes de acceso de banda ancha móvil 4G, que permite la convergencia IP, proporciona mayores anchos de banda y es mucho más eficiente espectralmente, es importantísimo para que las operadoras puedan poder satisfacer la creciente demanda de servicios de datos a un coste razonable. De forma semejante, la Introducción de IMS en centros de datos virtualizados, con el fin de proporcionar los mismos servicios multimedia avanzados independientemente el tipo de acceso, con importantes ahorros de CAPEX y OPEX, es completamente necesaria para poder competir con las aplicaciones OTT (Over-The-Top).
El protocolo de señalización Diameter se ha convertido en un protocolo indispensable en las redes LTE (Long Term Evolution) e IMS (IP Multimedia Subsystem), soportando funciones críticas, tales como la autenticación, autorización, contabilidad, gestión de movilidad, control de políticas de usuario y facturación. Así, Diameter, junto a SIP (Session Initiation Protocol), son los sustitutos del protocolo SS7 (Signaling System numer 7) de las redes 2G y 3G: SIP se encarga de establecer sesiones de comunicación y Diameter del intercambio de datos del perfil del abonado [1]. La migración al "todo IP" que se está produciendo en las redes de telecomunicaciones, la proliferación de la banda ancha móvil y el constante incremento de las conexiones M2M (Machine-to-Machine), están produciendo un rápido crecimiento del tráfico de Diameter y, como algunos de los operadores que más temprano adoptaron LTE ya han sufrido, este tráfico puede llegar a congestionar sus redes [2].
Uno de los elementos de red que han aparecido como indispensables para gestionar eficientemente el crecimiento de Diameter son los DSC (Diameter Signaling Controller) [3], proporcionado funciones críticas como: encaminamiento centralizado y balanceo de carga, seguridad del tráfico, funciones de interoperabilidad entre redes de distintos operadores y elementos de distintos suministradores, etc.
Características de Diameter
Diameter, de acuerdo al modelo OSI, trabaja en el nivel de aplicación. Diameter es un protocolo entre pares, que utiliza un formato de mensajes petición-respuesta. RADIUS era un protocolo cliente-servidor, mientras las peticiones siempre son iniciadas por un cliente, mientras que las respuestas son creadas por el servidor. En cambio, Diameter es un protocolo entre pares, lo que significa que tanto el cliente como el servidor pueden crear tanto una pregunta como una respuesta.
El soporte de un transporte fiable es un aspecto muy importante en el diseño de Diameter, por lo que la especificación indica que es obligatorio que los nodos soporten TCP (Transport Control Protocol) o SCTP (Stream Control Transmission Protocol), a diferencia de RADIUS, que utiliza UDP (User Datagram Protocol). En cuanto a mecanismos de seguridad, considera tanto IPSec (Internet Protocol Security) como TLS (Transport Layer Security).
A no ser que el nodo Diameter sea el destino final de la petición y deba procesar el mensaje localmente, el nodo necesita reenviar la petición consultando su tabla de pares Diameter. La tabla de encaminamiento incluye todos los pares con los que el nodo puede comunicarse directamente.
La sesión es un concepto lógico a nivel de aplicación y se establece extremo a extremo. La sesión es procesada por los dos extremos y, por lo tanto, identificada por un identificador de sesión. Por otro lado, la conexión es un concepto a nivel de transporte y se establece entre los dos pares que envían y reciben mensajes Diameter.
La especificación base de Diameter sólo describe el soporte de contabilidad, mientras que otros protocolos y servicios que utilizan Diameter se consideran aplicaciones, que son descritos en documentos específicos. De este modo, no todos los nodos Diameter necesitan soportar todas las aplicaciones de Diameter. Por lo que antes de establecerse una comunicación Diameter, se debe utilizar una negociación de capacidades, que permite a los pares conocer las aplicaciones y roles soportados por otros.
Estandarización
En el año 2000, el grupo de trabajo RADIUS del IETF (Internet Engineering Task Force) dio por finalizado su trabajo y, un nuevo grupo, llamado AAA (Authentication Authorization and Accounting), comenzó a trabajar en la búsqueda del sucesor a RADIUS (Remote Authentication Dial In User Service). Los requerimientos para el futuro protocolo fueron definidos en la RFC 2989, teniendo en cuenta diversos aspectos, como: escalabilidad, fiabilidad, autenticación mutua entre cliente y servidor, confidencialidad, integridad, soporte de IPv4 e IPv6, soporte de "roaming", etc. Los protocolos considerados eran: SNMP (Simple Network Management Protocol), RADIUS++, COPS (Common Open Policy Service Protocol) y Diameter; siendo este último, el finalmente ganador [4].
El protocolo base de Diameter, que comenzó a ser desarrollado en el año 1998, fue finalmente estandarizado por la IETF en la RFC 3588 en el año 2003, que actualmente está obsoleta por la RFC 6773 del año 2012. La especificación base de Diameter define varios de los elementos básicos, tales como los tipos de mensajes y sus atributos, o el rol de varios tipos de agentes en el procesamiento y encaminamiento de mensajes. Sin embargo, varios de los usos más importantes de Diameter (lo que se conoce por aplicaciones), están definidos en documentos separados. Algunos ejemplos son RFC 4005 "Diameter Network Access Server Application" (RFC 4005) o "Diameter Extensible Authentication Protocol (EAP) Application" (RFC 4072).
La 3GPP (3rd Generation Partnership Project) ha adoptado Diameter como protocolo de señalización para la AAA, gestión de la movilidad y control de políticas y facturación en todas las arquitecturas orientadas a servicio todo IP. El protocolo fue introducido inicialmente en la 3GPP R5 para su uso en redes IMS. Con las R8 y R9, fue extendido a las redes LTE para varias funciones e interfaces. De este modo, la evolución hacia LTE e IMS está estrechamente unida a Diameter.
Existen a día de hoy más de 50 interfaces de Diameter definidas por distintos organismos de estandarización (IETF, 3GPP, 3GPP2, TISPAN, ITU, ETSI, OMA, etc.): "roaming" de sesiones en redes LTE (S6a, S9), registro de clientes SIP en IMS (Cx, Sh), consultar y distribuir información de Policy/QoS para servicios (Gx, Rx, S9), facturación en redes LTE e IMS (Rf/Ro, Gy/Gz), etc.
Tipos de agentes
Al igual que en SIP, el nodo o par Diameter puede ser un cliente, un servidor o un agente, estando este último posicionado entre clientes y servidores, y reenviando peticiones del cliente al servidor apropiado. Existen cuatro tipos de agentes [5]:
- "Relay". Utiliza la información de la cabecera y los atributos del mensaje relacionados con el encaminamiento para seleccionar, en base a su tabla de encaminamiento, el siguiente nodo. Pueden modificar los mensajes, pero sólo insertando o quitando datos de encaminamiento, no pudiendo modificar ninguna otra parte del mensaje.
- "Proxy". Al igual que el "relay" es capaz de encaminar los mensajes en base a su tabla de encaminamiento. Sin embargo, a diferencia del "relay", puede modificar sus atributos, para hacer cumplir reglas o políticas, realizar control de admisión o limitar el uso de recursos. Los "proxies" típicamente no responden a las solicitudes de clientes, pero pueden rechazar mensajes en los casos en que se violen las políticas establecidas.
- "Redirect". Retorna las peticiones al cliente que las origina, proporcionando información sobre el nodo más adecuado para servir la petición. Es decir, actúa como un repositorio central de entradas de encaminamiento, al que pueden acceder otros nodos Diameter. Así, el resto de nodos no tienen por que mantener datos de encaminamiento localmente, lo cual reduce la sobrecarga asociada con sus actualizaciones. Los agentes "redirect" no encaminan los mensajes ni alteran ninguno de sus atributos.
- "Translation". Transforma los mensajes desde un protocolo a otro. Este tipo de agente fue originariamente definido para trasformar los mensajes desde protocolos AAA, tales como RADIUS a Diameter. Sin embargo, la transformación de LDAP (Lightweight Directory Access Protocol) y MAP (Mobile Application Part) a Diameter, tambien son interesantes.
Formato de los mensajes Diameter
Los mensajes Diameter consisten en una cabecera de tamaño fijo y un conjunto variable de AVPs. La información transportada en un mensaje Diameter, se llama típicamente atributo y está representado de acuerdo al formato AVP (Attribute-Value Pair). Los AVPs pueden ser añadidos opcionalmente a los mensajes, siempre y cuando, el mínimo número de AVPs necesarios en un mensaje sean incluidos y no se añada un AVP que sea específicamente excluido en ese tipo de mensaje.
Los campos de la cabecera Diameter son (RFC 6773):
- Versión (version) [1 byte]. Indica la versión del protocolo Diameter y se establece, por el momento, a "1".
- Longitud (length) [3 bytes]. Indica la longitud del mensaje e incluye la cabecera y los AVPs.
- Marcas (flags) [1 byte = "RPETrrrr"]. Por el momento, se han especificado 4 marcas:
- "R" (request) muestra si el mensaje es una solicitud si el valor es "1", o una respuesta si el valor es "0". Típicamente, un mensaje de respuesta incluye el AVP "Result-Code", indicando el resultado del procesamiento de la solicitud realizada al receptor.
- "P" (proxiable) muestra si el mensaje debe ser intermediado (proxy), retransmitido, redirigido o, si está desactivado, debe ser procesado localmente.
- "E" (error) indica que el mensaje contiene un error de protocolo.
- "T" (reTransmision) se utiliza para ayudar a eliminar mensajes duplicados durante retransmisiones despues de un fallo de enlace.
- "r" (reserve) están reservados para uso futuro, se deben establecer a "0" y ser ignorados por el receptor.
- Código de comandos (command code) [3 bytes]. Es un espacio de direcciones manejado por la IANA (Internet Assigned Numbers Authority) e indica la acción que debe tomar el receptor del mensaje Diameter al recibirlo. Todas las abreviaciones terminan en "R" (request) para solicitudes, o en "A" (answer) para respuestas. Además, todos los mensajes de solicitud tienen la marca "R" con valor "1". Los comandos "0-255" están reservados para compatibilidad con RADIUS. Los valores "256-16777213" son para los comandos permanentes. Los valores "16777214" y "16777215" (en hexadecimal "0xfffffe" y "0xFFFFFF") se reservan para fines de experimentación y ensayo. Algunos ejemplos de nombres de comando son: CER (Capabilities-Exchange-Request) y CEA (Capabilities-Exchange-Answer) con código 257; AAR (AA-Request) y AAA (AA-Answer) con código 265; DER (Diameter-EAP-Request) y DEA (Diameter-EAP-Answer) con código 268; ASR (Abort-Session-Request) y ASA (Abort-Session-Answer) con código 274; etc. Cada nodo Diameter debe soportar todos los códigos de comandos descritos en la especificación del protocolo base, pero sólo soporta los códigos de comando para la aplicación Diameter que ha anunciado durante el proceso de negociación de capacidades.
- Identificador de aplicación (application ID) [4 bytes]. Para facilitar la negociación de capacidades, la IANA define un identificador estándar único para cada aplicación Diameter, que indica la aplicación específica a la que va dirigido el mensaje, tal y como: 3GPP TS 29.328 Sh (16777217), 3GPP TS 29.272 S6a/S6d (16777251), etc. El protocolo base no necesita identificador, ya que es soportado por todos los agentes Diameter.
- Identificador salto a salto (hop-by-hop identifier) [4 bytes]. Permite asociar las peticiones y respuestas en ese salto. A medida que el mensaje pasa de un nodo a otro, el identificador cambia, siendo el emisor el que debe asegurarse de que el identificador es único sobre la conexión en ese salto en cualquier momento dado. En cada respuesta se envía el mismo identificador que se encontró en este campo en la solicitud que generó dicha respuesta. Las respuestas que no coinciden con un identificador salto a salto conocido son ignoradas por el agente Diameter.
- Identificador extremo a extremo (end-to-end identifier) [4 bytes]. Identifica los extremos en una comunicación Diameter y, permite detectar, junto al AVP "Origin-Host", mensajes duplicados. El identificador en el mensaje de respuesta debe ser igual al correspondiente mensaje de solicitud.
Los campos más importantes de los AVP son (RFC 6773):
- Código AVP (AVP code) [4 bytes]. Identifica de forma unívoca, junto al identificador de vendedor, el tipo de información incluido en el campo de datos del atributo del AVP. Los códigos AVP están estandarizados por el IETF y controlados por la IANA. Las nuevas aplicaciones deben tratar de reutilizar en la medida de lo posible los AVPs existentes. Los códigos de AVP "0-255" son utilizados por Diameter para compatibilidad hacia atrás con los atributos definidos por RADIUS, dejando el identificador de vendedor sin establecer.
- Marcas (flags) [1 byte = "VMPrrrrr"]. Se han establecido tres marcas por el momento:
- "V" (vendor ID) indica si el campo de identificador del vendedor está o no presente en el AVP.
- "M" (mandatory) es obligatorio y su propósito es indicar que el receptor del AVP debe procesar y entender la semántica del AVP incluyendo su contenido. Si un nodo Diameter recibe un AVP con el bit "M" activado, pero no reconoce el AVP o su valor, debe rechazar el mensaje transportando el AVP y enviar un código de error al emisor. El bit "M" se establece de acuerdo a las reglas definidas para el AVP específico.
- "P" indica la necesidad de encriptación para seguridad extremo a extremo.
- "r" (reserve) están reservados para uso futuro, se deben establecer a 0 y ser ignorados por el receptor.
- Longitud AVP (AVP length) [3 bytes]. Indica el número de octetos en el AVP, incluyendo el código AVP, el campo de longitud AVP, el campo de marcas AVP, el campo de identificador de vendedor (si está presente), y el campo de datos AVP. Si el mensaje se recibe con una longitud del atributo no válido, debe ser descartado.
- Identificador de vendedor (vendor ID) [4 bytes]. Campo opcional que contiene el valor de la IANA "SMI Network Management Private Enterprise Codes", permitiendo implementar AVP específicos a empresas u organismos de estandarización. La ausencia de este campo indica que el AVP en cuestión es no específico de un vendedor. El valor "0" se corresponde a los AVP adoptados por el IETF.
- Datos (data) [longitud variable]. Datos del AVP específico. Es importante remarcar que el protocolo Diameter permite agrupar valores de AVP. Esto implica que el campo de datos es una secuencia de AVPs en un AVP agrupado.
Algunos ejemplos de AVPs de la especificación base de Diameter son: "Origin-Host AVP", "Origin-Realm AVP", "Destination-Host AVP", "Destination-Realm AVP", "Session-Id AVP", "Result-Code AVP", etc.
Aparición de los DSC
En el año 2011 apareció un nuevo tipo de producto, específicamente diseñado y optimizado para controlar la señalización con Diameter, que es totalmente crítica en la operación de las redes IMS y LTE. Esta nueva categoría de producto, concebida originariamente por Tekelec y Acme Packet (empresas adquiridas por Oracle en el año 2013), es conocida principalmente por DSC (Diameter Signaling Controller), aunque tambien es utilizado el termino DSR (Diameter Signaling Router).
A pesar de que los DSC han estado en el mercado desde el año 2011, su potencial de crecimiento no ha hecho más que empezar. Las expectativas de negocio de este emergente segmento, han atraído a un gran abanico de empresas y han fomentado las adquisiciones y consolidaciones, destacando fabricantes como [6]: BroadForward, Dialogic, Diametriq, F5 Networks (via Traffix), Huawei, Mitel (via Mavenir, que a su vez adquirió Ulticom), NetNumber, Nokia (via ALU y su propio desarrollo interno), Oracle (via Acme Packet y Tekelec), Openet, Sonus Networks (via PT), etc. Los líderes del mercado de DSC son: Ericsson, Huawei, F5 Networks y Oracle.
Los DSC controlan el tráfico Diameter en redes "todo IP", ofreciendo enrutamiento avanzado de la señalización y balanceo de carga, integrando una gran gama de funcionalidades de seguridad avanzada capaces de hacer frente a todo tipo de potenciales ataques de denegación de servicio o avalanchas, mejorando la eficiencia y reduciendo la complejidad de la red de señalización, asegurando la interoperabilidad entre equipamiento de distintos fabricantes y distintos protocolos de transporte, permitiendo una eficiente monetización de servicios, etc. Por lo general, los DSC pueden soportar simultáneamente múltiples roles como "relay", "proxy" o "redirect"; habiendo tambien algunos vendedores que implementan el "translation". De este modo, la funcionalidad que ofrecen es muy amplia, añadiendo continuas innovaciones y siguiendo tambien los estándares definidos por el IETF, 3GPP, ETSI y la GSMA, tal y como "IETF Diameter Agent", "3GPP Diameter Routing Agent" (DRA) o "GSMA Diameter Edge Agent" (DEA).
Puesto que los DSC son un tipo de nodo relativamente nuevo, muchos operadores han priorizado la Introducción de versiones virtualizadas de este tipo de nodos virtualizados, desde un primer momento. Muchos de los DSC del mercado se basaban originariamente en software y podían ser ejecutados en cualquier servidor o hardware estándar, luego el paso a la virtualización era relativamente más sencillo que en el caso de otros elementos de red, que utilizan hardware propietario. Además, los DSC pueden ser virtualizados con relativa facilidad, puesto que sólo manejan tráfico de señalización. La virtualización es una alternativa muy recomendable para las operadoras debido a las ventajas que aportan para manejar la demanda de forma elástica, adaptándose rápidamente a los picos de tráfico, así como a la mejora del CAPEX y OPEX. Sin embargo, algunos operadores prefieren comenzar el proceso de virtualización sobre tecnologías que no tengan una misión tan crítica como la de los DSC.
Perspectivas de crecimiento de Diameter y el mercado de DSC
Oracle Communications ha publicado recientemente su cuarta edición del "Oracle Communications LTE Diameter Signaling Index" [7]. En este análisis se estima que la señalización Diameter sobre LTE a nivel global crecerá desde los 30 millones de mensajes por segundo (MPS) de 2014 hasta los 395 millones de mensajes por segundo (MPS) de 2019, representando una tasa de crecimiento anual compuesto del 68%.
Los datos del índice son muy útiles para los departamentos de planificación de ingeniería de red de los operadores, permitiendo a sus ingenieros adelantarse al potencial impacto que tendrá el enorme crecimiento del tráfico de señalización Diameter en los próximos 5 años.
El tráfico de políticas de red es la principal fuente de tráfico Diameter, alcanzando los 277 millones de MPS en 2019. Con casos de uso de políticas de uso de la red cada vez más sofisticadas, el número de transacciones entre puntos de cumplimiento de políticas y cuotas ha aumentado. Según el informe, el "broadcast" de vídeo sobre LTE es la aplicación que más rápidamente está creciendo en cuanto a tráfico de Diameter generado, alcanzando los 49,5 millones de MPS en 2019, con un crecimiento anual compuesto del 75%. Con esta tecnología innovadora y emergente permitirá difundir televisión, música, vídeos, emergencias, etc. Despues está VoLTE, que generará 43,1 millones de MPS en 2019 con un crecimiento anual compuesto del 49%. Finalmente, la movilidad generará 25,3 millones de MPS en 2019.
En cuanto a continentes, Asia Pacífico será la que tenga más tráfico Diameter, con 188 millones de MPS en 2019 y una tasa de crecimiento anual compuesto del 78%. Norte America generará 82,9 millones de MPS, pero el crecimiento en esta región será el menor de todas, con un 42%. Europa contribuirá con 78,7 millones de MPS, con una tasa de crecimiento del 84%. Oriente Medio y áfrica alcanzarán los 29,8 millones de MPS, con una tasa de crecimiento del 103%. La mayor tasa de crecimiento será la de Latinoamerica y Caribe, con un 118%, pero a su vez con el menor tráfico de Diameter, generando 15,4 millones de MPS en 2019.
Según datos de Infonetics Research [6], el mercado global de DSC (Diameter Signaling Controller) se incrementó un 81% en el año 2014, alcanzando los 381,4 millones de dólares. Este impulso se debió a la aceleración en los despliegues de redes LTE y el aumento de subscriptores utilizando esta nueva tecnología. Según sus predicciones, el mercado tendrá una tasa de crecimiento media del 29,4% de 2014 a 2019, alcanzando los 1.400 millones de dólares en el año 2019.
Bibliografía y referencias
- "Diameter to be tested by data, VoLTE demand; evolve in a NFV, SDN, cloud world". Dan Meyer, RCRWireless Feature Report, Noviembre 2015.
- "Tekelec’s Verizon win brings Diameter routers out of the 4G shadows". Peter White, Wireless Watch, Noviembre 2011.
- "Diameter Signaling Controller in next-generation signaling networks". Jörg Ewert, Lennart Norell, and Yamen Soner. Ericsson Review, 2/2012.
- "AAA and Network Security for Mobile Access: Radius, Diameter, EAP, PKI and IP Mobility". Madjid Nakhjiri y Mahsa Nakhjiri. John Wile & Sons, Septiembre 2005.
- "The Role of Diameter in All-IP, Service-Oriented Networks". Oracle Communications, Diciembre 2013.
- "Diameter Signaling Control. Annual Worldwide and Regional Market Size and Forecasts". Infonetics Research, Enero 2015.
- "Oracle Communications LTE Diameter Signaling Index". Oracle, 4a edición, Octubre 2015.
