Friday, June 22, 2007

Network Simulators for Solving Budget Problems

Network Simulators for Solving Budget Problems
By Pankaj Shah

Until recently, the only way for IT professionals to evaluate enterprise management
applications – either element managers, frameworks like HP OpenView NNM, or value-
added applications – was to use it with their production network, or have an extensive
multi-vendor hardware test lab. Using the mission-critical production network for testing
is very risky, whereas a test lab can become very costly and can be time and space
consuming. The equipment needs setup, maintenance and regular updating of devices
and software releases. Current IT budget cuts require an alternative to the physical lab.



A typical scenario of a management application managing multiple devices over a LAN/WAN.



An Enterprise Management Solution — “Virtual Lab”

The use of a simulated “virtual” lab can eliminate the need for or expand the scope of an
existing physical lab. Enterprises can enhance the lab environment by simulating scores
of manageable devices, such as routers, hubs, switches, probes, workstations, cable
modems and printers.



MIMIC Virtual Lab simulating thousands of devices from leading network management companies
over a LAN/WAN.



A virtual lab combines many simulated devices and connections. In the real world, each
manageable device contains an embedded software agent that accepts management
commands through a standardized protocol. Device simulation in the context of a
simulator means creating a software agent that is manageable in the same way as the
real physical device would be, typically through multiple management protocols. A good
management simulator needs to support protocols like SNMP, Telnet, DHCP and TFTP.
Additionally, Cisco devices use IOS and many devices also use TL1 for management.

SNMP protocol simulation makes it possible to manage the device by getting and
changing the information in the management information bases (MIBs). These MIBs can
be public or private. Manipulating the MIBs helps in simulating any number and any type
of resource within the device.

Telnet is a common way to manage high-end routers. The users can login to the device
and configure it using a command line interface. For example, to manage a Cisco
router, the user can give different IOS commands over a Telnet connection. The
devices in the virtual lab can also be accessed using Telnet and IOS just like real
devices.

With DHCP simulation, the devices can obtain their IP address dynamically from the
DHCP server just like a real device. Devices can download their configuration
information dynamically with TFTP simulation.

The virtual lab combines simulated devices with an interconnection exactly like a
physical lab. You can then change the interconnections and topology. All these
topologies and devices can be saved and replayed as needed. The management
applications can interact with the simulations within the virtual lab just as they would
with real-world devices.

Possible Ways to Create Simulations:

Record – The easiest way to create a simulation is by mimicking an existing device in
your lab. The simulation recording proceeds just like many management discovery
tools, sending out pings to find managed devices. For SNMP discovery, the recordings
are the values in the MIB, including system name, type, number of interfaces, types of
interfaces, different activities on each interface, etc.

Simulate – The information recorded by the recording tool can be used by the simulator
as a starting point. The simulation can interpolate the values to create run-time values.
The virtual device gets created in the same state as it was recorded, for example
preserving the network connections by using the recorded routing tables or IP
configuration tables.

Customize – Once the simulation is created, it is easy to modify the simulated network
parameters like IP addresses, interfaces, packet rates, etc. by modifying the MIB
variables. For example, you can first create a device with 100 Ethernet and 50 ATM
interfaces, and later on add or remove interfaces.

These tasks can be done graphically, or programmatically using built-in functions and
by writing scripts using Java, C++, Tcl or Perl. You can also associate side effects to
certain events. For example, if an interface of a router goes down, you can disconnect
devices reached through that interface. You can also add delays to simulate long
distance connections or drop packets to simulate faulty links.

If the simulator allows importing ready-made networks and devices, then you can short
cut the initial steps of recording and customizing.

Operate – Once a device simulation is created and configured, you can start, stop,
pause, and halt it – individually or in a group. Each device has its own IP address in any
desired subnet. For example, you can create a topology with 192.3.100.*, 160.2.5.* and
193.9.200.* subnets.

It is easy to introduce dynamic changes into the simulation, such as enabling/disabling
interfaces, increasing or decreasing packet rates, and changing the traffic pattern by
simply changing MIB variables. An MIB browser/editor is useful in looking at the MIB
and making changes. With a simulator you get the flexibility to concentrate on the MIBs
of relevance in solving your specific problem.

A particular device can be simulated in any number of scenarios, just as in the real
world. For example, you can simulate a lightly loaded or overburdened router by
reducing or increasing input/output packet and error rates. You can make it a very faulty
device by having it generate a trap storm.

Command line interfaces are more proprietary even than enterprise-specific MIBs. A
Telnet recorder can generate an initial simulation from recording the command line
conversation, but this will need more customization before being useful. The reason is
that the semantic dependencies between different managed resources and
management interfaces cannot be deduced purely by recording. The goal of the
simulation is to have the management interfaces interact seamlessly. For example,
changing some parameters via Telnet should impact the correct MIB objects, and vice
versa.

A virtual lab overcomes the budget and resource constraints by allowing users to set up
extensive labs with software. Enterprises can provide each IT professional, developer,
tester, trainer and salesperson a private, virtual lab. The alleviation of the overhead and
administrative headaches of physical equipment and an increase in efficiency are the
end result. Therefore, the virtual lab’s applications within an enterprise are virtually
unlimited. Some of the most common applications include evaluation before
deployment, disaster simulation, operator training and infrastructure planning.

Generally, in companies with a physical lab, there are multiple teams with different
needs sharing the same lab. With a virtual lab, every member of the organization can
have his or her own network on his or her own machine all the time. This results in
significantly greater efficiencies within an enterprise.

On the other hand, just like a flight simulator cannot be used to fly passengers, a virtual
lab cannot be deployed in the production network. Also, any simulation is going to have
short-comings versus the real-thing: in this context this means that IOS commands may
be missing, or commands may behave and look slightly different. Creating a virtual
environment, with a physical lab or with a simulation is subject to a set of requirements.
The goal of any simulation is to come as close as possible to achieving those
requirements with minimal effort, whether it be for development, testing or training.

The implementation of a virtual lab within an enterprise — large or small — represents a
significant value proposition. The bottom line for an enterprise is simple: simulation tools
save both time and money by preventing network downtime.

Make vs. Buy

Make

While creating a physical lab, you need to consider the following:
1. Capital Expenses – for network infrastructure, devices, firewall, cabling and other
test instruments like protocol analyzer, traffic generator, etc.
2. Lab space and fixture expense
3. Engineering labor cost – for setup and maintenance
4. Risks – of equipment, connector or cable failure, natural disasters, equipment
misuse and network downtime
5. Sharing – how many people or group will share the lab
6. Updates – for new devices, software versions, etc.

Or Buy

You can buy a simulator product, which will not have any major lab capital expense or
maintenance headaches. It is easy to share it or just keep it private, but the most
important benefit is if you make a mistake you can restart. If you need to run the same
tests frequently (regression tests), you don’t need to worry about setting up the devices
and connections. You can just save different network configurations and load them as
needed.

Of course, once you have a physical lab, you can then use it for multiple purposes. For
example, you can use the router to do the routing of your actual traffic, or use a PC for
your accounting application. If you are going to use devices purely for the testing,
evaluation or training purposes, then the virtual lab will be a solid alternative.

Pankaj Shah is founder and CEO of Gambit Communications Inc.), a leading provider of
network and SNMP simulation tools like MIMIC SNMP Simulator. He can be reached at
(603) 881-3500 or by e-mail at pankaj@gambitcomm.com. For additional information, visit
www.SNMPSimulation.com.

No comments: