Citrix ADC

Cas d ' use 2: Configurer la persistence basée sur une règle basée sur une paire nomvalue dans un flux d 'octets TCP

某些协议TCP传输对无值传输不流量传输。协议类型TCP dans cet - example est Le protocol FIX(金融信息交换)。Dans une implémentation非XML, le protocol FIX permet à deux hôtes communiquant via un réseau d ' échanger des information commerciales ou liées au commerce sous formme de liste de paris nomvalue (appelées«champs FIX»)。Le format du champ est<标记> = <价值> <分隔符>.Ce format de marque-valeur traditionnel rend le protocol FIX idéal pour le cas d 'utilisation。

La balise dans un champ FIX est un identiidentity numérique qui indique La signification du champ。丹斯大学英语考试实例;

  • La balise 35 indique le type de message。
  • La valeur après le signe égal a une signification spécifique pour La balise donnée et est associée à un type de données。这是我的灵魂,我的灵魂,我的灵魂,我的灵魂,我的灵魂。
  • Le délimiteur est Le caractère ASCII«头的开始»(SOH)不可primable (0x01), qui est Le symbol de curseur(^)。
  • Un nom est également attribué à chque champ。Le champ important la balise 35 est Le champ MsgType。

会话信息示例语音。

8= fix.4.1 9=61 35= a 49= invmgr 56= brkr 34=1 52=20000426-12:05:06 98=0 108=30 10=157

投票人选择持久的类型,倒在价值的清单上,在巴黎,告诉我们,在巴黎présentée,在巴黎,déterminé,选项,可选择,倒在外面chaîne particulière,在巴黎。Les méthodes de持久性basées sur de jetons nécessitent que vous spécifiez le décalage et la longueur du jeton que vous souhaitez extraire de la charge公用事业。Le协议固定一件事永远在你的脑海里,车décalage d 'un champ donné等一个人在你的脑海里留言à l 'autre。赛特变异dépend杜类型德消息,des冠军précédents和de la longueur des valeurs précédentes。Il varie également en function de l 'implémentation de l 'un à l 'autre, selon que des champs personnalisés ont été définis ou non。De telles变体rent impossible De prédire le décalage精确的冠军donné ou De spécifier la longueur De la valeur à extraire comme jeton。Dans ce cas, la persistence basée sur des règles est donc le type de persistence préféré。

假设qu 'un server virtuel fixlb1 équilibrage la charge des connexions TCP à une battery de servers hébergeant des instances d 'une application compatible FIX。你所拥有的一切都是永恒的在价值的基础上你所拥有的一切,你所拥有的事业,你所传达的信息。La balise de ce champ est 49 (illustrée dan l ' ample de message d 'ouverture de session précédent)。

倒配置la persistance basée sur des règles Pour le server virtuel d ' équilibrage de charge, définissez le type de persistance du server virtuel d ' équilibrage de charge sur RULE et configururez le paramètre de règle avec une expression。L 'expression doit être celle qui extrait la partite de la charge utile TCP dans laquelle vous prévoyez trouver le champ SenderCompid,作曲la chaîne résultante dans une liste nomvaleur basée sur les délimiteurs, puis extrait la valeur du champ SenderCompid (balise 49), comme suit:

set lb vserver fixlb1 -persistenceType RULE -rule "CLIENT.TCP.PAYLOAD(300).TYPECAST_NVLIST_T('=','^').VALUE("\49\")"

备注:Les barres斜反ont été utilisées dans l 'expression car il s 'agit d 'une command CLI。你是在利用结构上的效用,是在倾斜和反向上的障碍。

Si le客户端特使消息固定内容列表无价值示例précédent会话信息,表达外价值INVMGR和设备Citrix ADC crée会话持续basée根据价值。

L 'argument de la function PAYLOAD () peut être aussi grand que vous le jugez nécessaire pour inclure le champ SenderCompid dans la chaîne extraite par la function。Vous pouvez également utiliser la function SET_TEXT_MODE (IGNORECASE) si Vous souhaitez que l 'appliance ignore la casse lors de l 'extraction de la valeur du champ, et que la function HASH crée une session de persistance basée sur un hachage de la valeur extrite。L '表达式suivante使用les函数SET_TEXT_MODE (IGNORECASE) et HASH:

.TYPECAST_NVLIST_T CLIENT.TCP.PAYLOAD (500) ('=','^'). SET_TEXT_MODE (IGNORECASE) value .HASH(“49”)

语音举例règles que vous pouvez utiliser pour configururer la persistance des connections FIX (remplacez<标记>“我是冠军,我是宝贝”

  • 为客户端提供额外的额外价值,以获得TCP, vous pouvez utiliser l 'expression。<标记>= ")。
  • Pour extrire une chaîne de 20 octets au décalage 80, convertissez la chaîne dans une liste nomvaleur, puis extrayez la valeur du champ souhaité, utilisez l ' expression CLIENT.TCP.PAYLOAD(100).SUBSTR(80,20).TYPECAST_NVLIST_T(' = ', ' ^ ').VALUE("<标记>”)。
  • Pour extrire les 100 premier octets de la charge utitile TCP, convertissez la chaîne dans une liste nomvaleur et extraire la valeur de la troisième occurrence du champ souhaité, utilisez l ' expression CLIENT.TCP.PAYLOAD(100).TYPECAST_NVLIST_T(' = ', ' ^ ').VALUE("<标记>”,2)。备注:Si le第二个参数传输à la function VALUE() est n, l 'appliance extrait la valeur de l 'instance (n+1)<一口> th > < /晚餐Du champ car le nombre begin à zéro(0)。

Voici d ' aures举例règles que vous pouvez utiliser pour configururer la persistance。Seules表达式basées sur la charge utile peuvent évaluer les données通过le protocol FIX传输。Les aures expressions sont des expressions + générales pour configurer la persistence basée sur des protocoles de mise en réseau inférieurs。

  • CLIENT.TCP.PAYLOAD (100)
  • Client.tcp.payload (100) .hash
  • Client.tcp.payload (100) .substr (5,10)
  • CLIENT.TCP.SRCPORT
  • CLIENT.TCP.DSTPORT
  • CLIENT.IP.SRC
  • CLIENT.IP.DST
  • CLIENT.IP.SRC.GET4
  • CLIENT.IP.DST.GET4
  • CLIENT.ETHER.SRCMAC.GET6
  • CLIENT.ETHER.DSTMAC.GET5
  • CLIENT.VLAN.ID
Cas d ' use 2: Configurer la persistence basée sur une règle basée sur une paire nomvalue dans un flux d 'octets TCP

丹斯cet文章