stringtranslate.com

Diámetro (protocolo)

Diámetro es un protocolo de autenticación, autorización y contabilidad (AAA) para redes informáticas. Evolucionó del protocolo RADIUS anterior . Pertenece a los protocolos de capa de aplicación del conjunto de protocolos de Internet .

Las aplicaciones de Diámetro amplían el protocolo base añadiendo nuevos comandos y/o atributos, como los que se utilizan con el Protocolo de autenticación extensible (EAP).

Comparación con RADIO

El nombre es un juego de palabras, derivado del protocolo RADIUS , que es el predecesor (un diámetro es el doble del radio). Diámetro no es directamente compatible con versiones anteriores, pero proporciona una ruta de actualización para RADIUS. Las principales características proporcionadas por Diámetro pero que faltan en RADIUS son:

Además: al igual que RADIUS, está diseñado para funcionar en situaciones AAA tanto locales como de roaming. Utiliza TCP o SCTP, a diferencia de RADIUS que utiliza UDP. A diferencia de RADIUS, no incluye cifrado, pero puede protegerse mediante seguridad a nivel de transporte (IPSEC o TLS). El tamaño base del identificador AV es de 32 bits, a diferencia de RADIUS, que utiliza 8 bits como tamaño base del identificador AV. Al igual que RADIUS, admite modos con y sin estado. Al igual que RADIUS, admite el reconocimiento de la capa de aplicación y define la conmutación por error. El diámetro se utiliza para muchas interfaces diferentes definidas por los estándares 3GPP, y cada interfaz generalmente define nuevos comandos y atributos.

Aplicaciones

Una aplicación de Diámetro no es una aplicación de software , sino un protocolo basado en el protocolo base de Diámetro definido en RFC 6733 (RFC 3588 obsoleto) y RFC 7075. Cada aplicación está definida por un identificador de aplicación y puede agregar nuevos códigos de comando y/o nuevos códigos obligatorios. AVP ( par atributo-valor ). Agregar un nuevo AVP opcional no requiere una nueva solicitud.

Ejemplos de aplicaciones de Diámetro:

Tanto el HSS como el SLF se comunican mediante el protocolo Diámetro.

(Arquitectura de arranque genérica): función del servidor de arranque

Historia

El protocolo Diámetro fue desarrollado inicialmente por Pat R. Calhoun, Glen Zorn y Ping Pan en 1998 para proporcionar un marco de autenticación, autorización y contabilidad ( AAA ) que pudiera superar las limitaciones de RADIUS. RADIUS tuvo problemas con la confiabilidad, escalabilidad, seguridad y flexibilidad. RADIUS no puede abordar eficazmente el acceso remoto, la movilidad IP y el control de políticas. El protocolo Diámetro define un protocolo de política utilizado por los clientes para realizar el control de políticas, AAA y recursos. Esto permite que un único servidor maneje políticas para muchos servicios. [1]

Al igual que RADIUS, Diámetro proporciona funcionalidad AAA, pero utiliza TCP y SCTP en lugar de UDP , por lo que delega la detección y el manejo de problemas de comunicación a esos protocolos. El protocolo Diámetro se mejora aún más con el desarrollo del Subsistema Multimedia IP (IMS) del Proyecto de Asociación de Tercera Generación (3GPP). Las interfaces S6a, S6b, Gx, Gy, Sy, Rx, Cx, Dh, Dx, Rf, Ro, Sh y Zh son compatibles con las aplicaciones de Diámetro. [2] Mediante el uso de extensiones, el protocolo fue diseñado para ser extensible para admitir servidores proxy, corredores, seguridad sólida, IP móvil, servidores de acceso a la red (NASREQ), contabilidad y gestión de recursos.

Descripción del protocolo

El protocolo base de Diámetro está definido por RFC 6733 (Obsoletos: RFC 3588 y RFC 5719) y define los requisitos mínimos para un protocolo AAA . Las aplicaciones de Diámetro pueden ampliar el protocolo base agregando nuevos comandos, atributos o ambos. La seguridad del diámetro la proporciona IPsec o TLS . La IANA ha asignado el número de puerto TCP y SCTP 3868 a Diámetro, como se indica en la sección 11.4 del RFC 6733.

