Forum Discussion

Matt_Willcock_5's avatar
Matt_Willcock_5
Icon for Nimbostratus rankNimbostratus
Aug 18, 2008

using an iRule to ensure different TCP sessions end up on same server

We have a service that clients initially connect to on port 50234, this TCP connection is a control channel for our software. The software allows the transfer of data, again over TCP on port 50235, this connection is created by the client when requested and closed when data transfer is complete.

 

 

The implementation of the server required that a client MUST have both the connection of 5024 and 50235 on the same node so our server software knows where the data is coming from. This works fine with a single server.

 

 

We now need to load balance this platform and have an unused Big IP running BIG-IP 9.4.3 Build 1.4 which we intend to use for this.

 

 

I beleive one option would be to modify the client to include a unique ID per client in the initial TCP setup for both connections and create an iRule to load balance based on this id, but wondered if anyone has a better idea, and/or could help with the iRule generation.

2 Replies

  • Hi,

     

     

    Couldn't you make source ip persistence and check the option "match accross services" ?

     

     

    This way you would avoid an iRule
  • We had though that too, but wondered if you get a decent spread of balancing over the servers, quite a number of our users are corporate and would come from the same public IP address.

     

     

    I don't have any real world data on the above though, so would love to hear from people that use source IP persistence.