Forum Discussion

gtfx_34287's avatar
gtfx_34287
Icon for Nimbostratus rankNimbostratus
May 06, 2010

TCP request to two pools

Hey,

 

 

i have been looking at this forum, and i found a discussion about relevant issue but with no answer.

 

 

So here is the problem.

 

I want to have one VIP connected to two pools for testing purposes. So we could use the real load on our testing enviroment. I have been trying to use clone pool(server and client) but this only sends acks and no "real" packets.

 

 

Please assist.

 

Many thanks for you time,

 

 

4 Replies

  • I don't believe that there is a way to do what you are wanting to do.

     

     

    Connection Mirroring is for Data Sync between a Primary and Secondary F5 Pair, and Clone Pooling is for a Data Capture / Monitoring of Virtual Server traffic to an IDS or monitoring system.

     

     

    Also, on the Clone Pooling options.

     

     

    The Server Side sends any traffic going to the Pool of the original Virtual Server, to the Clone Pool Server.

     

    The Client Side sends any traffic from Virtual Server that would be sent back to the Client, to the Clone Pool Server.

     

     

    Think of it as a recorder for both sides of a conversation.
  • One VIP with 2 pools? I think you mean "one virtual server with 2 pools?" Are you able to combine the 2 pools into 1?
  • The iRule example in this topic may help you.

     

     

    http://devcentral.f5.com/Community/GroupDetails/tabid/1082223/asg/52/afv/topic/aft/1172288/aff/31/showtab/groupforums/Default.aspx
  • @gtfx: If I understand the use case correctly (pseudo TCP 'multicast' to different destinations simultaneously for the same client side traffic), you can't do this with BigIP. Once you dig into the details of how to handle this, it becomes pretty clear why: who responds to the client? If there's real traffic and real sessions going to two pools simultaneously, how do you know which flow is the 'real' flow in the connection table? It gets real tricky real fast.

     

     

    Now that said, you may be able to do some form of this with TCP logging options (i.e., log the payload off to your other servers), but note that this is intended to be a one-way ticket for information: off-box. So if your servers in the second pool actually try and interact with this socket (as opposed to simply reading from it), it's not going to work for you. Also, you'll not come close at all to your real traffic.

     

     

    Maybe your best bet is to use captures or clone pools and a tool like tcpreplay. It's really tricky stuff though, and even still you're likely to not honor your real traffic this way (window sizing, different client options, etc. etc.). At any rate, have a look here: http://tcpreplay.synfin.net/wiki/tcpreplay

     

     

    Good luck!

     

    -Matt