1

I'm trying to come up with a way to Load Test the following architecture:

We have an Application Server that recieves data from multiple servers with data-collecting agents on them.

However, our testing environment only has ONE server with an agent, and we wish to emulate multiple (100) connections from the same server outgoing to the Application Server.

I have a wide-open range of IPs I have already assigned to the NIS card on the agent machine, but I am unable to find a way to make each outgoing connection from the machine to the app server use a different IP and thus open a new connection.

I know that web tests on HTTP protocols can use Virtual Users and IP Spoofing tools easily when facing thi sproblem, but since the agent-server connection uses TCP - I cannot find ANY tool that is capable of fulfilling this function.

I also thought about possibly editing each packet by code and replacing it's header with a different IP each time - but this method seems both too convuluted and impractical as it would delay each request for too long to make the load testing relevant.

Any ideas and solutions are welcome!

thanks in advance :)

KF2
  • 9,887
  • 8
  • 44
  • 77
Urliamo
  • 11
  • 5
  • an interesting possible solution i've manged to come across in my research is to use NAT. However, NAT is commonly used either in one-to-one or one-to-many solutions, so that it can only translate a single IP or many different local IPs into one global IP. And what we're looking for here is a way to translate a single local IP into many global IPs. Is anyone here familiar with a one-to-many NAT format? Google has not been helpful, 'im afraid. – Urliamo Apr 14 '13 at 07:31

2 Answers2

0

You can set the IP adress by using Socket.Bind before connecting to the server.

It's described here: http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.localendpoint(v=vs.100).aspx

jgauffin
  • 99,844
  • 45
  • 235
  • 372
0

You can use winpcap or its .net wrapper pcap.Net (http://pcapdotnet.codeplex.com/) to get complete control over the IP/TCP packets sent.