Forum Discussion

Mikoto_Misaka_1's avatar
Mikoto_Misaka_1
Icon for Nimbostratus rankNimbostratus
Aug 07, 2006

Is it possible that BIG-IP loadbalances TCP Packets indivisually ?

Hello,

 

 

Is it possible that BIG-IP loadbalances TCP Packets indivisually ?

 

 

One client sends a large amount of packets on a TCP connection to VIP of BIG-IP which loadbalances Log servers.

 

Can I write a iRule to indivisually loadbalance TCP packets which the client sends ?

 

 

Thanks,

 

Mark
  • Colin_Walker_12's avatar
    Colin_Walker_12
    Historic F5 Account
    Well, you could certainly inspect each piece of data sent across from the client.

     

     

    To do this you'd have to set the connection to a collect state (TCP::collect), load balance appropriately, and then release the connection (TCP::release) each time data was passed through.

     

     

    This should be taken care of by the default load balancing mechanism you're using for your VIP, though. I would imagine you would be better off just configuring your VIP to load balance every new post to a different server, rather than trying to analyze things on a per packet basis and load balance appropriately.

     

     

    Colin
  • unRuleY_95363's avatar
    unRuleY_95363
    Historic F5 Account
    If you want to just arbitrarily load-balance each TCP packet individually, you could try this rule:
    when CLIENT_ACCEPTED {
       TCP::collect
    }
    when CLIENT_DATA {
       LB::detach
       TCP::release
       TCP::collect
    }

    This will cause the back-end server to be detached on each packet then then the load-balancing engine would re-load balance and re-attach to the new server.

    If you have some sort of transactional boundary that you want to load-balance, then you would need to add logic to search for that boundary and do the detach & release logic much more carefully. There are some examples of this on codeshare under transactional load-balancing.
  • unRuleY_95363's avatar
    unRuleY_95363
    Historic F5 Account
    Oh, forgot to mention that you would probably want OneConnect otherwise the back-side servers will incur the 3WHS for each packet.