You can use UML for this, but you will need a pretty massive box in order
to simulate hundreds of machines. With a gig of RAM, I can usually have
not more then 10 UMLs running (64meg a piece). For what you are wanting
though, you would be better served looking into something like smartbits
--
Jason
When pigs fly, they fly first class.
On Fri, 22 Apr 2005, Ragnar Lonn wrote:
Hello all,
I'm new to UML, although I've looked at it a little earlier. I have a pretty
tricky problem that I'm wondering whether UML could help me with or if I
should look somewhere else for a solution. I realize this question might be
kind of difficult to answer but it's worth a shot at least.
I am presently trying to setup a system that simulates a number of physical
machines using a single machine. (We want to do this in order to test
Internet access hardware)
We have to emulate hundreds of home users connecting their PC's, VoIP or
multicast receiver (video streaming) equipment to the network, acquiring IP
addresses and transmitting and receiving network traffic. We would like to do
this *without* having to use hundreds of actual, physical machines.
What we have done so far is to, under Linux, set up 24 VLAN interfaces on a
PC. These VLAN interfaces have been given unique MAC addresses. Then we
connect the PC's ethernet interface to the uplink of a VLAN switch which
gives us 24 downlink ports that can be connected to our access hardware. The
access hardware will believe each port connects to a separate physical
machine while in fact we use a single machine behind a VLAN setup to emulate
24 machines.
The problem is that to make traffic exit through the right (virtual)
interface we have to use source routing on the PC. If we e.g. have VLAN
interface eth1.101 setup with MAC address 02:04:06:08:0a:0c and IP address
1.2.3.4 we also set up a source route for 1.2.3.4 using Linux iproute. We
tell the OS to route all traffic from 1.2.3.4 to the gateway the client
1.2.3.4 should be using and to send the traffic through interface eth2.101.
So far so good. As long as the various applications we use to generate and
consume network traffic are able to bind to a specific local
interface/address (1.2.3.4) on the PC, their traffic will exit through the
right virtual interface, resulting in the packets getting sent from MAC
address 02:04:06:08:0a:0c and being tagged with the right VLAN tag, making
the VLAN switch route the packets to the right downstream port into the
access hardware on the other side.
But...we have run into a Linux kernel limitation. We need to setup one
routing table (using iproute) for every virtual VLAN interface we're using,
like this:
# Add source route rule, telling the OS to use routing table 101 to route
# traffic originating from 1.2.3.4
ip rule add from 1.2.3.4 lookup 101
# Add default route to table 101
ip route add default via 1.2.3.254 dev eth2.101 table 101
The problem here is that there can only be ~250 routing tables configured
on the machine. This means that we can only emulate ~250 separate client
machines (boxes with their own MAC addresses) on a single PC. We would
like to emulate about 1000 separate client machines on one PC.
My question is - can we do this using UML and if so, how?
Also, if anyone has any suggestions on alternative ways of doing this (on any
platform), I'd be happy to receive them.
Regards,
/Ragnar
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user