Formato de paquete

El paquete consta de un encabezado Diámetro y un número variable de pares atributo-valor, o AVP, para encapsular información relevante para el mensaje Diámetro.

Versión

Este campo indica la versión del protocolo base de diámetro. A partir de 2014, el único valor admitido es 1. [3]

Longitud del mensaje

El campo Longitud del mensaje indica la longitud del mensaje Diámetro en bytes, incluidos los campos de encabezado y los AVP rellenos.

Banderas de comando

El bit " R " (Solicitud): si está configurado, el mensaje es una solicitud. Si se borra, el mensaje es una respuesta.

El bit " P " (proxiable): si está configurado, el mensaje PUEDE ser enviado, retransmitido o redirigido. Si se borra, el mensaje DEBE procesarse localmente.

El bit " E " (Error): si se establece, el mensaje contiene un error de protocolo y el mensaje no se ajustará al CCF descrito para este comando. Los mensajes con el bit "E" activado se denominan comúnmente mensajes de error. Este bit NO DEBE establecerse en mensajes de solicitud.

El bit " T " (mensaje potencialmente retransmitido): este indicador se establece después de un procedimiento de conmutación por error del enlace para ayudar a eliminar solicitudes duplicadas. Se configura cuando se reenvían solicitudes aún no reconocidas como una indicación de un posible duplicado debido a una falla en el enlace.

Comandos

A cada par de solicitud/respuesta de comando se le asigna un código de comando. Si se trata de una solicitud o una respuesta se identifica mediante el bit 'R' en el campo Indicadores de comando del encabezado.

Los valores 0-255 están reservados para compatibilidad con versiones anteriores de RADIUS. Los valores 256-16777213 son para comandos estándar permanentes asignados por IANA . Los valores 16777214 y 16777215 (hexadecimal 0xFFFFFE y 0xFFFFFF) están reservados para fines experimentales y de prueba.

Un código de comando se utiliza para determinar la acción que se debe realizar para un mensaje en particular. Algunos comandos comunes de Diámetro definidos en el protocolo (base y aplicaciones) son:

ID de aplicación

El ID de aplicación se utiliza para identificar para qué aplicación de Diámetro es aplicable el mensaje. La aplicación puede ser una aplicación de autenticación, una aplicación de contabilidad o una aplicación específica del proveedor.

Los agentes de Diámetro que se ajustan a una determinada extensión de Diámetro publicitan su soporte al incluir un valor específico en el atributo Auth-Application-Id del comando Capabilities-Exchange-Request (CER) y Capabilities-Exchange-Answer (CEA).

El valor del campo ID de aplicación en el encabezado es el mismo que cualquier AVP de ID de aplicación relevante contenido en el mensaje. Por ejemplo, el valor del ID de aplicación y del atributo ID de aplicación de autenticación en el comando Solicitud de control de crédito (CCR) y Respuesta de control de crédito (CCA) para la aplicación de control de crédito de diámetro es 4. [ 4]

Identificador salto a salto

El identificador de salto a salto es un campo entero de 32 bits sin signo (en orden de bytes de red) que se utiliza para hacer coincidir las solicitudes con sus respuestas, ya que el mismo valor de la solicitud se utiliza en la respuesta.

El protocolo Diámetro requiere que los agentes de retransmisión y proxy mantengan el estado de la transacción, que se utiliza con fines de conmutación por error. El estado de la transacción implica que al reenviar una solicitud, se guarda su identificador salto a salto; el campo se reemplaza con un identificador único local, que se restaura a su valor original cuando se recibe la respuesta correspondiente. El estado de la solicitud se publica al recibir la respuesta. El agente de Diámetro ignora las respuestas recibidas que no coinciden con un identificador de salto a salto conocido.

En el caso de agentes de redireccionamiento, el Identificador de salto a salto se mantiene en el encabezado mientras el agente de Diámetro responde con un mensaje de respuesta.

Identificador de extremo a extremo

