Aller au contenu principal

5.1. Connexions entre pairs (Peer Connections)

Les connexions entre pairs Diameter s'établissent au moyen de leur DiameterIdentity valide. Un nœud Diameter qui initie une connexion vers un pair DOIT connaître le DiameterIdentity de ce pair. Les méthodes de découverte sont décrites à la section 5.2.

Bien qu'un nœud puisse avoir de nombreux pairs possibles, il peut être peu économique de maintenir une connexion établie vers tous. Au minimum, un nœud Diameter DEVRAIT avoir une connexion établie avec deux pairs par realm, appelés pair primaire (primary peer) et pair secondaire (secondary peer). Un nœud PEUT avoir des connexions supplémentaires si nécessaire. En général, les messages pour un realm sont envoyés au pair primaire, mais si des procédures de basculement (failover) s'appliquent, les requêtes en attente vont au pair secondaire. Les implémentations peuvent toutefois répartir la charge (load balance) entre plusieurs pairs.

Un même pair PEUT être primaire pour un realm et secondaire pour un autre.

Lorsqu'un pair est jugé suspect (suspect), par exemple faute de recevoir un DWA dans le délai imparti, aucune nouvelle requête ne doit lui être transmise et les procédures de failover s'appliquent. Lorsqu'un pair actif passe dans ce mode, des connexions supplémentaires DEVRAIENT être établies pour conserver le nombre voulu de connexions actives.

Un pair est retiré de la liste des pairs suspects de deux façons:

  1. Le pair n'est plus joignable, la connexion de transport se ferme, l'état devient fermé (closed).

  2. Trois messages watchdog sont échangés avec des allers-retours acceptables et la connexion est considérée stabilisée.

Si le pair retiré est primaire ou secondaire, un pair de remplacement DEVRAIT prendre ce rôle.