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

Reply via email to