El identificador de extremo a extremo es un campo entero de 32 bits sin signo (en orden de bytes de red) que se utiliza para detectar mensajes duplicados junto con la combinación de AVP de origen-host.

Al crear una solicitud, el identificador de un extremo a otro se establece en un valor local único. El Identificador de Extremo a Extremo no es modificado por agentes de Diámetro de ningún tipo, y en la respuesta se utiliza el mismo valor de la solicitud correspondiente.

Pares atributo-valor (AVP)

Para simplificar, el bit " V " del indicador AVP significa específico del proveedor ; El bit " M " significa Obligatorio ; El bit " P " significa protegido .

El bit " V ", conocido como bit específico del proveedor, indica si el campo opcional ID del proveedor está presente en el encabezado AVP. Cuando se configura, el código AVP pertenece al espacio de direcciones del código de proveedor específico.

El bit " M ", conocido como bit obligatorio, indica si se requiere soporte del AVP. Si un cliente, servidor, proxy o agente de traducción de Diámetro recibe un AVP con el bit " M " establecido y el AVP o su valor no son reconocidos, el mensaje debe rechazarse. Los agentes de retransmisión y redireccionamiento de Diámetro no deben rechazar mensajes con AVP no reconocidos.

El bit " P " indica la necesidad de cifrado para la seguridad de un extremo a otro.

maquinas de estados

El RFC 3588 define una máquina de estado central para mantener conexiones entre pares y procesar mensajes. Esto es parte de la funcionalidad básica del protocolo y todas las pilas deben admitirlo y, como tal, abstraerse de las operaciones relacionadas con la conectividad.

Además, las máquinas de estado específicas de la aplicación se pueden introducir más adelante o en una capa de abstracción superior. El RFC 3588 define una autorización y una máquina de estados contables.

Flujos de mensajes

La comunicación entre dos pares de diámetro comienza con el establecimiento de una conexión de transporte ( TCP o SCTP ). Luego, el iniciador envía una Solicitud de intercambio de capacidades (CER) al otro par, que responde con una Respuesta de intercambio de capacidades (CEA). Para pares compatibles con RFC3588, se puede negociar opcionalmente TLS (Seguridad de la capa de transporte). Para pares que cumplen con RFC6733, la negociación TLS puede realizarse opcionalmente antes del CER/CEA.

La conexión estará entonces lista para intercambiar mensajes de aplicaciones.

Si no se han intercambiado mensajes durante algún tiempo, cualquiera de las partes puede enviar una Solicitud de vigilancia del dispositivo (DWR) y el otro par debe responder con una Respuesta de vigilancia del dispositivo.

Cualquiera de las partes puede finalizar la comunicación enviando una solicitud de desconexión de par (DPR) a la que el otro par debe responder con una respuesta de desconexión de par. Después de esto se puede desconectar la conexión de transporte.

RFC

El protocolo Diámetro está definido actualmente en los siguientes RFC del IETF : Los RFC obsoletos se indican con texto tachado .

Ver también

Referencias

  1. ^ Pat R. Calhoun, Glen Zorn y Ping Pan (febrero de 2001). "Documento Marco DIAMETER". Rastreador de datos del IETF . IETF . Consultado el 30 de abril de 2009 .{{cite news}}: Mantenimiento CS1: varios nombres: lista de autores ( enlace )
  2. ^ Naman Mehta (20 de marzo de 2009). "Introducción al Protocolo Diámetro - ¿Qué es el Protocolo Diámetro?". Microsistemas solares . Archivado desde el original el 4 de julio de 2011 . Consultado el 30 de abril de 2009 .
  3. ^ Arkko, J.; Loughney, J. (2012). Fajardo, V; Zorn, G (eds.). "RFC 6733 - Protocolo base de diámetro". Norma propuesta . Seguimiento de normas. doi : 10.17487/RFC6733 . ISSN  2070-1721 . Consultado el 12 de octubre de 2014 .
  4. ^ Hakala, H.; Matila, L.; Stura, M.; Loughney, J. (2005). "RFC 4006 - Aplicación de control de crédito de diámetro". Norma propuesta . Seguimiento de normas. doi : 10.17487/RFC4006 .

enlaces externos