Forum Discussion

Neil_66348's avatar
Neil_66348
Icon for Nimbostratus rankNimbostratus
Apr 14, 2010

F5 GTM Persistance

Hi Guys ,

 

 

Another quicky on GTM.

 

 

F5 state that they support persistance , anyone have any details on how that works. We have typical e-commerce site , with a cart etc , where if a user goes to one facility there're they must stay until finished so to speak.

 

 

F5 say , "When you enable persistence for a distributed application, and a local DNS server makes repetitive requests on behalf of a client, the system reconnects the client to the same resource to which it was connected for previous requests."

 

 

Can anyone explain how it actually does this ? As without this gtm would be worthless to us...

 

 

Many Thanks

 

Neil

 

 

 

 

  • hoolio's avatar
    hoolio
    Icon for Cirrostratus rankCirrostratus
    Hi Neil,

     

     

    Here is a section from the GTM 10.1 Config Guide on persistence:

     

     

    https://support.f5.com/kb/en-us/products/big-ip_gtm/manuals/product/gtm_config_guide_10_1/gtm_connections.html1010565

     

     

    Logically, I think the idea is that GTM adds the source IP address (whether it's an LDNS or client) with a CIDR mask taken into account into a table with a mapping of the client, hostname and selected IP address. If another request is made from a client in the same subnet for the same hostname, they get the same answer.

     

     

    Is that what you were looking for?

     

     

    Aaron
  • Wow, great topic. You have cut right to the heart of the matter. We have been trying to get the same behavior from our GTM/LTM hardware ourselves, and really haven't been able to overcome the inherent limitations of DNS persistence without building something rediculously expective/complex. What may be a bit different is that we are actively trying to load-balance between a couple of data centers instead of using one entirely as a DR facility.

     

     

    I think Hoolio's explation is great for a high-level understanding. But when it comes down to it, the GTM can only load-balance DNS requests that it receives. And unfortunately the way DNS was designed, DNS requests aren't made by end-user machines - they are made by other DNS servers. You may get a client whose primary DNS server is in one IP range, but their second DNS server in a completely different range. The GTM doesn't know this - it simply sees two different requests from two different IP addresses. The GTM has no way to figure it that it is really the same end-user device asking for the name.

     

     

    And that's one simple scenario - they can become more complex when you consider how other companies may manage their infrastructure. You, as a GTM admin, have no way to control this.

     

     

    That being said there are ways to mitigate the effects of these limitations, but no where near 100% effective.
  • SMP,

     

    Could you please share the solution that was implemented to overcome this limitation? We are thinking about increasing the CIDR block to /16 or geographic loadbalancing.

     

     

    REgards,

     

    Karthik