Cas d 'utilisation 1: Équilibrage de charge SMPP
Des millions de messages courts sont échangés quotidiennement entre Des particuliers et Des fournisseurs de services à valeur ajoutée, tels que les banques, les annonceurs et les services d 'annuaire, à l 'aide du protocole SMPP(短消息对等)。Souvent, la remise des messages est retardée parce que les servers sont surchargés et le transport n 'est pas réparti de manière最优的服务器入口。Le Citrix ADC prend en charge l ' équilibrage de charge SMPP et fournit une distribution optimale des messages sur vos servers, évitant ainsi les mauvaises performance et les pannes。
Citrix ADC效果l ' équilibrage de charge côté server lorsque les messages sont reçus des clients et côté client lorsque les messages sont reçus des servers。
L ' équilibrage de charge des messages SMPP par Citrix ADC提供的优势:
- 美丽的服务分配,享有réponse的临时贸易权,以及快速的使用服务
- 监视'intégrité des服务器和导弹capacités de basculement
- “信息中心”(Ajout rapide et facile de nouveaux servers)没有修饰符的“配置客户端”
- 高级disponibilite
简介à SMPP
SMPP est un protocol de couche d 'application pour le transfer de messages courts entre les entités de messages courts exnes (ESME), les entités de routing (RE) et les centres de messages (MC) via des connections TCP à longue durée de vie。Il est utilisé pour l 'envoi de messages courts (SMS) entre amis, contacts et tiers tels que les banques(移动银行),les annonceurs(移动商业)et les services d 'annuaire。Les messages provenant d 'une ESME (entité non mobile) arrivent au MC, qui Les distribue aux entités de messages courts (PME) telles que Les téléphones mobiles。SMPP est également utilisé par les PME pour enyer des messages courts à des tiers (par举例,pour l 'achat de producits, le paiement de factures et le transfer de fonds)。消息到达目的地à l’esme。
Le diagramme suivant montre les différentes entités SMPP: ESME, RE et MCs, dans un réseau移动。
Présentation de l 'architecture des différentes entités SMPP dans un réseau移动
备注:Les termes客户端et ESME sont utilisés de manière可互换的dans tout le文件。
Un ESME(客户端)ouvre une connexion au MC dans l 'un des trois modes suivants: émetteur, récepteur ou émetteur-récepteur。En tant qu ' émetteur, il ne peut envoy que des messages pour la livraison。En tant que récepteur, il ne peut recevir que des messages。En tant qu ' émetteur-récepteur, l ' esme peut envoy et recovery des message。L 'ESME envoie au MC 'un des trois messages (également appelés PDU): bind_transmitter, bind_receiver ou bind_transceiver。Le MC répond avec un bind_transmitter_resp, bind_receiver_resp ou bind_transceiver_resp, selon Le cas pour la requête。
Une fois la connexion établie, l 'ESME peut, selon le mode dans leel il est lié au MC, envoyer un message submit_sm ou data_sm, recevoir un message deliver_sm ou data_sm, ou envoyer et recevoir n ' import lequel de ces types de messages。L ' esme peut également enyer des messages auxaires, tels que query_sm, replace_sm et cancel_sm, pour interroger L ' état d ' une remise de message antérieure, remplacer un message antérieur par un nouveau message ou annuler un message non remis。
这是我的留言,我的留言,我的留言,我的留言,我的留言,我的留言,我的留言,我的留言,我的留言。加tard, lorsque le MC détecte que l 'abonné移动est维护人员可访问,il enie une PDU alert_notification à l ' esme通过une session de récepteur ou d ' émetteur-récepteur,要求la remise des messages en file d ' attente。
chque PDU de demand一个un numéro de séquence unique。La PDU de réponse a le même numéro de séquence que La demand d 'origine。Étant donné que l ' échange de messages sur SMPP peut être en mode asynchrone, un ESME ou un MC peut envoyer plusieurs requêtes à la fois。Le numéro de séquence joue un rôle关键dans Le retour de la réponse dans la même会话SMPP。En d 'autres terms, le numéro de séquence rend possible la correspondence des demandes et des réponses。
Le diagramme suivant montre comment Le flux de traffic utilization les différentes PDU lorsque l ' esme se lie en tant qu émetteur-récepteur。
限制:
L 'appliance Citrix ADC ne prend pas en charge les opérations sortantes。Autrement dit, un centre de messages ne peut pas lancer une session SMPP avec un ESME通过思杰ADC。
function de l ' équilibrage de charge SMPP sur Citrix ADC
ESME(客户端)特使与思杰ADC的信息联络。ADC认证校验ESME et, en cas de succès, répond avec un message approprié。Citrix ADC établit une connexion avec chque centre de messages et équilibre la charge de tous les messages entre ces centres de messages。Lorsque ADC reçoit un message d 'un client, il réutilise une connexion ouverte au message ou特使une requête de liaison à un centre de messages si une connexion ouverte n 'est pas disponent。
ADC peut équilibrer la charge des消息来源des客户端et des服务器。Il peut surveillance l ' état des centres de messages et gérer les messages concaténés。Il fournit également信息的中心和内容的转换。
消息来源ESME
chque ESME doit être ajouté en tant qu 'utilisateur sur Citrix ADC pour l '鉴权。Le client établit une connexion TCP avec un server virtuel SMPP configuré sur ADC en envoyant une requête de liaison。ADC验证客户端et,根据succès,分析联络信息。ADC特使ensuite la demand au centre de messages sélectionné par la méthode d ' équilibrage de charge configurée。我们的信息中心réutilisation,我们的信息中心联络员requête信息中心联络员requête。
Avant de transférer la réponse (submit_sm_resp ou data_sm_resp) du centre de messages au client, ADC ajoute un ID de serur personnalisé à l 'ID du message afin d 'identifier le centre de messages pour les opérations auxiliaires, telles que la requête, le placement ou l 'annulation des demandes d 'un message, par le client。Les demands d 'autres客户sont équilibrées de la même manière。
Dans la requête de liaison d 'origine, un client spécifie la plage d 'adresses qu 'il peut servir。Cette plage est utilisée pour transférer les messages deliver_sm ou data_sm des centres de messages vers les clients。
消息来源d’un centre de消息
Les ESME qui peuvent gérer une plage d ' adress spécifique sont regroupés dans un cluster。Tous les nounuds d 'un cluster fournissent les mêmes信息d 'identification。Dans un cluster, seule la méthode round robin est utilisée pour l ' équilibrage de charge。向Citrix ADC发送发送信息(MO),发送发送信息(MO)。Si un cluster pouvant servir la plage d 'adresses de destination (par举例,les nombres commençant par 998) est lié à ADC, il sélectionne ce cluster, puis équilibre la charge entre les neure uds ESME de ce cluster。
Si un ESME qui peut servir des messages deliver_sm pour la plage d ' address n ' est pas lié à ADC et que la mise en file d ' attention des messages est activée, le message est en file d ' attention jusqu ' à ce qu un tel client se lie à ADC en mode récepteur ou émetteur-récepteur。Vous pouvez spécifier la taille de la file d ' attention。
ESME, Citrix ADC和信息中心之间的通量图解。simplicité, seuls deux ESME et deux centre de messages sont affichés。
Flux de messages (PDU):
- ESME1特使une requête de liaison à NetScaler
- NetScaler特使une requête de liaison à MC1
- MC1特使une réponse de liaison à NetScaler
- NetScaler特使une réponse de liaison à ESME1
- ESME1 envoie submit_sm (1) à NetScaler
- ESME1 envoie submit_sm (2) à NetScaler
- NetScaler transfère submit_sm (1) à MC1
- NetScaler特使une requête de liaison à MC2
- MC2特使une réponse de liaison à NetScaler
- NetScaler transfère submit_sm (2) à MC2
- MC1 envoie submit_sm_resp (1) à NetScaler
- MC2 envoie submit_sm_resp (2) à NetScaler
- NetScaler transfère submit_sm_resp (1) à ESME1
- NetScaler transfère submit_sm_resp (2) à ESME1
- ESME2特使une requête de liaison à NetScaler
- NetScaler特使une réponse de liaison à ESME2
- ESME2 envoie submit_sm (3) à NetScaler
- NetScaler transfère submit_sm (3) à MC1
- MC2 envoie deliver_sm à NetScaler (ESME2 sert la plage d ' address spécifiée dans le message)
- MC1 envoie submit_sm_resp (3) à NetScaler
- NetScaler transfère submit_sm_resp (3) à ESME2
- NetScaler transfère deliver_sm à ESME2
- ESME2 envoie deliver_sm_resp à NetScaler
- MC1 envoie alert_notification à NetScaler (ESME1 sert la plage d ' address spécifiée dans le message)
- NetScaler transfère deliver_sm_resp vers MC2
- NetScaler transmet la notification alert_notification à ESME1
监控santé信息中心
Par défaut, un moniteur TCP_Default est lié à un service SMPP, mais vous pouvez lier un moniteur personnalisé de type SMPP。Le moniteur personnalisé我们的连接TCP au centre de messages et enieie un paquet enquire_link。En function du succès ou de la défaillance de la sonde, le service est marqué come UP ou DOWN。
信息中心的内容转换
Les centre de messagerie peuvent accepter plusieurs connexions (ou lier des demandes) provenant d 'ESME。Vous pouvez配置思杰ADC倒液转换器de内容要求的功能paramètres de联络SMPP。Voici quelques expressions courantes pour configurer les méthodes de sélection d 'un centre de messages:
- 地址功能:Dans l ' exemplial d 'expression suivant, ADC sélectionne un centre de messages spécifique si la plage d 'adresses à 988。
为例:
SMPP.BINDINFO.ADDRESS_RANGE.CONTAINS(“^ 988”)
- Basé sur l 'ID ESME: Dans l ' example d 'expression suivant, ADC sélectionne un centre de messages spécifique si l 'ID ESME est égal à ESME1。
为例:
SMPP.BINDINFO.SYSTEM_ID.EQ(“ESME1”)
- Selon le type ESME: Dans l ' sample d 'expression suivant, ADC sélectionne un centre de messages spécifique si le type ESME est VMS。VMS signifie système de message erie vocale。
为例:
SMPP.BINDINFO.SYSTEM_TYPE.EQ(“虚拟机”)
- En function du type de numéro (TON) de l 'ESME: Dans l ' example d 'expression suivant, l 'ADC sélectionne un centre de messages spécifique si TON est égal à 1(1表示un numéro international)。
为例:
SMPP.BINDINFO.ADDR_TON.EQ (1)
- Basé sur l ' indiceur de plan numérique (NPI) de l 'ESME: Dans l ' sample d 'expression suivant, ADC sélectionne un centre de messages spécifique si NPI est égal à 0 (0 signifie une connexion inconnue)。
为例:
SMPP.BINDINFO.ADDR_NPI.EQ (0)
- 联络功能:收发器(Dans l '示例d 'expression suivant, l 'ADC sélectionne un centre de messages spécifique si le type de liaison est TRANSCEIVER)。(Un émetteur-récepteur peut envoyer et recevoir des messages)
为例:
SMPP.BINDINFO.TYPE.EQ(收发)
Gestion des消息concaténés
Un SMS peut conconir Un最大140字节。祝您节日快乐être divisés小小聚会。Si le mobile de destination est capable, les messages sont combinés et livrés en un seul SMS。Citrix ADC transfère les fragments d 'un message au même centre de messages。查消息大陆un numéro de référence, un numéro de séquence et le nombre total de fragments。Le numéro de référence est Le même pour chque fragment d 'un message long。Le numéro de séquence spécifie la position du fragment particulier dans Le message complete。Une fois tous les fragments reçus, l 'ESME combine les fragments en un seul long message et enie le message à l 'abonné mobile。
Si un client se déconnecte d 'une connexion active, la connexion au centre de messages n 'est pas fermée。Il est réutilisé pour les demandes d 'autres客户。
限制
讯息的ID,讯息的来源,讯息的中心,加上59个八分之一的事。Si la longueur de l 'ID de message renvoyée par le centre de messages est supérieure à 59 octets, les opérations auxiliaires échouent et Citrix ADC répond avec un message d ' error。
配置de l ' équilibrage de charge SMPP sur Citrix ADC
效果tâches suivantes pour配置l ' équilibrage de charge SMPP sur ADC:
- Ajouter un utilisateur SMPP。鉴证、先手、接受、要求、联络、使用商。L 'utilisateur est généralement un ESME。
- Ajoutez un server virtuel d ' équilibrage de charge, en spécifiant le protocol comme SMPP。
- Ajoutez un service, en spécifiant le protocole comme SMPP, et un ID de server personnalisé unique pour chque server。Liez le service au serur virtuel d ' équilibrage de charge créé précédemment。
- Le cas échéant, créez un groupe de services et ajoutez des services au groupe de services。
- Vous pouvez également ajouter un moniteur de type SMPP-ECV et lier au service。unmoniteur TCP par défaut est lié par défaut。
- Définissez les paramètres SMPP, tels que le mode client et la file d 'attente de messages。
倒配置l ' équilibrage de charge SMPP à l ' aide de la ligne de command
À l 'invite de commands, tapez:
add smpp user -password add service smpp -customserverID add lb vserver smpp bind lb vserver set smpp param
为例
add smpp user smppclient1 -password c03ebb540695b6110eb31172f32245a1 -encryptmethod ENCMTHD_2 add smpp user smppclient2 -password c03ebb540695b6110eb31172f32245a1 -encrypted -encryptmethod ENCMTHD_2 add service smmpsvc 10.102.84.140 smpp 2775 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -useproxyport YES -sp ON -cltTimeout 180 -svrTimeout 360 -CustomServerID ab -CKA NO -TCPB NO -CMP NODISABLED -usip NO -useproxyport YES -sp ON -cltTimeout 180 -svrTimeout 360 -CustomServerID xy -CKA NO -TCPB NO -CMP NO add lb vserver smppvs SMPP 10.102.239.179 2775 -persistenceType NONE -cltTimeout 180 bind lb vserver smppvs smmpsvc2 bind lb vserver smppvs smmpsvc set SMPP param -addrrange "d*"
倒配置器équilibrage de charge SMPP à l ' aide de l ' utilitaire de configuration
- Accedez一Système >企业管理>企业管理SMPP, puis ajoutez un utilisateur SMPP。
- Accedez一Gestion du traffic > Équilibrage de charge > Configurer les paramètres SMPPEt définissez les paramètres comme requis par votre déploiement。
- Accedez一Gestion du traffic > Équilibrage de charge > serverurs virtuels, puis ajoutez un server virtuel de type SMPP。
- Cliquez dans la section Service, ajoutez un Service de type SMPP et spécifiez un ID de server。