Le protocole Diameter est un protocole de signalisation AAA (Authentication, Authorization, and Accounting) de nouvelle génération utilisé principalement sur les appareils mobiles tels que les ordinateurs portables et les téléphones portables. Il s'agit d'un protocole peer-to-peer, par opposition au modèle client-serveur traditionnel utilisé par la plupart des autres protocoles. Toutefois, dans la plupart des déploiements de Diameter, les clients sont à l'origine de la demande et le serveur y répond.
Lorsque des messages Diameter sont échangés, le serveur Diameter effectue généralement beaucoup plus de traitement que le client Diameter. Avec l'augmentation du volume de signalisation du plan de contrôle, le serveur Diameter devient un goulot d'étranglement. Par conséquent, la charge des messages Diameter doit être répartie entre plusieurs serveurs. Un serveur virtuel effectuant un équilibrage de charge des messages Diameter offre les avantages suivants :
-
Allègement de la charge sur les serveurs Diameter, ce qui se traduit par un temps de réponse plus rapide pour les utilisateurs finaux.
-
Surveillance de l'état du serveur et meilleures fonctionnalités de basculement.
-
Meilleure évolutivité en termes d'ajout de serveurs sans modification de la configuration du client.
-
Haute disponibilité.
-
Déchargement au Diameter SSL.
La figure suivante montre un système Diameter dans un déploiement NetScaler :
Un système Diameter comprend les composants suivants :
-
Client Diameter. Prend en charge les applications clientes Diameter en plus du protocole de base. Les clients Diameter sont souvent implémentés dans des appareils situés à la périphérie d'un réseau et fournissent des services de contrôle d'accès pour ce réseau. Des exemples typiques de clients Diameter sont un serveur d'accès réseau (NAS) et l'agent étranger (FA) Mobile IP.
-
Agent Diameter. Fournit des services de relais, de proxy, de redirection ou de traduction. L'appliance NetScaler (configurée avec un serveur virtuel d'équilibrage de charge Diameter) joue le rôle d'un agent Diameter.
-
Serveur Diameter. Gère les demandes d'authentification, d'autorisation et de comptabilité pour un domaine particulier. Un serveur Diameter doit prendre en charge les applications du serveur Diameter en plus du protocole de base.
Dans une topologie Diameter classique, lorsqu'un appareil utilisateur final (tel qu'un téléphone portable) a besoin d'un service, il envoie une demande à un client Diameter. Chaque client Diameter établit une connexion unique (connexion TCP, le protocole SCTP n'est pas encore pris en charge) avec un serveur Diameter tel que spécifié par le protocole de base Diameter RFC 6733. La connexion est de longue durée et tous les messages entre les deux nœuds Diameter (client et serveur) sont échangés via cette connexion. NetScaler utilise un équilibrage de charge basé sur des messages.
Exemple :
Un fournisseur de services mobiles utilise Diameter pour son système de facturation. Lorsqu'un abonné utilise un numéro prépayé, le client Diameter envoie à plusieurs reprises des demandes au serveur pour vérifier le solde disponible. Le protocole Diameter établit une connexion entre le client et le serveur, et toutes les demandes sont échangées via cette connexion. L'équilibrage de charge basé sur les connexions serait inutile, car il n'existe qu'une seule connexion. Toutefois, compte tenu du grand nombre de messages sur la connexion, l'équilibrage de charge basé sur les messages accélère le processus de facturation de l'abonné mobile prépayé.